45 #ifndef STEAM_FIXTURE_SEGMENTATION_H 46 #define STEAM_FIXTURE_SEGMENTATION_H 69 using OptTime = std::optional<lib::time::Time>;
101 return segments_.size();
107 for (
auto& seg : segments_)
108 if (seg.after() > time)
110 throw error::State (
_Fmt{
"Fixture datastructure corrupted: Time %s not covered"} % time);
116 return lib::iter_stl::eachElm (segments_);
122 splitSplice (OptTime start, OptTime after, engine::ExitNodes&& modelLink =ExitNodes{});
131 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