diff TaskManager/Test/test_render/viewer.cc @ 445:579d71efbd70

test_render error fixed
author game@henri.cr.ie.u-ryukyu.ac.jp
date Fri, 25 Sep 2009 07:26:35 +0900
parents cf2704424cc0
children 4f11245e3504
line wrap: on
line diff
--- a/TaskManager/Test/test_render/viewer.cc	Fri Sep 25 05:54:33 2009 +0900
+++ b/TaskManager/Test/test_render/viewer.cc	Fri Sep 25 07:26:35 2009 +0900
@@ -11,6 +11,7 @@
 #include <wchar.h>
 #include "Pad.h"
 #include "Application.h"
+#include "Application/Chain.h"
 
 static void post2runLoop(void *viewer);
 static void post2runDraw(void *viewer);
@@ -19,6 +20,8 @@
 //static void post2exchange_sgroot(void *viewer);
 static void post2speRunLoop(void *viewer);
 static void post2runMoveDrawLoop(void *viewer);
+static void post2runMove(void *viewer_);
+
 
 /* measure for FPS (Frame Per Second) */
 int start_time;
@@ -295,11 +298,14 @@
     }
 }
 
+
 static void
 post2runMoveDrawLoop(void *viewer_)
 {
+
     Viewer *viewer = (Viewer*)viewer_;
-    
+    Application *application = viewer->application;
+
     // 同じ PPE 上なので sgroot(ポインタ) を add_param で送る。 
     //HTaskPtr send_key_task = viewer->manager->create_task(SEND_KEY);
     //send_key_task->add_param((int)sgroot);
@@ -311,16 +317,15 @@
 
     /* TASK_MOVE は外から引数で取ってくるべき */
     //HTaskPtr move_task = viewer->manager->create_task(viewer->move_taskid);
-    HTaskPtr move_task = viewer->manager->create_task(application->move_taskid);
+    HTaskPtr move_task = viewer->manager->create_task(application->move_task_id());
     move_task->add_inData(application->propertyPtr, application->property_size);
     move_task->add_outData(application->propertyPtr, application->property_size);
 
     HTaskPtr sg_update_task = viewer->manager->create_task(TASK_SG_UPDATE);
-
+    sg_update_task->spawn();
     HTaskPtr draw_task = viewer->manager->create_task(TASK_DRAW);
-    move_task->add_param(sgroot);
 
-    HTaskPtr switch_task = viewer->manager->create_task(                                TASK_SWITCH);
+    HTaskPtr switch_task = viewer->manager->create_task(TASK_SWITCH);
 
     switch_task->wait_for(move_task);
     switch_task->wait_for(draw_task);
@@ -328,6 +333,7 @@
     draw_task->spawn();
 
     switch_task->set_post(post2runMoveDrawLoop, (void*)viewer);
+    switch_task->set_post(post2speRunLoop, (void*)viewer);
     switch_task->spawn();
     
 }
@@ -345,7 +351,8 @@
 {
     HTaskPtr task_next = initLoop();
 
-    task_next->set_post(&post2runLoop, (void *)this); // set_post(function(this->run_loop()), NULL)
+    task_next->set_post(post2runLoop, (void *)this); // set_post(function(this->run_loop()), NULL)
+    task_next->set_post(post2runMove, (void *)this); // set_post(function(this->run_loop()), NULL)
     task_next->spawn();
 }