10 #ifndef opengl_CMesh3D_H
11 #define opengl_CMesh3D_H
15 #include <Eigen/Dense>
43 typedef
int f_verts[4];
44 typedef
float coord3D[3];
48 bool m_enableTransparency;
53 bool m_computeNormals;
58 unsigned int m_num_verts;
59 unsigned int m_num_faces;
61 f_verts *m_face_verts;
62 coord3D *m_vert_coords;
87 void loadMesh(
unsigned int num_verts,
unsigned int num_faces,
int *verts_per_face,
int *face_verts,
float *vert_coords);
97 void loadMesh(
unsigned int num_verts,
unsigned int num_faces,
const Array<bool, 1, Dynamic> &is_quad,
const Array<int, 4, Dynamic> &face_verts,
const Array<float, 3, Dynamic> &vert_coords);
99 void setEdgeColor(
float r,
float g,
float b,
float a = 1.f);
100 void setFaceColor(
float r,
float g,
float b,
float a = 1.f);
101 void setVertColor(
float r,
float g,
float b,
float a = 1.f);
108 static CMesh3DPtr Create(
bool enableTransparency,
bool enableShowEdges,
bool enableShowFaces,
bool enableShowVertices);
121 CMesh3D(
bool enableTransparency = false,
bool antiAliasing = false,
bool enableShowEdges = true,
bool enableShowFaces = true,
bool enableShowVertices = false);
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#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...
A 3D mesh composed of Triangles and/or Quads.
void enableShowVertices(bool v)
void setLineWidth(float lw)
void enableShowFaces(bool v)
void enableFaceNormals(bool v)
void enableShowEdges(bool v)
void enableAntiAliasing(bool v)
void setPointSize(float ps)
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)
GLdouble GLdouble GLdouble r
GLubyte GLubyte GLubyte a
TColormap
Different colormaps for use in mrpt::utils::colormap()
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.