54 #ifndef ENGINE_NODEINVOCATION_H 55 #define ENGINE_NODEINVOCATION_H 86 : parent_ (callingProcess),
141 uint nrO()
const {
return wiring.nrO; }
142 uint nrI()
const {
return wiring.nrI; }
143 uint buffTabSize()
const {
return nrO()+nrI(); }
149 buffTab_isConsistent ()
152 && (0 < buffTabSize())
153 && (nrO()+nrI() <= buffTabSize())
154 && (buffTab->inBuff == &buffTab->outBuff[nrO()] )
155 && (buffTab->inHandle == &buffTab->outHandle[nrO()])
166 return current_.genFrameID(wiring.nodeID, outNr);
172 return current_.genFrameID (nID,chanNo);
215 template<
class Strategy,
class BufferProv
ider>
231 return Strategy::step (*
this);
Interface to the processing nodes and the render nodes network.
Abstraction to access the state of a currently ongoing render/calculation process, as it is tied to the supporting facilities of the vault layer.
Identification tuple for addressing frames unambiguously.
Obsolete, to be rewritten /////TICKET #826.
Access point to an ongoing render's processing state.
virtual void releaseBuffer(BuffHandle &)=0
resign control of the buffer denoted by the handle
Adapter to shield the ProcNode from the actual buffer management, allowing the processing function wi...
Steam-Layer implementation namespace root.
virtual BuffHandle fetch(FrameID const &fID)
try to fetch an existing buffer containing the denoted frame from a cache or similar backing system (...
virtual BuffHandle allocateBuffer(const lumiera::StreamType *ty)
allocate a new writable buffer with type and size according to the BufferDescriptor.
void setBuffTab(BuffTable *b)
setup the link to an externally allocated buffer table
virtual BuffTableStorage & getBuffTableStorage()=0
necessary for creating a local BuffTableChunk
virtual BuffHandle allocateBuffer(const lumiera::StreamType *ty)
allocate a new writable buffer with type and size according to the BufferDescriptor.
Invocation context state.
virtual BuffHandle fetch(FrameID const &)=0
try to fetch an existing buffer containing the denoted frame from a cache or similar backing system (...
virtual void releaseBuffer(BuffHandle &bh)
resign control of the buffer denoted by the handle
virtual void is_calculated(BuffHandle const &)=0
declare the data contained in the Buffer to be ready.
< using the parent StateAdapter for buffer allocations
Invocation(State &callingProcess, WiringDescriptor const &w, uint o)
creates a new invocation context state, without BuffTable
< using the global current State, which will delegate to Cache
virtual State & getCurrentImplementation()=0
resolves to the State object currently "in charge".
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 rend...
Handle for a buffer for processing data, abstracting away the actual implementation.
virtual FrameID const & genFrameID()
specialised version filling in the additional information, i.e the concrete node id and the channel n...
Identification tuple for denoting render nodes unambiguously.
virtual BuffTableStorage & getBuffTableStorage()
necessary for creating a local BuffTableChunk
Representation of the Media type of a data channel used within the engine.
Interface: a facility providing and managing working buffers for media calculations.
Obsolete, to be rewritten /////TICKET #826.
BuffHandle retrieve()
contains the details of Cache query and recursive calls to the predecessor node(s), eventually followed by the ProcNode::process() callback
virtual State & getCurrentImplementation()
resolves to the State object currently "in charge".
Interface: Description of the input and output ports, processing function and predecessor nodes for a...
The real invocation context state implementation.
virtual void is_calculated(BuffHandle const &bh)
declare the data contained in the Buffer to be ready.