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  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  getVicinity< MatrixType, T, ReturnType, D >
 This huge template encapsulates a function to get the vicinity of an element, with maximum genericity. 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::poses
 Classes for 2D/3D geometry representation, both of single values and probability density distributions (PDFs) in many forms.
 
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_)
 
#define MRPT_MATRIX_CONSTRUCTORS_FROM_POSES(_CLASS_)
 
#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 including the SVN number.
 
template<class CONTAINER1 , class CONTAINER2 >
void mrpt::math::cumsum (const CONTAINER1 &in_data, CONTAINER2 &out_cumsum)
 Computes the cumulative sum of all the elements, saving the result in another container.
 
template<class CONTAINER >
CONTAINER::value_type mrpt::math::norm (const CONTAINER &v)
 
template<class CONTAINER >
CONTAINER::value_type 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 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.
 
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)
 
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

#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); }

Definition at line 109 of file CColouredPointsMap.h.

#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); }
#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); }



Page generated by Doxygen 1.8.3 for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013