#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...
A solid or wireframe box in 3D, defined by 6 rectangular faces parallel to the planes X,...
bool m_wireframe
true: wireframe, false: solid
bool isBoxBorderEnabled() const
void setBoxCorners(const mrpt::math::TPoint3D &corner1, const mrpt::math::TPoint3D &corner2)
Set the position and size of the box, from two corners in 3D.
bool m_draw_border
Draw line borders to solid box with the given linewidth (default: true)
CBox(const mrpt::math::TPoint3D &corner1, const mrpt::math::TPoint3D &corner2, bool is_wireframe=false, float lineWidth=1.0)
Constructor with all the parameters
mrpt::utils::TColor m_solidborder_color
Color of the solid box borders.
float getLineWidth() const
mrpt::math::TPoint3D m_corner_max
Corners coordinates.
float m_lineWidth
For wireframe only.
CBox()
Basic empty constructor.
void setWireframe(bool is_wireframe=true)
void enableBoxBorder(bool drawBorder=true)
static CBoxPtr Create(const mrpt::math::TPoint3D &corner1, const mrpt::math::TPoint3D &corner2, bool is_wireframe=false, float lineWidth=1.0)
Constructor returning a smart pointer to the newly created object.
void render_dl() const MRPT_OVERRIDE
Render.
mrpt::utils::TColor getBoxBorderColor() const
void setBoxBorderColor(const mrpt::utils::TColor &c)
void getBoxCorners(mrpt::math::TPoint3D &corner1, mrpt::math::TPoint3D &corner2) const
virtual ~CBox()
Destructor
A renderizable object suitable for rendering with OpenGL's display lists.
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated)
bool BASE_IMPEXP traceRay(const vector< TPolygonWithPlane > &vec, const mrpt::poses::CPose3D &pose, double &dist)
Fast ray tracing method using polygons' properties.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.