Lumiera  0.pre.03
»edit your freedom«
WiringDescriptor Class Referenceabstract

#include "steam/engine/procnode.hpp"

Description

Interface: Description of the input and output ports, processing function and predecessor nodes for a given ProcNode.

Todo:
the design of this part is messy in several respects. Basically, its left-over from a first prototypical implementation from 2008 As of 1/2012, we're re-shaping that engine interface and invocation with a top-down approach, starting from the player. Anyhow, you can expect the basic setup to remain as-is: there will be a ProcNode and a WiringDescriptor, telling how it's connected to its predecessors, and defining how the Node is supposed to operate

Definition at line 78 of file procnode.hpp.

Public Types

typedef asset::Proc::ProcFunc ProcFunc
 

Public Attributes

lib::RefArray< InChanDescriptor > & in
 
NodeID const & nodeID
 
uint nrI
 
uint nrO
 
lib::RefArray< ChannelDescriptor > & out
 
ProcFunc * procFunction
 

Friends

class ProcNode
 

Protected Member Functions

 WiringDescriptor (lib::RefArray< ChannelDescriptor > &o, lib::RefArray< InChanDescriptor > &i, ProcFunc pFunc, NodeID const &nID)
 
virtual BuffHandle callDown (State &currentProcess, uint requiredOutputNr) const =0
 the wiring-dependent part of the node operation. More...
 

Member Function Documentation

◆ callDown()

virtual BuffHandle callDown ( State currentProcess,
uint  requiredOutputNr 
) const
protectedpure virtual

the wiring-dependent part of the node operation.

Includes the creation of a one-way state object on the stack holding the actual buffer pointers and issuing the recursive pull() calls

See also
NodeWiring::callDown default implementation

Implemented in MockSizeRequest, and NodeWiring< STATE >.

Referenced by ProcNode::pull().

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

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