Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r921 - trunk/fox/afr_demo/Engine/Control


Chronological Thread 
  • From: abhinav@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r921 - trunk/fox/afr_demo/Engine/Control
  • Date: Thu, 9 Feb 2006 18:43:22 -0700 (MST)

Author: abhinav
Date: Thu Feb  9 18:43:22 2006
New Revision: 921

Modified:
   trunk/fox/afr_demo/Engine/Control/AFRPipeline.cc
Log:
fixed the error when getSamplesDone is called even before samplesDone is 
initialized.

(I hope so)



Modified: trunk/fox/afr_demo/Engine/Control/AFRPipeline.cc
==============================================================================
--- trunk/fox/afr_demo/Engine/Control/AFRPipeline.cc    (original)
+++ trunk/fox/afr_demo/Engine/Control/AFRPipeline.cc    Thu Feb  9 18:43:22 
2006
@@ -331,25 +331,25 @@
 
 Real AFRPipeline::getCurrentTime()
 {
-  current_samples = currentImageTraverser->getSamplesDone();
-  allThreadInitDone = true;
   if(!allThreadInitDone)
   {
-    if(!currentImageTraverser->allThreadsInitialized())
-    {
-      allThreadInitSampleCount = current_samples;
-      allThreadInitTime = SCIRun::Time::currentSeconds();
-      cout << "ALL threads not initialized by time " << allThreadInitTime << 
endl;
-    }
-    else
+    if(currentImageTraverser->allThreadsInitialized())
     {
       allThreadInitDone = true;
-      cout << "ALL threads initialized " << endl;
+      current_samples = allThreadInitSampleCount = 
currentImageTraverser->getSamplesDone();
+      if(timeMode==RealTime) 
+         allThreadInitTime = SCIRun::Time::currentSeconds();
+      else
+         allThreadInitTime = static_cast<double>(current_samples) / 
fixed_sampling_rate;
+      cout << "ALL threads initialized at time" << allThreadInitTime << endl;
     }
   }
+  else
+  {
+     current_samples = currentImageTraverser->getSamplesDone();
+  }
   switch(timeMode){
     case RealTime:
-      //animFrameState.frameTime = (allThreadInitDone)? 
(SCIRun::Time::currentSeconds()-allThreadInitTime) * timeScale : 0.0f;
       animFrameState.frameTime = SCIRun::Time::currentSeconds() * timeScale;
       break;
     case FixedRate:
@@ -358,6 +358,7 @@
     case Static:
       break;
   }
+  animFrameState.frameTime -= allThreadInitTime;
   //cout << "time: " << animFrameState.frameTime << endl;
   return animFrameState.frameTime;
 }




  • [MANTA] r921 - trunk/fox/afr_demo/Engine/Control, abhinav, 02/09/2006

Archive powered by MHonArc 2.6.16.

Top of page