Biorbd
State.h
1 #ifndef BIORBD_MUSCLES_STATE_H
2 #define BIORBD_MUSCLES_STATE_H
3 
4 #include <memory>
5 #include "biorbdConfig.h"
6 #include "Muscles/MusclesEnums.h"
7 #include "Utils/Scalar.h"
8 
9 namespace biorbd {
10 
11 namespace muscles {
15 class BIORBD_API State
16 {
17 public:
23  State(
24  const biorbd::utils::Scalar& excitation = 0,
25  const biorbd::utils::Scalar& activation = 0);
26 
31  State(
32  const biorbd::muscles::State& other);
33 
37  virtual ~State();
38 
43  biorbd::muscles::State DeepCopy() const;
44 
49  void DeepCopy(
50  const biorbd::muscles::State& other);
51 
60  virtual void setExcitation(
61  const biorbd::utils::Scalar& val,
62  bool turnOffWarnings = false);
63 
68  const biorbd::utils::Scalar& excitation() const;
69 
78  const biorbd::utils::Scalar& normalizeExcitation(
79  const biorbd::muscles::State &emgMax,
80  bool turnOffWarnings = false);
81 
86  void setExcitationNorm(
87  const biorbd::utils::Scalar& val);
88 
93  const biorbd::utils::Scalar& excitationNorm() const;
94 
106  virtual void setActivation(
107  const biorbd::utils::Scalar& val,
108  bool turnOffWarnings = false);
109 
114  const biorbd::utils::Scalar& activation() const;
115 
120  biorbd::muscles::STATE_TYPE type() const;
121 protected:
125  virtual void setType();
126 
127  std::shared_ptr<biorbd::muscles::STATE_TYPE> m_stateType;
128  std::shared_ptr<biorbd::utils::Scalar> m_excitation;
129  std::shared_ptr<biorbd::utils::Scalar> m_excitationNorm;
130  std::shared_ptr<biorbd::utils::Scalar> m_activation;
131 
132 };
133 
134 }}
135 
136 #endif // BIORBD_MUSCLES_STATE_H
biorbd::muscles::State::m_excitationNorm
std::shared_ptr< biorbd::utils::Scalar > m_excitationNorm
The normalized excitation.
Definition: State.h:129
biorbd::muscles::State::m_stateType
std::shared_ptr< biorbd::muscles::STATE_TYPE > m_stateType
The state type.
Definition: State.h:127
biorbd::muscles::State::m_excitation
std::shared_ptr< biorbd::utils::Scalar > m_excitation
The muscle excitation.
Definition: State.h:128
biorbd::muscles::State
EMG holder to interact with the muscle.
Definition: State.h:16
biorbd::muscles::State::m_activation
std::shared_ptr< biorbd::utils::Scalar > m_activation
The muscle activation.
Definition: State.h:130