Compute Graph Framework SDK Reference  5.8
dw::framework::Node Class Referenceabstract

Detailed Description

Definition at line 63 of file Node.hpp.

Inheritance diagram for dw::framework::Node:

Public Types

using Name_t = FixedString< MAX_NAME_LEN >
 

Public Member Functions

virtual dwStatus getErrorSignal (dwGraphErrorSignal *&errorSignal)=0
 Get the pointer to the error signal for this node. More...
 
virtual dwStatus getHealthSignal (dwGraphHealthSignal *&healthSignals, bool updateFromModule=false)=0
 Get the pointer to the health signal for this node. More...
 
virtual dwStatus getName (const char **name)=0
 Get the name of the node. More...
 
virtual size_t getPassCount () const noexcept=0
 Get number of passes in the node. More...
 
virtual dwStatus getPasses (VectorFixed< Pass * > &passList)=0
 Get all the passes in the node. More...
 
virtual dwStatus getPasses (VectorFixed< Pass * > &passList, dwProcessorType processorType, dwProcessType processType)=0
 Get node passes filtered by processor type and process type. More...
 
virtual dwStatus reportCurrentErrorSignal (dwGraphErrorSignal &signal)=0
 A function that allows user override to update error signal It is automatically called by dwFramework when getErrorSignal is called and when pass returns non-success return code. More...
 
virtual dwStatus reportCurrentHealthSignal (dwGraphHealthSignal &signal)=0
 A function that allows user override to update health signal It is automatically called by dwFramework during teardown and when pass returns non-success return code. More...
 
virtual dwStatus reset ()=0
 Resets the state of the node. More...
 
virtual void resetPorts ()=0
 Resets all the ports in the node. More...
 
virtual dwStatus run ()=0
 Runs all the passes in the node. More...
 
virtual dwStatus runPass (size_t passIndex)=0
 Run one pass by index as defined by the pass descriptors. More...
 
virtual dwStatus runPassByID (uint8_t passID)=0
 Run one pass by ID as defined by the PassList enum class. More...
 
virtual dwStatus setInputChannel (ChannelObject *channel, uint8_t portID)=0
 Sets an input channel for this node with an accompanying port. More...
 
virtual dwStatus setInputChannel (ChannelObject *channel, uint8_t portID, dwSerializationType dataType)=0
 Sets an input channel for this node with an accompanying port. More...
 
virtual dwStatus setIterationCount (uint32_t iterationCount)=0
 Sets the node's iteration count. More...
 
virtual dwStatus setName (const char *name)=0
 Set the name of the node. More...
 
virtual dwStatus setOutputChannel (ChannelObject *channel, uint8_t portID)=0
 Sets an output channel for this node with an accompanying port. More...
 
virtual dwStatus setState (const char *state)=0
 Set the current state in node. Node implementation of this API need to be thread-safe. More...
 
virtual dwStatus validate ()=0
 Checks that all mandatory ports are bound. The implementation should validate that all the ports are bound to the appropriate channels (any required ports, that is). For example, a camera node may have processed output and raw output ports, but only one is required to be bound. More...
 
virtual ~Node ()=default
 

Static Public Attributes

static constexpr size_t MAX_NAME_LEN = 128
 
static constexpr uint32_t MAX_PASS_COUNT = 256
 
static constexpr uint32_t MAX_PORT_COUNT = 256
 
static constexpr uint8_t PASS_SETUP = std::numeric_limits<uint8_t>::max() - 1
 
static constexpr uint8_t PASS_TEARDOWN = std::numeric_limits<uint8_t>::max()
 

Member Typedef Documentation

◆ Name_t

Definition at line 67 of file Node.hpp.

Constructor & Destructor Documentation

◆ ~Node()

virtual dw::framework::Node::~Node ( )
virtualdefault

Member Function Documentation

◆ getErrorSignal()

virtual dwStatus dw::framework::Node::getErrorSignal ( dwGraphErrorSignal *&  errorSignal)
pure virtual

Get the pointer to the error signal for this node.

Parameters
[out]errorSignalThe error signal.
Returns
DW_SUCCESS

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ getHealthSignal()

virtual dwStatus dw::framework::Node::getHealthSignal ( dwGraphHealthSignal *&  healthSignals,
bool  updateFromModule = false 
)
pure virtual

Get the pointer to the health signal for this node.

Parameters
[out]healthSignalsThe health signal.
[in]updateFromModulefetch from module if set to true
Returns
DW_SUCCESS

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ getName()

virtual dwStatus dw::framework::Node::getName ( const char **  name)
pure virtual

Get the name of the node.

Parameters
nameThe output name.
Returns
DW_SUCCESS, DW_INVALID_ARUGMENT

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ getPassCount()

virtual size_t dw::framework::Node::getPassCount ( ) const
pure virtualnoexcept

Get number of passes in the node.

Returns
The number of passes

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ getPasses() [1/2]

virtual dwStatus dw::framework::Node::getPasses ( VectorFixed< Pass * > &  passList)
pure virtual

Get all the passes in the node.

Parameters
passListThe output list to populate.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ getPasses() [2/2]

virtual dwStatus dw::framework::Node::getPasses ( VectorFixed< Pass * > &  passList,
dwProcessorType  processorType,
dwProcessType  processType 
)
pure virtual

Get node passes filtered by processor type and process type.

Parameters
passListThe output list to populate.
processorTypeFilter by this processor type.
processTypeFilter by this process type.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ reportCurrentErrorSignal()

