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 setPerPixelLightingEnabled(
bool setting);
311 virtual void slot_perPixelLightingChanged(
bool newVal);
312 virtual void slot_usePixelShaderForOsgEarthModelsChanged();
313 virtual void slot_postUpdate();
314 virtual void setOsgEarthMaterial(
float ambient,
float diffuse,
315 float specular,
float shininess);
316 virtual void setOsgEarthMaterialOnNode(osg::Node& node,
float ambient,
float diffuse,
317 float specular,
float shininess);
318 virtual void setOsgEarthMaterialOnStateSet(osg::StateSet& ss,
float ambient,
float diffuse,
319 float specular,
float shininess);
321 virtual void slot_terrainPaged();
325 osgEarth::Util::ElevationQuery* getOrCreateElevationQuery();
328 void installOsgEarthFeatureDataProcessors();
331 virtual void configureOsgEarthFeatureGeometryCompiler();
334 virtual void setupMapNodeIntersectFlag();
336 virtual void setGlobalWindSpeed(
float metersPerSecond);
338 virtual void setGlobalWindDirection(
float radians);
Declaration of the makVrv::DtLightPointVisitor class.
volatile bool myTerrainPagedThisFrame
Definition: DtOsgTerrainPatchObject.h:355
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:403
DtMetaFileManager::LinkageValueVec myTerrainPatchMetaFileFeatures
Definition: DtOsgTerrainPatchObject.h:365
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:345
Definition: DtOsgTerrainPatchObject.h:57
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
osg::ref_ptr< osgEarth::MapNode > myMapNode
Definition: DtOsgTerrainPatchObject.h:347
bool myHaveExtractedOcean
Definition: DtOsgTerrainPatchObject.h:353
std::string myActualFilename
Definition: DtOsgTerrainPatchObject.h:407
Contains makVrv::DtFastGroup class.
osg::ref_ptr< osg::Node > RefNode
Definition: DtOsgTerrainPatchObject.h:405
DtOsgTerrainOverlayManager myOverlayManager
Definition: DtOsgTerrainPatchObject.h:349
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:374
DtOsgLightPointManager & myLightPointManager
Definition: DtOsgTerrainPatchObject.h:397
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:105
bool myPendingPerPixelLightingValue
Definition: DtOsgTerrainPatchObject.h:356
bool myGlobalFlag
Definition: DtOsgTerrainPatchObject.h:352
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:359
DT_DLL_shape DtNetworkNode * findNode(DtVectorNetwork *vecNwk, unsigned int firstNode, DtPoint &p, DtSpecificationID ID)
DtOsgNodesExtractor * myExtractedNodesLogic
Definition: DtOsgTerrainPatchObject.h:385
std::vector< RefNode > myIndirectedNodes
Definition: DtOsgTerrainPatchObject.h:406
A DtOsgTerrainPatchObject contains the methods for loading a file as a terrain.
Definition: DtOsgTerrainPatchObject.h:51
unsigned int myMaxPagedLods
Definition: DtOsgTerrainPatchObject.h:395
float myPendingOsgEarthMaterialAmbient
Definition: DtOsgTerrainPatchObject.h:358
bool myTerrainTreeOrientationRandomizationEnabled
Definition: DtOsgTerrainPatchObject.h:380
bool myOsgEarthMaterialChanged
Definition: DtOsgTerrainPatchObject.h:357
osg::ref_ptr< DtTerrainPatchGroup > myRoot
The OSG Hierarchy starts with myRoot and has one child: myTerrainGroup.
Definition: DtOsgTerrainPatchObject.h:342
bool myPerPixelLightingChanged
Definition: DtOsgTerrainPatchObject.h:354
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
float myTerrainTreeMinScale
Definition: DtOsgTerrainPatchObject.h:378
bool myIndirectEnabled
Definition: DtOsgTerrainPatchObject.h:393
float myPendingOsgEarthMaterialShininess
Definition: DtOsgTerrainPatchObject.h:361
float myPendingOsgEarthMaterialSpecular
Definition: DtOsgTerrainPatchObject.h:360
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myIsMinimapOnly
Definition: DtOsgTerrainPatchObject.h:412
bool myDestructing
keeps track of when the object is in the destructor.
Definition: DtOsgTerrainPatchObject.h:383
DtPagedTilesIndirectManager * myPagedTilesIndirectManager
Definition: DtOsgTerrainPatchObject.h:399
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:410
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:391
A model which owns a single model instance.
Definition: DtModel.h:55
Contains DLL export macros.
float myTerrainTreeMaxScale
Definition: DtOsgTerrainPatchObject.h:379
Feature Insertion/Removal/Paging Features represent parts of the terrain which are individually ident...
Definition: DtDynamicTerrainWorld.h:99
DtDynamicTerrainWorld::FeatureHandle myDynamicTerrainHandle
Definition: DtOsgTerrainPatchObject.h:389
Contains makVrv::DtOsgEarthFeatureDataBroker class.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtSignalConnectionManager mySignals
Definition: DtOsgTerrainPatchObject.h:362
bool myTerrainTreeScaleRandomizationEnabled
Tree randomization settings.
Definition: DtOsgTerrainPatchObject.h:377
DtTextureVisitor::TextureMap myFoundTextureMap
Definition: DtOsgTerrainPatchObject.h:350
Definition: DtOsgTerrainPatchObject.h:58
osgEarth::Util::ElevationQuery * myElevationQuery
Object used to sample the elevation model at various resolutions.
Definition: DtOsgTerrainPatchObject.h:371
Contains makVrv::DtTerrainPatchObject class.
std::vector< DtVirtualBaseClass * > myTerrainAttachments
Definition: DtOsgTerrainPatchObject.h:368