class mrpt::obs::TestMetricMap

Overview

A minimal, fully-functional CMetricMap subclass, used only for exercising the base class’ non-virtual logic (event publication, generic-params gating, matching-not-implemented defaults, etc.) without depending on the concrete map classes that live in mrpt_maps (not a dependency of this module).

class TestMetricMap: public mrpt::maps::CMetricMap
{
public:
    // typedefs

    typedef std::shared_ptr<mrpt::obs ::TestMetricMap> Ptr;
    typedef std::shared_ptr<const mrpt::obs ::TestMetricMap> ConstPtr;
    typedef std::unique_ptr<mrpt::obs ::TestMetricMap> UniquePtr;
    typedef std::unique_ptr<const mrpt::obs ::TestMetricMap> ConstUniquePtr;

    // structs

    struct TMapDefinition;
    struct TMapDefinitionBase;

    // fields

    static constexpr const char* className = "mrpt::obs" "::" "TestMetricMap";
    static const size_t m_private_map_register_id =   mrpt::maps::internal::TMetricMapTypesRegistry::Instance().doRegister("mrpt::obs::TestMetricMap" ,& TestMetricMap ::MapDefinition,& TestMetricMap ::internal_CreateFromMapDefinition);
    bool m_isEmpty {true};
    int insertCount {0};
    double fixedLikelihood {-1.0};

    // 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;
    static std::shared_ptr<mrpt::maps::TMetricMapInitializer> MapDefinition();
    static std::shared_ptr<TestMetricMap> CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer& def);
    static std::shared_ptr<mrpt::maps::CMetricMap> internal_CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer& def);
    virtual void internal_clear();
    virtual bool internal_insertObservation(const CObservation& obs, const std::optional<const mrpt::poses::CPose3D>& robotPose);
    virtual double internal_computeObservationLikelihood(const CObservation& obs, const mrpt::poses::CPose3D& takenFrom) const;
    virtual bool isEmpty() const;
    virtual void saveMetricMapRepresentationToFile(const std::string& filNamePrefix) const;
    virtual std::string asString() const;
    virtual void getVisualizationInto(mrpt::viz::CSetOfObjects& o) const;
};

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<CSerializable> Ptr;
    typedef std::shared_ptr<const CSerializable> ConstPtr;

    // methods

    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic();
    Visualizable& operator = (const Visualizable&);
    Visualizable& operator = (Visualizable&&);
    virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const;
    virtual bool isEmpty() const = 0;
    virtual void saveMetricMapRepresentationToFile(const std::string& filNamePrefix) const = 0;
    virtual std::string asString() const = 0;
    virtual void getVisualizationInto(mrpt::viz::CSetOfObjects& o) const = 0;

Typedefs

typedef std::shared_ptr<mrpt::obs ::TestMetricMap> Ptr

A type for the associated smart pointer.

Fields

static const size_t m_private_map_register_id =   mrpt::maps::internal::TMetricMapTypesRegistry::Instance().doRegister("mrpt::obs::TestMetricMap" ,& TestMetricMap ::MapDefinition,& TestMetricMap ::internal_CreateFromMapDefinition)

ID used to initialize class registration (just ignore it)

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.

static std::shared_ptr<mrpt::maps::TMetricMapInitializer> MapDefinition()

Returns default map definition initializer.

See * mrpt::maps::TMetricMapInitializer

static std::shared_ptr<TestMetricMap> CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer& def)

Constructor from a map definition structure: initializes the map and * its parameters accordingly.

virtual void internal_clear()

Internal method called by clear()

virtual bool internal_insertObservation(
    const CObservation& obs,
    const std::optional<const mrpt::poses::CPose3D>& robotPose
    )

Internal method called by insertObservation()

virtual double internal_computeObservationLikelihood(
    const CObservation& obs,
    const mrpt::poses::CPose3D& takenFrom
    ) const

Internal method called by computeObservationLikelihood()

virtual bool isEmpty() const

Returns true if the map is empty/no observation has been inserted.

virtual void saveMetricMapRepresentationToFile(const std::string& filNamePrefix) const

This virtual method saves the map to a file “filNamePrefix”+< some_file_extension >, as an image or in any other applicable way (Notice that other methods to save the map may be implemented in classes implementing this virtual interface).

virtual std::string asString() const

Returns a human-friendly textual description of the object.

For classes with a large/complex internal state, only a summary should be returned instead of the exhaustive enumeration of all data members.

virtual void getVisualizationInto(mrpt::viz::CSetOfObjects& o) const

Inserts 3D primitives representing this object into the provided container.

Note that the former contents of o are not cleared.

See also:

getVisualization()