42 return chain->
clone();
75 REQUIRE (!newLp->
next_,
"can insert only single LocatingPins");
78 return next_->addChain (newLp);
81 unique_ptr<LocatingPin> tmp_next (newLp);
82 tmp_next->next_.swap(
next_);
124 next_->resolve(solution);
151 TODO (
"implement Placement LocatingSolution");
159 return (minTime == maxTime and minTrack == maxTrack);
165 if (minTime > maxTime) impo =
true;
173 return not (is_definite() or is_impossible());
Offset measures a distance in time.
Lumiera's internal time value datatype.
static PPipe query(string const &properties)
convenience shortcut for retrieving default configured pipes
The most common case of positioning a MObject in the Session: directly specifying a constant position...
Positioning specification, possibly chained to further specifications.
LocatingPin & operator=(const LocatingPin &)
virtual LocatingPin * clone() const
std::pair< Time, Pipe > SolutionData
FixedLocation & operator()(Time start, Fork track=0)
std::shared_ptr< asset::Pipe > Pipe
bool isOverdetermined() const
virtual void intersect(LocatingSolution &) const
virtual int getPrioLevel() const
order to consider when resolving.
const SolutionData resolve() const
implementing the core Placement functionality.
std::unique_ptr< LocatingPin > next_
next additional Pin, if any
LocatingPin & addChain(LocatingPin *)
Specialised LocatingPin for use in Placement, especially for globally fixed positions The FixedLocati...
Implementing the Placement mechanics.
Core abstraction of the Session model: a media object.
Namespace of Session and user visible high-level objects.
LocatingPin * cloneChain(const unique_ptr< LocatingPin > &chain)
Steam-Layer implementation namespace root.
Core abstraction: placement of a media object into session context.
Time getTime()
get some time value which could stand in for this solution.