class mrpt::opengl::CEllipsoidInverseDepth2D

An especial “ellipsoid” in 3D computed as the uncertainty iso-surfaces of a (inv_range,yaw) 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”).

This parameterization is a 2D version of that presented in 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 4 and a 4x4 covariance matrix, set with setCovMatrixAndMean().

Please read the documentation of CGeneralizedEllipsoidTemplate::setQuantiles() for learning the mathematical details about setting the desired confidence interval.

mrpt::opengl::CEllipsoidInverseDepth2D mrpt::opengl::CEllipsoidInverseDepth2D mrpt::opengl::CEllipsoidInverseDepth2D mrpt::opengl::CEllipsoidInverseDepth2D
#include <mrpt/opengl/CEllipsoidInverseDepth2D.h>

class CEllipsoidInverseDepth2D: public mrpt::opengl::CGeneralizedEllipsoidTemplate
{
public:
    // construction

    CEllipsoidInverseDepth2D();

    //
methods

    void setUnderflowMaxRange(const double maxRange);
    double getUnderflowMaxRange() const;
};

Inherited Members

public:
    // structs

    struct OutdatedState;
    struct RenderContext;
    struct State;

    //
methods

    virtual void render(const RenderContext& rc) const = 0;
    virtual void renderUpdateBuffers() const = 0;
    virtual shader_list_t requiredShaders() const;
    virtual void freeOpenGLResources() = 0;
    virtual void onUpdateBuffers_Triangles() = 0;
    virtual void onUpdateBuffers_Wireframe() = 0;

Methods

void setUnderflowMaxRange(const double maxRange)

The maximum range to be used as a correction when a point of the ellipsoid falls in the negative ranges (default: 1e6)