PanoramaViewer
 All Classes Namespaces Files Functions Variables Macros Pages
SceneNode.h
Go to the documentation of this file.
1 /*
2  * SceneNode.h
3  *
4  * Created on: 19 juin 2013
5  * Author: hallison
6  */
7 
8 #ifndef SCENENODE_H_
9 #define SCENENODE_H_
10 
11 #include <vector>
12 
13 #include "../Math/Matrix4.h"
14 #include "../Math/Vector3.h"
15 #include <stdlib.h>
16 
17 using namespace std;
18 
19 
20 namespace LayerSceneGraph {
21 
22 class SceneNode {
23 protected:
26 
28 
29  vector<SceneNode*> children;
30 
32 
33 public:
34  SceneNode();
35  virtual ~SceneNode();
36 
37  virtual void draw();
38  virtual void onTouch();
39  void addChild(SceneNode *s);
40  SceneNode *removeChild();
41 
42  Matrix4 getTransform();
43  void setTransform(Matrix4 m);
44 
45  Matrix4 getWorldTransform();
46  void setWorldTransform(Matrix4 m);
47 
48  SceneNode *getParent();
49  Vector3 getPosition();
50 
51  vector <SceneNode*>::const_iterator getChildteratorStart();
52  vector <SceneNode*>::const_iterator getChildteratorEnd();
53 };
54 
55 } /* namespace LayerSceneGraph */
56 #endif /* SCENENODE_H_ */