ARGoS  3
A parallel, multi-engine simulator for swarm robotics
dynamics2d_stretchable_object_model.h
Go to the documentation of this file.
1 
7 #ifndef DYNAMICS2D_STRETCHABLE_OBJECT_MODEL_H
8 #define DYNAMICS2D_STRETCHABLE_OBJECT_MODEL_H
9 
10 namespace argos {
11  class CDynamics2DGrippable;
12  class CDynamics2DStretchableObjectModel;
13 }
14 
15 #include <argos3/plugins/simulator/physics_engines/dynamics2d/dynamics2d_single_body_object_model.h>
16 
17 namespace argos {
18 
19  /****************************************/
20  /****************************************/
21 
33 
34  public:
35 
37  CComposableEntity& c_entity);
38 
40 
41  virtual void MoveTo(const CVector3& c_position,
42  const CQuaternion& c_orientation);
43 
44  virtual void Reset();
45 
46  virtual void UpdateFromEntityStatus() {}
47 
48  inline Real GetMass() const {
49  return m_fMass;
50  }
51 
52  inline void SetMass(Real f_mass) {
53  m_fMass = f_mass;
54  }
55 
56  inline void SetGrippable(CDynamics2DGrippable* pc_grippable) {
57  m_pcGrippable = pc_grippable;
58  }
59 
64  void SetLinearFriction(Real f_max_bias,
65  Real f_max_force);
66 
71  void SetAngularFriction(Real f_max_bias,
72  Real f_max_force);
73 
74  private:
75 
76  Real m_fMass;
77  CDynamics2DGrippable* m_pcGrippable;
78  cpConstraint* m_ptLinearFriction;
79  cpConstraint* m_ptAngularFriction;
80  };
81 
82  /****************************************/
83  /****************************************/
84 
85 }
86 
87 #endif
argos::CDynamics2DStretchableObjectModel::Reset
virtual void Reset()
Definition: dynamics2d_stretchable_object_model.cpp:47
argos::CDynamics2DStretchableObjectModel
A stretchable and grippable object model for the dynamics 2D engine.
Definition: dynamics2d_stretchable_object_model.h:32
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CVector3
A 3D vector class.
Definition: vector3.h:29
argos::CDynamics2DStretchableObjectModel::SetGrippable
void SetGrippable(CDynamics2DGrippable *pc_grippable)
Definition: dynamics2d_stretchable_object_model.h:56
argos::CComposableEntity
Basic class for an entity that contains other entities.
Definition: composable_entity.h:32
argos::CDynamics2DGrippable
Definition: dynamics2d_gripping.h:84
argos::CDynamics2DSingleBodyObjectModel
Base class for object models with a single body.
Definition: dynamics2d_single_body_object_model.h:47
argos::CDynamics2DEngine
Definition: dynamics2d_engine.h:42
argos::CDynamics2DStretchableObjectModel::~CDynamics2DStretchableObjectModel
virtual ~CDynamics2DStretchableObjectModel()
Definition: dynamics2d_stretchable_object_model.cpp:20
argos::CDynamics2DStretchableObjectModel::CDynamics2DStretchableObjectModel
CDynamics2DStretchableObjectModel(CDynamics2DEngine &c_engine, CComposableEntity &c_entity)
Definition: dynamics2d_stretchable_object_model.cpp:9
argos::CDynamics2DStretchableObjectModel::SetAngularFriction
void SetAngularFriction(Real f_max_bias, Real f_max_force)
Sets the angular friction of this object.
Definition: dynamics2d_stretchable_object_model.cpp:73
argos::CQuaternion
Definition: quaternion.h:14
argos::CDynamics2DStretchableObjectModel::SetLinearFriction
void SetLinearFriction(Real f_max_bias, Real f_max_force)
Sets the linear friction of this object.
Definition: dynamics2d_stretchable_object_model.cpp:58
argos::CDynamics2DStretchableObjectModel::SetMass
void SetMass(Real f_mass)
Definition: dynamics2d_stretchable_object_model.h:52
argos::CDynamics2DStretchableObjectModel::UpdateFromEntityStatus
virtual void UpdateFromEntityStatus()
Updates the state of this model from the status of the associated entity.
Definition: dynamics2d_stretchable_object_model.h:46
argos::CDynamics2DStretchableObjectModel::MoveTo
virtual void MoveTo(const CVector3 &c_position, const CQuaternion &c_orientation)
Definition: dynamics2d_stretchable_object_model.cpp:35
argos::CDynamics2DStretchableObjectModel::GetMass
Real GetMass() const
Definition: dynamics2d_stretchable_object_model.h:48
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39