Biorbd
IdealizedActuator.h
1 #ifndef BIORBD_MUSCLES_IDEALIZED_ACTUATOR_H
2 #define BIORBD_MUSCLES_IDEALIZED_ACTUATOR_H
3 
4 #include "biorbdConfig.h"
5 #include "Muscles/Muscle.h"
6 
7 namespace biorbd {
8 namespace muscles {
9 
13 class BIORBD_API IdealizedActuator : public biorbd::muscles::Muscle
14 {
15 public:
20 
28  const biorbd::utils::String& name,
29  const biorbd::muscles::Geometry& geometry,
30  const biorbd::muscles::Characteristics& characteristics);
31 
40  const biorbd::utils::String& name,
41  const biorbd::muscles::Geometry& geometry,
42  const biorbd::muscles::Characteristics& characteristics,
43  const biorbd::muscles::State& emg);
44 
53  const biorbd::utils::String& name,
54  const biorbd::muscles::Geometry& geometry,
55  const biorbd::muscles::Characteristics& characteristics,
56  const biorbd::muscles::PathModifiers& pathModifiers);
57 
67  const biorbd::utils::String& name,
68  const biorbd::muscles::Geometry& geometry,
69  const biorbd::muscles::Characteristics& characteristics,
70  const biorbd::muscles::PathModifiers& pathModifiers,
71  const biorbd::muscles::State& emg);
72 
78  const biorbd::muscles::Muscle& other);
79 
85  const std::shared_ptr<biorbd::muscles::Muscle> other);
86 
91  biorbd::muscles::IdealizedActuator DeepCopy() const;
92 
97  void DeepCopy(const biorbd::muscles::IdealizedActuator& other);
98 
104  virtual const biorbd::utils::Scalar& force(
105  const biorbd::muscles::State& emg);
106 
116  virtual const biorbd::utils::Scalar& force(
120  const biorbd::muscles::State& emg,
121  int updateKin = 2);
122 
131  virtual const biorbd::utils::Scalar& force(
134  const biorbd::muscles::State& emg,
135  int updateKin = 2);
136 protected:
141  virtual biorbd::utils::Scalar getForceFromActivation(
142  const biorbd::muscles::State &emg);
143 
147  virtual void setType();
148 
149 };
150 
151 }}
152 
153 #endif // BIORBD_MUSCLES_IDEALIZED_ACTUATOR_H
biorbd::muscles::State
EMG holder to interact with the muscle.
Definition: State.h:16
biorbd::rigidbody::GeneralizedCoordinates
Class GeneralizedCoordinates.
Definition: GeneralizedCoordinates.h:15
biorbd::muscles::Geometry
Class Geometry of the muscle.
Definition: Geometry.h:30
biorbd::rigidbody::Joints
This is the core of the musculoskeletal model in biorbd.
Definition: Joints.h:40
biorbd::muscles::IdealizedActuator
Muscle that has a constant maximal force.
Definition: IdealizedActuator.h:14
biorbd::muscles::PathModifiers
Holder of all the path modifiers of a muscle.
Definition: PathModifiers.h:18
biorbd::utils::String
Wrapper around the std::string class with augmented functionality.
Definition: String.h:17
biorbd::muscles::Characteristics
Class Holds that muscle characteristics.
Definition: Characteristics.h:17
biorbd::rigidbody::GeneralizedVelocity
Class GeneralizedVelocity.
Definition: GeneralizedVelocity.h:15
biorbd::muscles::Muscle
Base class of all muscle.
Definition: Muscle.h:23