VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends
makVrv::DtOsgTerrainPatchObject Class Reference

A DtOsgTerrainPatchObject contains the methods for loading a file as a terrain. More...

Inheritance diagram for makVrv::DtOsgTerrainPatchObject:
Inheritance graph
[legend]

Public Types

enum  AlphaToCoverageState { USE_GLOBAL, FORCE_OFF, FORCE_ON }
 The possible states alpha to coverage on a terrain patch. More...
 

Public Member Functions

 DtOsgTerrainPatchObject (DtDe &de, DtUniqueID elementId)
 CTOR. More...
 
virtual ~DtOsgTerrainPatchObject ()
 DTOR. More...
 
virtual void setTerrainDefinition (const std::string &modelDefinitionName)
 Distributed methods: More...
 
virtual void slot_atcGlobalTerrainEnableChanged ()
 
virtual void enableOverlay (int type, const std::string &definition)
 Enable specified overlay with specified definition. More...
 
virtual void disableOverlay (int type)
 Disable specified overlay. More...
 
virtual void disableAllOverlays ()
 Disable all overlays. More...
 
virtual void setOverlayScale (int type, double x, double y)
 Set scale of specified overlay. More...
 
virtual void setWrapMode (int type, int)
 Set wrap mode of specified overlay. Default is REPEAT. More...
 
virtual void setBlendMode (int type, int)
 Set blend mode of specified overlay. Default is MODULATE. More...
 
virtual void setOverlayOffset (int type, double x, double y)
 Set offset of specified overlay. More...
 
virtual void setLayerEnabled (const std::string &rule, bool status)
 Toggle layers on or off by rule regexp. More...
 
virtual void setRasterLayerPosition (int type, int pos)
 Sets the position of the raster layer to draw. More...
 
virtual std::string overlayDefinition (int type)
 Local functions. More...
 
virtual std::vector< doubleoverlayScale (int type)
 
virtual std::vector< doubleoverlayOffset (int type)
 
virtual DtTerrainOverlayOperation defaultOverlay (int type)
 
virtual DtTerrainOverlayOperation currentOverlay (int type)
 
virtual void getBoundingBoxMinMax (DtVector &min, DtVector &max) const
 Returns the min/max bounding points of the terrain. More...
 
virtual void getTerrainExtents (DtVector &nw, DtVector &ne, DtVector &sw, DtVector &se) const
 Return the corners of the terrain, useful for calculating draping parameters. More...
 
virtual DtVector getDatabaseOrigin () const
 Return the origin of the database in database coordinates. More...
 
virtual void getBoundingBoxCenter (float &x, float &y, float &z) const
 Get the bounding box center of the terrain patch. More...
 
osg::Group * terrainGroupNode ()
 
virtual void extractNodes (const std::string &ruleset, bool isRegEx)
 Move nodes via a ruleset. More...
 
virtual void extractOceanNodes (const std::string &ruleset, bool isRegEx)
 Extract ocean nodes to the static ocean root. More...
 
virtual void extractSpeedTreeNodes (const std::string &rule, bool isRegEx, const std::string &modelDefinition)
 Extract osg nodes from the terrain patch and replace them as speed trees. More...
 
virtual void realizeExtractedSpeedTrees (const DtVectorTreeRecords &trees)
 Send Tree Records to the speed tree manager. More...
 
virtual bool haveExtractedOcean () const
 Does this patch have extracted ocean nodes? More...
 
virtual int countNodes (const std::string &rule) const
 Count nodes via a rule. More...
 
virtual bool getExtractedNodePosition (const std::string &rule, unsigned int index, double &x, double &y, double &z) const
 Get the extracted node position. More...
 
virtual bool getExtractedNodeOrientation (const std::string &rule, unsigned int index, double &x, double &y, double &z, double &w) const
 Get the extracted node orientation. More...
 
virtual void moveNode (DtSceneObject *object, DtModel *model, const std::string &rule, unsigned int index)
 Moves a node to the model and sets the location of an object by its location. More...
 
