Mercurial > hg > Members > kono > Cerium
view TaskManager/Test/test_render/SceneGraph.h @ 195:8143bbade40d
fix
author | gongo@gendarme.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Sun, 25 Jan 2009 17:44:17 +0900 |
parents | 5cde66c926b4 |
children | eb20274baa7c |
line wrap: on
line source
#ifndef INCLUDED_SCENE_GRAPH #define INCLUDED_SCENE_GRAPH #ifndef INCLUDED_POLYGON # include "polygon.h" #endif #ifndef INCLUDED_PAD # include "Pad.h" #endif class SceneGraph; typedef void (*move_func)(SceneGraph* node, int screen_w, int screen_h); typedef void (*collision_func)(SceneGraph* node, int screen_w, int screen_h, SceneGraph* tree); typedef SceneGraph* SceneGraphPtr; class SceneGraph : public Polygon { public: SceneGraph(void); SceneGraph(xmlNodePtr surface); ~SceneGraph(void); // Node がもつ状態変数(というべきか否か // xyz,angle ぐらいあればおk? float stack_xyz[3]; float stack_angle[3]; // xml ファイルから生成した時のオブジェクトリスト SceneGraphPtr next; SceneGraphPtr prev; SceneGraphPtr last; // Tree Structure SceneGraphPtr parent; SceneGraphPtr brother; SceneGraphPtr children; SceneGraphPtr lastChild; // Tree から削除されていたら 1 をセット。default = 0 int flag_remove; // 関数ポインタ move_func move; collision_func collision; void init(void); void move_execute(int screen_w, int screen_h); void collision_check(int screen_w, int screen_h, SceneGraphPtr tree); void all_execute(int screen_w, int screen_h); void add_next(SceneGraphPtr next); SceneGraphPtr addChild(SceneGraphPtr child); SceneGraphPtr addBrother(SceneGraphPtr bro); SceneGraphPtr clone(void); SceneGraphPtr searchSceneGraph(char *name); void set_move_collision(SceneGraphPtr node, move_func new_move, collision_func new_collision); void set_move_collision(move_func new_move, collision_func new_collision); void remove(void); void realRemove(void); int isRemoved(void); static void createFromXMLfile(const char *); static SceneGraphPtr createSceneGraph(int id); void tree_check(void); void print_member(void); void get_data(xmlNodePtr cur); void delete_data(void); }; #endif // オリジナル (Linked List) extern SceneGraphPtr scene_graph; // 描画用 (同じオブジェクトが複数ある) Tree extern SceneGraphPtr scene_graph_view;