7 #ifndef DYNAMICS2D_FOOTBOT_MODEL_H
8 #define DYNAMICS2D_FOOTBOT_MODEL_H
11 class CDynamics2DDifferentialSteeringControl;
12 class CDynamics2DGripper;
13 class CDynamics2DGrippable;
16 #include <argos3/plugins/simulator/physics_engines/dynamics2d/dynamics2d_multi_body_object_model.h>
17 #include <argos3/plugins/simulator/physics_engines/dynamics2d/dynamics2d_differentialsteering_control.h>
18 #include <argos3/plugins/robots/foot-bot/simulator/footbot_entity.h>
46 return m_ptActualBaseBody;
50 return m_ptActualBaseBody;
54 return m_ptActualGripperBody;
58 return m_ptActualGripperBody;
63 void TurretPassiveToActive();
64 void TurretActiveToPassive();
77 cpShape* m_ptBaseShape;
78 cpBody* m_ptActualBaseBody;
79 cpBody* m_ptActualGripperBody;
80 cpBody* m_ptControlGripperBody;
81 cpConstraint* m_ptGripperControlAngularMotion;
82 cpConstraint* m_ptBaseGripperLinearMotion;
83 cpConstraint* m_ptBaseGripperAngularMotion;
85 const Real* m_fCurrentWheelVelocity;
87 UInt8 m_unLastTurretMode;
88 Real m_fPreviousTurretAngleError;
const cpBody * GetActualBaseBody() const
Base class for object models with multiple bodies.
cpBody * GetActualGripperBody()
float Real
Collects all ARGoS code.
unsigned char UInt8
8-bit unsigned integer.
CDynamics2DFootBotModel(CDynamics2DEngine &c_engine, CFootBotEntity &c_entity)
const cpBody * GetActualGripperBody() const
virtual void MoveTo(const CVector3 &c_position, const CQuaternion &c_orientation)
void UpdateTurretAnchor(SAnchor &s_anchor)
An anchor related to the body of an entity.
void UpdatePerspectiveCameraAnchor(SAnchor &s_anchor)
void UpdateOriginAnchor(SAnchor &s_anchor)
virtual ~CDynamics2DFootBotModel()
cpBody * GetActualBaseBody()
virtual void CalculateBoundingBox()
Calculates the axis-aligned box that contains the entire physics model.
The namespace containing all the ARGoS related code.
virtual void UpdateFromEntityStatus()
Updates the state of this model from the status of the associated entity.
An entity that stores the state of a robot gripper.