Lumiera  0.pre.03
»edit your freedom«
nodecreatortool.hpp
Go to the documentation of this file.
1 /*
2  NODECREATERTOOL.hpp - central Tool implementing the Renderengine building
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 
30 #ifndef MOBJECT_BUILDER_NODECREATORTOOL_H
31 #define MOBJECT_BUILDER_NODECREATORTOOL_H
32 
33 
35 
37 
38 
39 
40 namespace steam {
41 namespace mobject {
42 namespace builder {
43 
44  class ToolFactory;
45 
46 
54  : public ApplicableBuilderTargetTypes<NodeCreatorTool>
55  {
56  ToolFactory& toolKit_;
57 
61 
62 
64  : toolKit_(tofa),
65  proc_(proc)
66  { }
67 
68  friend class ToolFactory;
69 
70  public:
71  virtual void treat (mobject::session::Clip& clip) ;
72  virtual void treat (mobject::session::Effect& effect) ;
73  virtual void treat (mobject::session::Auto<double>& automation) ; //TODO: the automation-type-problem
74  virtual void treat (mobject::Buildable& something) ;
75 
76  void onUnknown (Buildable& target) ;
77  };
78 
79 
80 
81 }}} // namespace steam:mobject::builder
82 #endif /*MOBJECT_BUILDER_NODECREATORTOOL_H*/
Marker Interface for classes visitable by Builder tools.
Automation data for some parameter (i.e.
Definition: auto.hpp:47
provides the builder with the necessary, preconfigured tools.
Definition: toolfactory.hpp:59
A user visible/editable Clip is a reference to a contiguous sequence of media data loaded as Asset in...
Steam-Layer implementation namespace root.
Declaration of all kinds of MObjects to be treated by some "Builder tool".
This Tool implementation plays the central role in the build process: given a MObject from Session...
engine::RenderGraph & proc_
holds the RenderGraph (Render Engine Element) to be built by the current build step ...
Marker used to declare some visiting Tool class to be actually a mobject::builder::BuilderTool and to...