#include <TransformFactory.h>
Inheritance diagram for TransformFactory:
Definition at line 28 of file TransformFactory.h.
Public Member Functions | |
void | add (TransformBase *) |
Adds a prototype object to the list of prototypes. | |
TransformBase * | create (const std::string &name) |
Creates a new object from a prototype named name. | |
TransformBase * | createTransform (const std::string &name) |
TransformBase * | createXYZ (const std::string &x_trans, const std::string &y_trans, const std::string &z_trans) |
Creates an XYZTransform object from independent X, Y and Z transforms designated by the 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. | |
TransformBase * | 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. | |
Static Public Member Functions | |
static TransformFactory * | instance () |
Returns a pointer to the singleton instance. | |
Protected Attributes | |
std::vector< std::string > | m_names |
The list of available types by names. | |
std::map< std::string, TransformBase * > | m_types |
A list of available types. | |
Private Member Functions | |
TransformBase * | createXY (const std::string &x_trans, const std::string &y_trans, const std::string &z_trans) |
Creates an XYTransform object from independent X, Y and Z transforms designated by the names. | |
void | initialize () |
Initialize the factory with a set of default Transforms. | |
TransformFactory () | |
A default constructor for prevent creation except by itself. | |
TransformFactory (const TransformFactory &) | |
A private copy constructor to prevent copying. | |
Static Private Attributes | |
static TransformFactory * | s_instance = 0 |
A pointer to the singleton object. |
TransformFactory | ( | const TransformFactory & | ) | [private] |
A private copy constructor to prevent copying.
TransformFactory | ( | ) | [private] |
A default constructor for prevent creation except by itself.
Definition at line 63 of file TransformFactory.cxx.
Referenced by TransformFactory::instance().
void add | ( | TransformBase * | ) | [inherited] |
Adds a prototype object to the list of prototypes.
TransformBase * 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.
TransformBase * createTransform | ( | const std::string & | name | ) |
If the name contains a non-alphanumeric character, then an XYTransform is cnstructed by parsing the two alphanumeric parts of the name as names of UnaryTransform names.
Note that this functions name differs from the other Factory function nams becasue I (pfkeb) couldn't figure out how to override the function and yet be able to call the base class function.
Definition at line 111 of file TransformFactory.cxx.
References TransformBase::clone(), TransformFactory::createXY(), and Factory< TransformBase >::prototype().
Referenced by CompositePlotter::CompositePlotter(), TransformXML::createObject(), CompositePlotter::setFitsTransform(), DisplayController::setLog(), and DisplayController::setTransform().
TransformBase * createXY | ( | const std::string & | x_trans, | |
const std::string & | y_trans, | |||
const std::string & | z_trans | |||
) | [private] |
Creates an XYTransform object from independent X, Y and Z transforms designated by the names.
Definition at line 141 of file TransformFactory.cxx.
References UnaryTransform::clone(), and Factory< TransformBase >::prototype().
Referenced by TransformFactory::createTransform().
TransformBase * createXYZ | ( | const std::string & | x_trans, | |
const std::string & | y_trans, | |||
const std::string & | z_trans | |||
) |
Creates an XYZTransform object from independent X, Y and Z transforms designated by the name.
Definition at line 175 of file TransformFactory.cxx.
References UnaryTransform::clone(), and Factory< TransformBase >::prototype().
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] |
Initialize the factory with a set of default Transforms.
Definition at line 76 of file TransformFactory.cxx.
Referenced by TransformFactory::instance().
TransformFactory * instance | ( | ) | [static] |
Returns a pointer to the singleton instance.
Definition at line 67 of file TransformFactory.cxx.
References TransformFactory::initialize(), TransformFactory::s_instance, and TransformFactory::TransformFactory().
Referenced by CompositePlotter::CompositePlotter(), TransformXML::createObject(), CompositePlotter::setFitsTransform(), DisplayController::setLog(), and DisplayController::setTransform().
const std::vector< std::string >& names | ( | ) | const [inherited] |
Returns the list of available prototype names.
TransformBase * 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.
Referenced by TransformFactory::createTransform(), TransformFactory::createXY(), and TransformFactory::createXYZ().
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, TransformBase * > m_types [protected, inherited] |
TransformFactory * s_instance = 0 [static, private] |
A pointer to the singleton object.
Definition at line 34 of file TransformFactory.h.
Referenced by TransformFactory::instance().