Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
ProcNode Class Reference

#include "steam/engine/proc-node.hpp"

Description

Key abstraction of the Render Engine: A Data processing Node.

Todo:
WIP 2025 Node-Invocation is reworked from ground up for the »Playback Vertical Slice«

Definition at line 193 of file proc-node.hpp.

Public Member Functions

 ProcNode (Connectivity &&con)
 
PortgetPort (uint portIdx)
 
BuffHandle pull (uint portIdx, BuffHandle output, Time nomTime, ProcessKey procKey)
 Engine Core operation: render and pull output from this node.
 

Friends

class ProcNodeDiagnostic
 „backdoor“ to watch internals from tests
 
bool operator== (ProcNode const &nl, ProcNode const &nr)
 ProcNode has reference semantics: all instances are distinct.
 
bool operator!= (ProcNode const &nl, ProcNode const &nr)
 

Private Attributes

Connectivity wiring_
 

Additional Inherited Members

- Private Member Functions inherited from NonCopyable
 ~NonCopyable ()=default
 
 NonCopyable ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Constructor & Destructor Documentation

◆ ProcNode()

ProcNode ( Connectivity &&  con)
inline

Definition at line 200 of file proc-node.hpp.

Member Function Documentation

◆ getPort()

Port & getPort ( uint  portIdx)
inline

Definition at line 206 of file proc-node.hpp.

References LERR_, Connectivity::ports, Several< I >::size(), and ProcNode::wiring_.

Referenced by WeavingBuilder< POL, PROT >::attachToLeadPort(), ParamAgentBuilder< POL, DAT, SPEC >::delegateLeadPort(), and ProcNode::pull().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pull()

BuffHandle pull ( uint  portIdx,
BuffHandle  output,
Time  nomTime,
ProcessKey  procKey 
)
inline

Engine Core operation: render and pull output from this node.

Activate the indicated Port, which may recursively pull from »Lead Nodes« (predecessors) and invoke the operation embodied by this node. The stack frame of this call acts as anchor to hold the TurnoutSystem for parameter access and coordination.

Parameters
portIdxthe port (≙flavour) to activate
outputa BuffHandle configured suitably to hold results
nomTimeabsolute nominal Time to key this invocation
procKeyadditional process key for context parameters
Returns
handle to the buffer containing the calculated result.

Definition at line 234 of file proc-node.hpp.

References ProcNode::getPort(), and Port::weave().

Referenced by RenderInvocation::invokeJobOperation(), and NodeBuilder_test::invokeRenderNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ wiring_

Friends And Related Symbol Documentation

◆ ProcNodeDiagnostic

friend class ProcNodeDiagnostic
friend

„backdoor“ to watch internals from tests

Definition at line 241 of file proc-node.hpp.

◆ operator==

bool operator== ( ProcNode const &  nl,
ProcNode const &  nr 
)
friend

ProcNode has reference semantics: all instances are distinct.

Definition at line 217 of file proc-node.hpp.

◆ operator!=

bool operator!= ( ProcNode const &  nl,
ProcNode const &  nr 
)
friend

Definition at line 218 of file proc-node.hpp.

+ Inheritance diagram for ProcNode:
+ Collaboration diagram for ProcNode:

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