Main MRPT website > C++ reference for MRPT 1.4.0
Classes | Namespaces | Macros | Enumerations | Functions
math_frwds.h File Reference

Detailed Description

Forward declarations of all mrpt::math classes related to vectors, arrays and matrices. Many of the function implementations are in ops_matrices.h, others in ops_containers.h

Definition in file math_frwds.h.

#include <mrpt/config.h>
#include <mrpt/base/link_pragmas.h>
#include <mrpt/poses/poses_frwds.h>
#include <string>

Go to the source code of this file.

Classes

struct  mrpt::math::detail::TAuxResizer< MAT, TypeSizeAtCompileTime >
 Internal resize which compiles to nothing on fixed-size matrices. More...
 
struct  mrpt::math::detail::TAuxResizer< MAT,-1 >
 
struct  mrpt::math::ContainerType< CONTAINER >
 ContainerType<T>::element_t exposes the value of any STL or Eigen container. More...
 

Namespaces

namespace  mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
namespace  mrpt::utils
 Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
 
namespace  mrpt::system
 This namespace provides a OS-independent interface to many useful functions: filenames manipulation, time and date, string parsing, file I/O, threading, memory allocation, etc.
 
namespace  mrpt::math
 This base provides a set of functions for maths stuff.
 
namespace  mrpt::math::detail
 

Macros

#define MRPT_MATRIX_CONSTRUCTORS_FROM_POSES(_CLASS_)
 

Enumerations

enum  mrpt::math::TMatrixTextFileFormat { mrpt::math::MATRIX_FORMAT_ENG = 0 , mrpt::math::MATRIX_FORMAT_FIXED = 1 , mrpt::math::MATRIX_FORMAT_INT = 2 }
 
enum  mrpt::math::TConstructorFlags_Matrices { mrpt::math::UNINITIALIZED_MATRIX = 0 }
 For usage in one of the constructors of CMatrixFixedNumeric or CMatrixTemplate (and derived classes), if it's not required to fill it with zeros at the constructor to save time. More...
 

Functions

template<class T >
mrpt::utils::square (const T x)
 Inline function for the square of a number.
 
std::string BASE_IMPEXP mrpt::system::MRPT_getVersion ()
 Returns a string describing the MRPT version.
 
template<class CONTAINER1 , class CONTAINER2 >
void mrpt::math::cumsum (const CONTAINER1 &in_data, CONTAINER2 &out_cumsum)
 
template<class CONTAINER >
CONTAINER::Scalar mrpt::math::norm (const CONTAINER &v)
 
template<class CONTAINER >
CONTAINER::Scalar mrpt::math::norm_inf (const CONTAINER &v)
 
template<class MAT_A , class SKEW_3VECTOR , class MAT_OUT >
void mrpt::math::multiply_A_skew3 (const MAT_A &A, const SKEW_3VECTOR &v, MAT_OUT &out)
 Only for vectors/arrays "v" of length3, compute out = A * Skew(v), where Skew(v) is the skew symmetric matric generated from v (see mrpt::math::skew_symmetric3)
 
template<class SKEW_3VECTOR , class MAT_A , class MAT_OUT >
void mrpt::math::multiply_skew3_A (const SKEW_3VECTOR &v, const MAT_A &A, MAT_OUT &out)
 Only for vectors/arrays "v" of length3, compute out = Skew(v) * A, where Skew(v) is the skew symmetric matric generated from v (see mrpt::math::skew_symmetric3)
 
TPoint2D BASE_IMPEXP mrpt::math::detail::lightFromPose (const mrpt::poses::CPoint2D &p)
 Convert a pose into a light-weight structure (functional form, needed for forward declarations)
 
TPoint3D BASE_IMPEXP mrpt::math::detail::lightFromPose (const mrpt::poses::CPoint3D &p)
 Convert a pose into a light-weight structure (functional form, needed for forward declarations)
 
TPose2D BASE_IMPEXP mrpt::math::detail::lightFromPose (const mrpt::poses::CPose2D &p)
 Convert a pose into a light-weight structure (functional form, needed for forward declarations)
 
TPose3D BASE_IMPEXP mrpt::math::detail::lightFromPose (const mrpt::poses::CPose3D &p)
 Convert a pose into a light-weight structure (functional form, needed for forward declarations)
 
TPose3DQuat BASE_IMPEXP mrpt::math::detail::lightFromPose (const mrpt::poses::CPose3DQuat &p)
 Convert a pose into a light-weight structure (functional form, needed for forward declarations)
 
template<class MATORG , class MATDEST >
void mrpt::math::detail::extractMatrix (const MATORG &M, const size_t first_row, const size_t first_col, MATDEST &outMat)
 Extract a submatrix - The output matrix must be set to the required size before call.
 
template<class T >
mrpt::math::wrapTo2Pi (T a)
 Modifies the given angle to translate it into the [0,2pi[ range.
 
Container initializer from pose classes
template<class CONTAINER , class POINT_OR_POSE >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const POINT_OR_POSE &p)
 Conversion of poses (TPose2D,TPoint2D,..., mrpt::poses::CPoint2D,CPose3D,...) to MRPT containers (vector/matrix)
 

Macro Definition Documentation

◆ MRPT_MATRIX_CONSTRUCTORS_FROM_POSES

#define MRPT_MATRIX_CONSTRUCTORS_FROM_POSES (   _CLASS_)
Value:
explicit inline _CLASS_( const mrpt::math::TPose2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::math::TPose3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::math::TPose3DQuat &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::math::TPoint2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::math::TPoint3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::poses::CPose2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::poses::CPose3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::poses::CPose3DQuat &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::poses::CPoint2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
explicit inline _CLASS_( const mrpt::poses::CPoint3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); }
A class used to store a 2D point.
Definition CPoint2D.h:37
A class used to store a 3D point.
Definition CPoint3D.h:33
A class used to store a 2D pose.
Definition CPose2D.h:37
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition CPose3D.h:73
A class used to store a 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,...
Definition CPose3DQuat.h:42
CONTAINER & containerFromPoseOrPoint(CONTAINER &C, const POINT_OR_POSE &p)
Conversion of poses (TPose2D,TPoint2D,..., mrpt::poses::CPoint2D,CPose3D,...) to MRPT containers (vec...
Lightweight 2D point.
Lightweight 3D point.
Lightweight 2D pose.
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
Lightweight 3D pose (three spatial coordinates, plus a quaternion ).

Definition at line 88 of file math_frwds.h.




Page generated by Doxygen 1.9.8 for MRPT 1.4.0 SVN: at Fri Dec 15 05:36:48 UTC 2023