Go to the documentation of this file.
9 #ifndef CDisplayWindowPlots_H
10 #define CDisplayWindowPlots_H
34 using Ptr = std::shared_ptr<CDisplayWindowPlots>;
38 void (*)(
int menuID,
float cursor_x,
float cursor_y,
void* userParam);
54 template <
typename VECTOR1,
typename VECTOR2>
56 const VECTOR1&
x,
const VECTOR2&
y,
const std::string& lineFormat,
60 const size_t N1 = size_t(
x.size());
61 for (
size_t i = 0; i < N1; i++) x1[i] =
x[i];
62 const size_t N2 = size_t(
y.size());
63 for (
size_t i = 0; i < N2; i++) y1[i] =
y[i];
66 template <
typename VECTOR1>
71 const size_t N = size_t(
y.size());
73 for (
size_t i = 0; i < N; i++)
86 unsigned int initialWidth = 350,
unsigned int initialHeight = 300);
90 const std::string& windowCaption,
unsigned int initialWindowWidth = 400,
91 unsigned int initialWindowHeight = 300);
153 template <
typename T1,
typename T2>
155 const std::vector<T1>&
x,
const std::vector<T2>&
y,
162 template <
typename T1,
typename Derived2>
171 template <
typename Derived1,
typename T2>
180 template <
typename Derived1,
typename Derived2>
191 template <
typename T>
193 const std::vector<T>&
y,
200 template <
typename Derived>
211 float x_min,
float x_max,
float y_min,
float y_max,
212 bool aspectRatioFix =
false);
219 void axis_fit(
bool aspectRatioFix =
false);
240 template <
typename T>
242 const T mean_x,
const T mean_y,
244 const float quantiles,
247 bool showName =
false);
250 template <
typename T>
252 const T mean_x,
const T mean_y,
254 const float quantiles,
257 bool showName =
false);
269 const float& y_bottom,
const float& x_width,
const float& y_height,
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"))
This is an overloaded member function, provided for convenience. It differs from the above function o...
std::shared_ptr< CDisplayWindowPlots > Ptr
static CDisplayWindowPlots::Ptr Create(const std::string &windowCaption, unsigned int initialWindowWidth=400, unsigned int initialWindowHeight=300)
Class factory returning a smart pointer.
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction.
void axis_equal(bool enable=true)
Enable/disable the fixed X/Y aspect ratio fix feature (default=disabled).
void internal_plot(mrpt::math::CVectorFloat &x, mrpt::math::CVectorFloat &y, const std::string &lineFormat, const std::string &plotName)
void resize(unsigned int width, unsigned int height) override
Resizes the window, stretching the image to fit into the display area.
void addPopupMenuEntry(const std::string &label, int menuID)
Disables keeping all the graphs (this is the default behavior).
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.
void enableMousePanZoom(bool enabled)
Enable/disable the feature of pan/zoom with the mouse (default=enabled)
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 ...
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"))
This is an overloaded member function, provided for convenience. It differs from the above function o...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
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.
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"))
This is an overloaded member function, provided for convenience. It differs from the above function o...
void hold_off()
Disables keeping all the graphs (this is the default behavior).
void image(const mrpt::img::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.
A matrix of dynamic size.
void 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 pl...
The base class for GUI window classes.
void axis_fit(bool aspectRatioFix=false)
Fix automatically the view area according to existing graphs.
void setPos(int x, int y) override
Changes the position of the window on the screen.
void(*)(int menuID, float cursor_x, float cursor_y, void *userParam) TCallbackMenu
Type for the callback function used in setMenuCallback.
void internal_plot_interface(const VECTOR1 &x, const VECTOR2 &y, const std::string &lineFormat, const std::string &plotName)
void internal_plot_interface(const VECTOR1 &y, const std::string &lineFormat, const std::string &plotName)
void plot(const Eigen::MatrixBase< Derived > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool m_holdon
Whether hold_on is enabled.
bool m_holdon_just_disabled
A numeric matrix of compile-time fixed size.
GLenum GLsizei GLsizei height
A class for storing images as grayscale or RGB bitmaps.
Create a GUI window and display plots with MATLAB-like interfaces and commands.
void clf()
Remove all plot objects in the display (clear and clf do exactly the same).
uint32_t m_holdon_cnt
Counter for hold_on.
void clear()
Remove all plot objects in the display.
virtual ~CDisplayWindowPlots()
Destructor.
virtual bool getLastMousePosition(int &x, int &y) const override
Gets the last x,y pixel coordinates of the mouse.
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
GLsizei const GLchar ** string
virtual void setCursorCross(bool cursorIsCross) override
Set cursor style to default (cursorIsCross=false) or to a cross (cursorIsCross=true)
CDisplayWindowPlots(const std::string &windowCaption=std::string(), unsigned int initialWidth=350, unsigned int initialHeight=300)
Constructor.
void setWindowTitle(const std::string &str) override
Changes the window title text.
void hold_on()
Enables keeping all the graphs, instead of overwritting them.
void plot(const std::vector< T > &y, const std::string &lineFormat=std::string("b-"), const std::string &plotName=std::string("plotXY"))
This is an overloaded member function, provided for convenience. It differs from the above function o...
The wx dialog for gui::CDisplayWindowPlots.
unsigned __int32 uint32_t
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |