MRPT logo

mrpt::opengl::CEllipsoid Class Reference

A 2D ellipse or 3D ellipsoid, depending on the size of the m_cov matrix (2x2 or 3x3). More...

#include <mrpt/opengl/CEllipsoid.h>

Inheritance diagram for mrpt::opengl::CEllipsoid:

mrpt::opengl::CRenderizable mrpt::utils::CSerializable

List of all members.

Public Member Functions

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>0, the matrix will be cut to the square matrix of the given size).
void setCovMatrix (const mrpt::math::CMatrixFloat &m, int resizeToSize=-1)
 Set the 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid (if resizeToSize>0, the matrix will be cut to the square matrix of the given size).
mrpt::math::CMatrixDouble getCovMatrix () const
void enableDrawSolid3D (bool v)
 If set to true (default), a whole ellipsoid surface will be drawn, or if set to "false" it will be drawn as a "wireframe".
void setQuantiles (float q)
 The number of "sigmas" for drawing the ellipse/ellipsoid (default=3).
float getQuantiles () const
void set2DsegmentsCount (unsigned int N)
 The number of segments of a 2D ellipse (default=20).
void set3DsegmentsCount (unsigned int N)
 The number of segments of a 3D ellipse (in both "axis") (default=20).
void setLineWidth (float w)
 The line width for 2D ellipses or 3D wireframe ellipsoids (default=1).
float getLineWidth () const
void render () const
 Render.
virtual bool traceRay (const mrpt::poses::CPose3D &o, float &dist) const
 Ray tracing.

Static Public Member Functions

static CEllipsoidPtr Create ()
 Class factory.

Protected Attributes

math::CMatrixD m_eigVal
 Used to store computed values the first time this is rendered, and to avoid recomputing them again.
math::CMatrixD m_eigVec
math::CMatrixD m_prevComputedCov
math::CMatrixD m_cov
 The 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid.
bool m_drawSolid3D
 If set to true (default), a whole ellipsoid surface will be drawn, or if set to "false" it will be drawn as a "wireframe".
float m_quantiles
 The number of "sigmas" for drawing the ellipse/ellipsoid (default=3).
unsigned int m_2D_segments
 The number of segments of a 2D ellipse (default=20).
unsigned int m_3D_segments
 The number of segments of a 3D ellipse (in both "axis") (default=20).
float m_lineWidth
 The line width for 2D ellipses or 3D wireframe ellipsoids (default=1).

Private Member Functions

 CEllipsoid ()
 Constructor.
virtual ~CEllipsoid ()
 Private, virtual destructor: only can be deleted from smart pointers.


Detailed Description

A 2D ellipse or 3D ellipsoid, depending on the size of the m_cov matrix (2x2 or 3x3).

The center of the ellipsoid is the "m_x,m_y,m_z" object's coordinates. In the case of a 2D ellipse it will be drawn in the XY plane, for z=0. The color is determined by the RGBA fields in the class "CRenderizable". Note that a transparent ellipsoid can be drawn for "0<alpha<1" values.

See also:
opengl::COpenGLScene

Definition at line 50 of file CEllipsoid.h.


Constructor & Destructor Documentation

mrpt::opengl::CEllipsoid::CEllipsoid (  )  [inline, private]

Constructor.

Definition at line 99 of file CEllipsoid.h.

virtual mrpt::opengl::CEllipsoid::~CEllipsoid (  )  [inline, private, virtual]

Private, virtual destructor: only can be deleted from smart pointers.

Definition at line 109 of file CEllipsoid.h.


Member Function Documentation

static CEllipsoidPtr mrpt::opengl::CEllipsoid::Create (  )  [inline, static]

Class factory.

Definition at line 84 of file CEllipsoid.h.

References mrpt::opengl::CEllipsoid.

void mrpt::opengl::CEllipsoid::enableDrawSolid3D ( bool  v  )  [inline]

If set to true (default), a whole ellipsoid surface will be drawn, or if set to "false" it will be drawn as a "wireframe".

Definition at line 72 of file CEllipsoid.h.

mrpt::math::CMatrixDouble mrpt::opengl::CEllipsoid::getCovMatrix (  )  const [inline]

Definition at line 70 of file CEllipsoid.h.

float mrpt::opengl::CEllipsoid::getLineWidth (  )  const [inline]

Definition at line 80 of file CEllipsoid.h.

float mrpt::opengl::CEllipsoid::getQuantiles (  )  const [inline]

Definition at line 74 of file CEllipsoid.h.

void mrpt::opengl::CEllipsoid::render (  )  const [virtual]

Render.

Implements mrpt::opengl::CRenderizable.

void mrpt::opengl::CEllipsoid::set2DsegmentsCount ( unsigned int  N  )  [inline]

The number of segments of a 2D ellipse (default=20).

Definition at line 76 of file CEllipsoid.h.

void mrpt::opengl::CEllipsoid::set3DsegmentsCount ( unsigned int  N  )  [inline]

The number of segments of a 3D ellipse (in both "axis") (default=20).

Definition at line 77 of file CEllipsoid.h.

void mrpt::opengl::CEllipsoid::setCovMatrix ( const mrpt::math::CMatrixFloat m,
int  resizeToSize = -1 
)

Set the 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid (if resizeToSize>0, the matrix will be cut to the square matrix of the given size).

void mrpt::opengl::CEllipsoid::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>0, the matrix will be cut to the square matrix of the given size).

void mrpt::opengl::CEllipsoid::setLineWidth ( float  w  )  [inline]

The line width for 2D ellipses or 3D wireframe ellipsoids (default=1).

Definition at line 79 of file CEllipsoid.h.

void mrpt::opengl::CEllipsoid::setQuantiles ( float  q  )  [inline]

The number of "sigmas" for drawing the ellipse/ellipsoid (default=3).

Definition at line 73 of file CEllipsoid.h.

virtual bool mrpt::opengl::CEllipsoid::traceRay ( const mrpt::poses::CPose3D o,
float &  dist 
) const [virtual]

Ray tracing.

Reimplemented from mrpt::opengl::CRenderizable.


Member Data Documentation

unsigned int mrpt::opengl::CEllipsoid::m_2D_segments [protected]

The number of segments of a 2D ellipse (default=20).

Definition at line 62 of file CEllipsoid.h.

unsigned int mrpt::opengl::CEllipsoid::m_3D_segments [protected]

The number of segments of a 3D ellipse (in both "axis") (default=20).

Definition at line 63 of file CEllipsoid.h.

The 2x2 or 3x3 covariance matrix that will determine the aspect of the ellipsoid.

Definition at line 59 of file CEllipsoid.h.

If set to true (default), a whole ellipsoid surface will be drawn, or if set to "false" it will be drawn as a "wireframe".

Definition at line 60 of file CEllipsoid.h.

Used to store computed values the first time this is rendered, and to avoid recomputing them again.

Definition at line 57 of file CEllipsoid.h.

Definition at line 57 of file CEllipsoid.h.

The line width for 2D ellipses or 3D wireframe ellipsoids (default=1).

Definition at line 64 of file CEllipsoid.h.

Definition at line 57 of file CEllipsoid.h.

The number of "sigmas" for drawing the ellipse/ellipsoid (default=3).

Definition at line 61 of file CEllipsoid.h.




Page generated by Doxygen 1.5.9 for MRPT 0.6.5 SVN: at Sun Aug 2 11:39:56 CDT 2009