Biorbd
ActuatorLinear.h
1 #ifndef BIORBD_ACTUATORS_ACTUATOR_LINEAR_H
2 #define BIORBD_ACTUATORS_ACTUATOR_LINEAR_H
3 
4 #include "biorbdConfig.h"
5 #include "Actuators/Actuator.h"
6 
7 namespace biorbd {
8 namespace rigidbody {
9 class GeneralizedCoordinates;
10 }
11 
12 namespace actuator {
13 
17 class BIORBD_API ActuatorLinear : public Actuator
18 {
19 public:
24 
31 
40  int direction,
41  const biorbd::utils::Scalar& T0,
42  const biorbd::utils::Scalar& slope,
43  unsigned int dofIdx);
44 
53 
55  int direction,
56  const biorbd::utils::Scalar& T0,
57  const biorbd::utils::Scalar& slope,
58  unsigned int dofIdx,
59  const biorbd::utils::String &jointName);
60 
64  virtual ~ActuatorLinear();
65 
70  biorbd::actuator::ActuatorLinear DeepCopy() const;
71 
76  void DeepCopy(
78 
84  virtual biorbd::utils::Scalar torqueMax();
85 
91  virtual biorbd::utils::Scalar torqueMax(
93 
94 protected:
95 
99  virtual void setType();
100 
101  // mx+b
102  std::shared_ptr<biorbd::utils::Scalar> m_m;
103  std::shared_ptr<biorbd::utils::Scalar> m_b;
104 
105 };
106 
107 }}
108 
109 #endif // BIORBD_ACTUATORS_ACTUATOR_LINEAR_H
biorbd::actuator::Actuator
Class Actuator.
Definition: Actuator.h:20
biorbd::rigidbody::GeneralizedCoordinates
Class GeneralizedCoordinates.
Definition: GeneralizedCoordinates.h:15
biorbd::actuator::ActuatorLinear::m_m
std::shared_ptr< biorbd::utils::Scalar > m_m
Slope.
Definition: ActuatorLinear.h:102
biorbd::utils::String
Wrapper around the std::string class with augmented functionality.
Definition: String.h:17
biorbd::actuator::ActuatorLinear
Class ActuatorLinear is a joint actuator type that linearly evolves.
Definition: ActuatorLinear.h:18
biorbd::actuator::ActuatorLinear::m_b
std::shared_ptr< biorbd::utils::Scalar > m_b
Torque at zero.
Definition: ActuatorLinear.h:103