120 float lineWidth = 1.0);
123 ~CBox()
override =
default;
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.
A solid or wireframe box in 3D, defined by 6 rectangular faces parallel to the planes X...
void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
void setLineWidth(float width)
bool isBoxBorderEnabled() const
mrpt::math::TPoint3D m_corner_max
CBox()
Basic empty constructor.
void render_dl() const override
Render.
bool m_wireframe
true: wireframe, false: solid
bool m_draw_border
Draw line borders to solid box with the given linewidth (default: true)
void setBoxBorderColor(const mrpt::img::TColor &c)
float m_lineWidth
For wireframe only.
A renderizable object suitable for rendering with OpenGL's display lists.
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Ray tracing.
void getBoxCorners(mrpt::math::TPoint3D &corner1, mrpt::math::TPoint3D &corner2) const
~CBox() override=default
Destructor.
void setWireframe(bool is_wireframe=true)
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...
void enableBoxBorder(bool drawBorder=true)
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::math::TPoint3D m_corner_min
Corners coordinates.
mrpt::img::TColor m_solidborder_color
Color of the solid box borders.
The namespace for 3D scene representation and rendering.
float getLineWidth() const
mrpt::img::TColor getBoxBorderColor() const