From David Callu, added getOrCreateScene method, made contractors protected.

From Robert Osfield, made getOrCreateScene protected and made View a friend
of Scene to all it to construct Scene objects itself.
This commit is contained in:
Robert Osfield
2007-09-22 16:50:45 +00:00
parent 82b0f004e9
commit da70320707
2 changed files with 23 additions and 5 deletions

View File

@@ -52,7 +52,7 @@ void Scene::setSceneData(osg::Node* node)
if (_databasePager.valid())
{
// register any PagedLOD that need to be tracked in the scene graph
_databasePager->registerPagedLODs(node);
if (node) _databasePager->registerPagedLODs(node);
}
}
@@ -85,3 +85,16 @@ Scene* Scene::getScene(osg::Node* node)
return 0;
}
Scene* Scene::getOrCreateScene(osg::Node* node)
{
if (!node) return 0;
osgViewer::Scene* scene = getScene(node);
if (!scene)
{
scene = new Scene;
scene->setSceneData(node);
}
return scene;
}