annotate Renderer/Test/property_test.h @ 755:8aaa29d3e874 draft

add Test/create_task {spe, task}/Property
author hiroki@henri.cr.ie.u-ryukyu.ac.jp
date Fri, 29 Jan 2010 11:34:43 +0900
parents e6b9bbed117c
children 4d83a6a958fd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
753
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
1 #include "Application.h"
755
8aaa29d3e874 add Test/create_task {spe, task}/Property
hiroki@henri.cr.ie.u-ryukyu.ac.jp
parents: 753
diff changeset
2 #include "SgChange.h"
753
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
3
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
4 typedef void (*spe_move_func)(void *cv, int screen_w, int screen_h);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
5 typedef void (*spe_collision_func)(void *cv, int screen_w, int screen_h);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
6
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
7 typedef struct {
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
8 double x, y, next_x, next_y;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
9 double vx, vy, next_vx, next_vy;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
10 double angle[3];
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
11 int can_move;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
12 int id;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
13 char *objname;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
14 spe_move_func move;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
15 spe_collision_func collision;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
16 SceneGraphPtr parent;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
17 SceneGraphPtr root;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
18 } *ChainPropertyPtr, ChainProperty;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
19
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
20 #define FALSE 0
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
21 #define TRUE !FALSE
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
22 #define CHAIN_LEN 50
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
23
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
24 static const double m = 100.0;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
25 static const double k = 7000.0;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
26 static const double g = 9.8;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
27 static const double dt = 0.003;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
28 static const double chain_width = 10;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
29 static const double safe = 0.995;
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
30
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
31 class Chain : public Application {
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
32 public:
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
33 Chain(){}
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
34
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
35 SceneGraphPtr scenegraph_factory(void *p, int size);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
36 SceneGraphPtr scenegraph_connector(void *p, int size, SceneGraphPtr s, SceneGraphPtr sg_available_list);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
37 void init(TaskManager *manager, int w, int h);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
38 void init_chain_vars(ChainPropertyPtr cv);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
39 void chain_move(TaskManager *manager, SceneGraphPtr sg, int w, int h);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
40 //void chain_collision(SceneGraphPtr sg, int w, int h, SceneGraphPtr osg);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
41 void chain_collision(ChainPropertyPtr cv, int w, int h);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
42 //void createSceneGraphFromProperty(SceneGraphPtr root, ChainPropertyPtr cv, Viewer *sgroot);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
43 //void property_swich();
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
44 //void set_properties(ChainPropertyPtr cv);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
45 MainLoopPtr init(Viewer *viewer, int screen_w, int screen_h);
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
46
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
47
e6b9bbed117c property add
admin@yin.cr.ie.u-ryukyu.ac.jp
parents:
diff changeset
48 };