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);
 }