9 #ifndef opengl_CSphere_H
10 #define opengl_CSphere_H
40 int m_nDivsLongitude,m_nDivsLatitude;
41 bool m_keepRadiusIndependentEyeDistance;
55 static CSpherePtr Create(
57 int nDivsLongitude = 20,
58 int nDivsLatitude = 20 );
61 void render_dl()
const;
75 int nDivsLongitude = 20,
76 int nDivsLatitude = 20
79 m_nDivsLongitude(nDivsLongitude),
80 m_nDivsLatitude(nDivsLatitude),
81 m_keepRadiusIndependentEyeDistance(false)
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
A renderizable object suitable for rendering with OpenGL's display lists.
void setNumberDivsLongitude(int N)
virtual ~CSphere()
Private, virtual destructor: only can be deleted from smart pointers.
void setNumberDivsLatitude(int N)
#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...
bool BASE_IMPEXP traceRay(const vector< TPolygonWithPlane > &vec, const mrpt::poses::CPose3D &pose, double &dist)
Fast ray tracing method using polygons' properties.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#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).
void enableRadiusIndependentOfEyeDistance(bool v=true)
A solid or wire-frame sphere.
CSphere(float radius=1.0f, int nDivsLongitude=20, int nDivsLatitude=20)
Constructor.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
virtual bool should_skip_display_list_cache() const