# Class Placement

Class Placement

Declaration :

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

Directly inherited by : ExplicitPlacement

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.

Artifact : placement

Operation resolve

Declaration :

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

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

Relation subject (<unidirectional association>)

Declaration :

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

Placement acts as smart pointer

Operation chain

Declaration :

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

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

Relation chain (<unidirectional association>)

Declaration :

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

Chain of additional Placements further constraining the position of this MObject

All public operations : chain , resolve