Class CEllipsoidInverseDepth3D
Defined in File CEllipsoidInverseDepth3D.h
Inheritance Relationships
Base Types
public mrpt::viz::CGeneralizedEllipsoidTemplate< 3 >(Template Class CGeneralizedEllipsoidTemplate)public mrpt::viz::CVisualObject(Class CVisualObject)
Class Documentation
-
class CEllipsoidInverseDepth3D : public mrpt::viz::CGeneralizedEllipsoidTemplate<3>, public virtual mrpt::viz::CVisualObject
An especial “ellipsoid” in 3D computed as the uncertainty iso-surfaces of a (inv_range,yaw,pitch) variable. The parameter space of this ellipsoid comprises these variables (in this order):
inv_range: The inverse distance from the sensor to the feature.
yaw: Angle for the rotation around +Z (“azimuth”).
pitch: Angle for the rotation around +Y (“elevation”). Positive means pointing below the XY plane.
This parameterization is based on the paper:
Civera, J. and Davison, A.J. and Montiel, J., “Inverse depth
parametrization for monocular SLAM”, T-RO, 2008.
This class expects you to provide a mean vector of length 3 and a 3x3 covariance matrix, set with setCovMatrixAndMean().
Please read the documentation of CGeneralizedEllipsoidTemplate::setQuantiles() for learning the mathematical details about setting the desired confidence interval.

Public Functions
-
inline void setUnderflowMaxRange(const float maxRange)
The maximum range to be used as a correction when a point of the ellipsoid falls in the negative ranges (default: 1e6)
-
inline float getUnderflowMaxRange() const
-
CEllipsoidInverseDepth3D() = default
Constructor
-
~CEllipsoidInverseDepth3D() override = default
Private, virtual destructor: only can be deleted from smart pointers
Protected Functions
-
void transformFromParameterSpace(const std::vector<BASE::array_parameter_t> &in_pts, std::vector<BASE::array_point_t> &out_pts) const override
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.