1 #ifndef BIORBD_MUSCLES_GEOMETRY_H
2 #define BIORBD_MUSCLES_GEOMETRY_H
6 #include "biorbdConfig.h"
7 #include "Utils/Scalar.h"
18 class GeneralizedCoordinates;
19 class GeneralizedVelocity;
24 class Characteristics;
68 void updateKinematics(
85 void updateKinematics(
101 void updateKinematics(
102 std::vector<biorbd::utils::Vector3d>& musclePointsInGlobal,
115 void updateKinematics(
116 std::vector<biorbd::utils::Vector3d>& musclePointsInGlobal,
138 void setInsertionInLocal(
169 const std::vector<biorbd::utils::Vector3d>& musclesPointsInGlobal()
const;
175 const biorbd::utils::Scalar& length()
const;
181 const biorbd::utils::Scalar& musculoTendonLength()
const;
187 const biorbd::utils::Scalar& velocity()
const;
213 unsigned int idxViaPoint)
const;
229 void _updateKinematics(
258 void setMusclesPointsInGlobal(
259 std::vector<biorbd::utils::Vector3d>& ptsInGlobal);
267 void setMusclesPointsInGlobal(
279 const biorbd::utils::Scalar& length(
288 const biorbd::utils::Scalar& velocity(
295 void setJacobianDimension(
317 void computeJacobianLength();
328 std::shared_ptr<biorbd::utils::Matrix>
m_G;
343 #endif // BIORBD_MUSCLES_GEOMETRY_H
std::shared_ptr< biorbd::utils::Vector3d > m_originInGlobal
Position of the origin in the global reference.
Wrapper around Eigen Vector3d and attach it to a parent.
std::shared_ptr< biorbd::utils::Scalar > m_velocity
Velocity of the muscular elongation.
Class GeneralizedCoordinates.
std::shared_ptr< std::vector< biorbd::utils::Vector3d > > m_pointsInGlobal
Position of all the points in the global reference.
std::shared_ptr< biorbd::utils::Vector3d > m_origin
Origin node.
Class Geometry of the muscle.
std::shared_ptr< bool > m_posAndJacoWereForced
To know if the override was used on the muscle position and the Jacobian.
std::shared_ptr< biorbd::utils::Matrix > m_G
Internal matrix of the jacobian dimension to speed up calculation.
std::shared_ptr< biorbd::utils::Matrix > m_jacobianLength
The muscle length jacobian.
std::shared_ptr< bool > m_isVelocityComputed
To know if the velocity was computed in the last update.
This is the core of the musculoskeletal model in biorbd.
std::shared_ptr< biorbd::utils::Matrix > m_jacobian
The jacobian matrix.
Holder of all the path modifiers of a muscle.
A wrapper for the Eigen::MatrixXd.
std::shared_ptr< biorbd::utils::Vector3d > m_insertion
Insertion node.
std::shared_ptr< biorbd::utils::Scalar > m_length
Muscle length.
std::shared_ptr< std::vector< biorbd::utils::Vector3d > > m_pointsInLocal
Position of all the points in local.
std::shared_ptr< biorbd::utils::Vector3d > m_insertionInGlobal
Position of the insertion node in the global reference.
std::shared_ptr< biorbd::utils::Scalar > m_muscleTendonLength
Muscle tendon length.
Class Holds that muscle characteristics.
Class GeneralizedVelocity.
std::shared_ptr< bool > m_isGeometryComputed
To know if the geometry was computed at least once.