comparison TaskManager/Test/test_render/SceneGraphRoot.h @ 196:ecda783a926f draft

add SceneGraphRoot, tools/create_sglist.pl
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Sun, 25 Jan 2009 17:46:37 +0900
parents
children b832e6cff83e
comparison
equal deleted inserted replaced
195:4e66b3327c50 196:ecda783a926f
1 #ifndef INCLUDED_SCENE_GRAPH_ROOT
2 #define INCLUDED_SCENE_GRAPH_ROOT
3
4 #ifndef INCLUDED_SCENE_GRAPH
5 # include "SceneGraph.h"
6 #endif
7
8 class SceneGraphRoot {
9 public:
10 /* Constructor, Destructor */
11 SceneGraphRoot(void);
12 ~SceneGraphRoot(void);
13
14 /* Variables */
15 // xml から読み込んだ、オリジナルの SceneGraph
16 SceneGraphPtr *sg_src;
17
18 // move, collision 用の SceneGraph (tree)
19 SceneGraphPtr sg_exec_list;
20
21 // 描画用の SceneGraph List (tree)
22 SceneGraphPtr sg_draw_list;
23
24 // 現在存在する SceneGraph (double linked list)
25 SceneGraphPtr sg_available_list;
26
27 // コントローラーオブジェクト (Keyboard, Joystick, ..)
28 Pad *controller;
29
30 /**
31 * Functions
32 */
33 /* User API */
34 void createFromXMLfile(const char *);
35 SceneGraphPtr createSceneGraph(int id);
36 void setSceneData(SceneGraphPtr sg);
37
38 /* Other System API */
39 void allExecute(int screen_w, int screen_h);
40 void checkRemove(void);
41 SceneGraphPtr getExecuteSceneGraph(void);
42 SceneGraphPtr getDrawSceneGraph(void);
43 void updateControllerState(void);
44
45 /* System API */
46 void registSceneGraph(SceneGraphPtr sg);
47 void addNext(SceneGraphPtr sg);
48 };
49
50 typedef SceneGraphRoot *SceneGraphRootPtr;
51
52 #endif