A 3D pose, with a 3D translation and a rotation in 3D parameterized in rotation-vector form (equivalent to axis-angle).
The 6D transformation in SE(3) stored in this class is kept in two separate containers: a 3-array for the rotation vector, and a 3-array for the translation.
For a complete descriptionan of Points/Poses, see mrpt::poses::CPoseOrPoint, or refer to the 2D/3D Geometry tutorial online.
There are Lie algebra methods: exp and ln (see the methods for documentation).
Definition at line 41 of file CPose3DRotVec.h.
#include <mrpt/poses/CPose3DRotVec.h>
Public Types | |
enum | { is_3D_val = 1 } |
enum | { rotation_dimensions = 3 } |
enum | { is_PDF_val = 0 } |
typedef CPose3DRotVec | type_value |
Used to emulate CPosePDF types, for example, in mrpt::graphs::CNetworkOfPoses. | |
Public Member Functions | |
const type_value & | getPoseMean () const |
type_value & | getPoseMean () |
void | setToNaN () MRPT_OVERRIDE |
Set all data fields to quiet NaN. | |
Constructors | |
CPose3DRotVec () | |
Default constructor, with all the coordinates set to zero. | |
CPose3DRotVec (TConstructorFlags_Poses constructor_dummy_param) | |
Fast constructor that leaves all the data uninitialized - call with UNINITIALIZED_POSE as argument. | |
CPose3DRotVec (const double vx, const double vy, const double vz, const double x, const double y, const double z) | |
Constructor with initilization of the pose. | |
CPose3DRotVec (const mrpt::math::CArrayDouble< 6 > &v) | |
Constructor with initilization of the pose from a vector [w1 w2 w3 x y z]. | |
CPose3DRotVec (const CPose3DRotVec &o) | |
Copy constructor. | |
CPose3DRotVec (const math::CMatrixDouble44 &m) | |
Constructor from a 4x4 homogeneous matrix: | |
CPose3DRotVec (const CPose3D &m) | |
Constructor from a CPose3D object. | |
CPose3DRotVec (const mrpt::math::CQuaternionDouble &q, const double x, const double y, const double z) | |
Constructor from a quaternion (which only represents the 3D rotation part) and a 3D displacement. | |
CPose3DRotVec (const double *vec6) | |
Constructor from an array with these 6 elements: [w1 w2 w3 x y z] where r{ij} are the entries of the 3x3 rotation matrix and t{x,y,z} are the 3D translation of the pose. | |
Access 3x3 rotation and 4x4 homogeneous matrices | |
void | getHomogeneousMatrix (mrpt::math::CMatrixDouble44 &out_HM) const |
Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation). | |
mrpt::math::CMatrixDouble44 | getHomogeneousMatrixVal () const |
void | getRotationMatrix (mrpt::math::CMatrixDouble33 &ROT) const |
Get the 3x3 rotation matrix. | |
const mrpt::math::CMatrixDouble33 | getRotationMatrix () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Pose-pose and pose-point compositions and operators | |
CPose3DRotVec | operator+ (const CPose3DRotVec &b) const |
The operator ![]() | |
CPoint3D | operator+ (const CPoint3D &b) const |
The operator ![]() | |
CPoint3D | operator+ (const CPoint2D &b) const |
The operator ![]() | |
void | setFromTransformationMatrix (const mrpt::math::CMatrixDouble44 &m) |
void | setFromXYZAndAngles (const double x, const double y, const double z, const double yaw=0, const double pitch=0, const double roll=0) |
void | sphericalCoordinates (const mrpt::math::TPoint3D &point, double &out_range, double &out_yaw, double &out_pitch) const |
Computes the spherical coordinates of a 3D point as seen from the 6D pose specified by this object. | |
void | composePoint (double lx, double ly, double lz, double &gx, double &gy, double &gz, mrpt::math::CMatrixFixedNumeric< double, 3, 3 > *out_jacobian_df_dpoint=NULL, mrpt::math::CMatrixFixedNumeric< double, 3, 6 > *out_jacobian_df_dpose=NULL) const |
An alternative, slightly more efficient way of doing ![]() | |
void | composePoint (const mrpt::math::TPoint3D local_point, mrpt::math::TPoint3D &global_point) const |
An alternative, slightly more efficient way of doing ![]() | |
void | inverseComposePoint (const double gx, const double gy, const double gz, double &lx, double &ly, double &lz, mrpt::math::CMatrixFixedNumeric< double, 3, 3 > *out_jacobian_df_dpoint=NULL, mrpt::math::CMatrixFixedNumeric< double, 3, 6 > *out_jacobian_df_dpose=NULL) const |
Computes the 3D point L such as ![]() | |
void | composeFrom (const CPose3DRotVec &A, const CPose3DRotVec &B, mrpt::math::CMatrixFixedNumeric< double, 6, 6 > *out_jacobian_drvtC_drvtA=NULL, mrpt::math::CMatrixFixedNumeric< double, 6, 6 > *out_jacobian_drvtC_drvtB=NULL) |
Makes "this = A (+) B"; this method is slightly more efficient than "this= A + B;" since it avoids the temporary object. | |
void | toQuatXYZ (CPose3DQuat &q) const |
Convert this RVT into a quaternion + XYZ. | |
CPose3DRotVec & | operator+= (const CPose3DRotVec &b) |
Make ![]() | |
CPose3DRotVec & | operator= (const CPose3DRotVec &o) |
Copy operator. | |
void | inverseComposeFrom (const CPose3DRotVec &A, const CPose3DRotVec &B) |
Makes ![]() | |
CPose3DRotVec | operator- (const CPose3DRotVec &b) const |
Compute ![]() | |
void | inverse () |
Convert this pose into its inverse, saving the result in itself. | |
CPose3DRotVec | getInverse () const |
Compute the inverse of this pose and return the result. | |
void | changeCoordinatesReference (const CPose3DRotVec &p) |
makes: this = p (+) this | |
Access and modify contents | |
double | rx () const |
double | ry () const |
double | rz () const |
double & | rx () |
double & | ry () |
double & | rz () |
void | addComponents (const CPose3DRotVec &p) |
Scalar sum of all 6 components: This is diferent from poses composition, which is implemented as "+" operators. | |
void | operator*= (const double s) |
Scalar multiplication of x,y,z,vx,vy,vz. | |
mrpt::math::CArrayDouble< 3 > | rotVecFromRotMat (const math::CMatrixDouble44 &m) |
Create a vector with 3 components according to the input transformation matrix (only the rotation will be taken into account) | |
void | setFromValues (const double x0, const double y0, const double z0, const double vx, const double vy, const double vz) |
Set the pose from a 3D position (meters) and yaw/pitch/roll angles (radians) - This method recomputes the internal rotation matrix. | |
template<class ARRAYORVECTOR > | |
void | setFrom6Vector (const ARRAYORVECTOR &vec6) |
Set pose from an array with these 6 elements: [x y z vx vy vz] where v{xyz} is the rotation vector and {xyz} the 3D translation of the pose. | |
template<class ARRAYORVECTOR > | |
void | getAs6Vector (ARRAYORVECTOR &vec6) const |
Gets pose as an array with these 6 elements: [x y z vx vy vz] where v{xyz} is the rotation vector and {xyz} the 3D translation of the pose The target vector MUST ALREADY have space for 6 elements (i.e. | |
template<class ARRAYORVECTOR > | |
void | getAsVector (ARRAYORVECTOR &v) const |
Like getAs6Vector() but for dynamic size vectors (required by base class CPoseOrPoint) | |
const double & | operator[] (unsigned int i) const |
double & | operator[] (unsigned int i) |
void | asString (std::string &s) const |
Returns a human-readable textual representation of the object: "[x y z rx ry rz]". | |
std::string | asString () const |
void | fromString (const std::string &s) |
Set the current object value from a string generated by 'asString' (eg: "[x y z yaw pitch roll]", angles in deg. | |
Static Public Member Functions | |
static bool | is_3D () |
static bool | is_PDF () |
Public Attributes | |
mrpt::math::CArrayDouble< 3 > | m_coords |
The translation vector [x,y,z]. | |
mrpt::math::CArrayDouble< 3 > | m_rotvec |
The rotation vector [vx,vy,vz]. | |
Protected Member Functions | |
CSerializable virtual methods | |
void | writeToStream (mrpt::utils::CStream &out, int *getVersion) const MRPT_OVERRIDE |
void | readFromStream (mrpt::utils::CStream &in, int version) MRPT_OVERRIDE |
STL-like methods and typedefs | |
| |
enum | { static_size = 6 } |
typedef double | value_type |
The type of the elements. | |
typedef double & | reference |
typedef const double & | const_reference |
typedef std::size_t | size_type |
typedef std::ptrdiff_t | difference_type |
static size_type | size () |
static bool | empty () |
static size_type | max_size () |
static void | resize (const size_t n) |
RTTI stuff <br> | |
typedef CPose3DRotVecPtr | SmartPtr |
static mrpt::utils::CLASSINIT | _init_CPose3DRotVec |
static mrpt::utils::TRuntimeClassId | classCPose3DRotVec |
static const mrpt::utils::TRuntimeClassId * | classinfo |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const MRPT_OVERRIDE |
virtual mrpt::utils::CObject * | duplicate () const MRPT_OVERRIDE |
static mrpt::utils::CObject * | CreateObject () |
static CPose3DRotVecPtr | Create () |
Lie Algebra methods | |
void | ln (mrpt::math::CArrayDouble< 6 > &out_ln) const |
Take the logarithm of the 3x4 matrix defined by this pose, generating the corresponding vector in the SE(3) Lie Algebra. | |
mrpt::math::CArrayDouble< 3 > | ln_rotation () const |
Take the logarithm of the 3x3 rotation matrix part of this pose, generating the corresponding vector in the Lie Algebra. | |
static CPose3DRotVec | exp (const mrpt::math::CArrayDouble< 6 > &vect) |
Exponentiate a Vector in the SE(3) Lie Algebra to generate a new CPose3DRotVec (static method). | |
double | x () const |
Common members of all points & poses classes. | |
double & | x () |
void | x (const double v) |
double | y () const |
double & | y () |
void | y (const double v) |
void | x_incr (const double v) |
void | y_incr (const double v) |
template<class OTHERCLASS > | |
double | sqrDistanceTo (const CPoseOrPoint< OTHERCLASS > &b) const |
Returns the squared euclidean distance to another pose/point: | |
template<class OTHERCLASS > | |
double | distanceTo (const CPoseOrPoint< OTHERCLASS > &b) const |
Returns the Euclidean distance to another pose/point: | |
double | distanceTo (const mrpt::math::TPoint3D &b) const |
Returns the euclidean distance to a 3D point: | |
double | distance2DToSquare (double ax, double ay) const |
Returns the squared 2D distance from this pose/point to a 2D point (ignores Z, if it exists). | |
double | distance3DToSquare (double ax, double ay, double az) const |
Returns the squared 3D distance from this pose/point to a 3D point. | |
double | distance2DTo (double ax, double ay) const |
Returns the 2D distance from this pose/point to a 2D point (ignores Z, if it exists). | |
double | distance3DTo (double ax, double ay, double az) const |
Returns the 3D distance from this pose/point to a 3D point. | |
double | norm () const |
Returns the euclidean norm of vector: ![]() | |
mrpt::math::CVectorDouble | getAsVectorVal () const |
Return the pose or point as a 1xN vector with all the components (see derived classes for each implementation) | |
void | getInverseHomogeneousMatrix (mrpt::math::CMatrixDouble44 &out_HM) const |
Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose. | |
mrpt::math::CMatrixDouble44 | getInverseHomogeneousMatrix () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
static bool | is3DPoseOrPoint () |
Return true for poses or points with a Z component, false otherwise. | |
typedef const double& mrpt::poses::CPose3DRotVec::const_reference |
Definition at line 394 of file CPose3DRotVec.h.
typedef std::ptrdiff_t mrpt::poses::CPose3DRotVec::difference_type |
Definition at line 396 of file CPose3DRotVec.h.
typedef double& mrpt::poses::CPose3DRotVec::reference |
Definition at line 393 of file CPose3DRotVec.h.
typedef std::size_t mrpt::poses::CPose3DRotVec::size_type |
Definition at line 395 of file CPose3DRotVec.h.
A typedef for the associated smart pointer
Definition at line 44 of file CPose3DRotVec.h.
Used to emulate CPosePDF types, for example, in mrpt::graphs::CNetworkOfPoses.
Definition at line 378 of file CPose3DRotVec.h.
typedef double mrpt::poses::CPose3DRotVec::value_type |
The type of the elements.
Definition at line 392 of file CPose3DRotVec.h.
anonymous enum |
Enumerator | |
---|---|
is_3D_val |
Definition at line 379 of file CPose3DRotVec.h.
anonymous enum |
Enumerator | |
---|---|
rotation_dimensions |
Definition at line 381 of file CPose3DRotVec.h.
anonymous enum |
Enumerator | |
---|---|
is_PDF_val |
Definition at line 382 of file CPose3DRotVec.h.
anonymous enum |
Enumerator | |
---|---|
static_size |
Definition at line 400 of file CPose3DRotVec.h.
|
inline |
Default constructor, with all the coordinates set to zero.
Definition at line 54 of file CPose3DRotVec.h.
|
inline |
Fast constructor that leaves all the data uninitialized - call with UNINITIALIZED_POSE as argument.
Definition at line 60 of file CPose3DRotVec.h.
References MRPT_UNUSED_PARAM.
|
inline |
Constructor with initilization of the pose.
Definition at line 65 of file CPose3DRotVec.h.
|
inline |
Constructor with initilization of the pose from a vector [w1 w2 w3 x y z].
Definition at line 71 of file CPose3DRotVec.h.
|
inline |
|
explicit |
Constructor from a 4x4 homogeneous matrix:
|
explicit |
Constructor from a CPose3D object.
mrpt::poses::CPose3DRotVec::CPose3DRotVec | ( | const mrpt::math::CQuaternionDouble & | q, |
const double | x, | ||
const double | y, | ||
const double | z | ||
) |
Constructor from a quaternion (which only represents the 3D rotation part) and a 3D displacement.
|
inlineexplicit |
Constructor from an array with these 6 elements: [w1 w2 w3 x y z] where r{ij} are the entries of the 3x3 rotation matrix and t{x,y,z} are the 3D translation of the pose.
Definition at line 96 of file CPose3DRotVec.h.
|
staticprotected |
|
inline |
Scalar sum of all 6 components: This is diferent from poses composition, which is implemented as "+" operators.
Definition at line 257 of file CPose3DRotVec.h.
|
inline |
|
inline |
Returns a human-readable textual representation of the object: "[x y z rx ry rz]".
Definition at line 346 of file CPose3DRotVec.h.
References mrpt::format().
|
inline |
makes: this = p (+) this
Definition at line 240 of file CPose3DRotVec.h.
void mrpt::poses::CPose3DRotVec::composeFrom | ( | const CPose3DRotVec & | A, |
const CPose3DRotVec & | B, | ||
mrpt::math::CMatrixFixedNumeric< double, 6, 6 > * | out_jacobian_drvtC_drvtA = NULL , |
||
mrpt::math::CMatrixFixedNumeric< double, 6, 6 > * | out_jacobian_drvtC_drvtB = NULL |
||
) |
Makes "this = A (+) B"; this method is slightly more efficient than "this= A + B;" since it avoids the temporary object.
Referenced by operator+().
|
inline |
An alternative, slightly more efficient way of doing
Definition at line 178 of file CPose3DRotVec.h.
References mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.
void mrpt::poses::CPose3DRotVec::composePoint | ( | double | lx, |
double | ly, | ||
double | lz, | ||
double & | gx, | ||
double & | gy, | ||
double & | gz, | ||
mrpt::math::CMatrixFixedNumeric< double, 3, 3 > * | out_jacobian_df_dpoint = NULL , |
||
mrpt::math::CMatrixFixedNumeric< double, 3, 6 > * | out_jacobian_df_dpose = NULL |
||
) | const |
An alternative, slightly more efficient way of doing
If pointers are provided, the corresponding Jacobians are returned. See this report for mathematical details.
|
static |
|
static |
|
inlineinherited |
Returns the 2D distance from this pose/point to a 2D point (ignores Z, if it exists).
Definition at line 165 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare().
|
inlineinherited |
Returns the squared 2D distance from this pose/point to a 2D point (ignores Z, if it exists).
Definition at line 156 of file CPoseOrPoint.h.
References mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DTo().
|
inlineinherited |
Returns the 3D distance from this pose/point to a 3D point.
Definition at line 168 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distanceTo().
|
inlineinherited |
Returns the squared 3D distance from this pose/point to a 3D point.
Definition at line 159 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::is3DPoseOrPoint(), mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DTo().
|
inlineinherited |
Returns the Euclidean distance to another pose/point:
Definition at line 150 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo().
|
inlineinherited |
Returns the euclidean distance to a 3D point:
Definition at line 171 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DTo(), mrpt::math::TPoint3D::x, mrpt::math::TPoint3D::y, and mrpt::math::TPoint3D::z.
|
virtual |
|
inlinestatic |
Definition at line 402 of file CPose3DRotVec.h.
|
static |
Exponentiate a Vector in the SE(3) Lie Algebra to generate a new CPose3DRotVec (static method).
|
inline |
Set the current object value from a string generated by 'asString' (eg: "[x y z yaw pitch roll]", angles in deg.
)
std::exception | On invalid format |
Definition at line 353 of file CPose3DRotVec.h.
References ASSERTMSG_, mrpt::math::size(), and THROW_EXCEPTION.
|
inline |
Gets pose as an array with these 6 elements: [x y z vx vy vz] where v{xyz} is the rotation vector and {xyz} the 3D translation of the pose The target vector MUST ALREADY have space for 6 elements (i.e.
no .resize() method will be called).
Definition at line 304 of file CPose3DRotVec.h.
|
inline |
Like getAs6Vector() but for dynamic size vectors (required by base class CPoseOrPoint)
Definition at line 312 of file CPose3DRotVec.h.
|
inlineinherited |
Return the pose or point as a 1xN vector with all the components (see derived classes for each implementation)
Definition at line 181 of file CPoseOrPoint.h.
|
inline |
Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (translation+orientation).
Definition at line 110 of file CPose3DRotVec.h.
|
inline |
Definition at line 118 of file CPose3DRotVec.h.
CPose3DRotVec mrpt::poses::CPose3DRotVec::getInverse | ( | ) | const |
Compute the inverse of this pose and return the result.
|
inlineinherited |
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 208 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix(), and mrpt::math::UNINITIALIZED_MATRIX.
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::getInverseHomogeneousMatrix().
|
inlineinherited |
Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose.
Definition at line 201 of file CPoseOrPoint.h.
References mrpt::math::homogeneousMatrixInverse().
|
inline |
Definition at line 386 of file CPose3DRotVec.h.
|
inline |
Definition at line 385 of file CPose3DRotVec.h.
|
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 123 of file CPose3DRotVec.h.
References getRotationMatrix(), and mrpt::math::UNINITIALIZED_MATRIX.
Referenced by getRotationMatrix().
void mrpt::poses::CPose3DRotVec::getRotationMatrix | ( | mrpt::math::CMatrixDouble33 & | ROT | ) | const |
Get the 3x3 rotation matrix.
|
virtual |
void mrpt::poses::CPose3DRotVec::inverse | ( | ) |
Convert this pose into its inverse, saving the result in itself.
void mrpt::poses::CPose3DRotVec::inverseComposeFrom | ( | const CPose3DRotVec & | A, |
const CPose3DRotVec & | B | ||
) |
Makes
Referenced by operator-().
void mrpt::poses::CPose3DRotVec::inverseComposePoint | ( | const double | gx, |
const double | gy, | ||
const double | gz, | ||
double & | lx, | ||
double & | ly, | ||
double & | lz, | ||
mrpt::math::CMatrixFixedNumeric< double, 3, 3 > * | out_jacobian_df_dpoint = NULL , |
||
mrpt::math::CMatrixFixedNumeric< double, 3, 6 > * | out_jacobian_df_dpose = NULL |
||
) | const |
Computes the 3D point L such as
If pointers are provided, the corresponding Jacobians are returned. See this report for mathematical details.
|
inlinestaticinherited |
Return true for poses or points with a Z component, false otherwise.
Definition at line 127 of file CPoseOrPoint.h.
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm(), mrpt::poses::operator<(), mrpt::poses::operator<<(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo().
|
inlinestatic |
Definition at line 380 of file CPose3DRotVec.h.
|
inlinestatic |
Definition at line 383 of file CPose3DRotVec.h.
void mrpt::poses::CPose3DRotVec::ln | ( | mrpt::math::CArrayDouble< 6 > & | out_ln | ) | const |
Take the logarithm of the 3x4 matrix defined by this pose, generating the corresponding vector in the SE(3) Lie Algebra.
mrpt::math::CArrayDouble< 3 > mrpt::poses::CPose3DRotVec::ln_rotation | ( | ) | const |
Take the logarithm of the 3x3 rotation matrix part of this pose, generating the corresponding vector in the Lie Algebra.
|
inlinestatic |
Definition at line 403 of file CPose3DRotVec.h.
References static_size.
|
inlineinherited |
Returns the euclidean norm of vector:
Definition at line 174 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::is3DPoseOrPoint(), mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
|
inline |
Scalar multiplication of x,y,z,vx,vy,vz.
Definition at line 263 of file CPose3DRotVec.h.
The operator
The operator
|
inline |
The operator
Definition at line 132 of file CPose3DRotVec.h.
References composeFrom(), and mrpt::poses::UNINITIALIZED_POSE.
|
inline |
Make
Definition at line 205 of file CPose3DRotVec.h.
|
inline |
Compute
Definition at line 226 of file CPose3DRotVec.h.
References inverseComposeFrom(), and mrpt::poses::UNINITIALIZED_POSE.
|
inline |
|
inline |
Definition at line 328 of file CPose3DRotVec.h.
|
inline |
Definition at line 314 of file CPose3DRotVec.h.
|
protected |
|
inlinestatic |
Definition at line 404 of file CPose3DRotVec.h.
References mrpt::format(), and static_size.
mrpt::math::CArrayDouble< 3 > mrpt::poses::CPose3DRotVec::rotVecFromRotMat | ( | const math::CMatrixDouble44 & | m | ) |
Create a vector with 3 components according to the input transformation matrix (only the rotation will be taken into account)
|
inline |
Definition at line 252 of file CPose3DRotVec.h.
|
inline |
Definition at line 248 of file CPose3DRotVec.h.
|
inline |
Definition at line 253 of file CPose3DRotVec.h.
|
inline |
Definition at line 249 of file CPose3DRotVec.h.
|
inline |
Definition at line 254 of file CPose3DRotVec.h.
|
inline |
Definition at line 250 of file CPose3DRotVec.h.
|
inline |
Set pose from an array with these 6 elements: [x y z vx vy vz] where v{xyz} is the rotation vector and {xyz} the 3D translation of the pose.
Definition at line 292 of file CPose3DRotVec.h.
|
inline |
Definition at line 145 of file CPose3DRotVec.h.
|
inline |
Set the pose from a 3D position (meters) and yaw/pitch/roll angles (radians) - This method recomputes the internal rotation matrix.
Definition at line 275 of file CPose3DRotVec.h.
void mrpt::poses::CPose3DRotVec::setFromXYZAndAngles | ( | const double | x, |
const double | y, | ||
const double | z, | ||
const double | yaw = 0 , |
||
const double | pitch = 0 , |
||
const double | roll = 0 |
||
) |
|
virtual |
Set all data fields to quiet NaN.
Implements mrpt::poses::CPoseOrPoint< DERIVEDCLASS >.
|
inlinestatic |
Definition at line 401 of file CPose3DRotVec.h.
References static_size.
void mrpt::poses::CPose3DRotVec::sphericalCoordinates | ( | const mrpt::math::TPoint3D & | point, |
double & | out_range, | ||
double & | out_yaw, | ||
double & | out_pitch | ||
) | const |
Computes the spherical coordinates of a 3D point as seen from the 6D pose specified by this object.
For the coordinate system see mrpt::poses::CPose3D
|
inlineinherited |
Returns the squared euclidean distance to another pose/point:
Definition at line 130 of file CPoseOrPoint.h.
References mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::is3DPoseOrPoint(), mrpt::utils::square(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::x(), and mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::y().
Referenced by mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distanceTo().
void mrpt::poses::CPose3DRotVec::toQuatXYZ | ( | CPose3DQuat & | q | ) | const |
Convert this RVT into a quaternion + XYZ.
|
protected |
|
inlineinherited |
Definition at line 116 of file CPoseOrPoint.h.
|
inlineinherited |
Common members of all points & poses classes.
< Get X coord.
Definition at line 113 of file CPoseOrPoint.h.
Referenced by mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist(), mrpt::poses::CPoint2D::CPoint2D(), mrpt::nav::PoseDistanceMetric< TNodeSE2_TP >::distance(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare(), mrpt::poses::SE_traits< 2 >::exp(), mrpt::poses::CPoint< DERIVEDCLASS >::getHomogeneousMatrix(), mrpt::utils::CRobotSimulator::getX(), mrpt::opengl::graph_tools::graph_visualize(), mrpt::maps::CColouredPointsMap::insertPoint(), mrpt::maps::COctoMapBase< OCTREE, OCTREE_NODE >::internal_build_PointCloud_for_observation(), mrpt::poses::SE_traits< 2 >::ln(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm(), mrpt::poses::operator<(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo(), mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line(), and mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line().
|
inlineinherited |
v | Set X coord. |
Definition at line 119 of file CPoseOrPoint.h.
|
inlineinherited |
v | X+=v |
Definition at line 122 of file CPoseOrPoint.h.
|
inlineinherited |
Definition at line 117 of file CPoseOrPoint.h.
|
inlineinherited |
< Get Y coord.
Definition at line 114 of file CPoseOrPoint.h.
Referenced by mrpt::poses::CPoint< DERIVEDCLASS >::asString(), mrpt::graphs::detail::graph_ops< graph_t >::auxEuclid2Dist(), mrpt::poses::CPoint2D::CPoint2D(), mrpt::nav::PoseDistanceMetric< TNodeSE2_TP >::distance(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance2DToSquare(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::distance3DToSquare(), mrpt::poses::SE_traits< 2 >::exp(), mrpt::poses::CPoint< DERIVEDCLASS >::getHomogeneousMatrix(), mrpt::utils::CRobotSimulator::getY(), mrpt::opengl::graph_tools::graph_visualize(), mrpt::maps::CColouredPointsMap::insertPoint(), mrpt::maps::COctoMapBase< OCTREE, OCTREE_NODE >::internal_build_PointCloud_for_observation(), mrpt::poses::SE_traits< 2 >::ln(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::norm(), mrpt::poses::operator<(), mrpt::poses::CPoseOrPoint< DERIVEDCLASS >::sqrDistanceTo(), mrpt::graphs::detail::graph_ops< graph_t >::write_EDGE_line(), and mrpt::graphs::detail::graph_ops< graph_t >::write_VERTEX_line().
|
inlineinherited |
v | Set Y coord. |
Definition at line 120 of file CPoseOrPoint.h.
|
inlineinherited |
v | Y+=v |
Definition at line 123 of file CPoseOrPoint.h.
|
staticprotected |
Definition at line 44 of file CPose3DRotVec.h.
|
static |
Definition at line 44 of file CPose3DRotVec.h.
|
static |
Definition at line 44 of file CPose3DRotVec.h.
mrpt::math::CArrayDouble<3> mrpt::poses::CPose3DRotVec::m_coords |
The translation vector [x,y,z].
Definition at line 47 of file CPose3DRotVec.h.
Referenced by addComponents(), CPose3DRotVec(), and operator=().
mrpt::math::CArrayDouble<3> mrpt::poses::CPose3DRotVec::m_rotvec |
The rotation vector [vx,vy,vz].
Definition at line 48 of file CPose3DRotVec.h.
Referenced by addComponents(), CPose3DRotVec(), and operator=().
Page generated by Doxygen 1.9.6 for MRPT 1.4.0 SVN: at Tue Jan 17 22:40:29 UTC 2023 |