68 const float R,
const float G,
const float B,
const float A = 1)
86 const float R,
const float G,
const float B,
const float A = 1)
133 const float center_x,
const float center_y,
const float cellsize_x,
134 const float cellsize_y)
148 const float xmin,
const float xmax,
const float ymin,
const float ymax)
161 void getGridLimits(
float& xmin,
float& xmax,
float& ymin,
float& ymax)
const 205 (Matrix_x.
rows() == Matrix_y.
rows()) &&
206 (Matrix_x.
cols() == Matrix_y.
cols()));
253 float xmin = -1,
float xmax = 1,
float ymin = -1,
float ymax = 1);
mrpt::img::TColorf getVectorFieldColor() const
Get the arrow color in the range [0,1].
void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
void resize(size_t row, size_t col)
void enableAntiAliasing(bool enable=true)
void getVectorField(mrpt::math::CMatrixFloat &Matrix_x, mrpt::math::CMatrixFloat &Matrix_y) const
Get the vector field.
mrpt::math::CMatrixF ycomp
Y component of the vector field.
mrpt::img::TColor m_point_color
GLubyte GLubyte GLubyte GLubyte w
float getPointSize() const
Get the size with which points are drawn.
A renderizable object suitable for rendering with OpenGL's display lists.
#define ASSERT_(f)
Defines an assertion mechanism.
void setPointSize(const float p)
Set the size with which points will be drawn.
mrpt::math::CMatrixF xcomp
X component of the vector field.
void resize(size_t rows, size_t cols)
Resizes the set.
void setGridLimits(const float xmin, const float xmax, const float ymin, const float ymax)
Set the coordinates of the grid on where the vector field will be drawn using x-y max and min values...
float getLineWidth() const
Get the width with which lines are drawn.
size_type rows() const
Number of rows in the matrix.
size_type cols() const
Number of columns in the matrix.
A 2D vector field representation, consisting of points and arrows drawn on a plane (invisible grid)...
void setLineWidth(const float w)
Set the width with which lines will be drawn.
const mrpt::math::CMatrixFloat & getVectorField_x() const
Get the "x" component of the vector field, as a matrix where each entry represents a point in the 2D ...
CVectorField2D()
Constructor.
void getBoundingBox(mrpt::math::TPoint3D &bb_min, mrpt::math::TPoint3D &bb_max) const override
Evaluates the bounding box of this object (including possible children) in the coordinate frame of th...
mrpt::math::CMatrixFloat & getVectorField_y()
const mrpt::math::CMatrixFloat & getVectorField_y() const
Get the "y" component of the vector field, as a matrix where each entry represents a point in the 2D ...
size_t cols() const
Returns the total count of rows used to represent the vector field.
This class is a "CSerializable" wrapper for "CMatrixFloat".
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
bool m_antiAliasing
By default is true.
~CVectorField2D() override=default
Private, virtual destructor: only can be deleted from smart pointers.
void setGridCenterAndCellSize(const float center_x, const float center_y, const float cellsize_x, const float cellsize_y)
Set the coordinates of the grid on where the vector field will be drawn by setting its center and the...
void setPointColor(const float R, const float G, const float B, const float A=1)
Set the point color in the range [0,1].
void clear()
Clear the matrices.
A RGB color - floats in the range [0,1].
The namespace for 3D scene representation and rendering.
void setVectorField(mrpt::math::CMatrixFloat &Matrix_x, mrpt::math::CMatrixFloat &Matrix_y)
Set the vector field.
void adjustVectorFieldToGrid()
Adjust the vector field in the scene (vectors magnitude) according to the grid size.
float m_pointSize
By default is 1.0.
bool isAntiAliasingEnabled() const
void render_dl() const override
Render.
mrpt::img::TColor m_field_color
void getGridLimits(float &xmin, float &xmax, float &ymin, float &ymax) const
Get the coordinates of the grid on where the vector field is drawn using the max and min values...
This template class provides the basic functionality for a general 2D any-size, resizable container o...
float m_LineWidth
By default is 1.0.
size_t rows() const
Returns the total count of columns used to represent the vector field.
mrpt::img::TColorf getPointColor() const
Get the point color in the range [0,1].
void setVectorFieldColor(const float R, const float G, const float B, const float A=1)
Set the arrow color in the range [0,1].
mrpt::math::CMatrixFloat & getVectorField_x()