Main MRPT website > C++ reference for MRPT 1.5.7
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>
Include dependency graph for math_frwds.h:
This graph shows which files directly or indirectly include this file:

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 >
 
class  mrpt::math::CMatrixTemplate< T >
 This template class provides the basic functionality for a general 2D any-size, resizable container of numerical or non-numerical elements. More...
 
class  mrpt::math::CMatrixTemplateObjects< T >
 This template class extends the class "CMatrixTemplate" for storing "objects" at each matrix entry. More...
 
class  mrpt::math::CQuaternion< T >
 A quaternion, which can represent a 3D rotation as pair $ (r,\mathbf{u}) $, with a real part "r" and a 3D vector $ \mathbf{u} = (x,y,z) $, or alternatively, q = r + ix + jy + kz. More...
 
struct  mrpt::math::ContainerType< CONTAINER >
 ContainerType<T>::element_t exposes the value of any STL or Eigen container. More...
 
class  mrpt::math::detail::VicinityTraits< T >
 The purpose of this class is to model traits for containers, so that they can be used as return values for the function CMatrixTemplate::getVicinity. More...
 
struct  mrpt::math::detail::getVicinity< MatrixType, T, ReturnType, D >
 This huge template encapsulates a function to get the vicinity of an element, with maximum genericity. More...
 

Namespaces

 mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
 mrpt::utils
 Classes for serialization, sockets, ini-file manipulation, streams, list of properties-values, timewatch, extensions to STL.
 
 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.
 
 mrpt::math
 This base provides a set of functions for maths stuff.
 
 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

std::string BASE_IMPEXP mrpt::system::MRPT_getVersion ()
 Returns a string describing the MRPT version. More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
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) More...
 
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. More...
 
template<class T >
mrpt::math::wrapTo2Pi (T a)
 Modifies the given angle to translate it into the [0,2pi[ range. More...
 
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) More...
 

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); }
CONTAINER & containerFromPoseOrPoint(CONTAINER &C, const POINT_OR_POSE &p)
Conversion of poses (TPose2D,TPoint2D,..., mrpt::poses::CPoint2D,CPose3D,...) to MRPT containers (vec...
A class used to store a 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,qz).
Definition: CPose3DQuat.h:41
A class used to store a 2D point.
Definition: CPoint2D.h:36
A class used to store a 3D point.
Definition: CPoint3D.h:32
Lightweight 3D pose (three spatial coordinates, plus a quaternion ).
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle...
Definition: CPose2D.h:36
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:72
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
Lightweight 2D pose.
Lightweight 3D point.
Lightweight 2D point.
GLfloat GLfloat p
Definition: glext.h:5587

Definition at line 88 of file math_frwds.h.




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