9 #ifndef opengl_CSphere_H
10 #define opengl_CSphere_H
69 float radius,
int nDivsLongitude = 20,
int nDivsLatitude = 20);
87 float radius = 1.0f,
int nDivsLongitude = 20,
int nDivsLatitude = 20)
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
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)
A solid or wire-frame sphere.
static Ptr Create(Args &&... args)
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 render_dl() const override
Render.
void setNumberDivsLongitude(int N)
virtual ~CSphere()
Private, virtual destructor: only can be deleted from smart pointers.
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Ray tracing.
void setNumberDivsLatitude(int N)
void enableRadiusIndependentOfEyeDistance(bool v=true)
CSphere(float radius=1.0f, int nDivsLongitude=20, int nDivsLatitude=20)
Constructor.
bool m_keepRadiusIndependentEyeDistance
bool should_skip_display_list_cache() const override
std::shared_ptr< CSphere > Ptr
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
GLdouble GLdouble GLdouble r
The namespace for 3D scene representation and rendering.