Lumiera  0.pre.03
»edit your freedom«
ProcPatt Class Reference

#include "steam/asset/procpatt.hpp"

Description

"Processing Pattern" is a structural Asset representing information how to build some part of the render engine's processing nodes network.

Definition at line 61 of file procpatt.hpp.

Public Member Functions

ProcPattattach (Symbol where, PProc &node)
 extend the processing instructions to add some Effect More...
 
lib::P< ProcPattnewCopy (string newID) const
 create a new ProcPatt asset as a literal copy of this one. More...
 
ProcPattoperator+= (PProcPatt &toReuse)
 extend the processing instructions by reference to another ProcPatt, which will be "executed" at this point while building. More...
 
- Public Member Functions inherited from Struct
virtual const ID< Struct > & getID () const
 < More...
 
- Public Member Functions inherited from Asset
bool enable (bool on=true)
 change the enabled status of this asset. More...
 
const vector< PAsset > & getDependant () const
 All the other assets requiring this asset to be functional. More...
 
const vector< PAsset > & getParents () const
 List of entities this asset depends on or requires to be functional. More...
 
bool isActive () const
 weather this asset is switched on and consequently included in the fixture and participates in rendering More...
 
virtual operator string () const
 
bool operator< (Asset const &oa) const
 
bool operator== (Asset const &oa) const
 

Friends

class StructFactoryImpl
 

Protected Member Functions

 ProcPatt (const Asset::Ident &idi)
 new processing pattern with empty instruction list. More...
 
- Protected Member Functions inherited from Struct
 Struct (const Asset::Ident &idi)
 
- Protected Member Functions inherited from Asset
 Asset (const Ident &idi)
 Asset is a Interface class; usually, objects of concrete subclasses are created via specialised Factories. More...
 
virtual ~Asset ()=0
 
void defineDependency (PAsset parent)
 establish a connection between this and the given parent asset, denoting we are in some way dependent on the parent. More...
 
void defineDependency (Asset &parent)
 
virtual void unlink ()
 release all links to other Asset objects held internally. More...
 
virtual void unlink (IDA target)
 variant of unlink() dropping only the links to the given specific Asset, leaving all other links intact. More...
 

Private Member Functions

 ProcPatt (const Asset::Ident &, const InstructionSequence &)
 
 ~ProcPatt ()
 emit VTable and member destructors here...
 

Private Attributes

InstructionSequence instructions_
 

Additional Inherited Members

- Static Public Attributes inherited from Struct
static StructFactory retrieve
 storage for the static StructFactory instance
 
- Public Attributes inherited from Asset
const Ident ident
 Asset identification tuple.
 
- Protected Attributes inherited from Asset
vector< PAssetdependants
 
bool enabled
 
set< string > groups
 additional classification, selections or departments this asset belongs to. More...
 
const ID< Assetid
 Asset primary key.
 
const string longDesc
 user visible qualification of the thing, unit or concept represented by this asset. More...
 
vector< PAssetparents
 
const string shortDesc
 user visible Name-ID. More...
 

Constructor & Destructor Documentation

◆ ProcPatt() [1/2]

ProcPatt ( const Asset::Ident idi,
const InstructionSequence &  instru 
)
private

used for creating a clone copy

Definition at line 58 of file procpatt.cpp.

Referenced by ProcPatt::newCopy().

+ Here is the caller graph for this function:

◆ ProcPatt() [2/2]

ProcPatt ( const Asset::Ident idi)
explicitprotected

new processing pattern with empty instruction list.

Todo:
preliminary implementation, storing the capabilities in the asset name field. We can do better, when it's clear what capabilities we need

Definition at line 51 of file procpatt.cpp.

Member Function Documentation

◆ newCopy()

lib::P< ProcPatt > newCopy ( string  newID) const

create a new ProcPatt asset as a literal copy of this one.

The new ProcPatt can then be customised independently of the original one. This allows using some ProcPatt as a template for creating more specialised patterns.

Definition at line 74 of file procpatt.cpp.

References Asset::ident, AssetManager::instance, Asset::Ident::name, and ProcPatt::ProcPatt().

+ Here is the call graph for this function:

◆ attach()

ProcPatt & attach ( Symbol  where,
PProc node 
)

extend the processing instructions to add some Effect

Parameters
wheredenotes the insertion point where to attach the Effect
nodeprototype of the Effect to be inserted when building.

Definition at line 91 of file procpatt.cpp.

◆ operator+=()

ProcPatt & operator+= ( PProcPatt toReuse)

extend the processing instructions by reference to another ProcPatt, which will be "executed" at this point while building.

This allowes for using simple PorcPatt instances as building blocks to define more complicated patterns.

Definition at line 118 of file procpatt.cpp.

References steam::mobject::session::query::anonymous_namespace{fake-configrules.cpp}::entry().

+ Here is the call graph for this function:
+ Inheritance diagram for ProcPatt:
+ Collaboration diagram for ProcPatt:

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