SG_MAX_CLOUD_COVERAGES
};
+ static const std::string SG_CLOUD_OVERCAST_STRING; // "overcast"
+ static const std::string SG_CLOUD_BROKEN_STRING; // "broken"
+ static const std::string SG_CLOUD_SCATTERED_STRING; // "scattered"
+ static const std::string SG_CLOUD_FEW_STRING; // "few"
+ static const std::string SG_CLOUD_CIRRUS_STRING; // "cirrus"
+ static const std::string SG_CLOUD_CLEAR_STRING; // "clear"
+
/**
* Constructor
* @param tex_path the path to the set of cloud textures
*/
void setThickness_m (float thickness_m);
+ /** get the layer visibility */
+ float getVisibility_m() const;
+ /**
+ * set the layer visibility
+ * @param visibility_m the layer minimum visibility in meters.
+ */
+ void setVisibility_m(float visibility_m);
+
+
+
/**
* get the transition/boundary layer depth in meters. This
* allows gradual entry/exit from the cloud layer via adjusting
*/
void setCoverage (Coverage coverage);
+ /** get coverage as string */
+ const string & getCoverageString() const;
+
+ /** get coverage as string */
+ static const string & getCoverageString( Coverage coverage );
+
+ /** get coverage type from string */
+ static Coverage getCoverageType( const std::string & coverage );
+
+ /** set coverage as string */
+ void setCoverageString( const string & coverage );
+
/**
* set the cloud movement direction
* @param dir the cloud movement direction
float layer_asl;
float layer_thickness;
float layer_transition;
+ float layer_visibility;
Coverage layer_coverage;
float scale;
float speed;
// from winds, and to simulate the clouds being tied to ground
// position, not view position
// double xoff, yoff;
- double last_lon, last_lat, last_course;
+ SGGeod last_pos;
+ double last_course;
osg::Vec2 base;