VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
physicalWorldParams.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
16 #include <readerWriter/rwBoolean.h>
18 #include <readerWriter/rwReal.h>
21 
23 
27 {
28 public:
30  {
31  LineOfSiteTests = 0x00000001,
32  SignaturePropagatorParams = 0x00000002,
33  IlluminationObjects = 0x00000004,
34  SpatialOrganizationObjectTypes = 0x00000008,
35  DefaultMerge = SignaturePropagatorParams | IlluminationObjects |SpatialOrganizationObjectTypes
36  };
37 
39  DtPhysicalWorldParams(const DtString& rwName,
40  DtReaderWriterRegistry* parentRegistry = NULL);
42  DtReaderWriterRegistry* parentRegistry = NULL);
43 
49  DtReaderWriterRegistry* parentRegistry = NULL);
50 
53 
54  virtual ~DtPhysicalWorldParams() override;
55 
56  virtual DtlObjPtr getData(
57  DtlObjPtr args, const SearchPaths& searchPaths, const DtVariableBindingsList& variableBindings) override;
58 
62  virtual DtSignaturePropagatorDescriptorList& signaturePropagatorParams();
63  virtual const DtSignaturePropagatorDescriptorList& signaturePropagatorParams() const;
65 
69  virtual DtRwNLengthStringVector& lineOfSightTests();
70  virtual const DtRwNLengthStringVector& lineOfSightTests() const;
72 
78  virtual bool extrudeVectorObstructions() const;
79  virtual void setExtrudeVectorObstructions(bool extrude);
81 
85 
86  virtual DtRwEntityTypeList& spatialOrganizationObjectTypes();
87  virtual const DtRwEntityTypeList& spatialOrganizationObjectTypes() const;
89 
91 
92  virtual double terrainPreloadLookaheadTime() const;
93  virtual void setTerrainPreloadLookaheadTime(double v);
95 
97 
98  virtual double terrainPreloadPeriod() const;
99  virtual void setTerrainPreloadPeriod(double seconds);
101 
103 
104  virtual double terrainPreloadExpireTime() const;
105  virtual void setTerrainPreloadExpireTime(double seconds);
107 
109 
110  virtual double terrainIntersectExpireTime() const;
111  virtual void setTerrainIntersectExpireTime(double seconds);
113 
115 
116  virtual double featureLOSPredictionTime() const;
117  virtual void setFeatureLOSPredictionTime(double seconds);
119 
121 
122  virtual double featureLOSCheckDistance() const;
123  virtual void setFeatureLOSCheckDistance(double meters);
125 
127 
128  virtual double minimalIlluminationValue() const;
129  virtual void setMinimalIlluminationValue(double);
131 
133 
134  virtual double nighttimeIlluminationValue() const;
135  virtual void setNighttimeIlluminationValue(double);
137 
140  virtual DtIlluminationObjectParametersList& illuminationObjects();
141  virtual const DtIlluminationObjectParametersList& illuminationObjects() const;
143 
146  virtual DtRwString weatherStateProviderName() const;
147  virtual void setWeatherStateProviderName(const DtRwString&);
149 
152 
155  virtual DtRwString deepWaterSoilName() const;
156  virtual void setDeepWaterSoilName(const DtRwString&);
158 
161  virtual DtRwString shallowWaterSoilName() const;
162  virtual void setShallowWaterSoilName(const DtRwString&);
164 
167  virtual DtRwString waterySoilName() const;
168  virtual void setWaterySoilName(const DtRwString&);
170 
173  virtual DtRwString drySoilName() const;
174  virtual void setDrySoilName(const DtRwString&);
176 
179  virtual DtRwString roadSoilName() const;
180  virtual void setRoadSoilName(const DtRwString&);
182 
185  virtual DtRwString snowSoilName() const;
186  virtual void setSnowSoilName(const DtRwString&);
188 
191  virtual DtRwString iceSoilName() const;
192  virtual void setIceSoilName(const DtRwString&);
194 
197  virtual double deepSnowDepth() const;
198  virtual void setDeepSnowDepth(const double);
200 
203  virtual double saturationWaterDepth() const;
204  virtual void setSaturationWaterDepth(const double);
206 
209  virtual double waterSlideDepth() const;
210  virtual void setWaterSlideDepth(const double);
212 
215  virtual double waterSlideFactor() const;
216  virtual void setWaterSlideFactor(const double);
218 
221  virtual double hardFreezeTemperature() const;
222  virtual void setHardFreezeTemperature(const double);
224 
227  virtual double normalizedPrecipitationRate() const;
228  virtual void setNormalizedPrecipitationRate(const double);
229 
232  virtual bool reduceVisibilityForPrecipitation() const;
233  virtual void setReduceVisibilityForPrecipitation(const bool);
235 
237 
238  virtual DtRwEntityTypeList& entityTypesIgnoredForLos();
239  virtual const DtRwEntityTypeList& entityTypesIgnoredForLos() const;
240 
243 
244  virtual void merge(const DtPhysicalWorldParams*, MergeFlags merge = DefaultMerge);
246 
248 
249  virtual void mergeLineOfSightTests(const DtPhysicalWorldParams*);
250  virtual void addTest(const DtString& test);
252 
254 
255  virtual void mergeSignaturePropagatorParams(const DtPhysicalWorldParams*);
257 
259 
260  virtual void mergeSpatialOrganizationObjectTypes(const DtPhysicalWorldParams*);
262 
264  virtual void mergeIlluminationObjects(const DtPhysicalWorldParams* l);
265 
266  virtual void mergeEntityTypesIgnoredForLos(const DtPhysicalWorldParams* otherParams);
267 
268 private:
271 
272 protected:
274 
276 
278 
280 
284 
287 
291 
295 
299 
303 
306 
309 
312 
315 
318 
321 
324 
327 
330 
333 
336 
339 
343 
346 
349 
353 
359 
368 
371 };
DtRwBoolean myExtrudeVectorObstructions
Definition: physicalWorldParams.h:277
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
DtRwString myDrySoilName
Name of soil that is dry soil–not sand or gravel.
Definition: physicalWorldParams.h:326
DtRwEntityTypeList myEntityTypesIgnoredForLos
List of entity types will not block LOS tests.
Definition: physicalWorldParams.h:370
DtRwReal myTerrainIntersectExpireTime
Expire time offset (from actual time) for intersect data load requests.
Definition: physicalWorldParams.h:294
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DtRwReal myNormalizedPrecipitationRate
The (rain) precipitation rate corresponding to a value of 1.0 in a local weather object, or as the value from the environmental state manager function. This is used to normalize the precipitationValue returned from the weather state provider.
Definition: physicalWorldParams.h:358
DtRwReal myWaterSlideFactor
Fraction [0-1] of traction retained on hard surface with water on it.
Definition: physicalWorldParams.h:348
DtRwString myWaterySoilName
Name of soil that is considered watery soil.
Definition: physicalWorldParams.h:323
DtIlluminationObjectParametersList myIlluminationObjects
List of object types that produce illumination.
Definition: physicalWorldParams.h:311
Definition: signaturePropagatorDescriptorList.h:25
DtRwBoolean myReduceVisibilityForPrecipitation
This flag determines whether to degrade visibility due to precipitation, on top of the effect of the ...
Definition: physicalWorldParams.h:367
DtRwString myIceSoilName
Name of &quot;soil&quot; that is ice.
Definition: physicalWorldParams.h:335
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
class DtRwEntityTypeList:
Definition: rwEntityTypeList.h:23
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
DtRwReal myFeatureLOSCheckDistance
Distance entity must travel in prediction time in order to start predictive loading.
Definition: physicalWorldParams.h:302
Definition: readerWriterRegistry.h:39
DtRwString mySnowSoilName
Name of &quot;soil&quot; that is snow.
Definition: physicalWorldParams.h:332
DtRwReal myDeepSnowDepth
Depth of snow required for full snow soil effect. Meters.
Definition: physicalWorldParams.h:338
DtRwString myShallowWaterSoilName
Name of soil that is considered shallow water.
Definition: physicalWorldParams.h:320
DtRwString myDeepWaterSoilName
Name of soil that is considered deep water.
Definition: physicalWorldParams.h:317
DtRwReal myHardFreezeTemperature
Temperature at which shallow water is frozen enough to drive a vehicle on. Degrees C...
Definition: physicalWorldParams.h:352
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtRwString myWeatherStateProviderName
Name of weather state provider class.
Definition: physicalWorldParams.h:314
DtRwNLengthStringVector myLineOfSightTests
Definition: physicalWorldParams.h:275
DtRwEntityTypeList mySpatialOrganizationObjectTypes
Definition: physicalWorldParams.h:279
DtRwReal myTerrainPreloadExpireTime
Expire time offset (from actual time) for preload data load requests.
Definition: physicalWorldParams.h:290
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
Readable-writable class holding all parameters for to configure the DtPhysicalWorld.
Definition: physicalWorldParams.h:26
DtRwReal myNighttimeIlluminationValue
The maximum nighttime illumination value given a full moon. Value is 0 - 1.
Definition: physicalWorldParams.h:308
DtRwString myRoadSoilName
Name of soil that is paved road.
Definition: physicalWorldParams.h:329
DtRwReal myMinimalIlluminationValue
The minimal value of illumination given no sun or moon present. Value is 0 - 1.
Definition: physicalWorldParams.h:305
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwReal myTerrainPreloadPeriod
Evaluation period for terrain preload. Specified in seconds.
Definition: physicalWorldParams.h:286
DtSignaturePropagatorDescriptorList mySignaturePropagatorParams
Definition: physicalWorldParams.h:273
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
MergeFlags
Definition: physicalWorldParams.h:29
DtRwReal myFeatureLOSPredictionTime
Number of seconds ahead to project entities when !doing predictive LOS feature paging.
Definition: physicalWorldParams.h:298
DtRwReal mySaturationWaterDepth
Depth of water accumulation before dry soil is changed completely to watery soil. Meters...
Definition: physicalWorldParams.h:342
DtRwReal myTerrainPreloadLookaheadTime
The number of seconds that the terrain pre-loader will look ahead of entity positions when preloading...
Definition: physicalWorldParams.h:283
DtRwReal myWaterSlideDepth
Depth of water on a hard surface that causes loss of normal traction.
Definition: physicalWorldParams.h:345

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)