Lumiera  0.pre.03
»edit your freedom«
ProcNode Class Reference

#include "steam/engine/procnode.hpp"

Description

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

Todo:
it's not clear as of 9/09 if ProcNode shall be an ABC/Interface It might be used as ABC (as was the original intention) when implementing several query/information functions. In that case, the ctor will become protected. The alternative would be to push down these information-retrieval part into a configurable element within WiringDescriptor, in which case we even might drop ProcNode as a frontend entirely.

Definition at line 135 of file procnode.hpp.

Public Member Functions

 ProcNode (WiringDescriptor const &wd)
 
bool isValid () const
 
uint nrO ()
 output channel count
 
BuffHandle pull (State &currentProcess, uint requestedOutputNr=0) const
 Engine Core operation: render and pull output from this node. More...
 

Private Types

typedef mobject::Parameter< double > Param
 

Private Attributes

vector< Paramparams
 
const WiringDescriptorwiringConfig_
 

Additional Inherited Members

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

Member Function Documentation

◆ pull()

BuffHandle pull ( State currentProcess,
uint  requestedOutputNr = 0 
) const
inline

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

On return, currentProcess will hold onto output buffer(s) containing the calculated result frames. In case this node calculates a multichannel output, only one channel can be retrieved by such a pull() call, but you can expect data of the other channels to be processed and fed to cache.

Parameters
currentProcessthe current processing state for managing buffers and accessing current parameter values
requestedOutputNrthe output channel requested (in case this node delivers more than one output channel)
Returns
handle to the buffer containing the calculated result.

Definition at line 171 of file procnode.hpp.

References WiringDescriptor::callDown().

Referenced by RenderInvocation::operator[]().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:
+ Inheritance diagram for ProcNode:
+ Collaboration diagram for ProcNode:

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