36 #ifndef STEAM_FIXTURE_SEGMENTATION_H 37 #define STEAM_FIXTURE_SEGMENTATION_H 60 using OptTime = std::optional<lib::time::Time>;
92 return segments_.size();
98 for (
auto& seg : segments_)
99 if (seg.after() > time)
101 throw error::State (
_Fmt{
"Fixture datastructure corrupted: Time %s not covered"} % time);
107 return lib::iter_stl::eachElm (segments_);
113 splitSplice (OptTime start, OptTime after, engine::ExitNodes&& modelLink =ExitNodes{});
122 seg.exitNode = move(rewrite (seg.exitNode));
For the purpose of building and rendering, the fixture (for each timeline) is partitioned such that e...
Any copy and copy construction prohibited.
Building block of the backbone of the low-level (render node) model.
Segment const & splitSplice(OptTime start, OptTime after, engine::ExitNodes &&modelLink=ExitNodes{})
rework the existing Segmentation to include a new Segment as specified
Steam-Layer implementation namespace root.
A front-end for using printf-style formatting.
Derived specific exceptions within Lumiera's exception hierarchy.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
list< Segment > segments_
segments of the engine in ordered sequence.
Binding and access point from a given Segment to access the actual render nodes.
void adaptSpecification(std::function< NodeGraphAttachment(NodeGraphAttachment const &)> rewrite)
For the purpose of building and rendering, the fixture (for each timeline) is partitioned such that e...
Preconfigured adapters for some STL container standard usage situations.
a family of time value like entities and their relationships.
basic constant internal time value.
virtual ~Segmentation()
this is an interface