|
OOPS
|
#include <ModelBase.h>

Public Member Functions | |
| virtual | ~ModelFactory ()=default |
Static Public Member Functions | |
| static ModelBase< MODEL > * | create (const Geometry_ &, const ModelParametersBase ¶meters) |
| Create and return a new model. More... | |
| static std::unique_ptr< ModelParametersBase > | createParameters (const std::string &name) |
| Create and return an instance of the subclass of ModelParametersBase storing parameters of models of the specified type. More... | |
| static std::vector< std::string > | getMakerNames () |
| Return the names of all models that can be created by one of the registered makers. More... | |
Protected Member Functions | |
| ModelFactory (const std::string &name) | |
Register a maker able to create models of type name. More... | |
Private Types | |
| typedef Geometry< MODEL > | Geometry_ |
Private Member Functions | |
| virtual ModelBase< MODEL > * | make (const Geometry_ &, const ModelParametersBase &)=0 |
| virtual std::unique_ptr< ModelParametersBase > | makeParameters () const =0 |
Static Private Member Functions | |
| static std::map< std::string, ModelFactory< MODEL > * > & | getMakers () |
Model factory.
Definition at line 146 of file generic/ModelBase.h.
|
private |
Definition at line 147 of file generic/ModelBase.h.
|
virtualdefault |
|
explicitprotected |
Register a maker able to create models of type name.
Definition at line 216 of file generic/ModelBase.h.
|
static |
Create and return a new model.
The model's type is determined by the name attribute of parameters. parameters must be an instance of the subclass of ModelParametersBase associated with that model type, otherwise an exception will be thrown.
Definition at line 226 of file generic/ModelBase.h.
|
static |
Create and return an instance of the subclass of ModelParametersBase storing parameters of models of the specified type.
Definition at line 243 of file generic/ModelBase.h.
|
inlinestatic |
Return the names of all models that can be created by one of the registered makers.
Definition at line 163 of file generic/ModelBase.h.

|
inlinestaticprivate |
|
privatepure virtual |
Implemented in oops::interface::ModelMaker< MODEL, T >, and oops::ModelMaker< MODEL, T >.
|
privatepure virtual |
Implemented in oops::interface::ModelMaker< MODEL, T >, and oops::ModelMaker< MODEL, T >.