#include <DataRepFactory.h>
They can be looked up by their advertised name. New objects are created by cloning existing ones.
Definition at line 25 of file DataRepFactory.h.
Public Member Functions | |
void | add (hippodraw::DataRep *) |
Adds a prototype object to the list of prototypes. | |
hippodraw::DataRep * | create (const std::string &name) |
Creates a new object from a prototype named name. | |
bool | exists (const std::string &name) const |
Returns true if prototype with name name exists in the factory, otherwise returns false. | |
const std::vector < std::string > & | names () const |
Returns the list of available prototype names. | |
hippodraw::DataRep * | prototype (const std::string &name) const |
Returns a pointer to a prototype with name name. | |
void | remove (const std::string &name) |
Removes the named prototype object from the list of prototypes. | |
~DataRepFactory () | |
The destructor. | |
Static Public Member Functions | |
static DataRepFactory * | instance () |
Returns the pointer to the singleton instance. | |
Protected Member Functions | |
DataRepFactory () | |
The default constructor for avoiding creation except by itself or with derived classes. | |
Protected Attributes | |
std::vector < std::string > | m_names |
The list of available types by names. | |
std::map < std::string, hippodraw::DataRep * > | m_types |
A list of available types. | |
Private Member Functions | |
DataRepFactory (const DataRepFactory &) | |
A private copy constructor to avoid copying. | |
void | initialize () |
Initializes the factory with a set of default DataReps. | |
Static Private Attributes | |
static DataRepFactory * | s_instance = 0 |
The pointer to the singleton object. |
DataRepFactory | ( | const DataRepFactory & | ) | [private] |
A private copy constructor to avoid copying.
DataRepFactory | ( | ) | [protected] |
The default constructor for avoiding creation except by itself or with derived classes.
Definition at line 42 of file DataRepFactory.cxx.
Referenced by DataRepFactory::instance().
~DataRepFactory | ( | ) |
void add | ( | hippodraw::DataRep * | ) | [inherited] |
Adds a prototype object to the list of prototypes.
hippodraw::DataRep * create | ( | const std::string & | name | ) | [inherited] |
Creates a new object from a prototype named name.
If found, returns a new object by invoking the clone() member function of the prototype. If not found, throws a FactoryException object with the name not found.
bool exists | ( | const std::string & | name | ) | const [inherited] |
Returns true if prototype with name name exists in the factory, otherwise returns false.
void initialize | ( | ) | [private] |
Initializes the factory with a set of default DataReps.
Definition at line 61 of file DataRepFactory.cxx.
Referenced by DataRepFactory::instance().
DataRepFactory * instance | ( | ) | [static] |
Returns the pointer to the singleton instance.
Definition at line 51 of file DataRepFactory.cxx.
References DataRepFactory::DataRepFactory(), DataRepFactory::initialize(), and DataRepFactory::s_instance.
Referenced by DisplayController::bindingOptions(), DataRepController::bindingOptions(), DataRepController::createDataRep(), DisplayController::createDisplay(), DisplayController::getDisplayTypes(), DisplayController::isCompatible(), DataRepController::names(), and DataRepController::~DataRepController().
const std::vector< std::string >& names | ( | ) | const [inherited] |
Returns the list of available prototype names.
hippodraw::DataRep * prototype | ( | const std::string & | name | ) | const [inherited] |
Returns a pointer to a prototype with name name.
If a prototype with name doesn't exit, throws a FactoryException object with the name not found.
void remove | ( | const std::string & | name | ) | [inherited] |
Removes the named prototype object from the list of prototypes.
std::vector< std::string > m_names [mutable, protected, inherited] |
std::map< std::string, hippodraw::DataRep * > m_types [protected, inherited] |
DataRepFactory * s_instance = 0 [static, private] |
The pointer to the singleton object.
Definition at line 32 of file DataRepFactory.h.
Referenced by DataRepFactory::instance().