Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
Allows coordinate access using [] operator.
Definition at line 406 of file lightweight_geom_data.h.
#include <mrpt/math/lightweight_geom_data.h>
Public Types | |
enum | { static_size = 6 } |
Public Member Functions | |
TPose3D (const TPoint2D &p) | |
Implicit constructor from TPoint2D. More... | |
TPose3D (const TPose2D &p) | |
Implicit constructor from TPose2D. More... | |
TPose3D (const TPoint3D &p) | |
Implicit constructor from TPoint3D. More... | |
TPose3D (const mrpt::poses::CPose3D &p) | |
Implicit constructor from heavyweight type. More... | |
TPose3D (double _x, double _y, double _z, double _yaw, double _pitch, double _roll) | |
Constructor from coordinates. More... | |
TPose3D () | |
Default fast constructor. More... | |
double & | operator[] (size_t i) |
Coordinate access using operator[]. More... | |
const double & | operator[] (size_t i) const |
Coordinate access using operator[]. More... | |
double | norm () const |
Pose's spatial coordinates norm. More... | |
void | getAsVector (std::vector< double > &v) const |
Gets the pose as a vector of doubles. More... | |
void | asString (std::string &s) const |
Returns a human-readable textual representation of the object (eg: "[x y z yaw pitch roll]", angles in degrees.) More... | |
std::string | asString () const |
void | getAsQuaternion (mrpt::math::CQuaternion< double > &q, mrpt::math::CMatrixFixedNumeric< double, 4, 3 > *out_dq_dr=NULL) const |
Returns the quaternion associated to the rotation of this object (NOTE: XYZ translation is ignored)
With : , and . More... | |
void | fromString (const std::string &s) |
Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -0.8]" ) More... | |
Static Public Member Functions | |
static size_t | size () |
Public Attributes | |
double | x |
double | y |
double | z |
X,Y,Z, coords. More... | |
double | yaw |
Yaw coordinate (rotation angle over Z axis). More... | |
double | pitch |
Pitch coordinate (rotation angle over Y axis). More... | |
double | roll |
Roll coordinate (rotation angle over X coordinate). More... | |
anonymous enum |
Enumerator | |
---|---|
static_size |
Definition at line 407 of file lightweight_geom_data.h.
mrpt::math::TPose3D::TPose3D | ( | const TPoint2D & | p | ) |
Implicit constructor from TPoint2D.
Zeroes all the unprovided information.
Definition at line 187 of file lightweight_geom_data.cpp.
mrpt::math::TPose3D::TPose3D | ( | const TPose2D & | p | ) |
Implicit constructor from TPose2D.
Gets the yaw from the 2D pose's phi, zeroing all the unprovided information.
Definition at line 188 of file lightweight_geom_data.cpp.
mrpt::math::TPose3D::TPose3D | ( | const TPoint3D & | p | ) |
Implicit constructor from TPoint3D.
Zeroes angular information.
Definition at line 189 of file lightweight_geom_data.cpp.
mrpt::math::TPose3D::TPose3D | ( | const mrpt::poses::CPose3D & | p | ) |
Implicit constructor from heavyweight type.
Definition at line 190 of file lightweight_geom_data.cpp.
|
inline |
Constructor from coordinates.
Definition at line 434 of file lightweight_geom_data.h.
|
inline |
Default fast constructor.
Initializes to garbage.
Definition at line 438 of file lightweight_geom_data.h.
void mrpt::math::TPose3D::asString | ( | std::string & | s | ) | const |
Returns a human-readable textual representation of the object (eg: "[x y z yaw pitch roll]", angles in degrees.)
Definition at line 191 of file lightweight_geom_data.cpp.
References mrpt::mrpt::format(), pitch, RAD2DEG, roll, and yaw.
Referenced by TEST().
|
inline |
Definition at line 460 of file lightweight_geom_data.h.
References asString().
Referenced by asString().
void mrpt::math::TPose3D::fromString | ( | const std::string & | s | ) |
Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -0.8]" )
std::exception | On invalid format |
Definition at line 229 of file lightweight_geom_data.cpp.
References ASSERTMSG_, DEG2RAD, pitch, roll, mrpt::mrpt::math::size(), THROW_EXCEPTION, and yaw.
void mrpt::math::TPose3D::getAsQuaternion | ( | mrpt::math::CQuaternion< double > & | q, |
mrpt::math::CMatrixFixedNumeric< double, 4, 3 > * | out_dq_dr = NULL |
||
) | const |
Returns the quaternion associated to the rotation of this object (NOTE: XYZ translation is ignored)
With : , and .
out_dq_dr | If provided, the 4x3 Jacobian of the transformation will be computed and stored here. It's the Jacobian of the transformation from (yaw pitch roll) to (qr qx qy qz). |
Definition at line 194 of file lightweight_geom_data.cpp.
References mrpt::math::CMatrixFixedNumeric< T, NROWS, NCOLS >::loadFromArray(), MRPT_ALIGN16, pitch, roll, and yaw.
Referenced by mrpt::poses::CPose3D::getAsQuaternion(), and mrpt::math::slerp_ypr().
|
inline |
Gets the pose as a vector of doubles.
Definition at line 452 of file lightweight_geom_data.h.
References mrpt::obs::gnss::pitch, and mrpt::obs::gnss::roll.
|
inline |
Pose's spatial coordinates norm.
Definition at line 446 of file lightweight_geom_data.h.
References mrpt::math::square().
|
inline |
Coordinate access using operator[].
Order: x,y,z,yaw,pitch,roll
Definition at line 440 of file lightweight_geom_data.h.
References mrpt::obs::gnss::pitch, and mrpt::obs::gnss::roll.
|
inline |
Coordinate access using operator[].
Order: x,y,z,yaw,pitch,roll
Definition at line 442 of file lightweight_geom_data.h.
References mrpt::obs::gnss::pitch, and mrpt::obs::gnss::roll.
|
inlinestatic |
Definition at line 477 of file lightweight_geom_data.h.
double mrpt::math::TPose3D::pitch |
Pitch coordinate (rotation angle over Y axis).
Definition at line 410 of file lightweight_geom_data.h.
Referenced by asString(), mrpt::poses::CPose3D::CPose3D(), fromString(), getAsQuaternion(), mrpt::slam::KLF_loadBinFromParticle(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), and mrpt::math::operator>>().
double mrpt::math::TPose3D::roll |
Roll coordinate (rotation angle over X coordinate).
Definition at line 411 of file lightweight_geom_data.h.
Referenced by asString(), mrpt::poses::CPose3D::CPose3D(), fromString(), getAsQuaternion(), mrpt::slam::KLF_loadBinFromParticle(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), and mrpt::math::operator>>().
double mrpt::math::TPose3D::x |
Definition at line 408 of file lightweight_geom_data.h.
Referenced by mrpt::poses::CPose3D::CPose3D(), mrpt::slam::KLF_loadBinFromParticle(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), and mrpt::math::operator>>().
double mrpt::math::TPose3D::y |
Definition at line 408 of file lightweight_geom_data.h.
Referenced by mrpt::poses::CPose3D::CPose3D(), mrpt::slam::KLF_loadBinFromParticle(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), and mrpt::math::operator>>().
double mrpt::math::TPose3D::yaw |
Yaw coordinate (rotation angle over Z axis).
Definition at line 409 of file lightweight_geom_data.h.
Referenced by asString(), mrpt::poses::CPose3D::CPose3D(), fromString(), getAsQuaternion(), mrpt::slam::KLF_loadBinFromParticle(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), and mrpt::math::operator>>().
double mrpt::math::TPose3D::z |
X,Y,Z, coords.
Definition at line 408 of file lightweight_geom_data.h.
Referenced by mrpt::poses::CPose3D::CPose3D(), mrpt::slam::KLF_loadBinFromParticle(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), and mrpt::math::operator>>().
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |