9#ifndef opengl_CSetOfTexturedTriangles_H
10#define opengl_CSetOfTexturedTriangles_H
16 namespace utils {
class CStream; }
#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...
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated)
A set of textured triangles.
CSetOfTexturedTriangles()
Constructor.
const TTriangle & getTriangle(size_t idx) const
void getBoundingBox(mrpt::math::TPoint3D &bb_min, mrpt::math::TPoint3D &bb_max) const MRPT_OVERRIDE
Evaluates the bounding box of this object (including possible children) in the coordinate frame of th...
void getTriangle(size_t idx, TTriangle &t) const
virtual ~CSetOfTexturedTriangles()
Private, virtual destructor: only can be deleted from smart pointers.
void insertTriangle(const TTriangle &t)
void render_texturedobj() const MRPT_OVERRIDE
Must be implemented by derived classes.
virtual bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const MRPT_OVERRIDE
Simulation of ray-trace, given a pose.
std::vector< TTriangle > m_triangles
Triangle array.
size_t getTrianglesCount() const
A base class for all OpenGL objects with loadable textures.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
EIGEN_STRONG_INLINE const AdjointReturnType t() const
Transpose.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
TTriangle(TVertex v1, TVertex v2, TVertex v3)
TTriangle()
Default constructor.
void writeToStream(mrpt::utils::CStream &out) const
void readFromStream(mrpt::utils::CStream &in)
void readFromStream(mrpt::utils::CStream &in)
void writeToStream(mrpt::utils::CStream &out) const
TVertex(float x, float y, float z, uint32_t u, uint32_t v)
TVertex()
Default constructor