]> git.mxchange.org Git - flightgear.git/commitdiff
Small refactoring in CameraInfo
authorFrederic Bouvier <fredfgfs01@free.fr>
Sat, 10 Mar 2012 08:49:01 +0000 (09:49 +0100)
committerFrederic Bouvier <fredfgfs01@free.fr>
Sun, 25 Mar 2012 12:37:43 +0000 (14:37 +0200)
src/Main/CameraGroup.cxx
src/Main/CameraGroup.hxx

index cac2bfa5e2183dfce4f3bc16e222f44b7cf9de92..ed95e6641ba6dc13bdb074d36f261510c7e03f9f 100644 (file)
@@ -205,14 +205,12 @@ void installCullVisitor(Camera* camera)
 
 namespace flightgear
 {
-void updateCameras(const CameraInfo* info)
+void CameraInfo::updateCameras()
 {
-    if (info->camera.valid())
-        info->camera->getViewport()->setViewport(info->x, info->y,
-                                                 info->width, info->height);
-    if (info->farCamera.valid())
-        info->farCamera->getViewport()->setViewport(info->x, info->y,
-                                                    info->width, info->height);
+    if (camera.valid())
+        camera->getViewport()->setViewport(x, y, width, height);
+    if (farCamera.valid())
+        farCamera->getViewport()->setViewport(x, y, width, height);
 }
 
 CameraInfo* CameraGroup::addCamera(unsigned flags, Camera* camera,
@@ -277,7 +275,7 @@ void CameraGroup::update(const osg::Vec3d& position,
         const View::Slave& slave = _viewer->getSlave(info->slaveIndex);
 #if SG_OSG_VERSION_LESS_THAN(3,0,0)
         // refreshes camera viewports (for now)
-        updateCameras(info);
+        info->updateCameras();
 #endif
         Camera* camera = info->camera.get();
         Matrix viewMatrix;
@@ -881,7 +879,7 @@ CameraInfo* CameraGroup::buildCamera(SGPropertyNode* cameraNode)
     // out of the SceneView objects in the viewer, and the coordinates
     // of mouse events are somewhat bizzare.
     buildViewport(info, viewportNode, window->gc->getTraits());
-    updateCameras(info);
+    info->updateCameras();
     // Distortion camera needs the viewport which is created by addCamera().
     if (psNode) {
         info->flags = info->flags | VIEW_ABSOLUTE;
@@ -934,7 +932,7 @@ CameraInfo* CameraGroup::buildGUICamera(SGPropertyNode* cameraNode,
 
     // Disable statistics for the GUI camera.
     result->camera->setStats(0);
-    updateCameras(result);
+    result->updateCameras();
     return result;
 }
 
index 177782d9f840aef17e5aea94aab8d14d3ff3f3b6..76bb629bc9b092c6f32ae220dc190809deb8efaf 100644 (file)
@@ -58,6 +58,9 @@ struct CameraInfo : public osg::Referenced
           relativeCameraParent(~0u)
     {
     }
+       /** Update and resize cameras
+        */
+       void updateCameras();
     /** The name as given in the config file.
      */
     std::string name;