49 template<
typename Po
intT>
59 template <
class Po
intT>
67 typedef typename Point::value_type Scalar;
69 typedef typename std::vector<Joint*>::iterator ChildIter;
73 JointT(
const Joint &_other);
74 JointT(Joint *_parent, std::string _name =
"");
79 inline size_t id()
const;
85 inline bool isRoot()
const;
93 inline ChildIter
begin();
94 inline ChildIter
end();
95 inline size_t size()
const;
96 inline Joint *
child(
size_t _index);
109 inline std::string
name()
const;
110 inline void setName(
const std::string& _name);
118 inline void setId(
const size_t _id);
129 #if defined(INCLUDE_TEMPLATES) && !defined(JOINTT_C) 130 #define JOINTT_TEMPLATES 131 #include "JointT_impl.hh" size_t id() const
returns the joint id
size_t size() const
Returns the number of children.
void setSelected(bool _selected)
Set the joint's selction state.
void setParent(Joint *_newParent, SkeletonT< PointT > &_skeleton)
access parent of the joint
std::string name() const
Access the name of the joint.
ChildIter end()
Returns the end iterator for the joints children.
JointT(const Joint &_other)
Constructor.
Represents a single joint in the skeleton.
bool selected() const
Returns the joint's selection state.
Joint * child(size_t _index)
Returns the child joint with the given index.
std::string name_
the name of the joint
size_t id_
An unique identifier, guaranteed to be part of a continuous sequence starting from 0...
Joint * parent()
Returns the parent joint.
Joint * parent_
The parent joint; this joint is in its parents JointT::children_ vector. It's 0 for the root node...
std::vector< Joint * > children_
The joints children, use the JointT::getChild method to access them.
ChildIter begin()
Returns an iterator on the joints children.