Lumiera  0.pre.03
»edit your freedom«
procpatt.hpp
Go to the documentation of this file.
1 /*
2  PROCPATT.hpp - template for building some render processing network
3 
4  Copyright (C)
5  2008, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
14 
23 #ifndef ASSET_PROCPATT_H
24 #define ASSET_PROCPATT_H
25 
26 #include "steam/asset/struct.hpp"
27 
28 #include <vector>
29 
30 using std::vector;
31 
32 
33 
34 namespace steam {
35 namespace asset {
36 
37  using lib::Symbol;
38 
39  class Proc;
40  class ProcPatt;
41  struct BuildInstruct;
42  typedef lib::P<const asset::Proc> PProc;
43  typedef lib::P<const asset::ProcPatt> PProcPatt;
44 
45  typedef vector<BuildInstruct> InstructionSequence;
46 
52  class ProcPatt
53  : public Struct
54  {
55  InstructionSequence instructions_;
56 
57  ~ProcPatt();
58 
59  ProcPatt (const Asset::Ident&, const InstructionSequence&);
60 
61  protected:
62  explicit ProcPatt (const Asset::Ident& idi);
63  friend class StructFactoryImpl;
64 
65  public:
66  lib::P<ProcPatt> newCopy (string newID) const;
67 
68  ProcPatt& attach (Symbol where, PProc& node);
69  ProcPatt& operator+= (PProcPatt& toReuse);
70 
71  };
72 
73 
74 
75 
76 }} // namespace steam::asset
77 #endif
"Processing Pattern" is a structural Asset representing information how to build some part of the ren...
Definition: procpatt.hpp:52
Steam-Layer implementation namespace root.
Implementation details, especially concerning how configuration queries are resolved and when to crea...
Token or Atom with distinct identity.
Definition: symbol.hpp:117
~ProcPatt()
emit VTable and member destructors here...
Definition: procpatt.cpp:33
a POD comprised of all the information sufficiently identifying any given Asset.
Definition: asset.hpp:149
ProcPatt(const Asset::Ident &, const InstructionSequence &)
Definition: procpatt.cpp:49
ProcPatt & operator+=(PProcPatt &toReuse)
extend the processing instructions by reference to another ProcPatt, which will be "executed" at this...
Definition: procpatt.cpp:109
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Definition: trait.hpp:71
key abstraction: structural asset Created automatically as a sideeffect of building the structure of ...
Definition: struct.hpp:104
Proc
Result instruction from Activity activation.
Definition: activity.hpp:140
lib::P< ProcPatt > newCopy(string newID) const
create a new ProcPatt asset as a literal copy of this one.
Definition: procpatt.cpp:65
The asset subsystem of the Steam-Layer.
Definition: wrapperptr.hpp:35
Asset representation of structural elements within the model.
ProcPatt & attach(Symbol where, PProc &node)
extend the processing instructions to add some Effect
Definition: procpatt.cpp:82