37#ifndef STEAM_MOBJECT_SESSION_LOCATINGPIN_H
38#define STEAM_MOBJECT_SESSION_LOCATINGPIN_H
51namespace asset {
class Pipe; }
72 class RelativeLocation;
95 typedef std::shared_ptr<asset::Pipe>
Pipe;
106 void resolve (LocatingSolution&)
const;
107 virtual void intersect (LocatingSolution&)
const;
Offset measures a distance in time.
a mutable time value, behaving like a plain number, allowing copy and re-accessing
Lumiera's internal time value datatype.
Reference tag denoting a placement attached to the session.
The most common case of positioning a MObject in the Session: directly specifying a constant position...
A Fork serves as grouping device within the Session.
Positioning specification, possibly chained to further specifications.
LocatingPin & operator=(const LocatingPin &)
virtual LocatingPin * clone() const
lib::time::TimeVar TimeVar
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
friend bool operator==(LocatingPin const &, LocatingPin const &)
check for equivalent definition of a complete locating chain
void resolve(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 *)
The asset subsystem of the Steam-Layer.
Namespace of Session and user visible high-level objects.
bool operator==(LocatingPin const &pin1, LocatingPin const &pin2)
check for equivalent definition of a complete locating chain
PlacementRef< MObject > PlaRef
TODO: as of 5/09 the idea is to phase out direct dependency on the placement class and recast those d...
Steam-Layer implementation namespace root.
Basic set of definitions and includes commonly used together.
Time getTime()
get some time value which could stand in for this solution.
a family of time value like entities and their relationships.
#define MAX(A, B)
the inevitable MAX macro, sometimes still necessary in template code