VR-Forces 4.10 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 
62 typedef void(*DtTerrainChangeNotificationCallbackFcn)(const DtExtent& spatExtent, void* userData);
63 
89 {
90 public:
92  {
93  VrfSimulationBackEnd = 1,
94  NavGenerationTool = 2
95  };
96 
98 
100  struct OceanLayer
101  {
104  bool present;
105  double seaLevel;
109  };
110 
111 public:
114 
116  virtual ~DtTerrainInterface();
117 
121  virtual bool init(bool createConsoleManager = true);
122 
124  virtual void setConfigFile(const std::string&, bool reload=true);
125 
127  virtual const DtTerrainInterfaceConfig& configOptions() const;
128 
130  virtual void tick();
131 
133  virtual bool isSameTerrain(const DtFilename&) const;
134 
137  {
138  return myTerrainImpl;
139  }
140 
143  virtual void addTerrainImplementation(const DtString& implementationName,
145 
147  virtual void addFeatureLayer(MAKVRinTerra::DtFeatureSet*);
148  virtual void addFeatureLayer(boost::shared_ptr<MAKVRinTerra::DtFeatureSet>);
149 
150  virtual void addGenericTerrainRecordCallback(
151  const DtString& recordType,
153  void* user);
154 
155  virtual void removeGenericTerrainRecordCallback(
156  const DtString& recordType,
158  void* user);
159 
160  virtual void invokeGenericTerrainRecordCallbacks(
162 
164  virtual void addTerrainChangeNotificationCallback(DtTerrainChangeNotificationCallbackFcn fcn,
165  void* user);
166 
168  virtual void removeTerrainChangeNotificationCallback(DtTerrainChangeNotificationCallbackFcn fcn,
169  void* user);
170 
172  virtual bool loadTerrain(const DtString& filename, LoadContext context = VrfSimulationBackEnd);
173 
175  virtual bool unloadTerrain(bool block = true);
176 
181  virtual bool loadModel(const DtFilename& f, const DtEntityType& t = DtEntityType(), bool hasOceanLayer = true);
182 
185  virtual double modelHeightDifferencesFromAppearances(int oldApp, int newApp) const;
186 
188  virtual bool terrainIsLoaded();
191  virtual DtString loadedFilename() const;
192 
193  virtual const Coordinate_System* coordinateSystem() const;
194  virtual Coordinate_System* coordinateSystem();
195 
198  virtual std::auto_ptr<MAKVRinTerra::DtAreaFeatureSet> areas(
199  const std::string& type,
200  const boost::shared_ptr<DtVrfCallbackQueue>& = boost::shared_ptr<DtVrfCallbackQueue>()) const;
201 
204  virtual std::auto_ptr<MAKVRinTerra::DtAreaFeatureSet> areas(
206  const boost::shared_ptr<DtVrfCallbackQueue>& = boost::shared_ptr<DtVrfCallbackQueue>()) const;
207 
209  virtual std::auto_ptr<MAKVRinTerra::DtAreaFeatureSet> LOSfeatures() const;
210 
211  virtual std::auto_ptr<MAKVRinTerra::DtPathFeatureSet> paths(const std::string& type) const;
212 
215  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> features(
216  const std::string& queryName) const;
217 
219  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> allFeatures() const;
220 
223  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> featuresRaw(
224  const std::string& queryName) const;
225 
227  virtual std::auto_ptr<MAKVRinTerra::DtFeatureSet> allFeaturesRaw() const;
228 
248  virtual double terrainHeightAboveSeaLevel(const DtPoint& databaseLocation,
249  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
250 
251  virtual double terrainHeightAboveSeaLevel(DtTerrainIntersectStatus& status,
252  const DtPoint& databaseLocation,
253  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
255 
282  virtual bool terrainHeightAndIntersection(const DtVector& localLocation,
283  double& height, DtVrfChordIntersectionRecord& record,
285  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
286 
287  virtual bool terrainHeightAndIntersection(DtTerrainIntersectStatus& status,
288  const DtVector& localLocation,
289  double& height, DtVrfChordIntersectionRecord& record,
290  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
292 
296  virtual bool terrainHeightAndIntersectionBelow(const DtVector& localLocation,
297  double& height, DtVrfChordIntersectionRecord& record,
299  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
300 
301  virtual bool terrainHeightAndIntersectionBelow(DtTerrainIntersectStatus& status,
302  const DtVector& localLocation,
303  double& height, DtVrfChordIntersectionRecord& record,
304  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
306 
437  virtual bool terrainHeightUnderWater(const DtVector& databaseLocation,
438  double& groundHeight, DtSurface& groundSurface, DtVector& groundNormal,
439  double& waterHeight, DtSurface::DtMedium &topSurfaceMedium,
440  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) ;
441 
442  virtual bool terrainHeightUnderWater(DtTerrainIntersectStatus& status,
443  const DtVector& databaseLocation,
444  double& groundHeight, DtSurface& groundSurface, DtVector& groundNormal,
445  double& waterHeight, DtSurface::DtMedium &topSurfaceMedium,
448 
495  virtual bool closestIntersection(const DtVector& localLocation,
496  DtPoint& intersectionPoint, bool* dataAvailable = 0,
497  bool overrideBlockingAssert = false, bool doNotAddDefaultRecord = false, int flags = 0) const;
498 
499  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
500  const DtVector& localLocation, DtPoint& intersectionPoint,
501  bool doNotAddDefaultRecord = false,
502  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
504 
527  virtual bool closestIntersection(double lat, double lon,
528  DtPoint& intersectionPoint, bool* dataAvailable = 0,
529  bool overrideBlockingAssert = false, bool doNotAddDefaultRecord = false, int flags = 0) const;
530 
531  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
532  double lat, double lon,
533  DtPoint& intersectionPoint,
534  bool doNotAddDefaultRecord = false,
535  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
537 
567  virtual bool closestIntersection(const DtVector& localLocation,
570  bool* dataAvailable = 0, bool overrideBlockingAssert = false,
571  bool doNotAddDefaultRecord = false, int flags = 0) const;
572 
573  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
574  const DtVector& localLocation,
576  bool doNotAddDefaultRecord = false,
577  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
579 
609  virtual bool closestIntersection(double lat, double lon,
612  DtIntersectionRecord::INT_ALL_DATA, bool* dataAvailable = 0,
613  bool overrideBlockingAssert = false, bool doNotAddDefaultRecord = false, int flags = 0) const;
614 
615  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
616  double lat, double lon,
618  bool doNotAddDefaultRecord = false,
619  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
621 
654  virtual bool closestIntersection(const std::list<DtVector>& localLocationList,
655  DtVrfChordIntersectRecordList& recordList, int& numIntersections,
657  bool* dataAvailable = 0, bool overrideBlockingAssert = false,
658  bool doNotAddDefaultRecord = false, int flags = 0) const;
659 
660  virtual bool closestIntersection(DtTerrainIntersectStatus& status,
661  const std::list<DtVector>& localLocationList,
662  DtVrfChordIntersectRecordList& recordList, int& numIntersections,
663  bool doNotAddDefaultRecord = false,
664  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
666 
697  virtual bool intersect(const DtChord& chord, DtPoint& intersectionPoint,
698  double& intersectionTime, bool* dataAvailable = 0,
699  bool overrideBlockingAssert = false, int flags = 0) const;
700 
701  virtual bool intersect(DtTerrainIntersectStatus& status,
702  const DtChord& chord, DtPoint& intersectionPoint,
703  double& intersectionTime,
704  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
706 
741  virtual bool intersect(const DtChord& chord,
744  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
745 
746  virtual bool intersect(DtTerrainIntersectStatus& status,
747  const DtChord& chord,
749  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
751 
781  virtual bool allIntersectsAlongChord(const DtChord& chord,
784  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
785 
786  virtual bool allIntersectsAlongChord(DtTerrainIntersectStatus& status,
787  const DtChord& chord,
789  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
791 
796  virtual bool allIntersectsAlongChordDebug(const DtChord& chord,
798  bool* dataAvailable = 0,
799  bool overrideBlockingAssert = false, int flags = 0) const;
800 
801  virtual bool allIntersectsAlongChordDebug(DtTerrainIntersectStatus& status,
802  const DtChord& chord,
804  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
806 
841  virtual bool intersectList(const std::list<DtChord>& chordList,
842  DtVrfChordIntersectRecordList& recordList, int& numTerrainIntersections,
844  bool* dataAvailable = 0, bool overrideBlockingAssert = false, int flags = 0) const;
845 
846  virtual bool intersectList(DtTerrainIntersectStatus& status,
847  const std::list<DtChord>& chordList,
848  DtVrfChordIntersectRecordList& recordList, int& numTerrainIntersections,
849  const DtTerrainIntersectOptions& options = DtTerrainIntersectOptions()) const;
851 
866  virtual void preloadTerrainAreas(
867  const DtTerrainPagingGeometryList& preloadGeometry);
868 
874  virtual void forceLoadTerrainAreas(
875  const DtTerrainPagingGeometryList& forceLoadGeometry);
876 
878  virtual bool dataAvailable(const DtTerrainPagingGeometryList& geometry);
879 
885  virtual const DtTerrainCapabilities* terrainCapabilities() const;
886 
890  virtual bool addTerrainPassThroughLayer(const DtString& layerType);
891 
901  virtual void setAssertOnBlockingTerrainCalls(bool assertBlock);
902  virtual bool assertOnBlockingTerrainCalls() const;
904 
907  virtual void setWarnOnBlockingTerrainCalls(bool warnBlock);
908  virtual bool warnOnBlockingTerrainCalls() const;
910 
915  virtual void setIntersectDataLoadExpireTime(const double& expireTime);
916  virtual void expireDataLoadRequestsBeforeTime(const double& currentTime);
917 
928  virtual void trianglesInArea(DtTriangleCallbackFcn func,
929  DtTriangleCallbackFinalizeFcn finalize, DtTerrainProcessPolygonsBox& box, void* usr) const;
930 
937  virtual void trianglesInArea(DtTriangleOutputInterface& func, DtTerrainProcessPolygonsBox& box) const;
938 
941  virtual DtTerrainInformation* terrainInformation();
942 
946  virtual boost::shared_ptr<DtAsyncJobMapEntry> makePathAsync(
947  const DtPoint& localStart,
948  const DtPoint& localDestination,
949  const std::string& type,
950  const double& maxSearchRadius,
951  const double& startProximityThreshold,
952  const DtAStarGraph::DtWeightFactorsList& weightFactors
953  = DtAStarGraph::DtWeightFactorsList());
954 
968  virtual DtAStarGraph::Path makePath(
969  const DtPoint& localStart,
970  const DtPoint& localDestination,
971  const std::string& type,
972  const double& maxSearchRadius,
973  const double& startProximityThreshold,
974  boost::function<bool ()> cancelCheck,
975  const DtAStarGraph::DtWeightFactorsList& weightFactors
976  = DtAStarGraph::DtWeightFactorsList()) const;
977 
980  virtual bool onPathFeature(
981  const DtPoint& location, const DtString& type, double buffer = 0.5);
982 
984  virtual DtAStarGraph::Ptr pathFinder(const std::string&) const;
985 
989  virtual boost::shared_ptr<DtAsyncJobMapEntry> addAsyncJob(DtAsyncJob* job);
990 
992  MAKVRinTerra::DtProj::CPtr localProj() const;
993 
994  MAKVRinTerra::DtFeaturesDebugger& debugger() const;
995 
996  MAKVRinTerra::DtQuery findQuery(const std::string& name) const;
997 
998  const double topoDistance(const DtPoint& start, const DtPoint& end,
999  const MAKVRinTerra::DtProj& localProj);
1000 
1010  MAKVRinTerra::DtClosestPathFeatureFinder closestFeatureOnNetwork(
1011  const std::string& type, const DtPoint& startingLocation,
1012  const double& searchRadius, bool* dataAvailable = NULL);
1013 
1014  void breakUpChord(const MAKVRinTerra::DtProj&, const DtChord& chord,
1015  std::vector<DtChord>& chords) const;
1016 
1017  void breakUpChord(const DtChord& chord, std::vector<DtChord>& chords) const;
1018 
1020  virtual DtTerrainGeometryHandle* createEntityGeometry(const DtFilename& file);
1021 
1024  virtual DtTerrainGeometryHandle* createEntityGeometry(const DtEntityType& file);
1025 
1027  virtual void loadVisuals(const DtScenarioExplorer&);
1028 
1030  virtual void clearCache();
1031 
1038  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1039  double time,
1040  const std::map<DtString, DtString>& keyValueChanges,
1041  const DtVector& centerLocation, double radius);
1042 
1049  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1050  double time,
1051  const std::map<DtString, DtString>& keyValueChanges,
1052  const std::list<DtVector>& vertices, double width);
1053 
1059  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1060  double time,
1061  const std::map<DtString, DtString>& keyValueChanges,
1062  const std::list<DtVector>& vertices);
1063 
1069  virtual DtDynamicTerrainRequestHandle addDynamicTerrainChangeRequest(
1070  double time,
1072 
1085  virtual void dynamicTerrainFeaturesInArea(
1086  const DtVector& centerLocation, double radius,
1087  std::list<DtRwDynamicTerrainInformation>& dynamicTerrainInfo, bool* dataAvailable = NULL,
1088  const DtString& filterKey = DtString::nullString());
1089 
1102  virtual void dynamicTerrainFeaturesInArea(
1103  const std::list<DtVector>& vertices, double width,
1104  std::list<DtRwDynamicTerrainInformation>& dynamicTerrainInfo, bool* dataAvailable = NULL,
1105  const DtString& filterKey = DtString::nullString());
1106 
1118  virtual void dynamicTerrainFeaturesInArea(
1119  const std::list<DtVector>& vertices,
1120  std::list<DtRwDynamicTerrainInformation>& dynamicTerrainInfo, bool* dataAvailable = NULL,
1121  const DtString& filterKey = DtString::nullString());
1122 
1130  virtual bool extractDynamicTerrainFeatureInformation(const makVrv::DtDynamicTerrainFeature& feature,
1131  DtRwDynamicTerrainInformation& dynamicTerrainInfo, const DtString& filterKey = DtString::nullString()) const;
1132 
1136  virtual DtDynamicTerrainQueryHandle queryDynamicTerrainFeatures(
1137  const DtDynamicTerrainQueryCallback& callback,
1138  makVrv::DtDynamicTerrainGeometry* geometry = 0,
1139  bool useOriginalGeometry = false);
1140 
1141  virtual void queryCurrentDynamicTerrainFeatures(
1142  const DtDynamicTerrainQueryCallback& callback,
1143  makVrv::DtDynamicTerrainGeometry* geometry = 0,
1144  bool useOriginalGeometry = false);
1145 
1148  virtual void cacheTerrainArea(int requestId,
1149  unsigned minLOD, unsigned maxLOD, const DtExtent& cacheArea,
1150  DtCacheProgressCallbackFunction fcn = 0, void* usr = 0);
1151 
1153  virtual void cancelCacheTerrainArea(int requestId);
1154 
1159  virtual void writeTerrainIndex(const DtString& name = DtString());
1160 
1162  virtual bool oceanLayerPresent() const;
1163 
1165  virtual void setOceanLayerPresent(bool b);
1166 
1178  virtual bool nonPolygonalWaterHeight(
1179  const DtChord& localLocation,
1180  double& height) const;
1181 
1183  virtual void setNonPolygonalWaterHeight(double d);
1184 
1188  virtual double defaultWaterDepth(const DtVector& localLocation) const;
1189 
1191  virtual void setDefaultWaterDepth(double);
1192 
1196  virtual double defaultSurfaceElevation(const DtVector& localLocation) const;
1197 
1213  virtual DtSurface::DtMedium mediumForUnspecPolygonsUnderWater() const;
1214 
1216  virtual void setMediumForUnspecPolygonsUnderWater(DtSurface::DtMedium m);
1217 
1229  virtual double landAboveWaterMinimumSeparation() const;
1230 
1232  virtual void setLandAboveWaterMinimumSeparation(double);
1233 
1234 protected:
1237  void insertNonPolyWaterIntoIntersectionList(
1238  DtVrfChordIntersectionRecord& waterInterx,
1239  DtVrfChordIntersectRecordList& intrxList) const;
1240 
1248  virtual DtVrfChordIntersectionRecord blankSurfaceIntersectionRecord(
1249  const DtVector& localLocation, const double height) const;
1250 
1255  virtual bool nonPolygonalWaterIntersect(
1256  const DtChord& chord,
1257  DtVrfChordIntersectRecordList& waterRecords,
1259 
1260  typedef std::map<DtString, DtGenericTerrainRecordCallbackListPtr >
1262 
1266  const DtString& recordType);
1267 
1268 protected:
1275 
1276  typedef boost::ptr_list<MAKVRinTerra::DtFeatureSet> FeatureSetList;
1278 
1280 
1284 
1290 
1292 
1295 
1297 
1299 
1302 
1304 
1305  std::ofstream myDebugOutputFile;
1306  tbb::tick_count myLastDebugOutputTick;
1307 
1309 
1310 
1312 
1313  //DtTerrainChangeNotificationCallbackList myTerrainChangeNotificationCallbackList;
1314 
1315 };
1316 
1317 #define DtRegisterTerrainImplementationFunctionName "DtRegisterTerrainImplementation"
1318 
1322 
1323 
1324 #define DtDeregisterTerrainImplementationFunctionName "DtDeregisterTerrainImplementation"
1325 
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:1288
tbb::tick_count myLastDebugOutputTick
Definition: terrainInterface.h:1306
boost::function< void(const makVrv::DtDynamicTerrainFeature &)> DtDynamicTerrainQueryCallback
Definition: terrainImplementation.h:137
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:164
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:1328
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:48
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:104
bool present
False unless there is ocean layer data in the .mtf file.
Definition: terrainInterface.h:104
double landAboveWaterMinimumSeparation
Definition: terrainInterface.h:108
Represents (possibly infinite) area of space.
Definition: DtDynamicTerrainGeometry.h:20
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
Allows manipulating a terrain object.
Definition: terrainImplementation.h:141
DtGenericTerrainRecordCallbackListMap myGenericTerrainRecordCallbacklists
Definition: terrainInterface.h:1311
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:106
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:97
Information on what dynamic changes are possible for a particular geometry feature in the terrain...
Definition: rwDynamicTerrainInformation.h:21
DtTerrainImplementationManager * myTerrainImplManager
Definition: terrainInterface.h:1285
Definition: surface.h:179
Definition: aStarGraph.h:79
static double theTerrainPagingMaxHeight
Definition: terrainInterface.h:1296
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:1283
DtConsoleCommandManager * myConsoleCommandManager
Definition: terrainInterface.h:1286
Definition: coordSystem.h:54
bool(* DtRegisterTerrainImplementationLibFcn)(DtTerrainInterface *)
This function signature is used for terrain implementation shared libraries that register themselves ...
Definition: terrainInterface.h:1321
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:1289
Represents some coordinate system.
Definition: proj.h:44
Represents a set of characeters a DtFeature object can have.
Definition: query.h:38
void(* DtTerrainChangeNotificationCallbackFcn)(const DtExtent &spatExtent, void *userData)
Definition: terrainImplementation.h:48
double seaLevel
Definition: terrainInterface.h:105
#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:1273
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:88
DtTerrainImplementation * terrainImplementation() const
Returns the current terrain implementation.
Definition: terrainInterface.h:136
DtTerrainImplementationFactory::DtCreatorFcn DtTerrainImplementationCreatorFcn
Definition: terrainImplementation.h:392
Interface which abstracts the concept of a individually identifiable &quot;thing&quot; in the terrain...
Definition: DtDynamicTerrainFeature.h:83
LoadContext
Definition: terrainInterface.h:91
makArchives::DtTerrainRecord * myTerrainRecord
Definition: terrainInterface.h:1308
OceanLayer myGlobalOceanLayer
Definition: terrainInterface.h:1303
Definition: pathFeature.h:106
Definition: vrfChordIntersectionRecord.h:19
Definition: intersectionRecord.h:60
DtTerrainImplementation * myTerrainImpl
Definition: terrainInterface.h:1279
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtTerrainInterfaceConfig myFileConfig
Definition: terrainInterface.h:1274
MAKVRinTerra::DtProj::CPtr myProjObject
Definition: terrainInterface.h:1298
std::map< DtString, DtGenericTerrainRecordCallbackListPtr > DtGenericTerrainRecordCallbackListMap
Definition: terrainInterface.h:1261
void(* DtTriangleCallbackFcn)(DtTerrainTriangleStruct &triangle, void *usr)
Definition: terrainProcessPolygonsBox.h:109
boost::ptr_list< MAKVRinTerra::DtFeatureSet > FeatureSetList
Definition: terrainInterface.h:1276
DtAsyncJobServer myAsyncJobServer
Manages asynchronous path planning tasks.
Definition: terrainInterface.h:1301
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:107
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:106
Interface for getting terrain triangle data out of DtTerrainInterface::trianglesInArea.
Definition: terrainProcessPolygonsBox.h:113
Manages async job objects.
Definition: asyncJobServer.h:75
DtMedium
Definition: surface.h:185
std::ofstream myDebugOutputFile
Definition: terrainInterface.h:1305
Definition: featuresDebugger.h:33
Global ocean layer info; used in conjunction with the polygon data.
Definition: terrainInterface.h:100
Resource handle for a dynamic terrain change request which has been added to the system.
Definition: terrainImplementation.h:71
double myLastFileTime
Needed in case file is saved with same name and then reloaded.
Definition: terrainInterface.h:1294
TODO Put this in the makTerrainLib.
Definition: terrainInformation.h:17
Configuration object for processing areas.
Definition: areaFeature.h:47
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:1291
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:1277

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)