# Class Placement

Class Placement

used to specify the position of a MObject in the EDL. This can be done in various ways (absolute, relative).
Placement at the same time acts as (refcounting) smart pointer for accessing the MObject.

Declaration :

- C++ : class Placement
- Java : public interface Placement

Directly inherited by : ExplicitPlacement

Artifact : placement

Stereotype: interface

Operation resolve

create an actual (explicit) placement while trying to satisfy the network of adjacent objects and placements.

Declaration :

- Uml : + resolve() : ExplicitPlacement [ProcessingLayer::MObject]&
- C++ : public: ExplicitPlacement [ProcessingLayer::MObject]& resolve ()

Relation subject (<unidirectional association>)

Placement acts as smart pointer

Declaration :

- Uml : # subject : MObject, multiplicity : 1
- C++ : protected: MObject* subject

Operation chain

create and add another Placement for this media object, thus increasingly constraining the (possible) position of this object.

Declaration :

- Uml : + chain(in style : ) :
- C++ : public: chain (const & style)

Relation chain (<unidirectional association>)

Chain of additional Placements further constraining the position of this MObject

Declaration :

- Uml : # chain : LocatingPin, multiplicity : 1
- C++ : protected: LocatingPin* chain

All public operations : chain , resolve