Main MRPT website > C++ reference for MRPT 1.3.2
metric_map_types.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2015, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 #pragma once
10 
14 #include <mrpt/obs/obs_frwds.h>
15 #include <mrpt/obs/link_pragmas.h>
16 
17 namespace mrpt
18 {
19  namespace maps
20  {
21  /** Parameters for the determination of matchings between point clouds, etc. \sa CMetricMap::determineMatching2D, CMetricMap::determineMatching3D */
23  {
24  float maxDistForCorrespondence; //!< Maximum linear distance between two points to be paired (meters)
25  float maxAngularDistForCorrespondence; //!< Allowed "angular error" (in radians): this permits larger pairing threshold distances to more distant points.
26  bool onlyKeepTheClosest; //!< If set to true (default), only the closest correspondence will be returned. If false all are returned.
27  bool onlyUniqueRobust; //!< Additional consistency filter: "onlyKeepTheClosest" allows one correspondence for each "local map" point, but many of them may have as corresponding pair the same "global point", which this flag avoids.
28  size_t decimation_other_map_points; //!< (Default=1) Only consider 1 out of this number of points from the "other" map.
29  size_t offset_other_map_points; //!< Index of the first point in the "other" map to start checking for correspondences (Default=0)
30  mrpt::math::TPoint3D angularDistPivotPoint; //!< The point used to calculate angular distances: e.g. the coordinates of the sensor for a 2D laser scanner.
31 
32  /** Ctor: default values */
34  maxDistForCorrespondence(0.50f),
35  maxAngularDistForCorrespondence(.0f),
36  onlyKeepTheClosest(true),
37  onlyUniqueRobust(false),
38  decimation_other_map_points(1),
39  offset_other_map_points(0),
40  angularDistPivotPoint(0,0,0)
41  {}
42  };
43 
44  /** Additional results from the determination of matchings between point clouds, etc., apart from the pairings themselves \sa CMetricMap::determineMatching2D, CMetricMap::determineMatching3D */
46  {
47  float correspondencesRatio; //!< The ratio [0,1] of points in otherMap with at least one correspondence.
48  float sumSqrDist; //!< The sum of all matched points squared distances.If undesired, set to NULL, as default.
49 
50  TMatchingExtraResults() : correspondencesRatio(0),sumSqrDist(0)
51  {}
52  };
53 
55  /** Common params to all maps derived from mrpt::maps::CMetricMap */
56  class OBS_IMPEXP TMapGenericParams : public mrpt::utils::CLoadableOptions, public mrpt::utils::CSerializable
57  {
59  public:
60  bool enableSaveAs3DObject; //!< (Default=true) If false, calling CMetricMap::getAs3DObject() will have no effects
61  bool enableObservationLikelihood; //!< (Default=true) Enable computing observation likelihoods with this map
62  bool enableObservationInsertion; //!< (Default=true) Enable inserting observations in this map
63 
65  void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string &sectionNamePrefix);
66  /** Dump the options of the metric map in human-readable format */
67  void dumpToTextStream(mrpt::utils::CStream &out) const;
68  };
70 
71 
72  } // End of namespace
73 } // End of namespace
74 
mrpt::math::TPoint3D angularDistPivotPoint
The point used to calculate angular distances: e.g. the coordinates of the sensor for a 2D laser scan...
float maxAngularDistForCorrespondence
Allowed "angular error" (in radians): this permits larger pairing threshold distances to more distant...
size_t decimation_other_map_points
(Default=1) Only consider 1 out of this number of points from the "other" map.
float sumSqrDist
The sum of all matched points squared distances.If undesired, set to NULL, as default.
class BASE_IMPEXP CStream
Definition: math_frwds.h:26
STL namespace.
Additional results from the determination of matchings between point clouds, etc., apart from the pairings themselves.
class BASE_IMPEXP CSerializable
Definition: CStream.h:23
bool onlyUniqueRobust
Additional consistency filter: "onlyKeepTheClosest" allows one correspondence for each "local map" po...
float maxDistForCorrespondence
Maximum linear distance between two points to be paired (meters)
#define DEFINE_SERIALIZABLE_POST_CUSTOM_LINKAGE(class_name, _LINKAGE_)
bool onlyKeepTheClosest
If set to true (default), only the closest correspondence will be returned. If false all are returned...
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...
size_t offset_other_map_points
Index of the first point in the "other" map to start checking for correspondences (Default=0) ...
float correspondencesRatio
The ratio [0,1] of points in otherMap with at least one correspondence.
Common params to all maps derived from mrpt::maps::CMetricMap.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_LINKAGE(class_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
Lightweight 3D point.
Parameters for the determination of matchings between point clouds, etc.
TMatchingParams()
Ctor: default values.



Page generated by Doxygen 1.8.12 for MRPT 1.3.2 SVN: at Thu Nov 10 13:46:27 UTC 2016