28 #ifndef mrpt_math_forwddecls_H
29 #define mrpt_math_forwddecls_H
31 #include <mrpt/config.h>
48 template<
class T>
inline T
square(
const T x);
76 template <
typename MAT,
int TypeSizeAtCompileTime>
81 template <
typename MAT>
83 static inline void internal_resize(MAT &obj,
size_t row,
size_t col) { obj.derived().conservativeResize(row,col); }
84 static inline void internal_resize(MAT &obj,
size_t nsize) { obj.derived().conservativeResize(nsize); }
109 #define MRPT_MATRIX_CONSTRUCTORS_FROM_POSES(_CLASS_) \
110 explicit inline _CLASS_( const mrpt::math::TPose2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
111 explicit inline _CLASS_( const mrpt::math::TPose3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
112 explicit inline _CLASS_( const mrpt::math::TPose3DQuat &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
113 explicit inline _CLASS_( const mrpt::math::TPoint2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
114 explicit inline _CLASS_( const mrpt::math::TPoint3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
115 explicit inline _CLASS_( const mrpt::poses::CPose2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
116 explicit inline _CLASS_( const mrpt::poses::CPose3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
117 explicit inline _CLASS_( const mrpt::poses::CPose3DQuat &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
118 explicit inline _CLASS_( const mrpt::poses::CPoint2D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); } \
119 explicit inline _CLASS_( const mrpt::poses::CPoint3D &p) { mrpt::math::containerFromPoseOrPoint(*this,p); }
122 template <
class CONTAINER1,
class CONTAINER2>
void cumsum(
const CONTAINER1 &in_data, CONTAINER2 &out_cumsum);
127 template <
class MAT_A,
class SKEW_3VECTOR,
class MAT_OUT>
void multiply_A_skew3(
const MAT_A &A,
const SKEW_3VECTOR &v, MAT_OUT &out);
128 template <
class SKEW_3VECTOR,
class MAT_A,
class MAT_OUT>
void multiply_skew3_A(
const SKEW_3VECTOR &v,
const MAT_A &A, MAT_OUT &out);
139 template <
class MATORG,
class MATDEST>
142 const size_t first_row,
143 const size_t first_col,
184 template<
typename MatrixType,
typename T,
typename ReturnType,
size_t D>
struct getVicinity;