Go to the documentation of this file.
124 template <
class DERIVEDCLASS>
128 mrpt::poses::detail::T3DTypeHelper<DERIVEDCLASS>::is_3D_val>
133 return *
static_cast<const DERIVEDCLASS*
>(
this);
135 DERIVEDCLASS&
derived() {
return *
static_cast<DERIVEDCLASS*
>(
this); }
140 inline double x() const
144 inline double y() const
158 inline void x(
const double v)
162 inline void y(
const double v)
179 return DERIVEDCLASS::is_3D_val != 0;
183 template <
class OTHERCLASS>
188 if (
b.is3DPoseOrPoint())
194 static_cast<const OTHERCLASS*
>(&
b)->m_coords[2]);
197 square(
static_cast<const OTHERCLASS*
>(&
b)->m_coords[2]);
203 square(
static_cast<const OTHERCLASS*
>(&
b)->m_coords[2]);
210 template <
class OTHERCLASS>
274 template <
class MATRIX44>
278 derived().getHomogeneousMatrix(m);
286 template <
class MATRIX44>
289 derived().getHomogeneousMatrix(out_HM);
294 template <
class MATRIX44>
double distance3DToSquare(double ax, double ay, double az) const
Returns the squared 3D distance from this pose/point to a 3D point.
void x_incr(const double v)
void y_incr(const double v)
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction.
MATRIX44 getInverseHomogeneousMatrixVal() const
This is an overloaded member function, provided for convenience. It differs from the above function o...
double sqrDistanceTo(const CPoseOrPoint< OTHERCLASS > &b) const
Returns the squared euclidean distance to another pose/point:
void homogeneousMatrixInverse(const MATRIXLIKE1 &M, MATRIXLIKE2 &out_inverse_M)
Efficiently compute the inverse of a 4x4 homogeneous matrix by only transposing the rotation 3x3 part...
double distanceTo(const CPoseOrPoint< OTHERCLASS > &b) const
Returns the Euclidean distance to another pose/point:
double norm() const
Returns the euclidean norm of vector: .
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
const DERIVEDCLASS & derived() const
T square(const T x)
Inline function for the square of a number.
double distanceTo(const mrpt::math::TPoint3D &b) const
Returns the euclidean distance to a 3D point:
The base template class for 2D & 3D points and poses.
mrpt::math::CVectorDouble getAsVectorVal() const
Return the pose or point as a 1xN vector with all the components (see derived classes for each implem...
double x() const
Common members of all points & poses classes.
void getInverseHomogeneousMatrix(MATRIX44 &out_HM) const
Returns the corresponding 4x4 inverse homogeneous transformation matrix for this point or pose.
MATRIX44 getHomogeneousMatrixVal() const
Returns the corresponding 4x4 homogeneous transformation matrix for the point(translation) or pose (t...
virtual void setToNaN()=0
Set all data fields to quiet NaN.
double distance3DTo(double ax, double ay, double az) const
Returns the 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).
static bool is3DPoseOrPoint()
Return true for poses or points with a Z component, false otherwise.
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).
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |