Main MRPT website > C++ reference for MRPT 1.5.5
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends
mrpt::gui::CDisplayWindowPlots Class Reference

Detailed Description

Create a GUI window and display plots with MATLAB-like interfaces and commands.

For a list of supported events with the observer/observable pattern, see the discussion in mrpt::gui::CBaseGUIWindow.

See CDisplayWindowPlots::plot

Definition at line 31 of file CDisplayWindowPlots.h.

#include <mrpt/gui/CDisplayWindowPlots.h>

Inheritance diagram for mrpt::gui::CDisplayWindowPlots:
Inheritance graph

Public Types

typedef void(* TCallbackMenu )(int menuID, float cursor_x, float cursor_y, void *userParam)
 Type for the callback function used in setMenuCallback. More...
 

Public Member Functions

voidoperator new (size_t size)
 
voidoperator new[] (size_t size)
 
void operator delete (void *ptr) throw ()
 
void operator delete[] (void *ptr) throw ()
 
void operator delete (void *memory, void *ptr) throw ()
 
voidoperator new (size_t size, const std::nothrow_t &) throw ()
 
void operator delete (void *ptr, const std::nothrow_t &) throw ()
 
 CDisplayWindowPlots (const std::string &windowCaption=std::string(), unsigned int initialWidth=350, unsigned int initialHeight=300)
 Constructor. More...
 
virtual ~CDisplayWindowPlots ()
 Destructor. More...
 
virtual bool getLastMousePosition (int &x, int &y) const MRPT_OVERRIDE
 Gets the last x,y pixel coordinates of the mouse. More...
 
virtual void setCursorCross (bool cursorIsCross) MRPT_OVERRIDE
 Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true) More...
 
void resize (unsigned int width, unsigned int height) MRPT_OVERRIDE
 Resizes the window, stretching the image to fit into the display area. More...
 
void setPos (int x, int y) MRPT_OVERRIDE
 Changes the position of the window on the screen. More...
 
void setWindowTitle (const std::string &str) MRPT_OVERRIDE
 Changes the window title text. More...
 
void enableMousePanZoom (bool enabled)
 Enable/disable the feature of pan/zoom with the mouse (default=enabled) More...
 
