VR-Forces 4.8 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 Attributes
makVrv::DtEffectManager Class Reference

The effect manager provides a way of creating and sharing effects. More...

Public Member Functions

 DtEffectManager (const std::string &dataPath)
 CTOR. More...
 
 ~DtEffectManager ()
 DTOR. More...
 
void releaseResources ()
 Release all resources. More...
 
DtEffectcreateEffect (const std::string &effectName, DtEffectCreator::CreateParameters *params=0) const
 Attempts to create a new effect using the given effect name. More...
 
DtEffectfindSharedEffect (const std::string &effectName, DtEffectCreator::CreateParameters *params=0)
 Attempts to find a shared effect, if the shared effect is not yet created, it will attempt to create the effect. More...
 
void registerEffectCreator (const std::string &effectName, DtEffectCreator *creator)
 Register an effect creator. More...
 

Protected Types

typedef boost::unordered_map
< std::string, DtEffectCreator * > 
CreatorMap
 
typedef boost::unordered_map
< std::string, DtEffect * > 
EffectMap
 

Protected Attributes

CreatorMap myEffectCreators
 
EffectMap mySharedEffects
 
std::string myDataPath
 

Detailed Description

The effect manager provides a way of creating and sharing effects.

Member Typedef Documentation

typedef boost::unordered_map<std::string,DtEffectCreator*> makVrv::DtEffectManager::CreatorMap
protected
typedef boost::unordered_map<std::string,DtEffect*> makVrv::DtEffectManager::EffectMap
protected

Constructor & Destructor Documentation

makVrv::DtEffectManager::DtEffectManager ( const std::string &  dataPath)

CTOR.

makVrv::DtEffectManager::~DtEffectManager ( )

DTOR.

Member Function Documentation

void makVrv::DtEffectManager::releaseResources ( )

Release all resources.

DtEffect* makVrv::DtEffectManager::createEffect ( const std::string &  effectName,
DtEffectCreator::CreateParameters params = 0 
) const

Attempts to create a new effect using the given effect name.

The effect object is not shared, and must be deallocated by the owner.

Returns
NULL if no effect creator for the given effect name is registered.
DtEffect* makVrv::DtEffectManager::findSharedEffect ( const std::string &  effectName,
DtEffectCreator::CreateParameters params = 0 
)

Attempts to find a shared effect, if the shared effect is not yet created, it will attempt to create the effect.

The returned effect is shared and should not be deallocated.

Returns
NULL if no effect creator for the given effect name is registered.
void makVrv::DtEffectManager::registerEffectCreator ( const std::string &  effectName,
DtEffectCreator creator 
)

Register an effect creator.

If an effect creator was previously registered with the same name, it is first deleted.

Member Data Documentation

CreatorMap makVrv::DtEffectManager::myEffectCreators
protected
EffectMap makVrv::DtEffectManager::mySharedEffects
protected
std::string makVrv::DtEffectManager::myDataPath
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)