class mrpt::viz::CEllipsoidRangeBearing2D

Python API: mrpt.viz.CEllipsoidRangeBearing2D

Overview

An especial “ellipsoid” in 2D computed as the uncertainty iso-surfaces of a (range,bearing) variable.

The parameter space of this ellipsoid comprises these variables (in this order):

  • range: Distance from sensor to feature.

  • bearing: Angle from +X to the line that goes from the sensor towards the feature.

This class expects you to provide a mean vector of length 2 and a 2x2 covariance matrix, set with setCovMatrixAndMean().

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

mrpt::viz::CEllipsoidRangeBearing2D
#include <mrpt/viz/CEllipsoidRangeBearing2D.h>

class CEllipsoidRangeBearing2D:
    public mrpt::viz::CGeneralizedEllipsoidTemplate,
    public mrpt::viz::CVisualObject
{
public:
    // typedefs

    typedef std::shared_ptr<mrpt::viz ::CEllipsoidRangeBearing2D> Ptr;
    typedef std::shared_ptr<const mrpt::viz ::CEllipsoidRangeBearing2D> ConstPtr;
    typedef std::unique_ptr<mrpt::viz ::CEllipsoidRangeBearing2D> UniquePtr;
    typedef std::unique_ptr<const mrpt::viz ::CEllipsoidRangeBearing2D> ConstUniquePtr;

    // fields

    static constexpr const char* className = "mrpt::viz" "::" "CEllipsoidRangeBearing2D";

    // construction

    CEllipsoidRangeBearing2D();

    // methods

    static constexpr auto getClassName();
    static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
    static std::shared_ptr<CObject> CreateObject();

    template <typename... Args>
    static Ptr Create(Args&&... args);

    template <typename Alloc, typename... Args>
    static Ptr CreateAlloc(
        const Alloc& alloc,
        Args&&... args
        );

    template <typename... Args>
    static UniquePtr CreateUnique(Args&&... args);

    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    virtual mrpt::rtti::CObject* clone() const;
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<CObject> Ptr;
    typedef std::shared_ptr<const CObject> ConstPtr;
    typedef std::unique_ptr<CObject> UniquePtr;
    typedef std::unique_ptr<const CObject> ConstUniquePtr;
    typedef std::shared_ptr<CSerializable> Ptr;
    typedef std::shared_ptr<const CSerializable> ConstPtr;
    typedef std::shared_ptr<CVisualObject> Ptr;
    typedef std::shared_ptr<const CVisualObject> ConstPtr;
    typedef mrpt::math::CMatrixFixed<double, DIM, DIM> cov_matrix_t;
    typedef mrpt::math::CMatrixFixed<double, DIM, 1> mean_vector_t;
    typedef mrpt::math::CMatrixFixed<float, DIM, 1> array_parameter_t;
    typedef mrpt::math::CMatrixFixed<float, DIM, 1> array_point_t;

    // structs

    struct BuffersVersion;
    struct ChangeCounter;
    struct PoseAndScale;
    struct State;

    // methods

    mrpt::rtti::CObject::Ptr duplicateGetSmartPtr() const;
    static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    virtual CObject* clone() const = 0;
    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
    void setName(const std::string& n);
    std::string getName() const;
    bool isVisible() const;
    void setVisibility(bool visible = true);
    bool castShadows() const;
    void castShadows(bool doCast);
    void enableShowName(bool showName = true);
    bool isShowNameEnabled() const;
    CVisualObject& setPose(const mrpt::poses::CPose3D& o);
    CVisualObject& setPose(const mrpt::poses::CPose2D& o);
    CVisualObject& setPose(const mrpt::math::TPose3D& o);
    CVisualObject& setPose(const mrpt::math::TPose2D& o);
    CVisualObject& setPose(const mrpt::poses::CPoint3D& o);
    CVisualObject& setPose(const mrpt::poses::CPoint2D& o);
    mrpt::math::TPose3D getPose() const;
    PoseAndScale getPoseAndScale() const;
    mrpt::poses::CPose3D getCPose() const;
    CVisualObject& setLocation(double x, double y, double z);
    CVisualObject& setLocation(const mrpt::math::TPoint3D& p);
    mrpt::img::TColorf getColor() const;
    mrpt::img::TColor getColor_u8() const;
    CVisualObject& setColorA(const float a);
    virtual CVisualObject& setColorA_u8(const uint8_t a);
    float materialShininess() const;
    void materialShininess(float shininess);
    float materialSpecularExponent() const;
    void materialSpecularExponent(float exponent);
    mrpt::img::TColorf materialEmissive() const;
    void materialEmissive(const mrpt::img::TColorf& color);
    CVisualObject& setScale(float s);
    CVisualObject& setScale(float sx, float sy, float sz);
    float getScaleX() const;
    float getScaleY() const;
    float getScaleZ() const;
    CVisualObject& setColor(const mrpt::img::TColorf& c);
    CVisualObject& setColor(float R, float G, float B, float A = 1);
    virtual CVisualObject& setColor_u8(const mrpt::img::TColor& c);
    CVisualObject& setColor_u8(uint8_t R, uint8_t G, uint8_t B, uint8_t A = 255);
    virtual bool cullElegible() const;
    virtual void toYAMLMap(mrpt::containers::yaml& propertiesMap) const;
    virtual bool isCompositeObject() const;
    virtual const std::deque<std::shared_ptr<CVisualObject>>& getInternalChildren() const;
    void notifyChange() const;
    void notifyTransformChange() const;
    void clearChangedFlag() const;
    void notifyBBoxChange() const;
    bool hasToUpdateBuffers() const;
    uint64_t dataVersion() const;
    uint64_t transformVersion() const;
    bool hasToUpdateBuffersSince(uint64_t sinceVersion) const;
    void updateBuffersIfNeeded() const;
    virtual void updateBuffers() const;
    virtual bool traceRay(const mrpt::poses::CPose3D& o, double& dist) const;
    auto getBoundingBox() const;
    auto getBoundingBoxLocal() const;
    auto getBoundingBoxLocalf() const;
    virtual mrpt::math::TPoint3Df getLocalRepresentativePoint() const;
    void setLocalRepresentativePoint(const mrpt::math::TPoint3Df& p);
    mrpt::viz::CText& labelObject() const;
    std::shared_ptr<mrpt::viz::CText> labelObjectPtr() const;
    const auto& shaderLinesVertexPointBuffer() const;
    const auto& shaderLinesVertexColorBuffer() const;
    auto& shaderLinesBufferMutex() const;
    void setLineWidth(float w);
    float getLineWidth() const;
    void enableAntiAliasing(bool enable = true);
    bool isAntiAliasingEnabled() const;
    const auto& shaderTrianglesBuffer() const;
    auto& shaderTrianglesBufferMutex() const;
    bool isLightEnabled() const;
    void enableLight(bool enable = true);
    void cullFaces(const TCullFace& cf);
    TCullFace cullFaces() const;

    template <typename MATRIX, typename VECTOR>
    void setCovMatrixAndMean(
        const MATRIX& new_cov,
        const VECTOR& new_mean
        );

    cov_matrix_t getCovMatrix() const;

    template <typename MATRIX>
    void setCovMatrix(const MATRIX& new_cov);

    void setQuantiles(float q);
    float getQuantiles() const;
    void setNumberOfSegments(const uint32_t numSegments);
    uint32_t getNumberOfSegments() const;
    void enableDrawSolid3D(bool v);
    virtual bool traceRay(] const mrpt::poses::CPose3D& o, ] double& dist) const;
    virtual void updateBuffers() const;
    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;

Typedefs

typedef std::shared_ptr<mrpt::viz ::CEllipsoidRangeBearing2D> Ptr

A type for the associated smart pointer.

Construction

CEllipsoidRangeBearing2D()

Constructor.

Methods

virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const

Returns information about the class of an object in runtime.

virtual mrpt::rtti::CObject* clone() const

Returns a deep copy (clone) of the object, indepently of its class.