Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
locatingpin.hpp File Reference

Implementing the Placement mechanics. More...

Go to the source code of this file.

Description

Implementing the Placement mechanics.

The various specifications how to place some MObject (logically) within the Session are given by small LocatingPin objects forming a chain. For resolving the actual position, at the moment (10/07) we use a preliminary implementation to support the most common Placement types (fixed and relative). It is comprised of the nested LocatingSolution and the functions FixedLocation::resolve(LocatingSolution&) and RelativeLocation::resolve(LocatingSolution&) etc. If this is to be extended, we'll need a real spatial discrete constraint solver (and this probably will be some library implementation, because the problem is anything but trivial).

Todo:
this can be considered a preliminary sketch without being backed by actual functionality. Just enough to be able to drive the design of other parts ahead. See esp. TICKET #100, which contains an idea for a refactoring.

Definition in file locatingpin.hpp.

#include "steam/common.hpp"
#include "lib/time/timevalue.hpp"
#include <utility>
#include <memory>

Namespaces

namespace  steam
 Steam-Layer implementation namespace root.
 
namespace  steam::asset
 The asset subsystem of the Steam-Layer.
 
namespace  steam::mobject
 Media-Objects, edit operations and high-level session.
 
namespace  steam::mobject::session
 Namespace of Session and user visible high-level objects.
 

Typedefs

typedef PlacementRef< MObjectPlaRef
 TODO: as of 5/09 the idea is to phase out direct dependency on the placement class and recast those dependencies in terms of PlacementRef.
 

Classes

class  LocatingPin
 Positioning specification, possibly chained to further specifications. More...
 
struct  LocatingPin::LocatingSolution
 

Functions

bool operator== (LocatingPin const &pin1, LocatingPin const &pin2)
 check for equivalent definition of a complete locating chain