10 #ifndef CINCREMENTALMAPPARTITIONER_H 11 #define CINCREMENTALMAPPARTITIONER_H 143 vector_uint indexesToRemove,
bool changeCoordsRef =
true);
146 template <
class MATRIX>
195 const std::map<uint32_t, int64_t>* renameIndexes = NULL)
const;
void getAdjacencyMatrix(MATRIX &outMatrix) const
Return a copy of the internal adjacency matrix.
float partitionThreshold
The partition threshold for bisection in range [0,2], default=1.0.
std::deque< mrpt::maps::CMultiMetricMap > m_individualMaps
mrpt::maps::CSimpleMap m_individualFrames
This class is a "CSerializable" wrapper for "CMatrixTemplateNumeric<double>".
std::vector< uint32_t > vector_uint
mrpt::math::CMatrixD m_A
Adjacency matrix.
unsigned int getNodesCount()
Get the total node count currently in the internal map/graph.
This class stores a sequence of <Probabilistic Pose,SensoryFrame> pairs, thus a "metric map" can be t...
The virtual base class which provides a unified interface for all persistent objects in MRPT...
void markAllNodesForReconsideration()
Mark all nodes for reconsideration in the next call to "updatePartitions", instead of considering jus...
bool useMapMatching
If set to true (default), adjacency matrix is computed from maps matching; otherwise, the method CObservation::likelihoodWith will be called directly from the SFs.
void updatePartitions(std::vector< vector_uint > &partitions)
This method executed only the neccesary part of the partition to take into account the lastest added ...
void removeSetOfNodes(vector_uint indexesToRemove, bool changeCoordsRef=true)
Remove the stated nodes (0-based indexes) from the internal lists.
void changeCoordinatesOrigin(const mrpt::poses::CPose3D &newOrigin)
Configuration of the algorithm:
This class allows loading and storing values and vectors of different types from a configuration text...
mrpt::maps::CSimpleMap * getSequenceOfFrames()
Access to the sequence of Sensory Frames.
void changeCoordinatesOriginPoseIndex(const unsigned &newOriginPose)
The new origin is given by the index of the pose that is to become the new origin.
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
std::shared_ptr< CPosePDF > Ptr
const mrpt::math::CMatrixDouble & getAdjacencyMatrix() const
Return a const ref to the internal adjacency matrix.
std::shared_ptr< CPose3DPDF > Ptr
std::shared_ptr< CSetOfObjects > Ptr
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
mrpt::slam::CIncrementalMapPartitioner::TOptions options
std::shared_ptr< CSensoryFrame > Ptr
void getAs3DScene(mrpt::opengl::CSetOfObjects::Ptr &objs, const std::map< uint32_t, int64_t > *renameIndexes=NULL) const
Return a 3D representation of the current state: poses & links between them.
GLsizei const GLchar ** string
std::vector< vector_uint > m_last_partition
The last partition.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
This class can be used to make partitions on a map/graph build from observations taken at some poses/...
int minimumNumberElementsEachCluster
If a partition leads to a cluster with less elements than this, it will be rejected even if had a goo...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
virtual ~CIncrementalMapPartitioner()
dtor
float minDistForCorrespondence
bool m_last_last_partition_are_new_ones
This will be true after adding new observations, and before an "updatePartitions" is invoked...
GLsizei GLsizei GLchar * source
CIncrementalMapPartitioner()
ctor
unsigned int addMapFrame(const mrpt::obs::CSensoryFrame::Ptr &frame, const mrpt::poses::CPosePDF::Ptr &robotPose2D)
float minMahaDistForCorrespondence
Declares a class that represents a Probability Density Function (PDF) of a 3D pose (6D actually)...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
void dumpToTextStream(mrpt::utils::CStream &out) const override
This method should clearly display all the contents of the structure in textual form, sending it to a CStream.
const mrpt::maps::CSimpleMap * getSequenceOfFrames() const
Read-only access to the sequence of Sensory Frames.
std::vector< uint8_t > m_modified_nodes
The list of keyframes to consider in the next update.