1 #ifndef BIORBD_UTILS_VECTOR3D_H
2 #define BIORBD_UTILS_VECTOR3D_H
5 #include "biorbdConfig.h"
7 #include "Utils/Node.h"
8 #include "Utils/Scalar.h"
20 class BIORBD_API Vector3d
38 const biorbd::utils::Scalar& x,
39 const biorbd::utils::Scalar& y,
40 const biorbd::utils::Scalar& z);
51 const biorbd::utils::Scalar& x,
52 const biorbd::utils::Scalar& y,
53 const biorbd::utils::Scalar& z,
73 const RigidBodyDynamics::Math::Vector3d& other);
80 const RigidBodyDynamics::Math::VectorNd& other);
87 const RigidBodyDynamics::Math::Vector4d& other);
89 #ifdef BIORBD_USE_EIGEN3_MATH
90 template<
typename OtherDerived>
Vector3d(
95 const Eigen::MatrixBase<OtherDerived>& other) :
105 template<
typename OtherDerived>
Vector3d(
106 const Eigen::MatrixBase<OtherDerived>& other,
113 #ifdef BIORBD_USE_CASADI_MATH
120 const RBDLCasadiMath::MX_Xd_SubMatrix& other);
153 #ifdef BIORBD_USE_EIGEN3_MATH
154 template<
typename OtherDerived>
160 this->Eigen::Vector3d::operator=(other);
165 #ifdef BIORBD_USE_CASADI_MATH
171 biorbd::utils::Scalar x()
const;
177 biorbd::utils::Scalar y()
const;
183 biorbd::utils::Scalar z()
const;
189 template<
unsigned int i,
unsigned int j>
191 const MX_Xd_static<i, j>& other){
192 this->block<3, 1>(0, 0) = other;
200 const RBDLCasadiMath::MX_Xd_SubMatrix& other);
207 const RigidBodyDynamics::Math::Vector4d& other);
222 #endif // BIORBD_UTILS_VECTOR3D_H