19 #include <matrix/vlVector.h>
29 class DtTerrainOverlayOperation;
56 virtual void setTerrainDefinition(
const std::string& modelDefinitionName);
59 const std::string& terrainDefinitionName()
const;
62 virtual void enableOverlay(
int type,
const std::string& definition) = 0;
65 virtual void disableOverlay(
int type) = 0;
68 virtual void disableAllOverlays() = 0;
71 virtual void setOverlayScale(
int type,
double x,
double y) = 0;
74 virtual void setOverlayOffset(
int type,
double x,
double y) = 0;
77 virtual void setWrapMode(
int type,
int clamp) = 0;
80 virtual void setBlendMode(
int type,
int clamp) = 0;
83 virtual void setRasterLayerPosition(
int type,
int pos) = 0;
86 virtual void setLayerEnabled(
const std::string& rule,
bool status) = 0;
89 virtual void extractNodes(
const std::string& rule,
bool isRegEx) = 0;
92 virtual void extractOceanNodes(
const std::string& rule,
bool isRegEx) = 0;
95 virtual void extractSpeedTreeNodes(
const std::string& rule,
bool isRegEx,
const std::string& modelDefinition) = 0;
101 virtual void setTerrainTreeScaleRandomization(
bool isRandomized) = 0;
104 virtual void setTerrainTreeMinScale(
double minScale) = 0;
107 virtual void setTerrainTreeMaxScale(
double maxScale) = 0;
110 virtual void setTerrainTreeOrientationRandomization(
bool isRandomized) = 0;
113 virtual void setIsMinimapOnly(
bool isForMinimap) = 0;
114 virtual bool isMinimapOnly()
const = 0;
118 virtual std::string overlayDefinition(
int type) = 0;
120 virtual std::vector<double> overlayScale(
int type) = 0;
121 virtual std::vector<double> overlayOffset(
int type) = 0;
132 virtual DtVector getDatabaseOrigin()
const = 0;
136 virtual int countNodes(
const std::string& rule)
const = 0;
140 virtual bool getExtractedNodePosition(
const std::string& rule,
unsigned int index,
141 double& x,
double& y,
double& z)
const = 0;
145 virtual bool getExtractedNodeOrientation(
const std::string& rule,
unsigned int index,
146 double& x,
double& y,
double& z,
double& w)
const = 0;
149 DtModel* model,
const std::string& rule,
unsigned int index) = 0;
156 virtual bool isGlobalScaleTerrain()
const = 0;
159 virtual bool getTerrainIntersection(
double x,
double y,
double z,
160 double vx,
double vy,
double vz,
double& retX,
double& retY,
double& retZ) = 0;
165 virtual void clearElevationCache() = 0;
167 virtual void useICO(
bool enable) = 0;
169 virtual void setMaxPagedLODs(
unsigned int maxPagedLODs) = 0;
172 virtual void postExtractionProcessing() = 0;
176 virtual void toggleVisibility(
bool visibility) = 0;
210 boost::signalslib::signal<void(DtTerrainPatchObject&, const std::string& rule, std::vector<std::string>)> signal_nodesExtracted;
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::string myTerrainDefinitionName
Definition: DtTerrainPatchObject.h:182
Contains makVrv::DtLightPointManager class.
static const double TheEarthRadius
The Radius of the earth, used to calculate if a terrain has global scale.
Definition: DtTerrainPatchObject.h:44
boost::signalslib::signal< void(DtTerrainPatchObject &)> signal_terrainDataChanged
Emitted when ever the terrain data (Nodes) changes. This happens when terrain is loaded, or when nodes move.
Definition: DtTerrainPatchObject.h:204
boost::signalslib::signal< void(DtTerrainPatchObject &)> signal_terrainPatchAboutToBeDeleted
Emitted when the terrain geometry about to be destroyed.
Definition: DtTerrainPatchObject.h:207
std::vector< DtTreeRecord * > DtVectorTreeRecords
Definition: DtTreeRecord.h:137
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:37
boost::signalslib::signal< void(const DtVectorTreeRecords &, DtTerrainPatchObject &)> signal_realizeSpeedTreesFromRecords
Signal when tree nodes are moved from a terrain patch.
Definition: DtTerrainPatchObject.h:219
Contains makVrv::DtVirtualBaseClass class.
boost::signalslib::signal< void(DtTerrainPatchObject &)> signal_terrainPatchCreated
Emitted when the terrain geometry is created. This is NOT emitted when geometry is paged in...
Definition: DtTerrainPatchObject.h:200
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtUniqueID myUniqueID
Definition: DtTerrainPatchObject.h:181
A class specifying a single overlay operation.
Definition: DtTerrainOverlayOperation.h:22
boost::signalslib::signal< void(DtTerrainPatchObject &, bool extracted)> signal_oceanNodesExtracted
Signal when ocean nodes are moved from a terrain patch.
Definition: DtTerrainPatchObject.h:213
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:55
Contains makVrv::DtUniqueID type.
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:70
The signaler object for the makVrv::DtTerrainPatchObject class.
Definition: DtTerrainPatchObject.h:188
Contains makVrv::DtTreeRecord class.
boost::signalslib::signal< void(DtTerrainPatchObject &)> signal_osgEarthMapNodeFound
Signal when map node is found for a terrain patch.
Definition: DtTerrainPatchObject.h:216
DtDe & myDe
Definition: DtTerrainPatchObject.h:180
Contains DLL export macros.