5 #include <opencv2/core/core.hpp> 35 Pose2D (
double x,
double y,
double orientation );
36 Pose2D (
const cv::Vec<double, 3> &s );
44 Pose2D &
set (
double x,
const double y,
double phi ) ;
77 const double &
x ()
const;
89 const double &
y ()
const;
101 const double &
theta ()
const;
113 void set_x (
double v );
119 double get_x ()
const;
125 void set_y (
double v );
131 double get_y ()
const;
233 os <<
"[" << o.
x() <<
", " << o.
y() <<
", " << o.
theta() <<
"]";
242 std::string
str (
const char*
format =
"[%6.4lf, %6.4lf, %6.5lf]" )
const;
249 bool equal (
const Pose2D& o,
double tolerance )
const;
256 template <
typename T>
259 des.position.x =
x();
260 des.position.y =
y();
std::shared_ptr< Pose2D > Pose2DPtr
Pose2D transform_into(const Pose2D &target) const
double costheta_
rotation in rad
std::string str(const char *format="[%6.4lf, %6.4lf, %6.5lf]") const
std::shared_ptr< Pose2D const > Pose2DConstPtr
Point2D point_ahead(double d=1.) const
Pose2D & operator-=(const cv::Vec< double, 3 > &s)
const double & theta() const
friend std::ostream & operator<<(std::ostream &os, const Pose2D &o)
void copyToROSPose(T &des) const
const Point2D & position() const
void recompute_cached_cos_sin() const
void normalizeOrientation()
void EulerYawToQuaternion(double yaw, Quaternion &q)
Point2D & transform_into_base(const Point2D &src, Point2D &des) const
cv::Matx< double, 3, 3 > Tf2D
bool equal(const Pose2D &o, double tolerance) const
double orientation_
position
std::string format(const cv::Mat_< int8_t > &m)
cv::Vec< double, 3 > state_vector() const
void update_cached_cos_sin() const
Pose2D & operator+=(const cv::Vec< double, 3 > &s)