Go to the documentation of this file.
26 for (
const auto&
p : m_poses) out <<
p;
36 for (
auto&
p : m_poses)
in >>
p;
50 if (ind >= m_poses.size())
THROW_EXCEPTION(
"getPose: Index out of range!!");
52 outPose =
CPose3D(m_poses[ind]);
61 if (ind >= m_poses.size())
THROW_EXCEPTION(
"getPose: Index out of range!!");
62 m_poses[ind] = inPose.
asTPose();
71 m_poses.push_back(newPose.
asTPose());
91 if (
n > m_poses.size())
94 for (i = 0; i <
n; i++) ret = ret +
CPose3D(m_poses[i]);
104 return absolutePoseOf(posesCount());
118 if (
n > m_poses.size())
121 for (i = 0; i <
n; i++) dist += m_poses[i].
norm();
131 return computeTraveledDistanceAfter(posesCount());
This class stores a sequence of relative, incremental 3D poses.
float computeTraveledDistanceAfter(unsigned int n)
Returns the traveled distance after moving "n" poses, so for "n=0" it returns 0, for "n=1" the first ...
void changePose(unsigned int ind, CPose3D &inPose)
Changes the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1".
void appendPose(CPose3D &newPose)
Appends a new pose at the end of sequence.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define THROW_EXCEPTION(msg)
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
Virtual base class for "archives": classes abstracting I/O streams.
CONTAINER::Scalar norm(const CONTAINER &v)
CPose3D absolutePoseOf(unsigned int n)
Returns the absolute pose of a robot after moving "n" poses, so for "n=0" the origin pose (0,...
void clear()
Clears the sequence.
void WriteAs(const TYPE_FROM_ACTUAL &value)
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
mrpt::math::TPose3D asTPose() const
#define IMPLEMENTS_SERIALIZABLE(class_name, base, NameSpace)
This must be inserted in all CSerializable classes implementation files.
void getPose(unsigned int ind, CPose3D &outPose)
Reads the stored pose at index "ind", where the first one is 0, the last "posesCount() - 1".
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
This base provides a set of functions for maths stuff.
float computeTraveledDistanceAfterAll()
Returns the traveled distance after ALL movements.
CPose3D absolutePoseAfterAll()
A shortcut for "absolutePoseOf( posesCount() )".
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.
unsigned __int32 uint32_t
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 | |