10 #ifndef opengl_CMeshFast_H    11 #define opengl_CMeshFast_H    68                         void updateColorsMatrix() 
const;        
    69                         void updatePoints()     
const;
    85                                 xMin=xmin; xMax = xmax;
    86                                 yMin=ymin; yMax = ymax;
    90                         void getGridLimits(
float &xmin,
float &xmax, 
float &ymin, 
float &ymax)
 const   100                                 m_colorMap   = colorMap;
   151                         static CMeshFastPtr Create(
bool enableTransparency, 
float xMin = -1.0f, 
float xMax = 1.0f, 
float yMin = -1.0f, 
float yMax = 1.0f );
   162                         void  assignImage(const 
mrpt::utils::CImage&    
img );
   166                         void  assignImageAndZ( const 
mrpt::utils::CImage& 
img, const 
mrpt::math::CMatrixTemplateNumeric<
float> &in_Z);
   170                         inline 
void adjustGridToImageAR()       {
   172                                 const float ycenter = 0.5*(yMin+yMax);
   173                                 const float xwidth = xMax - xMin;
   174                                 const float newratio = float(m_textureImage.
getWidth())/
float(m_textureImage.
getHeight());
   175                                 yMax = ycenter + 0.5*newratio*xwidth;
   176                                 yMin = ycenter - 0.5*newratio*xwidth;
   184                         CMeshFast( 
bool enableTransparency = 
false, 
float xMin = -1.0f, 
float xMax = 1.0f, 
float yMin = -1.0f, 
float yMax = 1.0f ) :
   186                                 m_enableTransparency(enableTransparency),
   189                                 X(0,0), Y(0,0), Z(0,0), C(0,0), C_r(0,0), C_g(0,0), C_b(0,0),
   192                                 m_modified_Image(false),
   193                                 xMin(xMin), xMax(xMax), yMin(yMin), yMax(yMax),
   194                                 pointsUpToDate(false)
 virtual ~CMeshFast()
Private, virtual destructor: only can be deleted from smart pointers. 
 
void setXMax(const float &nxm)
 
math::CMatrix C_r
Red Component of the Color [0,1] for each cell, updated by updateColorsMatrix. 
 
#define MRPT_OVERRIDE
C++11 "override" for virtuals: 
 
mrpt::utils::CImage m_textureImage
 
TColormap
Different colormaps for use in mrpt::utils::colormap() 
 
A class for storing images as grayscale or RGB bitmaps. 
 
void setYBounds(const float &min, const float &max)
 
A planar (XY) grid where each cell has an associated height and, optionally, a texture map...
 
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
 
void enableColorFromZ(bool v, mrpt::utils::TColormap colorMap=mrpt::utils::cmJET)
 
void setYMin(const float &nym)
 
bool m_modified_Z
Whether C is not up-to-date wrt to Z. 
 
CMeshFast(bool enableTransparency=false, float xMin=-1.0f, float xMax=1.0f, float yMin=-1.0f, float yMax=1.0f)
Constructor. 
 
mrpt::utils::TColormap m_colorMap
Used when m_colorFromZ is true. 
 
void setPointSize(float p)
By default is 1.0. 
 
A renderizable object suitable for rendering with OpenGL's display lists. 
 
bool m_modified_Image
Whether C is not up-to-date wrt to the texture image. 
 
void getYBounds(float &min, float &max) const
 
void getGridLimits(float &xmin, float &xmax, float &ymin, float &ymax) const
 
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
 
bool pointsUpToDate
Whether the coordinates of the points needs to be recalculated. 
 
math::CMatrix Z
Z(x,y): Z-coordinate of the point (x,y) 
 
bool m_enableTransparency
 
math::CMatrix Y
Y(x,y): Y-coordinate of the point (x,y) 
 
math::CMatrix C_g
Green Component of the Color [0,1] for each cell, updated by updateColorsMatrix. 
 
math::CMatrix X
X(x,y): X-coordinate of the point (x,y) 
 
void disablePointSmooth()
 
void enablePointSmooth(bool enable=true)
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
 
bool m_pointSmooth
Default: false. 
 
void enableTransparency(bool v)
 
math::CMatrix C
Grayscale Color [0,1] for each cell, updated by updateColorsMatrix. 
 
float m_pointSize
By default is 1.0. 
 
void setXBounds(const float &min, const float &max)
 
A matrix of dynamic size. 
 
math::CMatrix C_b
Blue Component of the Color [0,1] for each cell, updated by updateColorsMatrix. 
 
void setGridLimits(float xmin, float xmax, float ymin, float ymax)
 
float getPointSize() const
 
void setXMin(const float &nxm)
 
This class is a "CSerializable" wrapper for "CMatrixFloat". 
 
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
 
size_t getWidth() const MRPT_OVERRIDE
Returns the width of the image in pixels. 
 
void getZ(mrpt::math::CMatrixFloat &out) const
Returns a reference to the internal Z matrix, allowing changing it efficiently. 
 
size_t getHeight() const MRPT_OVERRIDE
Returns the height of the image in pixels. 
 
void getXBounds(float &min, float &max) const
 
void setYMax(const float &nym)