32 #ifndef STEAM_FIXTURE_SEGMENT_H 33 #define STEAM_FIXTURE_SEGMENT_H 52 using mobject::ExplicitPlacement;
72 using PortTable = std::deque<std::reference_wrapper<JobTicket>>;
119 Time start()
const {
return span_.start(); }
120 Time after()
const {
return span_.end(); }
133 if (portNr >= portTable_.size())
134 unConst(
this)->generateTickets_onDemand (portNr);
135 ASSERT (portNr < portTable_.size());
136 return portTable_[portNr];
142 return exitNode.empty();
148 generateTickets_onDemand (
size_t portNr)
150 for (
size_t i = portTable_.size(); i <= portNr; ++i)
151 if (isnil (exitNode[portNr]))
156 portTable_.emplace_back (newTicket);
Basic set of definitions and includes commonly used together.
Execution plan to generate render jobs within a specific render process.
Core abstraction: completely resolved placement of an MObject Within the session model, all media objects are attached with the help of mobject::Placement elements.
TimeSpan span_
begin of this timeline segment.
A front-end/concept to allow access to custom memory management.
engine::JobTicket & jobTicket(size_t portNr) const
Access the JobTicket for this segment and the given portNr.
Segment(Segment const &original, TimeSpan changed)
copy-and-remould an existing Segment to sit at another time span
Steam-Layer implementation namespace root.
static JobTicket NOP
special »do nothing« JobTicket marker
std::deque< ExplicitPlacement > elements
relevant MObjects comprising this segment.
Lumiera's internal time value datatype.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
Binding and access point from a given Segment to access the actual render nodes.
Segment(TimeSpan covered, NodeGraphAttachment &&modelLink)
create a new Segment to cover the given TimeSpan and to offer the rendering capabilities exposed by m...
NodeGraphAttachment exitNode
connection to the render nodes network
Link from the Fixture datastructure into the render node network.
For the purpose of building and rendering, the fixture (for each timeline) is partitioned such that e...
TicketAlloc ticketAlloc_
manage JobTicket: render plan / blueprint to use for this segment
A time interval anchored at a specific point in time.
a family of time value like entities and their relationships.
Segment(TimeSpan span=TimeSpan::ALL)
create empty Segment
execution plan for pulling a specific exit node.