ARGoS  3
A parallel, multi-engine simulator for swarm robotics
dynamics2d_velocity_control.h
Go to the documentation of this file.
1 
7 #ifndef DYNAMICS2D_VELOCITY_CONTROL_H
8 #define DYNAMICS2D_VELOCITY_CONTROL_H
9 
10 namespace argos {
11  class CDynamics2DEngine;
12 }
13 
14 #include <argos3/plugins/simulator/physics_engines/dynamics2d/chipmunk-physics/include/chipmunk.h>
15 #include <argos3/core/utility/math/vector2.h>
16 
17 namespace argos {
18 
20 
21  public:
22 
24  Real f_max_force,
25  Real f_max_torque);
26 
28 
29  void AttachTo(cpBody* pt_body);
30 
31  void Detach();
32 
33  void Reset();
34 
36 
37  void SetLinearVelocity(const CVector2& c_velocity);
38 
39  Real GetAngularVelocity() const;
40 
41  void SetAngularVelocity(Real f_velocity);
42 
43  inline Real GetMaxForce() const {
44  return m_fMaxForce;
45  }
46 
47  inline Real GetMaxTorque() const {
48  return m_fMaxTorque;
49  }
50 
51  protected:
52 
54 
55  cpBody* m_ptControlBody;
56 
58 
59  cpConstraint* m_ptLinearConstraint;
60 
61  cpConstraint* m_ptAngularConstraint;
62 
64 
66  };
67 
68 }
69 
70 #endif
argos::CDynamics2DVelocityControl::~CDynamics2DVelocityControl
virtual ~CDynamics2DVelocityControl()
Definition: dynamics2d_velocity_control.cpp:31
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CDynamics2DEngine
Definition: dynamics2d_engine.h:42
argos::CDynamics2DVelocityControl
Definition: dynamics2d_velocity_control.h:19
argos::CDynamics2DVelocityControl::Reset
void Reset()
Definition: dynamics2d_velocity_control.cpp:84
argos::CDynamics2DVelocityControl::GetLinearVelocity
CVector2 GetLinearVelocity() const
Definition: dynamics2d_velocity_control.cpp:93
argos::CDynamics2DVelocityControl::SetLinearVelocity
void SetLinearVelocity(const CVector2 &c_velocity)
Definition: dynamics2d_velocity_control.cpp:101
argos::CDynamics2DVelocityControl::m_ptLinearConstraint
cpConstraint * m_ptLinearConstraint
Definition: dynamics2d_velocity_control.h:59
argos::CDynamics2DVelocityControl::Detach
void Detach()
Definition: dynamics2d_velocity_control.cpp:68
argos::CDynamics2DVelocityControl::m_ptControlledBody
cpBody * m_ptControlledBody
Definition: dynamics2d_velocity_control.h:57
argos::CDynamics2DVelocityControl::m_fMaxTorque
Real m_fMaxTorque
Definition: dynamics2d_velocity_control.h:65
argos::CDynamics2DVelocityControl::GetMaxForce
Real GetMaxForce() const
Definition: dynamics2d_velocity_control.h:43
argos::CVector2
A 2D vector class.
Definition: vector2.h:25
argos::CDynamics2DVelocityControl::GetAngularVelocity
Real GetAngularVelocity() const
Definition: dynamics2d_velocity_control.cpp:109
argos::CDynamics2DVelocityControl::GetMaxTorque
Real GetMaxTorque() const
Definition: dynamics2d_velocity_control.h:47
argos::CDynamics2DVelocityControl::SetAngularVelocity
void SetAngularVelocity(Real f_velocity)
Definition: dynamics2d_velocity_control.cpp:116
argos::CDynamics2DVelocityControl::m_ptAngularConstraint
cpConstraint * m_ptAngularConstraint
Definition: dynamics2d_velocity_control.h:61
argos::CDynamics2DVelocityControl::m_cDyn2DEngine
CDynamics2DEngine & m_cDyn2DEngine
Definition: dynamics2d_velocity_control.h:53
argos::CDynamics2DVelocityControl::CDynamics2DVelocityControl
CDynamics2DVelocityControl(CDynamics2DEngine &c_engine, Real f_max_force, Real f_max_torque)
Definition: dynamics2d_velocity_control.cpp:15
argos::CDynamics2DVelocityControl::m_fMaxForce
Real m_fMaxForce
Definition: dynamics2d_velocity_control.h:63
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
argos::CDynamics2DVelocityControl::m_ptControlBody
cpBody * m_ptControlBody
Definition: dynamics2d_velocity_control.h:55
argos::CDynamics2DVelocityControl::AttachTo
void AttachTo(cpBody *pt_body)
Definition: dynamics2d_velocity_control.cpp:38