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

A class to manage multiple DtHeightMapManager(s) (one per camera) More...

Inheritance diagram for makVrv::DtHeightMapSuperManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtHeightMapSuperManager ()
 Destructor. More...
 
virtual void setHeightMapResolution (float metersPerTexel)
 Set the height map resolution for all managers. More...
 
virtual float heightMapResolution () const
 Get the height map resolution that all managers use. More...
 
virtual void deleteAllHeightMapManagers ()
 Delete all the height map managers owned by this super manager. More...
 
virtual int numHeightMapManagers () const
 returns how many height map managers are owned by this supter manager More...
 
virtual bool flushInvalidCameras ()
 delete any height map managers that are associated with osg cameras that are no longer valid More...
 
virtual DtHeightMapManagergetOrCreateHeightMapManager (osg::RenderInfo &renderInfo)
 get or create a new height map manager based on the current camera for this renderInfo More...
 
virtual void addUser ()
 Adds a user to this manager. The user should unregister using removeUser(). More...
 
virtual void removeUser ()
 Removes a user from this manager that was previously added with addUser(). More...
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor. More...
 
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor. More...
 

Static Public Member Functions

static DtHeightMapSuperManagerinstance (DtDe &de)
 

Protected Types

typedef std::map
< osg::observer_ptr
< osg::Camera >
, DtHeightMapManager * > 
MapCamerasToHeightMapManagers
 

Protected Member Functions

 DtHeightMapSuperManager (DtDe &de)
 Constructor. More...
 
virtual void disconnectAllHeightMapManagers (void)
 Ensures that all height map managers are dicconnected from the scene graph. More...
 

Protected Attributes

DtDemyDe
 
MapCamerasToHeightMapManagers myHeightMapManagerMap
 
float myHeightMapResolution
 
osg::ref_ptr< osg::Geode > myHeightMapGeode
 
osg::ref_ptr
< makVrv::DtHeightMapDrawable
myHeightMapDrawable
 
int myUsers
 

Private Member Functions

 DtHeightMapSuperManager ()=delete
 Default Constructor not implemented. More...
 
 DtHeightMapSuperManager (const DtHeightMapSuperManager &other)=delete
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtHeightMapSuperManageroperator= (const DtHeightMapSuperManager &other)=delete
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Detailed Description

A class to manage multiple DtHeightMapManager(s) (one per camera)

In order for heightmaps to be enabled and used, users of this manager should register using addUser(). If there are no active users, then height maps will not be updated. When a user no longer needs height map data, the user should un-register from this manager using removeUser(). See DtTritonDrawable and DtWeatherAreaBlowingSnow for examples of how to register and unregister. Currently, this is a simple reference count.

Member Typedef Documentation

typedef std::map< osg::observer_ptr<osg::Camera>, DtHeightMapManager* > makVrv::DtHeightMapSuperManager::MapCamerasToHeightMapManagers
protected

Constructor & Destructor Documentation

virtual makVrv::DtHeightMapSuperManager::~DtHeightMapSuperManager ( )
virtual

Destructor.

makVrv::DtHeightMapSuperManager::DtHeightMapSuperManager ( DtDe de)
protected

Constructor.

makVrv::DtHeightMapSuperManager::DtHeightMapSuperManager ( )
privatedelete

Default Constructor not implemented.

makVrv::DtHeightMapSuperManager::DtHeightMapSuperManager ( const DtHeightMapSuperManager other)
privatedelete

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

DtHeightMapSuperManager& makVrv::DtHeightMapSuperManager::operator= ( const DtHeightMapSuperManager other)
privatedelete

Assignment Operator Not implemented – Assignment Not Allowed.

static DtHeightMapSuperManager& makVrv::DtHeightMapSuperManager::instance ( DtDe de)
static
virtual void makVrv::DtHeightMapSuperManager::setHeightMapResolution ( float  metersPerTexel)
virtual

Set the height map resolution for all managers.

virtual float makVrv::DtHeightMapSuperManager::heightMapResolution ( ) const
virtual

Get the height map resolution that all managers use.

virtual void makVrv::DtHeightMapSuperManager::deleteAllHeightMapManagers ( )
virtual

Delete all the height map managers owned by this super manager.

virtual int makVrv::DtHeightMapSuperManager::numHeightMapManagers ( ) const
virtual

returns how many height map managers are owned by this supter manager

virtual bool makVrv::DtHeightMapSuperManager::flushInvalidCameras ( )
virtual

delete any height map managers that are associated with osg cameras that are no longer valid

virtual DtHeightMapManager* makVrv::DtHeightMapSuperManager::getOrCreateHeightMapManager ( osg::RenderInfo &  renderInfo)
virtual

get or create a new height map manager based on the current camera for this renderInfo

virtual void makVrv::DtHeightMapSuperManager::addUser ( )
virtual

Adds a user to this manager. The user should unregister using removeUser().

virtual void makVrv::DtHeightMapSuperManager::removeUser ( )
virtual

Removes a user from this manager that was previously added with addUser().

virtual void makVrv::DtHeightMapSuperManager::disconnectAllHeightMapManagers ( void  )
protectedvirtual

Ensures that all height map managers are dicconnected from the scene graph.

Member Data Documentation

DtDe& makVrv::DtHeightMapSuperManager::myDe
protected
MapCamerasToHeightMapManagers makVrv::DtHeightMapSuperManager::myHeightMapManagerMap
protected
float makVrv::DtHeightMapSuperManager::myHeightMapResolution
protected
osg::ref_ptr<osg::Geode> makVrv::DtHeightMapSuperManager::myHeightMapGeode
protected
osg::ref_ptr<makVrv::DtHeightMapDrawable> makVrv::DtHeightMapSuperManager::myHeightMapDrawable
protected
int makVrv::DtHeightMapSuperManager::myUsers
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)