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)
49 JointType* parentJoint =
new JointType(_joint);
61 template <
class Jo
intType>
66 const typename JointType::Properties& _joint,
bool _recursive)
const
68 JointType* parentJoint =
new JointType(_joint);
69 std::pair<Joint*, BodyNode*> root =
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)
82 JointType* joint =
new JointType(_jointProperties);
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:78
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:2590
bool moveBodyNodeTree(Joint *_parentJoint, BodyNode *_bodyNode, SkeletonPtr _newSkeleton, BodyNode *_parentNode)
Move a subtree of BodyNodes from this Skeleton to another Skeleton.
Definition: Skeleton.cpp:2482
void registerBodyNode(BodyNode *_newBodyNode)
Register a BodyNode with the Skeleton. Internal use only.
Definition: Skeleton.cpp:2113
std::shared_ptr< Skeleton > SkeletonPtr
Definition: SmartPointer.hpp:60
Definition: BulletCollisionDetector.cpp:63