69 typedef std::map<mrpt::system::TTimeStamp, pose_t>
TPath;
105 m_path.erase(element_to_erase++);
106 return element_to_erase;
135 bool& out_valid_interp)
const;
139 bool& out_valid_interp)
const;
A partial specialization of CArrayNumeric for double numbers.
Base class for SE(2)/SE(3) interpolators.
const_iterator cbegin() const
mrpt::poses::SE_traits< DIM >::lightweight_pose_t pose_t
TPose2D or TPose3D.
void impl_interpolation(const mrpt::math::CArrayDouble< 4 > &ts, const TTimePosePair p1, const TTimePosePair p2, const TTimePosePair p3, const TTimePosePair p4, const TInterpolatorMethod method, double td, pose_t &out_interp) const
bool loadFromTextFile(const std::string &s)
Loads from a text file, in the format described by saveToTextFile.
const_iterator lower_bound(const mrpt::system::TTimeStamp &t) const
const_iterator begin() const
TPath::const_iterator const_iterator
iterator upper_bound(const mrpt::system::TTimeStamp &t)
const_iterator end() const
std::pair< mrpt::system::TTimeStamp, pose_t > TTimePosePair
TPath::reverse_iterator reverse_iterator
void setMaxTimeInterpolation(double time)
Set value of the maximum time to consider interpolation.
bool saveToTextFile(const std::string &s) const
Saves the points in the interpolator to a text file, with this format: Each row contains these elemen...
const_iterator cend() const
void insert(mrpt::system::TTimeStamp t, const pose_t &p)
Inserts a new pose in the sequence.
iterator erase(iterator element_to_erase)
TInterpolatorMethod getInterpolationMethod() const
Returns the currently set interpolation method.
iterator find(const mrpt::system::TTimeStamp &t)
bool saveInterpolatedToTextFile(const std::string &s, double period) const
Saves the points in the interpolator to a text file, with the same format that saveToTextFile,...
void getBoundingBox(point_t &minCorner, point_t &maxCorner) const
Computes the bounding box in all Euclidean coordinates of the whole path.
const_iterator find(const mrpt::system::TTimeStamp &t) const
double getMaxTimeInterpolation()
Set value of the maximum time to consider interpolation.
TInterpolatorMethod m_method
pose_t & interpolate(mrpt::system::TTimeStamp t, pose_t &out_interp, bool &out_valid_interp) const
Returns the pose at a given time, or interpolates using splines if there is not an exact match.
void clear()
Clears the current sequence of poses.
reverse_iterator rbegin()
const_reverse_iterator rend() const
bool getPreviousPoseWithMinDistance(const mrpt::system::TTimeStamp &t, double distance, pose_t &out_pose)
Get the previous CPose3D in the map with a minimum defined distance.
CPoseInterpolatorBase()
Default ctor: empty sequence of poses.
mrpt::poses::SE_traits< DIM >::pose_t cpose_t
CPose2D or CPose3D.
void filter(unsigned int component, unsigned int samples)
Filters by averaging one of the components of the pose data within the interpolator.
std::map< mrpt::system::TTimeStamp, pose_t > TPath
const_iterator upper_bound(const mrpt::system::TTimeStamp &t) const
TPath m_path
The sequence of poses.
const_reverse_iterator rbegin() const
void setInterpolationMethod(TInterpolatorMethod method)
Change the method used to interpolate the robot path.
mrpt::poses::SE_traits< DIM >::point_t point_t
TPoint2D or TPoint3D.
iterator lower_bound(const mrpt::system::TTimeStamp &t)
TPath::const_reverse_iterator const_reverse_iterator
double maxTimeInterpolation
Maximum time considered to interpolate.
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map.
const Scalar * const_iterator
GLsizei const GLchar ** string
double distance(const TPoint2D &p1, const TPoint2D &p2)
Gets the distance between two points in a 2D space.
TInterpolatorMethod
Type to select the interpolation method in CPoseInterpolatorBase derived classes.
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1,...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A helper class for SE(2) and SE(3) geometry-related transformations, on-manifold optimization Jacobia...
static void fill(bimap< enum_t, std::string > &m_map)
mrpt::poses::TInterpolatorMethod enum_t
Only specializations of this class are defined for each enum type of interest.