1 #ifndef BIORBD_UTILS_ROTO_TRANS_H
2 #define BIORBD_UTILS_ROTO_TRANS_H
7 #include "Utils/Scalar.h"
9 namespace RigidBodyDynamics {
namespace Math {
10 struct SpatialTransform;
13 #include "biorbdConfig.h"
30 class BIORBD_API RotoTrans
32 class BIORBD_API
RotoTrans :
public RigidBodyDynamics::Math::Matrix4d
41 const RigidBodyDynamics::Math::Matrix4d& matrix = RigidBodyDynamics::Math::Matrix4d::Identity());
63 const biorbd::utils::Scalar& v00,
const biorbd::utils::Scalar& v01,
const biorbd::utils::Scalar& v02,
const biorbd::utils::Scalar& v03,
64 const biorbd::utils::Scalar& v10,
const biorbd::utils::Scalar& v11,
const biorbd::utils::Scalar& v12,
const biorbd::utils::Scalar& v13,
65 const biorbd::utils::Scalar& v20,
const biorbd::utils::Scalar& v21,
const biorbd::utils::Scalar& v22,
const biorbd::utils::Scalar& v23,
66 const biorbd::utils::Scalar& v30,
const biorbd::utils::Scalar& v31,
const biorbd::utils::Scalar& v32,
const biorbd::utils::Scalar& v33);
103 const RigidBodyDynamics::Math::SpatialTransform& st);
105 #ifdef BIORBD_USE_EIGEN3_MATH
111 template<
typename OtherDerived>
RotoTrans(
112 const Eigen::MatrixBase<OtherDerived>& other) :
113 RigidBodyDynamics::Math::Matrix4d(other){
130 const std::pair<biorbd::rigidbody::NodeSegment, biorbd::rigidbody::NodeSegment>& axis1markers,
131 const std::pair<biorbd::rigidbody::NodeSegment, biorbd::rigidbody::NodeSegment>& axis2markers,
132 const std::pair<biorbd::utils::String, biorbd::utils::String> &axesNames,
141 unsigned int idx)
const ;
177 const RigidBodyDynamics::Math::SpatialTransform& st);
205 #ifndef BIORBD_USE_CASADI_MATH
212 const std::vector<biorbd::utils::RotoTrans>&rt);
216 #ifdef BIORBD_USE_EIGEN3_MATH
217 template<
typename OtherDerived>
223 Eigen::Matrix4d::operator=(other);
255 #endif // BIORBD_UTILS_ROTO_TRANS_H