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;
float Real
Collects all ARGoS code.
#define ARGOS_ASSERT(condition, message)
When code is compiled in debug, this macro throws an ARGoS exception with the passed message if the s...
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.
const std::string & GetId() const
Returns the id of this entity.
virtual std::string GetTypeDescription() const
Returns a string label for this class.
const ULimit & GetLimit() const
const CVector3 & GetJointAxis() const
const CVector3 & GetChildLinkJointPosition() const
CPrototypeLinkEntity & GetParentLink()
virtual ~CPrototypeJointEntity()
const CPrototypeLinkEntity & GetChildLink() const
SActuator & GetActuator()
CPrototypeJointEntity(CComposableEntity *pc_parent)
std::vector< CPrototypeJointEntity * > TVector
bool GetDisableCollision() const
const CVector3 & GetParentLinkJointPosition() const
virtual void Init(TConfigurationNode &t_tree)
Initializes the state of the entity from the XML configuration tree.
std::vector< CPrototypeJointEntity * >::iterator TVectorIterator
const CPrototypeLinkEntity & GetParentLink() const
CPrototypeLinkEntity & GetChildLink()
const CQuaternion & GetChildLinkJointOrientation() const
std::vector< CPrototypeJointEntity * >::const_iterator TVectorConstIterator
const CQuaternion & GetParentLinkJointOrientation() const
CRange< CRadians > Revolute