34 #if MRPT_HAS_OPENGL_GLUT    35         octree_assure_uptodate();  
    36         m_last_rendered_count_ongoing = 0;
    69         m_last_rendered_count = m_last_rendered_count_ongoing;
    77         const bool all, 
const std::vector<size_t>& idxs,
    78         const float render_area_sqpixels)
 const    80 #if MRPT_HAS_OPENGL_GLUT    81         const size_t N = all ? m_points.size() : idxs.size();
    84                         1.0f, static_cast<float>(
    87                                                    render_area_sqpixels))));
    89         m_last_rendered_count_ongoing += N / decimation;
    91         m_last_rendered_count_ongoing +=
    92                 (all ? m_points.size() : idxs.size()) / decimation;
    96                 for (
size_t i = 0; i < N; i += decimation)
   105                 for (
size_t i = 0; i < N; i += decimation)
   130                 writeToStreamRender(out);
   133                 out << m_pointSmooth;  
   148                         readFromStreamRender(
in);
   149                         in >> m_points >> m_pointSize;
   154                                 m_pointSmooth = 
false;
   159                         readFromStreamRender(
in);
   165                         for (
uint32_t i = 0; i < n; i++) in >> m_points[i];
   173         markAllPointsAsNew();
   179         in >> o.
x >> o.
y >> o.
z >> o.
R >> o.
G >> o.
B;
   186         out << o.
x << o.
y << o.
z << o.
R << o.
G << o.
B;
   201         markAllPointsAsNew();
   206         float x, 
float y, 
float z, 
float R, 
float G, 
float B)
   212         markAllPointsAsNew();
   238                                          pt.
x, pt.
y, pt.
z, pt_color->
R, pt_color->
G, pt_color->
B));
   267         const float coord_min, 
const float coord_max, 
const int coord_index,
   273         const float coord_range = coord_max - coord_min;
   274         const float coord_range_1 = coord_range != 0.0f ? 1.0f / coord_range : 1.0f;
   275         for (
size_t i = 0; i < m_points.size(); i++)
   281                                 coord = m_points[i].x;
   284                                 coord = m_points[i].y;
   287                                 coord = m_points[i].z;
   290                 const float col_idx =
   291                         std::max(0.0f, 
std::min(1.0f, (
coord - coord_min) * coord_range_1));
   294                 this->setPointColor_fast(i, 
r, 
g, 
b);
 Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL. 
 
mrpt::utils::CStream & operator<<(mrpt::utils::CStream &out, const mrpt::opengl::CLight &o)
 
Global variables to change the run-time behaviour of some MRPT classes within mrpt-base. 
 
GLAPI void GLAPIENTRY glEnable(GLenum cap)
 
GLAPI void GLAPIENTRY glPointSize(GLfloat size)
 
TColormap
Different colormaps for use in mrpt::utils::colormap() 
 
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
This must be inserted in all CSerializable classes implementation files. 
 
A cloud of points, each one with an individual colour (R,G,B). 
 
#define ASSERT_BELOW_(__A, __B)
 
This file implements several operations that operate element-wise on individual or pairs of container...
 
The base class of 3D objects that can be directly rendered through OpenGL. 
 
#define GL_ONE_MINUS_SRC_ALPHA
 
void colormap(const TColormap &color_map, const float color_index, float &r, float &g, float &b)
Transform a float number in the range [0,1] into RGB components. 
 
GLAPI void GLAPIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor)
 
void setPoint(size_t i, const TPointColour &p)
Write an individual point (checks for "i" in the valid range only in Debug). 
 
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
 
This base provides a set of functions for maths stuff. 
 
Lightweight 3D point (float version). 
 
#define MRPT_UNUSED_PARAM(a)
Can be used to avoid "not used parameters" warnings from the compiler. 
 
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations. 
 
void recolorizeByCoordinate(const float coord_min, const float coord_max, const int coord_index=2, const mrpt::utils::TColormap color_map=mrpt::utils::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. 
 
void OCTREE_RENDER_MAX_DENSITY_POINTS_PER_SQPIXEL(float value)
Default value = 0.01 points/px^2. 
 
Information about the rendering process being issued. 
 
size_t PLY_export_get_vertex_count() const override
In a base class, return the number of vertices. 
 
GLAPI void GLAPIENTRY glBegin(GLenum mode)
 
virtual void PLY_import_set_vertex(const size_t idx, const mrpt::math::TPoint3Df &pt, const mrpt::utils::TColorf *pt_color=nullptr) override
In a base class, will be called after PLY_import_set_vertex_count() once for each loaded point...
 
GLAPI void GLAPIENTRY glVertex3f(GLfloat x, GLfloat y, GLfloat z)
 
void readFromStream(mrpt::utils::CStream &in, int version) override
Introduces a pure virtual method responsible for loading from a CStream This can not be used directly...
 
mrpt::utils::CStream & operator>>(mrpt::utils::CStream &in, mrpt::opengl::CLight &o)
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
#define ASSERT_ABOVEEQ_(__A, __B)
 
GLdouble GLdouble GLdouble r
 
void push_back(float x, float y, float z, float R, float G, float B)
Inserts a new point into the point cloud. 
 
void checkOpenGLError()
Checks glGetError and throws an exception if an error situation is found. 
 
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 getCurrentRenderingInfo(TRenderInfo &ri)
Gather useful information on the render parameters. 
 
A RGB color - floats in the range [0,1]. 
 
GLAPI void GLAPIENTRY glEnd(void)
 
int round(const T value)
Returns the closer integer (int) to x. 
 
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
 
GLAPI void GLAPIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
 
unsigned __int32 uint32_t
 
GLAPI void GLAPIENTRY glDisable(GLenum cap)
 
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. 
 
void PLY_export_get_vertex(const size_t idx, mrpt::math::TPoint3Df &pt, bool &pt_has_color, mrpt::utils::TColorf &pt_color) const override
In a base class, will be called after PLY_export_get_vertex_count() once for each exported point...
 
void writeToStream(mrpt::utils::CStream &out, int *getVersion) const override
Introduces a pure virtual method responsible for writing to a CStream. 
 
void markAllPointsAsNew()
Do needed internal work if all points are new (octree rebuilt,...)