Main MRPT website > C++ reference for MRPT 1.9.9
observations_overlap.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-2017, 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 #ifndef observations_overlap_H
10 #define observations_overlap_H
11 
12 #include <mrpt/obs/obs_frwds.h>
13 #include <mrpt/obs/CSensoryFrame.h>
14 
15 namespace mrpt
16 {
17 namespace slam
18 {
19 /** \addtogroup mrpt_slam_grp
20  * @{ */
21 
22 /** @name Observations overlap functions
23  @{ */
24 
25 /** Estimates the "overlap" or "matching ratio" of two observations (range
26  * [0,1]), possibly taking into account their relative positions.
27  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
28  */
29 double observationsOverlap(
31  const mrpt::poses::CPose3D* pose_o2_wrt_o1 = nullptr);
32 
33 /** Estimates the "overlap" or "matching ratio" of two observations (range
34  * [0,1]), possibly taking into account their relative positions.
35  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
36  */
37 inline double observationsOverlap(
40  const mrpt::poses::CPose3D* pose_o2_wrt_o1 = nullptr)
41 {
42  return observationsOverlap(o1.get(), o2.get(), pose_o2_wrt_o1);
43 }
44 
45 /** Estimates the "overlap" or "matching ratio" of two set of observations
46  * (range [0,1]), possibly taking into account their relative positions.
47  * This method computes the average between each of the observations in each
48  * SF.
49  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
50  */
51 double observationsOverlap(
53  const mrpt::poses::CPose3D* pose_sf2_wrt_sf1 = nullptr);
54 
55 /** Estimates the "overlap" or "matching ratio" of two set of observations
56  * (range [0,1]), possibly taking into account their relative positions.
57  * This method computes the average between each of the observations in each
58  * SF.
59  * \note This is used in mrpt::slam::CIncrementalMapPartitioner
60  */
61 inline double observationsOverlap(
64  const mrpt::poses::CPose3D* pose_sf2_wrt_sf1 = nullptr)
65 {
66  return observationsOverlap(*sf1.get(), *sf2.get(), pose_sf2_wrt_sf1);
67 }
68 
69 /** @} */
70 
71 /** @} */ // end grouping
72 
73 } // End of namespace
74 } // End of namespace
75 
76 #endif
double observationsOverlap(const mrpt::obs::CObservation *o1, const mrpt::obs::CObservation *o2, const mrpt::poses::CPose3D *pose_o2_wrt_o1=nullptr)
Estimates the "overlap" or "matching ratio" of two observations (range [0,1]), possibly taking into a...
Declares a class for storing a "sensory frame", a set of "observations" taken by the robot approximat...
Definition: CSensoryFrame.h:54
std::shared_ptr< CSensoryFrame > Ptr
Definition: CSensoryFrame.h:56
std::shared_ptr< CObservation > Ptr
Definition: CObservation.h:43
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:88
Declares a class that represents any robot&#39;s observation.
Definition: CObservation.h:41



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019