MRPT  1.9.9
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
mrpt::math::TTwist3D Struct Reference

Detailed Description

3D twist: 3D velocity vector (vx,vy,vz) + angular velocity (wx,wy,wz)

See also
mrpt::math::TTwist2D, mrpt::math::TPose3D

Definition at line 18 of file TTwist3D.h.

#include <mrpt/math/TTwist3D.h>

Inheritance diagram for mrpt::math::TTwist3D:

Public Types

enum  { static_size = 6 }
 

Public Member Functions

constexpr TTwist3D (double vx_, double vy_, double vz_, double wx_, double wy_, double wz_)
 Constructor from components. More...
 
 TTwist3D ()=default
 Default fast constructor. More...
 
double & operator[] (size_t i)
 Coordinate access using operator[]. More...
 
constexpr const double & operator[] (size_t i) const
 
double & operator() (int row, int col)
 (i,0) access operator (provided for API compatibility with matrices). More...
 
constexpr const double & operator() (int row, int col) const
 
void operator*= (const double k)
 Scale factor. More...
 
template<typename VECTORLIKE >
void asVector (VECTORLIKE &v) const
 Transformation into vector [vx vy vz wx wy wz]. More...
 
template<typename VECTORLIKE >
VECTORLIKE asVector () const
 
template<typename VECTORLIKE >
void fromVector (const VECTORLIKE &v)
 Sets from a vector [vx vy vz wx wy wz]. More...
 
bool operator== (const TTwist3D &o) const
 
bool operator!= (const TTwist3D &o) const
 
void asString (std::string &s) const
 Returns a human-readable textual representation of the object (eg: "[vx vy vz wx wy wz]", omegas in deg/s) More...
 
std::string asString () const
 
void rotate (const mrpt::math::TPose3D &rot)
 Transform all 6 components for a change of reference frame from "A" to another frame "B" whose rotation with respect to "A" is given by rot. More...
 
void fromString (const std::string &s)
 Set the current object value from a string generated by 'asString' (eg: "[vx vy vz wx wy wz]" ) More...
 
constexpr std::size_t rows () const
 
constexpr std::size_t cols () const
 
constexpr std::size_t size () const
 
void resize (std::size_t n)
 throws if attempted to resize to incorrect length More...
 

Static Public Member Functions

static TTwist3D FromString (const std::string &s)
 

Public Attributes

double vx {.0}
 Velocity components: X,Y (m/s) More...
 
double vy {.0}
 
double vz {.0}
 
double wx {.0}
 Angular velocity (rad/s) More...
 
double wy {.0}
 
double wz {.0}
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
static_size 

Definition at line 20 of file TTwist3D.h.

Constructor & Destructor Documentation

◆ TTwist3D() [1/2]

constexpr mrpt::math::TTwist3D::TTwist3D ( double  vx_,
double  vy_,
double  vz_,
double  wx_,
double  wy_,
double  wz_ 
)
inline

Constructor from components.

Definition at line 31 of file TTwist3D.h.

◆ TTwist3D() [2/2]

mrpt::math::TTwist3D::TTwist3D ( )
default

Default fast constructor.

Initializes to zeros

Member Function Documentation

◆ asString() [1/2]

void mrpt::math::TTwist3D::asString ( std::string s) const

Returns a human-readable textual representation of the object (eg: "[vx vy vz wx wy wz]", omegas in deg/s)

See also
fromString

Definition at line 179 of file TPoseOrPoint.cpp.

References mrpt::format(), mrpt::RAD2DEG(), vx, vy, vz, wx, wy, and wz.

Here is the call graph for this function:

◆ asString() [2/2]

std::string mrpt::math::TTwist3D::asString ( ) const
inline

Definition at line 135 of file TTwist3D.h.

◆ asVector() [1/2]

template<typename VECTORLIKE >
void mrpt::math::TTwist3D::asVector ( VECTORLIKE &  v) const
inline

Transformation into vector [vx vy vz wx wy wz].

Definition at line 108 of file TTwist3D.h.

◆ asVector() [2/2]

template<typename VECTORLIKE >
VECTORLIKE mrpt::math::TTwist3D::asVector ( ) const
inline

Definition at line 114 of file TTwist3D.h.

◆ cols()

constexpr std::size_t mrpt::math::internal::ProvideStaticResize< TTwist3D >::cols ( ) const
inlineinherited

Definition at line 57 of file TPoseOrPoint.h.

◆ fromString()

void mrpt::math::TTwist3D::fromString ( const std::string s)

Set the current object value from a string generated by 'asString' (eg: "[vx vy vz wx wy wz]" )

See also
asString
Exceptions
std::exceptionOn invalid format

Definition at line 185 of file TPoseOrPoint.cpp.

