]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/renderer.hxx
Modified Files:
[flightgear.git] / src / Main / renderer.hxx
index c638a35a34e25894543837e7dd6bb9b4edfd45c1..ea14d353405173aeb3e87bc5a9b92b7bcb452874 100644 (file)
@@ -4,6 +4,11 @@
 
 #include <simgear/screen/extensions.hxx>
 #include <simgear/scene/sky/sky.hxx>
+#include <simgear/scene/util/SGPickCallback.hxx>
+
+#include <osgViewer/Viewer>
+
+#include "FGManipulator.hxx"
 
 #define FG_ENABLE_MULTIPASS_CLOUDS 1
 
@@ -23,9 +28,9 @@ public:
     FGRenderer();
     ~FGRenderer();
 
+    void splashinit();
     void init();
 
-    void build_states();
     static void resize(int width, int height );
 
     // calling update( refresh_camera_settings = false ) will not
@@ -46,11 +51,30 @@ public:
      */
     static void setNearFar( float n, float f );
 
-    /** Get the pick start point and direction in global coordinates.
-     *  The inputs are expected to be the x and y coordinates of the
-     *  screen point relative to the window.
+    /** Just pick into the scene and return the pick callbacks on the way ...
+     */
+    static bool pick( unsigned x, unsigned y,
+                      std::vector<SGSceneryPick>& pickList,
+                      const osgGA::GUIEventAdapter* ea );
+
+    /** Get and set the OSG Viewer object, if any.
+     */
+    osgViewer::Viewer* getViewer() { return viewer.get(); }
+    const osgViewer::Viewer* getViewer() const { return viewer.get(); }
+    void setViewer(osgViewer::Viewer* viewer) { this->viewer = viewer; }
+    /** Get and set the manipulator object, if any.
      */
-    static bool getPickInfo( sgdVec3 p, sgdVec3 d, unsigned x, unsigned y );
+    FGManipulator* getManipulator() { return manipulator.get(); }
+    const FGManipulator* getManipulator() const { return manipulator.get(); }
+    void setManipulator(FGManipulator* manipulator)
+       {
+           this->manipulator = manipulator;
+       }
+protected:
+    osg::ref_ptr<osgViewer::Viewer> viewer;
+    osg::ref_ptr<FGManipulator> manipulator;
 };
 
+bool fgDumpSceneGraphToFile(const char* filename);
+
 #endif