Biorbd
StateDynamics.h
1 #ifndef BIORBD_MUSCLES_STATE_DYNAMICS_H
2 #define BIORBD_MUSCLES_STATE_DYNAMICS_H
3 
4 #include "biorbdConfig.h"
5 #include "Muscles/State.h"
6 
7 namespace biorbd {
8 namespace muscles {
9 class Characteristics;
13 class BIORBD_API StateDynamics : public biorbd::muscles::State
14 {
15 public:
22  const biorbd::utils::Scalar& excitation = 0,
23  const biorbd::utils::Scalar& activation = 0);
24 
30  const biorbd::muscles::StateDynamics& other);
31 
35  virtual ~StateDynamics();
36 
41  biorbd::muscles::StateDynamics DeepCopy() const;
42 
47  void DeepCopy(
48  const biorbd::muscles::StateDynamics& other);
49 
58  virtual void setExcitation(
59  const biorbd::utils::Scalar& val,
60  bool turnOffWarnings = false);
61 
66  const biorbd::utils::Scalar& previousExcitation() const;
67 
79  virtual void setActivation(
80  const biorbd::utils::Scalar& val,
81  bool turnOffWarnings = false);
82 
87  const biorbd::utils::Scalar& previousActivation() const;
88 
97  virtual const biorbd::utils::Scalar& timeDerivativeActivation(
98  const biorbd::utils::Scalar& excitation,
99  const biorbd::utils::Scalar& activation,
100  const Characteristics& characteristics,
101  bool alreadyNormalized = false);
102 
110  virtual const biorbd::utils::Scalar& timeDerivativeActivation(
111  const biorbd::muscles::State& emg,
112  const biorbd::muscles::Characteristics& characteristics,
113  bool alreadyNormalized = false);
114 
121  virtual const biorbd::utils::Scalar& timeDerivativeActivation(
122  const biorbd::muscles::Characteristics& characteristics,
123  bool alreadyNormalized = false);
124 
129  virtual const biorbd::utils::Scalar& timeDerivativeActivation();
130 
131 protected:
132  virtual void setType();
133  std::shared_ptr<biorbd::utils::Scalar> m_previousExcitation;
134  std::shared_ptr<biorbd::utils::Scalar> m_previousActivation;
135  std::shared_ptr<biorbd::utils::Scalar> m_activationDot;
136 
137 };
138 
139 }}
140 
141 #endif // BIORBD_MUSCLES_STATE_DYNAMICS_H
biorbd::muscles::StateDynamics::m_previousActivation
std::shared_ptr< biorbd::utils::Scalar > m_previousActivation
The previous activation.
Definition: StateDynamics.h:134
biorbd::muscles::State
EMG holder to interact with the muscle.
Definition: State.h:16
biorbd::muscles::StateDynamics::m_activationDot
std::shared_ptr< biorbd::utils::Scalar > m_activationDot
The activation velocity.
Definition: StateDynamics.h:135
biorbd::muscles::StateDynamics
EMG with the capability to compute the time derivative.
Definition: StateDynamics.h:14
biorbd::muscles::Characteristics
Class Holds that muscle characteristics.
Definition: Characteristics.h:17
biorbd::muscles::StateDynamics::m_previousExcitation
std::shared_ptr< biorbd::utils::Scalar > m_previousExcitation
The previous excitation.
Definition: StateDynamics.h:133