25 float x_min,
float x_max,
float y_min,
float y_max)
45 t.
vertices[0].xyzrgba.pt = P3f(m_xMin, m_yMin, 0);
46 t.
vertices[1].xyzrgba.pt = P3f(m_xMax, m_yMin, 0);
47 t.
vertices[2].xyzrgba.pt = P3f(m_xMax, m_yMax, 0);
57 t.
vertices[0].xyzrgba.pt = P3f(m_xMin, m_yMin, 0);
58 t.
vertices[1].xyzrgba.pt = P3f(m_xMax, m_yMax, 0);
59 t.
vertices[2].xyzrgba.pt = P3f(m_xMin, m_yMax, 0);
74 writeToStreamRender(
out);
76 out << m_xMin << m_xMax;
77 out << m_yMin << m_yMax;
79 writeToStreamTexturedObject(
out);
93 readFromStreamRender(in);
94 in >> m_xMin >> m_xMax;
95 in >> m_yMin >> m_yMax;
96 readFromStreamTexturedObject(in);
107 if (!polygonUpToDate) updatePoly();
114 poly[0].x = poly[1].x = m_xMin;
115 poly[2].x = poly[3].x = m_xMax;
116 poly[0].y = poly[3].y = m_yMin;
117 poly[1].y = poly[2].y = m_yMax;
118 for (
size_t i = 0; i < 4; i++) poly[i].z = 0;
121 polygonUpToDate =
true;
127 bb_min.x = std::min(m_xMin, m_xMax);
128 bb_min.y = std::min(m_yMin, m_yMax);
131 bb_max.x = std::max(m_xMin, m_xMax);
132 bb_max.y = std::max(m_yMin, m_yMax);
#define THROW_EXCEPTION(msg)
bool traceRay(const std::vector< TPolygonWithPlane > &vec, const mrpt::math::TPose3D &pose, double &dist)
Fast ray tracing method using polygons' properties.
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
To be added to all CSerializable-classes implementation files.
void notifyChange() const
Call to enable calling renderUpdateBuffers() before the next render() rendering iteration.
A triangle (float coordinates) with RGBA colors (u8) and UV (texture coordinates) for each vertex...
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object.
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...
The base class of 3D objects that can be directly rendered through OpenGL.
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Simulation of ray-trace, given a pose.
A 2D plane in the XY plane with a texture image.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
std::array< Vertex, 3 > vertices
This base provides a set of functions for maths stuff.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
virtual void onUpdateBuffers_TexturedTriangles() override
Must be implemented in derived classes to update the geometric entities to be drawn in "m_*_buffer" f...
Virtual base class for "archives": classes abstracting I/O streams.
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::vision::TStereoCalibResults out
The namespace for 3D scene representation and rendering.
TPoint3D_< float > TPoint3Df
std::vector< mrpt::opengl::TTriangle > m_triangles
List of triangles.
static math::TPolygon3D tmpPoly(3)
3D polygon, inheriting from std::vector<TPoint3D>
TPoint2D_< float > TPoint2Df