CameraInfo::~CameraInfo()
{
-
+ delete viewportListener;
}
osg::Camera* CameraInfo::getCamera(const std::string& k) const
// out of the SceneView objects in the viewer, and the coordinates
// of mouse events are somewhat bizzare.
- info->viewportListener.reset(new CameraViewportListener(info, viewportNode, window->gc->getTraits()));
+ info->viewportListener = new CameraViewportListener(info, viewportNode, window->gc->getTraits());
info->updateCameras();
// Distortion camera needs the viewport which is created by addCamera().
camera->setRenderOrder(osg::Camera::POST_RENDER, 10000);
SGPropertyNode* viewportNode = cameraNode->getNode("viewport", true);
- result->viewportListener.reset(new CameraViewportListener(result, viewportNode,
- window->gc->getTraits()));
+ result->viewportListener = new CameraViewportListener(result, viewportNode,
+ window->gc->getTraits());
// Disable statistics for the GUI camera.
camera->setStats(0);
worldPosCart( new osg::Uniform( "fg_CameraPositionCart", osg::Vec3f() ) ),
worldPosGeod( new osg::Uniform( "fg_CameraPositionGeod", osg::Vec3f() ) ),
du( new osg::Uniform( "fg_du",osg::Vec4() ) ),
- dv( new osg::Uniform( "fg_dv",osg::Vec4() ) )
+ dv( new osg::Uniform( "fg_dv",osg::Vec4() ) ),
+ viewportListener(NULL)
{
shadowMatrix[0] = new osg::Uniform("fg_ShadowMatrix_0", osg::Matrixf());
shadowMatrix[1] = new osg::Uniform("fg_ShadowMatrix_1", osg::Matrixf());
osg::ref_ptr<osg::Uniform> dv;
osg::ref_ptr<osg::Uniform> shadowMatrix[4];
- std::auto_ptr<CameraViewportListener> viewportListener;
+ CameraViewportListener* viewportListener;
void setMatrices( osg::Camera* c );