15 #ifndef __Thea_RigidTransformN_hpp__ 16 #define __Thea_RigidTransformN_hpp__ 19 #include "AffineTransformN.hpp" 37 template <
int N,
typename T>
46 THEA_DECL_SMART_POINTERS(RigidTransformT)
53 static RigidTransformT
translation(VectorT
const & translation_)
55 return _fromAffine(AffineTransformT::translation(translation_));
62 static RigidTransformT
_fromAffine(AffineTransformT
const & aff_)
79 MatrixT
const &
getRotation()
const {
return aff.getLinear(); }
88 void setTranslation(VectorT
const & translation_) { aff.setTranslation(translation_); }
100 AffineTransformT
const &
toAffine()
const {
return aff; }
111 MatrixT inv = aff.getLinear().transpose();
122 VectorT
operator*(VectorT
const & v)
const {
return aff * v; }
127 std::ostringstream oss;
135 static RigidTransformT
const idty =
_fromAffine(AffineTransformT::identity());
140 AffineTransformT aff;
152 template <
int N,
typename T = Real>
160 typedef typename BaseT::VectorT
VectorT;
161 typedef typename BaseT::MatrixT
MatrixT;
169 template <
int N,
typename T>
171 operator<<(std::ostream & os, RigidTransformN<N, T>
const & tr)
173 return os << tr.toString();
178 #include "RigidTransform2.hpp" 179 #include "RigidTransform3.hpp" Eigen::Matrix< T, Size, 1, Options|((Options &Eigen::DontAlign)==0 &&Size==Eigen::Dynamic?Eigen::AutoAlign:Eigen::DontAlign), MaxRowsAtCompileTime, 1 > Vector
General 1D dense column vector template, alias for Eigen::Matrix<T, Size, 1,...>, with a custom align...
std::string toString(char const *s)
Convert a C-string to a std::string object, returning an empty string if the input is a null pointer...
Root namespace for the Thea library.
Eigen::Matrix< T, Rows, Cols, Options|((Options &Eigen::DontAlign)==0 &&(Rows==Eigen::Dynamic||Cols==Eigen::Dynamic)?Eigen::AutoAlign:Eigen::DontAlign), MaxRowsAtCompileTime, MaxColsAtCompileTime > Matrix
General 2D dense matrix template, alias for Eigen::Matrix with a custom default layout (row or column...