53 const FSecs JOB_MINIMUM_RUNTIME{1,1000};
87 REQUIRE (this->isValid(),
"Attempt to generate render job for incomplete or unspecified render plan.");
91 return Job(functor, invoKey, nominalTime);
105 return Duration{JOB_MINIMUM_RUNTIME};
108 REQUIRE (isValid(),
"Attempt to determine timings for incomplete or unspecified render plan.");
109 return provision_.exitNode.getUpperBoundRuntime();
123 res.part.t = timeMark;
132 return lumiera_invokey_eq (unConst(&l), unConst(&r));
142 return util::isSameObject (
provision_.jobFunctor, functor)
bool verifyInstance(JobFunctor &, InvocationInstanceID const &, Time) const
Helper for tests: verify the given invocation parameters match this JobTicket.
Execution plan to generate render jobs within a specific render process.
Generic implementation of a JobFunctor to perform no calculations.
void combine(size_t &combinedHash, size_t additionalHash)
meld the additional hash value into the given base hash value.
Steam-Layer implementation namespace root.
Access point to singletons and other kinds of dependencies designated by type.
static JobTicket NOP
special »do nothing« JobTicket marker
Lumiera's internal time value datatype.
static InvocationInstanceID timeHash(Time, InvocationInstanceID const &)
Tag the precomputed invocation ID with the nominal frame time.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
boost::rational< int64_t > FSecs
rational representation of fractional seconds
Singleton services and Dependency Injection.
opaque ID attached to each individual job invocation.
size_t HashVal
a STL compatible hash value
Interface of the closure for frame rendering jobs.
Duration is the internal Lumiera time metric.
Individual frame rendering task, forwarding to a closure.
static ExitNode NIL
storage for the »inactive« ExitNode marker
execution plan for pulling a specific exit node.
Duration getExpectedRuntime()
Core operation: guess expected runtime for rendering.
Job createJobFor(Time nominalTime)
Core operation: build a concrete render job based on this blueprint.