13 #ifndef DtSilverliningGroup_H_
14 #define DtSilverliningGroup_H_
20 #include <osg/LightSource>
23 #include <matrix/vlVector.h>
24 #include <matrix/refEllipsoid.h>
25 #include <matrix/geodCoord.h>
26 #include <OpenThreads/Mutex>
28 namespace SilverLining
63 void setGeocentricMode(
bool mode);
66 bool geocentricMode()
const;
69 void setDateAndTime(
unsigned short year,
unsigned char month,
70 unsigned char day,
unsigned char hour,
unsigned char minutes,
71 double seconds,
bool observeDaylightSavings );
78 void setLocation(
const DtVector& location);
81 void update(
const osg::Matrix& m);
87 int cloudLayerCount()
const;
90 void removeCloudLayer(
int index);
94 void setFogBlend(osg::Vec4f rgbA,
float density);
99 void addNimbostratus(
const DtVector& position,
const DtVector& bounds,
double density);
100 void addCumulusMediocris(
const DtVector& position,
const DtVector& bounds,
double density);
101 void addCumulusCongestus(
const DtVector& position,
const DtVector& bounds,
double density);
102 void addCumulonumbusCappilatus(
const DtVector& position,
const DtVector& bounds,
double density);
103 void setCloudLayerEnabled(
int index,
bool enabled);
104 void setCloudLayerPosition(
int index,
double xCoord,
double yCoord);
106 void setWind(
double directionDEN,
double minAltitude,
double maxAltitude,
double velocity);
107 void setAirTurbidity(
float turbidity );
108 void setVisibleDistance(
float distance );
110 void createAtmosphere();
111 void destroyAtmosphere();
113 void realizeLayers();
115 SilverLining::Atmosphere* findAtmosphere();
137 int CalculateZoneByLongitude(
double longitude);
138 void SetTimeAndLocation();
141 virtual void traverse(osg::NodeVisitor& nv);
143 void forceResetLayers();