Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/engine/nodeinvocation.hpp"
Invocation context state.
A ref to this type is carried through the chain of NEXT::step() functions which form the actual invocation sequence. The various operations in this sequence access the context via the references in this struct, while also using the inherited public State interface. The object instance actually used as Invocation is created on the stack and parametrised according to the necessities of the invocation sequence actually configured. Initially, this real instance is configured without BuffTable, because the invocation may be short-circuited due to Cache hit. Otherwise, when the invocation sequence actually prepares to call the process function of this ProcNode, a buffer table chunk is allocated by the StateProxy and wired in.
Definition at line 124 of file nodeinvocation.hpp.
Public Member Functions | |
bool | buffTab_isConsistent () |
uint | buffTabSize () const |
virtual FrameID const & | genFrameID () |
specialised version filling in the additional information, i.e the concrete node id and the channel number in question | |
virtual FrameID const & | genFrameID (NodeID const &nID, uint chanNo) |
generate (or calculate) an ID denoting a media data frame appearing at the given position in the render network, for the time point this rendering process is currently calculating data for. More... | |
uint | nrI () const |
uint | nrO () const |
void | setBuffTab (BuffTable *b) |
setup the link to an externally allocated buffer table | |
Public Member Functions inherited from StateAdapter | |
virtual BuffHandle | fetch (FrameID const &fID) |
try to fetch an existing buffer containing the denoted frame from a cache or similar backing system (e.g. More... | |
virtual BuffTableStorage & | getBuffTableStorage () |
necessary for creating a local BuffTableChunk | |
virtual void | is_calculated (BuffHandle const &bh) |
declare the data contained in the Buffer to be ready. More... | |
virtual void | releaseBuffer (BuffHandle &bh) |
resign control of the buffer denoted by the handle | |
Public Member Functions inherited from State | |
virtual BuffHandle | allocateBuffer (const lumiera::StreamType *)=0 |
allocate a new writable buffer with type and size according to the BufferDescriptor. More... | |
Public Attributes | |
BuffTable * | buffTab |
const uint | outNr |
WiringDescriptor const & | wiring |
Protected Member Functions | |
Invocation (State &callingProcess, WiringDescriptor const &w, uint o) | |
creates a new invocation context state, without BuffTable | |
Protected Member Functions inherited from StateAdapter | |
StateAdapter (State &callingProcess) | |
virtual State & | getCurrentImplementation () |
resolves to the State object currently "in charge". More... | |
Additional Inherited Members | |
Protected Attributes inherited from StateAdapter | |
State & | current_ |
State & | parent_ |
generate (or calculate) an ID denoting a media data frame appearing at the given position in the render network, for the time point this rendering process is currently calculating data for.
NodeID | the unique identification of a specific node |
chanNo | the number of the output channel of this node |
Implements State.
Definition at line 170 of file nodeinvocation.hpp.