openscenegraph
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osgTerrain::GeometryPool Class Reference

#include <GeometryPool>

Inheritance diagram for osgTerrain::GeometryPool:
osg::Referenced

Classes

struct  GeometryKey
 

Public Types

enum  LayerType { HEIGHTFIELD_LAYER , COLOR_LAYER , CONTOUR_LAYER }
 
typedef std::map< GeometryKey, osg::ref_ptr< SharedGeometry > > GeometryMap
 
typedef std::vector< LayerTypeLayerTypes
 
typedef std::map< LayerTypes, osg::ref_ptr< osg::Program > > ProgramMap
 

Public Member Functions

 GeometryPool ()
 
virtual bool createKeyForTile (TerrainTile *tile, GeometryKey &key)
 
osg::StateSetgetRootStateSetForTerrain (Terrain *terrain)
 
virtual osg::ref_ptr< osg::ProgramgetOrCreateProgram (LayerTypes &layerTypes)
 
virtual osg::ref_ptr< SharedGeometrygetOrCreateGeometry (osgTerrain::TerrainTile *tile)
 
virtual osg::ref_ptr< osg::MatrixTransformgetTileSubgraph (osgTerrain::TerrainTile *tile)
 
virtual void applyLayers (osgTerrain::TerrainTile *tile, osg::StateSet *stateset)
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
virtual void setThreadSafeRefUnref (bool)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 

Protected Member Functions

virtual ~GeometryPool ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

OpenThreads::Mutex _geometryMapMutex
 
GeometryMap _geometryMap
 
OpenThreads::Mutex _programMapMutex
 
ProgramMap _programMap
 
osg::ref_ptr< osg::StateSet_rootStateSet
 
bool _rootStateSetAssigned
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Member Typedef Documentation

◆ GeometryMap

◆ LayerTypes

◆ ProgramMap

Member Enumeration Documentation

◆ LayerType

Enumerator
HEIGHTFIELD_LAYER 
COLOR_LAYER 
CONTOUR_LAYER 

Constructor & Destructor Documentation

◆ GeometryPool()

osgTerrain::GeometryPool::GeometryPool ( )

◆ ~GeometryPool()

virtual osgTerrain::GeometryPool::~GeometryPool ( )
protectedvirtual

Member Function Documentation

◆ applyLayers()

virtual void osgTerrain::GeometryPool::applyLayers ( osgTerrain::TerrainTile tile,
osg::StateSet stateset 
)
virtual

◆ createKeyForTile()

virtual bool osgTerrain::GeometryPool::createKeyForTile ( TerrainTile tile,
GeometryKey key 
)
virtual

◆ getOrCreateGeometry()

virtual osg::ref_ptr< SharedGeometry > osgTerrain::GeometryPool::getOrCreateGeometry ( osgTerrain::TerrainTile tile)
virtual

◆ getOrCreateProgram()

virtual osg::ref_ptr< osg::Program > osgTerrain::GeometryPool::getOrCreateProgram ( LayerTypes layerTypes)
virtual

◆ getRootStateSetForTerrain()

osg::StateSet * osgTerrain::GeometryPool::getRootStateSetForTerrain ( Terrain terrain)

◆ getTileSubgraph()

virtual osg::ref_ptr< osg::MatrixTransform > osgTerrain::GeometryPool::getTileSubgraph ( osgTerrain::TerrainTile tile)
virtual

Member Data Documentation

◆ _geometryMap

GeometryMap osgTerrain::GeometryPool::_geometryMap
protected

◆ _geometryMapMutex

OpenThreads::Mutex osgTerrain::GeometryPool::_geometryMapMutex
protected

◆ _programMap

ProgramMap osgTerrain::GeometryPool::_programMap
protected

◆ _programMapMutex

OpenThreads::Mutex osgTerrain::GeometryPool::_programMapMutex
protected

◆ _rootStateSet

osg::ref_ptr<osg::StateSet> osgTerrain::GeometryPool::_rootStateSet
protected

◆ _rootStateSetAssigned

bool osgTerrain::GeometryPool::_rootStateSetAssigned
protected

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