]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/sky/sky.hxx
hla: Provide a directly property based api for property data element.
[simgear.git] / simgear / scene / sky / sky.hxx
index af78a4e9d8cb37d9c2015bdd7988684420fbf7c0..33673ca647ac57f6ee2694ca443cc72a8f8f58b7 100644 (file)
@@ -45,6 +45,7 @@
 #include <osg/Switch>
 
 #include <simgear/ephemeris/ephemeris.hxx>
+#include <simgear/math/SGMath.hxx>
 
 #include <simgear/scene/sky/cloud.hxx>
 #include <simgear/scene/sky/dome.hxx>
@@ -56,8 +57,10 @@ using std::vector;
 
 
 typedef struct {
-       SGVec3f view_pos, zero_elev, view_up;
-       double lon, lat, alt, spin;
+        SGVec3d pos;
+        SGGeod pos_geod;
+        SGQuatd ori;
+        double spin;
        double gst;
        double sun_dist;
        double moon_dist;
@@ -65,7 +68,9 @@ typedef struct {
 } SGSkyState;
 
 typedef struct {
-       SGVec3f sky_color, fog_color;
+       SGVec3f sky_color;
+        SGVec3f adj_sky_color;
+        SGVec3f fog_color;
        SGVec3f cloud_color;
        double sun_angle, moon_angle;
 } SGSkyColor;
@@ -364,6 +369,11 @@ public:
      */
     inline SGVec4f get_sun_color() { return oursun->get_color(); }
 
+    /**
+     * Get the current scene color
+     */
+    inline SGVec4f get_scene_color() { return oursun->get_scene_color(); }
+
     /**
      * Add a cloud layer.
      *
@@ -430,6 +440,15 @@ public:
      */
     virtual void set_3dCloudVisRange(float vis);
 
+    /** Get 3D cloud wrapping */
+    virtual bool get_3dCloudWrap() const;
+
+    /** Set 3D cloud wrapping
+     * @param wrap whether to wrap 3D clouds
+     */
+    virtual void set_3dCloudWrap(bool wrap);
+
+
 };