|
|
@ -417,12 +417,14 @@ namespace SceneUtil
|
|
|
|
// get the node bounds in view space
|
|
|
|
// get the node bounds in view space
|
|
|
|
// NB do not node->getBound() * modelView, that would apply the node's transformation twice
|
|
|
|
// NB do not node->getBound() * modelView, that would apply the node's transformation twice
|
|
|
|
osg::BoundingSphere nodeBound;
|
|
|
|
osg::BoundingSphere nodeBound;
|
|
|
|
osg::Group* group = node->asGroup();
|
|
|
|
osg::Transform* transform = node->asTransform();
|
|
|
|
if (group)
|
|
|
|
if (transform)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
for (unsigned int i=0; i<group->getNumChildren(); ++i)
|
|
|
|
for (unsigned int i=0; i<transform->getNumChildren(); ++i)
|
|
|
|
nodeBound.expandBy(group->getChild(i)->getBound());
|
|
|
|
nodeBound.expandBy(transform->getChild(i)->getBound());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
nodeBound = node->getBound();
|
|
|
|
osg::Matrixf mat = *cv->getModelViewMatrix();
|
|
|
|
osg::Matrixf mat = *cv->getModelViewMatrix();
|
|
|
|
transformBoundingSphere(mat, nodeBound);
|
|
|
|
transformBoundingSphere(mat, nodeBound);
|
|
|
|
|
|
|
|
|
|
|
|