33#ifndef DART_DYNAMICS_DETAIL_SKELETON_HPP_
34#define DART_DYNAMICS_DETAIL_SKELETON_HPP_
42template <
class Jo
intType>
47 const typename JointType::Properties& _joint)
49 JointType* parentJoint =
new JointType(_joint);
61template <
class Jo
intType>
66 const typename JointType::Properties& _joint,
67 bool _recursive)
const
69 JointType* parentJoint =
new JointType(_joint);
71 parentJoint, _bodyNode, _newSkeleton, _parentNode, _recursive);
72 return std::pair<JointType*, BodyNode*>(parentJoint, root.second);
76template <
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: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
Definition BulletCollisionDetector.cpp:65