23 #ifndef STEAM_FIXTURE_SEGMENT_H 24 #define STEAM_FIXTURE_SEGMENT_H 43 using mobject::ExplicitPlacement;
63 using PortTable = std::deque<std::reference_wrapper<JobTicket>>;
110 Time start()
const {
return span_.start(); }
111 Time after()
const {
return span_.end(); }
124 if (portNr >= portTable_.size())
125 unConst(
this)->generateTickets_onDemand (portNr);
126 ASSERT (portNr < portTable_.size());
127 return portTable_[portNr];
133 return exitNode.empty();
139 generateTickets_onDemand (
size_t portNr)
141 for (
size_t i = portTable_.size(); i <= portNr; ++i)
142 if (isnil (exitNode[portNr]))
147 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.