67 using TPath = std::map<mrpt::Clock::time_point, pose_t>;
103 m_path.erase(element_to_erase++);
104 return element_to_erase;
133 bool& out_valid_interp)
const;
137 bool& out_valid_interp)
const;
211 pose_t& out_interp)
const;
const_iterator find(const mrpt::Clock::time_point &t) const
mrpt::Clock::duration getMaxTimeInterpolation()
Set value of the maximum time to consider interpolation.
std::chrono::duration< rep, period > duration
mrpt::Clock::duration maxTimeInterpolation
Maximum time considered to interpolate.
const_iterator lower_bound(const mrpt::Clock::time_point &t) const
Base class for SE(2)/SE(3) interpolators.
std::chrono::time_point< Clock > time_point
std::pair< mrpt::Clock::time_point, pose_t > TTimePosePair
const_reverse_iterator rbegin() const
const_iterator cend() const
TPath m_path
The sequence of poses.
const_iterator begin() const
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...
TInterpolatorMethod m_method
void setInterpolationMethod(TInterpolatorMethod method)
Change the method used to interpolate the robot path.
void filter(unsigned int component, unsigned int samples)
Filters by averaging one of the components of the pose data within the interpolator.
typename mrpt::poses::SE_traits< DIM >::lightweight_pose_t pose_t
TPose2D or TPose3D.
typename TPath::const_reverse_iterator const_reverse_iterator
MRPT_FILL_ENUM_MEMBER(mrpt::poses, imSpline)
const_reverse_iterator rend() const
iterator lower_bound(const mrpt::Clock::time_point &t)
typename TPath::reverse_iterator reverse_iterator
std::map< mrpt::Clock::time_point, pose_t > TPath
const_iterator end() const
reverse_iterator rbegin()
void getBoundingBox(point_t &minCorner, point_t &maxCorner) const
Computes the bounding box in all Euclidean coordinates of the whole path.
typename mrpt::poses::SE_traits< DIM >::pose_t cpose_t
CPose2D or CPose3D.
bool loadFromTextFile(const std::string &s)
Loads from a text file, in the format described by saveToTextFile.
#define MRPT_ENUM_TYPE_END()
GLsizei const GLchar ** string
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
TInterpolatorMethod getInterpolationMethod() const
Returns the currently set interpolation method.
iterator upper_bound(const mrpt::Clock::time_point &t)
void setMaxTimeInterpolation(const mrpt::Clock::duration &time)
Set value of the maximum time to consider interpolation.
typename TPath::iterator iterator
pose_t & interpolate(const mrpt::Clock::time_point &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...
const_iterator upper_bound(const mrpt::Clock::time_point &t) const
void clear()
Clears the current sequence of poses.
typename mrpt::poses::SE_traits< DIM >::point_t point_t
TPoint2D or TPoint3D.
typename TPath::const_iterator const_iterator
A helper class for SE(2) and SE(3) geometry-related transformations, on-manifold optimization Jacobia...
void impl_interpolation(const TTimePosePair &p1, const TTimePosePair &p2, const TTimePosePair &p3, const TTimePosePair &p4, const TInterpolatorMethod method, const mrpt::Clock::time_point &td, pose_t &out_interp) const
iterator erase(iterator element_to_erase)
iterator find(const mrpt::Clock::time_point &t)
void insert(const mrpt::Clock::time_point &t, const pose_t &p)
Inserts a new pose in the sequence.
bool getPreviousPoseWithMinDistance(const mrpt::Clock::time_point &t, double distance, pose_t &out_pose)
Get the previous CPose3D in the map with a minimum defined distance.
bool saveInterpolatedToTextFile(const std::string &s, const mrpt::Clock::duration &period) const
Saves the points in the interpolator to a text file, with the same format that saveToTextFile, but interpolating the path with the given period in seconds.
CPoseInterpolatorBase()
Default ctor: empty sequence of poses.
#define MRPT_ENUM_TYPE_BEGIN(_ENUM_TYPE_WITH_NS)
const_iterator cbegin() const
const Scalar * const_iterator
TInterpolatorMethod
Type to select the interpolation method in CPoseInterpolatorBase derived classes. ...
double distance(const TPoint2D &p1, const TPoint2D &p2)
Gets the distance between two points in a 2D space.