Main MRPT website > C++ reference
MRPT logo
Classes | Namespaces | Macros | Enumerations | Functions | Variables
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 <cmath>
#include <cstdlib>
#include <algorithm>
#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::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::poses
 Classes for 2D/3D geometry representation, both of single values and probability density distributions (PDFs) in many forms.
 
 mrpt::math
 This base provides a set of functions for maths stuff.
 
 mrpt::math::detail
 

Macros

#define MRPT_MATRIX_CONSTRUCTORS_FROM_POSES(_CLASS_)
 
#define mrpt_math_forwddecls_H
 
#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. More...
 
std::string BASE_IMPEXP mrpt::system::MRPT_getVersion ()
 Returns a string describing the MRPT version including the SVN number. 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 CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const mrpt::poses::CPoint2D &p)
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const mrpt::poses::CPoint3D &p)
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const mrpt::poses::CPose2D &p)
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const mrpt::poses::CPose3D &p)
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const mrpt::poses::CPose3DQuat &p)
 
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 >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const TPoint2D &p)
 Conversion of poses to MRPT containers (vector/matrix) More...
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const TPoint3D &p)
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const TPose2D &p)
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const TPose3D &p)
 
template<class CONTAINER >
CONTAINER & mrpt::math::containerFromPoseOrPoint (CONTAINER &C, const TPose3DQuat &p)
 

Variables

class BASE_IMPEXP mrpt::utils::CStream
 

Macro Definition Documentation

◆ mrpt_math_forwddecls_H

#define mrpt_math_forwddecls_H

Definition at line 11 of file CColouredPointsMap.h.

◆ MRPT_MATRIX_CONSTRUCTORS_FROM_POSES [1/2]

#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 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,qz).
Definition: CPose3DQuat.h:44
A class used to store a 2D point.
Definition: CPoint2D.h:35
A class used to store a 3D point.
Definition: CPoint3D.h:33
Lightweight 3D pose (three spatial coordinates, plus a quaternion ).
A class used to store a 2D pose.
Definition: CPose2D.h:35
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:71
CONTAINER & containerFromPoseOrPoint(CONTAINER &C, const TPoint2D &p)
Conversion of poses to MRPT containers (vector/matrix)
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
Lightweight 2D pose.
Lightweight 3D point.
Lightweight 2D point.

◆ MRPT_MATRIX_CONSTRUCTORS_FROM_POSES [2/2]

#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 3D pose as a translation (x,y,z) and a quaternion (qr,qx,qy,qz).
Definition: CPose3DQuat.h:44
A class used to store a 2D point.
Definition: CPoint2D.h:35
A class used to store a 3D point.
Definition: CPoint3D.h:33
Lightweight 3D pose (three spatial coordinates, plus a quaternion ).
A class used to store a 2D pose.
Definition: CPose2D.h:35
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:71
CONTAINER & containerFromPoseOrPoint(CONTAINER &C, const TPoint2D &p)
Conversion of poses to MRPT containers (vector/matrix)
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
Lightweight 2D pose.
Lightweight 3D point.
Lightweight 2D point.

Definition at line 90 of file CColouredPointsMap.h.




Page generated by Doxygen 1.8.14 for MRPT 1.1.0 SVN: at lun oct 28 00:54:49 CET 2019 Hosted on:
SourceForge.net Logo