References ASSERTMSG_, mrpt::math::CMatrixDynamic< T >::cols(), mrpt::DEG2RAD(), mrpt::math::MatrixVectorBase< Scalar, Derived >::fromMatlabStringFormat(), mrpt::math::CMatrixDynamic< T >::rows(), and THROW_EXCEPTION.

Referenced by FromString().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FromString()

static TTwist3D mrpt::math::TTwist3D::FromString ( const std::string s)
inlinestatic

Definition at line 154 of file TTwist3D.h.

References fromString().

Here is the call graph for this function:

◆ fromVector()

template<typename VECTORLIKE >
void mrpt::math::TTwist3D::fromVector ( const VECTORLIKE &  v)
inline

Sets from a vector [vx vy vz wx wy wz].

Definition at line 123 of file TTwist3D.h.

References ASSERT_EQUAL_.

◆ operator!=()

bool mrpt::math::TTwist3D::operator!= ( const TTwist3D o) const

Definition at line 216 of file TPoseOrPoint.cpp.

◆ operator()() [1/2]

double& mrpt::math::TTwist3D::operator() ( int  row,
int  col 
)
inline

(i,0) access operator (provided for API compatibility with matrices).

See also
operator[]

Definition at line 83 of file TTwist3D.h.

References ASSERT_EQUAL_.

◆ operator()() [2/2]

constexpr const double& mrpt::math::TTwist3D::operator() ( int  row,
int  col 
) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 89 of file TTwist3D.h.

References ASSERT_EQUAL_.

◆ operator*=()

void mrpt::math::TTwist3D::operator*= ( const double  k)
inline

Scale factor.

Definition at line 96 of file TTwist3D.h.

References vx, vy, vz, wx, wy, and wz.

◆ operator==()

bool mrpt::math::TTwist3D::operator== ( const TTwist3D o) const

Definition at line 211 of file TPoseOrPoint.cpp.

References vx, vy, vz, wx, wy, and wz.

◆ operator[]() [1/2]

double& mrpt::math::TTwist3D::operator[] ( size_t  i)
inline

Coordinate access using operator[].

Order: vx,vy,vz, wx, wy, wz

Definition at line 39 of file TTwist3D.h.

References vx, vy, vz, wx, wy, and wz.

◆ operator[]() [2/2]

constexpr const double& mrpt::math::TTwist3D::operator[] ( size_t  i) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 60 of file TTwist3D.h.

References vx, vy, vz, wx, wy, and wz.

◆ resize()

void mrpt::math::internal::ProvideStaticResize< TTwist3D >::resize ( std::size_t  n)
inlineinherited

throws if attempted to resize to incorrect length

Definition at line 61 of file TPoseOrPoint.h.

◆ rotate()

void mrpt::math::TTwist3D::rotate ( const mrpt::math::TPose3D rot)

Transform all 6 components for a change of reference frame from "A" to another frame "B" whose rotation with respect to "A" is given by rot.

The translational part of the pose is ignored

Definition at line 198 of file TPoseOrPoint.cpp.

References mrpt::math::TPose3D::getRotationMatrix(), R, vx, vy, vz, wx, wy, and wz.

Here is the call graph for this function:

◆ rows()

constexpr std::size_t mrpt::math::internal::ProvideStaticResize< TTwist3D >::rows ( ) const
inlineinherited

Definition at line 56 of file TPoseOrPoint.h.

◆ size()

constexpr std::size_t mrpt::math::internal::ProvideStaticResize< TTwist3D >::size ( ) const
inlineinherited

Definition at line 58 of file TPoseOrPoint.h.

Member Data Documentation

◆ vx

double mrpt::math::TTwist3D::vx {.0}

Velocity components: X,Y (m/s)

Definition at line 26 of file TTwist3D.h.

Referenced by asString(), operator*=(), operator==(), operator[](), and rotate().

◆ vy

double mrpt::math::TTwist3D::vy {.0}

Definition at line 26 of file TTwist3D.h.

Referenced by asString(), operator*=(), operator==(), operator[](), and rotate().

◆ vz

double mrpt::math::TTwist3D::vz {.0}

Definition at line 26 of file TTwist3D.h.

Referenced by asString(), operator*=(), operator==(), operator[](), and rotate().

◆ wx

double mrpt::math::TTwist3D::wx {.0}

Angular velocity (rad/s)

Definition at line 28 of file TTwist3D.h.

Referenced by asString(), operator*=(), operator==(), operator[](), and rotate().

◆ wy

double mrpt::math::TTwist3D::wy {.0}

Definition at line 28 of file TTwist3D.h.

Referenced by asString(), operator*=(), operator==(), operator[](), and rotate().

◆ wz

double mrpt::math::TTwist3D::wz {.0}

Definition at line 28 of file TTwist3D.h.

Referenced by asString(), operator*=(), operator==(), operator[](), and rotate().




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 9b18308f3 Mon Nov 18 23:39:25 2019 +0100 at lun nov 18 23:45:12 CET 2019