*/
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
*/
inline void setAlpha( float alpha ) {
if ( alpha < 0.0 ) { alpha = 0.0; }
- if ( alpha > 1.0 ) { alpha = 1.0; }
+ if ( alpha > max_alpha ) { alpha = max_alpha; }
cloud_alpha = alpha;
}
+ inline void setMaxAlpha( float alpha ) {
+ if ( alpha < 0.0 ) { alpha = 0.0; }
+ if ( alpha > 1.0 ) { alpha = 1.0; }
+ max_alpha = alpha;
+ }
+
+ inline float getMaxAlpha() const {
+ return max_alpha;
+ }
+
/** build the cloud object */
void rebuild();
osg::Switch* getNode() { return cloud_root.get(); }
- static bool enable_bump_mapping;
-
/** return the 3D layer cloud associated with this 2D layer */
SGCloudField *get_layer3D(void) { return layer3D; }
float layer_asl;
float layer_thickness;
float layer_transition;
+ float layer_visibility;
Coverage layer_coverage;
float scale;
float speed;
// double xoff, yoff;
SGGeod last_pos;
double last_course;
+ double max_alpha;
osg::Vec2 base;