为什么使用model-> asGeode();返回NULL?

时间:2013-02-08 04:45:07

标签: openscenegraph

这些天我正在研究OpenSceneGraph:

// Assumes the Cessna's root node is a group node.
osg::ref_ptr<osg::Node> model = osgDB::readNodeFile("cessna.osg");
osg::Group* convModel1 = model->asGroup(); // OK!
osg::Geode* convModel2 = model->asGeode(); // Returns NULL?

为什么要模型 - &gt; asGeode();返回NULL?

1 个答案:

答案 0 :(得分:2)

如果你在文本编辑器中查看cessna.osg:

Group {
  UniqueID Group_0
  DataVariance STATIC
  cullingActive TRUE
  num_children 1
  Geode {
    DataVariance DYNAMIC
    name "cessna.osg"
    cullingActive TRUE
    num_drawables 1
    Geometry {

你会看到顶级实体是一个组,而不是一个Geode。你需要在从readNodeFile返回的Node上使用getChild(),然后你应该能够asGeode()。