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

Views on top of models deal with this class to inject and extract data from the underlying model. More...

#include <GraphModel.h>

Inheritance diagram for SmartEngine::IGraphInputOutput:
SmartEngine::IObject SmartEngine::IGraphController

Public Member Functions

virtual ObjectPtr< IGraphInputOutputGetGraphComponent (const char *componentNodeName)=0
 Returns a input output object linked to a graph component within the current graph. This can be passed to model views of the component graph to get / set data on the component More...
 
virtual ObjectPtr< IMatrixGetInput (const char *nodeName)=0
 Returns a matrix associated with the specified node name. The node should be a BufferInput node in the graph. The returned matrix is read-write. More...
 
virtual void RequestOutput (const char *nodeName, MatrixIndex expectedRowCount=-1)=0
 Requests that the following node name be produced as output during execution. This must be called before execution for a value to appear in GetOutput(). More...
 
virtual ObjectPtr< IMatrixGetOutput (const char *nodeName)=0
 Returns the output associated with the specified node name. The returned matrix is read-only. 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

Views on top of models deal with this class to inject and extract data from the underlying model.

Member Function Documentation

◆ GetGraphComponent()

virtual ObjectPtr<IGraphInputOutput> SmartEngine::IGraphInputOutput::GetGraphComponent ( const char *  componentNodeName)
pure virtual

Returns a input output object linked to a graph component within the current graph. This can be passed to model views of the component graph to get / set data on the component

◆ GetInput()

virtual ObjectPtr<IMatrix> SmartEngine::IGraphInputOutput::GetInput ( const char *  nodeName)
pure virtual

Returns a matrix associated with the specified node name. The node should be a BufferInput node in the graph. The returned matrix is read-write.

The matrix should be resized before setting any data.

Data should be set such that one row is one 'entry' and the column count matches the dimension of the node. It is most common for this matrix to be reshaped to [1 x Buffer Input Node Dimension]

◆ GetOutput()

virtual ObjectPtr<IMatrix> SmartEngine::IGraphInputOutput::GetOutput ( const char *  nodeName)
pure virtual

Returns the output associated with the specified node name. The returned matrix is read-only.

The matrix is only valid as long as the controller is registered.

◆ RequestOutput()

virtual void SmartEngine::IGraphInputOutput::RequestOutput ( const char *  nodeName,
MatrixIndex  expectedRowCount = -1 
)
pure virtual

Requests that the following node name be produced as output during execution. This must be called before execution for a value to appear in GetOutput().

Parameters
expectedRowCountThe number of rows this output is expected to produce. If this is set to -1, the number will be estimated based on the inputs.