struct mrpt::maps::CLandmarksMap::TCustomSequenceLandmarks

The list of landmarks: the wrapper class is just for maintaining the KD-Tree representation.

#include <mrpt/maps/CLandmarksMap.h>

struct TCustomSequenceLandmarks
{
    // typedefs

    typedef internal::TSequenceLandmarks::iterator iterator;
    typedef internal::TSequenceLandmarks::const_iterator const_iterator;

    //
methods

    iterator begin();
    iterator end();
    void clear();
    size_t size() const;
    const_iterator begin() const;
    const_iterator end() const;
    void push_back(const CLandmark& lm);
    CLandmark* get(unsigned int indx);
    const CLandmark* get(unsigned int indx) const;
    void isToBeModified(unsigned int indx);
    void hasBeenModified(unsigned int indx);
    void hasBeenModifiedAll();
    void erase(unsigned int indx);
    auto* getGrid();
    const auto* getGrid() const;
    const CLandmark* getByID(CLandmark::TLandmarkID ID) const;
    const CLandmark* getByBeaconID(unsigned int ID) const;
    float getLargestDistanceFromOrigin() const;
};

Methods

void push_back(const CLandmark& lm)

The object is copied, thus the original copy passed as a parameter can be released.

const CLandmark* getByID(CLandmark::TLandmarkID ID) const

Returns the landmark with a given landmrk ID, or nullptr if not found.

const CLandmark* getByBeaconID(unsigned int ID) const

Returns the landmark with a given beacon ID, or nullptr if not found.

float getLargestDistanceFromOrigin() const

This method returns the largest distance from the origin to any of the points, such as a sphere centered at the origin with this radius cover ALL the points in the map (the results are buffered, such as, if the map is not modified, the second call will be much faster than the first one).