33 #ifndef DART_DYNAMICS_DETAIL_SKELETON_HPP_
34 #define DART_DYNAMICS_DETAIL_SKELETON_HPP_
42 template <
class Jo
intType>
47 const typename JointType::Properties& _joint)
61 template <
class Jo
intType>
66 const typename JointType::Properties& _joint,
67 bool _recursive)
const
71 parentJoint, _bodyNode, _newSkeleton, _parentNode, _recursive);
72 return std::pair<JointType*, BodyNode*>(parentJoint, root.second);
76 template <
class Jo
intType,
class NodeType>
79 const typename JointType::Properties& _jointProperties,
80 const typename NodeType::Properties& _bodyProperties)
83 NodeType* node =
new NodeType(_parent, joint, _bodyProperties);
86 return std::pair<JointType*, NodeType*>(joint, node);
BodyNode class represents a single node of the skeleton.
Definition: BodyNode.hpp:79
std::pair< JointType *, NodeType * > createJointAndBodyNodePair(BodyNode *_parent=nullptr, const typename JointType::Properties &_jointProperties=typename JointType::Properties(), const typename NodeType::Properties &_bodyProperties=typename NodeType::Properties())
Create a Joint and child BodyNode pair of the given types.
Definition: Skeleton.hpp:77
std::pair< Joint *, BodyNode * > cloneBodyNodeTree(Joint *_parentJoint, const BodyNode *_bodyNode, const SkeletonPtr &_newSkeleton, BodyNode *_parentNode, bool _recursive) const
Copy a subtree of BodyNodes onto another Skeleton while leaving the originals intact.
Definition: Skeleton.cpp:2667
bool moveBodyNodeTree(Joint *_parentJoint, BodyNode *_bodyNode, SkeletonPtr _newSkeleton, BodyNode *_parentNode)
Move a subtree of BodyNodes from this Skeleton to another Skeleton.
Definition: Skeleton.cpp:2557
void registerBodyNode(BodyNode *_newBodyNode)
Register a BodyNode with the Skeleton. Internal use only.
Definition: Skeleton.cpp:2171
std::shared_ptr< Skeleton > SkeletonPtr
Definition: SmartPointer.hpp:60
JointType
Definition: Types.hpp:132
Definition: BulletCollisionDetector.cpp:65