Go to the documentation of this file.
9 #ifndef opengl_CEllipsoid_H
10 #define opengl_CEllipsoid_H
91 int resizeToSize = -1)
100 template <
typename T>
CMatrixTemplateNumeric< double > CMatrixDouble
Declares a matrix of double numbers (non serializable).
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...
GLdouble GLdouble GLdouble GLdouble q
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...
unsigned int m_3D_segments
The number of segments of a 3D ellipse (in both "axis") (default=20)
A renderizable object suitable for rendering with OpenGL's display lists.
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)
mrpt::math::CMatrixDouble getCovMatrix() const
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
bool m_drawSolid3D
If set to true (default), a whole ellipsoid surface will be drawn, or if set to "false" it will be dr...
GLubyte GLubyte GLubyte GLubyte w
math::CMatrixD m_cov
The 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid.
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...
math::CMatrixD m_eigVal
Used to store computed values the first time this is rendered, and to avoid recomputing them again.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::math::TPoint3D m_bb_max
float getLineWidth() const
math::CMatrixD m_prevComputedCov
void set2DsegmentsCount(unsigned int N)
The number of segments of a 2D ellipse (default=20)
bool traceRay(const mrpt::poses::CPose3D &o, double &dist) const override
Ray tracing.
A numeric matrix of compile-time fixed size.
void setLineWidth(float w)
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1)
float getQuantiles() const
void render_dl() const override
Render If one of the eigen value of the covariance matrix of the ellipsoid is null,...
void setCovMatrix(const mrpt::math::CMatrixDouble &m, int resizeToSize=-1)
Set the 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid (if resizeToSize...
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...
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
void setQuantiles(float q)
The number of "sigmas" for drawing the ellipse/ellipsoid (default=3)
mrpt::math::TPoint3D m_bb_min
This class is a "CSerializable" wrapper for "CMatrixTemplateNumeric<double>".
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)
A 2D ellipse or 3D ellipsoid, depending on the size of the m_cov matrix (2x2 or 3x3).
float m_lineWidth
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1)
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |