]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/viewer.hxx
Initialize the bump-mapped 3d clouds to true.
[flightgear.git] / src / Main / viewer.hxx
index 1aa49a366ec94a3be358b4c99ad93373dcbf42f2..3f9c95e2917ae8a58eed703198fb2fa64c5f1349 100644 (file)
 
 #include <simgear/compiler.h>
 #include <simgear/constants.h>
+#include <simgear/structure/subsystem_mgr.hxx>
 #include <simgear/scene/model/location.hxx>
 
 #include <plib/sg.h>           // plib include
 
-#include "fgfs.hxx"
-
 #define FG_FOV_MIN 0.1
 #define FG_FOV_MAX 179.9
 
@@ -49,7 +48,7 @@ enum fgViewType {
 };
 
 // Define a structure containing view information
-class FGViewer : public FGSubsystem {
+class FGViewer : public SGSubsystem {
 
 public:
 
@@ -68,13 +67,13 @@ public:
               double heading_offset_deg, double pitch_offset_deg,
               double roll_offset_deg, double fov_deg,
               double target_x_offset_m, double target_y_offset_m,
-              double target_z_offset_m, double near_m );
+              double target_z_offset_m, double near_m, bool internal );
 
     // Destructor
     virtual ~FGViewer( void );
 
     //////////////////////////////////////////////////////////////////////
-    // Part 1: standard FGSubsystem implementation.
+    // Part 1: standard SGSubsystem implementation.
     //////////////////////////////////////////////////////////////////////
 
     virtual void init ();
@@ -90,6 +89,9 @@ public:
     virtual fgViewType getType() const { return _type; }
     virtual void setType( int type );
 
+    virtual bool getInternal() const { return _internal; }
+    virtual void setInternal( bool internal );
+
     // Reference geodetic position of view from position...
     //   These are the actual aircraft position (pilot in
     //   pilot view, model in model view).
@@ -324,6 +326,9 @@ private:
     fgViewType _type;
     fgScalingType _scaling_type;
 
+    // internal view (e.g. cockpit) flag
+    bool _internal;
+
     // view is looking from a model
     bool _from_model;
     int _from_model_index;  // number of model (for multi model)
@@ -400,6 +405,12 @@ private:
        _pitch_offset_deg += amt;
     }
 
+    // add to _roll_offset_deg
+    inline void incRollOffset_deg( double amt ) {
+       set_dirty();
+       _roll_offset_deg += amt;
+    }
+
     inline void set_reverse_view_offset( bool val ) {
        _reverse_view_offset = val;
     }