56             float _x, 
float _y, 
float _z, 
float _R, 
float _G, 
float _B)
    57             : 
x(_x), 
y(_y), 
z(_z), 
R(_R), 
G(_G), 
B(_B)
   110     void push_back(
float x, 
float y, 
float z, 
float R, 
float G, 
float B);
   154     void setPoint(
size_t i, 
const TPointColour& 
p);
   165         const size_t i, 
const float x, 
const float y, 
const float z)
   183         size_t index, 
float& 
R, 
float& 
G, 
float& B)
 const   201     template <
class POINTSMAP>
   224         const float coord_min, 
const float coord_max, 
const int coord_index = 2,
   229     void render() 
const override;
   233         const bool all, 
const std::vector<size_t>& idxs,
   234         const float render_area_sqpixels) 
const;
   272     const CPointCloudColoured::TPointColour& o);
   287     static const int HAS_RGB = 1;
   289     static const int HAS_RGBf = 1;
   291     static const int HAS_RGBu8 = 0;
   299     inline size_t size()
 const { 
return m_obj.
size(); }
   307     template <
typename T>
   324         THROW_EXCEPTION(
"mrpt::opengl::CPointCloudColoured needs to be dense");
   328     template <
typename T>
   330         const size_t idx, T& 
x, T& 
y, T& 
z, 
float& 
r, 
float& 
g, 
float& 
b)
 const   343         const float r, 
const float g, 
const float b)
   351     template <
typename T>
   371                      x, 
y, 
z, 
r / 255.f, 
g / 255.f, 
b / 255.f));
   376         const size_t idx, 
float& 
r, 
float& 
g, 
float& 
b)
 const   382         const size_t idx, 
const float r, 
const float g, 
const float b)
   409 template <
class POINTSMAP>
   414     const size_t N = pc_src.size();
   416     for (
size_t i = 0; i < N; i++)
   419         pc_src.getPointXYZ_RGBf(i, 
x, 
y, 
z, 
r, 
g, 
b);
   420         pc_dst.setPointXYZ_RGBf(i, 
x, 
y, 
z, 
r, 
g, 
b);
 
