本例子演示了拾取的功能。
PickHandler继承GUIEventHandler
‘s’键通过CreateModelToSaveVisitor把选中的节点写出。
virtual void apply(osg::Node& node)
{
osgFX::Scribe* scribe =
dynamic_cast<osgFX::Scribe*>(&node);
if (scribe)
{
for
(unsigned int i=0; i<scribe->getNumChildren(); ++i)
{
_group->addChild(scribe->getChild(i));
}
}
else
{
traverse(node);
}
}
‘o’键写出了整个场景。
‘p’键切换拾取的方式。
在例子中用了两种求
PickHandler继承GUIEventHandler
‘s’键通过CreateModelToSaveVisitor把选中的节点写出。
virtual void apply(osg::Node& node)
{
osgFX::Scribe* scribe =
dynamic_cast<osgFX::Scribe*>(&node);
if (scribe)
{
for
(unsigned int i=0; i<scribe->getNumChildren(); ++i)
{
_group->addChild(scribe->getChild(i));
}
}
else
{
traverse(node);
}
}
‘o’键写出了整个场景。
‘p’键切换拾取的方式。
在例子中用了两种求