7 #ifndef PROTOTYPE_JOINT_ENTITY_H
8 #define PROTOTYPE_JOINT_ENTITY_H
11 class CPrototypeLinkEntity;
12 class CPrototypeJointEntity;
15 #include <argos3/core/simulator/entity/composable_entity.h>
16 #include <argos3/core/utility/math/quaternion.h>
17 #include <argos3/core/utility/math/vector3.h>
27 using TVector = std::vector<CPrototypeJointEntity*>;
80 return *m_pcParentLink;
84 return *m_pcParentLink;
88 return m_cParentLinkJointPosition;
92 return m_cParentLinkJointOrientation;
96 return *m_pcChildLink;
100 return *m_pcChildLink;
104 return m_cChildLinkJointPosition;
108 return m_cChildLinkJointOrientation;
112 return m_bDisableCollision;
129 "CPrototypeJointEntity::GetLimit(), id=\"" <<
131 "\": joint was not initialized with a limit");
146 CVector3 m_cParentLinkJointPosition;
153 bool m_bDisableCollision;
159 SActuator m_cActuator;
#define ARGOS_ASSERT(condition, message)
When code is compiled in debug, this macro throws an ARGoS exception with the passed message if the s...
float Real
Collects all ARGoS code.
The namespace containing all the ARGoS related code.
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
Basic class for an entity that contains other entities.
std::vector< CEntity * > TVector
A vector of entities.
const std::string & GetId() const
Returns the id of this entity.
virtual std::string GetTypeDescription() const
Returns a string label for this class.
CPrototypeLinkEntity & GetChildLink()
const CVector3 & GetChildLinkJointPosition() const
const CPrototypeLinkEntity & GetChildLink() const
const CVector3 & GetParentLinkJointPosition() const
virtual ~CPrototypeJointEntity()
SActuator & GetActuator()
const CVector3 & GetJointAxis() const
CPrototypeJointEntity(CComposableEntity *pc_parent)
bool GetDisableCollision() const
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
std::vector< CPrototypeJointEntity * >::iterator TVectorIterator
CPrototypeLinkEntity & GetParentLink()
const ULimit & GetLimit() const
const CQuaternion & GetParentLinkJointOrientation() const
const CPrototypeLinkEntity & GetParentLink() const
const CQuaternion & GetChildLinkJointOrientation() const
std::vector< CPrototypeJointEntity * >::const_iterator TVectorConstIterator
CRange< CRadians > Revolute