Main MRPT website
>
C++ reference
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
mrpt
opengl
CEllipsoidRangeBearing2D.h
Go to the documentation of this file.
1
/* +---------------------------------------------------------------------------+
2
| The Mobile Robot Programming Toolkit (MRPT) C++ library |
3
| |
4
| http://www.mrpt.org/ |
5
| |
6
| Copyright (C) 2005-2012 University of Malaga |
7
| |
8
| This software was written by the Machine Perception and Intelligent |
9
| Robotics Lab, University of Malaga (Spain). |
10
| Contact: Jose-Luis Blanco <jlblanco@ctima.uma.es> |
11
| |
12
| This file is part of the MRPT project. |
13
| |
14
| MRPT is free software: you can redistribute it and/or modify |
15
| it under the terms of the GNU General Public License as published by |
16
| the Free Software Foundation, either version 3 of the License, or |
17
| (at your option) any later version. |
18
| |
19
| MRPT is distributed in the hope that it will be useful, |
20
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
21
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
22
| GNU General Public License for more details. |
23
| |
24
| You should have received a copy of the GNU General Public License |
25
| along with MRPT. If not, see <http://www.gnu.org/licenses/>. |
26
| |
27
+---------------------------------------------------------------------------+ */
28
#ifndef opengl_CEllipsoidRangeBearing2D_H
29
#define opengl_CEllipsoidRangeBearing2D_H
30
31
#include <
mrpt/opengl/CGeneralizedEllipsoidTemplate.h
>
32
33
namespace
mrpt
34
{
35
namespace
opengl
36
{
37
// This must be added to any CSerializable derived class:
38
DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE
(
CEllipsoidRangeBearing2D
,
CRenderizableDisplayList
,
OPENGL_IMPEXP
)
39
40
/** An especial "ellipsoid" in 2D computed as the uncertainty iso-surfaces of a (range,bearing) variable.
41
* The parameter space of this ellipsoid comprises these variables (in this order):
42
* - range: Distance from sensor to feature.
43
* - bearing: Angle from +X to the line that goes from the sensor towards the feature.
44
*
45
* This class expects you to provide a mean vector of length 2 and a 2x2 covariance matrix, set with \a setCovMatrixAndMean().
46
*
47
* Please read the documentation of CGeneralizedEllipsoidTemplate::setQuantiles() for learning
48
* the mathematical details about setting the desired confidence interval.
49
*
50
* <div align="center">
51
* <table border="0" cellspan="4" cellspacing="4" style="border-width: 1px; border-style: solid;">
52
* <tr> <td> mrpt::opengl::CEllipsoidRangeBearing2D </td> <td> \image html preview_CEllipsoidRangeBearing2D.png </td> </tr>
53
* </table>
54
* </div>
55
*
56
* \ingroup mrpt_opengl_grp
57
*/
58
class
OPENGL_IMPEXP
CEllipsoidRangeBearing2D
: public
CGeneralizedEllipsoidTemplate
<2>
59
{
60
typedef
CGeneralizedEllipsoidTemplate<2>
BASE
;
61
DEFINE_SERIALIZABLE
(
CEllipsoidRangeBearing2D
)
62
protected:
63
/** To be implemented by derived classes: maps, using some arbitrary space transformation, a list of points
64
* defining an ellipsoid in parameter space into their corresponding points in 2D/3D space.
65
*/
66
virtual
void
transformFromParameterSpace(
67
const std::vector<BASE::
array_parameter_t
> &in_pts,
68
std::vector<BASE::
array_point_t
> & out_pts) const;
69
private:
70
/** Constructor
71
*/
72
CEllipsoidRangeBearing2D
()
73
{
74
}
75
/** Private, virtual destructor: only can be deleted from smart pointers */
76
virtual
~CEllipsoidRangeBearing2D
() { }
77
};
78
79
}
// end namespace
80
81
}
// End of namespace
82
83
#endif
Page generated by
Doxygen 1.8.3
for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013