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

Helper for managing a map of feature tile nodes (for a layer) to DtCellIndirectGeo DtCellIndirectGeo, in turn, is a helper class managing a single DtIndirectGeometry corresponding to each of these nodes Cleans up DtIndirectGeometry when the feature tile node corresponding to it is deleted. More...

Public Member Functions

 DtCellToIndirectGeoMap (DtDe &de)
 CTOR.
virtual ~DtCellToIndirectGeoMap ()
 DTOR.
virtual DtCellIndirectGeogetOrCreateEntry (const osg::Node *node, DtIndirectGeometryRegistrar *registrar, bool &created)
 Get the DtCellIndirectGeo corresponding to this node, and create one if it does not exist in the internal map.
virtual void keyNodeGettingDeleted (const osg::Node *node)
 call back so that we can clean up the corresponding DtCellIndirectGeo

Protected Types

typedef boost::unordered_map
< const osg::Node
*, DtCellIndirectGeo * > 
KeyToEntryTypeMap

Protected Member Functions

virtual DtCellIndirectGeogetEntry (const osg::Node *node)
 internal method to determine whether an entry exists for a given node
virtual DtCellIndirectGeocreateEntry (const osg::Node *node, DtIndirectGeometryRegistrar *registrar)
 internal method to create an entry for a given node
virtual void deleteEntries ()
 internal method to delete all entries, called via the destructor

Protected Attributes

Threading::Mutex myMutex
KeyToEntryTypeMap myKeyToEntryTypeMap
DtDemyDe
DtIndirectGeometryCreatormyIndirectGeomCreator
DtIndirectGeoComputeBoundCallbackCreator
< DtCellIndirectGeo > & 
myIndirectGeoComputeBoundCallbackCreator
DtIndirectGeoIntersectionGroupCreatormyIndirectGeoIntersectGroupCreator

Private Member Functions

 DtCellToIndirectGeoMap ()
 CTOR (unimplemented default CTOR)

Detailed Description

Helper for managing a map of feature tile nodes (for a layer) to DtCellIndirectGeo DtCellIndirectGeo, in turn, is a helper class managing a single DtIndirectGeometry corresponding to each of these nodes Cleans up DtIndirectGeometry when the feature tile node corresponding to it is deleted.

Member Typedef Documentation

typedef boost::unordered_map<const osg::Node*, DtCellIndirectGeo*> makVrv::DtCellToIndirectGeoMap::KeyToEntryTypeMap
protected

Constructor & Destructor Documentation

makVrv::DtCellToIndirectGeoMap::DtCellToIndirectGeoMap ( DtDe de)

CTOR.

virtual makVrv::DtCellToIndirectGeoMap::~DtCellToIndirectGeoMap ( )
virtual

DTOR.

makVrv::DtCellToIndirectGeoMap::DtCellToIndirectGeoMap ( )
private

CTOR (unimplemented default CTOR)

Member Function Documentation

virtual DtCellIndirectGeo* makVrv::DtCellToIndirectGeoMap::getOrCreateEntry ( const osg::Node *  node,
DtIndirectGeometryRegistrar registrar,
bool created 
)
virtual

Get the DtCellIndirectGeo corresponding to this node, and create one if it does not exist in the internal map.

Also, add it to the map if it was created This method is thread safe and can be invoked from multiple threads

virtual void makVrv::DtCellToIndirectGeoMap::keyNodeGettingDeleted ( const osg::Node *  node)
virtual

call back so that we can clean up the corresponding DtCellIndirectGeo

virtual DtCellIndirectGeo* makVrv::DtCellToIndirectGeoMap::getEntry ( const osg::Node *  node)
protectedvirtual

internal method to determine whether an entry exists for a given node

virtual DtCellIndirectGeo* makVrv::DtCellToIndirectGeoMap::createEntry ( const osg::Node *  node,
DtIndirectGeometryRegistrar registrar 
)
protectedvirtual

internal method to create an entry for a given node

virtual void makVrv::DtCellToIndirectGeoMap::deleteEntries ( )
protectedvirtual

internal method to delete all entries, called via the destructor

Member Data Documentation

Threading::Mutex makVrv::DtCellToIndirectGeoMap::myMutex
protected
KeyToEntryTypeMap makVrv::DtCellToIndirectGeoMap::myKeyToEntryTypeMap
protected
DtDe& makVrv::DtCellToIndirectGeoMap::myDe
protected
DtIndirectGeometryCreator& makVrv::DtCellToIndirectGeoMap::myIndirectGeomCreator
protected
DtIndirectGeoComputeBoundCallbackCreator<DtCellIndirectGeo>& makVrv::DtCellToIndirectGeoMap::myIndirectGeoComputeBoundCallbackCreator
protected
DtIndirectGeoIntersectionGroupCreator& makVrv::DtCellToIndirectGeoMap::myIndirectGeoIntersectGroupCreator
protected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)