40 class DtCoordinateSystem;
42 class DtTerrainPatchGroup;
43 class DtOsgNodesExtractor;
44 class DtOsgLightPointManager;
45 class DtPagedTilesIndirectManager;
73 virtual void setTerrainDefinition(
const std::string& modelDefinitionName);
76 virtual void slot_atcGlobalTerrainEnableChanged();
83 virtual void enableOverlay(
int type,
const std::string& definition);
86 virtual void disableOverlay(
int type);
89 virtual void disableAllOverlays();
92 virtual void setOverlayScale(
int type,
double x,
double y);
95 virtual void setWrapMode(
int type,
int);
98 virtual void setBlendMode(
int type,
int);
101 virtual void setOverlayOffset(
int type,
double x,
double y);
104 virtual void setLayerEnabled(
const std::string& rule,
bool status);
107 virtual void setRasterLayerPosition(
int type,
int pos);
110 virtual void setIsMinimapOnly(
bool isForMinimap);
112 virtual bool isMinimapOnly()
const;
117 virtual std::string overlayDefinition(
int type);
119 virtual std::vector<double> overlayScale(
int type);
120 virtual std::vector<double> overlayOffset(
int type);
131 virtual DtVector getDatabaseOrigin()
const;
134 virtual void getBoundingBoxCenter(
float& x,
float& y,
float& z)
const;
137 osg::Group* terrainGroupNode();
140 virtual void extractNodes(
const std::string& ruleset,
bool isRegEx);
143 virtual void extractOceanNodes(
const std::string& ruleset,
bool isRegEx);
146 virtual void extractSpeedTreeNodes(
const std::string& rule,
bool isRegEx,
const std::string& modelDefinition);
152 virtual bool haveExtractedOcean()
const;
156 virtual int countNodes(
const std::string& rule)
const;
160 virtual bool getExtractedNodePosition(
const std::string& rule,
161 unsigned int index,
double& x,
double& y,
double& z)
const;
165 virtual bool getExtractedNodeOrientation(
const std::string& rule,
166 unsigned int index,
double& x,
double& y,
double& z,
double& w)
const;
171 DtModel* model,
const std::string& rule,
unsigned int index);
174 virtual osg::Node*
findNode(
const std::string& rule,
unsigned int index);
177 virtual bool isGlobalScaleTerrain()
const;
180 virtual bool getTerrainIntersection(
double x,
double y,
double z,
181 double vx,
double vy,
double vz,
double& retX,
double& retY,
double& retZ);
186 virtual void clearElevationCache();
190 bool isOsgEarth()
const;
193 osgEarth::MapNode *mapNode();
194 const osgEarth::MapNode *mapNode()
const;
196 void installOsgEarthFeatureDataCallback(
const std::string& featureName,
202 virtual void setOsgEarthMaterialValues(
float ambient,
float diffuse,
203 float specular,
float shininess);
204 virtual void getOsgEarthMaterialValues(
float& ambient,
float& diffuse,
205 float& specular,
float& shininess);
211 std::vector<DtVirtualBaseClass*>& terrainAttachments();
214 virtual void setTerrainTreeScaleRandomization(
bool isRandomized);
217 virtual bool isTerrainTreeScaleRandomizationEnabled()
const;
220 virtual void setTerrainTreeMinScale(
double minScale);
223 virtual double terrainTreeMinScale()
const;
226 virtual void setTerrainTreeMaxScale(
double maxScale);
229 virtual double terrainTreeMaxScale()
const;
232 virtual void setTerrainTreeOrientationRandomization(
bool isRandomized);
235 virtual bool isTerrainTreeOrientationRandomizationEnabled()
const;
238 bool isDestructing();
242 virtual void useICO(
bool enable);
245 virtual void setMaxPagedLODs(
unsigned int maxPagedLODs);
248 virtual void updateMaxPagedLODs();
251 virtual void slot_channelCreated();
254 virtual void slot_windowCreated();
258 virtual void slot_channelToBeDestroyed();
261 virtual bool alphaToCoverageEnabled();
265 virtual void postExtractionProcessing();
268 virtual bool indirectEnabled();
272 virtual void toggleVisibility(
bool visibility);
280 static void authorizeBingImageryLayer(osgEarth::BingImageLayer* bingImageLayer,
bool openLayer =
true);
293 void removeChildNodesAndCache();
296 void clearStateGraphForAllChannels(
void);
298 static void graphBoundingBox(
const osg::Node* node, osg::BoundingBox &bbox);
302 void removeEmptyParent(osg::Node* node);
306 virtual bool getElevation(
double lonRadians,
double latRadians,
307 double& retElevation);
309 virtual void slot_perPixelLightingChanged(
bool newVal);
310 virtual void slot_usePixelShaderForOsgEarthModelsChanged();
311 virtual void slot_postUpdate();
312 virtual void setOsgEarthMaterial(
float ambient,
float diffuse,
313 float specular,
float shininess);
314 virtual void setOsgEarthMaterialOnNode(osg::Node& node,
float ambient,
float diffuse,
315 float specular,
float shininess);
316 virtual void setOsgEarthMaterialOnStateSet(osg::StateSet& ss,
float ambient,
float diffuse,
317 float specular,
float shininess);
319 virtual void slot_terrainPaged();
323 osgEarth::Util::ElevationQuery* getOrCreateElevationQuery();
326 void installOsgEarthFeatureDataProcessors();
329 virtual void configureOsgEarthFeatureGeometryCompiler();
332 virtual void setupMapNodeIntersectFlag();
334 virtual void setGlobalWindSpeed(
float metersPerSecond);
336 virtual void setGlobalWindDirection(
float radians);
339 virtual void setupMapNode(
void);
342 virtual void setupOsgEarthBlendingForHbao(
void);
348 virtual void slot_coordinateSystemChanged();
Declaration of the makVrv::DtLightPointVisitor class.
DtSignalConnectionManager myConnections
Definition: DtOsgTerrainPatchObject.h:372
volatile bool myTerrainPagedThisFrame
Definition: DtOsgTerrainPatchObject.h:365
boost::unordered_map< int, std::string > TextureMap
typdef a map of textures
Definition: DtTextureVisitor.h:38
Declaration of the makVrv::DtTextureVisitor class.
boost::signalslib::connection myPagedTilesIndirectManagerConnection
connection to listen in on when instances were added to the terrain skin only for non-metaflight ...
Definition: DtOsgTerrainPatchObject.h:413
DtMetaFileManager::LinkageValueVec myTerrainPatchMetaFileFeatures
Definition: DtOsgTerrainPatchObject.h:375
handles the management of paged tiles and terrain patches being added to the indirect rendering syste...
Definition: DtPagedTilesIndirectManager.h:67
osg::ref_ptr< DtFastGroup > myTerrainGroup
The myTerrainGroup node holds all the terrain polygons except for reforested trees.
Definition: DtOsgTerrainPatchObject.h:355
Definition: DtOsgTerrainPatchObject.h:57
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::ref_ptr< osgEarth::MapNode > myMapNode
Definition: DtOsgTerrainPatchObject.h:357
bool myHaveExtractedOcean
Definition: DtOsgTerrainPatchObject.h:363
std::string myActualFilename
Definition: DtOsgTerrainPatchObject.h:417
Contains makVrv::DtFastGroup class.
osg::ref_ptr< osg::Node > RefNode
Definition: DtOsgTerrainPatchObject.h:415
DtOsgTerrainOverlayManager myOverlayManager
Definition: DtOsgTerrainPatchObject.h:359
std::vector< DtTreeRecord * > DtVectorTreeRecords
Definition: DtTreeRecord.h:137
osg::ref_ptr< DtOsgEarthFeatureDataBroker > myOsgEarthFeatureDataBroker
notifies subscribers of feature data loading via an osgEarth layer.
Definition: DtOsgTerrainPatchObject.h:384
DtOsgLightPointManager & myLightPointManager
Definition: DtOsgTerrainPatchObject.h:407
AlphaToCoverageState
The possible states alpha to coverage on a terrain patch.
Definition: DtOsgTerrainPatchObject.h:55
DtOsgLightPointManager registers LightPoint nodes so their TBO can be created and updated in a single...
Definition: DtOsgLightPointManager.h:106
bool myPendingPerPixelLightingValue
Definition: DtOsgTerrainPatchObject.h:366
bool myGlobalFlag
Definition: DtOsgTerrainPatchObject.h:362
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:37
DtOsgEarthFeatureDataBroker listens to osgEarth feature layers (i.e. model layers with a feature sour...
Definition: DtOsgEarthFeatureDataBroker.h:60
float myPendingOsgEarthMaterialDiffuse
Definition: DtOsgTerrainPatchObject.h:369
DT_DLL_shape DtNetworkNode * findNode(DtVectorNetwork *vecNwk, unsigned int firstNode, DtPoint &p, DtSpecificationID ID)
DtOsgNodesExtractor * myExtractedNodesLogic
Definition: DtOsgTerrainPatchObject.h:395
std::vector< RefNode > myIndirectedNodes
Definition: DtOsgTerrainPatchObject.h:416
A DtOsgTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file a...
Definition: DtOsgTerrainPatchObject.h:51
unsigned int myMaxPagedLods
Definition: DtOsgTerrainPatchObject.h:405
float myPendingOsgEarthMaterialAmbient
Definition: DtOsgTerrainPatchObject.h:368
bool myTerrainTreeOrientationRandomizationEnabled
Definition: DtOsgTerrainPatchObject.h:390
bool myOsgEarthMaterialChanged
Definition: DtOsgTerrainPatchObject.h:367
osg::ref_ptr< DtTerrainPatchGroup > myRoot
The OSG Hierarchy starts with myRoot and has one child: myTerrainGroup.
Definition: DtOsgTerrainPatchObject.h:352
bool myPerPixelLightingChanged
Definition: DtOsgTerrainPatchObject.h:364
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
float myTerrainTreeMinScale
Definition: DtOsgTerrainPatchObject.h:388
bool myIndirectEnabled
Definition: DtOsgTerrainPatchObject.h:403
float myPendingOsgEarthMaterialShininess
Definition: DtOsgTerrainPatchObject.h:371
float myPendingOsgEarthMaterialSpecular
Definition: DtOsgTerrainPatchObject.h:370
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:41
bool myIsMinimapOnly
Definition: DtOsgTerrainPatchObject.h:422
bool myDestructing
keeps track of when the object is in the destructor.
Definition: DtOsgTerrainPatchObject.h:393
DtPagedTilesIndirectManager * myPagedTilesIndirectManager
Definition: DtOsgTerrainPatchObject.h:409
Manager for setting up terrain layers in an OpenSceneGraph terrain.
Definition: DtOsgTerrainOverlayManager.h:25
A class specifying a single overlay operation.
Definition: DtTerrainOverlayOperation.h:22
Base class to provide boost signal/slot management.
osg::ref_ptr< osgEarth::Wind > myGlobalWind
Definition: DtOsgTerrainPatchObject.h:420
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
Definition: DtOsgEarthFeatureDataBroker.h:65
Contains makVrv::DtDynamicTerrainWorld class.
AlphaToCoverageState myAlphaToCoverageState
Definition: DtOsgTerrainPatchObject.h:401
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:55
Contains DLL export macros.
float myTerrainTreeMaxScale
Definition: DtOsgTerrainPatchObject.h:389
Feature Insertion/Removal/Paging Features represent parts of the terrain which are individually ident...
Definition: DtDynamicTerrainWorld.h:99
DtDynamicTerrainWorld::FeatureHandle myDynamicTerrainHandle
Definition: DtOsgTerrainPatchObject.h:399
Contains makVrv::DtOsgEarthFeatureDataBroker class.
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
bool myTerrainTreeScaleRandomizationEnabled
Tree randomization settings.
Definition: DtOsgTerrainPatchObject.h:387
DtTextureVisitor::TextureMap myFoundTextureMap
Definition: DtOsgTerrainPatchObject.h:360
Definition: DtOsgTerrainPatchObject.h:58
osgEarth::Util::ElevationQuery * myElevationQuery
Object used to sample the elevation model at various resolutions.
Definition: DtOsgTerrainPatchObject.h:381
Contains makVrv::DtTerrainPatchObject class.
std::vector< DtVirtualBaseClass * > myTerrainAttachments
Definition: DtOsgTerrainPatchObject.h:378