Mondschein Engine  0.3.0
scenenode.h
Go to the documentation of this file.
1 #ifndef SCENENODE_H_INCLUDED
2 #define SCENENODE_H_INCLUDED
3 
4 /* Mondschein Engine is a fast, powerful, and easy-to-use 3D realtime rendering engine.
5  *
6  * Copyright (C) 2009-2013 by Andreas Amereller
7  * E-Mail: andreas.amereller.dev@googlemail.com
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU General Public License as published by the Free
11  * Software Foundation; either version 3 of the License, or (at your option)
12  * any later version.
13  *
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
17  * more details.
18  *
19  * You should have received a copy of the GNU General Public License along
20  * with this program; if not, write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22  */
24 
25 #include "types.h"
26 
27 namespace mondschein
28 {
29  namespace scene
30  {
36  class Scenenode
37  {
38  private:
39  std::string id;
40  std::map<std::string,renderer::Renderable_c> renderables;
41 
42  protected:
43  explicit Scenenode();
44  explicit Scenenode(const std::string &_id);
45  explicit Scenenode(const std::map<std::string,renderer::Renderable_c> &_r);
46  explicit Scenenode(Scenenode_c _s);
47  virtual ~Scenenode();
48  virtual Scenenode &operator=(Scenenode_c _s);
49 
50  public:
56  virtual void set_renderables(const std::map<std::string,renderer::Renderable_c> &_r);
57 
63  virtual std::map<std::string,renderer::Renderable_c> get_renderables() const;
64 
72  virtual void set_id(const std::string& _id);
73 
81  virtual std::string get_id() const;
82  };
83  }
84 }
85 
86 #endif // SCENENODE_H_INCLUDED