bool SingleViewer::update( const App& app, ConfigFile& config ) { if( ! Viewer::update( app, config ) ) return false; if( getNumCameras() == 0 ) { addCamera().setPose( 0, 0 ); // Camera at Display origin } assert( getNumCameras() == 1 ); setViewportToFullWindow( getCamera(0) ); return true; }
shared_ptr<Camera> Scene::getActiveCamera() { // TODO: support muliple cameras in a scene if (mActiveCamera == -1) { if (getNumCameras() > 0) mActiveCamera = 0; } if (mActiveCamera == -1) { shared_ptr<Camera> camera(new Camera("default_camera")); camera->setPostion(DEFAULT_CAMERA_POS); camera->setLookAt(DEFAULT_CAMERA_CENTER); camera->setUp(DEFAULT_CAMERA_UP); mCameras.push_back(camera); mActiveCamera = 0; } return mCameras[mActiveCamera]; }