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