#include <Model.hpp>
Collaboration diagram for libecs::Model:

Public Member Functions | |
| void | initialize () |
| Initialize the whole model. | |
| void | step () |
| Conduct a step of the simulation. | |
| const StepperEvent & | getTopEvent () const |
| Get the next event to occur on the scheduler. | |
| const Real | getCurrentTime () const |
| Returns the current time. | |
| const StepperPtr | getLastStepper () const |
| PolymorphMap | getClassInfo (StringCref aClassType, StringCref aClassname, Integer forceReload) |
| Creates a new Entity object and register it in an appropriate System in the Model. | |
| void | createEntity (StringCref aClassname, FullIDCref aFullID) |
| Creates a new Entity object and register it in an appropriate System in the Model. | |
| EntityPtr | getEntity (FullIDCref aFullID) const |
| This method finds an Entity object pointed by the FullID. | |
| SystemPtr | getSystem (SystemPathCref aSystemPath) const |
| This method finds a System object pointed by the SystemPath. | |
| void | createStepper (StringCref aClassname, StringCref anID) |
| Create a stepper with an ID and a classname. | |
| StepperPtr | getStepper (StringCref anID) const |
| Get a stepper by an ID. | |
| StepperMapCref | getStepperMap () const |
| Get the StepperMap of this Model. | |
| void | flushLoggers () |
| Flush the data in all Loggers immediately. | |
| SystemPtr | getRootSystem () const |
| Get the RootSystem. | |
| SystemStepperPtr | getSystemStepper () const |
| LoggerBrokerRef | getLoggerBroker () const |
| Get the LoggerBroker. | |
| StepperEventScheduler & | getScheduler () |
| StepperMakerRef | getStepperMaker () |
| ProcessMakerRef | getProcessMaker () |
| VariableMakerRef | getVariableMaker () |
| SystemMakerRef | getSystemMaker () |
Protected Types | |
| typedef EventScheduler< StepperEvent > | StepperEventScheduler |
| typedef StepperEventScheduler::EventIndex | EventIndex |
Model has a list of Steppers and a pointer to the root system.
|
||||||||||||
|
Creates a new Entity object and register it in an appropriate System in the Model.
|
|
||||||||||||
|
Create a stepper with an ID and a classname.
|
|
|
Flush the data in all Loggers immediately. Usually Loggers record data with logging intervals. This method orders every Logger to write the data immediately ignoring the logging interval. |
|
||||||||||||||||
|
Creates a new Entity object and register it in an appropriate System in the Model.
|
|
|
Returns the current time.
|
|
|
This method finds an Entity object pointed by the FullID.
|
|
|
Get the LoggerBroker.
|
|
|
For internal use only.
|
|
|
Get the RootSystem.
|
|
|
Get a stepper by an ID.
|
|
|
For internal use only.
|
|
|
Get the StepperMap of this Model.
|
|
|
This method finds a System object pointed by the SystemPath.
|
|
|
For internal use only.
|
|
|
For internal use only.
|
|
|
Initialize the whole model. This method must be called before running the model, and when structure of the model is changed. Procedure of the initialization is as follows: 1. Initialize Systems recursively starting from theRootSystem. ( System::initialize() ) 2. Check if all the Systems have a Stepper each. 3. Initialize Steppers. ( Stepper::initialize() ) 4. Construct Stepper interdependency graph ( Stepper::updateDependentStepperVector() )
|
|
|
Conduct a step of the simulation.
|
1.4.6