9 #ifndef opengl_CSetOfTexturedTriangles_H 10 #define opengl_CSetOfTexturedTriangles_H 16 namespace utils {
class CStream; }
38 TVertex(
float x,
float y,
float z, uint32_t u, uint32_t v);
63 void render_texturedobj( ) const MRPT_OVERRIDE;
66 void clearTriangles( ) { m_triangles.clear(); CRenderizableDisplayList::notifyChange(); }
69 void getTriangle(
size_t idx,
TTriangle &
t )
const {
ASSERT_(idx<m_triangles.size()); t = m_triangles[idx]; CRenderizableDisplayList::notifyChange(); }
void getTriangle(size_t idx, TTriangle &t) const
void insertTriangle(const TTriangle &t)
uint32_t m_v
2D texture coordinates. Notice that the texture coordinates are 2D pixels!!!
A base class for all OpenGL objects with loadable textures.
const TTriangle & getTriangle(size_t idx) const
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
EIGEN_STRONG_INLINE const AdjointReturnType t() const
Transpose.
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
#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...
size_t getTrianglesCount() const
float m_z
3D vertex coordinates.
std::vector< TTriangle > m_triangles
Triangle array.
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...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x(y+z)
bool BASE_IMPEXP traceRay(const std::vector< TPolygonWithPlane > &vec, const mrpt::poses::CPose3D &pose, double &dist)
Fast ray tracing method using polygons' properties.
CSetOfTexturedTriangles()
Constructor.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
A set of textured triangles.