virtual dwStatus dw::framework::Node::reportCurrentErrorSignal ( dwGraphErrorSignal signal)
pure virtual

A function that allows user override to update error signal It is automatically called by dwFramework when getErrorSignal is called and when pass returns non-success return code.

Parameters
[in,out]signalthat the node owner modifies to store current health. It is pre-filled with the latest module health signal
Returns
DW_SUCCESS

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ reportCurrentHealthSignal()

virtual dwStatus dw::framework::Node::reportCurrentHealthSignal ( dwGraphHealthSignal signal)
pure virtual

A function that allows user override to update health signal It is automatically called by dwFramework during teardown and when pass returns non-success return code.

Parameters
[in,out]signalthat the node owner modifies to store current health. It is pre-filled with the latest module health signal
Returns
DW_SUCCESS

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ reset()

◆ resetPorts()

virtual void dw::framework::Node::resetPorts ( )
pure virtual

◆ run()

virtual dwStatus dw::framework::Node::run ( )
pure virtual

Runs all the passes in the node.

Returns
DW_SUCCESS, DW_FAILURE

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ runPass()

virtual dwStatus dw::framework::Node::runPass ( size_t  passIndex)
pure virtual

Run one pass by index as defined by the pass descriptors.

Parameters
passIndexThe index of the pass to run.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT, DW_FAILURE

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ runPassByID()

virtual dwStatus dw::framework::Node::runPassByID ( uint8_t  passID)
pure virtual

Run one pass by ID as defined by the PassList enum class.

Parameters
passIDThe ID of the pass to run.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT, DW_FAILURE

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ setInputChannel() [1/2]

virtual dwStatus dw::framework::Node::setInputChannel ( ChannelObject channel,
uint8_t  portID 
)
pure virtual

Sets an input channel for this node with an accompanying port.

Parameters
channelThe channel to bind to the portID.
portIDThe port to bind the channel with.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ setInputChannel() [2/2]

virtual dwStatus dw::framework::Node::setInputChannel ( ChannelObject channel,
uint8_t  portID,
dwSerializationType  dataType 
)
pure virtual

Sets an input channel for this node with an accompanying port.

Parameters
channelThe channel to bind to the portID.
portIDThe port to bind the channel with.
dataTypeThe type of data received by this node from the channel
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT

Implemented in dw::framework::SimpleNode, dw::framework::ExceptionSafeProcessNode, and dw::framework::ExceptionSafeSensorNode.

◆ setIterationCount()

virtual dwStatus dw::framework::Node::setIterationCount ( uint32_t  iterationCount)
pure virtual

Sets the node's iteration count.

Parameters
iterationCountThe current iteration count
Returns
DW_SUCCESS

Implemented in dw::framework::SimpleNode, dw::framework::ExceptionSafeProcessNode, and dw::framework::ExceptionSafeSensorNode.

◆ setName()

virtual dwStatus dw::framework::Node::setName ( const char *  name)
pure virtual

Set the name of the node.

Parameters
nameThe name of the node.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT

Implemented in dw::framework::SimpleNode, dw::framework::ExceptionSafeProcessNode, and dw::framework::ExceptionSafeSensorNode.

◆ setOutputChannel()

virtual dwStatus dw::framework::Node::setOutputChannel ( ChannelObject channel,
uint8_t  portID 
)
pure virtual

Sets an output channel for this node with an accompanying port.

Parameters
channelThe channel to bind to the portID.
portIDThe port to bind the channel with.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ setState()

virtual dwStatus dw::framework::Node::setState ( const char *  state)
pure virtual

Set the current state in node. Node implementation of this API need to be thread-safe.

Parameters
stateThe name of the new state which is about to start. The pointer is valid only for the runtime of the function and data should be stored with a deep copy.
Returns
DW_SUCCESS, DW_INVALID_ARGUMENT

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, and dw::framework::SimpleNode.

◆ validate()

virtual dwStatus dw::framework::Node::validate ( )
pure virtual

Checks that all mandatory ports are bound. The implementation should validate that all the ports are bound to the appropriate channels (any required ports, that is). For example, a camera node may have processed output and raw output ports, but only one is required to be bound.

Returns
DW_SUCCESS, DW_FAILURE

Implemented in dw::framework::ExceptionSafeProcessNode, dw::framework::ExceptionSafeSensorNode, dw::framework::SimpleNode, dw::framework::SimpleNodeT< T >, dw::framework::SimpleNodeT< dwRelativeEgomotionIMUNode >, and dw::framework::dwRelativeEgomotionIMUNodeImpl.

Member Data Documentation

◆ MAX_NAME_LEN

constexpr size_t dw::framework::Node::MAX_NAME_LEN = 128
staticconstexpr

Definition at line 66 of file Node.hpp.

◆ MAX_PASS_COUNT

constexpr uint32_t dw::framework::Node::MAX_PASS_COUNT = 256
staticconstexpr

Definition at line 71 of file Node.hpp.

◆ MAX_PORT_COUNT

constexpr uint32_t dw::framework::Node::MAX_PORT_COUNT = 256
staticconstexpr

Definition at line 69 of file Node.hpp.

◆ PASS_SETUP

constexpr uint8_t dw::framework::Node::PASS_SETUP = std::numeric_limits<uint8_t>::max() - 1
staticconstexpr

Definition at line 72 of file Node.hpp.

◆ PASS_TEARDOWN

constexpr uint8_t dw::framework::Node::PASS_TEARDOWN = std::numeric_limits<uint8_t>::max()
staticconstexpr

Definition at line 73 of file Node.hpp.


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