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: