Biorbd
SpatialVector.h
1 #ifndef BIORBD_UTILS_SPATIAL_VECTOR_H
2 #define BIORBD_UTILS_SPATIAL_VECTOR_H
3 
4 #include "biorbdConfig.h"
5 #include "rbdl_math.h"
6 #include "Utils/Scalar.h"
7 
8 namespace biorbd {
9 namespace utils {
10 
14 #ifdef SWIG
15 class BIORBD_API SpatialVector
16 #else
17 class BIORBD_API SpatialVector : public RigidBodyDynamics::Math::SpatialVector
18 #endif
19 {
20 public:
24  SpatialVector();
25 
31  const biorbd::utils::SpatialVector& other);
32 
43  biorbd::utils::Scalar v1, biorbd::utils::Scalar v2, biorbd::utils::Scalar v3,
44  biorbd::utils::Scalar v4, biorbd::utils::Scalar v5, biorbd::utils::Scalar v6);
45 
46 #ifdef BIORBD_USE_CASADI_MATH
52  const casadi::MX& v);
53 
59  const RBDLCasadiMath::MX_Xd_SubMatrix& m);
60 #endif
61 
62 #ifndef SWIG
63  void operator=(
68  const biorbd::utils::SpatialVector& other);
69 #ifdef BIORBD_USE_EIGEN3_MATH
70  template<typename OtherDerived>
75  biorbd::utils::SpatialVector& operator=(const Eigen::MatrixBase <OtherDerived>& other){
76  this->Eigen::Matrix<double, 6, 1>::operator=(other);
77  return *this;
78  }
79 #endif
80 #ifdef BIORBD_USE_CASADI_MATH
81  void operator=(
86  const RBDLCasadiMath::MX_Xd_SubMatrix& other);
87 
92  void operator=(
93  const casadi::MX& other);
94 #endif
95 
96 #endif
97 };
98 
99 }}
100 
101 #endif // BIORBD_UTILS_SPATIAL_VECTOR_H
biorbd::utils::SpatialVector
Wrapper of the Eigen::Matrix<double, 6, 1> or Casadi::MX(6, 1)
Definition: SpatialVector.h:19