9 #ifndef opengl_CEllipsoid_H 10 #define opengl_CEllipsoid_H
This class is a "CSerializable" wrapper for "CMatrixTemplateNumeric<double>".
bool m_drawSolid3D
If set to true (default), a whole ellipsoid surface will be drawn, or if set to "false" it will be dr...
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
float m_lineWidth
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1)
bool BASE_IMPEXP traceRay(const std::vector< TPolygonWithPlane > &vec, const mrpt::poses::CPose3D &pose, double &dist)
Fast ray tracing method using polygons' properties.
void setCovMatrix(const mrpt::math::CMatrixFixedNumeric< T, 3, 3 > &m, int resizeToSize=-1)
Set the 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid (if resizeToSize...
GLdouble GLdouble GLdouble GLdouble q
float getQuantiles() const
float m_quantiles
The number of "sigmas" for drawing the ellipse/ellipsoid (default=3)
EIGEN_STRONG_INLINE void notifyChange() const
Must be called to notify that the object has changed (so, the display list must be updated) ...
GLubyte GLubyte GLubyte GLubyte w
A renderizable object suitable for rendering with OpenGL's display lists.
mrpt::math::TPoint3D m_bb_min
A numeric matrix of compile-time fixed size.
#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...
CMatrixTemplateNumeric< double > CMatrixDouble
Declares a matrix of double numbers (non serializable).
virtual ~CEllipsoid()
Private, virtual destructor: only can be deleted from smart pointers.
unsigned int m_2D_segments
The number of segments of a 2D ellipse (default=20)
void setQuantiles(float q)
The number of "sigmas" for drawing the ellipse/ellipsoid (default=3)
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...
void setLineWidth(float w)
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1)
unsigned int m_3D_segments
The number of segments of a 3D ellipse (in both "axis") (default=20)
void setCovMatrix(const mrpt::math::CMatrixFixedNumeric< T, 2, 2 > &m)
Set the 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid (if resizeToSize...
void set2DsegmentsCount(unsigned int N)
The number of segments of a 2D ellipse (default=20)
math::CMatrixD m_cov
The 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid. ...
void set3DsegmentsCount(unsigned int N)
The number of segments of a 3D ellipse (in both "axis") (default=20)
void enableDrawSolid3D(bool v)
If set to true (default), a whole ellipsoid surface will be drawn, or if set to "false" it will be dr...
A 2D ellipse or 3D ellipsoid, depending on the size of the m_cov matrix (2x2 or 3x3).
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
mrpt::math::CMatrixDouble getCovMatrix() const
float getLineWidth() const
math::CMatrixD m_prevComputedCov