- 3.0.2 rigid body dynamics module.
eigen_traits.h
Go to the documentation of this file.
1 /* CPYHDR { */
2 /*
3  * This file is part of the 'iit-rbd' library.
4  * Copyright © 2015 2016, Marco Frigerio (marco.frigerio@iit.it)
5  *
6  * See the LICENSE file for more information.
7  */
8 /* } CPYHDR */
9 
10 #ifndef IIT_RBD_EIGEN_TRAITS_
11 #define IIT_RBD_EIGEN_TRAITS_
12 
13 
14 #include "StateDependentMatrix.h"
15 #include "TransformsBase.h"
16 
23 namespace Eigen {
24 namespace internal {
25 
29 template<typename State, typename M>
30 struct traits< iit::rbd::HomogeneousTransformBase<State, M> >
31 {
33  typedef traits<MxType> Traits;
34  typedef typename Traits::Scalar Scalar;
35  typedef typename Traits::StorageKind StorageKind;
36  typedef typename Traits::Index Index;
37  typedef typename Traits::XprKind XprKind;
38  enum {
39  RowsAtCompileTime = Traits::RowsAtCompileTime,
40  ColsAtCompileTime = Traits::ColsAtCompileTime,
41  MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime,
42  MaxColsAtCompileTime = Traits::MaxColsAtCompileTime,
43  Options = Traits::Options,
44  Flags = Traits::Flags,
45  CoeffReadCost = Traits::CoeffReadCost,
46  InnerStrideAtCompileTime = Traits::InnerStrideAtCompileTime,
47  OuterStrideAtCompileTime = Traits::OuterStrideAtCompileTime
48  };
49 };
50 
54 template<typename State, typename M>
55 struct traits< iit::rbd::RotationTransformBase<State, M> >
56 {
58  typedef traits<MxType> Traits;
59  typedef typename Traits::Scalar Scalar;
60  typedef typename Traits::StorageKind StorageKind;
61  typedef typename Traits::Index Index;
62  typedef typename Traits::XprKind XprKind;
63  enum {
64  RowsAtCompileTime = Traits::RowsAtCompileTime,
65  ColsAtCompileTime = Traits::ColsAtCompileTime,
66  MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime,
67  MaxColsAtCompileTime = Traits::MaxColsAtCompileTime,
68  Options = Traits::Options,
69  Flags = Traits::Flags,
70  CoeffReadCost = Traits::CoeffReadCost,
71  InnerStrideAtCompileTime = Traits::InnerStrideAtCompileTime,
72  OuterStrideAtCompileTime = Traits::OuterStrideAtCompileTime
73  };
74 };
75 
76 
77 }
78 }
79 
80 #endif
Traits::StorageKind StorageKind
Definition: eigen_traits.h:60
Definition: eigen_traits.h:23
iit::rbd::RotationTransformBase< State, M >::MatrixType MxType
Definition: eigen_traits.h:57
Base MatrixType
Definition: StateDependentMatrix.h:49
traits< MxType > Traits
Definition: eigen_traits.h:58
iit::rbd::HomogeneousTransformBase< State, M >::MatrixType MxType
Definition: eigen_traits.h:32
Traits::StorageKind StorageKind
Definition: eigen_traits.h:35