OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::ModuleManager< M > Class Template Referenceabstract

Class representing and implementing ModuleManager. More...

#include <modulemanager.h>

+ Collaboration diagram for oofem::ModuleManager< M >:

Public Member Functions

 ModuleManager (EngngModel *emodel)
 
virtual ~ModuleManager ()
 
 ModuleManager (const ModuleManager &)=delete
 
ModuleManageroperator= (const ModuleManager &)=delete
 
virtual M * CreateModule (const char *name, int n, EngngModel *emodel)=0
 Creates new instance of module. More...
 
virtual int instanciateYourself (DataReader &dr, InputRecord *ir)
 Reads receiver description from input stream and creates corresponding modules components accordingly. More...
 
virtual IRResultType initializeFrom (InputRecord *ir)=0
 Instanciates the receiver from input record. More...
 
virtual const char * giveClassName () const =0
 Returns class name of the receiver. More...
 
M * giveModule (int num)
 Returns the required module. More...
 
int giveNumberOfModules () const
 

Protected Attributes

std::vector< std::unique_ptr< M > > moduleList
 Module list. More...
 
int numberOfModules
 Number of modules. More...
 
EngngModelemodel
 Associated Engineering model. More...
 

Detailed Description

template<class M>
class oofem::ModuleManager< M >

Class representing and implementing ModuleManager.

It is attribute of EngngModel. It manages the modules of given type.

Definition at line 57 of file modulemanager.h.

Constructor & Destructor Documentation

template<class M>
oofem::ModuleManager< M >::ModuleManager ( EngngModel emodel)
inline

Definition at line 68 of file modulemanager.h.

template<class M>
virtual oofem::ModuleManager< M >::~ModuleManager ( )
inlinevirtual

Definition at line 72 of file modulemanager.h.

template<class M>
oofem::ModuleManager< M >::ModuleManager ( const ModuleManager< M > &  )
delete

Member Function Documentation

template<class M>
virtual M* oofem::ModuleManager< M >::CreateModule ( const char *  name,
int  n,
EngngModel emodel 
)
pure virtual

Creates new instance of module.

Parameters
nameName of module.
nNumber associated with module.
emodelEngineering model which receiver belongs to.

Implemented in oofem::ExportModuleManager, and oofem::InitModuleManager.

template<class M>
virtual const char* oofem::ModuleManager< M >::giveClassName ( ) const
pure virtual

Returns class name of the receiver.

Implemented in oofem::ExportModuleManager, and oofem::InitModuleManager.

template<class M>
M* oofem::ModuleManager< M >::giveModule ( int  num)
inline

Returns the required module.

Parameters
numModule number.

Definition at line 137 of file modulemanager.h.

template<class M>
int oofem::ModuleManager< M >::giveNumberOfModules ( ) const
inline

Definition at line 149 of file modulemanager.h.

template<class M>
virtual IRResultType oofem::ModuleManager< M >::initializeFrom ( InputRecord ir)
pure virtual

Instanciates the receiver from input record.

Called from instanciateYourself to initialize yourself from corresponding record. Should be called before instanciateYourself.

Implemented in oofem::InitModuleManager, and oofem::ExportModuleManager.

template<class M>
virtual int oofem::ModuleManager< M >::instanciateYourself ( DataReader dr,
InputRecord ir 
)
inlinevirtual

Reads receiver description from input stream and creates corresponding modules components accordingly.

It scans input file, each line is assumed to be single record describing particular module. The record line is converted to lowercase letters. After new output module object is created, its initializeForm member function is called with its record as parameter.

Parameters
drData reader for input records.
irRecord for receiver.
Returns
Nonzero if o.k.

Definition at line 94 of file modulemanager.h.

Referenced by oofem::EngngModel::instanciateYourself().

template<class M>
ModuleManager& oofem::ModuleManager< M >::operator= ( const ModuleManager< M > &  )
delete

Member Data Documentation

template<class M>
EngngModel* oofem::ModuleManager< M >::emodel
protected

Associated Engineering model.

Definition at line 65 of file modulemanager.h.

template<class M>
std :: vector< std :: unique_ptr< M > > oofem::ModuleManager< M >::moduleList
protected

Module list.

Definition at line 61 of file modulemanager.h.

template<class M>
int oofem::ModuleManager< M >::numberOfModules
protected

Number of modules.

Definition at line 63 of file modulemanager.h.


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

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:38 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011