15 #include <vrfExtObjects/vrfWeatherStateEnums.h>
34 DtColorRecord(
float r=1.0f,
float g=1.0f,
float b=1.0f,
float a=1.0f);
56 void setGreen(
float g);
62 void setBlue(
float b);
68 void setAlpha(
float a);
74 friend class boost::serialization::access;
80 template<
class Archive>
81 void serialize(Archive & ar,
const unsigned int version)
83 ar & BOOST_SERIALIZATION_NVP(myRed);
84 ar & BOOST_SERIALIZATION_NVP(myGreen);
85 ar & BOOST_SERIALIZATION_NVP(myBlue);
86 ar & BOOST_SERIALIZATION_NVP(myAlpha);
90 static float clamp(
float component);
121 void setDepth(
float meters);
127 void setPermeability(
float normalizedValue);
128 float permeability()
const;
133 friend class boost::serialization::access;
139 template<
class Archive>
140 void serialize(Archive & ar,
const unsigned int version)
142 ar & BOOST_SERIALIZATION_NVP(myDepth);
143 ar & BOOST_SERIALIZATION_NVP(myPermeability);
172 void setEnvironmentName(
const std::string& name);
173 const std::string& environmentName()
const;
178 void setAirTurbidity(
float turbidity);
179 float airTurbidity()
const;
184 void setVisibleDistance(
float distance);
185 float visibleDistance()
const;
190 void setPrecipitation(
int type);
191 int precipitation()
const;
196 void setPrecipitationIntensity(
float intensity);
197 float precipitationIntensity()
const;
209 void setCloudCoverType( DtVrfWeatherCloudState cloudCoverType );
210 DtVrfWeatherCloudState cloudCoverType()
const;
216 void setUseCustomCloudCover(
bool enabled );
217 bool useCustomCloudCover()
const;
222 void setWindSpeed(
float metersPerSecond);
223 float windSpeed()
const;
228 void setWindDirection(
float radiansFromNorth);
229 float windDirection()
const;
234 void setAmbientAirTemperature(
float celsius);
235 float ambientAirTemperature()
const;
240 void setSeaState(
int douglasScale);
241 int seaState()
const;
246 void setSeaStateDirection(
float radiansFromNorth);
247 float seaStateDirection()
const;
252 void setWindDrivenSeaStateEnabled(
bool enabled);
253 bool windDrivenSeaStateEnabled()
const;
258 void setSwellState(
int douglasScale);
259 int swellState()
const;
264 void setSwellStateDirection(
float radiansFromNorth);
265 float swellStateDirection()
const;
270 void setWindFetch(
float meters);
271 float windFetch()
const;
276 void setSeaChoppiness(
float chop);
277 float seaChoppiness()
const;
282 void setUnderwaterVisibility(
float meters);
283 float underwaterVisibility()
const;
288 void setSurfaceTransparency(
float normalizedValue);
289 float surfaceTransparency()
const;
294 void setSurgeDepth(
float meters);
295 float surgeDepth()
const;
300 void setDepthOffset(
float meters);
301 float depthOffset()
const;
306 void setAmbientWaterTemperature(
float celsius);
307 float ambientWaterTemperature()
const;
312 void setWaterCurrentSpeed(
float metersPerSecond);
313 float waterCurrentSpeed()
const;
318 void setWaterCurrentDirection(
float radiansFromNorth);
319 float waterCurrentDirection()
const;
324 void setTidalOffset(
float meters);
325 float tidalOffset()
const;
330 void setTidalDirection(
bool inOut);
331 bool tidalDirection()
const;
336 void setFogHeight(
float meters);
337 float fogHeight()
const;
348 void setThermoclineRecord(
351 void setThermoclineDepth(
unsigned int index,
float depth);
352 float thermoclineDepth(
unsigned int index)
const;
353 void setThermoclinePermeability(
unsigned int index,
float permeability);
354 float thermoclinePermeability(
unsigned int index)
const;
359 virtual const std::string*
360 findOptionalParameter(
const std::string& name)
const;
363 virtual void setOptionalParameter(
364 const std::string& name,
const std::string& value);
371 virtual void removeOptionalParameter(
const std::string& name);
379 friend class boost::serialization::access;
384 template<
class Archive>
385 void serialize(Archive & ar,
const unsigned int version)
387 ar & BOOST_SERIALIZATION_NVP(myAirTurbidity);
388 ar & BOOST_SERIALIZATION_NVP(myVisibilityDistance);
391 ar & BOOST_SERIALIZATION_NVP(myPrecipitationEnabledFlag);
392 ar & BOOST_SERIALIZATION_NVP(myPrecipitationType);
393 if (myPrecipitationEnabledFlag && myPrecipitationType ==
"Rain")
397 else if (myPrecipitationEnabledFlag && myPrecipitationType ==
"Snow")
403 myPrecipitationType =
"None";
407 ar & BOOST_SERIALIZATION_NVP(myPrecipitationIntensity);
408 ar & BOOST_SERIALIZATION_NVP(myCloudLayers);
411 ar & BOOST_SERIALIZATION_NVP(myWindSpeed);
412 ar & BOOST_SERIALIZATION_NVP(myWindDirection);
413 ar & BOOST_SERIALIZATION_NVP(myAmbientAirTemperature);
414 ar & BOOST_SERIALIZATION_NVP(mySeaState);
415 ar & BOOST_SERIALIZATION_NVP(mySeaChoppiness);
416 ar & BOOST_SERIALIZATION_NVP(myUnderwaterVisibility);
417 ar & BOOST_SERIALIZATION_NVP(myAmbientWaterTemperature);
418 ar & BOOST_SERIALIZATION_NVP(myWaterCurrentSpeed);
419 ar & BOOST_SERIALIZATION_NVP(myWaterCurrentDirection);
420 ar & BOOST_SERIALIZATION_NVP(myTidalOffset);
421 ar & BOOST_SERIALIZATION_NVP(myTidalDirection);
425 ar & BOOST_SERIALIZATION_NVP(myEnvironmentName);
426 ar & BOOST_SERIALIZATION_NVP(myOptionalParameters);
430 ar & BOOST_SERIALIZATION_NVP(mySeaStateDirection);
431 ar & BOOST_SERIALIZATION_NVP(myWindDrivenSeaStateEnabled);
432 ar & BOOST_SERIALIZATION_NVP(mySwellState);
433 ar & BOOST_SERIALIZATION_NVP(mySwellStateDirection);
434 ar & BOOST_SERIALIZATION_NVP(myWindFetch);
435 ar & BOOST_SERIALIZATION_NVP(mySurfaceTransparency);
436 ar & BOOST_SERIALIZATION_NVP(mySurgeDepth);
437 ar & BOOST_SERIALIZATION_NVP(myDepthOffset);
441 ar & BOOST_SERIALIZATION_NVP(myFogHeight);
442 ar & BOOST_SERIALIZATION_NVP(myFogColor);
443 ar & BOOST_SERIALIZATION_NVP(myPrecipitation);
444 ar & BOOST_SERIALIZATION_NVP(myThermoclineRecordList);
448 ar & BOOST_SERIALIZATION_NVP(myCloudCoverType);
449 ar & BOOST_SERIALIZATION_NVP(myUseCustomCloudCover);