virtual osg::Node * findNode (const std::string &rule, unsigned int index)
 Get a particular node found with a rule & it's index. More...
 
virtual bool isGlobalScaleTerrain () const
 Get if the terrain patch is a global scale. More...
 
virtual bool getTerrainIntersection (double x, double y, double z, double vx, double vy, double vz, double &retX, double &retY, double &retZ)
 Get a terrain intersection. More...
 
virtual void clearElevationCache ()
 If the patch object is using an elevation cache, clear it (otherwise do nothing). More...
 
bool isOsgEarth () const
 Returns whether the terrain 'patch' is really osg earth streamed terrain. More...
 
osgEarth::MapNode * mapNode ()
 Returns the underlying osgEarth Map Node if any. More...
 
const osgEarth::MapNode * mapNode () const
 
void installOsgEarthFeatureDataCallback (const std::string &featureName, DtOsgEarthFeatureDataBroker::Callback *callback)
 
virtual const
DtTextureVisitor::TextureMap
foundTextures () const
 Returns the list of (unique) found textures. More...
 
virtual void setOsgEarthMaterialValues (float ambient, float diffuse, float specular, float shininess)
 
virtual void getOsgEarthMaterialValues (float &ambient, float &diffuse, float &specular, float &shininess)
 
DtMetaFileManager::LinkageValueVecterrainPatchMetaFileFeatures ()
 Return the list of node names/annotations and corresponding JSON info. More...
 
std::vector
< DtVirtualBaseClass * > & 
terrainAttachments ()
 Get the list of tickables for this model (created by .meta files) More...
 
virtual void setTerrainTreeScaleRandomization (bool isRandomized)
 Should speed tree scale be randomized on the terrain. More...
 
virtual bool isTerrainTreeScaleRandomizationEnabled () const
 Is speed tree random scale enabled. More...
 
virtual void setTerrainTreeMinScale (double minScale)
 Set the minimum scale for randomization of scale. More...
 
virtual double terrainTreeMinScale () const
 Get the minimum scale for randomization of scale. More...
 
virtual void setTerrainTreeMaxScale (double maxScale)
 Set the maximum scale for randomization of scale. More...
 
virtual double terrainTreeMaxScale () const
 Get the maximum scale for randomization of scale. More...
 
virtual void setTerrainTreeOrientationRandomization (bool isRandomized)
 Should speed trees be randomly oriented. More...
 
virtual bool isTerrainTreeOrientationRandomizationEnabled () const
 Is speed tree random orientation enabled. More...
 
bool isDestructing ()
 Is the DtOsgTerrainPatchObject in the destructor. More...
 
virtual void useICO (bool enable)
 Enable/Disable Incremental Compile Option. More...
 
virtual void setMaxPagedLODs (unsigned int maxPagedLODs)
 Set the target max number of paged lods for this terrain (patch) More...
 
virtual void updateMaxPagedLODs ()
 send the current max paged lods down to the channel manager More...
 
virtual void slot_channelCreated ()
 handle the signal for channel created so that the terrain can send the max paged lods down to the channel manager More...
 
virtual void slot_windowCreated ()
 handle the signal for window is created so that the terrain can send the max paged lods down to the channel manager More...
 
virtual void slot_channelToBeDestroyed ()
 handle the signal for channel to be destroyed so that the terrain can send the max paged lods down to the channel manager More...
 
virtual bool alphaToCoverageEnabled ()
 Gets whether or not alpha to coverage is enabled for this terrain patch. More...
 
virtual void postExtractionProcessing ()
 called by the terrain patch after the extraction operations used to indirect a non paging terrain patch. More...
 
virtual bool indirectEnabled ()
 get whether or not indirect is enabled for this terrain patch. Based on setting at load. More...
 
virtual void toggleVisibility (bool visibility)
 /brief Toggle the visibility of this terrain patch object. More...
 
virtual
DtOsgEarthFeatureDataBroker
getOsgEarthFeatureDataBroker ()
 get the feature data broker for this terrain patch More...
 
