18 #include <matrix/vlVector.h>
30 class DtFeatureLayerRecord;
31 class DtOceanLayerRecord;
32 class DtTerrainPatchRecord;
37 class DtBuoyOrBeaconFacade;
43 class DtDynamicFeatureLayer;
45 class DtTerrainPatchObjectAgent;
46 class DtTerrainPatchObject;
47 class DtTerrainSignaler;
49 class DtBuoyBeaconLayer;
50 class DtStreamedFeatureLayer;
51 class DtNavigationLightManager;
52 class DtNavigationFeatureManager;
53 class DtLightPointUpdater;
77 void clear(
bool reload=
false);
85 bool globalScaleTerrain()
const;
90 void updateGlobalScaleTerrain();
100 virtual void reloadTerrain();
120 virtual DtTerrainPatch& addTerrainPatch(
const std::string& terrainDefinitionName,
bool minimapOnly=
false,
124 virtual DtTerrainPatch* findTerrainPatch(
const std::string& terrainDefinitionName);
133 virtual bool removeTerrainPatch(
const std::string& terrainDefinitionName,
bool minimapOnly=
false);
144 size_t numberOfTerrainPatches()
const;
147 bool lightPointsEnabled()
const;
170 virtual DtFeatureLayer& addFeatureLayer(
const std::string& featureLayerFilename,
175 virtual void removeFeatureLayer(
const std::string& featureLayerFilename);
184 virtual DtFeatureLayer* findFeatureLayer(
const std::string& featureLayerFilename);
221 virtual DtOceanLayer& addOceanLayer(
const std::string& layerName );
224 virtual void removeOceanLayer(
const std::string& layerName );
233 virtual DtOceanLayer* findOceanLayer(
const std::string& layerName );
244 std::string generatePropName(
const std::string& propType);
257 bool isPropNameUsed(
const std::string& propName)
const;
263 virtual bool getTerrainIntersection(
double x,
double y,
double z,
264 double upX,
double upY,
double upZ,
double& retX,
double& retY,
270 virtual void clearElevationCache();
278 virtual bool exportTerrainAndProps(
const std::string&);
285 virtual const std::string* findOptionalParameter(
const std::string& name)
const;
288 virtual void setOptionalParameter(
const std::string& name,
const std::string& value);
295 virtual void removeOptionalParameter(
const std::string& name);
301 virtual const std::string& description();
304 virtual void setDescription(
const std::string& description);
307 virtual bool useICO()
const;
310 virtual void setUseICO(
bool flag);
313 virtual unsigned int maxPagedLODs()
const;
316 virtual void setMaxPagedLODs(
unsigned int maxPagedLODs );
334 void removeTerrainOperationRecord(
int id);
337 void clearTerrainOperations();
340 void slot_handleIsDayChanged(
bool isDay);
343 virtual bool checkIfTerrainOperationRecordsMatch
347 virtual void connectForestAndOceanSignals(
void);
452 boost::signalslib::signal< void (const DtBuoyOrBeaconFacade& buoy) >
456 boost::signalslib::signal< void (const DtProp& prop, double x, double y, double z) >
DtDe & myDe
Definition: DtTerrain.h:352
std::list< DtFeatureLayer * > FeatureLayers
Definition: DtTerrain.h:63
The feature layer is a type of terrain layer which contains features, such as points, lines, areas, and props created from them.
Definition: DtFeatureLayer.h:25
boost::signalslib::signal< void(int id) > signal_terrainOperationRemoved
Emitted when an operation is removed.
Definition: DtTerrain.h:472
int myNextTerrainOperationId
Definition: DtTerrain.h:368
A wrapper around the forest driver and some local state of the forest.
Definition: DtForest.h:35
A DtOceanLayerRecord contains the information to add dynamic water.
Definition: DtOceanLayerRecord.h:21
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::map< int, makArchives::DtTerrainOperationRecord > TerrainOperationsMap
Map of terrain operation ids, to terrain operations.
Definition: DtTerrain.h:67
DtNavigationFeatureManager * myNavigationDaymarkManager
Definition: DtTerrain.h:364
A global signaler object for the DtTerrain class. These signals are raised on the master by DtTerrain...
Definition: DtTerrain.h:390
OceanLayers myOceanLayers
Definition: DtTerrain.h:358
DtStreamedFeatureLayer * myStreamedFeatureLayer
Definition: DtTerrain.h:361
A DtFeatureLayerRecord contains the information to add features from a single source file and ruleset...
Definition: DtFeatureLayerRecord.h:22
The DtStreamedFeatureLayer is the base implementation of a layer of data which contains buoys and bea...
Definition: DtStreamedFeatureLayer.h:34
boost::signalslib::signal< void(const DtFeature &) > signal_featureToBeDeleted
Emitted when a DtFeature is about to be removed.
Definition: DtTerrain.h:466
DtNavigationFeatureManager * myNavigationTopmarkManager
Definition: DtTerrain.h:365
boost::signalslib::signal< void(const makArchives::DtTerrainRecord &) > signal_terrainLoaded
Emitted when a DtTerrainPatch is added.
Definition: DtTerrain.h:403
DtTerrainSignaler & mySignaler
Definition: DtTerrain.h:353
boost::signalslib::signal< void(const DtFeatureLayer &) > signal_featureLayerToBeDeleted
Emitted when a DtFeatureLayer is about to be removed.
Definition: DtTerrain.h:417
FeatureLayers myFeatureLayers
Definition: DtTerrain.h:357
The DtBuoyBeaconLayer is the base implementation of a layer of data which contains buoys and beacons ...
Definition: DtBuoyBeaconLayer.h:35
boost::signalslib::signal< void(bool) > signal_terrainIsGlobalScaleChanged
Emitted when an terrain is global changes.
Definition: DtTerrain.h:475
virtual bool reloadingTerrain()
is the terrain currently reloading
Definition: DtTerrain.h:319
bool myGlobalScaleFlag
Definition: DtTerrain.h:369
boost::signalslib::signal< void(const DtFeature &) > signal_featureAdded
Emitted when a DtFeature is added.
Definition: DtTerrain.h:463
A container for a single piece of terrain, containing settings needed to recreate it...
Definition: DtTerrainPatch.h:42
boost::signalslib::signal< void(const std::string &) > signal_oceanLayerDeleted
Emitted when a ocean layer is removed.
Definition: DtTerrain.h:426
std::list< DtOceanLayer * > OceanLayers
Definition: DtTerrain.h:64
boost::signalslib::signal< void(const DtBuoyOrBeaconFacade &buoy) > signal_buoyOrBeaconAboutToBeDestroyed
Emitted when a buoy is destroyed.
Definition: DtTerrain.h:453
The DtDynamicFeatureLayer is the base implementation of a layer of data which contains features that ...
Definition: DtDynamicFeatureLayer.h:34
boost::signalslib::signal< void() > signal_terrainCleared
Emitted when the terrain is cleared.
Definition: DtTerrain.h:439
The DtNavigationFeatureManager matches streamed features to other streamed features (buoys and beacon...
Definition: DtNavigationFeatureManager.h:38
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:35
Definition: DtTerrainOperationRecord.h:30
DtBuoyBeaconLayer * myBuoyLayer
Definition: DtTerrain.h:360
std::list< DtGenericTerrainRecord > GenericRecords
Definition: DtTerrainRecord.h:36
Record of pageable terrain patch settings.
Definition: DtTerrainPatchRecord.h:33
Contains makVrv::DtVirtualBaseClass class.
Record of a VR-Vantage terrain Contains: Terrain coordinate system Terrain patches Feature layers Ter...
Definition: DtTerrainRecord.h:29
A DtTerrainOperationRecord contains information about a single terrain operation. ...
Definition: DtTerrainOperationRecord.h:19
DtNavigationLightManager * myNavigationLightManager
Definition: DtTerrain.h:363
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signalslib::signal< void(DtBuoyOrBeaconFacade &buoy, const DtVector &initialPosition) > signal_buoyOrBeaconCreated
Emitted when a buoy is created.
Definition: DtTerrain.h:449
boost::signalslib::signal< void(const DtOceanLayer &) > signal_oceanLayerAdded
Emitted when a DtFeatureLayer is added.
Definition: DtTerrain.h:420
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signalslib::signal< void(unsigned int) > signal_terrainMaxPagedLODChanged
Emitted when a DtTerrainPatch is added.
Definition: DtTerrain.h:405
The terrain creator for the DtTerrain class.
Definition: DtTerrain.h:486
std::string myDescription
Definition: DtTerrain.h:376
boost::signalslib::signal< void(DtProp &prop) > signal_propCreated
Emitted when a prop is created.
Definition: DtTerrain.h:442
TerrainPatches myTerrainPatches
Definition: DtTerrain.h:356
unsigned int myMaxPagedLODs
Definition: DtTerrain.h:379
bool myReloadingTerrain
Definition: DtTerrain.h:381
std::map< std::string, int > PropNameMap
Definition: DtTerrain.h:350
Definition: DtTexturedQuad.h:24
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::signalslib::signal< void(const DtTerrainPatch &) > signal_terrainPatchToBeDeleted
Emitted when a DtTerrainPatch is about to be removed.
Definition: DtTerrain.h:411
The DtNavigationLightManager matches streamed light controllers to other streamed features (buoys and...
Definition: DtNavigationLightManager.h:56
boost::signalslib::signal< void(bool reload) > signal_terrainToBeCleared
Emitted when the terrain is about to be cleared. If the terrain is being cleared due to a reloadTerra...
Definition: DtTerrain.h:436
DtDynamicFeatureLayer * myDynamicFeatureLayer
Definition: DtTerrain.h:362
The ocean layer is a type of terrain layer which contains information about an area that should be re...
Definition: DtOceanLayer.h:25
boost::signalslib::signal< void(const DtProp &prop, double x, double y, double z, double w) > signal_propOrientationAboutToChange
Emitted when a prop orientation is about to be changed.
Definition: DtTerrain.h:460
Base class to provide boost signal/slot management.
makArchives::DtTerrainRecord::OptionalParameterMap myOptionalParameters
Definition: DtTerrain.h:373
PropNameMap myPropNameMap
Definition: DtTerrain.h:371
std::list< DtTerrainPatch * > TerrainPatches
Definition: DtTerrain.h:62
makArchives::DtTerrainRecord::GenericRecords myGenericRecords
Definition: DtTerrain.h:374
Contains makVrv::DtTerrainPatch class.
boost::signalslib::signal< void(const DtTerrainPatch &) > signal_terrainPatchAdded
Emitted when a DtTerrainPatch is added.
Definition: DtTerrain.h:408
boost::signalslib::signal< void(int id, const makArchives::DtTerrainOperationRecord &rec) > signal_terrainOperationAdded
Emitted when an operation is added.
Definition: DtTerrain.h:469
TargetApplication
Definition: DtTerrainOperationRecord.h:26
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
DtTexturedQuad * myLogo
Definition: DtTerrain.h:383
boost::signalslib::signal< void(const DtOceanLayer &, double) > signal_oceanLayerSeaLevelChanged
Emitted when an ocean layer changes its sea level.
Definition: DtTerrain.h:429
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
std::map< std::string, std::string > OptionalParameterMap
Definition: DtTerrainRecord.h:38
DtForest * myForest
Definition: DtTerrain.h:359
bool myUseICO
Definition: DtTerrain.h:378
A DtTerrainPatchRecord contains the information to construct a single DtTerrainPatch.
Definition: DtTerrainPatchRecord.h:27
Contains makVrv::DtForest class.
TerrainOperationsMap myTerrainOperationsMap
Definition: DtTerrain.h:367
boost::signalslib::signal< void(const DtOceanLayer &) > signal_oceanLayerToBeDeleted
Emitted when a ocean layer is about to be removed.
Definition: DtTerrain.h:423
boost::signalslib::signal< void(const DtProp &prop) > signal_propAboutToBeDestroyed
Emitted when a prop is destroyed.
Definition: DtTerrain.h:445
DtTerrain is a facade around terrain functionality.
Definition: DtTerrain.h:57
The DtEntityFacade is a facade around agents that make up an entity. This entity facade represents a ...
Definition: DtBuoyOrBeaconFacade.h:24
Contains makArchives::DtTerrainRecord class.
boost::signalslib::signal< void(const DtFeatureLayer &) > signal_featureLayerAdded
Emitted when a DtFeatureLayer is added.
Definition: DtTerrain.h:414
boost::signalslib::signal< void(const DtOceanLayer &, int) > signal_oceanLayerLodRangeChanged
Emitted when an ocean layer changes its lod range.
Definition: DtTerrain.h:432
DtAgentManagerInterface & myAgentManagerInterface
Definition: DtTerrain.h:354
boost::signalslib::signal< void(const DtProp &prop, double x, double y, double z) > signal_propPositionAboutToChange
Emitted when a prop position is about to be changed.
Definition: DtTerrain.h:457
Contains DLL export macros.