Lumiera  0.pre.03
»edit your freedom«
nodefactory.cpp
Go to the documentation of this file.
1 /*
2  NodeFactory - Service for creating processing nodes of various kinds
3 
4  Copyright (C) Lumiera.org
5  2008, Hermann Vosseler <Ichthyostega@web.de>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 
21 * *****************************************************/
22 
23 
36 
38 
39 namespace steam {
40 namespace engine {
41 
43  ExitNode ExitNode::NIL{};
44 
45 
46  namespace { // Details of node fabrication
47 
49 
50  } // (END) Details of node fabrication
51 
52 
53  using mobject::Placement;
55 
56 
61  PNode
63  {
64  intendedWiring.resolveProcessor(effect->getProcAsset());
65  WiringDescriptor& wiring = wiringFac_(intendedWiring);
66 
67  ProcNode& newNode = alloc_.create<ProcNode> (wiring);
68  ENSURE (newNode.isValid());
69  return &newNode;
70  }
71 
72 
73 }} // namespace engine
A refcounting Handle to an MObject of type MO, used to constrain or explicitly specify the location w...
Definition: trait.hpp:91
Memory management for the low-level model (render nodes network).
Effective top-level exit point to pull rendered data from the nodes network.
Steam-Layer implementation namespace root.
Mechanism to wire ProcNode instances for a render network.
A factory to build processing nodes.
WiringSituation & resolveProcessor(asset::Proc const &procAsset)
trigger resolving of the actual processing function
Key abstraction of the Render Engine: A Data processing Node.
Definition: procnode.hpp:135
Interface: Description of the input and output ports, processing function and predecessor nodes for a...
Definition: procnode.hpp:78
static ExitNode NIL
storage for the »inactive« ExitNode marker
Definition: exit-node.hpp:103
Finding out about a concrete way of wiring up a ProcNode about to be built.
PNode operator()(mobject::session::PEffect const &, WiringSituation &)
create a processing node able to render an effect
Definition: nodefactory.cpp:62