Go to the documentation of this file.
9 #ifndef mrpt_math_forwddecls_H
10 #define mrpt_math_forwddecls_H
12 #include <mrpt/config.h>
14 #include <type_traits>
38 template <
typename MAT,
int TypeSizeAtCompileTime>
44 template <
typename MAT>
49 obj.derived().conservativeResize(
row, col);
53 obj.derived().conservativeResize(nsize);
80 class CMatrixTemplate;
82 class CMatrixTemplateObjects;
89 template <
typename CONTAINER>
95 #define MRPT_MATRIX_CONSTRUCTORS_FROM_POSES(_CLASS_) \
96 template <class TPOSE, typename = std::enable_if_t<std::is_base_of< \
97 mrpt::math::TPoseOrPoint, TPOSE>::value>> \
98 explicit inline _CLASS_(const TPOSE& p) \
100 mrpt::math::containerFromPoseOrPoint(*this, p); \
102 template <class CPOSE, int = CPOSE::is_3D_val> \
103 explicit inline _CLASS_(const CPOSE& p) \
105 mrpt::math::containerFromPoseOrPoint(*this, p); \
108 template <
class CONTAINER1,
class CONTAINER2>
109 void cumsum(
const CONTAINER1& in_data, CONTAINER2& out_cumsum);
111 template <
class CONTAINER>
113 template <
class CONTAINER>
116 template <
class MAT_A,
class SKEW_3VECTOR,
class MAT_OUT>
118 template <
class SKEW_3VECTOR,
class MAT_A,
class MAT_OUT>
123 template <
class MATORG,
class MATDEST>
125 const MATORG& M,
const size_t first_row,
const size_t first_col,
131 template <
class CONTAINER,
class POINT_OR_POSE>
152 template <
typename T>
171 template <
typename MatrixType,
typename T,
typename ReturnType,
size_t D>
This huge template encapsulates a function to get the vicinity of an element, with maximum genericity...
@ MATRIX_FORMAT_INT
intergers 'i'
CONTAINER::Scalar norm_inf(const CONTAINER &v)
void cumsum(const CONTAINER1 &in_data, CONTAINER2 &out_cumsum)
@ MATRIX_FORMAT_FIXED
fixed floating point 'f'
static void internal_resize(MAT &, size_t)
GLsizei GLsizei GLuint * obj
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
static void internal_resize(MAT &obj, size_t row, size_t col)
T wrapTo2Pi(T a)
Modifies the given angle to translate it into the [0,2pi[ range.
static void internal_resize(MAT &obj, size_t nsize)
@ MATRIX_FORMAT_ENG
engineering format 'e'
void 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 symmetri...
void 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.
CONTAINER::Scalar norm(const CONTAINER &v)
typename CONTAINER::value_type element_t
The purpose of this class is to model traits for containers, so that they can be used as return value...
TConstructorFlags_Matrices
For usage in one of the constructors of CMatrixFixedNumeric or CMatrixTemplate (and derived classes),...
static void internal_resize(MAT &, size_t, size_t)
Internal resize which compiles to nothing on fixed-size matrices.
void 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 symmetri...
GLenum GLenum GLvoid * row
GLsizei const GLchar ** string
CONTAINER & containerFromPoseOrPoint(CONTAINER &C, const POINT_OR_POSE &p)
Conversion of poses (TPose2D,TPoint2D,..., mrpt::poses::CPoint2D,CPose3D,...) to MRPT containers (vec...
std::string MRPT_getVersion()
Returns a string describing the MRPT version.
GLubyte GLubyte GLubyte a
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 | |