annotate TaskManager/Test/simple_render/task/update_sgp.cpp @ 89:a309cf4eafc5

*** empty log message ***
author gongo
date Wed, 27 Feb 2008 17:26:40 +0900
parents 61bacd3b4405
children 663bc2a213f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
89
a309cf4eafc5 *** empty log message ***
gongo
parents: 86
diff changeset
1 #include <string.h>
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
2 #include <math.h>
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
3 #include "scene_graph_pack.h"
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
4 #include "sys.h"
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
5 using namespace std;
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
6
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
7 #include "error.h"
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
8
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
9 int
48
70a0ac46133e *** empty log message ***
gongo
parents: 36
diff changeset
10 update_sgp(SceneGraphPack *sgp, SceneGraphPack *_sgp)
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
11 {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
12 SceneGraphNodePtr node;
36
650e46810d04 *** empty log message ***
gongo
parents: 35
diff changeset
13 float y_angle;
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
14
85
9b96b190cb73 *** empty log message ***
gongo
parents: 49
diff changeset
15 __debug("[%s]\n", __FUNCTION__);
49
64ef030deb22 *** empty log message ***
gongo
parents: 48
diff changeset
16
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
17 for (int i = 0; i < sgp->info.size; i++) {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
18 //(*my_func[node->move])(node);
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
19 //(*my_func[node->interaction])(node, sgp);
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
20
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
21 node = &sgp->node[i];
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
22
36
650e46810d04 *** empty log message ***
gongo
parents: 35
diff changeset
23 // 本当は、ここは上の my_func で行う
650e46810d04 *** empty log message ***
gongo
parents: 35
diff changeset
24 y_angle = node->angle[1];
650e46810d04 *** empty log message ***
gongo
parents: 35
diff changeset
25 y_angle += 1.0f;
650e46810d04 *** empty log message ***
gongo
parents: 35
diff changeset
26 if (y_angle > 360.0f) y_angle = 0.0f;
650e46810d04 *** empty log message ***
gongo
parents: 35
diff changeset
27 node->angle[1] = y_angle;
48
70a0ac46133e *** empty log message ***
gongo
parents: 36
diff changeset
28 //node->obj_pos[0] += 0.5f;
70a0ac46133e *** empty log message ***
gongo
parents: 36
diff changeset
29 //node->obj_pos[1] += 0.5f;
70a0ac46133e *** empty log message ***
gongo
parents: 36
diff changeset
30 //node->obj_pos[2] += 0.5f;
36
650e46810d04 *** empty log message ***
gongo
parents: 35
diff changeset
31
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
32 if (node->pn != -1) {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
33 get_matrix(node->translation,
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
34 node->angle, node->obj_pos,
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
35 sgp->node[node->pn].translation);
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
36 } else {
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
37 get_matrix(node->translation,
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
38 node->angle, node->obj_pos,
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
39 NULL);
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
40 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
41 }
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
42
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
43 // まあこれは多分駄目なんだけど。
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
44 // in/out と update は分ける必要ある?
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
45 // それはユーザ側で in/out になるように書かせるもの?
89
a309cf4eafc5 *** empty log message ***
gongo
parents: 86
diff changeset
46 memcpy(_sgp, sgp, sizeof(SceneGraphPack));
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
47
86
61bacd3b4405 *** empty log message ***
gongo
parents: 85
diff changeset
48 //return sizeof(SceneGraphPack);
61bacd3b4405 *** empty log message ***
gongo
parents: 85
diff changeset
49 return 0;
35
1e17e0b441a7 *** empty log message ***
gongo
parents:
diff changeset
50 }