VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtCellToIndirectGeoMap Class Referenceabstract
Inheritance diagram for makVrv::DtCellToIndirectGeoMap:
Inheritance graph
[legend]

Public Types

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

Public Member Functions

virtual ~DtCellToIndirectGeoMap ()
 
virtual DtCellIndirectGeogetEntryFor (const osg::Node *node)
 
virtual const KeyToEntryTypeMapentryMap () const
 
virtual void deleteAllEntries (void)
 
virtual bool keyNodeGettingDeleted (const osg::Node *node)
 
virtual const DtCullShaderConfigcullShaderConfig (void) const
 
virtual int size (void) const
 
virtual void setRegistrarInvalid ()
 
virtual void setName (const std::string &name)
 
virtual const std::string & name (void) const
 

Protected Member Functions

 DtCellToIndirectGeoMap (DtDe &de, const DtCullShaderConfig &cullShaderConfig)
 
virtual DtCellIndirectGeogetEntry (const osg::Node *node)
 
virtual DtCellIndirectGeocreateEntry (const osg::Node *keyNode, const DtCullShaderConfig &cullShaderConfig, bool includeIntersectionGeoInNodePath, const DtIndirectGeometrySubType &geometrySubType, const DtIndirectFadeParameters &fadeParameters)=0
 
virtual void deleteEntries ()
 

Protected Attributes

Threading::Mutex myMutex
 
KeyToEntryTypeMap myKeyToEntryTypeMap
 
DtDemyDe
 
const DtCullShaderConfig myCullShaderConfig
 
std::string myName
 

Private Member Functions

 DtCellToIndirectGeoMap ()=delete
 
 DtCellToIndirectGeoMap (const DtCellToIndirectGeoMap &rhs)=delete
 
DtCellToIndirectGeoMapoperator= (const DtCellToIndirectGeoMap &rhs)=delete
 

Member Typedef Documentation

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

Constructor & Destructor Documentation

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

DTOR.

makVrv::DtCellToIndirectGeoMap::DtCellToIndirectGeoMap ( DtDe de,
const DtCullShaderConfig cullShaderConfig 
)
protected

CTOR. Protected. Only creator an create.

makVrv::DtCellToIndirectGeoMap::DtCellToIndirectGeoMap ( )
privatedelete

not allowed

makVrv::DtCellToIndirectGeoMap::DtCellToIndirectGeoMap ( const DtCellToIndirectGeoMap rhs)
privatedelete

not allowed

Member Function Documentation

DtCellToIndirectGeoMap& makVrv::DtCellToIndirectGeoMap::operator= ( const DtCellToIndirectGeoMap rhs)
privatedelete

not allowed

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

get the cell for this key node. 0 if entry does not exist

virtual const KeyToEntryTypeMap& makVrv::DtCellToIndirectGeoMap::entryMap ( ) const
virtual

get the cell for this key node. 0 if entry does not exist

virtual void makVrv::DtCellToIndirectGeoMap::deleteAllEntries ( void  )
virtual

explicitly delete all cells

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

call back so that we can clean up the corresponding cell returns whether a cell entry was found (and deleted)

virtual void makVrv::DtCellToIndirectGeoMap::setName ( const std::string &  name)
virtual

set/get the name

virtual const std::string& makVrv::DtCellToIndirectGeoMap::name ( void  ) const
virtual

set/get the name

virtual const DtCullShaderConfig& makVrv::DtCellToIndirectGeoMap::cullShaderConfig ( void  ) const
virtual

access the cull shader config. const version

virtual int makVrv::DtCellToIndirectGeoMap::size ( void  ) const
virtual

num of cells

virtual void makVrv::DtCellToIndirectGeoMap::setRegistrarInvalid ( )
virtual

set registrar invalid. need this for scenarios when registrar is deleted before nodes/entries for the map get a chance to be deleted (because the registrar is held externally)

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 *  keyNode,
const DtCullShaderConfig cullShaderConfig,
bool  includeIntersectionGeoInNodePath,
const DtIndirectGeometrySubType geometrySubType,
const DtIndirectFadeParameters fadeParameters 
)
protectedpure virtual

internal method to create an entry

Implemented in makVrv::DtCellToGeoSpecificIndirectGeoMap, and makVrv::DtCellToGeoTypicalIndirectGeoMap.

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
const DtCullShaderConfig makVrv::DtCellToIndirectGeoMap::myCullShaderConfig
protected
std::string makVrv::DtCellToIndirectGeoMap::myName
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)