RobWorkProject  24.5.15-
Pose2D< T > Class Template Reference

A Pose3D $$\mathbf{x}\in \mathbb{R}^6$$ describes a position and orientation in 3-dimensions. More...

#include <Pose2D.hpp>

## Public Member Functions

Pose2D ()
Zero-initialized Pose2D.

Pose2D (rw::math::Vector2D< T > pos, T theta)
Constructor. More...

Pose2D (T x, T y, T theta)
Constructor. More...

Pose2D (const rw::math::Transform2D< T > &transform)
Constructor. More...

T & x ()
Get the first dimension of the position vector. More...

T & y ()
Get the second dimension of the position vector. More...

T & theta ()
Get the angle. More...

rw::math::Vector2D< T > & getPos ()
Get the position vector. More...

x () const
Get the first dimension of the position vector. More...

y () const
Get the second dimension of the position vector. More...

theta () const
Get the angle. More...

const rw::math::Vector2D< T > & getPos () const
Get the position vector. More...

const T & operator() (size_t i) const
Returns reference to vector element (x,y,theta) More...

T & operator() (size_t i)
Returns reference to vector element. More...

const T & operator[] (size_t i) const
Returns reference to vector element. More...

T & operator[] (size_t i)
Returns reference to vector element. More...

Eigen::Matrix< T, 3, 1 > e () const
return a Eigen vector of (x, y, theta). More...

## Static Public Member Functions

static rw::math::Transform2D< T > transform (const Pose2D< T > &pose)
The transform corresponding to the pose. More...

## Friends

std::ostream & operator<< (std::ostream &os, const Pose2D< T > &pose)
Ouputs Pose2D to stream. More...

## Related Functions

(Note that these are not member functions.)

template<>
void write (const rw::math::Pose2D< double > &sobject, rw::common::OutputArchive &oarchive, const std::string &id)

template<>
void write (const rw::math::Pose2D< float > &sobject, rw::common::OutputArchive &oarchive, const std::string &id)

template<>
void read (rw::math::Pose2D< double > &sobject, rw::common::InputArchive &iarchive, const std::string &id)

template<>
void read (rw::math::Pose2D< float > &sobject, rw::common::InputArchive &iarchive, const std::string &id)

## Detailed Description

### template<class T = double> class rw::math::Pose2D< T >

A Pose3D $$\mathbf{x}\in \mathbb{R}^6$$ describes a position and orientation in 3-dimensions.

$${\mathbf{x}} = \left[ \begin{array}{c} x \\ y \\ z \\ \theta k_x \\ \theta k_y \\ \theta k_z \end{array} \right]$$

where $$(x,y,z)$$ is the 3d position and $$(\theta k_x, \theta k_y, \theta k_z)$$ describes the orientation in equal angle axis (EAA) format.

## ◆ Pose2D() [1/3]

 Pose2D ( rw::math::Vector2D< T > pos, T theta )
inline

Constructor.

Parameters
 pos [in] the position. theta [in] the angle.

## ◆ Pose2D() [2/3]

 Pose2D ( T x, T y, T theta )
inline

Constructor.

Parameters
 x [in] the value of the first position dimension. y [in] the value of the second position dimension. theta [in] the angle.

## ◆ Pose2D() [3/3]

 Pose2D ( const rw::math::Transform2D< T > & transform )
inline

Constructor.

Parameters
 transform [in] a 2D transform giving the pose.

## ◆ e()

 Eigen::Matrix e ( ) const
inline

return a Eigen vector of (x, y, theta).

Returns
Eigen vector.

## ◆ getPos() [1/2]

 rw::math::Vector2D& getPos ( )
inline

Get the position vector.

Returns
the position.

## ◆ getPos() [2/2]

 const rw::math::Vector2D& getPos ( ) const
inline

Get the position vector.

Returns
the position.

## ◆ operator()() [1/2]

 T& operator() ( size_t i )
inline

Returns reference to vector element.

Parameters
 i [in] index in the vector $$i\in \{0,1\}$$
Returns
reference to element

## ◆ operator()() [2/2]

 const T& operator() ( size_t i ) const
inline

Returns reference to vector element (x,y,theta)

Parameters
 i [in] index in the vector $$i\in \{0,1,2\}$$
Returns
const reference to element

## ◆ operator[]() [1/2]

 T& operator[] ( size_t i )
inline

Returns reference to vector element.

Parameters
 i [in] index in the vector $$i\in \{0,1,2\}$$
Returns
reference to element

## ◆ operator[]() [2/2]

 const T& operator[] ( size_t i ) const
inline

Returns reference to vector element.

Parameters
 i [in] index in the vector $$i\in \{0,1,2\}$$
Returns
const reference to element

## ◆ theta() [1/2]

 T& theta ( )
inline

Get the angle.

Returns
the angle.

## ◆ theta() [2/2]

 T theta ( ) const
inline

Get the angle.

Returns
the angle.

## ◆ transform()

 static rw::math::Transform2D transform ( const Pose2D< T > & pose )
inlinestatic

The transform corresponding to the pose.

Parameters
 pose [in] the pose.
Returns
equivalent 2D transform.

## ◆ x() [1/2]

 T& x ( )
inline

Get the first dimension of the position vector.

Returns
the position in the first dimension.

## ◆ x() [2/2]

 T x ( ) const
inline

Get the first dimension of the position vector.

Returns
the position in the first dimension.

## ◆ y() [1/2]

 T& y ( )
inline

Get the second dimension of the position vector.

Returns
the position in the second dimension.

## ◆ y() [2/2]

 T y ( ) const
inline

Get the second dimension of the position vector.

Returns
the position in the second dimension.

## ◆ operator<<

 std::ostream& operator<< ( std::ostream & os, const Pose2D< T > & pose )
friend

Ouputs Pose2D to stream.

Parameters
 os [in/out] stream to use pose [in] pose to output.
Returns
the resulting stream

 void read ( rw::math::Pose2D< double > & sobject, rw::common::InputArchive & iarchive, const std::string & id )
related

Parameters
 sobject [out] the object in which the data should be streamed into iarchive [in] the InputArchive from which to read data. id [in] The id of the serialized sobject.
Note
the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id.

 void read ( rw::math::Pose2D< float > & sobject, rw::common::InputArchive & iarchive, const std::string & id )
related

Parameters
 sobject [out] the object in which the data should be streamed into iarchive [in] the InputArchive from which to read data. id [in] The id of the serialized sobject.
Note
the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id.

## ◆ write() [1/2]

 void write ( const rw::math::Pose2D< double > & sobject, rw::common::OutputArchive & oarchive, const std::string & id )
related

Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject.

Parameters
 sobject [in] the object from which the data should be streamed. oarchive [out] the OutputArchive in which data should be written. id [in] The id of the serialized sobject.
Note
the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id.

## ◆ write() [2/2]

 void write ( const rw::math::Pose2D< float > & sobject, rw::common::OutputArchive & oarchive, const std::string & id )
related

Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject.

Parameters
 sobject [in] the object from which the data should be streamed. oarchive [out] the OutputArchive in which data should be written. id [in] The id of the serialized sobject.
Note
the id can be empty in which case the overloaded method should provide a default identifier. E.g. the Vector3D class defined "Vector3D" as its default id.

The documentation for this class was generated from the following files:
• core/math_fwd.hpp
• Pose2D.hpp