VR-Forces 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 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 int numHeightMapManagers () const
 
virtual osg::View * getCurrentView (osg::RenderInfo &renderInfo)
 
virtual osg::Camera * getViewMainCamera (osg::View *view)
 
virtual DtHeightMapManagerfindHeightMapCamera (osg::RenderInfo &renderInfo)
 
virtual const DtUniqueID addUser (const char *userName)
 
virtual void removeUser (const DtUniqueID handle)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtHeightMapSuperManagerinstance (DtDe &de)
 

Protected Member Functions

 DtHeightMapSuperManager (DtDe &de)
 
virtual void enableHeightMapManagers (bool enable)
 
virtual void slot_channelCreated (DtChannelManager *channelManager, DtChannel *channel)
 
virtual void slot_channelToBeDestroyed (DtChannelManager *channelManager, DtChannel *channel)
 

Protected Attributes

DtDemyDe
 
osg::ref_ptr< osg::Geode > myHeightMapGeode
 
osg::ref_ptr
< makVrv::DtHeightMapDrawable
myHeightMapDrawable
 
std::map< DtUniqueID, std::string > myUsersMap
 
DtUniqueID myNextUserUniqueHandle
 
DtSignalConnectionManager myConnections
 
DtThreadCameraStreamDataManagerBasemyTcsDataManager = nullptr
 
DtHeightMapManagerCreatormyHeightMapManagerCreator
 

Private Member Functions

 DtHeightMapSuperManager ()=delete
 
 DtHeightMapSuperManager (const DtHeightMapSuperManager &other)=delete
 
DtHeightMapSuperManageroperator= (const DtHeightMapSuperManager &other)=delete
 

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 int makVrv::DtHeightMapSuperManager::numHeightMapManagers ( ) const
virtual

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

virtual osg::View* makVrv::DtHeightMapSuperManager::getCurrentView ( osg::RenderInfo &  renderInfo)
virtual

Extracts the current view from the given RenderInfo that should be associated with a heightmap.

virtual osg::Camera* makVrv::DtHeightMapSuperManager::getViewMainCamera ( osg::View *  view)
virtual

returns the main camera associated with the given RenderInfo view

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

find the height map manager based on the current camera for this renderInfo

virtual const DtUniqueID makVrv::DtHeightMapSuperManager::addUser ( const char userName)
virtual

Adds a user to this manager. While users are active, the manager will generate/process heightmaps for cameras. A handle id > 0 is returned from this method and the user should unregister using removeUser(handle) when no longer needed. param userName - a name used when reporting errors, useful for debugging returns a handle that should be freed with removeUser when no longer needed.

virtual void makVrv::DtHeightMapSuperManager::removeUser ( const DtUniqueID  handle)
virtual

Removes a user from this manager that was previously added with addUser(). param handle - the handle returned from the call to addUser()

virtual void makVrv::DtHeightMapSuperManager::enableHeightMapManagers ( bool  enable)
protectedvirtual

Ensures that all height map managers are enabled/disabled from the scene graph.

virtual void makVrv::DtHeightMapSuperManager::slot_channelCreated ( DtChannelManager channelManager,
DtChannel channel 
)
protectedvirtual

creates height map camera for the channel (scene camera) just created

virtual void makVrv::DtHeightMapSuperManager::slot_channelToBeDestroyed ( DtChannelManager channelManager,
DtChannel channel 
)
protectedvirtual

destroys height map camera for the channel (scene camera) to be deleted

Member Data Documentation

DtDe& makVrv::DtHeightMapSuperManager::myDe
protected
osg::ref_ptr<osg::Geode> makVrv::DtHeightMapSuperManager::myHeightMapGeode
protected
osg::ref_ptr<makVrv::DtHeightMapDrawable> makVrv::DtHeightMapSuperManager::myHeightMapDrawable
protected
std::map<DtUniqueID, std::string> makVrv::DtHeightMapSuperManager::myUsersMap
protected
DtUniqueID makVrv::DtHeightMapSuperManager::myNextUserUniqueHandle
protected
DtSignalConnectionManager makVrv::DtHeightMapSuperManager::myConnections
protected
DtThreadCameraStreamDataManagerBase* makVrv::DtHeightMapSuperManager::myTcsDataManager = nullptr
protected
DtHeightMapManagerCreator& makVrv::DtHeightMapSuperManager::myHeightMapManagerCreator
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)