Lumiera
0.pre.03
»edit your freedom«
|
#include "vault/gear/job.h"
Interface of the closure for frame rendering jobs.
Hidden behind this interface resides all of the context re-building and invocation mechanics to get the actual calculations going. While the job descriptor, as handled by the scheduler, contains the variable "moving parts", the corresponding job closure represents the execution context of a job and is shared between several jobs within the same segment of the timeline.
This allows us to enqueue simple job-"functions" with the scheduler. By virtue of the JobClosure-pointer, embedded into #lumiera_jobDefinition, the invocation of such a job may re-gain the full context, including the actual ProcNode to pull and further specifics, like the media channel.
Public Member Functions | |
virtual | ~JobClosure () |
this is an interface More... | |
virtual InvocationInstanceID | buildInstanceID (HashVal) const =0 |
virtual JobKind | getJobKind () const =0 |
lib::HashVal | hash_value (JobParameter) const |
virtual HashVal | hashOfInstance (InvocationInstanceID) const =0 |
virtual void | invokeJobOperation (JobParameter parameter)=0 |
Public Member Functions inherited from JobFunctor | |
virtual | ~JobFunctor () |
this is an interface More... | |
virtual std::string | diagnostic () const |
operator std::string () const | |
|
virtual |
this is an interface