MRPT
2.0.4
|
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.
Definition at line 33 of file CDisplayWindowPlots.h.
#include <mrpt/gui/CDisplayWindowPlots.h>
Public Types | |
using | Ptr = std::shared_ptr< CDisplayWindowPlots > |
using | TCallbackMenu = void(*)(int menuID, float cursor_x, float cursor_y, void *userParam) |
Type for the callback function used in setMenuCallback. More... | |
Public Member Functions | |
CDisplayWindowPlots (const std::string &windowCaption=std::string(), unsigned int initialWidth=350, unsigned int initialHeight=300) | |
Constructor. More... | |
~CDisplayWindowPlots () override | |
Destructor. More... | |
bool | getLastMousePosition (int &x, int &y) const override |
Gets the last x,y pixel coordinates of the mouse. More... | |
void | setCursorCross (bool cursorIsCross) override |
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true) More... | |
void | resize (unsigned int width, unsigned int height) override |
Resizes the window, stretching the image to fit into the display area. More... | |
void | setPos (int x, int y) override |
Changes the position of the window on the screen. More... | |
void | setWindowTitle (const std::string &str) 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 VEC1 , typename VEC2 , typename = typename VEC2::Scalar> | |
void | plot (const VEC1 &x, const VEC2 &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 T > | |
void | plot (const std::vector< T > &x, const std::vector< T > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY")) |
template<typename VEC > | |
void | plot (const VEC &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 | plotEllipse (const T mean_x, const T mean_y, const mrpt::math::CMatrixDynamic< 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 | plotEllipse (const T mean_x, const T mean_y, const mrpt::math::CMatrixFixed< 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 mrpt::img::CImage &img, float x_left, float y_bottom, float x_width, 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=nullptr) |
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 ([[maybe_unused]] const T mean_x, [[maybe_unused]] const T mean_y, [[maybe_unused]] const CMatrixDynamic< T > &cov22, [[maybe_unused]] const float quantiles, [[maybe_unused]] const std::string &lineFormat, [[maybe_unused]] const std::string &plotName, [[maybe_unused]] bool showName) |
template<typename T > | |
void | plotEllipse ([[maybe_unused]] const T mean_x, [[maybe_unused]] const T mean_y, [[maybe_unused]] const CMatrixFixed< T, 2, 2 > &cov22, [[maybe_unused]] const float quantiles, [[maybe_unused]] const std::string &lineFormat, [[maybe_unused]] const std::string &plotName, [[maybe_unused]] bool showName) |
void * | getWxObject () |
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=nullptr) |
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=nullptr) |
Returns the latest pushed key, or 0 if there is no new key stroke. More... | |
Static Public Member Functions | |
static CDisplayWindowPlots::Ptr | Create (const std::string &windowCaption, unsigned int initialWindowWidth=400, unsigned int initialWindowHeight=300) |
Class factory returning a smart pointer. More... | |
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. 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 {false} |
Whether hold_on is enabled. More... | |
bool | m_holdon_just_disabled {false} |
uint32_t | m_holdon_cnt {0} |
Counter for hold_on. More... | |
TCallbackMenu | m_callback {nullptr} |
void * | m_callback_param {nullptr} |
std::promise< void > | m_threadReady |
This semaphore will be signaled when the wx window is built and ready. More... | |
std::promise< void > | m_windowDestroyed |
This semaphore will be signaled when the wx window is destroyed. More... | |
std::string | m_caption |
The caption of the window. More... | |
mrpt::void_ptr_noncopy | m_hwnd |
The window handle. More... | |
std::atomic_bool | m_keyPushed = false |
std::atomic_int | m_keyPushedCode = 0 |
std::atomic< mrptKeyModifier > | m_keyPushedModifier |
Friends | |
class | CWindowDialogPlots |
Definition at line 36 of file CDisplayWindowPlots.h.
using mrpt::gui::CDisplayWindowPlots::TCallbackMenu = void (*)(int menuID, float cursor_x, float cursor_y, void* userParam) |
Type for the callback function used in setMenuCallback.
Definition at line 40 of file CDisplayWindowPlots.h.
CDisplayWindowPlots::CDisplayWindowPlots | ( | const std::string & | windowCaption = std::string() , |
unsigned int | initialWidth = 350 , |
||
unsigned int | initialHeight = 300 |
||
) |
Constructor.
Definition at line 657 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::createWxWindow().
|
override |
Destructor.
Definition at line 669 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::destroyWxWindow().
void CDisplayWindowPlots::addPopupMenuEntry | ( | const std::string & | label, |
int | menuID | ||
) |
Disables keeping all the graphs (this is the default behavior).
label | The text that appears in the new popup menu item. |
menuID | Any positive number (0,1,..). Used to tell which menu was selected in the user callback. |
Definition at line 1112 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), MRPT_END, MRPT_START, mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
void CDisplayWindowPlots::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.
Definition at line 810 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::WxSubsystem::pushPendingWxRequest(), resize(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
void CDisplayWindowPlots::axis_equal | ( | bool | enable = true | ) |
Enable/disable the fixed X/Y aspect ratio fix feature (default=disabled).
Definition at line 793 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
void CDisplayWindowPlots::axis_fit | ( | bool | aspectRatioFix = false | ) |
Fix automatically the view area according to existing graphs.
Definition at line 836 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
void CDisplayWindowPlots::clear | ( | ) |
Remove all plot objects in the display.
Definition at line 1075 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), MRPT_END, MRPT_START, mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
Referenced by clf().
|
inlineinherited |
Assure that "keyHit" will return false until the next pushed key.
Definition at line 143 of file CBaseGUIWindow.h.
References mrpt::gui::CBaseGUIWindow::m_keyPushed.
|
inline |
Remove all plot objects in the display (clear and clf do exactly the same).
Definition at line 252 of file CDisplayWindowPlots.h.
References clear().
Referenced by image(), internal_plot(), and plotEllipse().
|
static |
Class factory returning a smart pointer.
Definition at line 647 of file CDisplayWindowPlots.cpp.
|
protectedinherited |
Must be called by child classes just within the constructor.
Definition at line 42 of file CBaseGUIWindow.cpp.
References mrpt::gui::WxSubsystem::createOneInstanceMainThread(), mrpt::non_copiable_ptr_basic< T >::getPtrToPtr(), mrpt::gui::WxSubsystem::isConsoleApp(), mrpt::gui::CBaseGUIWindow::m_caption, mrpt::gui::CBaseGUIWindow::m_CMD_CREATE_WIN, mrpt::gui::CBaseGUIWindow::m_hwnd, mrpt::gui::CBaseGUIWindow::m_threadReady, mrpt::gui::CBaseGUIWindow::m_winobj_voidptr, MRPT_END, MRPT_START, mrpt::gui::WxSubsystem::pushPendingWxRequest(), mrpt::gui::WxSubsystem::TRequestToWxMainThread::source2D, and THROW_EXCEPTION.
Referenced by mrpt::gui::CDisplayWindow::CDisplayWindow(), mrpt::gui::CDisplayWindow3D::CDisplayWindow3D(), and CDisplayWindowPlots().
|
protectedinherited |
Must be called by child classes in their destructors.
The code cannot be put into this class' destructor.
Definition at line 103 of file CBaseGUIWindow.cpp.
References mrpt::non_copiable_ptr_basic< T >::get(), mrpt::gui::WxSubsystem::isConsoleApp(), mrpt::gui::CBaseGUIWindow::m_CMD_DESTROY_WIN, mrpt::gui::CBaseGUIWindow::m_hwnd, mrpt::gui::CBaseGUIWindow::m_windowDestroyed, mrpt::gui::CBaseGUIWindow::m_winobj_voidptr, MRPT_END, MRPT_START, mrpt::gui::WxSubsystem::TRequestToWxMainThread::OPCODE, mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::waitWxShutdownsIfNoWindows().
Referenced by mrpt::gui::CDisplayWindow::~CDisplayWindow(), mrpt::gui::CDisplayWindow3D::~CDisplayWindow3D(), and ~CDisplayWindowPlots().
void CDisplayWindowPlots::enableMousePanZoom | ( | bool | enabled | ) |
Enable/disable the feature of pan/zoom with the mouse (default=enabled)
Definition at line 776 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
|
overridevirtual |
Gets the last x,y pixel coordinates of the mouse.
Implements mrpt::gui::CBaseGUIWindow.
Definition at line 689 of file CDisplayWindowPlots.cpp.
References mrpt::non_copiable_ptr_basic< T >::get(), mrpt::gui::CBaseGUIWindow::m_hwnd, and win.
|
inherited |
Returns the latest pushed key, or 0 if there is no new key stroke.
out_pushModifier | If set to !=nullptr, the modifiers of the key stroke will be saved here. |
Definition at line 186 of file CBaseGUIWindow.cpp.
References mrpt::gui::CBaseGUIWindow::m_keyPushed, mrpt::gui::CBaseGUIWindow::m_keyPushedCode, mrpt::gui::CBaseGUIWindow::m_keyPushedModifier, and mrpt::gui::MRPTKMOD_NONE.
|
inlineinherited |
Read-only access to the wxDialog object.
Definition at line 77 of file CBaseGUIWindow.h.
References mrpt::non_copiable_ptr_basic< T >::get(), and mrpt::gui::CBaseGUIWindow::m_hwnd.
Referenced by mrpt::gui::WxSubsystem::CWXMainFrame::OnTimerProcessRequests().
|
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 53 of file CObservable.h.
References mrpt::system::CObservable::m_subscribers.
Referenced by mrpt::gui::CWindowDialog::OnMouseDown(), mrpt::gui::CWindowDialog::OnMouseMove(), mrpt::gui::CWindowDialog::OnResize(), mrpt::opengl::COpenGLViewport::render(), and mrpt::opengl::COpenGLViewport::renderNormalSceneMode().
void CDisplayWindowPlots::hold_off | ( | ) |
Disables keeping all the graphs (this is the default behavior).
Definition at line 1100 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.
Definition at line 1096 of file CDisplayWindowPlots.cpp.
References m_holdon.
void CDisplayWindowPlots::image | ( | const mrpt::img::CImage & | img, |
float | x_left, | ||
float | y_bottom, | ||
float | x_width, | ||
float | y_height, | ||
const std::string & | plotName = std::string("image") |
||
) |
Adds a bitmap image layer.
Each call to this function creates a new layer, 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).
Definition at line 988 of file CDisplayWindowPlots.cpp.
References clf(), mrpt::format(), mrpt::gui::CBaseGUIWindow::isOpen(), m_holdon, m_holdon_cnt, m_holdon_just_disabled, MRPT_END, MRPT_START, mrpt::gui::MRPTImage2wxImage(), mrpt::gui::WxSubsystem::pushPendingWxRequest(), resize(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
|
protected |
Definition at line 1034 of file CDisplayWindowPlots.cpp.
References ASSERT_EQUAL_, clf(), mrpt::format(), mrpt::gui::CBaseGUIWindow::isOpen(), m_holdon, m_holdon_cnt, m_holdon_just_disabled, MRPT_END, MRPT_START, mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
Referenced by internal_plot_interface().
|
inlineprotected |
Definition at line 57 of file CDisplayWindowPlots.h.
References mrpt::d2f(), and internal_plot().
Referenced by plot().
|
inlineprotected |
Definition at line 69 of file CDisplayWindowPlots.h.
References internal_plot().
|
inherited |
Returns false if the user has already closed the window.
Definition at line 201 of file CBaseGUIWindow.cpp.
References mrpt::gui::CBaseGUIWindow::m_hwnd.
Referenced by addPopupMenuEntry(), axis(), axis_equal(), axis_fit(), clear(), mrpt::math::CMonteCarlo< T, NUM, OTHER >::doExperiment(), enableMousePanZoom(), image(), internal_plot(), mrpt::graphslam::CWindowManager::isOpen(), plotEllipse(), resize(), mrpt::gui::CDisplayWindow3D::resize(), mrpt::gui::CDisplayWindow::resize(), setPos(), mrpt::gui::CDisplayWindow3D::setPos(), mrpt::gui::CDisplayWindow::setPos(), setWindowTitle(), mrpt::gui::CDisplayWindow3D::setWindowTitle(), mrpt::gui::CDisplayWindow::setWindowTitle(), mrpt::gui::CBaseGUIWindow::waitForKey(), and CGraphSlamHandler< GRAPH_T >::~CGraphSlamHandler().
|
inlineinherited |
Returns true if a key has been pushed, without blocking waiting for a new key being pushed.
Definition at line 139 of file CBaseGUIWindow.h.
References mrpt::gui::CBaseGUIWindow::m_keyPushed.
|
inherited |
Called by wx main thread to set m_hwnd to NULL.
Definition at line 148 of file CBaseGUIWindow.cpp.
References mrpt::gui::CBaseGUIWindow::m_hwnd.
Referenced by mrpt::gui::CWindowDialog::OnClose(), and mrpt::gui::C3DWindowDialog::OnClose().
|
inherited |
Called by wx main thread to signal the semaphore that the wx window is built and ready.
Definition at line 205 of file CBaseGUIWindow.cpp.
References mrpt::gui::CBaseGUIWindow::m_threadReady.
Referenced by mrpt::gui::WxSubsystem::CWXMainFrame::OnTimerProcessRequests().
|
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 width:
Examples:
VECTOR | Can be std::vector<float/double> or mrpt::dynamicsize_vector<float/double> or a column/row Eigen::Matrix<> |
Definition at line 156 of file CDisplayWindowPlots.h.
References internal_plot_interface().
Referenced by mrpt::math::CMonteCarlo< T, NUM, OTHER >::doExperiment().
|
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 165 of file CDisplayWindowPlots.h.
References internal_plot_interface().
|
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 175 of file CDisplayWindowPlots.h.
References internal_plot_interface().
void mrpt::gui::CDisplayWindowPlots::plotEllipse | ( | const T | mean_x, |
const T | mean_y, | ||
const mrpt::math::CMatrixDynamic< 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:
void mrpt::gui::CDisplayWindowPlots::plotEllipse | ( | const T | mean_x, |
const T | mean_y, | ||
const mrpt::math::CMatrixFixed< 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.
void mrpt::gui::CDisplayWindowPlots::plotEllipse | ( | [[maybe_unused] ] const T | mean_x, |
[[maybe_unused] ] const T | mean_y, | ||
[[maybe_unused] ] const CMatrixDynamic< T > & | cov22, | ||
[[maybe_unused] ] const float | quantiles, | ||
[[maybe_unused] ] const std::string & | lineFormat, | ||
[[maybe_unused] ] const std::string & | plotName, | ||
[[maybe_unused] ] bool | showName | ||
) |
Definition at line 854 of file CDisplayWindowPlots.cpp.
References ASSERT_, clf(), mrpt::d2f(), mrpt::format(), mrpt::gui::CBaseGUIWindow::isOpen(), m_holdon, m_holdon_cnt, m_holdon_just_disabled, MRPT_END, MRPT_START, mrpt::gui::WxSubsystem::pushPendingWxRequest(), resize(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
void mrpt::gui::CDisplayWindowPlots::plotEllipse | ( | [[maybe_unused] ] const T | mean_x, |
[[maybe_unused] ] const T | mean_y, | ||
[[maybe_unused] ] const CMatrixFixed< T, 2, 2 > & | cov22, | ||
[[maybe_unused] ] const float | quantiles, | ||
[[maybe_unused] ] const std::string & | lineFormat, | ||
[[maybe_unused] ] const std::string & | plotName, | ||
[[maybe_unused] ] bool | showName | ||
) |
Definition at line 922 of file CDisplayWindowPlots.cpp.
References ASSERT_, clf(), mrpt::d2f(), mrpt::format(), mrpt::gui::CBaseGUIWindow::isOpen(), m_holdon, m_holdon_cnt, m_holdon_just_disabled, MRPT_END, MRPT_START, mrpt::gui::WxSubsystem::pushPendingWxRequest(), resize(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
|
protectedinherited |
Called when you want this object to emit an event to all the observers currently subscribed to this object.
Definition at line 57 of file CObservable.cpp.
References MRPT_END, and MRPT_START.
Referenced by mrpt::gui::CDisplayWindow3D::internal_emitGrabImageEvent(), mrpt::gui::CWindowDialog::OnChar(), mrpt::gui::CWindowDialog::OnClose(), mrpt::gui::C3DWindowDialog::OnClose(), mrpt::gui::CWindowDialog::OnMouseDown(), mrpt::gui::CWindowDialog::OnMouseMove(), mrpt::gui::CWindowDialog::OnResize(), mrpt::gui::C3DWindowDialog::OnResize(), mrpt::opengl::COpenGLViewport::render(), and mrpt::opengl::COpenGLViewport::renderNormalSceneMode().
|
overridevirtual |
Resizes the window, stretching the image to fit into the display area.
Implements mrpt::gui::CBaseGUIWindow.
Definition at line 706 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::CBaseGUIWindow::m_caption, mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
Referenced by axis(), image(), and plotEllipse().
|
overridevirtual |
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true)
Implements mrpt::gui::CBaseGUIWindow.
Definition at line 676 of file CDisplayWindowPlots.cpp.
References mrpt::non_copiable_ptr_basic< T >::get(), mrpt::gui::CBaseGUIWindow::m_hwnd, and win.
void CDisplayWindowPlots::setMenuCallback | ( | TCallbackMenu | userFunction, |
void * | userParam = nullptr |
||
) |
Must be called to have a callback when the user selects one of the user-defined entries in the popup menu.
Definition at line 1134 of file CDisplayWindowPlots.cpp.
References ASSERT_, m_callback, and m_callback_param.
|
overridevirtual |
Changes the position of the window on the screen.
Implements mrpt::gui::CBaseGUIWindow.
Definition at line 730 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::CBaseGUIWindow::m_caption, mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
|
overridevirtual |
Changes the window title text.
Implements mrpt::gui::CBaseGUIWindow.
Definition at line 753 of file CDisplayWindowPlots.cpp.
References mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::CBaseGUIWindow::m_caption, mrpt::gui::WxSubsystem::pushPendingWxRequest(), and mrpt::gui::WxSubsystem::TRequestToWxMainThread::sourcePlots.
|
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
ignoreControlKeys | If set to false, any push of shift, cmd, control, etc... will make this method to return. |
out_pushModifier | If set to !=nullptr, the modifiers of the key stroke will be saved here. |
Definition at line 152 of file CBaseGUIWindow.cpp.
References mrpt::system::os::getch(), mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::system::os::kbhit(), mrpt::gui::CBaseGUIWindow::m_keyPushed, mrpt::gui::CBaseGUIWindow::m_keyPushedCode, mrpt::gui::CBaseGUIWindow::m_keyPushedModifier, and mrpt::gui::MRPTKMOD_NONE.
|
friend |
Definition at line 43 of file CDisplayWindowPlots.h.
|
protected |
Definition at line 50 of file CDisplayWindowPlots.h.
Referenced by setMenuCallback().
|
protected |
Definition at line 51 of file CDisplayWindowPlots.h.
Referenced by setMenuCallback().
|
protectedinherited |
The caption of the window.
Definition at line 60 of file CBaseGUIWindow.h.
Referenced by mrpt::gui::CBaseGUIWindow::createWxWindow(), resize(), mrpt::gui::CDisplayWindow3D::resize(), mrpt::gui::CDisplayWindow::resize(), setPos(), mrpt::gui::CDisplayWindow3D::setPos(), mrpt::gui::CDisplayWindow::setPos(), setWindowTitle(), mrpt::gui::CDisplayWindow3D::setWindowTitle(), and mrpt::gui::CDisplayWindow::setWindowTitle().
|
protected |
Whether hold_on is enabled.
Definition at line 46 of file CDisplayWindowPlots.h.
Referenced by hold_off(), hold_on(), image(), internal_plot(), and plotEllipse().
|
protected |
Counter for hold_on.
Definition at line 49 of file CDisplayWindowPlots.h.
Referenced by image(), internal_plot(), and plotEllipse().
|
protected |
Definition at line 47 of file CDisplayWindowPlots.h.
Referenced by hold_off(), image(), internal_plot(), and plotEllipse().
|
protectedinherited |
The window handle.
Definition at line 62 of file CBaseGUIWindow.h.
Referenced by mrpt::gui::CBaseGUIWindow::createWxWindow(), mrpt::gui::CBaseGUIWindow::destroyWxWindow(), mrpt::gui::CDisplayWindow3D::forceRepaint(), mrpt::gui::CDisplayWindow3D::getCameraAzimuthDeg(), mrpt::gui::CDisplayWindow3D::getCameraElevationDeg(), mrpt::gui::CDisplayWindow3D::getCameraPointingToPoint(), mrpt::gui::CDisplayWindow3D::getCameraZoom(), mrpt::gui::CDisplayWindow3D::getFOV(), mrpt::gui::CDisplayWindow::getLastMousePosition(), getLastMousePosition(), mrpt::gui::CDisplayWindow3D::getLastMousePosition(), mrpt::gui::CBaseGUIWindow::getWxObject(), mrpt::gui::CDisplayWindow3D::isCameraProjective(), mrpt::gui::CBaseGUIWindow::isOpen(), mrpt::gui::CBaseGUIWindow::notifyChildWindowDestruction(), mrpt::gui::CDisplayWindow3D::setCameraAzimuthDeg(), mrpt::gui::CDisplayWindow3D::setCameraElevationDeg(), mrpt::gui::CDisplayWindow3D::setCameraPointingToPoint(), mrpt::gui::CDisplayWindow3D::setCameraProjective(), mrpt::gui::CDisplayWindow3D::setCameraZoom(), mrpt::gui::CDisplayWindow::setCursorCross(), setCursorCross(), mrpt::gui::CDisplayWindow3D::setCursorCross(), mrpt::gui::CDisplayWindow3D::setFOV(), mrpt::gui::CDisplayWindow::showImage(), and mrpt::gui::CDisplayWindow3D::useCameraFromScene().
|
protectedinherited |
Definition at line 65 of file CBaseGUIWindow.h.
Referenced by mrpt::gui::CBaseGUIWindow::clearKeyHitFlag(), mrpt::gui::CBaseGUIWindow::getPushedKey(), mrpt::gui::CBaseGUIWindow::keyHit(), mrpt::gui::CWindowDialog::OnChar(), and mrpt::gui::CBaseGUIWindow::waitForKey().
|
protectedinherited |
Definition at line 66 of file CBaseGUIWindow.h.
Referenced by mrpt::gui::CBaseGUIWindow::getPushedKey(), mrpt::gui::CWindowDialog::OnChar(), and mrpt::gui::CBaseGUIWindow::waitForKey().
|
protectedinherited |
Definition at line 67 of file CBaseGUIWindow.h.
Referenced by mrpt::gui::CBaseGUIWindow::getPushedKey(), mrpt::gui::CWindowDialog::OnChar(), and mrpt::gui::CBaseGUIWindow::waitForKey().
|
mutableprotectedinherited |
This semaphore will be signaled when the wx window is built and ready.
Definition at line 56 of file CBaseGUIWindow.h.
Referenced by mrpt::gui::CBaseGUIWindow::createWxWindow(), and mrpt::gui::CBaseGUIWindow::notifySemThreadReady().
|
mutableprotectedinherited |
This semaphore will be signaled when the wx window is destroyed.
Definition at line 58 of file CBaseGUIWindow.h.
Referenced by mrpt::gui::CBaseGUIWindow::destroyWxWindow(), mrpt::gui::CWindowDialog::OnClose(), and mrpt::gui::C3DWindowDialog::OnClose().
Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020 |