const_iterator end() const
#define MRPT_DECLARE_TTYPENAME_NAMESPACE(_TYPE, __NS)
Declares a typename to be "namespace::type". 
virtual 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...
TListPointColour::const_iterator const_iterator
TColormap
Different colormaps for use in mrpt::img::colormap() 
void getPointRGBf(const size_t idx, float &r, float &g, float &b) const
Get RGBf color of i'th point. 
void setPointXYZ_RGBf(const size_t idx, const coords_t x, const coords_t y, const coords_t z, const float r, const float g, const float b)
Set XYZ_RGBf coordinates of i'th point. 
void clear()
Erase all the points. 
bool m_pointSmooth
Default: false. 
#define THROW_EXCEPTION(msg)
size_t getActuallyRendered() const
Get the number of elements actually rendered in the last render event. 
mrpt::serialization::CArchive & operator<<(mrpt::serialization::CArchive &out, const mrpt::opengl::CLight &o)
#define ASSERT_BELOW_(__A, __B)
size_t size() const
Return the number of points. 
An adapter to different kinds of point cloud object. 
A cloud of points, each one with an individual colour (R,G,B). 
volatile size_t m_last_rendered_count_ongoing
void getPointColor_fast(size_t index, float &R, float &G, float &B) const
Like getPointColor but without checking for out-of-index erors. 
The base class of 3D objects that can be directly rendered through OpenGL. 
void setPointRGBu8(const size_t idx, const uint8_t r, const uint8_t g, const uint8_t b)
Set RGBu8 coordinates of i'th point. 
size_t size() const
Get number of points. 
std::vector< TPointColour > TListPointColour
GLsizei GLsizei GLuint * obj
float coords_t
The type of each point XYZ coordinates. 
void disablePointSmooth()
void setPointRGBf(const size_t idx, const float r, const float g, const float b)
Set XYZ_RGBf coordinates of i'th point. 
void loadFromPointsMap(const POINTSMAP *themap)
Load the points from any other point map class supported by the adapter mrpt::opengl::PointCloudAdapt...
Template class that implements the data structure and algorithms for Octree-based efficient rendering...
void setPoint(size_t i, const TPointColour &p)
Write an individual point (checks for "i" in the valid range only in Debug). 
TPointColour(float _x, float _y, float _z, float _R, float _G, float _B)
void getPointXYZ(const size_t idx, T &x, T &y, T &z) const
Get XYZ coordinates of i'th point. 
An adapter to different kinds of point cloud object. 
Lightweight 3D point (float version). 
CPointCloudColoured()
Constructor. 
const_iterator begin() const
void render() const override
Render. 
bool isPointSmoothEnabled() const
virtual void PLY_import_set_vertex(const size_t idx, const mrpt::math::TPoint3Df &pt, const mrpt::img::TColorf *pt_color=nullptr) override
In a base class, will be called after PLY_import_set_vertex_count() once for each loaded point...
size_t PLY_export_get_vertex_count() const override
In a base class, return the number of vertices. 
A virtual base class that implements the capability of exporting 3D point clouds and faces to a file ...
void getPointXYZ_RGBu8(const size_t idx, T &x, T &y, T &z, uint8_t &r, uint8_t &g, uint8_t &b) const
Get XYZ_RGBu8 coordinates of i'th point. 
mrpt::opengl::CPointCloudColoured & m_obj
void setInvalidPoint(const size_t idx)
volatile size_t m_last_rendered_count
void setPointSize(float pointSize)
void enablePointSmooth(bool enable=true)
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...
void resize(const size_t N)
Set number of points (to uninitialized values) 
mrpt::math::TPoint3Df getPointf(size_t i) const
Read access to each individual point (checks for "i" in the valid range only in Debug). 
Virtual base class for "archives": classes abstracting I/O streams. 
GLdouble GLdouble GLdouble r
void setPointColor_fast(size_t index, float R, float G, float B)
Like setPointColor but without checking for out-of-index erors. 
TListPointColour m_points
void push_back(float x, float y, float z, float R, float G, float B)
Inserts a new point into the point cloud. 
A RGB color - floats in the range [0,1]. 
void setPointXYZ(const size_t idx, const coords_t x, const coords_t y, const coords_t z)
Set XYZ coordinates of i'th point. 
void getPointRGBu8(const size_t idx, uint8_t &r, uint8_t &g, uint8_t &b) const
Get RGBu8 color of i'th point. 
void PLY_export_get_vertex(const size_t idx, mrpt::math::TPoint3Df &pt, bool &pt_has_color, mrpt::img::TColorf &pt_color) const override
In a base class, will be called after PLY_export_get_vertex_count() once for each exported point...
void render_subset(const bool all, const std::vector< size_t > &idxs, const float render_area_sqpixels) const
Render a subset of points (required by octree renderer) 
The namespace for 3D scene representation and rendering. 
void octree_getBoundingBox(mrpt::math::TPoint3D &bb_min, mrpt::math::TPoint3D &bb_max) const
mrpt::serialization::CArchive & operator>>(mrpt::serialization::CArchive &in, mrpt::opengl::CLight &o)
size_t PLY_export_get_face_count() const override
In a base class, return the number of faces. 
const TPointColour & getPoint(size_t i) const
Read access to each individual point (checks for "i" in the valid range only in Debug). 
void setPoint_fast(const size_t i, const TPointColour &p)
Like setPoint() but does not check for index out of bounds. 
float getPointSize() const
const TPointColour & operator[](size_t i) const
Read access to each individual point (checks for "i" in the valid range only in Debug). 
void setPoint_fast(const size_t i, const float x, const float y, const float z)
Like setPoint() but does not check for index out of bounds. 
float m_pointSize
By default is 1.0. 
GLenum GLsizei GLsizei height
void recolorizeByCoordinate(const float coord_min, const float coord_max, const int coord_index=2, const mrpt::img::TColormap color_map=mrpt::img::cmJET)
Regenerates the color of each point according the one coordinate (coord_index:0,1,2 for X,Y,Z) and the given color map. 
TListPointColour::iterator iterator
void setDimensions(const size_t &height, const size_t &width)
Does nothing as of now. 
void getPointXYZ_RGBf(const size_t idx, T &x, T &y, T &z, float &r, float &g, float &b) const
Get XYZ_RGBf coordinates of i'th point. 
virtual void PLY_import_set_vertex_count(const size_t N) override
In a base class, reserve memory to prepare subsequent calls to PLY_import_set_vertex. 
PointCloudAdapter(const mrpt::opengl::CPointCloudColoured &obj)
Constructor (accept a const ref for convenience) 
const Scalar * const_iterator
void resize(size_t N)
Set the number of points, with undefined contents. 
A virtual base class that implements the capability of importing 3D point clouds and faces from a fil...
void reserve(size_t N)
Like STL std::vector's reserve. 
void setPointXYZ_RGBu8(const size_t idx, const coords_t x, const coords_t y, const coords_t z, const uint8_t r, const uint8_t g, const uint8_t b)
Set XYZ_RGBu8 coordinates of i'th point. 
virtual ~CPointCloudColoured()
Private, virtual destructor: only can be deleted from smart pointers. 
virtual void PLY_import_set_face_count(const size_t N) override
In a base class, reserve memory to prepare subsequent calls to PLY_import_set_face. 
void markAllPointsAsNew()
Do needed internal work if all points are new (octree rebuilt,...) 
#define MRPT_UNUSED_PARAM(a)
Determines whether this is an X86 or AMD64 platform.