template<typename T1 , typename T2 >
void plot (const std::vector< T1 > &x, const std::vector< T2 > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
 Adds a new layer with a 2D plot based on two vectors of X and Y points, using a MATLAB-like syntax. More...
 
template<typename T1 , typename Derived2 >
void plot (const std::vector< T1 > &x, const Eigen::MatrixBase< Derived2 > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
 
template<typename Derived1 , typename T2 >
void plot (const Eigen::MatrixBase< Derived1 > &x, const std::vector< T2 > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
 
template<typename Derived1 , typename Derived2 >
void plot (const Eigen::MatrixBase< Derived1 > &x, const Eigen::MatrixBase< Derived2 > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
 
template<typename T >
void plot (const std::vector< T > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
 
template<typename Derived >
void plot (const Eigen::MatrixBase< Derived > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
 
void axis (float x_min, float x_max, float y_min, float y_max, bool aspectRatioFix=false)
 Set the view area according to the passed coordinated. More...
 
void axis_equal (bool enable=true)
 Enable/disable the fixed X/Y aspect ratio fix feature (default=disabled). More...
 
void axis_fit (bool aspectRatioFix=false)
 Fix automatically the view area according to existing graphs. More...
 
template<typename T >
void GUI_IMPEXP plotEllipse (const T mean_x, const T mean_y, const mrpt::math::CMatrixTemplateNumeric< T > &cov22, const float quantiles, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotEllipse"), bool showName=false)
 Plots a 2D ellipse given its mean, covariance matrix, and Each call to this function creates a new plot, unless the plot name coincides with an already existing plot: in this case the new values are used to update this existing layer (this also applies to using the default plot name). More...
 
template<typename T >
void GUI_IMPEXP plotEllipse (const T mean_x, const T mean_y, const mrpt::math::CMatrixFixedNumeric< T, 2, 2 > &cov22, const float quantiles, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotEllipse"), bool showName=false)
 
void image (const utils::CImage &img, const float &x_left, const float &y_bottom, const float &x_width, const float &y_height, const std::string &plotName=std::string("image"))
 Adds a bitmap image layer. More...
 
void clear ()
 Remove all plot objects in the display. More...
 
void clf ()
 Remove all plot objects in the display (clear and clf do exactly the same). More...
 
void hold_on ()
 Enables keeping all the graphs, instead of overwritting them. More...
 
void hold_off ()
 Disables keeping all the graphs (this is the default behavior). More...
 
void addPopupMenuEntry (const std::string &label, int menuID)
 Disables keeping all the graphs (this is the default behavior). More...
 
void setMenuCallback (TCallbackMenu userFunction, void *userParam=NULL)
 Must be called to have a callback when the user selects one of the user-defined entries in the popup menu. More...
 
template<typename T >
void plotEllipse (const T mean_x, const T mean_y, const CMatrixTemplateNumeric< T > &cov22, const float quantiles, const std::string &lineFormat, const std::string &plotName, bool showName)
 
template<typename T >
void plotEllipse (const T mean_x, const T mean_y, const CMatrixFixedNumeric< T, 2, 2 > &cov22, const float quantiles, const std::string &lineFormat, const std::string &plotName, bool showName)
 
voidgetWxObject ()
 Read-only access to the wxDialog object. More...
 
void notifyChildWindowDestruction ()
 Called by wx main thread to set m_hwnd to NULL. More...
 
void notifySemThreadReady ()
 Called by wx main thread to signal the semaphore that the wx window is built and ready. More...
 
bool isOpen ()
 Returns false if the user has already closed the window. More...
 
int waitForKey (bool ignoreControlKeys=true, mrptKeyModifier *out_pushModifier=NULL)
 Waits for any key to be pushed on the image or the console, and returns the key code. More...
 
bool keyHit () const
 Returns true if a key has been pushed, without blocking waiting for a new key being pushed. More...
 
void clearKeyHitFlag ()
 Assure that "keyHit" will return false until the next pushed key. More...
 
int getPushedKey (mrptKeyModifier *out_pushModifier=NULL)
 Returns the latest pushed key, or 0 if there is no new key stroke. More...
 
mrpt::utils::CObjectPtr duplicateGetSmartPtr () const
 Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). More...
 
CObjectclone () const
 Cloning interface for smart pointers. More...
 

Static Public Member Functions

static voidoperator new (size_t size, void *ptr)
 
static CDisplayWindowPlotsPtr Create (const std::string &windowCaption, unsigned int initialWindowWidth=400, unsigned int initialWindowHeight=300)
 Class factory returning a smart pointer. More...
 

Static Public Attributes

static const
mrpt::utils::TRuntimeClassId 
classCObject
 
RTTI stuff
static const
mrpt::utils::TRuntimeClassId 
classCBaseGUIWindow
 

Protected Member Functions

void internal_plot (mrpt::math::CVectorFloat &x, mrpt::math::CVectorFloat &y, const std::string &lineFormat, const std::string &plotName)
 
template<typename VECTOR1 , typename VECTOR2 >
void internal_plot_interface (const VECTOR1 &x, const VECTOR2 &y, const std::string &lineFormat, const std::string &plotName)
 
template<typename VECTOR1 >
void internal_plot_interface (const VECTOR1 &y, const std::string &lineFormat, const std::string &plotName)
 
void createWxWindow (unsigned int initialWidth, unsigned int initialHeight)
 Must be called by child classes just within the constructor. More...
 
void destroyWxWindow ()
 Must be called by child classes in their destructors. The code cannot be put into this class' destructor. More...
 
void publishEvent (const mrptEvent &e) const
 Called when you want this object to emit an event to all the observers currently subscribed to this object. More...
 
bool hasSubscribers () const
 Can be called by a derived class before preparing an event for publishing with publishEvent to determine if there is no one subscribed, so it can save the wasted time preparing an event that will be not read. More...
 

Protected Attributes

bool m_holdon
 Whether hold_on is enabled. More...
 
bool m_holdon_just_disabled
 
uint32_t m_holdon_cnt
 Counter for hold_on. More...
 
TCallbackMenu m_callback
 
voidm_callback_param
 
synch::CSemaphore m_semThreadReady
 This semaphore will be signaled when the wx window is built and ready. More...
 
synch::CSemaphore m_semWindowDestroyed
 This semaphore will be signaled when the wx window is destroyed. More...
 
std::string m_caption
 The caption of the window. More...
 
mrpt::utils::void_ptr_noncopy m_hwnd
 The window handle. More...
 
volatile bool m_keyPushed
 
volatile int m_keyPushedCode
 
volatile mrptKeyModifier m_keyPushedModifier
 

Friends

class CWindowDialogPlots
 

RTTI stuff

typedef CDisplayWindowPlotsPtr Ptr
 
typedef CDisplayWindowPlotsPtr ConstPtr
 
static mrpt::utils::CLASSINIT _init_CDisplayWindowPlots
 
static mrpt::utils::TRuntimeClassId classCDisplayWindowPlots
 
static const
mrpt::utils::TRuntimeClassId
classinfo
 
static const
mrpt::utils::TRuntimeClassId
_GetBaseClass ()
 
virtual const
mrpt::utils::TRuntimeClassId
GetRuntimeClass () const
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::utils::CObjectduplicate () const
 Returns a copy of the object, indepently of its class. More...
 
static mrpt::utils::CObjectCreateObject ()
 
static CDisplayWindowPlotsPtr Create ()
 

Member Typedef Documentation

typedef CDisplayWindowPlotsPtr mrpt::gui::CDisplayWindowPlots::ConstPtr

Definition at line 34 of file CDisplayWindowPlots.h.

typedef CDisplayWindowPlotsPtr mrpt::gui::CDisplayWindowPlots::Ptr

A typedef for the associated smart pointer

Definition at line 34 of file CDisplayWindowPlots.h.

typedef void(* mrpt::gui::CDisplayWindowPlots::TCallbackMenu)(int menuID, float cursor_x, float cursor_y, void *userParam)

Type for the callback function used in setMenuCallback.

Definition at line 37 of file CDisplayWindowPlots.h.

Constructor & Destructor Documentation

CDisplayWindowPlots::CDisplayWindowPlots ( const std::string windowCaption = std::string(),
unsigned int  initialWidth = 350,
unsigned int  initialHeight = 300 
)

Constructor.

Definition at line 517 of file CDisplayWindowPlots.cpp.

References mrpt::gui::CBaseGUIWindow::createWxWindow().

CDisplayWindowPlots::~CDisplayWindowPlots ( )
virtual

Destructor.

Definition at line 534 of file CDisplayWindowPlots.cpp.

References mrpt::gui::CBaseGUIWindow::destroyWxWindow().

Member Function Documentation

static const mrpt::utils::TRuntimeClassId* mrpt::gui::CDisplayWindowPlots::_GetBaseClass ( )
staticprotected
void CDisplayWindowPlots::addPopupMenuEntry ( const std::string label,
int  menuID 
)

Disables keeping all the graphs (this is the default behavior).

Parameters
labelThe text that appears in the new popup menu item.
menuIDAny positive number (0,1,..). Used to tell which menu was selected in the user callback.
See Also
setMenuCallback

Definition at line 1044 of file CDisplayWindowPlots.cpp.

References mrpt::gui::CBaseGUIWindow::isOpen(), MRPT_END, MRPT_START, MRPT_UNUSED_PARAM, mrpt::gui::WxSubsystem::TRequestToWxMainThread::OPCODE, mrpt::gui::WxSubsystem::TRequestToWxMainThread::plotName, mrpt::gui::WxSubsystem::pushPendingWxRequest(), mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots, and mrpt::gui::WxSubsystem::TRequestToWxMainThread::x.

void CDisplayWindowPlots::axis ( float  x_min,
float  x_max,
float  y_min,
float  y_max,
bool  aspectRatioFix = false 
)
void CDisplayWindowPlots::axis_equal ( bool  enable = true)
void CDisplayWindowPlots::axis_fit ( bool  aspectRatioFix = false)
void CDisplayWindowPlots::clear ( )
void mrpt::gui::CBaseGUIWindow::clearKeyHitFlag ( )
inlineinherited

Assure that "keyHit" will return false until the next pushed key.

See Also
keyHit, waitForKey

Definition at line 127 of file CBaseGUIWindow.h.

void mrpt::gui::CDisplayWindowPlots::clf ( )
inline

Remove all plot objects in the display (clear and clf do exactly the same).

See Also
plot, hold_on, hold_off

Definition at line 213 of file CDisplayWindowPlots.h.

References mrpt::utils::clear().

Referenced by image(), internal_plot(), and plotEllipse().

CObject* mrpt::utils::CObject::clone ( ) const
inlineinherited

Cloning interface for smart pointers.

Definition at line 143 of file CObject.h.

static CDisplayWindowPlotsPtr mrpt::gui::CDisplayWindowPlots::Create ( )
static
CDisplayWindowPlotsPtr CDisplayWindowPlots::Create ( const std::string windowCaption,
unsigned int  initialWindowWidth = 400,
unsigned int  initialWindowHeight = 300 
)
static

Class factory returning a smart pointer.

Definition at line 507 of file CDisplayWindowPlots.cpp.

static mrpt::utils::CObject* mrpt::gui::CDisplayWindowPlots::CreateObject ( )
static
void CBaseGUIWindow::createWxWindow ( unsigned int  initialWidth,
unsigned int  initialHeight 
)
protectedinherited
void CBaseGUIWindow::destroyWxWindow ( )
protectedinherited
virtual mrpt::utils::CObject* mrpt::gui::CDisplayWindowPlots::duplicate ( ) const
virtual

Returns a copy of the object, indepently of its class.

Implements mrpt::utils::CObject.

mrpt::utils::CObjectPtr mrpt::utils::CObject::duplicateGetSmartPtr ( ) const
inlineinherited

Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).

Definition at line 140 of file CObject.h.

Referenced by mrpt::obs::CRawlog::addActions(), mrpt::slam::CIncrementalMapPartitioner::addMapFrame(), and mrpt::obs::CRawlog::addObservations().

void CDisplayWindowPlots::enableMousePanZoom ( bool  enabled)
bool CDisplayWindowPlots::getLastMousePosition ( int x,
int y 
) const
virtual

Gets the last x,y pixel coordinates of the mouse.

Returns
False if the window is closed.

Implements mrpt::gui::CBaseGUIWindow.

Definition at line 554 of file CDisplayWindowPlots.cpp.

References mrpt::utils::non_copiable_ptr_basic< T >::get(), mrpt::gui::CBaseGUIWindow::m_hwnd, mrpt::gui::CWindowDialogPlots::m_last_mouse_point, and MRPT_UNUSED_PARAM.

int CBaseGUIWindow::getPushedKey ( mrptKeyModifier out_pushModifier = NULL)
inherited

Returns the latest pushed key, or 0 if there is no new key stroke.

Parameters
out_pushModifierIf set to !=NULL, the modifiers of the key stroke will be saved here.
Returns
The virtual key code, as defined in <mrpt/gui/keycodes.h> (a replication of wxWidgets key codes).
See Also
keyHit, waitForKey

Definition at line 188 of file CBaseGUIWindow.cpp.

References mrpt::gui::MRPTKMOD_NONE, and mrpt::system::sleep().

virtual const mrpt::utils::TRuntimeClassId* mrpt::gui::CDisplayWindowPlots::GetRuntimeClass ( ) const
virtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::gui::CBaseGUIWindow.

void* mrpt::gui::CBaseGUIWindow::getWxObject ( )
inlineinherited

Read-only access to the wxDialog object.

Definition at line 75 of file CBaseGUIWindow.h.

References mrpt::utils::non_copiable_ptr_basic< T >::get().

Referenced by mrpt::gui::WxSubsystem::CWXMainFrame::OnTimerProcessRequests().

bool mrpt::utils::CObservable::hasSubscribers ( ) const
inlineprotectedinherited

Can be called by a derived class before preparing an event for publishing with publishEvent to determine if there is no one subscribed, so it can save the wasted time preparing an event that will be not read.

Definition at line 52 of file CObservable.h.

Referenced by mrpt::gui::CWindowDialog::OnMouseDown(), mrpt::gui::CWindowDialog::OnMouseMove(), mrpt::gui::CWindowDialog::OnResize(), and mrpt::opengl::COpenGLViewport::render().

void CDisplayWindowPlots::hold_off ( )

Disables keeping all the graphs (this is the default behavior).

See Also
hold_on, plot

Definition at line 1029 of file CDisplayWindowPlots.cpp.

References m_holdon, and m_holdon_just_disabled.

void CDisplayWindowPlots::hold_on ( )

Enables keeping all the graphs, instead of overwritting them.

See Also
hold_off, plot

Definition at line 1021 of file CDisplayWindowPlots.cpp.

References m_holdon.

void CDisplayWindowPlots::image ( const utils::CImage img,
const float &  x_left,
const float &  y_bottom,
const float &  x_width,
const float &  y_height,
const std::string plotName = std::string("image") 
)
void CDisplayWindowPlots::internal_plot ( mrpt::math::CVectorFloat x,
mrpt::math::CVectorFloat y,
const std::string lineFormat,
const std::string plotName 
)
protected
template<typename VECTOR1 , typename VECTOR2 >
void mrpt::gui::CDisplayWindowPlots::internal_plot_interface ( const VECTOR1 &  x,
const VECTOR2 &  y,
const std::string lineFormat,
const std::string plotName 
)
inlineprotected

Definition at line 50 of file CDisplayWindowPlots.h.

template<typename VECTOR1 >
void mrpt::gui::CDisplayWindowPlots::internal_plot_interface ( const VECTOR1 &  y,
const std::string lineFormat,
const std::string plotName 
)
inlineprotected

Definition at line 60 of file CDisplayWindowPlots.h.

bool CBaseGUIWindow::isOpen ( )
inherited
bool mrpt::gui::CBaseGUIWindow::keyHit ( ) const
inlineinherited

Returns true if a key has been pushed, without blocking waiting for a new key being pushed.

See Also
waitForKey, clearKeyHitFlag

Definition at line 122 of file CBaseGUIWindow.h.

void CBaseGUIWindow::notifyChildWindowDestruction ( )
inherited

Called by wx main thread to set m_hwnd to NULL.

Definition at line 145 of file CBaseGUIWindow.cpp.

Referenced by mrpt::gui::CWindowDialog::OnClose(), and mrpt::gui::C3DWindowDialog::OnClose().

void CBaseGUIWindow::notifySemThreadReady ( )
inherited

Called by wx main thread to signal the semaphore that the wx window is built and ready.

Definition at line 220 of file CBaseGUIWindow.cpp.

Referenced by mrpt::gui::WxSubsystem::CWXMainFrame::OnTimerProcessRequests().

void mrpt::gui::CDisplayWindowPlots::operator delete ( void ptr)
throw (
)
inline

Definition at line 34 of file CDisplayWindowPlots.h.

void mrpt::gui::CDisplayWindowPlots::operator delete ( void memory,
void ptr 
)
throw (
)
inline

Definition at line 34 of file CDisplayWindowPlots.h.

void mrpt::gui::CDisplayWindowPlots::operator delete ( void ptr,
const std::nothrow_t &   
)
throw (
)
inline

Definition at line 34 of file CDisplayWindowPlots.h.

void mrpt::gui::CDisplayWindowPlots::operator delete[] ( void ptr)
throw (
)
inline

Definition at line 34 of file CDisplayWindowPlots.h.

void* mrpt::gui::CDisplayWindowPlots::operator new ( size_t  size)
inline

Definition at line 34 of file CDisplayWindowPlots.h.

void* mrpt::gui::CDisplayWindowPlots::operator new ( size_t  size,
const std::nothrow_t &   
)
throw (
)
inline

Definition at line 34 of file CDisplayWindowPlots.h.

static void* mrpt::gui::CDisplayWindowPlots::operator new ( size_t  size,
void ptr 
)
inlinestatic

Definition at line 34 of file CDisplayWindowPlots.h.

void* mrpt::gui::CDisplayWindowPlots::operator new[] ( size_t  size)
inline

Definition at line 34 of file CDisplayWindowPlots.h.

template<typename T1 , typename T2 >
void mrpt::gui::CDisplayWindowPlots::plot ( const std::vector< T1 > &  x,
const std::vector< T2 > &  y,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotXY") 
)
inline

Adds a new layer with a 2D plot based on two vectors of X and Y points, using a MATLAB-like syntax.

Each call to this function creates a new plot, unless the plot name coincides with an already existing plot: in this case the X & Y points are used to update this existing layer (this also applies to using the default plot name). If "hold_on" is enabled, then every call will always create a new plot, even if no "plotName" is provided.

The lineFormat string is a combination of the following characters:

  • Line styles:
    • '.': One point for each data point
    • '-': A continuous line
    • ':': A dashed line
  • Colors:
    • k: black
    • r: red
    • g: green
    • b: blue
    • m: magenta
    • c: cyan
  • Line width:

    • '1' to '9': The line width (default=1)

    Examples:

    • 'r.' -> red points.
    • 'k3' or 'k-3' -> A black line with a line width of 3 pixels.
      Note
      The vectors x & y can be of types: float or double.
      See Also
      axis, axis_equal, axis_fit, clear, hold_on, hold_off
      Template Parameters
      VECTORCan be std::vector<float/double> or mrpt::dynamicsize_vector<float/double> or a column/row Eigen::Matrix<>

Definition at line 135 of file CDisplayWindowPlots.h.

Referenced by mrpt::vision::CFeature::internal_distanceBetweenPolarImages().

template<typename T1 , typename Derived2 >
void mrpt::gui::CDisplayWindowPlots::plot ( const std::vector< T1 > &  x,
const Eigen::MatrixBase< Derived2 > &  y,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotXY") 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 137 of file CDisplayWindowPlots.h.

template<typename Derived1 , typename T2 >
void mrpt::gui::CDisplayWindowPlots::plot ( const Eigen::MatrixBase< Derived1 > &  x,
const std::vector< T2 > &  y,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotXY") 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 139 of file CDisplayWindowPlots.h.

template<typename Derived1 , typename Derived2 >
void mrpt::gui::CDisplayWindowPlots::plot ( const Eigen::MatrixBase< Derived1 > &  x,
const Eigen::MatrixBase< Derived2 > &  y,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotXY") 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 141 of file CDisplayWindowPlots.h.

template<typename T >
void mrpt::gui::CDisplayWindowPlots::plot ( const std::vector< T > &  y,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotXY") 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 144 of file CDisplayWindowPlots.h.

template<typename Derived >
void mrpt::gui::CDisplayWindowPlots::plot ( const Eigen::MatrixBase< Derived > &  y,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotXY") 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 146 of file CDisplayWindowPlots.h.

template<typename T >
void GUI_IMPEXP mrpt::gui::CDisplayWindowPlots::plotEllipse ( const T  mean_x,
const T  mean_y,
const mrpt::math::CMatrixTemplateNumeric< T > &  cov22,
const float  quantiles,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotEllipse"),
bool  showName = false 
)

Plots a 2D ellipse given its mean, covariance matrix, and Each call to this function creates a new plot, unless the plot name coincides with an already existing plot: in this case the new values are used to update this existing layer (this also applies to using the default plot name).

If "hold_on" is enabled, then every call will always create a new plot, even if no "plotName" is provided.

For a description of lineFormat see CDisplayWindowPlots::plot. The "quantiles" value determines the confidence interval for the ellipse:

  • 1 : 68.27% confidence interval
  • 2 : 95.45%
  • 3 : 99.73%
  • 4 : 99.994%
    Note
    This method can be called with 2x2 fixed-sized or dynamic-size matrices of types: float or double.
    See Also
    axis, axis_equal, axis_fit, hold_on, hold_off
template<typename T >
void GUI_IMPEXP mrpt::gui::CDisplayWindowPlots::plotEllipse ( const T  mean_x,
const T  mean_y,
const mrpt::math::CMatrixFixedNumeric< T, 2, 2 > &  cov22,
const float  quantiles,
const std::string lineFormat = std::string("b-"),
const std::string plotName = std::string("plotEllipse"),
bool  showName = false 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename T >
void mrpt::gui::CDisplayWindowPlots::plotEllipse ( const T  mean_x,
const T  mean_y,
const CMatrixTemplateNumeric< T > &  cov22,
const float  quantiles,
const std::string lineFormat,
const std::string plotName,
bool  showName 
)
template<typename T >
void mrpt::gui::CDisplayWindowPlots::plotEllipse ( const T  mean_x,
const T  mean_y,
const CMatrixFixedNumeric< T, 2, 2 > &  cov22,
const float  quantiles,
const std::string lineFormat,
const std::string plotName,
bool  showName 
)
void CObservable::publishEvent ( const mrptEvent e) const
protectedinherited
void CDisplayWindowPlots::resize ( unsigned int  width,
unsigned int  height 
)
virtual
void CDisplayWindowPlots::setCursorCross ( bool  cursorIsCross)
virtual

Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true)

Implements mrpt::gui::CBaseGUIWindow.

Definition at line 540 of file CDisplayWindowPlots.cpp.

References mrpt::utils::non_copiable_ptr_basic< T >::get(), mrpt::gui::CBaseGUIWindow::m_hwnd, mrpt::gui::CWindowDialogPlots::m_plot, and MRPT_UNUSED_PARAM.

void CDisplayWindowPlots::setMenuCallback ( TCallbackMenu  userFunction,
void userParam = NULL 
)

Must be called to have a callback when the user selects one of the user-defined entries in the popup menu.

See Also
addPopupMenuEntry

Definition at line 1072 of file CDisplayWindowPlots.cpp.

References ASSERT_, m_callback, and m_callback_param.

void CDisplayWindowPlots::setPos ( int  x,
int  y 
)
virtual
void CDisplayWindowPlots::setWindowTitle ( const std::string str)
virtual
int CBaseGUIWindow::waitForKey ( bool  ignoreControlKeys = true,
mrptKeyModifier out_pushModifier = NULL 
)
inherited

Waits for any key to be pushed on the image or the console, and returns the key code.

This method remove key strokes previous to its call, so it will always wait. To get the latest pushed key, see

Parameters
ignoreControlKeysIf set to false, any push of shift, cmd, control, etc... will make this method to return.
out_pushModifierIf set to !=NULL, the modifiers of the key stroke will be saved here.
Returns
The virtual key code, as defined in mrptKeyCode (a replication of wxWidgets key codes).
See Also
getPushedKey, Key codes in the enum mrptKeyCode

Definition at line 154 of file CBaseGUIWindow.cpp.

References mrpt::system::os::getch(), mrpt::system::os::kbhit(), mrpt::gui::MRPTKMOD_NONE, and mrpt::system::sleep().

Referenced by find_chessboard_corners_multiple(), and mrpt::vision::CFeature::internal_distanceBetweenPolarImages().

Friends And Related Function Documentation

friend class CWindowDialogPlots
friend

Definition at line 40 of file CDisplayWindowPlots.h.

Member Data Documentation

mrpt::utils::CLASSINIT mrpt::gui::CDisplayWindowPlots::_init_CDisplayWindowPlots
staticprotected

Definition at line 34 of file CDisplayWindowPlots.h.

const mrpt::utils::TRuntimeClassId mrpt::gui::CBaseGUIWindow::classCBaseGUIWindow
staticinherited

Definition at line 49 of file CBaseGUIWindow.h.

mrpt::utils::TRuntimeClassId mrpt::gui::CDisplayWindowPlots::classCDisplayWindowPlots
static

Definition at line 34 of file CDisplayWindowPlots.h.

const mrpt::utils::TRuntimeClassId mrpt::utils::CObject::classCObject
staticinherited

Definition at line 128 of file CObject.h.

const mrpt::utils::TRuntimeClassId* mrpt::gui::CDisplayWindowPlots::classinfo
static

Definition at line 34 of file CDisplayWindowPlots.h.

TCallbackMenu mrpt::gui::CDisplayWindowPlots::m_callback
protected

Definition at line 45 of file CDisplayWindowPlots.h.

Referenced by setMenuCallback().

void* mrpt::gui::CDisplayWindowPlots::m_callback_param
protected

Definition at line 46 of file CDisplayWindowPlots.h.

Referenced by setMenuCallback().

std::string mrpt::gui::CBaseGUIWindow::m_caption
protectedinherited
bool mrpt::gui::CDisplayWindowPlots::m_holdon
protected

Whether hold_on is enabled.

Definition at line 42 of file CDisplayWindowPlots.h.

Referenced by hold_off(), hold_on(), image(), internal_plot(), and plotEllipse().

uint32_t mrpt::gui::CDisplayWindowPlots::m_holdon_cnt
protected

Counter for hold_on.

Definition at line 44 of file CDisplayWindowPlots.h.

Referenced by image(), internal_plot(), and plotEllipse().

bool mrpt::gui::CDisplayWindowPlots::m_holdon_just_disabled
protected

Definition at line 43 of file CDisplayWindowPlots.h.

Referenced by hold_off(), image(), internal_plot(), and plotEllipse().

mrpt::utils::void_ptr_noncopy mrpt::gui::CBaseGUIWindow::m_hwnd
protectedinherited
volatile bool mrpt::gui::CBaseGUIWindow::m_keyPushed
protectedinherited

Definition at line 67 of file CBaseGUIWindow.h.

Referenced by mrpt::gui::CWindowDialog::OnChar().

volatile int mrpt::gui::CBaseGUIWindow::m_keyPushedCode
protectedinherited

Definition at line 68 of file CBaseGUIWindow.h.

Referenced by mrpt::gui::CWindowDialog::OnChar().

volatile mrptKeyModifier mrpt::gui::CBaseGUIWindow::m_keyPushedModifier
protectedinherited

Definition at line 69 of file CBaseGUIWindow.h.

Referenced by mrpt::gui::CWindowDialog::OnChar().

synch::CSemaphore mrpt::gui::CBaseGUIWindow::m_semThreadReady
protectedinherited

This semaphore will be signaled when the wx window is built and ready.

Definition at line 61 of file CBaseGUIWindow.h.

synch::CSemaphore mrpt::gui::CBaseGUIWindow::m_semWindowDestroyed
protectedinherited

This semaphore will be signaled when the wx window is destroyed.

Definition at line 62 of file CBaseGUIWindow.h.

Referenced by mrpt::gui::CWindowDialog::OnClose(), and mrpt::gui::C3DWindowDialog::OnClose().




Page generated by Doxygen 1.8.6 for MRPT 1.5.5 Git: e06b63d Fri Dec 1 14:41:11 2017 +0100 at sáb dic 2 13:00:21 CET 2017