A class that generalizes the concept of an ellipsoid to arbitrary parameterizations of uncertainty shapes in either 2D or 3D.
See derived classes for examples.
Please read the documentation of CGeneralizedEllipsoidTemplate::setQuantiles() for learning the mathematical details about setting the desired confidence interval.
The main method to set the modeled uncertainty is setCovMatrixAndMean()
DIM | The dimensionality of the parameter space, which must coincide with that of the rendering space (2 or 3) |
Definition at line 58 of file CGeneralizedEllipsoidTemplate.h.
#include <mrpt/opengl/CGeneralizedEllipsoidTemplate.h>
Public Types | |
typedef mrpt::math::CMatrixFixedNumeric< double, DIM, DIM > | cov_matrix_t |
The type of fixed-size covariance matrices for this representation. | |
typedef mrpt::math::CMatrixFixedNumeric< double, DIM, 1 > | mean_vector_t |
The type of fixed-size vector for this representation. | |
typedef mrpt::math::CMatrixFixedNumeric< float, DIM, 1 > | array_parameter_t |
typedef mrpt::math::CMatrixFixedNumeric< float, DIM, 1 > | array_point_t |
Public Member Functions | |
template<typename MATRIX , typename VECTOR > | |
void | setCovMatrixAndMean (const MATRIX &new_cov, const VECTOR &new_mean) |
Set the NxN covariance matrix that will determine the aspect of the ellipsoid - Notice that the covariance determines the uncertainty in the parameter space, which would be transformed by derived function. | |
const cov_matrix_t & | getCovMatrix () const |
Gets the current uncertainty covariance of parameter space. | |
void | setQuantiles (float q) |
Changes the scale of the "sigmas" for drawing the ellipse/ellipsoid (default=3, ~97 or ~98% CI); the exact mathematical meaning is: This value of "quantiles" q should be set to the square root of the chi-squared inverse cdf corresponding to the desired confidence interval. | |
float | getQuantiles () const |
Refer to documentation of setQuantiles() | |
void | setLineWidth (float w) |
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1) | |
float | getLineWidth () const |
void | setNumberOfSegments (const uint32_t numSegments) |
Set the number of segments of the surface/curve (higher means with greater resolution) | |
uint32_t | getNumberOfSegments () |
void | render_dl () const MRPT_OVERRIDE |
Render If one of the eigen value of the covariance matrix of the ellipsoid is null, ellipsoid will not be rendered to ensure stability in the rendering process. | |
virtual void | getBoundingBox (mrpt::math::TPoint3D &bb_min, mrpt::math::TPoint3D &bb_max) const MRPT_OVERRIDE |
Evaluates the bounding box of this object (including possible children) in the coordinate frame of the object parent. | |
virtual bool | traceRay (const mrpt::poses::CPose3D &o, double &dist) const MRPT_OVERRIDE |
Ray tracing. | |
CRenderizableDisplayList * | clone () const |
Interface for the stlplus smart pointer class. | |
void | render () const MRPT_OVERRIDE |
Render the object, regenerating the display list if needed, otherwise just calling it. | |
Changes the appearance of the object to render (methods from CRenderizable that need to be redefined) | |
CRenderizable & | setColorR_u8 (const uint8_t r) MRPT_OVERRIDE |
Color components in the range [0,255]. | |
CRenderizable & | setColorG_u8 (const uint8_t g) MRPT_OVERRIDE |
Color components in the range [0,255]. | |
CRenderizable & | setColorB_u8 (const uint8_t b) MRPT_OVERRIDE |
Color components in the range [0,255]. | |
CRenderizable & | setColorA_u8 (const uint8_t a) MRPT_OVERRIDE |
Color components in the range [0,255]. | |
CRenderizable & | setColor_u8 (const mrpt::utils::TColor &c) MRPT_OVERRIDE |
Changes the default object color. | |
Changes the appearance of the object to render | |
CRenderizable & | setColor_u8 (uint8_t R, uint8_t G, uint8_t B, uint8_t A=255) |
Set the color components of this object (R,G,B,Alpha, in the range 0-1) | |
void | setName (const std::string &n) |
Changes the name of the object. | |
const std::string & | getName () const |
Returns the name of the object. | |
bool | isVisible () const |
Is the object visible? | |
void | setVisibility (bool visible=true) |
Set object visibility (default=true) | |
void | enableShowName (bool showName=true) |
Enables or disables showing the name of the object as a label when rendering. | |
bool | isShowNameEnabled () const |
CRenderizable & | setPose (const mrpt::poses::CPose3D &o) |
Set the 3D pose from a mrpt::poses::CPose3D object (return a ref to this) | |
CRenderizable & | setPose (const mrpt::math::TPose3D &o) |
Set the 3D pose from a mrpt::math::TPose3D object (return a ref to this) | |
CRenderizable & | setPose (const mrpt::poses::CPoint3D &o) |
Set the 3D pose from a mrpt::poses::CPose3D object (return a ref to this) | |
CRenderizable & | setPose (const mrpt::poses::CPoint2D &o) |
Set the 3D pose from a mrpt::poses::CPose3D object (return a ref to this) | |
mrpt::math::TPose3D | getPose () const |
Returns the 3D pose of the object as TPose3D. | |
const mrpt::poses::CPose3D & | getPoseRef () const |
Returns a const ref to the 3D pose of the object as mrpt::poses::CPose3D (which explicitly contains the 3x3 rotation matrix) | |
CRenderizable & | setLocation (double x, double y, double z) |
Changes the location of the object, keeping untouched the orientation. | |
CRenderizable & | setLocation (const mrpt::math::TPoint3D &p) |
Changes the location of the object, keeping untouched the orientation. | |
double | getPoseX () const |
Translation relative to parent coordinate origin. | |
double | getPoseY () const |
Translation relative to parent coordinate origin. | |
double | getPoseZ () const |
Translation relative to parent coordinate origin. | |
double | getPoseYaw () const |
Rotation relative to parent coordinate origin, in DEGREES. | |
double | getPosePitch () const |
Rotation relative to parent coordinate origin, in DEGREES. | |
double | getPoseRoll () const |
Rotation relative to parent coordinate origin, in DEGREES. | |
double | getPoseYawRad () const |
Rotation relative to parent coordinate origin, in radians. | |
double | getPosePitchRad () const |
Rotation relative to parent coordinate origin, in radians. | |
double | getPoseRollRad () const |
Rotation relative to parent coordinate origin, in radians. | |
double | getColorR () const |
Color components in the range [0,1]. | |
double | getColorG () const |
Color components in the range [0,1]. | |
double | getColorB () const |
Color components in the range [0,1]. | |
double | getColorA () const |
Color components in the range [0,1]. | |
uint8_t | getColorR_u8 () const |
Color components in the range [0,255]. | |
uint8_t | getColorG_u8 () const |
Color components in the range [0,255]. | |
uint8_t | getColorB_u8 () const |
Color components in the range [0,255]. | |
uint8_t | getColorA_u8 () const |
Color components in the range [0,255]. | |
CRenderizable & | setColorR (const double r) |
Color components in the range [0,1]. | |
CRenderizable & | setColorG (const double g) |
Color components in the range [0,1]. | |
CRenderizable & | setColorB (const double b) |
Color components in the range [0,1]. | |
CRenderizable & | setColorA (const double a) |
Color components in the range [0,1]. | |
CRenderizable & | setScale (float s) |
Scale to apply to the object, in all three axes (default=1) | |
CRenderizable & | setScale (float sx, float sy, float sz) |
Scale to apply to the object in each axis (default=1) | |
float | getScaleX () const |
Get the current scaling factor in one axis. | |
float | getScaleY () const |
Get the current scaling factor in one axis. | |
float | getScaleZ () const |
Get the current scaling factor in one axis. | |
mrpt::utils::TColorf | getColor () const |
Returns the object color property as a TColorf. | |
CRenderizable & | setColor (const mrpt::utils::TColorf &c) |
CRenderizable & | setColor (double R, double G, double B, double A=1) |
Set the color components of this object (R,G,B,Alpha, in the range 0-1) | |
const mrpt::utils::TColor & | getColor_u8 () const |
Returns the object color property as a TColor. | |
Static Public Member Functions | |
static void | renderTextBitmap (const char *str, void *fontStyle) |
This method is safe for calling from within render() methods. | |
static void | renderTextBitmap (int screen_x, int screen_y, const std::string &str, float color_r=1, float color_g=1, float color_b=1, mrpt::opengl::TOpenGLFont font=mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24) |
Render a text message in the current rendering context, creating a glViewport in the way (do not call within render() methods) | |
static int | textBitmapWidth (const std::string &str, mrpt::opengl::TOpenGLFont font=mrpt::opengl::MRPT_GLUT_BITMAP_TIMES_ROMAN_24) |
Return the exact width in pixels for a given string, as will be rendered by renderTextBitmap(). | |
Static Public Attributes | |
RTTI stuff <br> | |
static const mrpt::utils::TRuntimeClassId | classCRenderizable |
Protected Member Functions | |
virtual void | transformFromParameterSpace (const std::vector< array_point_t > ¶ms_pts, std::vector< array_point_t > &out_pts) const =0 |
To be implemented by derived classes: maps, using some arbitrary space transformation, a list of points defining an ellipsoid in parameter space into their corresponding points in 2D/3D space. | |
void | thisclass_writeToStream (mrpt::utils::CStream &out) const |
void | thisclass_readFromStream (mrpt::utils::CStream &in) |
CGeneralizedEllipsoidTemplate () | |
virtual | ~CGeneralizedEllipsoidTemplate () |
void | writeToStreamRender (utils::CStream &out) const |
Methods accesible or implemented by derived classes | |
EIGEN_STRONG_INLINE void | notifyChange () const |
Must be called to notify that the object has changed (so, the display list must be updated) | |
virtual bool | should_skip_display_list_cache () const |
Optional: If the object has some state in which creating a display list is NOT preferred over direct rendering, implement this method and return "true" in those cases. | |
void | readFromStreamRender (mrpt::utils::CStream &in) |
Static Protected Member Functions | |
static void | checkOpenGLError () |
Checks glGetError and throws an exception if an error situation is found. | |
static unsigned int | getNewTextureNumber () |
Returns the lowest next free texture name (avoid using OpenGL's own function since we may call them from different threads and seem it's not cool). | |
static void | releaseTextureName (unsigned int i) |
Protected Attributes | |
cov_matrix_t | m_cov |
mean_vector_t | m_mean |
bool | m_needToRecomputeEigenVals |
float | m_quantiles |
The number of "sigmas" for drawing the ellipse/ellipsoid (default=3) | |
float | m_lineWidth |
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1) | |
uint32_t | m_numSegments |
Number of segments in 2D/3D ellipsoids (default=10) | |
mrpt::math::TPoint3D | m_bb_min |
mrpt::math::TPoint3D | m_bb_max |
cov_matrix_t | m_U |
Cholesky U triangular matrix cache. */. | |
std::string | m_name |
bool | m_show_name |
mrpt::utils::TColor | m_color |
Color components in the range [0,255]. | |
mrpt::poses::CPose3D | m_pose |
6D pose wrt the parent coordinate reference. This class automatically holds the cached 3x3 rotation matrix for quick load into opengl stack. | |
float | m_scale_x |
float | m_scale_y |
float | m_scale_z |
Scale components to apply to the object (default=1) | |
bool | m_visible |
Is the object visible? (default=true) | |
Private Attributes | |
unsigned int | m_dl |
Display list ID, for derived classes that want to use it (it's automatically deleted and freed on destruction of this base class). | |
bool | m_dl_recreate |
If using display lists, this is true when the list must be updated (the object changes, it's the first rendering, etc...). | |
RTTI stuff <br> | |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const MRPT_OVERRIDE |
static const mrpt::utils::TRuntimeClassId | classCRenderizableDisplayList |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
typedef mrpt::math::CMatrixFixedNumeric<float,DIM,1> mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::array_parameter_t |
Definition at line 64 of file CGeneralizedEllipsoidTemplate.h.
typedef mrpt::math::CMatrixFixedNumeric<float,DIM,1> mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::array_point_t |
Definition at line 65 of file CGeneralizedEllipsoidTemplate.h.
typedef mrpt::math::CMatrixFixedNumeric<double,DIM,DIM> mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::cov_matrix_t |
The type of fixed-size covariance matrices for this representation.
Definition at line 61 of file CGeneralizedEllipsoidTemplate.h.
typedef mrpt::math::CMatrixFixedNumeric<double,DIM,1> mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::mean_vector_t |
The type of fixed-size vector for this representation.
Definition at line 62 of file CGeneralizedEllipsoidTemplate.h.
|
inlineprotected |
Definition at line 243 of file CGeneralizedEllipsoidTemplate.h.
|
inlineprotectedvirtual |
Definition at line 252 of file CGeneralizedEllipsoidTemplate.h.
|
staticprotectedinherited |
|
staticprotectedinherited |
Checks glGetError and throws an exception if an error situation is found.
|
inlineinherited |
Interface for the stlplus smart pointer class.
Definition at line 71 of file CRenderizableDisplayList.h.
|
inlineinherited |
Enables or disables showing the name of the object as a label when rendering.
Definition at line 69 of file CRenderizable.h.
|
inlinevirtual |
Evaluates the bounding box of this object (including possible children) in the coordinate frame of the object parent.
Implements mrpt::opengl::CRenderizable.
Definition at line 185 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_bb_max, and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_bb_min.
|
inlineinherited |
Returns the object color property as a TColorf.
Definition at line 124 of file CRenderizable.h.
|
inlineinherited |
Returns the object color property as a TColor.
Definition at line 133 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,1].
Definition at line 100 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,255].
Definition at line 105 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,1].
Definition at line 99 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,255].
Definition at line 104 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,1].
Definition at line 98 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,255].
Definition at line 103 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,1].
Definition at line 97 of file CRenderizable.h.
|
inlineinherited |
Color components in the range [0,255].
Definition at line 102 of file CRenderizable.h.
|
inline |
Gets the current uncertainty covariance of parameter space.
Definition at line 83 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_cov.
|
inline |
Definition at line 115 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_lineWidth.
|
inlineinherited |
Returns the name of the object.
Definition at line 64 of file CRenderizable.h.
|
staticprotectedinherited |
Returns the lowest next free texture name (avoid using OpenGL's own function since we may call them from different threads and seem it's not cool).
|
inline |
Definition at line 119 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_numSegments.
|
inherited |
Returns the 3D pose of the object as TPose3D.
|
inlineinherited |
Rotation relative to parent coordinate origin, in DEGREES.
Definition at line 91 of file CRenderizable.h.
References mrpt::utils::RAD2DEG().
|
inlineinherited |
Rotation relative to parent coordinate origin, in radians.
Definition at line 94 of file CRenderizable.h.
|
inlineinherited |
Returns a const ref to the 3D pose of the object as mrpt::poses::CPose3D (which explicitly contains the 3x3 rotation matrix)
Definition at line 79 of file CRenderizable.h.
|
inlineinherited |
Rotation relative to parent coordinate origin, in DEGREES.
Definition at line 92 of file CRenderizable.h.
References mrpt::utils::RAD2DEG().
|
inlineinherited |
Rotation relative to parent coordinate origin, in radians.
Definition at line 95 of file CRenderizable.h.
|
inlineinherited |
Translation relative to parent coordinate origin.
Definition at line 87 of file CRenderizable.h.
|
inlineinherited |
Translation relative to parent coordinate origin.
Definition at line 88 of file CRenderizable.h.
|
inlineinherited |
Rotation relative to parent coordinate origin, in DEGREES.
Definition at line 90 of file CRenderizable.h.
References mrpt::utils::RAD2DEG().
|
inlineinherited |
Rotation relative to parent coordinate origin, in radians.
Definition at line 93 of file CRenderizable.h.
|
inlineinherited |
Translation relative to parent coordinate origin.
Definition at line 89 of file CRenderizable.h.
|
inline |
Refer to documentation of setQuantiles()
Definition at line 111 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_quantiles.
|
virtualinherited |
Reimplemented from mrpt::opengl::CRenderizable.
Reimplemented in mrpt::opengl::CAngularObservationMesh, mrpt::opengl::CPlanarLaserScan, mrpt::opengl::C3DSScene, mrpt::opengl::CArrow, mrpt::opengl::CAssimpModel, mrpt::opengl::CAxis, mrpt::opengl::CBox, mrpt::opengl::CCylinder, mrpt::opengl::CDisk, mrpt::opengl::CEllipsoid, mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::opengl::CEllipsoidInverseDepth3D, mrpt::opengl::CEllipsoidRangeBearing2D, mrpt::opengl::CFrustum, mrpt::opengl::CGeneralizedCylinder, mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ, mrpt::opengl::CMesh, mrpt::opengl::CMesh3D, mrpt::opengl::CMeshFast, mrpt::opengl::COctoMapVoxels, mrpt::opengl::COpenGLStandardObject, mrpt::opengl::CPolyhedron, mrpt::opengl::CSetOfLines, mrpt::opengl::CSetOfTexturedTriangles, mrpt::opengl::CSetOfTriangles, mrpt::opengl::CSimpleLine, mrpt::opengl::CSphere, mrpt::opengl::CText3D, mrpt::opengl::CTexturedObject, mrpt::opengl::CTexturedPlane, mrpt::opengl::CVectorField2D, and mrpt::opengl::CVectorField3D.
|
inlineinherited |
Get the current scaling factor in one axis.
Definition at line 119 of file CRenderizable.h.
|
inlineinherited |
Get the current scaling factor in one axis.
Definition at line 120 of file CRenderizable.h.
|
inlineinherited |
Get the current scaling factor in one axis.
Definition at line 121 of file CRenderizable.h.
|
inlineinherited |
Definition at line 70 of file CRenderizable.h.
|
inlineinherited |
|
inlineprotectedinherited |
Must be called to notify that the object has changed (so, the display list must be updated)
Definition at line 49 of file CRenderizableDisplayList.h.
Referenced by mrpt::opengl::CGeneralizedCylinder::addVisibleSectionAtEnd(), mrpt::opengl::CGeneralizedCylinder::addVisibleSectionAtStart(), mrpt::opengl::CMesh::adjustGridToImageAR(), mrpt::opengl::CMeshFast::adjustGridToImageAR(), mrpt::opengl::CSetOfLines::appendLine(), mrpt::opengl::CSetOfLines::appendLine(), mrpt::opengl::CSetOfLines::appendLine(), mrpt::opengl::CSetOfLines::appendLines(), mrpt::opengl::CSetOfLines::appendLines(), mrpt::opengl::CSetOfLines::begin(), mrpt::opengl::CSetOfLines::clear(), mrpt::opengl::CVectorField2D::clear(), mrpt::opengl::CVectorField3D::clear(), mrpt::opengl::CSetOfTexturedTriangles::clearTriangles(), mrpt::opengl::CSetOfTriangles::clearTriangles(), mrpt::opengl::COpenGLStandardObject::enable(), mrpt::opengl::CGridPlaneXY::enableAntiAliasing(), mrpt::opengl::CGridPlaneXZ::enableAntiAliasing(), mrpt::opengl::CSetOfLines::enableAntiAliasing(), mrpt::opengl::CSimpleLine::enableAntiAliasing(), mrpt::opengl::CVectorField2D::enableAntiAliasing(), mrpt::opengl::CVectorField3D::enableAntiAliasing(), mrpt::opengl::CMesh3D::enableAntiAliasing(), mrpt::opengl::CBox::enableBoxBorder(), mrpt::opengl::CVectorField3D::enableColorFromModule(), mrpt::opengl::CMesh::enableColorFromZ(), mrpt::opengl::CMeshFast::enableColorFromZ(), mrpt::opengl::COctoMapVoxels::enableCubeTransparency(), mrpt::opengl::CEllipsoid::enableDrawSolid3D(), mrpt::opengl::C3DSScene::enableExtraAmbientLight(), mrpt::opengl::CMesh3D::enableFaceNormals(), mrpt::opengl::COctoMapVoxels::enableLights(), mrpt::opengl::CPlanarLaserScan::enableLine(), mrpt::opengl::CPlanarLaserScan::enablePoints(), mrpt::opengl::CSphere::enableRadiusIndependentOfEyeDistance(), mrpt::opengl::CMesh3D::enableShowEdges(), mrpt::opengl::CMesh3D::enableShowFaces(), mrpt::opengl::CVectorField3D::enableShowPoints(), mrpt::opengl::CMesh3D::enableShowVertices(), mrpt::opengl::CPlanarLaserScan::enableSurface(), mrpt::opengl::CAxis::enableTickMarks(), mrpt::opengl::CAngularObservationMesh::enableTransparency(), mrpt::opengl::CMesh::enableTransparency(), mrpt::opengl::CMesh3D::enableTransparency(), mrpt::opengl::CMeshFast::enableTransparency(), mrpt::opengl::CSetOfTriangles::enableTransparency(), mrpt::opengl::CMesh::enableWireFrame(), mrpt::opengl::CSetOfLines::end(), mrpt::opengl::COctoMapVoxels::getGridCubeRef(), mrpt::opengl::CSetOfTexturedTriangles::getTriangle(), mrpt::opengl::COctoMapVoxels::getVoxel(), mrpt::opengl::COctoMapVoxels::getVoxelRef(), mrpt::opengl::CSetOfTexturedTriangles::insertTriangle(), mrpt::opengl::CSetOfTriangles::insertTriangle(), mrpt::opengl::CSetOfTriangles::insertTriangles(), mrpt::opengl::CSetOfTriangles::insertTriangles(), mrpt::opengl::COctoMapVoxels::push_back_GridCube(), mrpt::opengl::COctoMapVoxels::push_back_Voxel(), mrpt::opengl::CSetOfLines::reserve(), mrpt::opengl::CSetOfTriangles::reserve(), mrpt::opengl::COctoMapVoxels::reserveVoxels(), mrpt::opengl::CSetOfLines::resize(), mrpt::opengl::CVectorField2D::resize(), mrpt::opengl::CVectorField3D::resize(), mrpt::opengl::COctoMapVoxels::resizeGridCubes(), mrpt::opengl::COctoMapVoxels::resizeVoxels(), mrpt::opengl::COctoMapVoxels::resizeVoxelSets(), mrpt::opengl::CEllipsoid::set2DsegmentsCount(), mrpt::opengl::CEllipsoid::set3DsegmentsCount(), mrpt::opengl::CGeneralizedCylinder::setAllSectionsInvisible(), mrpt::opengl::CGeneralizedCylinder::setAllSectionsVisible(), mrpt::opengl::CArrow::setArrowEnds(), mrpt::opengl::CArrow::setArrowYawPitchRoll(), mrpt::opengl::CGeneralizedCylinder::setAxis(), mrpt::opengl::CAxis::setAxisLimits(), mrpt::opengl::CBox::setBoxBorderColor(), mrpt::opengl::CGeneralizedCylinder::setClosed(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setCovMatrixAndMean(), mrpt::opengl::CDisk::setDiskRadius(), mrpt::opengl::COpenGLStandardObject::setFlags(), mrpt::opengl::CText3D::setFont(), mrpt::opengl::CAxis::setFrequency(), mrpt::opengl::CGeneralizedCylinder::setGeneratrix(), mrpt::opengl::CVectorField2D::setGridCenterAndCellSize(), mrpt::opengl::CGridPlaneXY::setGridFrequency(), mrpt::opengl::CGridPlaneXZ::setGridFrequency(), mrpt::opengl::CVectorField2D::setGridLimits(), mrpt::opengl::CMesh::setGridLimits(), mrpt::opengl::CMeshFast::setGridLimits(), mrpt::opengl::COctoMapVoxels::setGridLinesColor(), mrpt::opengl::COctoMapVoxels::setGridLinesWidth(), mrpt::opengl::CCylinder::setHasBases(), mrpt::opengl::CArrow::setHeadRatio(), mrpt::opengl::CCylinder::setHeight(), mrpt::opengl::CArrow::setLargeRadius(), mrpt::opengl::CSetOfLines::setLineByIndex(), mrpt::opengl::CSimpleLine::setLineCoords(), mrpt::opengl::CVectorField2D::setLineWidth(), mrpt::opengl::CVectorField3D::setLineWidth(), mrpt::opengl::CPolyhedron::setLineWidth(), mrpt::opengl::CAxis::setLineWidth(), mrpt::opengl::CEllipsoid::setLineWidth(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setLineWidth(), mrpt::opengl::CGridPlaneXY::setLineWidth(), mrpt::opengl::CGridPlaneXZ::setLineWidth(), mrpt::opengl::CSetOfLines::setLineWidth(), mrpt::opengl::CSimpleLine::setLineWidth(), mrpt::opengl::CBox::setLineWidth(), mrpt::opengl::CFrustum::setLineWidth(), mrpt::opengl::CDisk::setLoopsCount(), mrpt::opengl::CVectorField3D::setMaxSpeedForColor(), mrpt::opengl::CVectorField3D::setMotionFieldColormap(), mrpt::opengl::COpenGLStandardObject::setNormal(), mrpt::opengl::CSphere::setNumberDivsLatitude(), mrpt::opengl::CSphere::setNumberDivsLongitude(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setNumberOfSegments(), mrpt::opengl::CFrustum::setPlaneColor(), mrpt::opengl::CTexturedPlane::setPlaneCorners(), mrpt::opengl::CGridPlaneXY::setPlaneLimits(), mrpt::opengl::CGridPlaneXZ::setPlaneLimits(), mrpt::opengl::CGridPlaneXZ::setPlaneYcoord(), mrpt::opengl::CGridPlaneXY::setPlaneZcoord(), mrpt::opengl::CVectorField2D::setPointColor(), mrpt::opengl::CVectorField3D::setPointColor(), mrpt::opengl::CVectorField3D::setPointCoordinates(), mrpt::opengl::CVectorField3D::setPointCoordinates(), mrpt::opengl::CVectorField2D::setPointSize(), mrpt::opengl::CVectorField3D::setPointSize(), mrpt::opengl::CEllipsoid::setQuantiles(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setQuantiles(), mrpt::opengl::CCylinder::setRadii(), mrpt::opengl::CSphere::setRadius(), mrpt::opengl::CCylinder::setRadius(), mrpt::opengl::CPlanarLaserScan::setScan(), mrpt::opengl::CDisk::setSlicesCount(), mrpt::opengl::CCylinder::setSlicesCount(), mrpt::opengl::CArrow::setSmallRadius(), mrpt::opengl::CCylinder::setStacksCount(), mrpt::opengl::CText3D::setString(), mrpt::opengl::CText3D::setTextKerning(), mrpt::opengl::CText3D::setTextSpacing(), mrpt::opengl::CText3D::setTextStyle(), mrpt::opengl::CTexturedPlane::setTextureCornerCoords(), mrpt::opengl::CVectorField3D::setVectorField(), mrpt::opengl::CVectorField2D::setVectorField(), mrpt::opengl::CVectorField3D::setVectorField(), mrpt::opengl::CVectorField2D::setVectorFieldColor(), mrpt::opengl::CVectorField3D::setVectorFieldColor(), mrpt::opengl::CGeneralizedCylinder::setVisibleSections(), mrpt::opengl::COctoMapVoxels::setVisualizationMode(), mrpt::opengl::COctoMapVoxels::setVoxelAsPointsSize(), mrpt::opengl::CAngularObservationMesh::setWireframe(), mrpt::opengl::CPolyhedron::setWireframe(), mrpt::opengl::CBox::setWireframe(), mrpt::opengl::CMesh::setXBounds(), mrpt::opengl::CMeshFast::setXBounds(), mrpt::opengl::CMesh::setXMax(), mrpt::opengl::CMeshFast::setXMax(), mrpt::opengl::CMesh::setXMin(), mrpt::opengl::CMeshFast::setXMin(), mrpt::opengl::CMesh::setYBounds(), mrpt::opengl::CMeshFast::setYBounds(), mrpt::opengl::CMesh::setYMax(), mrpt::opengl::CMeshFast::setYMax(), mrpt::opengl::CMesh::setYMin(), mrpt::opengl::CMeshFast::setYMin(), mrpt::opengl::COctoMapVoxels::showGridLines(), mrpt::opengl::COctoMapVoxels::showVoxels(), mrpt::opengl::COctoMapVoxels::showVoxelsAsPoints(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_readFromStream().
|
inlineprotectedinherited |
Definition at line 58 of file CRenderizableDisplayList.h.
References mrpt::opengl::CRenderizable::readFromStreamRender().
|
staticprotectedinherited |
|
virtualinherited |
Render the object, regenerating the display list if needed, otherwise just calling it.
Implements mrpt::opengl::CRenderizable.
|
inlinevirtual |
Render If one of the eigen value of the covariance matrix of the ellipsoid is null, ellipsoid will not be rendered to ensure stability in the rendering process.
Implements mrpt::opengl::CRenderizableDisplayList.
Definition at line 125 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::poses::CPose3D::composePoint(), mrpt::utils::keep_max(), mrpt::utils::keep_min(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_bb_max, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_bb_min, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_cov, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_lineWidth, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_mean, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_needToRecomputeEigenVals, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_numSegments, mrpt::opengl::CRenderizable::m_pose, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_quantiles, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_U, MRPT_END, MRPT_START, and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::transformFromParameterSpace().
|
staticinherited |
This method is safe for calling from within render() methods.
|
staticinherited |
Render a text message in the current rendering context, creating a glViewport in the way (do not call within render() methods)
|
inlineinherited |
c | Changes the default object color |
Definition at line 125 of file CRenderizable.h.
References mrpt::utils::TColorf::A, mrpt::utils::TColorf::B, mrpt::utils::TColorf::G, and mrpt::utils::TColorf::R.
|
inlineinherited |
Set the color components of this object (R,G,B,Alpha, in the range 0-1)
Definition at line 131 of file CRenderizable.h.
|
inlinevirtualinherited |
Changes the default object color.
Reimplemented from mrpt::opengl::CRenderizable.
Reimplemented in mrpt::opengl::CSetOfTriangles.
Definition at line 86 of file CRenderizableDisplayList.h.
References mrpt::opengl::CRenderizable::setColor_u8().
|
inlineinherited |
Set the color components of this object (R,G,B,Alpha, in the range 0-1)
Definition at line 138 of file CRenderizable.h.
References mrpt::opengl::CRenderizable::setColor_u8().
Referenced by mrpt::opengl::CRenderizable::setColor_u8().
|
inlineinherited |
Color components in the range [0,1].
Definition at line 110 of file CRenderizable.h.
|
inlinevirtualinherited |
Color components in the range [0,255].
Reimplemented from mrpt::opengl::CRenderizable.
Reimplemented in mrpt::opengl::CSetOfTriangles.
Definition at line 85 of file CRenderizableDisplayList.h.
|
inlineinherited |
Color components in the range [0,1].
Definition at line 109 of file CRenderizable.h.
|
inlinevirtualinherited |
Color components in the range [0,255].
Reimplemented from mrpt::opengl::CRenderizable.
Reimplemented in mrpt::opengl::CSetOfTriangles.
Definition at line 84 of file CRenderizableDisplayList.h.
|
inlineinherited |
Color components in the range [0,1].
Definition at line 108 of file CRenderizable.h.
|
inlinevirtualinherited |
Color components in the range [0,255].
Reimplemented from mrpt::opengl::CRenderizable.
Reimplemented in mrpt::opengl::CSetOfTriangles.
Definition at line 83 of file CRenderizableDisplayList.h.
|
inlineinherited |
Color components in the range [0,1].
Definition at line 107 of file CRenderizable.h.
|
inlinevirtualinherited |
Color components in the range [0,255].
Reimplemented from mrpt::opengl::CRenderizable.
Reimplemented in mrpt::opengl::CSetOfTriangles.
Definition at line 82 of file CRenderizableDisplayList.h.
|
inline |
Set the NxN covariance matrix that will determine the aspect of the ellipsoid - Notice that the covariance determines the uncertainty in the parameter space, which would be transformed by derived function.
Definition at line 71 of file CGeneralizedEllipsoidTemplate.h.
References ASSERT_, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_cov, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_mean, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_needToRecomputeEigenVals, MRPT_END, MRPT_START, and mrpt::opengl::CRenderizableDisplayList::notifyChange().
|
inline |
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1)
Definition at line 114 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_lineWidth, and mrpt::opengl::CRenderizableDisplayList::notifyChange().
|
inlineinherited |
Changes the location of the object, keeping untouched the orientation.
Definition at line 85 of file CRenderizable.h.
References mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.
|
inlineinherited |
Changes the location of the object, keeping untouched the orientation.
Definition at line 82 of file CRenderizable.h.
|
inlineinherited |
Changes the name of the object.
Definition at line 63 of file CRenderizable.h.
|
inline |
Set the number of segments of the surface/curve (higher means with greater resolution)
Definition at line 118 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_numSegments, and mrpt::opengl::CRenderizableDisplayList::notifyChange().
|
inherited |
Set the 3D pose from a mrpt::math::TPose3D object (return a ref to this)
|
inherited |
Set the 3D pose from a mrpt::poses::CPose3D object (return a ref to this)
|
inherited |
Set the 3D pose from a mrpt::poses::CPose3D object (return a ref to this)
|
inherited |
Set the 3D pose from a mrpt::poses::CPose3D object (return a ref to this)
|
inline |
Changes the scale of the "sigmas" for drawing the ellipse/ellipsoid (default=3, ~97 or ~98% CI); the exact mathematical meaning is: This value of "quantiles" q should be set to the square root of the chi-squared inverse cdf corresponding to the desired confidence interval.
Note that this value depends on the dimensionality. Refer to the MATLAB functions chi2inv() and chi2cdf().
Some common values follow here for the convenience of users:
Definition at line 109 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_quantiles, and mrpt::opengl::CRenderizableDisplayList::notifyChange().
|
inlineinherited |
Scale to apply to the object, in all three axes (default=1)
Definition at line 117 of file CRenderizable.h.
|
inlineinherited |
Scale to apply to the object in each axis (default=1)
Definition at line 118 of file CRenderizable.h.
|
inlineinherited |
Set object visibility (default=true)
Definition at line 67 of file CRenderizable.h.
|
inlineprotectedvirtualinherited |
Optional: If the object has some state in which creating a display list is NOT preferred over direct rendering, implement this method and return "true" in those cases.
Reimplemented in mrpt::opengl::CSphere.
Definition at line 56 of file CRenderizableDisplayList.h.
|
staticinherited |
Return the exact width in pixels for a given string, as will be rendered by renderTextBitmap().
|
inlineprotected |
Definition at line 224 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_cov, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_lineWidth, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_mean, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_needToRecomputeEigenVals, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_numSegments, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_quantiles, MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION, and mrpt::opengl::CRenderizableDisplayList::notifyChange().
|
inlineprotected |
Definition at line 216 of file CGeneralizedEllipsoidTemplate.h.
References mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_cov, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_lineWidth, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_mean, mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_numSegments, and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::m_quantiles.
|
inlinevirtual |
Ray tracing.
Reimplemented from mrpt::opengl::CRenderizable.
Definition at line 193 of file CGeneralizedEllipsoidTemplate.h.
References MRPT_UNUSED_PARAM, and THROW_EXCEPTION.
|
protectedpure virtual |
To be implemented by derived classes: maps, using some arbitrary space transformation, a list of points defining an ellipsoid in parameter space into their corresponding points in 2D/3D space.
Implemented in mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::opengl::CEllipsoidInverseDepth3D, and mrpt::opengl::CEllipsoidRangeBearing2D.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl().
|
protectedinherited |
|
staticinherited |
Definition at line 46 of file CRenderizable.h.
|
staticinherited |
Definition at line 38 of file CRenderizableDisplayList.h.
|
protected |
Definition at line 212 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::getBoundingBox(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl().
|
mutableprotected |
Definition at line 212 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::getBoundingBox(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl().
|
protectedinherited |
Color components in the range [0,255].
Definition at line 54 of file CRenderizable.h.
|
mutableprotected |
Definition at line 206 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::getCovMatrix(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setCovMatrixAndMean(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_readFromStream(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_writeToStream().
|
mutableprivateinherited |
Display list ID, for derived classes that want to use it (it's automatically deleted and freed on destruction of this base class).
Definition at line 41 of file CRenderizableDisplayList.h.
|
mutableprivateinherited |
If using display lists, this is true when the list must be updated (the object changes, it's the first rendering, etc...).
Definition at line 42 of file CRenderizableDisplayList.h.
|
protected |
The line width for 2D ellipses or 3D wireframe ellipsoids (default=1)
Definition at line 210 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::getLineWidth(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setLineWidth(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_readFromStream(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_writeToStream().
|
protected |
Definition at line 207 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setCovMatrixAndMean(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_readFromStream(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_writeToStream().
|
protectedinherited |
Definition at line 52 of file CRenderizable.h.
|
mutableprotected |
Definition at line 208 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setCovMatrixAndMean(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_readFromStream().
|
protected |
Number of segments in 2D/3D ellipsoids (default=10)
Definition at line 211 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::getNumberOfSegments(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setNumberOfSegments(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_readFromStream(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_writeToStream().
|
protectedinherited |
6D pose wrt the parent coordinate reference. This class automatically holds the cached 3x3 rotation matrix for quick load into opengl stack.
Definition at line 55 of file CRenderizable.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl().
|
protected |
The number of "sigmas" for drawing the ellipse/ellipsoid (default=3)
Definition at line 209 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::getQuantiles(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::setQuantiles(), mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_readFromStream(), and mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::thisclass_writeToStream().
|
protectedinherited |
Definition at line 56 of file CRenderizable.h.
|
protectedinherited |
Definition at line 56 of file CRenderizable.h.
|
protectedinherited |
Scale components to apply to the object (default=1)
Definition at line 56 of file CRenderizable.h.
|
protectedinherited |
Definition at line 53 of file CRenderizable.h.
|
mutableprotected |
Cholesky U triangular matrix cache. */.
Definition at line 214 of file CGeneralizedEllipsoidTemplate.h.
Referenced by mrpt::opengl::CGeneralizedEllipsoidTemplate< DIM >::render_dl().
|
protectedinherited |
Is the object visible? (default=true)
Definition at line 57 of file CRenderizable.h.
Page generated by Doxygen 1.9.8 for MRPT 1.4.0 SVN: at Thu Dec 14 16:41:50 UTC 2023 |