Introduce Camera::s/getRenderer().

This commit is contained in:
Robert Osfield
2007-07-28 10:28:40 +00:00
parent f38be8c7a8
commit 6dec61842d
9 changed files with 47 additions and 32 deletions

View File

@@ -95,7 +95,7 @@ SceneView::SceneView(DisplaySettings* ds)
_prioritizeTextures = false;
_camera = new Camera;
setCamera(new Camera);
_camera->setViewport(new Viewport);
_camera->setClearColor(osg::Vec4(0.2f, 0.2f, 0.4f, 1.0f));
@@ -132,6 +132,7 @@ SceneView::SceneView(const SceneView& rhs, const osg::CopyOp& copyop):
_prioritizeTextures = rhs._prioritizeTextures;
_camera = rhs._camera;
_cameraWithOwnership = rhs._cameraWithOwnership;
_initCalled = rhs._initCalled;
@@ -231,7 +232,7 @@ void SceneView::setDefaults(unsigned int options)
_camera->setClearColor(osg::Vec4(0.2f, 0.2f, 0.4f, 1.0f));
}
void SceneView::setCamera(osg::Camera* camera)
void SceneView::setCamera(osg::Camera* camera, bool assumeOwnershipOfCamera)
{
if (camera)
{
@@ -241,6 +242,15 @@ void SceneView::setCamera(osg::Camera* camera)
{
osg::notify(osg::NOTICE)<<"Warning: attempt to assign a NULL camera to SceneView not permitted."<<std::endl;
}
if (assumeOwnershipOfCamera)
{
_cameraWithOwnership = _camera.get();
}
else
{
_cameraWithOwnership = 0;
}
}
void SceneView::setSceneData(osg::Node* node)