annotate Renderer/Engine/task/ExecMove.cc @ 898:302ebfc75a79 draft

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 16 Jul 2010 19:00:49 +0900
parents c3b4ddd4ccdc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
760
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
1 #include <stdlib.h>
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
2 #include <string.h>
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
3 #include "ExecMove.h"
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
4 #include "SgChange.h"
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
5 #include "SceneGraphRoot.h"
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
6
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
7 SchedDefineTask(ExecMove);
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
8
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
9 static int
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
10 run(SchedTask *smanager, void *rbuf , void *wbuf)
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
11 {
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
12 SgChange *sgchange = (SgChange *)smanager->get_param(0);
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
13 //SceneGraphRoot *sgroot = (SceneGraphRoot *)smanager->get_param(0);
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
14 SceneGraphRoot *sgroot = sgchange->sgroot_A;
823
c3b4ddd4ccdc 64bit (int) -> (long)
tkaito
parents: 760
diff changeset
15 long screen_w = (long)smanager->get_param(1);
c3b4ddd4ccdc 64bit (int) -> (long)
tkaito
parents: 760
diff changeset
16 long screen_h = (long)smanager->get_param(2);
760
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
17
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
18 //sgroot->updateControllerState();
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
19
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
20 SceneGraphPtr list = sgroot->sg_available_list;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
21 sgroot->allRemove(sgroot->sg_remove_list);
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
22
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
23 sgroot->sg_draw_tree = sgroot->sg_exec_tree;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
24 sgroot->sg_remove_list = sgroot->sg_available_list;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
25
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
26 sgroot->sg_exec_tree = NULL;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
27 sgroot->sg_available_list = NULL;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
28
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
29 sgroot->camera->move_execute(screen_w, screen_h);
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
30 sgroot->camera->update(screen_w, screen_h);
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
31
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
32 sgroot->camera->children = NULL;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
33 sgroot->camera->lastChild = NULL;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
34
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
35 list->move_execute(screen_w, screen_h);
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
36
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
37 sgroot->list = list;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
38
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
39 return 0;
0a602ba186e5 add task/ExecMove
hiroki
parents:
diff changeset
40 }