VR-Forces 5.0.3 Developer's Guide
 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)

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.

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

Public Member Functions

virtual ~DtHeightMapSuperManager ()
 
virtual void setHeightMapResolution (float metersPerTexel)
 
virtual float heightMapResolution () const
 
virtual void deleteAllHeightMapManagers ()
 
virtual int numHeightMapManagers () const
 
virtual bool flushInvalidCameras ()
 
virtual DtHeightMapManagergetOrCreateHeightMapManager (osg::RenderInfo &renderInfo)
 
virtual void addUser ()
 
virtual void removeUser ()
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

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)
 
virtual void disconnectAllHeightMapManagers (void)
 

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
 
 DtHeightMapSuperManager (const DtHeightMapSuperManager &other)=delete
 
DtHeightMapSuperManageroperator= (const DtHeightMapSuperManager &other)=delete
 

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 Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)