protected void DeriveRootBone()
{
if ( boneList.Count == 0 )
{
throw new Exception( "Cannot derive the root bone for a skeleton that has no bones." );
}
rootBones.Clear();
// get the first bone in the list
Bone currentBone = boneList[ 0 ];
foreach ( Bone bone in boneList.Values )
{
if ( bone.Parent == null )
{
rootBones.Add( bone );
}
}
}