1 #ifndef BIORBD_MUSCLES_WRAPPING_OBJECT_H
2 #define BIORBD_MUSCLES_WRAPPING_OBJECT_H
4 #include "biorbdConfig.h"
5 #include "Utils/Scalar.h"
6 #include "Utils/Vector3d.h"
15 class GeneralizedCoordinates;
37 const biorbd::utils::Scalar& x,
38 const biorbd::utils::Scalar& y,
39 const biorbd::utils::Scalar& z);
49 const biorbd::utils::Scalar& x,
50 const biorbd::utils::Scalar& y,
51 const biorbd::utils::Scalar& z,
95 biorbd::utils::Scalar* muscleLength =
nullptr) = 0 ;
114 biorbd::utils::Scalar* muscleLength =
nullptr) = 0;
125 biorbd::utils::Scalar* muscleLength =
nullptr) = 0;
137 bool updateKin =
true) = 0;
149 this->biorbd::utils::Vector3d::operator=(other);
153 std::shared_ptr<biorbd::utils::RotoTrans>
m_RT;
158 #endif // BIORBD_MUSCLES_WRAPPING_OBJECT_H
biorbd::muscles::WrappingObject & operator=(const biorbd::utils::Vector3d &other)
To be able to use the equal "=" operator to define wrapping object.
Wrapper around Eigen Vector3d and attach it to a parent.
Class GeneralizedCoordinates.
This is the core of the musculoskeletal model in biorbd.
Homogenous matrix to describe translations and rotations simultaneously.
virtual const biorbd::utils::RotoTrans & RT(biorbd::rigidbody::Joints &model, const biorbd::rigidbody::GeneralizedCoordinates &Q, bool updateKin=true)=0
Return the RotoTrans matrix of the wrapping object.
virtual void wrapPoints(biorbd::rigidbody::Joints &model, const biorbd::rigidbody::GeneralizedCoordinates &Q, const biorbd::utils::Vector3d &p1_bone, const biorbd::utils::Vector3d &p2_bone, biorbd::utils::Vector3d &p1, biorbd::utils::Vector3d &p2, biorbd::utils::Scalar *muscleLength=nullptr)=0
From the position of the wrapping object, return the 2 locations where the muscle leaves the wrapping...
Base class for the wrapping objects.
Wrapper around the std::string class with augmented functionality.
virtual void wrapPoints(const biorbd::utils::RotoTrans &rt, const biorbd::utils::Vector3d &p1_bone, const biorbd::utils::Vector3d &p2_bone, biorbd::utils::Vector3d &p1, biorbd::utils::Vector3d &p2, biorbd::utils::Scalar *muscleLength=nullptr)=0
From the position of the wrapping object, return the 2 locations where the muscle leaves the wrapping...
std::shared_ptr< biorbd::utils::RotoTrans > m_RT
RotoTrans matrix of the wrapping object.
virtual void wrapPoints(biorbd::utils::Vector3d &p1, biorbd::utils::Vector3d &p2, biorbd::utils::Scalar *muscleLength=nullptr)=0
Returns the previously computed 2 locations where the muscle leaves the wrapping object.