VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 
11 #pragma once
12 
18 
19 #include "vrfutil/asyncJobServer.h"
23 
24 #include <features/feature.h>
25 #include <features/pathFeature.h>
26 #include <features/aStarGraph.h>
27 #include <features/areaFeature.h>
30 
31 #include <fstream>
32 
33 #include <boost/scoped_ptr.hpp>
34 #include <boost/ptr_container/ptr_list.hpp>
35 
37 class DtTerrainImplementationDescriptor;
41 class DtVrfCallbackQueue;
43 class Dt3dBoundingVolume;
44 class DtTerrainIndexParameters;
45 class DtEntityType;
46 class DtScenarioExplorer;
47 
48 namespace makArchives
49 {
50  class DtTerrainRecord;
51  class DtGenericTerrainRecord;
52 }
53 
55  makArchives::DtGenericTerrainRecord* record, void* userData);
56 
58 typedef boost::shared_ptr<DtGenericTerrainRecordCallbackList> DtGenericTerrainRecordCallbackListPtr;
59 
85 {
86 public:
88  {
89  VrfSimulationBackEnd = 1,
90  NavGenerationTool = 2
91  };
92 
94 
96  struct OceanLayer
97  {
100  bool present;
101  double seaLevel;
105  };
106 
107 public:
110 
112  virtual ~DtTerrainInterface();
113 
117  virtual bool init(bool createConsoleManager = true);
118 
120  virtual void setConfigFile(const std::string&, bool reload=true);
121 
123  virtual const DtTerrainInterfaceConfig& configOptions() const;
124 
126  virtual void tick();
127 
129  virtual bool isSameTerrain(const DtFilename&) const;
130 
133  {
134  return myTerrainImpl;
135  }
136 
139  virtual void addTerrainImplementation(const DtString& implementationName,
141 
143  virtual void addFeatureLayer(MAKVRinTerra::DtFeatureSet*);
144  virtual void addFeatureLayer(boost::shared_ptr<MAKVRinTerra::DtFeatureSet>);
145 
146  virtual void addGenericTerrainRecordCallback(
147  const DtString& recordType,
149  void* user);
150 
151  virtual void removeGenericTerrainRecordCallback(
152  const DtString& recordType,
154  void* user);
155 
156  virtual void invokeGenericTerrainRecordCallbacks(
158 
160  virtual bool loadTerrain(const DtString& filename, LoadContext context = VrfSimulationBackEnd);
161 
163  virtual bool unloadTerrain(bool block = true);
164 
169  virtual bool loadModel(const DtFilename& f, const DtEntityType& t = DtEntityType(), bool hasOceanLayer = true);
170 
173  virtual double modelHeightDifferencesFromAppearances(int oldApp, int newApp) const;
174 
176  virtual bool terrainIsLoaded();
179  virtual DtString loadedFilename() const;
180 
181  virtual const Coordinate_System* coordinateSystem() const;
182  virtual Coordinate_System* coordinateSystem();
183 
186  virtual std::auto_ptr<MAKVRinTerra::DtAreaFeatureSet> areas(
187  const std::string& type,
188  const boost::shared_ptr<DtVrfCallbackQueue>& = boost::shared_ptr<DtVrfCallbackQueue>()) const;
189 
192  virtual std::auto_ptr<MAKVRinTerra::DtAreaFeatureSet> areas(
194  const boost::shared_ptr<DtVrfCallbackQueue>& = boost::shared_ptr<DtVrfCallbackQueue>()) const;
195 
197  virtual std::auto_ptr<MAKVRinTerra::DtAreaFeatureSet> LOSfeatures() const;
198 
199  virtual std::auto_ptr<MAKVRinTerra::DtPathFeatureSet> paths(const std::string& type) const;
200 
203  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> features(
204  const std::string& queryName) const;
205 
207  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> allFeatures() const;
208 
211  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> featuresRaw(
212  const std::string& queryName) const;
213 
215  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> allFeaturesRaw() const;
216 
236  virtual double terrainHeightAboveSeaLevel(const DtPoint& databaseLocation,
237  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
238 
239  virtual double terrainHeightAboveSeaLevel(DtTerrainIntersectStatus& status,
240  const DtPoint& databaseLocation,
241  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
243 
270  virtual bool terrainHeightAndIntersection(const DtVector& localLocation,
271  double& height, DtVrfChordIntersectionRecord& record,
273  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
274 
275  virtual bool terrainHeightAndIntersection(DtTerrainIntersectStatus& status,
276  const DtVector& localLocation,
277  double& height, DtVrfChordIntersectionRecord& record,
278  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
280 
284  virtual bool terrainHeightAndIntersectionBelow(const DtVector& localLocation,
285  double& height, DtVrfChordIntersectionRecord& record,
287  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
288 
289  virtual bool terrainHeightAndIntersectionBelow(DtTerrainIntersectStatus& status,
290  const DtVector& localLocation,
291  double& height, DtVrfChordIntersectionRecord& record,
292  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
294 
425  virtual bool terrainHeightUnderWater(const DtVector& databaseLocation,
426  double& groundHeight, DtSurface& groundSurface, DtVector& groundNormal,
427  double& waterHeight, DtSurface::DtMedium &topSurfaceMedium,
428  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) ;
429 
430  virtual bool terrainHeightUnderWater(DtTerrainIntersectStatus& status,
431  const DtVector& databaseLocation,
432  double& groundHeight, DtSurface& groundSurface, DtVector& groundNormal,
433  double& waterHeight, DtSurface::DtMedium &topSurfaceMedium,
436 
483  virtual bool closestIntersection(const DtVector& localLocation,
484  DtPoint& intersectionPoint, bool* dataAvailable = 0,
485  bool overrideBlockingAssert = false, bool doNotAddDefaultRecord = false, int flags = 0) const;
486 
487  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
488  const DtVector& localLocation, DtPoint& intersectionPoint,
489  bool doNotAddDefaultRecord = false,
490  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
492 
515  virtual bool closestIntersection(double lat, double lon,
516  DtPoint& intersectionPoint, bool* dataAvailable = 0,
517  bool overrideBlockingAssert = false, bool doNotAddDefaultRecord = false, int flags = 0) const;
518 
519  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
520  double lat, double lon,
521  DtPoint& intersectionPoint,
522  bool doNotAddDefaultRecord = false,
523  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
525 
555  virtual bool closestIntersection(const DtVector& localLocation,
558  bool* dataAvailable = 0, bool overrideBlockingAssert = false,
559  bool doNotAddDefaultRecord = false, int flags = 0) const;
560 
561  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
562  const DtVector& localLocation,
564  bool doNotAddDefaultRecord = false,
565  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
567 
597  virtual bool closestIntersection(double lat, double lon,
600  DtIntersectionRecord::INT_ALL_DATA, bool* dataAvailable = 0,
601  bool overrideBlockingAssert = false, bool doNotAddDefaultRecord = false, int flags = 0) const;
602 
603  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
604  double lat, double lon,
606  bool doNotAddDefaultRecord = false,
607  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
609 
642  virtual bool closestIntersection(const std::list<DtVector>& localLocationList,
643  DtVrfChordIntersectRecordList& recordList, int& numIntersections,
645  bool* dataAvailable = 0, bool overrideBlockingAssert = false,
646  bool doNotAddDefaultRecord = false, int flags = 0) const;
647 
648  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
649  const std::list<DtVector>& localLocationList,
650  DtVrfChordIntersectRecordList& recordList, int& numIntersections,
651  bool doNotAddDefaultRecord = false,
652  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
654 
685  virtual bool intersect(const DtChord& chord, DtPoint& intersectionPoint,
686  double& intersectionTime, bool* dataAvailable = 0,
687  bool overrideBlockingAssert = false, int flags = 0) const;
688 
689  virtual bool intersect(DtTerrainIntersectStatus& status,
690  const DtChord& chord, DtPoint& intersectionPoint,
691  double& intersectionTime,
692  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
694 
729  virtual bool intersect(const DtChord& chord,
732  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
733 
734  virtual bool intersect(DtTerrainIntersectStatus& status,
735  const DtChord& chord,
737  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
739 
769  virtual bool allIntersectsAlongChord(const DtChord& chord,
772  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
773 
774  virtual bool allIntersectsAlongChord(DtTerrainIntersectStatus& status,
775  const DtChord& chord,
777  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
779 
784  virtual bool allIntersectsAlongChordDebug(const DtChord& chord,
786  bool* dataAvailable = 0,
787  bool overrideBlockingAssert = false, int flags = 0) const;
788 
789  virtual bool allIntersectsAlongChordDebug(DtTerrainIntersectStatus& status,
790  const DtChord& chord,
792  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
794 
829  virtual bool intersectList(const std::list<DtChord>& chordList,
830  DtVrfChordIntersectRecordList& recordList, int& numTerrainIntersections,
832  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
833 
834  virtual bool intersectList(DtTerrainIntersectStatus& status,
835  const std::list<DtChord>& chordList,
836  DtVrfChordIntersectRecordList& recordList, int& numTerrainIntersections,
837  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
839 
854  virtual void preloadTerrainAreas(
855  const DtTerrainPagingGeometryList& preloadGeometry);
856 
862  virtual void forceLoadTerrainAreas(
863  const DtTerrainPagingGeometryList& forceLoadGeometry);
864 
866  virtual bool dataAvailable(const DtTerrainPagingGeometryList& geometry);
867 
873  virtual const DtTerrainCapabilities* terrainCapabilities() const;
874 
878  virtual bool addTerrainPassThroughLayer(const DtString& layerType);
879 
889  virtual void setAssertOnBlockingTerrainCalls(bool assertBlock);
890  virtual bool assertOnBlockingTerrainCalls() const;
892 
895  virtual void setWarnOnBlockingTerrainCalls(bool warnBlock);
896  virtual bool warnOnBlockingTerrainCalls() const;
898 
903  virtual void setIntersectDataLoadExpireTime(const double& expireTime);
904  virtual void expireDataLoadRequestsBeforeTime(const double& currentTime);
905 
916  virtual void trianglesInArea(DtTriangleCallbackFcn func,
917  DtTriangleCallbackFinalizeFcn finalize, DtTerrainProcessPolygonsBox& box, void* usr) const;
918 
925  virtual void trianglesInArea(DtTriangleOutputInterface& func, DtTerrainProcessPolygonsBox& box) const;
926 
929  virtual DtTerrainInformation* terrainInformation();
930 
934  virtual boost::shared_ptr<DtAsyncJobMapEntry> makePathAsync(
935  const DtPoint& localStart,
936  const DtPoint& localDestination,
937  const std::string& type,
938  const double& maxSearchRadius,
939  const double& startProximityThreshold,
940  const DtAStarGraph::DtWeightFactorsList& weightFactors
941  = DtAStarGraph::DtWeightFactorsList());
942 
956  virtual DtAStarGraph::Path makePath(
957  const DtPoint& localStart,
958  const DtPoint& localDestination,
959  const std::string& type,
960  const double& maxSearchRadius,
961  const double& startProximityThreshold,
962  boost::function<bool ()> cancelCheck,
963  const DtAStarGraph::DtWeightFactorsList& weightFactors
964  = DtAStarGraph::DtWeightFactorsList()) const;
965 
968  virtual bool onPathFeature(
969  const DtPoint& location, const DtString& type, double buffer = 0.5);
970 
972  virtual DtAStarGraph::Ptr pathFinder(const std::string&) const;
973 
977  virtual boost::shared_ptr<DtAsyncJobMapEntry> addAsyncJob(DtAsyncJob* job);
978 
980  MAKVRinTerra::DtProj::CPtr localProj() const;
981 
982  MAKVRinTerra::DtFeaturesDebugger& debugger() const;
983 
984  MAKVRinTerra::DtQuery findQuery(const std::string& name) const;
985 
986  const double topoDistance(const DtPoint& start, const DtPoint& end,
987  const MAKVRinTerra::DtProj& localProj);
988 
998  MAKVRinTerra::DtClosestPathFeatureFinder closestFeatureOnNetwork(
999  const std::string& type, const DtPoint& startingLocation,
1000  const double& searchRadius, bool* dataAvailable = NULL);
1001 
1002  void breakUpChord(const MAKVRinTerra::DtProj&, const DtChord& chord,
1003  std::vector<DtChord>& chords) const;
1004 
1005  void breakUpChord(const DtChord& chord, std::vector<DtChord>& chords) const;
1006 
1008  virtual DtTerrainGeometryHandle* createEntityGeometry(const DtFilename& file);
1009 
1012  virtual DtTerrainGeometryHandle* createEntityGeometry(const DtEntityType& file);
1013 
1015  virtual void loadVisuals(const DtScenarioExplorer&);
1016 
1023  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1024  double time,
1025  const std::map<DtString, DtString>& keyValueChanges,
1026  const DtVector& centerLocation, double radius);
1027 
1034  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1035  double time,
1036  const std::map<DtString, DtString>& keyValueChanges,
1037  const std::list<DtVector>& vertices, double width);
1038 
1044  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1045  double time,
1046  const std::map<DtString, DtString>& keyValueChanges,
1047  const std::list<DtVector>& vertices);
1048 
1054  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1055  double time,
1057 
1070  virtual void dynamicTerrainFeaturesInArea(
1071  const DtVector& centerLocation, double radius,
1072  std::list<DtRwDynamicTerrainInformation>& dynamicTerrainInfo, bool* dataAvailable = NULL,
1073  const DtString& filterKey = DtString::nullString());
1074 
1087  virtual void dynamicTerrainFeaturesInArea(
1088  const std::list<DtVector>& vertices, double width,
1089  std::list<DtRwDynamicTerrainInformation>& dynamicTerrainInfo, bool* dataAvailable = NULL,
1090  const DtString& filterKey = DtString::nullString());
1091 
1103  virtual void dynamicTerrainFeaturesInArea(
1104  const std::list<DtVector>& vertices,
1105  std::list<DtRwDynamicTerrainInformation>& dynamicTerrainInfo, bool* dataAvailable = NULL,
1106  const DtString& filterKey = DtString::nullString());
1107 
1115  virtual bool extractDynamicTerrainFeatureInformation(const makVrv::DtDynamicTerrainFeature& feature,
1116  DtRwDynamicTerrainInformation& dynamicTerrainInfo, const DtString& filterKey = DtString::nullString()) const;
1117 
1121  virtual DtDynamicTerrainQueryHandle queryDynamicTerrainFeatures(
1122  const DtDynamicTerrainQueryCallback& callback,
1123  makVrv::DtDynamicTerrainGeometry* geometry = 0,
1124  bool useOriginalGeometry = false);
1125 
1126  virtual void queryCurrentDynamicTerrainFeatures(
1127  const DtDynamicTerrainQueryCallback& callback,
1128  makVrv::DtDynamicTerrainGeometry* geometry = 0,
1129  bool useOriginalGeometry = false);
1130 
1133  virtual void cacheTerrainArea(int requestId,
1134  unsigned minLOD, unsigned maxLOD, const DtExtent& cacheArea,
1135  DtCacheProgressCallbackFunction fcn = 0, void* usr = 0);
1136 
1138  virtual void cancelCacheTerrainArea(int requestId);
1139 
1144  virtual void writeTerrainIndex(const DtString& name = DtString());
1145 
1147  virtual bool oceanLayerPresent() const;
1148 
1150  virtual void setOceanLayerPresent(bool b);
1151 
1163  virtual bool nonPolygonalWaterHeight(
1164  const DtChord& localLocation,
1165  double& height) const;
1166 
1168  virtual void setNonPolygonalWaterHeight(double d);
1169 
1173  virtual double defaultWaterDepth(const DtVector& localLocation) const;
1174 
1176  virtual void setDefaultWaterDepth(double);
1177 
1181  virtual double defaultSurfaceElevation(const DtVector& localLocation) const;
1182 
1198  virtual DtSurface::DtMedium mediumForUnspecPolygonsUnderWater() const;
1199 
1201  virtual void setMediumForUnspecPolygonsUnderWater(DtSurface::DtMedium m);
1202 
1214  virtual double landAboveWaterMinimumSeparation() const;
1215 
1217  virtual void setLandAboveWaterMinimumSeparation(double);
1218 
1219 protected:
1222  void insertNonPolyWaterIntoIntersectionList(
1223  DtVrfChordIntersectionRecord& waterInterx,
1224  DtVrfChordIntersectRecordList& intrxList) const;
1225 
1233  virtual DtVrfChordIntersectionRecord blankSurfaceIntersectionRecord(
1234  const DtVector& localLocation, const double height) const;
1235 
1240  virtual bool nonPolygonalWaterIntersect(
1241  const DtChord& chord,
1242  DtVrfChordIntersectRecordList& waterRecords,
1244 
1245  typedef std::map<DtString, DtGenericTerrainRecordCallbackListPtr >
1247 
1251  const DtString& recordType);
1252 
1253 protected:
1260 
1261  typedef boost::ptr_list<MAKVRinTerra::DtFeatureSet> FeatureSetList;
1263 
1265 
1269 
1275 
1277 
1280 
1282 
1284 
1287 
1289 
1290  std::ofstream myDebugOutputFile;
1291  tbb::tick_count myLastDebugOutputTick;
1292 
1294 
1295 
1297 
1298 
1299 };
1300 
1301 #define DtRegisterTerrainImplementationFunctionName "DtRegisterTerrainImplementation"
1302 
1306 
1307 
1308 #define DtDeregisterTerrainImplementationFunctionName "DtDeregisterTerrainImplementation"
1309 
Represents a set of DtFeature objects or others which conform to the DtFeature concept.
Definition: featureSet.h:101
DtString myLoadedFilename
The last filename that was passed to loadTerrain()
Definition: terrainInterface.h:1273
tbb::tick_count myLastDebugOutputTick
Definition: terrainInterface.h:1291
boost::function< void(const makVrv::DtDynamicTerrainFeature &)> DtDynamicTerrainQueryCallback
Definition: terrainImplementation.h:135
NOTE: This entire class is deprecated, in favor of Dt3dChord.
Definition: chord.h:40
Class DtTerrainInterfaceConfig is a readable-writable class holding terrain interface configuration o...
Definition: terrainInterfaceConfig.h:32
This is the abstract base class for all terrain implementations.
Definition: terrainImplementation.h:162
DtCallbackList< makArchives::DtGenericTerrainRecord * > DtGenericTerrainRecordCallbackList
Definition: terrainInterface.h:57
void(* DtDeregisterTerrainImplementationLibFcn)()
This function signature is used for terrain implementation shared libraries that deregister themselve...
Definition: terrainInterface.h:1312
DtVrfChordIntersectionRecord represents a list of DtChordIntersectRecords.
Definition: vrfChordIntersectRecordList.h:31
An asynchronous job that can be added to and executed by a job server.
Definition: asyncJob.h:47
DtGenericTerrainRecords allow the VR-Forces terrainInterface library to instantiate and configure the...
Definition: DtGenericTerrainRecord.h:34
void(* DtGenericTerrainRecordCallbackFunction)(makArchives::DtGenericTerrainRecord *record, void *userData)
Definition: terrainInterface.h:54
std::list< std::pair< DtPagingMetaDataPtr, DtTerrainPagingGeometryPtr > > DtTerrainPagingGeometryList
Definition: terrainPagingGeometry.h:92
bool present
False unless there is ocean layer data in the .mtf file.
Definition: terrainInterface.h:100
double landAboveWaterMinimumSeparation
Definition: terrainInterface.h:104
Represents (possibly infinite) area of space.
Definition: DtDynamicTerrainGeometry.h:19
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
Allows manipulating a terrain object.
Definition: terrainImplementation.h:139
DtGenericTerrainRecordCallbackListMap myGenericTerrainRecordCallbacklists
Definition: terrainInterface.h:1296
This class manages a set of DtTerrainImplementation subclasses by maintaining a factory for creating ...
Definition: terrainImplementationManager.h:30
double defaultSeaDepth
Global, implicit sea surface elevation.
Definition: terrainInterface.h:102
boost::shared_ptr< DtGenericTerrainRecordCallbackList > DtGenericTerrainRecordCallbackListPtr
Definition: terrainInterface.h:58
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:32
This is a class which maintains a list of string command names and the callback functions that are to...
Definition: consoleCommandManager.h:48
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
MAKVRinTerra::DtAStarGraph DtAStarGraph
Definition: terrainInterface.h:93
Information on what dynamic changes are possible for a particular geometry feature in the terrain...
Definition: rwDynamicTerrainInformation.h:21
DtTerrainImplementationManager * myTerrainImplManager
Definition: terrainInterface.h:1270
Definition: surface.h:179
Definition: aStarGraph.h:79
static double theTerrainPagingMaxHeight
Definition: terrainInterface.h:1281
DtTerrainIntersectOptions Passed to terrain intersect functions to modify how intersect acts...
Definition: terrainIntersectOptions.h:15
bool myTerrainIsLoaded
Status publisher needs to keep track of when terrain is loaded and unloaded.
Definition: terrainInterface.h:1268
DtConsoleCommandManager * myConsoleCommandManager
Definition: terrainInterface.h:1271
Definition: coordSystem.h:54
bool(* DtRegisterTerrainImplementationLibFcn)(DtTerrainInterface *)
This function signature is used for terrain implementation shared libraries that register themselves ...
Definition: terrainInterface.h:1305
Feature system config file.
Record of a VR-Vantage terrain Contains: Terrain coordinate system Terrain patches Feature layers Ter...
Definition: DtTerrainRecord.h:29
DtString myUnresolvedFilename
Definition: terrainInterface.h:1274
Represents some coordinate system.
Definition: proj.h:44
Represents a set of characeters a DtFeature object can have.
Definition: query.h:38
double seaLevel
Definition: terrainInterface.h:101
#define DT_DLL_terrainInterface
This file is used to determine how to build.
Definition: terrainInterfaceDefines.h:25
DtFilename myTerrainOptionsFilename
Default config loaded in init Loading terrains will have a copy of this and may set their own specifi...
Definition: terrainInterface.h:1258
This class holds parameters which define the capabilities of the current terrain. ...
Definition: terrainCapabilities.h:25
Definition: noArgumentCallbackList.h:91
boost::shared_ptr< const DtProj > CPtr
Definition: proj.h:48
DtTerrainInterface allows access to common terrain calls without having to know the terrain implement...
Definition: terrainInterface.h:84
DtTerrainImplementation * terrainImplementation() const
Returns the current terrain implementation.
Definition: terrainInterface.h:132
DtTerrainImplementationFactory::DtCreatorFcn DtTerrainImplementationCreatorFcn
Definition: terrainImplementation.h:376
Interface which abstracts the concept of a individually identifiable &quot;thing&quot; in the terrain...
Definition: DtDynamicTerrainFeature.h:83
LoadContext
Definition: terrainInterface.h:87
makArchives::DtTerrainRecord * myTerrainRecord
Definition: terrainInterface.h:1293
OceanLayer myGlobalOceanLayer
Definition: terrainInterface.h:1288
Definition: pathFeature.h:106
Definition: vrfChordIntersectionRecord.h:19
Definition: intersectionRecord.h:60
DtTerrainImplementation * myTerrainImpl
Definition: terrainInterface.h:1264
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtTerrainInterfaceConfig myFileConfig
Definition: terrainInterface.h:1259
MAKVRinTerra::DtProj::CPtr myProjObject
Definition: terrainInterface.h:1283
std::map< DtString, DtGenericTerrainRecordCallbackListPtr > DtGenericTerrainRecordCallbackListMap
Definition: terrainInterface.h:1246
void(* DtTriangleCallbackFcn)(DtTerrainTriangleStruct &triangle, void *usr)
Definition: terrainProcessPolygonsBox.h:109
boost::ptr_list< MAKVRinTerra::DtFeatureSet > FeatureSetList
Definition: terrainInterface.h:1261
DtAsyncJobServer myAsyncJobServer
Manages asynchronous path planning tasks.
Definition: terrainInterface.h:1286
Command which can be given to the dynamic terrain system to perform some change.
Definition: DtDynamicTerrainChange.h:42
DtSurface::DtMedium defaultSurfaceMedium
Default depth. Positive, m below surface.
Definition: terrainInterface.h:103
void(* DtCacheProgressCallbackFunction)(int requestId, int current, bool completed, double elapsedTime, void *usr)
Callback for terrain caching.
Definition: terrainImplementation.h:46
Resource handle for a query which has been added to the system.
Definition: terrainImplementation.h:104
Interface for getting terrain triangle data out of DtTerrainInterface::trianglesInArea.
Definition: terrainProcessPolygonsBox.h:113
Manages async job objects.
Definition: asyncJobServer.h:73
DtMedium
Definition: surface.h:185
std::ofstream myDebugOutputFile
Definition: terrainInterface.h:1290
Definition: featuresDebugger.h:33
Global ocean layer info; used in conjunction with the polygon data.
Definition: terrainInterface.h:96
Resource handle for a dynamic terrain change request which has been added to the system.
Definition: terrainImplementation.h:69
double myLastFileTime
Needed in case file is saved with same name and then reloaded.
Definition: terrainInterface.h:1279
TODO Put this in the makTerrainLib.
Definition: terrainInformation.h:17
Configuration object for processing areas.
Definition: areaFeature.h:45
Definition: point.h:34
DtTerrainIntersectStatus Contains information about result of terrain intersection.
Definition: terrainIntersectStatus.h:16
void(* DtTriangleCallbackFinalizeFcn)(int status, void *usr)
Definition: terrainProcessPolygonsBox.h:108
DtTerrainPagingGeometryList myForceLoadAreas
Definition: terrainInterface.h:1276
DtIntersectionType
Definition: intersectionRecord.h:41
Represents an area query which can be used to extract triangles from DtTerrainInterface.
Definition: terrainProcessPolygonsBox.h:39
FeatureSetList myFeatureLayers
Definition: terrainInterface.h:1262

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)