Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
ExplicitPlacement Class Reference

#include "steam/mobject/explicitplacement.hpp"

Description

Special kind of Placement, where the location of the MObject has been nailed down to a fixed position.

The Session maintains a special list of Placements, which actually is a snapshot of all Session contents fixed and reduced to simple positions. This so called Fixture contains only ExplicitPlacement objects and is processed by the Builder to create the render engine node network.

Deprecated:
2025/4 while we need a marker for an explicit placement, implementing this as a subclass is the dog-no-wag-tail anti pattern. Inheritance indicates a contract, but should not be abused to mark properties.
See also
Placement::resolve factory method for deriving an ExplicitPlacement

Definition at line 58 of file explicitplacement.hpp.

Public Types

typedef std::pair< Time, Pipe > SolutionData
 

Public Attributes

const Time time
 
const Pipe pipe
 

Public Member Functions

virtual ExplicitPlacement resolve () const
 no need to resolve any further, as this ExplicitPlacement already is the result of a resolve()-call.
 
- Public Member Functions inherited from Placement< MObject >
MObjectoperator-> () const
 
_Id getID () const
 <
 

Friends

ExplicitPlacement Placement () const
 

Protected Member Functions

 ExplicitPlacement (Placement< MObject > const &base, const SolutionData found)
 
 ExplicitPlacement (ExplicitPlacement const &)=default
 
- Protected Member Functions inherited from Placement< MObject >
 Placement (MObject &mo, Deleter killer)
 

Private Member Functions

ExplicitPlacementoperator= (const ExplicitPlacement &)
 copying prohibited, ExplicitPlacement is effectively const!
 

Additional Inherited Members

- Protected Types inherited from Placement< MObject >
using _Parent = Placement< B >
 
using _Id = _Parent::template Id< MObject > const &
 
using Deleter = _Parent::Deleter
 
using _SmartPtr = _Parent::_SmartPtr
 

Constructor & Destructor Documentation

◆ ExplicitPlacement() [1/2]

ExplicitPlacement ( Placement< MObject > const &  base,
const SolutionData  found 
)
inlineprotected

Definition at line 84 of file explicitplacement.hpp.

◆ ExplicitPlacement() [2/2]

ExplicitPlacement ( ExplicitPlacement const &  )
protecteddefault
Warning
2025/4 design smells all over the place. It should not be copyable!!

Member Typedef Documentation

◆ SolutionData

typedef std::pair<Time,Pipe> SolutionData

Definition at line 64 of file explicitplacement.hpp.

Member Function Documentation

◆ resolve()

virtual ExplicitPlacement resolve ( ) const
inlinevirtual

no need to resolve any further, as this ExplicitPlacement already is the result of a resolve()-call.

//////////////////////TICKET #439

Definition at line 71 of file explicitplacement.hpp.

Referenced by BuilderTool::getExplicitPlacement(), and PlacementRef< MX >::resolve().

+ Here is the caller graph for this function:

◆ operator=()

ExplicitPlacement & operator= ( const ExplicitPlacement )
private

copying prohibited, ExplicitPlacement is effectively const!

Member Data Documentation

◆ time

◆ pipe

const Pipe pipe

Definition at line 62 of file explicitplacement.hpp.

Friends And Related Symbol Documentation

◆ Placement

ExplicitPlacement Placement ( ) const
friend
+ Inheritance diagram for ExplicitPlacement:
+ Collaboration diagram for ExplicitPlacement:

The documentation for this class was generated from the following file: