Lumiera  0.pre.03
»edit your freedom«
Invocation Struct Reference

#include "steam/engine/nodeinvocation.hpp"

Description

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 BuffTableStoragegetBuffTableStorage ()
 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

BuffTablebuffTab
 
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 StategetCurrentImplementation ()
 resolves to the State object currently "in charge". More...
 

Additional Inherited Members

- Protected Attributes inherited from StateAdapter
Statecurrent_
 
Stateparent_
 

Member Function Documentation

◆ genFrameID()

virtual FrameID const& genFrameID ( NodeID const &  ,
uint  chanNo 
)
inlinevirtual

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.

Parameters
NodeIDthe unique identification of a specific node
chanNothe number of the output channel of this node
Returns
a complete FrameID which unambiguously denotes this specific frame and can be used for caching

Implements State.

Definition at line 170 of file nodeinvocation.hpp.

+ Inheritance diagram for Invocation:
+ Collaboration diagram for Invocation:

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