|
SimulationChain
|
#include <SimNode.h>


Public Member Functions | |
| CSimNode (int nID=0, ObjType Type=simobject, std::string const &sName=std::string("node")) | |
| Constructs the base abstract class for simulation object handling. More... | |
| double | Simulate (double dInput) override=0 |
| Outputs one step of the simualtion given one sample of the input. More... | |
| void | GetOutputHistory (std::vector< double > &vHist) const override |
| Outputs all output samples recorded by far. More... | |
| void | EraseOutputHistory () override |
| Deletes all recorded samples of output. More... | |
| virtual void | SetOutputHistory (std::vector< double > &vHist) override |
| Set output history. More... | |
| virtual void | SetInputHistory (std::vector< double > &vHist) override |
| Set input history. More... | |
| void | SaveState (boost::property_tree::ptree &pt) const override=0 |
| Adds internal object state data to the stream object. More... | |
| void | LoadState (boost::property_tree::ptree::value_type const &v) override=0 |
| Load internal object state data from tree. Each object manages the data itself. More... | |
| void | SetID (int nID=0) override |
| Enables user to set an ID of the object. User must ensure that the name is unique. More... | |
| int | GetID () const override |
| Fetches object's ID. More... | |
| void | SetName (std::string &sName) override |
| Registers a name with the object. User must ensure that the name is unique. More... | |
| const std::string & | GetName () const override |
| Fetches object's name. More... | |
| void | GetName (boost::property_tree::ptree &nameTree) const override |
| Builds a tree containing names and types of all children nodes. More... | |
| void | SetParent (ISISO *Parent) override |
| Sets object's parent. There can be only one parent of the same object. More... | |
| ISISO * | GetParent () override |
| Fetches object's parent pointer. More... | |
| void | AddChild (std::shared_ptr< ISISO > Child) override |
| Allows adding children to the object. More... | |
| void | RemoveChild (std::shared_ptr< ISISO > Child) |
| Removes a child of the object. More... | |
| void | GetChildren (std::list< std::weak_ptr< ISISO > > &lChildren) const override |
| Fetches the list of object's children. More... | |
| bool | RemoveObject (int nID) override |
| Allows to remove the object. Function searches all the children of the object. More... | |
| ISISO * | SearchObject (const std::string &s) override |
| Searches all the children of the object to find object with the specified name. More... | |
| ISISO * | FindFirstRegulator () override |
| Searches the tree for the first regulator object. | |
| ObjType | GetType () const override |
| Retrive object functional type. More... | |
| void | SetType (ObjType Type) override |
| Set object functional type. More... | |
| void | SetStreamForOutput (std::shared_ptr< std::ostream > oStream) override |
| Set the output stream for object output values. More... | |
| void | SetVariableToStoreCurrentOutput (std::weak_ptr< double > dOutVal) |
| Set the variable to store the current output value. More... | |
| void | SetVariableToStoreCurrentInput (std::weak_ptr< double > dInVal) |
| Set the variable to store the current input value. More... | |
| void | RemoveStreamForOutput () override |
| Disable the output stream for objects input values. More... | |
| bool | MoveObjectToFront (ISISO *FrontObject) override |
| Move object to the front so it can be run first. More... | |
| void | ResetMemory () override |
| Resets objects memory (reset generators if present). More... | |
Protected Attributes | |
| int | m_nID |
| Objects unique ID. | |
| std::string | m_sName |
| Objects unique name. | |
| CHistorian | m_OutputHistory |
| Output sample history. | |
| CHistorian | m_InputHistory |
| Input sample history. | |
|
std::list< std::shared_ptr < ISISO > > | m_lChildren |
| List of children. | |
| ISISO * | m_Parent |
| Pointer to parent. | |
| ObjType | m_Type |
| Objects type. | |
| std::shared_ptr< std::ostream > | m_oStream |
| Output stream. | |
| std::weak_ptr< double > | m_dOutVal |
| Pointer to variable storing last output value. | |
| std::weak_ptr< double > | m_dInVal |
| Pointer to variable storing last input value. | |
Class implements a common functionality of simulation objects and a composite design pattern to inherit futher.
| CSimNode::CSimNode | ( | int | nID = 0, |
| ObjType | Type = simobject, |
||
| std::string const & | sName = std::string("node") |
||
| ) |
Constructs the base abstract class for simulation object handling.
| [in] | nID | Proposed ID for object. Given 0 next viable id will be found automaticly. |
| [in] | Type | Type of the object. |
| [in] | sName | Proposed name to register. |
DEBUG

|
overridevirtual |
Allows adding children to the object.
| [in] | Child | Adds the given child. |
prevent setting an object its own child
Implements ISISO.
|
inlineoverridevirtual |
Deletes all recorded samples of output.
Implements ISISO.
|
overridevirtual |
Fetches the list of object's children.
| [out] | lChildren | Pointes to all the children from the object as a list. |
Implements ISISO.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Fetches object's name.
Implements ISISO.

|
overridevirtual |
Builds a tree containing names and types of all children nodes.
| [out] | nameTree | Builds tree containing names of object and all its children. |
ask children to write their state data
Implements ISISO.
|
inlineoverridevirtual |
Outputs all output samples recorded by far.
| [out] | vHist | Returns output history as a vector of doubles. |
Implements ISISO.

|
inlineoverridevirtual |
|
inlineoverridevirtual |
Retrive object functional type.
Implements ISISO.

|
overridepure virtual |
Load internal object state data from tree. Each object manages the data itself.
| [in] | v | Property tree to deserialize objects data from. |
Implements ISISO.
Implemented in CPIDRegulator, CGPC, CSimObject, and CPRegulator.
|
overridevirtual |
Move object to the front so it can be run first.
| [in] | FrontObject | Pointer to the object to move. |
Implements ISISO.
|
inlinevirtual |
Removes a child of the object.
| [in] | Child | Pointer to the child to remove from the tree. |
Implements ISISO.
|
overridevirtual |
Allows to remove the object. Function searches all the children of the object.
| [in] | nID | Searches an object with the given id and removes it from the tree. |
Implements ISISO.
|
inlineoverridevirtual |
Disable the output stream for objects input values.
Implements ISISO.
|
overridevirtual |
Resets objects memory (reset generators if present).
Implements ISISO.


|
overridepure virtual |
Adds internal object state data to the stream object.
| [out] | pt | Property tree to store serialized object. |
Implements ISISO.
Implemented in CPIDRegulator, CGPC, CSimObject, and CPRegulator.
|
overridevirtual |
Searches all the children of the object to find object with the specified name.
| [in] | s | Name of an object to search. |
Implements ISISO.


|
overridevirtual |
Enables user to set an ID of the object. User must ensure that the name is unique.
| [in] | nID | New, proposed ID value. When set to 0 picks first available. |
trying to reserve ID
Implements ISISO.


|
inlineoverridevirtual |
Set input history.
| [out] | vHist | Sets input history as a vector of doubles. |
Implements ISISO.

|
overridevirtual |
Registers a name with the object. User must ensure that the name is unique.
| [in] | sName | Tries to register new name of the object. |
Implements ISISO.


|
inlineoverridevirtual |
Set output history.
| [in] | vHist | Sets new output history. |
Implements ISISO.

|
overridevirtual |
Sets object's parent. There can be only one parent of the same object.
| [in] | Parent | Pointer to the parent. |
inform old parent about the child loss
Implements ISISO.

|
inlineoverridevirtual |
Set the output stream for object output values.
| [in] | oStream | Output stream to store output data to. |
Implements ISISO.
|
inlineoverridevirtual |
Set object functional type.
| [in] | Type | Type of the object to set. |
Implements ISISO.

|
inlinevirtual |
Set the variable to store the current input value.
| [out] | dInVal | Pointer of the variable to store last input into. |
Implements ISISO.
|
inlinevirtual |
Set the variable to store the current output value.
| [out] | dOutVal | Pointer of the variable to store last output into. |
Implements ISISO.
|
overridepure virtual |
Outputs one step of the simualtion given one sample of the input.
| [in] | dInput | Next input (can be feedback) value. |
Implements ISISO.
Implemented in CSimObject, CRegulator, CGPC, CPIDRegulator, and CPRegulator.