SmartEngine  1.6.0
Public Member Functions | List of all members
SmartEngine::IGraphModel Class Referenceabstract

Takes input from a controller and produces an output. If using a graph as the model, this interface does not need to be implemented. However, you can provide an instance of this interface to create "dummy" models. More...

#include <GraphModel.h>

Inheritance diagram for SmartEngine::IGraphModel:
SmartEngine::IObject SmartEngine::IStandardGraphModel

Public Member Functions

virtual void ClearData ()=0
 Clear all data from the last execution, including requested output. More...
 
virtual void AddData (const char *nodeName, IMatrix *data)=0
 Add one or more rows of data to the specified node. More...
 
virtual void RequestOutput (int controllerId, const char *nodeName, MatrixIndex expectedRowCount)=0
 Execute() should produce output for this node. More...
 
virtual void Execute ()=0
 Execute the model and save the results locally. More...
 
virtual void RetrieveOutput (int controllerId, IGraphModelOutput *modelOut)=0
 Dump all output for the specified controller from the last execution into modelOut. More...
 
virtual void Reset ()=0
 Called upon request from the user. Reset any internal state. More...
 
- Public Member Functions inherited from SmartEngine::IObject
virtual ObjectId GetId () const =0
 Returns the ID of this object. More...
 
virtual void AddRef () const =0
 Increments the internal reference count on this object. It is not common to use this method directly. More...
 
virtual void Release () const =0
 Decrements the internal reference count on this object. It is not common to use this method directly. More...
 
virtual int GetRefCount () const =0
 Returns the number of references to this object. More...
 
virtual void * QueryInterface (ObjectClassId id)=0
 Queries the object for an interface and returns a pointer to that interface if found. More...
 
void operator= (IObject const &x)=delete
 

Additional Inherited Members

- Public Attributes inherited from SmartEngine::IObject
 private
 
 __pad0__: IObject() {} IObject(IObject const&) = delete
 

Detailed Description

Takes input from a controller and produces an output. If using a graph as the model, this interface does not need to be implemented. However, you can provide an instance of this interface to create "dummy" models.

Member Function Documentation

◆ AddData()

virtual void SmartEngine::IGraphModel::AddData ( const char *  nodeName,
IMatrix data 
)
pure virtual

Add one or more rows of data to the specified node.

◆ ClearData()

virtual void SmartEngine::IGraphModel::ClearData ( )
pure virtual

Clear all data from the last execution, including requested output.

◆ Execute()

virtual void SmartEngine::IGraphModel::Execute ( )
pure virtual

Execute the model and save the results locally.

◆ RequestOutput()

virtual void SmartEngine::IGraphModel::RequestOutput ( int  controllerId,
const char *  nodeName,
MatrixIndex  expectedRowCount 
)
pure virtual

Execute() should produce output for this node.

Parameters
controllerIdThe controller that is requesting this output. The ID is only valid until the next call to ClearData().

◆ Reset()

virtual void SmartEngine::IGraphModel::Reset ( )
pure virtual

Called upon request from the user. Reset any internal state.

◆ RetrieveOutput()

virtual void SmartEngine::IGraphModel::RetrieveOutput ( int  controllerId,
IGraphModelOutput modelOut 
)
pure virtual

Dump all output for the specified controller from the last execution into modelOut.

Parameters
controllerIdThe controller that is requesting this output.