Main MRPT website
>
C++ reference for MRPT 1.9.9
mrpt
poses
CPose3DInterpolator.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-2018, 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
11
#include <
mrpt/poses/CPoseInterpolatorBase.h
>
12
#include <
mrpt/serialization/CSerializable.h
>
13
14
namespace
mrpt
15
{
16
namespace
poses
17
{
18
/** This class stores a time-stamped trajectory in SE(3) (CPose3D poses).
19
* It can also interpolate SE(3) poses over time using linear, splines or
20
* SLERP interpolation, as set in CPose3DInterpolator::setInterpolationMethod()
21
* Usage:
22
* - Insert new poses into the sequence with CPose3DInterpolator::insert()
23
* - Query an exact/interpolated pose with
24
* CPose3DInterpolator::interpolate().
25
* Example:
26
* \code
27
* CPose3DInterpolator path;
28
*
29
* path.setInterpolationMethod( mrpt::poses::imSplineSlerp );
30
*
31
* path.insert( t0, mrpt::poses::CPose3D(...) );
32
* path.insert( t1, mrpt::math::TPose3D(...) ); // prefered (faster)
33
*
34
* mrpt::math::TPose3D p;
35
* bool valid;
36
*
37
* cout << "Pose at t: " << path.interpolate(t,p,valid).asString() << endl;
38
* \endcode
39
*
40
* Time is represented with mrpt::system::TTimeStamp. See mrpt::system for
41
* methods and utilities to manage these time references.
42
*
43
* See TInterpolatorMethod for the list of interpolation methods. The default
44
* method at constructor is "imLinearSlerp".
45
*
46
* \sa CPoseOrPoint
47
* \ingroup interpolation_grp poses_grp
48
*/
49
class
CPose3DInterpolator
:
public
mrpt::serialization::CSerializable
,
50
public
mrpt::poses::CPoseInterpolatorBase
<3>
51
{
52
DEFINE_SERIALIZABLE
(
CPose3DInterpolator
)
53
};
// End of class def.
54
}
// End of namespace
55
}
// End of namespace
mrpt::poses::CPoseInterpolatorBase
Base class for SE(2)/SE(3) interpolators.
Definition:
CPoseInterpolatorBase.h:52
CPoseInterpolatorBase.h
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition:
CKalmanFilterCapable.h:30
mrpt::poses::CPose3DInterpolator
This class stores a time-stamped trajectory in SE(3) (CPose3D poses).
Definition:
CPose3DInterpolator.h:49
mrpt::serialization::CSerializable
The virtual base class which provides a unified interface for all persistent objects in MRPT.
Definition:
CSerializable.h:32
DEFINE_SERIALIZABLE
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
Definition:
CSerializable.h:102
CSerializable.h
Page generated by
Doxygen 1.8.17
for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST