Ocular Engine
SceneNode.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_CORE_SCENE_NODE__H__
19 #define __H__OCULAR_CORE_SCENE_NODE__H__
20 
21 #include <list>
22 
23 //------------------------------------------------------------------------------------------
24 
29 namespace Ocular
30 {
35  namespace Core
36  {
37  class SceneObject;
38 
39  enum class SceneNodeType
40  {
41  Root = 0,
42  Internal,
43  Leaf
44  };
45 
51  class SceneNode
52  {
53  public:
54 
55  SceneNode();
56  ~SceneNode();
57 
62  virtual void attachObject(SceneObject* object) = 0;
63 
64  //------------------------------------------------------------
65  // Public Variables
66 
67  SceneNodeType type;
69 
70  protected:
71 
72  private:
73 
74  };
75  }
79 }
84 //------------------------------------------------------------------------------------------
85 
86 #endif
virtual void attachObject(SceneObject *object)=0
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
SceneNode * parent
Parent node (null if this is root).
Definition: SceneNode.hpp:68
Definition: SceneNode.hpp:51
Definition: SceneObject.hpp:93
SceneNodeType type
What type of node this scene node is.
Definition: SceneNode.hpp:67