Go to the documentation of this file.
10 #ifndef opengl_CMesh_H
11 #define opengl_CMesh_H
92 std::pair<CSetOfTriangles::TTriangle, TTriangleVertexIndices>>
102 mutable std::vector<mrpt::math::TPolygonWithPlane>
tmpPolys;
114 void getGridLimits(
float& xmin,
float& xmax,
float& ymin,
float& ymax)
const
215 float yMin = 0.0f,
float yMax = 0.0f);
243 const float ycenter = 0.5 * (
yMin +
yMax);
247 yMax = ycenter + 0.5 * newratio * xwidth;
248 yMin = ycenter - 0.5 * newratio * xwidth;
259 float yMin = 0.0f,
float yMax = 0.0f);
size_t getWidth() const override
Returns the width of the image in pixels.
TColormap
Different colormaps for use in mrpt::img::colormap()
std::vector< std::pair< CSetOfTriangles::TTriangle, TTriangleVertexIndices > > actualMesh
List of triangles in the mesh.
void updatePolygons() const
CMesh(bool enableTransparency=false, float xMin=0.0f, float xMax=0.0f, float yMin=0.0f, float yMax=0.0f)
Constructor
void adjustGridToImageAR()
Adjust grid limits according to the image aspect ratio, maintaining the X limits and resizing in the ...
void enableWireFrame(bool v)
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Trace ray.
bool m_modified_Z
Whether C is not up-to-date wrt to Z.
math::CMatrix C_g
Green Component of the Color [0,1] for each cell, updated by updateColorsMatrix.
void updateColorsMatrix() const
Called internally to assure C is updated.
void assignImageAndZ(const mrpt::img::CImage &img, const mrpt::math::CMatrixTemplateNumeric< float > &in_Z)
Assigns a texture image and Z simultaneously, and disable transparency.
void enableTransparency(bool v)
@ cmHOT
[New in MRPT 1.5.0]
A renderizable object suitable for rendering with OpenGL's display lists.
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated)
void setXMax(const float nxm)
math::CMatrix U
Texture coordinates.
static Ptr Create(Args &&... args)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
mrpt::img::TColormap m_colorMap
Used when m_colorFromZ is true.
#define ASSERT_(f)
Defines an assertion mechanism.
void getGridLimits(float &xmin, float &xmax, float &ymin, float &ymax) const
void setYBounds(const float min, const float max)
A planar (XY) grid where each cell has an associated height and, optionally, a texture map.
void assignImage(const mrpt::img::CImage &img)
Assigns a texture image, and disable transparency.
bool m_modified_Image
Whether C is not up-to-date wrt to the texture image.
bool trianglesUpToDate
Whether the actual mesh needs to be recalculated.
void getZ(mrpt::math::CMatrixFloat &out) const
Returns a reference to the internal Z matrix, allowing changing it efficiently.
A matrix of dynamic size.
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...
void render_dl() const override
Render.
bool m_enableTransparency
void setZ(const mrpt::math::CMatrixTemplateNumeric< float > &in_Z)
This method sets the matrix of heights for each position (cell) in the mesh grid.
This class is a "CSerializable" wrapper for "CMatrixFloat".
void setYMax(const float nym)
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
math::CMatrix Z
Z(x,y): Z-coordinate of the point (x,y)
math::CMatrix C_b
Blue Component of the Color [0,1] for each cell, updated by updateColorsMatrix.
void setXMin(const float nxm)
mrpt::img::CImage m_textureImage
void updateTriangles() const
Called internally to assure the triangle list is updated.
virtual ~CMesh()
Private, virtual destructor: only can be deleted from smart pointers.
A class for storing images as grayscale or RGB bitmaps.
void setUV(const mrpt::math::CMatrixTemplateNumeric< float > &in_U, const mrpt::math::CMatrixTemplateNumeric< float > &in_V)
Sets the (u,v) texture coordinates (in range [0,1]) for each cell.
size_t getHeight() const override
Returns the height of the image in pixels.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
void setMask(const mrpt::math::CMatrixTemplateNumeric< float > &in_mask)
This method sets the boolean mask of valid heights for each position (cell) in the mesh grid.
void getYBounds(float &min, float &max) const
math::CMatrix C_r
Red Component of the Color [0,1] for each cell, updated by updateColorsMatrix.
void setXBounds(const float min, const float max)
void getMask(mrpt::math::CMatrixFloat &out) const
Returns a reference to the internal mask matrix, allowing changing it efficiently.
void setGridLimits(float xmin, float xmax, float ymin, float ymax)
void getXBounds(float &min, float &max) const
std::vector< mrpt::math::TPolygonWithPlane > tmpPolys
math::CMatrix C
Grayscale Color [0,1] for each cell, updated by updateColorsMatrix.
std::shared_ptr< CMesh > Ptr
std::vector< std::pair< mrpt::math::TPoint3D, size_t > > vertex_normals
The accumulated normals & counts for each vertex, so normals can be averaged.
void enableColorFromZ(bool v, mrpt::img::TColormap colorMap=mrpt::img::cmHOT)
void setYMin(const float nym)
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 | |