10 #ifndef SPATIAL_DYN_EIGEN_SPATIAL_DECLARATIONS_H_
11 #define SPATIAL_DYN_EIGEN_SPATIAL_DECLARATIONS_H_
13 #include <Eigen/Eigen>
17 template<
typename _Scalar,
int _Cols,
18 int _Options = ::Eigen::AutoAlign | ::Eigen::ColMajor,
int _MaxCols = _Cols>
21 template<
typename _Scalar,
int _Cols,
22 int _Options = ::Eigen::AutoAlign | ::Eigen::ColMajor,
int _MaxCols = _Cols>
25 template<
typename Derived>
26 class SpatialMotionBase;
28 template<
typename Derived>
29 class SpatialForceBase;
31 template<
typename Scalar>
34 template<
typename Scalar>
35 class SpatialInertiaMatrix;
46 template<
typename Scalar,
int Cols,
int Options,
int MaxCols>
47 struct traits<
spatial_dyn::SpatialMotion<Scalar, Cols, Options, MaxCols>>
48 : traits<Matrix<Scalar, 6, Cols, Options, 6, MaxCols>> {
51 template<
typename Scalar,
int Cols,
int Options,
int MaxCols>
52 struct traits<
spatial_dyn::SpatialForce<Scalar, Cols, Options, MaxCols>>
53 : traits<Matrix<Scalar, 6, Cols, Options, 6, MaxCols>> {
58 template<
typename Derived>
59 struct dense_xpr_base<Derived,
spatial_dyn::SpatialMotionXpr> {
62 template<
typename Derived>
63 struct dense_xpr_base<Derived,
spatial_dyn::SpatialForceXpr> {
68 template<
typename T,
int Flags>
69 struct plain_matrix_type_dense<T,
spatial_dyn::SpatialMotionXpr, Flags> {
71 traits<T>::ColsAtCompileTime,
72 AutoAlign | (Flags & RowMajorBit ? RowMajor : ColMajor),
73 traits<T>::MaxColsAtCompileTime>
type;
75 template<
typename T,
int Flags>
76 struct plain_matrix_type_dense<T,
spatial_dyn::SpatialForceXpr, Flags> {
78 traits<T>::ColsAtCompileTime,
79 AutoAlign | (Flags & RowMajorBit ? RowMajor : ColMajor),
80 traits<T>::MaxColsAtCompileTime>
type;
86 struct plain_constant_type<
spatial_dyn::SpatialMotion<double,1,0,1>, double> {
90 struct plain_constant_type<
spatial_dyn::SpatialForce<double,1,0,1>, double> {
95 template<
typename Scalar,
int Cols,
int Options,
int MaxCols>
96 struct evaluator<
spatial_dyn::SpatialMotion<Scalar, Cols, Options, MaxCols>>
97 : evaluator<PlainObjectBase<spatial_dyn::SpatialMotion<Scalar, Cols, Options, MaxCols>>> {
100 explicit evaluator(
const XprType& m) : evaluator<PlainObjectBase<XprType> >(m) {}
102 template<
typename Scalar,
int Cols,
int Options,
int MaxCols>
103 struct evaluator<
spatial_dyn::SpatialForce<Scalar, Cols, Options, MaxCols>>
104 : evaluator<PlainObjectBase<spatial_dyn::SpatialForce<Scalar, Cols, Options, MaxCols>>> {
107 explicit evaluator(
const XprType& m) : evaluator<PlainObjectBase<XprType> >(m) {}
Definition: spatial_force_base.h:18
Definition: spatial_force.h:18
Definition: spatial_motion_base.h:18
Definition: spatial_motion.h:18
Definition: discrete_dynamics.cc:21
Definition: spatial_declarations.h:39
Definition: spatial_declarations.h:38