VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
physicalWorld.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 
14 #include <geometry/point.h>
15 #include <vlutil/vlConfig.h>
16 #include <vlutil/vlFilename.h>
17 #include <matrix/vlVector.h>
18 #include <list>
19 #include <map>
20 #include <boost/unordered_set.hpp>
26 #include "features/areaFeature.h"
28 #include "geometry/surface.h"
29 
30 class DtSimManager;
31 
32 class DtFilename;
33 class DtGeodeticCoord;
34 class Coordinate_System;
35 class DtVrfObjectManager;
39 class DtExtent;
40 class DtChord;
41 class DtSurface;
42 
43 class DtPoint;
44 
46 
47 class DtVrfObject;
48 class DtDcm;
51 class DtSimMessage;
56 
58 class DtVrfCallbackQueue;
59 
88 {
89 public:
90 
92  DtPhysicalWorld(DtSimManager* simManager);
93 
95  virtual ~DtPhysicalWorld();
96 
97 private:
99  DtPhysicalWorld(const DtPhysicalWorld& orig);
100 
102  DtPhysicalWorld& operator=(const DtPhysicalWorld& orig);
103 
104 public:
105  typedef std::list<DtVrfLineOfSightFunctorSP> DtLineOfSightTestContainer;
106 
115  virtual bool initialize();
116 
125  virtual bool reinitialize();
126 
128  virtual bool reset();
129 
135  virtual bool loadParametersFromFile(const DtFilename& filename);
136 
142  virtual bool loadPhysicalWorldFile(const DtFilename& filename);
143 
145  virtual void processParameters();
146 
149  const DtFilename& physicalWorldFile() const;
150 
152  virtual bool parametersLoaded() const;
153 
156 
157  virtual void addPreLoadParametersCallback(
159  virtual void removePreLoadParametersCallback(
162 
165 
166  virtual void addPostLoadParametersCallback(
168  virtual void removePostLoadParametersCallback(
171 
191  virtual bool isValidState() const;
192 
198  virtual void tick();
199 
200 
204 
210 
211  virtual Coordinate_System* coordinateSystem();
212  virtual const Coordinate_System* coordinateSystem() const;
213 
215  virtual void geocentricToDatabase(const DtVector& in, DtVector& out) const;
216 
218  virtual void geocentricToDatabase(const DtDcm& in, DtDcm& out) const;
219 
221  virtual void geocentricToDatabase(const DtVector& vIn, const DtDcm& dIn,
222  DtVector& vOut, DtDcm& dOut) const;
223 
225  virtual void geocentricToDatabase(const DtExtent& in, DtExtent& out) const;
226 
228  virtual void databaseToGeocentric(const DtVector& in, DtVector& out) const;
229 
231  virtual void databaseToGeocentric(const DtDcm& in, DtDcm& out) const;
232 
234  virtual void databaseToGeocentric(const DtVector& vIn, const DtDcm& dIn,
235  DtVector& vOut, DtDcm& dOut) const;
236 
238  virtual void databaseToGeocentric(const DtExtent& in, DtExtent& out) const;
239 
241  virtual void databaseToGeodetic(const DtVector& databasePosition, DtGeodeticCoord& geodeticPosition) const;
244  virtual void databaseToGeodetic(const DtVector& databasePosition, DtVector& geodeticPosition) const;
246  virtual void databaseToGeodetic(const DtExtent& extent, DtExtent& destExtent) const;
247 
249  virtual void geodeticToDatabase(const DtExtent& extent, DtExtent& destExtent) const;
251  virtual void geodeticToDatabase(const DtGeodeticCoord& geodeticPosition,
252  DtVector& databasePosition) const;
255  virtual void geodeticToDatabase(const DtVector& geodeticPosition,
256  DtVector& databasePosition) const;
257 
260  virtual void topoToDatabase(const DtVector& databasePosition, DtDcm& topoToDatabase) const;
263  virtual void databaseToTopo(const DtVector& databasePosition, DtDcm& databaseToTopo) const;
264 
272  virtual DtVector down(const DtVector& databasePosition) const;
273 
275  virtual double terrainHeight(const DtPoint& databaseLocation,
304  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
305  virtual double terrainHeight(double lat, double lon, bool* dataAvailable = 0,
306  bool overrideBlockingAssert = false) const;
307  virtual double terrainHeight(const DtVector& databaseLocation,
308  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
310 
312  virtual bool terrainHeight(const DtPoint& databaseLocation, double& height,
334  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
335  virtual bool terrainHeight(double lat, double lon, double& height,
336  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
337  virtual bool terrainHeight(const DtVector& databaseLocation, double& height,
338  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
340 
342  virtual bool terrainHeightAndSurface(const DtPoint& databaseLocation,
379  double& height, DtSurface& surface, bool* dataAvailable = 0,
380  bool overrideBlockingAssert = false) const;
381  virtual bool terrainHeightAndSurface(double lat, double lon, double& height,
382  DtSurface& surface, bool* dataAvailable = 0,
383  bool overrideBlockingAssert = false) const;
384  virtual bool terrainHeightAndSurface(const DtVector& databaseLocation,
385  double& height, DtSurface& surface, bool* dataAvailable = 0,
386  bool overrideBlockingAssert = false) const;
387  virtual bool terrainHeightAndSurface(const DtVector& databaseLocation,
388  double& heightAtLocation, DtVrfChordIntersectionRecord& intersectionRec,
391  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
393 
397  virtual bool terrainHeightAndSurfaceBelow(const DtVector& databaseLocation,
398  double& heightAtLocation, DtSurface& surfaceAtLocation,
399  bool* dataAvailable = 0,
400  bool overrideBlockingAssert = false) const;
401 
403  virtual bool terrainHeightUnderWater(const DtVector& databaseLocation,
463  double& groundHeight, DtSurface& groundSurface, DtVector& groundNormal,
464  double& waterHeight, DtSurface::DtMedium & topSurfaceMedium,
465  bool* dataAvailable = 0, bool overrideBlockingAssert = false);
467 
469  virtual bool terrainSurface(const DtPoint& databaseLocation,
500  DtSurface& surface, bool* dataAvailable = 0,
501  bool overrideBlockingAssert = false) const;
502  virtual bool terrainSurface(double lat, double lon, DtSurface& surface,
503  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
504  virtual bool terrainSurface(const DtVector& databaseLocation,
505  DtSurface& surface, bool* dataAvailable = 0,
506  bool overrideBlockingAssert = false) const;
507 
508  virtual DtSurface terrainSurface(const DtPoint& databaseLocation,
509  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
510  virtual DtSurface terrainSurface(double lat, double lon,
511  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
512  virtual DtSurface terrainSurface(const DtVector& databaseLocation,
513  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
515 
546  virtual bool closestTerrainLocation(const DtPoint& databaseLocation,
547  DtPoint& intersectionPoint, bool* dataAvailable = 0,
548  bool overrideBlockingAssert = false) const;
549 
552  virtual bool closestTerrainLocation(double lat, double lon,
553  DtPoint& intersectionPoint, bool* dataAvailable = 0,
554  bool overrideBlockingAssert = false) const;
555 
557  virtual bool closestTerrainLocation(const DtVector& databaseLocation,
558  DtPoint& intersectionPoint, bool* dataAvailable = 0,
559  bool overrideBlockingAssert = false) const;
560 
563  virtual bool closestTerrainLocation(const DtPoint& databaseLocation,
566  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
567 
569  virtual bool closestTerrainLocation(const DtPoint& databaseLocation,
570  DtVrfChordIntersectionRecord& record, const DtString& vectorFeatureLookup,
572  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
573 
576  virtual bool closestTerrainLocation(double lat, double lon,
579  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
580 
582  virtual bool closestTerrainLocation(const DtVector& databaseLocation,
585  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
586 
615  virtual bool closestTerrainLocation(const DtVector& curPosition,
616  DtVector& intersection, bool ignoreWater, bool* dataAvailable = 0,
617  bool overrideBlockingAssert = false) const;
618 
649  virtual bool intersect(const DtChord& chord, DtPoint& intersectionPoint,
650  double& intersectionTime, bool* dataAvailable = 0,
651  bool overrideBlockingAssert = false) const;
652 
681  virtual bool intersect(const DtChord& chord,
685  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
686 
712  virtual bool allIntersectsAlongChord(const DtChord& chord,
715  DtIntersectionRecord::INT_ALL_DATA, bool* dataAvailable = 0,
716  bool overrideBlockingAssert = false) const;
717 
719  typedef boost::unordered_set<const DtVrfObject*> DtVrfConstObjectUniqueContainer;
730 
731  bool getVrfObjects(DtExtent& extent, DtVrfConstObjectUniqueContainer& objects) const;
732 
733  bool getVrfObjects(DtVrfObjectPredicate& predicate, DtExtent& extent,
734  DtVrfConstObjectUniqueContainer& objects) const;
735 
736  bool getVrfObjects(DtChord& chord, std::list<const DtVrfObject*>& objects) const;
737 
738  bool getVrfObjects(DtVrfObjectPredicate& predicate, DtChord& chord,
739  std::list<const DtVrfObject*>& objects) const;
741 
743  void visitVrfObjects(const DtExtent& extent, class DtSpatialSelectionFunctor& callback) const;
754  void visitVrfObjects(const DtChord& chord, class DtSpatialSelectionFunctor& callback) const;
756 
774  virtual void groundClamp(DtPoint& databaseCoord, float const offset = 0,
775  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
776 
794  virtual void groundClamp(DtVector& databaseCoord, float const offset = 0,
795  bool* dataAvailable = 0, bool overrideBlockingAssert = false) const;
796 
801  virtual void getVrfObjectsAlongChord(const DtVector& databaseStart,
802  const DtVector& databaseEnd, std::list<const DtVrfObject*>& orderedList) const;
803 
811  virtual DtManagedObjectListConstPtr getSpatiallyManagedVrfObjectList();
812 
818  virtual bool initializeSpatialVrfObjectOrganization();
819 
831  virtual void calcSpatialMgrResolution(const DtManagedObjectListConstPtr& vrfObjList);
832 
839  virtual DtFilterFunctionPredicate getSpatialOrganizationPredicate();
840 
843  static bool spatialOrganizationObjectFilterFcn(const DtVrfObject* obj, void* usr);
844 
855  virtual bool processSpatialOrganizationObjectFilterFcn(const DtVrfObject* obj);
856 
858  static void querySpatialSubdivisionConfigurationCallback(DtSimMessage* msg, void* usr);
859  static void setSpatialSubdivisionConfigurationCallback(DtSimMessage* msg, void* usr);
860 
862  static void requestSensorDomainsCallback(DtSimMessage* msg, void* usr);
863  virtual void sendSensorDomains();
864 
867  virtual void processQuerySpatialSubdivisionConfiguration(DtSimMessage* msg);
868  virtual void processSetSpatialSubdivisionConfiguration(DtSimMessage* msg);
869 
872  virtual bool useVrfObjectSpatialSub() const;
873  virtual void setUseVrfObjectSpatialSub(bool yesOrNo);
874 
875 
878  virtual bool isSpatialMgrResolutionUserSpecified() const;
879  virtual void setSpatialMgrResolutionUserSpecified(bool yesOrNo);
880 
883  virtual unsigned int vrfObjectSpatialSubXResolution() const;
884  virtual unsigned int vrfObjectSpatialSubYResolution() const;
885  virtual unsigned int vrfObjectSpatialSubZResolution() const;
887 
892  virtual void setVrfObjectSpatialSubXResolution(unsigned int newXResolution);
893  virtual void setVrfObjectSpatialSubYResolution(unsigned int newYResolution);
894  virtual void setVrfObjectSpatialSubZResolution(unsigned int newZResolution);
896 
898 
900  virtual DtTerrainInterface* terrainInterface();
902  virtual const DtTerrainInterface* terrainInterface() const;
903 
906  virtual void setTerrainInterface(DtTerrainInterface* newTerrainDatabase);
907 
908  virtual DtSimManager* simManager();
909  virtual const DtSimManager* simManager() const;
910  virtual void setSimManager(DtSimManager* newSimManager);
911 
912  virtual DtVrfObjectManager* objectManager();
913  virtual const DtVrfObjectManager* objectManager() const;
914  virtual void setVrfObjectManager(DtVrfObjectManager* newObjectMgr);
915 
916 
917  virtual DtEnvironmentalStateManager * environmentalStateManager();
918  virtual const DtEnvironmentalStateManager * environmentalStateManager() const;
919  virtual void setEnvironmentalStateManager(DtEnvironmentalStateManager * manager);
920 
921 
923  virtual DtDynamicTerrainManager * dynamicTerrainManager();
924  virtual const DtDynamicTerrainManager * dynamicTerrainManager() const;
925  virtual void setDynamicTerrainManager(DtDynamicTerrainManager* manager);
926 
929  virtual MAKVRinTerra::DtDynamicFeatureSet* dynamicObjectFeatures() const;
930 
932 
933  virtual DtPhysicalWorldParams* parameters();
934  virtual const DtPhysicalWorldParams* parameters() const;
935 
936 
940 
941  virtual DtSensorSignatureManager* sensorSignatureManager();
942  virtual const DtSensorSignatureManager* sensorSignatureManager() const;
943 
944 
965  virtual bool checkLineOfSight(const DtVrfObject& viewingObject,
966  const DtVector& databaseViewingPoint, const DtVrfObject& targetObject,
967  bool* terrainDataAvailable = 0,
968  const DtString& featureQueryName = "default",
969  DtVector* intersectionPoint = 0) const;
970 
984  virtual bool checkLineOfSight(const DtVrfObject& viewingObject,
985  const DtVector& databaseViewingPoint, const DtVector& databaseTargetPoint,
986  bool* terrainDataAvailable = 0,
987  const DtString& featureQueryName = "default",
988  DtVector* intersectionPoint = 0) const;
989 
1003  virtual bool checkLineOfSight(const DtVector& databaseViewingPoint,
1004  const DtVrfObject& targetObject, bool* terrainDataAvailable = 0,
1005  const DtString& featureQueryName = "default",
1006  DtVector* intersectionPoint = 0) const;
1007 
1018  virtual bool checkLineOfSightWithoutObjects(
1019  const DtVector& databaseViewingPoint,
1020  const DtVector& databaseTargetPoint,
1021  bool* terrainDataAvailable = 0,
1022  const DtString& featureQueryName = "default",
1023  DtVector* intersectionPoint = 0) const;
1024 
1025 
1044  virtual bool checkLineOfFire(const DtVrfObject& viewingObject,
1045  const DtVector& databaseViewingPoint, const DtVrfObject& targetObject,
1046  const DtVector& databaseTargetPoint,
1047  bool* terrainDataAvailable = 0,
1048  double* normIntersectDistance = 0,
1049  DtVrfObject** intersectObject = 0,
1050  DtVector* intersectingPoint = 0,
1051  int* ignoredForceType = 0) const;
1052 
1054  virtual bool checkLineOfFire(const DtVrfObject& viewingObject,
1055  const DtVector& databaseViewingPoint, const DtVector& databaseTargetPoint,
1056  bool* terrainDataAvailable = 0,
1057  double* normIntersectDistance = 0,
1058  DtVrfObject** intersectionObject = 0,
1059  DtVector* intersectingPoint = 0,
1060  int* ignoredForceType = 0) const;
1061 
1063  virtual bool checkLineOfFire(const DtVector& databaseViewingPoint,
1064  const DtVector& databaseTargetPoint,
1065  bool* terrainDataAvailable = 0,
1066  double* normIntersectDistance = 0,
1067  DtVrfObject** intersectionObject = 0,
1068  DtVector* intersectingPoint = 0,
1069  int* ignoredForceType = 0) const;
1070 
1083  virtual bool checkLineOfFireWithoutObjects(
1084  const DtVector& databaseViewingPoint,
1085  const DtVector& databaseTargetPoint,
1086  bool* terrainDataAvailable = 0,
1087  double* normIntersectDistance = 0,
1088  DtVrfObject** intersectionObject = 0,
1089  DtVector* intersectingPoint = 0) const;
1090 
1096  static void objectAboutToBeRemovedCb(const DtVrfObject * vrfObject, void * usr);
1097 
1098  virtual void expireDataLoadRequestsBeforeTime(const double& time);
1099 
1103  virtual double thermoclinePermeability(
1104  const DtPoint& startPoint, const DtPoint& endPoint) const;
1105 
1108  virtual bool checkLineOfSight(const DtLineOfSightTestContainer& losTests,
1109  DtVrfLineOfSightCheckParams& losCheckParams) const;
1110 
1112  {
1113  return myLineOfSightTestsToPerform;
1114  }
1115 
1120  const DtChord createWorldIntersectionChord(const DtVector& databaseLocation) const;
1121 
1126 
1132  virtual void addLineOfSightTest(const DtLosTestKey&, DtVrfLineOfSightFunctorSP losTest);
1133 
1135  virtual DtVrfLineOfSightFunctorSP lineOfSightTest(const DtLosTestKey&) const;
1136 
1139  virtual void removeLineOfSightTest(const DtLosTestKey& testKey);
1140 
1141 protected:
1142 
1143  typedef std::map<DtLosTestKey, DtVrfLineOfSightFunctorSP> DtKeyedLineOfSightTestContainer;
1144  typedef DtKeyedLineOfSightTestContainer::iterator DtMasterLosTestIter;
1145  typedef DtKeyedLineOfSightTestContainer::const_iterator DtMasterLosTestConstIter;
1146 
1148 
1149  typedef DtLineOfSightTestContainer::iterator DtLosTestIter;
1150  typedef DtLineOfSightTestContainer::const_iterator DtLosTestConstIter;
1151 
1153 
1154  virtual void addInitialLosChecks();
1155 
1161 
1162  virtual void setDefaultLineOfSightTestOrder(
1163  const DtRwNLengthStringVector& lineOfSightTestsAndOrder);
1164  virtual void setLineOfSightTestOrder(
1165  const DtRwNLengthStringVector& lineOfSightTestsAndOrder);
1166 
1171  virtual void performTest(const DtLosTestKey& testToRun);
1172 
1176  virtual void doNotPerformTest(DtLineOfSightTestContainer& testContainer, const DtLosTestKey& testToRun) const;
1177 
1181  virtual void doNotPerformTest(DtLineOfSightTestContainer& testContainer, DtVrfLineOfSightFunctorSP losTest) const;
1182 
1183 
1188  static bool canBlockLineOfSight(const DtVrfObject* object, void* usr);
1189 
1194  virtual DtVector localLineOfSightTestLocation(const DtVrfObject& object) const;
1195 
1206 
1209  virtual bool checkVrfObjectsForLOS(
1210  const DtVrfLineOfSightCheckParams& losCheckParams) const;
1211 
1214  virtual bool checkFeaturesForLOS(
1215  const DtVrfLineOfSightCheckParams& losCheckParams) const;
1216 
1219  virtual bool checkTerrainForLOS(
1220  const DtVrfLineOfSightCheckParams& losCheckParams) const;
1222 
1223 public:
1232  virtual bool intersectVrfObjects(const DtVrfObject* const primaryVrfObject,
1233  const DtVector& databaseStartPoint,
1234  const DtVrfObject* const secondaryVrfObject,
1235  const DtVector& databaseEndPoint,
1236  double& interxTime,
1237  DtVrfObject** intersectedObject = 0,
1238  DtVector* intersectNormal = 0,
1239  const std::list<DtUUID>& ignoreList = std::list<DtUUID>(),
1240  int* ignoredForceType = 0) const;
1241 
1246  virtual bool intersectVrfObjects(const DtVrfObject* const primaryVrfObject,
1247  const DtVector& databaseStartPoint, const DtVector& databaseEndPoint,
1248  double& interxTime,
1249  DtVrfObject** intersectedObject = 0,
1250  DtVector* intersectNormal = 0,
1251  const std::list<DtUUID>& ignoreList = std::list<DtUUID>(),
1252  int* ignoredForceType = 0) const;
1253 
1257  virtual bool intersectsVrfObject(const DtVrfObject& vrfObjectToTest,
1258  const DtVector& databaseStartPoint, const DtVector& databaseEndPoint,
1259  double& distToIntersect, DtVector* surfaceNormal = 0) const;
1260 
1262  virtual bool embarkedOnSameLowFidelityObject(const DtVrfObject& primaryVrfObject,
1263  const DtVrfObject& secondaryVrfObject) const;
1264 
1265 protected:
1266 
1267  bool testInvariant() const;
1268 
1271  virtual DtSpatialVrfObjectManagerInterface* spatialVrfObjectManager();
1272  virtual const DtSpatialVrfObjectManagerInterface* spatialVrfObjectManager() const;
1273  virtual void setSpatialVrfObjectManager(DtSpatialVrfObjectManagerInterface* newSpatialVrfObjectMgr);
1274 
1278  virtual DtPhysicalWorldParams* createParameters();
1279 
1282  virtual DtSensorSignatureManager* createSensorSignatureManager();
1283 
1289  virtual void processObjectAboutToBeRemoved(const DtVrfObject * vrfObject);
1290 
1293  virtual void performTerrainPreload();
1294 
1295 protected:
1296 
1298  boost::shared_ptr<MAKVRinTerra::DtDynamicFeatureSet> myDynamicObjectFeatures;
1299 
1305 
1307 
1309 
1314 
1317 
1319 
1321 
1323 
1325 
1327 
1329 
1330  boost::shared_ptr<DtVrfCallbackQueue> mySoilTypeLookupQueue;
1331 
1334 
1335  friend class IntersectVrfObjectFunctor;
1336 };
1337 
1338 inline const DtFilename& DtPhysicalWorld::physicalWorldFile() const
1339 {
1340  return myPhysicalWorldFile;
1341 }
1342 
1344 {
1345 public:
1346  DtExpireOlderThanCommand(DtPhysicalWorld* physicalWorld);
1347  virtual bool execute(const DtString& parameters);
1348  virtual DtString help(const DtString& parameters);
1349  virtual bool showInHelp() const { return true; };
1350 protected:
1351  DtPhysicalWorld* myPhysicalWorld;
1352 };
virtual bool showInHelp() const
Definition: physicalWorld.h:1349
boost::shared_ptr< MAKVRinTerra::DtDynamicFeatureSet > myDynamicObjectFeatures
Definition: physicalWorld.h:1298
DtEnvironmentalStateManager * myEnvironmentalStateManager
Definition: physicalWorld.h:1320
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
DtFilename myPhysicalWorldFile
Definition: physicalWorld.h:1324
DtVrfChordIntersectionRecord represents a list of DtChordIntersectRecords.
Definition: vrfChordIntersectRecordList.h:31
DtLineOfSightTestContainer myLineOfSightTestsToPerform
Definition: physicalWorld.h:1152
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
std::map< DtLosTestKey, DtVrfLineOfSightFunctorSP > DtKeyedLineOfSightTestContainer
Definition: physicalWorld.h:1143
DtSensorSignatureManager * mySensorSignatureManager
Definition: physicalWorld.h:1318
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
void(* DtCallbackFunctionType)(void *)
The function signature of the callback function.
Definition: noArgumentCallbackList.h:156
Contains the DtFilterFunctionPredicate class declaration.
Definition: filterFunctionPredicate.h:23
const DtLineOfSightTestContainer & lineOfSightTestsToPerform() const
Definition: physicalWorld.h:1111
DtSpatialVrfObjectManagerInterface * mySpatialVrfObjectManager
Definition: physicalWorld.h:1306
The DtSpatialVrfObjectManager is responsible for maintaining a spatial organization of all specified ...
Definition: spatialVrfObjectManager.h:34
*bool testInvariant() const
DtKeyedLineOfSightTestContainer myMasterLineOfSightTestContainer
Definition: physicalWorld.h:1147
bool mySpatialMgrResolutionUserSpecified
Definition: physicalWorld.h:1301
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:32
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
DtNoArgumentCallbackList myPostLoadParametersCallbacks
Definition: physicalWorld.h:1333
Definition: surface.h:179
DtLineOfSightTestContainer::iterator DtLosTestIter
Definition: physicalWorld.h:1149
virtual DtString help(const DtString &parameters)
Definition: consoleCommandManager.h:36
DtString DtLosTestKey
The following typedefs, functions, and other code are all related to the Line Of Sight calculations...
Definition: physicalWorld.h:1125
std::list< DtVrfLineOfSightFunctorSP > DtLineOfSightTestContainer
Definition: physicalWorld.h:105
Definition: physicalWorld.h:1343
DtPhysicalWorldParams * myParameters
Parameters for this physical world.
Definition: physicalWorld.h:1316
Instances of DtVrfObjectPredicate are used to evaluate a condition, given a DtVrfObject as an argumen...
Definition: vrfObjectPredicate.h:21
DtLineOfSightTestContainer::const_iterator DtLosTestConstIter
Definition: physicalWorld.h:1150
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:87
Definition: coordSystem.h:54
Central manager for calculating apparent signatures of entities from various viewpoints.
Definition: sensorSignatureManager.h:35
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
File: simMsg.h.
Definition: simMessage.h:35
This class works just as DtCalllbackTable, but manages callbacks that have no arguments, and therefore don&#39;t fit in the template defined by DtCallbackList.
Definition: noArgumentCallbackList.h:152
Handles the any dynamic changes to the terrain.
Definition: dynamicTerrainManager.h:38
boost::unordered_set< const DtVrfObject * > DtVrfConstObjectUniqueContainer
Set of functions used to get the relevant DtVrfObjects from the object manager.
Definition: physicalWorld.h:729
DtExpireOlderThanCommand * myExpireOlderThanCommand
Definition: physicalWorld.h:1328
system includes
Definition: consoleCommandManager.h:27
DtTerrainInterface allows access to common terrain calls without having to know the terrain implement...
Definition: terrainInterface.h:84
boost::shared_ptr< DtVrfCallbackQueue > mySoilTypeLookupQueue
Definition: physicalWorld.h:1330
The DtVrfLineOfSightCheckParams class is used to configure the line of sight queries.
Definition: vrfLineOfSightCheckParams.h:27
Abstract interface for a spatial object manager.
Definition: spatialVrfObjectManager.h:46
Dynamic feature set object.
Definition: dynamicFeatureSet.h:24
bool myUseVrfObjectSpatialManager
Definition: physicalWorld.h:1300
DtTerrainInterface * myTerrainInterface
Definition: physicalWorld.h:1297
class DtVrfObjectManager:
Definition: vrfObjectManager.h:201
Readable-writable class holding all parameters for to configure the DtPhysicalWorld.
Definition: physicalWorldParams.h:26
Definition: vrfChordIntersectionRecord.h:19
DT_DLL_vrfutil bool intersection(const DtRailSegment *currentSegment, const DtRailSegment *nextSegment)
Given two segments, determine if where they meet is an intersection or just a bend in the road...
Definition: intersectionRecord.h:60
const DtFilename & physicalWorldFile() const
Returns the value of the last file loaded.
Definition: physicalWorld.h:1338
DtDynamicTerrainManager * myDynamicTerrainManager
Definition: physicalWorld.h:1322
DtBoost::shared_ptr< const DtManagedObjectList > DtManagedObjectListConstPtr
Typedef for a shared pointer to a const DtOrgViewManagedObjectList.
Definition: managedObjectList.h:31
unsigned int myVrfObjectSpatialSubXResolution
Definition: physicalWorld.h:1302
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
DtNoArgumentCallbackList myPreLoadParametersCallbacks
Definition: physicalWorld.h:1332
Handles the environmental state of the simulation.
Definition: environmentalStateManager.h:41
DtManagedObjectListConstPtr mySpatiallyManagedVrfObjectList
Definition: physicalWorld.h:1308
DtMedium
Definition: surface.h:185
DtKeyedLineOfSightTestContainer::const_iterator DtMasterLosTestConstIter
Definition: physicalWorld.h:1145
voidpf uLong offset
Definition: ioapi.h:42
DtVrfObjectManager * myVrfObjectManager
Not owned, just used for reference.
Definition: physicalWorld.h:1313
DtTime myLastPreloadTerrainTime
Definition: physicalWorld.h:1326
DtKeyedLineOfSightTestContainer::iterator DtMasterLosTestIter
Definition: physicalWorld.h:1144
DtSimManager * mySimManager
Not owned, just used for reference.
Definition: physicalWorld.h:1311
Definition: point.h:34
virtual bool execute(const DtString &parameters)=0
Execute the command.
unsigned int myVrfObjectSpatialSubZResolution
Definition: physicalWorld.h:1304
DtIntersectionType
Definition: intersectionRecord.h:41
DtBoost::shared_ptr< DtVrfLineOfSightFunctor > DtVrfLineOfSightFunctorSP
Typedefs for shared pointer to the Functors.
Definition: vrfLineOfSightFunctor.h:35
unsigned int myVrfObjectSpatialSubYResolution
Definition: physicalWorld.h:1303

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)