osgUtil.PrintVisitor是一个遍历场景图的工具类,它可以将场景图的节点信息打印出来。
PrintVisitor(bool traverseDrawables = true);
traverseDrawables: 是否遍历节点中的可绘制对象,默认为true。virtual void apply(osg::Node& node);
node节点,并将节点信息打印输出。virtual void apply(osg::Geode& geode);
geode节点,并将节点信息打印输出。virtual void apply(osg::Drawable& drawable);
drawable节点并将相应信息打印输出。// 创建场景图
osg::ref_ptr<osg::Node> root = createSceneGraph();
// 创建遍历器
osg::ref_ptr<osgUtil::PrintVisitor> pv = new osgUtil::PrintVisitor;
// 遍历场景图
root->accept(*pv);
打印输出的结果如下:
osg::Group [0x1059fd130] NPS
[...]