VR-Forces 4.0.4 Class Documentation
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtPagedLodTerrainSourcePager Class Reference

A DtPagedLodTerrainSourcePager pages in data from a specific terrain patch. More...

Inheritance diagram for DtPagedLodTerrainSourcePager:
Inheritance graph
[legend]

List of all members.

Classes

class  DtActivePageVisitor
 Visitor class used to find the active paged of a OSG scene graph. More...

Public Member Functions

 DtPagedLodTerrainSourcePager (DtVantageTerrainEngine *terrainEngine, osg::Group *rootNode)
virtual ~DtPagedLodTerrainSourcePager ()
virtual DtTerrainSourceTrackercreateTerrainSourceTracker ()
 Creates and returns a DtOsgTerrainSourceTracker.
virtual bool pageInGeometry (const DtTerrainPagingGeometryPtr geometry, const unsigned int intersectId=0)
 This function must page in all the geometry specified by the argument, and return true when successful.
virtual bool pageOutNodes (std::list< DtNodeId > &nodesToRemove)
 This function must cause the page out of the nodeIds specified.
virtual void updateTerrain (const unsigned int intersectId=0)
virtual void updatePageTracker (const unsigned int intersectId=0)
 Updates the DtOsgTerrainSourceTracker.

Static Public Member Functions

static DtTerrainSourcePagerterrainChooserFunction (osg::Node &node, DtVantageTerrainEngine *terrainEngine)
 This is the function that is registered with the DtTerrainSourceChooser.

Protected Member Functions

osg::Node * terrainRoot ()
 The root node that this pager is operating on.
virtual bool pageInData (DtPageInVisitor &visitor)

Static Protected Member Functions

static DtNodeId osgNodeId (osg::Node *node)
 Methods for converting to/from DtNodeId.
static osg::Node * nodeFromId (DtNodeId nodeId)
 Methods for converting to/from DtNodeId.

Protected Attributes

osg::Node * myRootNode
 The node on which this pager operates.
bool myForceUpdate
 Used to force update terrain when data has been paged out.

Detailed Description

A DtPagedLodTerrainSourcePager pages in data from a specific terrain patch.

DtPagedLodTerrainSourcePager is a derived terrainSourcePager that handles a source such as paged ive.


Constructor & Destructor Documentation


Member Function Documentation

Creates and returns a DtOsgTerrainSourceTracker.

Implements DtTerrainSourcePager.

virtual bool DtPagedLodTerrainSourcePager::pageInGeometry ( const DtTerrainPagingGeometryPtr  geometry,
const unsigned int  intersectId = 0 
) [virtual]

This function must page in all the geometry specified by the argument, and return true when successful.

If this method returns false, it will be called again later, until it returns true or times out.

Implements DtBoundingVolumeTerrainSourcePager.

virtual bool DtPagedLodTerrainSourcePager::pageOutNodes ( std::list< DtNodeId > &  nodesToRemove) [virtual]

This function must cause the page out of the nodeIds specified.

It should return true when successful. It will be called repeatedly with the same arguments until it succeeds.

Implements DtBoundingVolumeTerrainSourcePager.

virtual void DtPagedLodTerrainSourcePager::updateTerrain ( const unsigned int  intersectId = 0) [virtual]
virtual void DtPagedLodTerrainSourcePager::updatePageTracker ( const unsigned int  intersectId = 0) [virtual]

Updates the DtOsgTerrainSourceTracker.

Implements DtBoundingVolumeTerrainSourcePager.

static DtTerrainSourcePager* DtPagedLodTerrainSourcePager::terrainChooserFunction ( osg::Node &  node,
DtVantageTerrainEngine terrainEngine 
) [static]

This is the function that is registered with the DtTerrainSourceChooser.

If node is a pagedLOD node, then a DtPagedLodTerrainSourcePager is returned.

osg::Node* DtPagedLodTerrainSourcePager::terrainRoot ( ) [protected]

The root node that this pager is operating on.

virtual bool DtPagedLodTerrainSourcePager::pageInData ( DtPageInVisitor visitor) [protected, virtual]
static DtNodeId DtPagedLodTerrainSourcePager::osgNodeId ( osg::Node *  node) [static, protected]

Methods for converting to/from DtNodeId.

These are protected, because only the pager should be accessing NodeIds as if they are actual nodes. The tracker does not do that since it operates in a separate thread.

static osg::Node* DtPagedLodTerrainSourcePager::nodeFromId ( DtNodeId  nodeId) [static, protected]

Methods for converting to/from DtNodeId.

These are protected, because only the pager should be accessing NodeIds as if they are actual nodes. The tracker does not do that since it operates in a separate thread.


Member Data Documentation

The node on which this pager operates.

Used to force update terrain when data has been paged out.


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)