9 #ifndef opengl_CSetOfTriangles_H    10 #define opengl_CSetOfTriangles_H    37                         for (
size_t i = 0; i < 3; i++)
    39                                 r[i] = 
g[i] = 
b[i] = 
a[i] = 1.0f;
    45                         for (
size_t i = 0; i < 3; i++)
    50                                 r[i] = 
g[i] = 
b[i] = 
a[i] = 1.0f;
    53                 float x[3], 
y[3], 
z[3];
    54                 float r[3], 
g[3], 
b[3], 
a[3];
    63         typedef std::vector<TTriangle>::const_reverse_iterator
    83         mutable std::vector<mrpt::math::TPolygonWithPlane> 
tmpPolygons;
   124         template <
class InputIterator>
   126                 const InputIterator& 
begin, 
const InputIterator& 
end)
   171         void getPolygons(std::vector<mrpt::math::TPolygon3D>& polys) 
const;
   178         template <
class CONTAINER>
   231         s->insertTriangles(
t.begin(), 
t.end());
   241         s->insertTriangle(
t);
 void getTriangle(size_t idx, TTriangle &t) const
Gets the triangle in a given position. 
const_reverse_iterator rend() const
Gets the reverse ending iterator to this object, which points to the beginning of the actual set...
mrpt::utils::CStream & operator<<(mrpt::utils::CStream &out, const mrpt::opengl::CLight &o)
CRenderizable & setColorG_u8(const uint8_t g) override
Color components in the range [0,255]. 
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Ray tracing. 
void getPolygons(std::vector< mrpt::math::TPolygon3D > &polys) const
Gets the polygon cache. 
const_iterator end() const
Gets the ending iterator to this object. 
The base class of 3D objects that can be directly rendered through OpenGL. 
std::vector< mrpt::math::TPolygonWithPlane > tmpPolygons
Polygon cache. 
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
const Scalar * const_iterator
std::shared_ptr< CSetOfTriangles > Ptr
size_t getTrianglesCount() const
Get triangle count. 
const_iterator begin() const
Gets the beginning iterator to this object. 
CRenderizable & setColorR_u8(const uint8_t r) override
Color components in the range [0,255]. 
TTriangle(const mrpt::math::TPolygon3D &p)
A renderizable object suitable for rendering with OpenGL's display lists. 
std::vector< TTriangle >::const_iterator const_iterator
Const iterator type. 
void insertTriangle(const TTriangle &t)
Inserts a triangle into the set. 
void render_dl() const override
Render. 
CRenderizable & setColor_u8(const mrpt::utils::TColor &c) override
Changes the default object color. 
CSetOfTriangles(bool enableTransparency=false)
Constructor. 
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...
std::vector< TTriangle > m_triangles
List of triangles. 
void enableTransparency(bool v)
Enables or disables transparency. 
void updatePolygons() const
Polygon cache updating. 
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...
const_reverse_iterator rbegin() const
Gets the reverse beginning iterator to this object, which points to the last triangle. 
GLdouble GLdouble GLdouble r
A class used to store a 3D pose (a 3D translation + a rotation in 3D). 
void reserve(size_t t)
Reserves memory for certain number of triangles, avoiding multiple memory allocation calls...
std::vector< TTriangle >::const_reverse_iterator const_reverse_iterator
Const reverse iterator type. 
virtual ~CSetOfTriangles()
Private, virtual destructor: only can be deleted from smart pointers. 
A set of colored triangles. 
void clearTriangles()
Clear this object. 
void insertTriangles(const CONTAINER &c)
Inserts a set of triangles, given in a container of either TTriangle's or TPolygon3D. 
bool polygonsUpToDate
Mutable variable used to check whether polygons need to be recalculated. 
CRenderizable & setColorB_u8(const uint8_t b) override
Color components in the range [0,255]. 
GLubyte GLubyte GLubyte a
bool m_enableTransparency
Transparency enabling. 
CRenderizable & setColorA_u8(const uint8_t a) override
Color components in the range [0,255]. 
void insertTriangles(const InputIterator &begin, const InputIterator &end)
Inserts a set of triangles, bounded by iterators, into this set. 
3D polygon, inheriting from std::vector<TPoint3D>