ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
Go to the documentation of this file.
7 #ifndef DYNAMICS2D_GRIPPING_H
8 #define DYNAMICS2D_GRIPPING_H
11 class CDynamics2DEngine;
12 class CDynamics2DGripper;
13 class CDynamics2DGrippable;
14 class CGripperEquippedEntity;
17 #include <argos3/plugins/simulator/physics_engines/dynamics2d/chipmunk-physics/include/chipmunk.h>
18 #include <argos3/plugins/simulator/entities/gripper_equipped_entity.h>
30 typedef std::list<CDynamics2DGripper*>
TList;
36 cpShape* pt_gripper_shape);
41 return m_pcGrippee != NULL;
49 return m_cGripperEntity;
53 return m_ptGripperShape;
74 cpShape* m_ptGripperShape;
77 cpConstraint* m_tConstraint;
94 return m_cEmbodiedEntity;
102 return !m_listGrippers.empty();
CDynamics2DGrippable * GetGrippee()
void AddConstraintBetweenGripperAndGrippable(cpSpace *pt_space, void *p_obj, void *p_data)
The namespace containing all the ARGoS related code.
int ManageCollisionBetweenGripperAndGrippable(cpArbiter *pt_arb, cpSpace *pt_space, void *p_data)
bool IsLocked() const
Returns true if the gripper is locked.
This entity is a link to a body in the physics engine.
An entity that stores the state of a robot gripper.
cpConstraint * GetConstraint()
void RemoveConstraintBetweenGripperAndGrippable(cpSpace *pt_space, void *p_obj, void *p_data)
int BeginCollisionBetweenGripperAndGrippable(cpArbiter *pt_arb, cpSpace *pt_space, void *p_data)
void Attach(CDynamics2DGripper &c_gripper)
CGripperEquippedEntity & GetGripperEntity()
void Remove(CDynamics2DGripper &c_gripper)
void Release(CDynamics2DGripper &c_gripper)
void CalculateAnchor(cpArbiter *pt_arb)
CEmbodiedEntity & GetEmbodiedEntity()
void Grip(CDynamics2DGrippable *pc_grippee)
std::list< CDynamics2DGripper * > TList
CDynamics2DGripper(CDynamics2DEngine &c_engine, CGripperEquippedEntity &c_gripper_entity, cpShape *pt_gripper_shape)
CDynamics2DGrippable(CEmbodiedEntity &c_entity, cpShape *pt_shape)