OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osgTerrain::GeometryPool Class Reference

#include <GeometryPool.h>

Inheritance diagram for osgTerrain::GeometryPool:
Inheritance graph
[legend]
Collaboration diagram for osgTerrain::GeometryPool:
Collaboration graph
[legend]

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::Program
getOrCreateProgram (LayerTypes &layerTypes)
 
virtual osg::ref_ptr
< SharedGeometry
getOrCreateGeometry (osgTerrain::TerrainTile *tile)
 
virtual osg::ref_ptr
< osg::MatrixTransform
getTileSubgraph (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 threadSafe)
 
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 setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

Detailed Description

Definition at line 100 of file GeometryPool.h.

Member Typedef Documentation

Definition at line 134 of file GeometryPool.h.

Definition at line 145 of file GeometryPool.h.

Definition at line 146 of file GeometryPool.h.

Member Enumeration Documentation

Enumerator
HEIGHTFIELD_LAYER 
COLOR_LAYER 
CONTOUR_LAYER 

Definition at line 138 of file GeometryPool.h.

Constructor & Destructor Documentation

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

Member Function Documentation

virtual void osgTerrain::GeometryPool::applyLayers ( osgTerrain::TerrainTile tile,
osg::StateSet stateset 
)
virtual
virtual bool osgTerrain::GeometryPool::createKeyForTile ( TerrainTile tile,
GeometryKey key 
)
virtual
virtual osg::ref_ptr<SharedGeometry> osgTerrain::GeometryPool::getOrCreateGeometry ( osgTerrain::TerrainTile tile)
virtual
virtual osg::ref_ptr<osg::Program> osgTerrain::GeometryPool::getOrCreateProgram ( LayerTypes layerTypes)
virtual
osg::StateSet* osgTerrain::GeometryPool::getRootStateSetForTerrain ( Terrain terrain)
virtual osg::ref_ptr<osg::MatrixTransform> osgTerrain::GeometryPool::getTileSubgraph ( osgTerrain::TerrainTile tile)
virtual

Member Data Documentation

GeometryMap osgTerrain::GeometryPool::_geometryMap
protected

Definition at line 162 of file GeometryPool.h.

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

Definition at line 161 of file GeometryPool.h.

ProgramMap osgTerrain::GeometryPool::_programMap
protected

Definition at line 165 of file GeometryPool.h.

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

Definition at line 164 of file GeometryPool.h.

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

Definition at line 167 of file GeometryPool.h.

bool osgTerrain::GeometryPool::_rootStateSetAssigned
protected

Definition at line 168 of file GeometryPool.h.


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