![]() |
VR-Forces 5.0.1 Developer's Guide
|
A factory for DtElement's.

Public Types | |
| using | CreatorMap = std::unordered_map< std::string, DtElementCreator * > |
Public Member Functions | |
| virtual | ~DtElementFactory () |
| const CreatorMap & | creators () const |
| virtual void | addElementCreator (DtDe &de, DtElementCreator *creator) |
| DtElement * | createElement (DtElementEntry::ElementType type, DtBaseConnection &connection, DtStateListener &listener, const std::string &tag) |
Public Member Functions inherited from makVrv::DtVirtualBaseClass | |
| DtVirtualBaseClass () | |
| virtual | ~DtVirtualBaseClass () |
Protected Member Functions | |
| DtElementFactory () | |
Protected Attributes | |
| CreatorMap | myCreatorMap |
| DtElementFactory (const DtElementFactory &rhs) | |
| DtElementFactory & | operator= (const DtElementFactory &rhs) |
| virtual DtElementFactory * | clone () |
| static DtElementFactory & | instance (DtDe &de) |
| static DtElementFactory & | instance (DtBaseConnection &con) |
| static void | copyInstance (DtBaseConnection &con, DtDe &de) |
| using makVrv::DtElementFactory::CreatorMap = std::unordered_map<std::string, DtElementCreator*> |
The key is the DtElementEntry::ElementType + creator->tag() Maps ElementType to creators.
|
virtual |
DTOR.
| makVrv::DtElementFactory::DtElementFactory | ( | const DtElementFactory & | rhs | ) |
Instance accessors and copiersCopy CTOR; deep copies contents.
|
protected |
Default CTOR - protected - use instance.
| DtElementFactory& makVrv::DtElementFactory::operator= | ( | const DtElementFactory & | rhs | ) |
Assignment; deep copies contents.
|
static |
Get the instance of the factory from its owner de.
|
static |
Get the instance of the factory from its owner base connection.
|
virtual |
Clone function so derived classes can be used with copyInstance.
|
static |
Create a new instance for the DtBaseConnection which is a copy of the DtDe instance.
| const CreatorMap& makVrv::DtElementFactory::creators | ( | ) | const |
Get the creators.
|
virtual |
Add element creator.
| DtElement* makVrv::DtElementFactory::createElement | ( | DtElementEntry::ElementType | type, |
| DtBaseConnection & | connection, | ||
| DtStateListener & | listener, | ||
| const std::string & | tag | ||
| ) |
Create an element Tag is a separate param and not pulled from the connection because there are Elements that do not have tagged (network) types.
|
protected |