diff --git a/SkeletonObjectInfoScripting.cc b/SkeletonObjectInfoScripting.cc index 528db01607a8dac5ac4a8e7b90f93a571b987577..727133181f1bb8ea7c36c65ae41e01c07b378c4f 100644 --- a/SkeletonObjectInfoScripting.cc +++ b/SkeletonObjectInfoScripting.cc @@ -266,9 +266,12 @@ double InfoSkeletonObjectPlugin::minBoneLength(int _skeletonID) double min = std::numeric_limits::max(); for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter) { - double length = boneLength(_skeletonID,iter->id()); - if (length < min) - min = length; + if (!iter->isRoot()) + { + double length = boneLength(_skeletonID,iter->id()); + if (length < min) + min = length; + } } return min; } @@ -293,9 +296,12 @@ double InfoSkeletonObjectPlugin::maxBoneLength(int _skeletonID) double max = std::numeric_limits::min(); for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter) { - double length = boneLength(_skeletonID,iter->id()); - if (length > max) - max = length; + if (!iter->isRoot()) + { + double length = boneLength(_skeletonID,iter->id()); + if (length > max) + max = length; + } } return max; } @@ -321,8 +327,11 @@ double InfoSkeletonObjectPlugin::meanBoneLength(int _skeletonID) unsigned int count = 0; for (Skeleton::Iterator iter = skeleton->begin(); iter != skeleton->end(); ++iter) { - sum += boneLength(_skeletonID,iter->id()); - ++count; + if (!iter->isRoot()) + { + sum += boneLength(_skeletonID,iter->id()); + ++count; + } } return (sum/static_cast(count));