layer_asl(0.0),
layer_thickness(0.0),
layer_transition(0.0),
+ layer_visibility(25.0),
layer_coverage(SG_CLOUD_CLEAR),
scale(4000.0),
speed(0.0),
layer_thickness = thickness_m;
}
+float
+SGCloudLayer::getVisibility_m() const
+{
+ return layer_visibility;
+}
+
+void
+SGCloudLayer::setVisibility_m (float visibility_m)
+{
+ layer_visibility = visibility_m;
+}
+
float
SGCloudLayer::getTransition_m () const
{
*/
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
float layer_asl;
float layer_thickness;
float layer_transition;
+ float layer_visibility;
Coverage layer_coverage;
float scale;
float speed;
#include <simgear/math/sg_random.h>
#include <simgear/scene/util/RenderConstants.hxx>
+#include <sg_inlines.h>
#include <osg/StateSet>
#include <osg/Depth>
}
#endif
- // never let visibility drop below 25 meters
- if ( effvis <= 25.0 ) {
- effvis = 25.0;
- }
+ // never let visibility drop below the layer's configured visibility
+ effvis = SG_MAX2<float>(cloud_layers[i]->getVisibility_m(), effvis );
} // for