struct mrpt::math::TTwist3D¶
3D twist: 3D velocity vector (vx,vy,vz) + angular velocity (wx,wy,wz)
See also:
mrpt::math::TTwist2D, mrpt::math::TPose3D
#include <mrpt/math/TTwist3D.h> struct TTwist3D: public mrpt::math::internal::ProvideStaticResize { // enums enum { static_size = 6, }; // fields double vx {.0}; double vy {.0}; double vz {.0}; double wx {.0}; double wy {.0}; double wz {.0}; // construction TTwist3D(double vx_, double vy_, double vz_, double wx_, double wy_, double wz_); TTwist3D(); // methods double& operator [] (size_t i); constexpr double operator [] (size_t i) const; double& operator () (int row, int col); constexpr double operator () (int row, int col) const; void operator *= (const double k); template <typename VECTORLIKE> void asVector(VECTORLIKE& v) const; template <typename VECTORLIKE> VECTORLIKE asVector() const; template <typename VECTORLIKE> void fromVector(const VECTORLIKE& v); bool operator == (const TTwist3D& o) const; bool operator != (const TTwist3D& o) const; void asString(std::string& s) const; std::string asString() const; void rotate(const mrpt::math::TPose3D& rot); void fromString(const std::string& s); constexpr std::size_t rows() const; constexpr std::size_t cols() const; constexpr std::size_t size() const; static TTwist3D FromString(const std::string& s); };
Construction¶
TTwist3D(double vx_, double vy_, double vz_, double wx_, double wy_, double wz_)
Constructor from components.
TTwist3D()
Default fast constructor.
Initializes to zeros
Methods¶
double& operator [] (size_t i)
Coordinate access using operator[].
Order: vx,vy,vz, wx, wy, wz
constexpr double operator [] (size_t i) const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
double& operator () (int row, int col)
(i,0) access operator (provided for API compatibility with matrices).
See also:
operator[]
constexpr double operator () (int row, int col) const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void operator *= (const double k)
Scale factor.
template <typename VECTORLIKE> void asVector(VECTORLIKE& v) const
Transformation into vector [vx vy vz wx wy wz].
template <typename VECTORLIKE> void fromVector(const VECTORLIKE& v)
Sets from a vector [vx vy vz wx wy wz].
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)
See also:
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
.
The translational part of the pose is ignored
void fromString(const std::string& s)
Set the current object value from a string generated by ‘asString’ (eg: “[vx vy vz wx wy wz]” )
Parameters:
std::exception |
On invalid format |
See also: