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 | Static Public Member Functions | Protected Attributes
makVrv::DtStateVisualizerFactory Class Reference

A factory for DtStateVisualizer's.

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

Public Types

typedef boost::unordered_map
< std::string, const
DtStateVisualizer::TypeInfo * > 
TypeInfoMap
 
typedef boost::unordered_map
< std::string,
DtStateVisualizerCreator * > 
CreatorMap
 
typedef std::vector< std::pair
< std::string, DtUnicode > > 
FunctionalNameScreenNameList
 
typedef std::set< std::string > CreatorNameSet
 

Public Member Functions

 DtStateVisualizerFactory ()
 
virtual ~DtStateVisualizerFactory ()
 
 DtStateVisualizerFactory (const DtStateVisualizerFactory &rhs)
 
DtStateVisualizerFactoryoperator= (const DtStateVisualizerFactory &rhs)
 
virtual DtStateVisualizerFactoryclone ()
 
virtual void addStateVisualizerCreator (DtDe &de, DtStateVisualizerCreator *creator)
 
DtStateVisualizercreateStateVisualizer (const std::string &creatorName, const std::string &tag, DtBaseConnection &simulation, DtStateListener &listener, DtSceneObjectAgent *sceneObject, DtModelSetId modelSet, DtStateVisualizer::Type=DtStateVisualizer::AllVisualizerTypes) const
 
const CreatorMapcreators () const
 
const DtStateVisualizerCreatorfindCreator (const std::string &creatorName, const std::string &tag) const
 
virtual bool visualizerSupportsType (const std::string &visualizer, DtStateVisualizer::Type) const
 
virtual void getCreatorNames (std::set< std::string > &names) const
 
virtual const
DtStateVisualizer::TypeInfo
findTypeInfo (const std::string &functionalTypeName) const
 
virtual void findFunctionalNameWhichSupportSchema (const std::string &schema, DtStateVisualizer::Type type, FunctionalNameScreenNameList &functionalNames) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtStateVisualizerFactoryinstance (DtDe &de)
 
static DtStateVisualizerFactoryinstance (DtBaseConnection &con)
 
static void copyInstance (DtBaseConnection &con, DtDe &de)
 
static DtStateVisualizer::Type elementDefinitionTypeToVisualizerType (DtElementDefinitionTypeManager::ElementDefinitionType type)
 

Protected Attributes

TypeInfoMap myTypeInfoMap
 
CreatorMap myCreators
 

Member Typedef Documentation

typedef boost::unordered_map<std::string, const DtStateVisualizer::TypeInfo*> makVrv::DtStateVisualizerFactory::TypeInfoMap

Maps functional type names to type metadata.

typedef boost::unordered_map<std::string, DtStateVisualizerCreator*> makVrv::DtStateVisualizerFactory::CreatorMap

Maps functional type names + tags to creators.

typedef std::vector<std::pair<std::string, DtUnicode> > makVrv::DtStateVisualizerFactory::FunctionalNameScreenNameList
typedef std::set<std::string> makVrv::DtStateVisualizerFactory::CreatorNameSet

Set of creator names.

Constructor & Destructor Documentation

makVrv::DtStateVisualizerFactory::DtStateVisualizerFactory ( )

Default CTOR.

virtual makVrv::DtStateVisualizerFactory::~DtStateVisualizerFactory ( )
virtual

DTOR.

makVrv::DtStateVisualizerFactory::DtStateVisualizerFactory ( const DtStateVisualizerFactory rhs)

Copy CTOR; deep copies contents.

Member Function Documentation

DtStateVisualizerFactory& makVrv::DtStateVisualizerFactory::operator= ( const DtStateVisualizerFactory rhs)

Assignment; deep copies contents.

static DtStateVisualizerFactory& makVrv::DtStateVisualizerFactory::instance ( DtDe de)
static

Get the instance of the factory from its owner de.

static DtStateVisualizerFactory& makVrv::DtStateVisualizerFactory::instance ( DtBaseConnection con)
static

Get the instance of the factory from its owner base connection.

virtual DtStateVisualizerFactory* makVrv::DtStateVisualizerFactory::clone ( )
virtual

Clone function so derived classes can be used with copyInstance.

static void makVrv::DtStateVisualizerFactory::copyInstance ( DtBaseConnection con,
DtDe de 
)
static

Create a new instance for the DtBaseConnection which is a copy of the DtDe instance.

virtual void makVrv::DtStateVisualizerFactory::addStateVisualizerCreator ( DtDe de,
DtStateVisualizerCreator creator 
)
virtual

Add a state visualizer creator. For each creator type, you must add an untagged version before adding any tagged versions. See exampleBulletHole for an example of this.

DtStateVisualizer* makVrv::DtStateVisualizerFactory::createStateVisualizer ( const std::string &  creatorName,
const std::string &  tag,
DtBaseConnection simulation,
DtStateListener listener,
DtSceneObjectAgent *  sceneObject,
DtModelSetId  modelSet,
DtStateVisualizer::Type  = DtStateVisualizer::AllVisualizerTypes 
) const

Create a host StateVisualizer. Will check the state visualizer type (if given) to make sure the creator will be of the appropriate type. If it is not, unknown state visualizer will be returned.

const CreatorMap& makVrv::DtStateVisualizerFactory::creators ( ) const

Get the creators.

const DtStateVisualizerCreator* makVrv::DtStateVisualizerFactory::findCreator ( const std::string &  creatorName,
const std::string &  tag 
) const

Find the specified creator; returns 0 if not found.

virtual bool makVrv::DtStateVisualizerFactory::visualizerSupportsType ( const std::string &  visualizer,
DtStateVisualizer::Type   
) const
virtual

Returns true if the visualizer supports the visualizer type. Will look up the creator in the factor map, and, if it exists, return whether or not that type supports the supplied type. If no creator exists, false is returned in all cases.

virtual void makVrv::DtStateVisualizerFactory::getCreatorNames ( std::set< std::string > &  names) const
virtual

Returns a set of all creator names in the factory, disregarding tags. This should be used for getting meta-information about visualizers.

virtual const DtStateVisualizer::TypeInfo* makVrv::DtStateVisualizerFactory::findTypeInfo ( const std::string &  functionalTypeName) const
virtual

Returns metadata for the specified functional type returns 0 if no creator for the specified type has been registered yet.

virtual void makVrv::DtStateVisualizerFactory::findFunctionalNameWhichSupportSchema ( const std::string &  schema,
DtStateVisualizer::Type  type,
FunctionalNameScreenNameList functionalNames 
) const
virtual

Returns a list of functional type names.

static DtStateVisualizer::Type makVrv::DtStateVisualizerFactory::elementDefinitionTypeToVisualizerType ( DtElementDefinitionTypeManager::ElementDefinitionType  type)
static

Utility function for converting from an element definition type to a state visualizer type.

Member Data Documentation

TypeInfoMap makVrv::DtStateVisualizerFactory::myTypeInfoMap
protected
CreatorMap makVrv::DtStateVisualizerFactory::myCreators
protected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)