1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 
17 #pragma once
18 
19 /** \file
20  * \ingroup freestyle
21  * \brief Class to represent a view layer in Blender.
22  */
23 
24 #include "Node.h"
25 
26 #include "DNA_scene_types.h" /* for Scene and ViewLayer */
27 
28 using namespace std;
29 
30 namespace Freestyle {
31 
32 class NodeViewLayer : public Node {
33  public:
NodeViewLayer(Scene & scene,ViewLayer & view_layer)34   inline NodeViewLayer(Scene &scene, ViewLayer &view_layer)
35       : Node(), _Scene(scene), _ViewLayer(view_layer)
36   {
37   }
~NodeViewLayer()38   virtual ~NodeViewLayer()
39   {
40   }
41 
scene()42   inline struct Scene &scene() const
43   {
44     return _Scene;
45   }
46 
sceneLayer()47   inline struct ViewLayer &sceneLayer() const
48   {
49     return _ViewLayer;
50   }
51 
52   /*! Accept the corresponding visitor */
53   virtual void accept(SceneVisitor &v);
54 
55  protected:
56   Scene &_Scene;
57   ViewLayer &_ViewLayer;
58 };
59 
60 } /* namespace Freestyle */
61