Mercurial > hg > Members > kono > Cerium
diff TaskManager/Test/simple_render/update_sgp.cpp @ 28:243ee0a1fe6f
*** empty log message ***
author | gongo |
---|---|
date | Mon, 11 Feb 2008 13:32:30 +0900 |
parents | 3f68b2ef4fb0 |
children | e949a536a68d |
line wrap: on
line diff
--- a/TaskManager/Test/simple_render/update_sgp.cpp Sun Feb 10 18:32:33 2008 +0900 +++ b/TaskManager/Test/simple_render/update_sgp.cpp Mon Feb 11 13:32:30 2008 +0900 @@ -61,19 +61,28 @@ } */ -int update_sgp(SceneGraphPack *sgp, SceneGraphPack *_sgp) +int +update_sgp(SceneGraphPack *_sgp, SceneGraphPack *sgp) { - for (int i = 0; i < sgp->info.size; i++) { - //(*my_func[node->move])(node); - //(*my_func[node->interaction])(node, sgp); + for (int i = 0; i < sgp->info.size; i++) { + //(*my_func[node->move])(node); + //(*my_func[node->interaction])(node, sgp); + + if (sgp->node[i].pn != -1) { + get_matrix(sgp->node[i].translation, + sgp->node[i].angle, sgp->node[i].obj_pos, + sgp->node[sgp->node[i].pn].translation); + } else { + get_matrix(sgp->node[i].translation, + sgp->node[i].angle, sgp->node[i].obj_pos, + NULL); + } + } - if(sgp->node[i].pn != -1) { - get_matrix(sgp->node[i].translation, sgp->node[i].angle, sgp->node[i].obj_pos, sgp->node[sgp->node[i].pn].translation); - } - else { - get_matrix(sgp->node[i].translation, sgp->node[i].angle, sgp->node[i].obj_pos, NULL); - } - } - - return sizeof(SceneGraphPack); + // まあこれは多分駄目なんだけど。 + // in/out と update は分ける必要ある? + // それはユーザ側で in/out になるように書かせるもの? + memcpy(_sgp, sgp, sizeof(SceneGraphPack)); + + return sizeof(SceneGraphPack); }