41 class DtTerrainPatchGroup;
42 class DtOsgNodesExtractor;
43 class DtOsgLightPointManager;
44 class DtPagedTilesIndirectManager;
72 virtual void setTerrainDefinition(
const std::string& modelDefinitionName);
74 virtual void slot_atcGlobalTerrainEnableChanged();
77 virtual void enableOverlay(
int type,
const std::string& definition);
80 virtual void disableOverlay(
int type);
83 virtual void disableAllOverlays();
86 virtual void setOverlayScale(
int type,
double x,
double y);
89 virtual void setWrapMode(
int type,
int);
92 virtual void setBlendMode(
int type,
int);
95 virtual void setOverlayOffset(
int type,
double x,
double y);
98 virtual void setLayerEnabled(
const std::string& rule,
bool status);
101 virtual void setRasterLayerPosition(
int type,
int pos);
104 virtual void setIsMinimapOnly(
bool isForMinimap);
106 virtual bool isMinimapOnly()
const;
111 virtual std::string overlayDefinition(
int type);
113 virtual std::vector<double> overlayScale(
int type);
114 virtual std::vector<double> overlayOffset(
int type);
125 virtual DtVector getDatabaseOrigin()
const;
128 virtual void getBoundingBoxCenter(
float& x,
float& y,
float& z)
const;
131 osg::Group* terrainGroupNode();
134 virtual void extractNodes(
const std::string& ruleset,
bool isRegEx);
137 virtual void extractOceanNodes(
const std::string& ruleset,
bool isRegEx);
140 virtual void extractSpeedTreeNodes(
const std::string& rule,
bool isRegEx,
const std::string& modelDefinition);
146 virtual bool haveExtractedOcean()
const;
150 virtual int countNodes(
const std::string& rule)
const;
154 virtual bool getExtractedNodePosition(
const std::string& rule,
155 unsigned int index,
double& x,
double& y,
double& z)
const;
159 virtual bool getExtractedNodeOrientation(
const std::string& rule,
160 unsigned int index,
double& x,
double& y,
double& z,
double& w)
const;
165 DtModel* model,
const std::string& rule,
unsigned int index);
168 virtual osg::Node*
findNode(
const std::string& rule,
unsigned int index);
171 virtual bool isGlobalScaleTerrain()
const;
174 virtual bool getTerrainIntersection(
double x,
double y,
double z,
175 double vx,
double vy,
double vz,
double& retX,
double& retY,
double& retZ);
180 virtual void clearElevationCache();
184 bool isOsgEarth()
const;
187 osgEarth::MapNode *mapNode();
188 const osgEarth::MapNode *mapNode()
const;
190 void installOsgEarthFeatureDataCallback(
const std::string& featureName,
196 virtual void setOsgEarthMaterialValues(
float ambient,
float diffuse,
197 float specular,
float shininess);
198 virtual void getOsgEarthMaterialValues(
float& ambient,
float& diffuse,
199 float& specular,
float& shininess);
205 std::vector<DtVirtualBaseClass*>& terrainAttachments();
208 virtual void setTerrainTreeScaleRandomization(
bool isRandomized);
211 virtual bool isTerrainTreeScaleRandomizationEnabled()
const;
214 virtual void setTerrainTreeMinScale(
double minScale);
217 virtual double terrainTreeMinScale()
const;
220 virtual void setTerrainTreeMaxScale(
double maxScale);
223 virtual double terrainTreeMaxScale()
const;
226 virtual void setTerrainTreeOrientationRandomization(
bool isRandomized);
229 virtual bool isTerrainTreeOrientationRandomizationEnabled()
const;
232 bool isDestructing();
236 virtual void useICO(
bool enable);
239 virtual void setMaxPagedLODs(
unsigned int maxPagedLODs);
242 virtual void updateMaxPagedLODs();
245 virtual void slot_channelCreated();
248 virtual void slot_windowCreated();
252 virtual void slot_channelToBeDestroyed();
255 virtual bool alphaToCoverageEnabled();
259 virtual void postExtractionProcessing();
262 virtual bool indirectEnabled();
266 virtual void toggleVisibility(
bool visibility);
279 void removeChildNodesAndCache();
282 void clearStateGraphForAllChannels(
void);
284 static void graphBoundingBox(
const osg::Node* node, osg::BoundingBox &bbox);
288 void removeEmptyParent(osg::Node* node);
292 virtual bool getElevation(
double lonRadians,
double latRadians,
293 double& retElevation);
295 virtual void setPerPixelLightingEnabled(
bool setting);
297 virtual void slot_perPixelLightingChanged(
bool newVal);
298 virtual void slot_usePixelShaderForOsgEarthModelsChanged();
299 virtual void slot_postUpdate();
300 virtual void setOsgEarthMaterial(
float ambient,
float diffuse,
301 float specular,
float shininess);
302 virtual void setOsgEarthMaterialOnNode(osg::Node& node,
float ambient,
float diffuse,
303 float specular,
float shininess);
304 virtual void setOsgEarthMaterialOnStateSet(osg::StateSet& ss,
float ambient,
float diffuse,
305 float specular,
float shininess);
307 virtual void slot_terrainPaged();
311 osgEarth::Util::ElevationQuery* getOrCreateElevationQuery();
314 void installOsgEarthFeatureDataProcessors();
317 virtual void configureOsgEarthFeatureGeometryCompiler();
320 virtual void setupMapNodeIntersectFlag();
322 virtual void setGlobalWindSpeed(
float metersPerSecond);
324 virtual void setGlobalWindDirection(
float radians);
Declaration of the makVrv::DtLightPointVisitor class.
volatile bool myTerrainPagedThisFrame
Definition: DtOsgTerrainPatchObject.h:341
boost::unordered_map< int, std::string > TextureMap
typdef a map of textures
Definition: DtTextureVisitor.h:38
Declaration of the makVrv::DtTextureVisitor class.
DtMetaFileManager::LinkageValueVec myTerrainPatchMetaFileFeatures
Definition: DtOsgTerrainPatchObject.h:351
handles the management of paged tiles and terrain patches being added to the indirect rendering syste...
Definition: DtPagedTilesIndirectManager.h:55
osg::ref_ptr< DtFastGroup > myTerrainGroup
The myTerrainGroup node holds all the terrain polygons except for reforested trees.
Definition: DtOsgTerrainPatchObject.h:331
Definition: DtOsgTerrainPatchObject.h:56
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
osg::ref_ptr< osgEarth::MapNode > myMapNode
Definition: DtOsgTerrainPatchObject.h:333
bool myHaveExtractedOcean
Definition: DtOsgTerrainPatchObject.h:339
std::string myActualFilename
Definition: DtOsgTerrainPatchObject.h:388
Contains makVrv::DtFastGroup class.
osg::ref_ptr< osg::Node > RefNode
Definition: DtOsgTerrainPatchObject.h:386
DtOsgTerrainOverlayManager myOverlayManager
Definition: DtOsgTerrainPatchObject.h:335
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:360
DtOsgLightPointManager & myLightPointManager
Definition: DtOsgTerrainPatchObject.h:383
AlphaToCoverageState
The possible states alpha to coverage on a terrain patch.
Definition: DtOsgTerrainPatchObject.h:54
DtOsgLightPointManager registers LightPoint nodes so their TBO can be created and updated in a single...
Definition: DtOsgLightPointManager.h:85
bool myPendingPerPixelLightingValue
Definition: DtOsgTerrainPatchObject.h:342
bool myGlobalFlag
Definition: DtOsgTerrainPatchObject.h:338
A DtTerrainPatchObject contains the methods for loading a file as a terrain.
Definition: DtTerrainPatchObject.h:37
DtOsgEarthFeatureDataBroker listens to osgEarth feature layers (i.e.
Definition: DtOsgEarthFeatureDataBroker.h:60
float myPendingOsgEarthMaterialDiffuse
Definition: DtOsgTerrainPatchObject.h:345
DT_DLL_shape DtNetworkNode * findNode(DtVectorNetwork *vecNwk, unsigned int firstNode, DtPoint &p, DtSpecificationID ID)
DtOsgNodesExtractor * myExtractedNodesLogic
Definition: DtOsgTerrainPatchObject.h:371
std::vector< RefNode > myIndirectedNodes
Definition: DtOsgTerrainPatchObject.h:387
A DtOsgTerrainPatchObject contains the methods for loading a file as a terrain.
Definition: DtOsgTerrainPatchObject.h:50
unsigned int myMaxPagedLods
Definition: DtOsgTerrainPatchObject.h:381
float myPendingOsgEarthMaterialAmbient
Definition: DtOsgTerrainPatchObject.h:344
bool myTerrainTreeOrientationRandomizationEnabled
Definition: DtOsgTerrainPatchObject.h:366
bool myOsgEarthMaterialChanged
Definition: DtOsgTerrainPatchObject.h:343
osg::ref_ptr< DtTerrainPatchGroup > myRoot
The OSG Hierarchy starts with myRoot and has one child: myTerrainGroup.
Definition: DtOsgTerrainPatchObject.h:328
bool myPerPixelLightingChanged
Definition: DtOsgTerrainPatchObject.h:340
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
float myTerrainTreeMinScale
Definition: DtOsgTerrainPatchObject.h:364
bool myIndirectEnabled
Definition: DtOsgTerrainPatchObject.h:379
float myPendingOsgEarthMaterialShininess
Definition: DtOsgTerrainPatchObject.h:347
float myPendingOsgEarthMaterialSpecular
Definition: DtOsgTerrainPatchObject.h:346
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
bool myIsMinimapOnly
Definition: DtOsgTerrainPatchObject.h:393
bool myDestructing
keeps track of when the object is in the destructor.
Definition: DtOsgTerrainPatchObject.h:369
DtPagedTilesIndirectManager * myPagedTilesIndirectManager
Definition: DtOsgTerrainPatchObject.h:385
Manager for setting up terrain layers in an OpenSceneGraph terrain.
Definition: DtOsgTerrainOverlayManager.h:25
A class specifying a single overlay operation.
Definition: DtTerrainOverlayOperation.h:25
Base class to provide boost signal/slot management.
osg::ref_ptr< osgEarth::Wind > myGlobalWind
Definition: DtOsgTerrainPatchObject.h:391
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:41
Definition: DtOsgEarthFeatureDataBroker.h:65
Contains makVrv::DtDynamicTerrainWorld class.
AlphaToCoverageState myAlphaToCoverageState
Definition: DtOsgTerrainPatchObject.h:377
A model which owns a single model instance.
Definition: DtModel.h:56
Contains DLL export macros.
float myTerrainTreeMaxScale
Definition: DtOsgTerrainPatchObject.h:365
Feature Insertion/Removal/Paging Features represent parts of the terrain which are individually ident...
Definition: DtDynamicTerrainWorld.h:99
DtDynamicTerrainWorld::FeatureHandle myDynamicTerrainHandle
Definition: DtOsgTerrainPatchObject.h:375
Contains makVrv::DtOsgEarthFeatureDataBroker class.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtSignalConnectionManager mySignals
Definition: DtOsgTerrainPatchObject.h:348
bool myTerrainTreeScaleRandomizationEnabled
Tree randomization settings.
Definition: DtOsgTerrainPatchObject.h:363
DtTextureVisitor::TextureMap myFoundTextureMap
Definition: DtOsgTerrainPatchObject.h:336
Definition: DtOsgTerrainPatchObject.h:57
osgEarth::Util::ElevationQuery * myElevationQuery
Object used to sample the elevation model at various resolutions.
Definition: DtOsgTerrainPatchObject.h:357
Contains makVrv::DtTerrainPatchObject class.
std::vector< DtVirtualBaseClass * > myTerrainAttachments
Definition: DtOsgTerrainPatchObject.h:354