28 #ifndef CHierarchicalMapMHPartition_H
29 #define CHierarchicalMapMHPartition_H
49 class CPose3DPDFParticles;
54 using namespace mrpt::opengl;
55 using namespace mrpt::slam;
56 using namespace mrpt::utils;
99 size_t nodeCount()
const;
103 size_t arcCount()
const;
143 void saveAreasDiagramForMATLAB(
144 const std::string &filName,
153 void saveAreasDiagramWithEllipsedForMATLAB(
154 const std::string &filName,
157 float uncertaintyExagerationFactor = 1.0f,
158 bool drawArcs =
false,
159 unsigned int numberOfIterationsForOptimalGlobalPoses = 4
167 void saveGlobalMapForMATLAB(
168 const std::string &filName,
176 void findPathBetweenNodes(
181 bool direction=
false)
const;
188 void computeCoordinatesTransformationBetweenNodes(
193 unsigned int particlesCount = 100,
194 float additionalNoiseXYratio = 0.02,
195 float additionalNoisePhiRad =
DEG2RAD(0.1)
201 float computeMatchProbabilityBetweenNodes(
207 unsigned int monteCarloSamplesPose = 300
212 void findArcsBetweenNodes(
220 void findArcsOfTypeBetweenNodes(
224 const std::string &arcType,
234 const std::string &arcType,
235 bool &isInverted )
const;
240 bool areNodesNeightbour(
244 const char *requiredAnnotation=NULL )
const;
251 void computeGloballyConsistentNodeCoordinates(
255 const unsigned int &numberOfIterations = 2)
const;
264 const unsigned int &numberOfIterationsForOptimalGlobalPoses = 5,
265 const bool &showRobotPoseIDs =
true
277 double computeOverlapProbabilityBetweenNodes(
281 const size_t &monteCarloSamples = 100,
282 const float margin_to_substract = 6