virtual void setIsMinimapOnly (bool isForMinimap)
 Should this patch object be placed under the special minimap modelset? More...
 
virtual bool isMinimapOnly () const
 
- Public Member Functions inherited from makVrv::DtTerrainPatchObject
 DtTerrainPatchObject (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtTerrainPatchObject ()
 DTOR. More...
 
const std::string & terrainDefinitionName () const
 Accessor for the terrain definition name. More...
 
virtual DtUniqueID uniqueID () const
 DtUniqueID Accessor. More...
 

Protected Types

typedef osg::ref_ptr< osg::Node > RefNode
 

Protected Member Functions

void removeChildNodesAndCache ()
 Unload the terrain. More...
 
void clearStateGraphForAllChannels (void)
 clear osg's internal state graph More...
 
void removeEmptyParent (osg::Node *node)
 
void updateBounds ()
 
virtual bool getElevation (double lonRadians, double latRadians, double &retElevation)
 get an osg earth elevation More...
 
virtual void setPerPixelLightingEnabled (bool setting)
 
virtual void slot_perPixelLightingChanged (bool newVal)
 
virtual void slot_usePixelShaderForOsgEarthModelsChanged ()
 
virtual void slot_postUpdate ()
 
virtual void setOsgEarthMaterial (float ambient, float diffuse, float specular, float shininess)
 
virtual void setOsgEarthMaterialOnNode (osg::Node &node, float ambient, float diffuse, float specular, float shininess)
 
virtual void setOsgEarthMaterialOnStateSet (osg::StateSet &ss, float ambient, float diffuse, float specular, float shininess)
 
virtual void slot_terrainPaged ()
 
osgEarth::Util::ElevationQuery * getOrCreateElevationQuery ()
 Returns the patch's elevation query object, creating it on. More...
 
void installOsgEarthFeatureDataProcessors ()
 
virtual void configureOsgEarthFeatureGeometryCompiler ()
 
virtual void setupMapNodeIntersectFlag ()
 utility function for setting up the osgEarth terrain skin only intersection flag on the terrain engine. More...
 
virtual void setGlobalWindSpeed (float metersPerSecond)
 
virtual void setGlobalWindDirection (float radians)
 

Static Protected Member Functions

static void graphBoundingBox (const osg::Node *node, osg::BoundingBox &bbox)
 

Protected Attributes

osg::ref_ptr< DtTerrainPatchGroupmyRoot
 The OSG Hierarchy starts with myRoot and has one child: myTerrainGroup. More...
 
osg::ref_ptr< DtFastGroupmyTerrainGroup
 The myTerrainGroup node holds all the terrain polygons except for reforested trees. More...
 
osg::ref_ptr< osgEarth::MapNode > myMapNode
 
DtOsgTerrainOverlayManager myOverlayManager
 
DtTextureVisitor::TextureMap myFoundTextureMap
 
bool myGlobalFlag
 
bool myHaveExtractedOcean
 
bool myPerPixelLightingChanged
 
volatile bool myTerrainPagedThisFrame
 
bool myPendingPerPixelLightingValue
 
bool myOsgEarthMaterialChanged
 
float myPendingOsgEarthMaterialAmbient
 
float myPendingOsgEarthMaterialDiffuse
 
float myPendingOsgEarthMaterialSpecular
 
float myPendingOsgEarthMaterialShininess
 
DtSignalConnectionManager mySignals
 
DtMetaFileManager::LinkageValueVec myTerrainPatchMetaFileFeatures
 
std::vector< DtVirtualBaseClass * > myTerrainAttachments
 
osgEarth::Util::ElevationQuery * myElevationQuery
 Object used to sample the elevation model at various resolutions. More...
 
osg::ref_ptr
< DtOsgEarthFeatureDataBroker
myOsgEarthFeatureDataBroker
 notifies subscribers of feature data loading via an osgEarth layer. More...
 
bool myTerrainTreeScaleRandomizationEnabled
 Tree randomization settings. More...
 
float myTerrainTreeMinScale
 
float myTerrainTreeMaxScale
 
bool myTerrainTreeOrientationRandomizationEnabled
 
bool myDestructing
 keeps track of when the object is in the destructor. More...
 
DtOsgNodesExtractormyExtractedNodesLogic
 
DtDynamicTerrainWorld::FeatureHandle myDynamicTerrainHandle
 
AlphaToCoverageState myAlphaToCoverageState
 
bool myIndirectEnabled
 
unsigned int myMaxPagedLods
 
DtOsgLightPointManagermyLightPointManager
 
DtPagedTilesIndirectManagermyPagedTilesIndirectManager
 
std::vector< RefNodemyIndirectedNodes
 
std::string myActualFilename
 
osg::ref_ptr< osgEarth::Wind > myGlobalWind
 
bool myIsMinimapOnly
 
- Protected Attributes inherited from makVrv::DtTerrainPatchObject
DtDemyDe
 
DtUniqueID myUniqueID
 
std::string myTerrainDefinitionName
 

Private Member Functions

 DtOsgTerrainPatchObject (const DtOsgTerrainPatchObject &)
 Not implemented. More...
 
DtOsgTerrainPatchObjectoperator= (const DtOsgTerrainPatchObject &)
 

Friends

class DtOsgNodesExtractor
 

Additional Inherited Members

- Static Public Attributes inherited from makVrv::DtTerrainPatchObject
static const double TheEarthRadius
 The Radius of the earth, used to calculate if a terrain has global scale. More...
 

Detailed Description

A DtOsgTerrainPatchObject contains the methods for loading a file as a terrain.

When loading a file as a terrain certain post processing steps can be taken. For example, the static trees can be extracted and replaced by dynamically generated trees.

Member Typedef Documentation

Member Enumeration Documentation

The possible states alpha to coverage on a terrain patch.

Enumerator
USE_GLOBAL 
FORCE_OFF 
FORCE_ON 

Constructor & Destructor Documentation

makVrv::DtOsgTerrainPatchObject::DtOsgTerrainPatchObject ( DtDe de,
DtUniqueID  elementId 
)

CTOR.

virtual makVrv::DtOsgTerrainPatchObject::~DtOsgTerrainPatchObject ( )
virtual

DTOR.

makVrv::DtOsgTerrainPatchObject::DtOsgTerrainPatchObject ( const DtOsgTerrainPatchObject )
private

Not implemented.

Member Function Documentation

virtual void makVrv::DtOsgTerrainPatchObject::setTerrainDefinition ( const std::string &  modelDefinitionName)
virtual

Distributed methods:

The model definition will be loaded and post processing will occur.

Reimplemented from makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::slot_atcGlobalTerrainEnableChanged ( )
virtual
virtual void makVrv::DtOsgTerrainPatchObject::enableOverlay ( int  type,
const std::string &  definition 
)
virtual

Enable specified overlay with specified definition.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::disableOverlay ( int  type)
virtual

Disable specified overlay.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::disableAllOverlays ( )
virtual

Disable all overlays.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setOverlayScale ( int  type,
double  x,
double  y 
)
virtual

Set scale of specified overlay.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setWrapMode ( int  type,
int   
)
virtual

Set wrap mode of specified overlay. Default is REPEAT.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setBlendMode ( int  type,
int   
)
virtual

Set blend mode of specified overlay. Default is MODULATE.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setOverlayOffset ( int  type,
double  x,
double  y 
)
virtual

Set offset of specified overlay.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setLayerEnabled ( const std::string &  rule,
bool  status 
)
virtual

Toggle layers on or off by rule regexp.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setRasterLayerPosition ( int  type,
int  pos 
)
virtual

Sets the position of the raster layer to draw.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setIsMinimapOnly ( bool  isForMinimap)
virtual

Should this patch object be placed under the special minimap modelset?

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::isMinimapOnly ( ) const
virtual
virtual std::string makVrv::DtOsgTerrainPatchObject::overlayDefinition ( int  type)
virtual

Local functions.

Implements makVrv::DtTerrainPatchObject.

virtual std::vector<double> makVrv::DtOsgTerrainPatchObject::overlayScale ( int  type)
virtual
virtual std::vector<double> makVrv::DtOsgTerrainPatchObject::overlayOffset ( int  type)
virtual
virtual DtTerrainOverlayOperation makVrv::DtOsgTerrainPatchObject::defaultOverlay ( int  type)
virtual
virtual DtTerrainOverlayOperation makVrv::DtOsgTerrainPatchObject::currentOverlay ( int  type)
virtual
virtual void makVrv::DtOsgTerrainPatchObject::getBoundingBoxMinMax ( DtVector min,
DtVector max 
) const
virtual

Returns the min/max bounding points of the terrain.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::getTerrainExtents ( DtVector nw,
DtVector ne,
DtVector sw,
DtVector se 
) const
virtual

Return the corners of the terrain, useful for calculating draping parameters.

Implements makVrv::DtTerrainPatchObject.

virtual DtVector makVrv::DtOsgTerrainPatchObject::getDatabaseOrigin ( ) const
virtual

Return the origin of the database in database coordinates.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::getBoundingBoxCenter ( float &  x,
float &  y,
float &  z 
) const
virtual

Get the bounding box center of the terrain patch.

osg::Group* makVrv::DtOsgTerrainPatchObject::terrainGroupNode ( )
virtual void makVrv::DtOsgTerrainPatchObject::extractNodes ( const std::string &  ruleset,
bool  isRegEx 
)
virtual

Move nodes via a ruleset.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::extractOceanNodes ( const std::string &  ruleset,
bool  isRegEx 
)
virtual

Extract ocean nodes to the static ocean root.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::extractSpeedTreeNodes ( const std::string &  rule,
bool  isRegEx,
const std::string &  modelDefinition 
)
virtual

Extract osg nodes from the terrain patch and replace them as speed trees.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::realizeExtractedSpeedTrees ( const DtVectorTreeRecords trees)
virtual

Send Tree Records to the speed tree manager.

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::haveExtractedOcean ( ) const
virtual

Does this patch have extracted ocean nodes?

virtual int makVrv::DtOsgTerrainPatchObject::countNodes ( const std::string &  rule) const
virtual

Count nodes via a rule.

This checks the current terrain contents without modifying it.

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::getExtractedNodePosition ( const std::string &  rule,
unsigned int  index,
double x,
double y,
double z 
) const
virtual

Get the extracted node position.

Return values
falseif the node is not found.

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::getExtractedNodeOrientation ( const std::string &  rule,
unsigned int  index,
double x,
double y,
double z,
double w 
) const
virtual

Get the extracted node orientation.

Return values
falseif the node is not found.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::moveNode ( DtSceneObject object,
DtModel model,
const std::string &  rule,
unsigned int  index 
)
virtual

Moves a node to the model and sets the location of an object by its location.

Implements makVrv::DtTerrainPatchObject.

virtual osg::Node* makVrv::DtOsgTerrainPatchObject::findNode ( const std::string &  rule,
unsigned int  index 
)
virtual

Get a particular node found with a rule & it's index.

virtual bool makVrv::DtOsgTerrainPatchObject::isGlobalScaleTerrain ( ) const
virtual

Get if the terrain patch is a global scale.

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::getTerrainIntersection ( double  x,
double  y,
double  z,
double  vx,
double  vy,
double  vz,
double retX,
double retY,
double retZ 
)
virtual

Get a terrain intersection.

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::clearElevationCache ( )
virtual

If the patch object is using an elevation cache, clear it (otherwise do nothing).

Use after making a large number of successive calls, such as while extracting props from a shape file

Implements makVrv::DtTerrainPatchObject.

bool makVrv::DtOsgTerrainPatchObject::isOsgEarth ( ) const

Returns whether the terrain 'patch' is really osg earth streamed terrain.

osgEarth::MapNode* makVrv::DtOsgTerrainPatchObject::mapNode ( )

Returns the underlying osgEarth Map Node if any.

const osgEarth::MapNode* makVrv::DtOsgTerrainPatchObject::mapNode ( ) const
void makVrv::DtOsgTerrainPatchObject::installOsgEarthFeatureDataCallback ( const std::string &  featureName,
DtOsgEarthFeatureDataBroker::Callback callback 
)
virtual const DtTextureVisitor::TextureMap& makVrv::DtOsgTerrainPatchObject::foundTextures ( ) const
virtual

Returns the list of (unique) found textures.

virtual void makVrv::DtOsgTerrainPatchObject::setOsgEarthMaterialValues ( float  ambient,
float  diffuse,
float  specular,
float  shininess 
)
virtual
virtual void makVrv::DtOsgTerrainPatchObject::getOsgEarthMaterialValues ( float &  ambient,
float &  diffuse,
float &  specular,
float &  shininess 
)
virtual
DtMetaFileManager::LinkageValueVec& makVrv::DtOsgTerrainPatchObject::terrainPatchMetaFileFeatures ( )

Return the list of node names/annotations and corresponding JSON info.

std::vector<DtVirtualBaseClass*>& makVrv::DtOsgTerrainPatchObject::terrainAttachments ( )

Get the list of tickables for this model (created by .meta files)

virtual void makVrv::DtOsgTerrainPatchObject::setTerrainTreeScaleRandomization ( bool  isRandomized)
virtual

Should speed tree scale be randomized on the terrain.

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::isTerrainTreeScaleRandomizationEnabled ( ) const
virtual

Is speed tree random scale enabled.

virtual void makVrv::DtOsgTerrainPatchObject::setTerrainTreeMinScale ( double  minScale)
virtual

Set the minimum scale for randomization of scale.

Implements makVrv::DtTerrainPatchObject.

virtual double makVrv::DtOsgTerrainPatchObject::terrainTreeMinScale ( ) const
virtual

Get the minimum scale for randomization of scale.

virtual void makVrv::DtOsgTerrainPatchObject::setTerrainTreeMaxScale ( double  maxScale)
virtual

Set the maximum scale for randomization of scale.

Implements makVrv::DtTerrainPatchObject.

virtual double makVrv::DtOsgTerrainPatchObject::terrainTreeMaxScale ( ) const
virtual

Get the maximum scale for randomization of scale.

virtual void makVrv::DtOsgTerrainPatchObject::setTerrainTreeOrientationRandomization ( bool  isRandomized)
virtual

Should speed trees be randomly oriented.

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::isTerrainTreeOrientationRandomizationEnabled ( ) const
virtual

Is speed tree random orientation enabled.

bool makVrv::DtOsgTerrainPatchObject::isDestructing ( )

Is the DtOsgTerrainPatchObject in the destructor.

virtual void makVrv::DtOsgTerrainPatchObject::useICO ( bool  enable)
virtual

Enable/Disable Incremental Compile Option.

This calls into the windowmanager which controls ICO

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::setMaxPagedLODs ( unsigned int  maxPagedLODs)
virtual

Set the target max number of paged lods for this terrain (patch)

Implements makVrv::DtTerrainPatchObject.

virtual void makVrv::DtOsgTerrainPatchObject::updateMaxPagedLODs ( )
virtual

send the current max paged lods down to the channel manager

virtual void makVrv::DtOsgTerrainPatchObject::slot_channelCreated ( )
virtual

handle the signal for channel created so that the terrain can send the max paged lods down to the channel manager

virtual void makVrv::DtOsgTerrainPatchObject::slot_windowCreated ( )
virtual

handle the signal for window is created so that the terrain can send the max paged lods down to the channel manager

virtual void makVrv::DtOsgTerrainPatchObject::slot_channelToBeDestroyed ( )
virtual

handle the signal for channel to be destroyed so that the terrain can send the max paged lods down to the channel manager

virtual bool makVrv::DtOsgTerrainPatchObject::alphaToCoverageEnabled ( )
virtual

Gets whether or not alpha to coverage is enabled for this terrain patch.

virtual void makVrv::DtOsgTerrainPatchObject::postExtractionProcessing ( )
virtual

called by the terrain patch after the extraction operations used to indirect a non paging terrain patch.

Implements makVrv::DtTerrainPatchObject.

virtual bool makVrv::DtOsgTerrainPatchObject::indirectEnabled ( )
virtual

get whether or not indirect is enabled for this terrain patch. Based on setting at load.

virtual void makVrv::DtOsgTerrainPatchObject::toggleVisibility ( bool  visibility)
virtual

/brief Toggle the visibility of this terrain patch object.

/param visibility Whether show the terrain patch or not.

Implements makVrv::DtTerrainPatchObject.

virtual DtOsgEarthFeatureDataBroker* makVrv::DtOsgTerrainPatchObject::getOsgEarthFeatureDataBroker ( )
virtual

get the feature data broker for this terrain patch

DtOsgTerrainPatchObject& makVrv::DtOsgTerrainPatchObject::operator= ( const DtOsgTerrainPatchObject )
private
void makVrv::DtOsgTerrainPatchObject::removeChildNodesAndCache ( )
protected

Unload the terrain.

void makVrv::DtOsgTerrainPatchObject::clearStateGraphForAllChannels ( void  )
protected

clear osg's internal state graph

static void makVrv::DtOsgTerrainPatchObject::graphBoundingBox ( const osg::Node *  node,
osg::BoundingBox &  bbox 
)
staticprotected
void makVrv::DtOsgTerrainPatchObject::removeEmptyParent ( osg::Node *  node)
protected
void makVrv::DtOsgTerrainPatchObject::updateBounds ( )
protected
virtual bool makVrv::DtOsgTerrainPatchObject::getElevation ( double  lonRadians,
double  latRadians,
double retElevation 
)
protectedvirtual

get an osg earth elevation

virtual void makVrv::DtOsgTerrainPatchObject::setPerPixelLightingEnabled ( bool  setting)
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::slot_perPixelLightingChanged ( bool  newVal)
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::slot_usePixelShaderForOsgEarthModelsChanged ( )
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::slot_postUpdate ( )
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::setOsgEarthMaterial ( float  ambient,
float  diffuse,
float  specular,
float  shininess 
)
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::setOsgEarthMaterialOnNode ( osg::Node &  node,
float  ambient,
float  diffuse,
float  specular,
float  shininess 
)
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::setOsgEarthMaterialOnStateSet ( osg::StateSet &  ss,
float  ambient,
float  diffuse,
float  specular,
float  shininess 
)
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::slot_terrainPaged ( )
protectedvirtual
osgEarth::Util::ElevationQuery* makVrv::DtOsgTerrainPatchObject::getOrCreateElevationQuery ( )
protected

Returns the patch's elevation query object, creating it on.

void makVrv::DtOsgTerrainPatchObject::installOsgEarthFeatureDataProcessors ( )
protected
virtual void makVrv::DtOsgTerrainPatchObject::configureOsgEarthFeatureGeometryCompiler ( )
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::setupMapNodeIntersectFlag ( )
protectedvirtual

utility function for setting up the osgEarth terrain skin only intersection flag on the terrain engine.

virtual void makVrv::DtOsgTerrainPatchObject::setGlobalWindSpeed ( float  metersPerSecond)
protectedvirtual
virtual void makVrv::DtOsgTerrainPatchObject::setGlobalWindDirection ( float  radians)
protectedvirtual

Friends And Related Function Documentation

friend class DtOsgNodesExtractor
friend

Member Data Documentation

osg::ref_ptr<DtTerrainPatchGroup> makVrv::DtOsgTerrainPatchObject::myRoot
protected

The OSG Hierarchy starts with myRoot and has one child: myTerrainGroup.

osg::ref_ptr<DtFastGroup> makVrv::DtOsgTerrainPatchObject::myTerrainGroup
protected

The myTerrainGroup node holds all the terrain polygons except for reforested trees.

osg::ref_ptr<osgEarth::MapNode> makVrv::DtOsgTerrainPatchObject::myMapNode
protected
DtOsgTerrainOverlayManager makVrv::DtOsgTerrainPatchObject::myOverlayManager
protected
DtTextureVisitor::TextureMap makVrv::DtOsgTerrainPatchObject::myFoundTextureMap
protected
bool makVrv::DtOsgTerrainPatchObject::myGlobalFlag
protected
bool makVrv::DtOsgTerrainPatchObject::myHaveExtractedOcean
protected
bool makVrv::DtOsgTerrainPatchObject::myPerPixelLightingChanged
protected
volatile bool makVrv::DtOsgTerrainPatchObject::myTerrainPagedThisFrame
protected
bool makVrv::DtOsgTerrainPatchObject::myPendingPerPixelLightingValue
protected
bool makVrv::DtOsgTerrainPatchObject::myOsgEarthMaterialChanged
protected
float makVrv::DtOsgTerrainPatchObject::myPendingOsgEarthMaterialAmbient
protected
float makVrv::DtOsgTerrainPatchObject::myPendingOsgEarthMaterialDiffuse
protected
float makVrv::DtOsgTerrainPatchObject::myPendingOsgEarthMaterialSpecular
protected
float makVrv::DtOsgTerrainPatchObject::myPendingOsgEarthMaterialShininess
protected
DtSignalConnectionManager makVrv::DtOsgTerrainPatchObject::mySignals
protected
DtMetaFileManager::LinkageValueVec makVrv::DtOsgTerrainPatchObject::myTerrainPatchMetaFileFeatures
protected
std::vector<DtVirtualBaseClass*> makVrv::DtOsgTerrainPatchObject::myTerrainAttachments
protected
osgEarth::Util::ElevationQuery* makVrv::DtOsgTerrainPatchObject::myElevationQuery
protected

Object used to sample the elevation model at various resolutions.

osg::ref_ptr<DtOsgEarthFeatureDataBroker> makVrv::DtOsgTerrainPatchObject::myOsgEarthFeatureDataBroker
protected

notifies subscribers of feature data loading via an osgEarth layer.

bool makVrv::DtOsgTerrainPatchObject::myTerrainTreeScaleRandomizationEnabled
protected

Tree randomization settings.

float makVrv::DtOsgTerrainPatchObject::myTerrainTreeMinScale
protected
float makVrv::DtOsgTerrainPatchObject::myTerrainTreeMaxScale
protected
bool makVrv::DtOsgTerrainPatchObject::myTerrainTreeOrientationRandomizationEnabled
protected
bool makVrv::DtOsgTerrainPatchObject::myDestructing
protected

keeps track of when the object is in the destructor.

DtOsgNodesExtractor* makVrv::DtOsgTerrainPatchObject::myExtractedNodesLogic
protected
DtDynamicTerrainWorld::FeatureHandle makVrv::DtOsgTerrainPatchObject::myDynamicTerrainHandle
protected
AlphaToCoverageState makVrv::DtOsgTerrainPatchObject::myAlphaToCoverageState
protected
bool makVrv::DtOsgTerrainPatchObject::myIndirectEnabled
protected
unsigned int makVrv::DtOsgTerrainPatchObject::myMaxPagedLods
protected
DtOsgLightPointManager& makVrv::DtOsgTerrainPatchObject::myLightPointManager
protected
DtPagedTilesIndirectManager* makVrv::DtOsgTerrainPatchObject::myPagedTilesIndirectManager
protected
std::vector<RefNode> makVrv::DtOsgTerrainPatchObject::myIndirectedNodes
protected
std::string makVrv::DtOsgTerrainPatchObject::myActualFilename
protected
osg::ref_ptr<osgEarth::Wind> makVrv::DtOsgTerrainPatchObject::myGlobalWind
protected
bool makVrv::DtOsgTerrainPatchObject::myIsMinimapOnly
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)