[vtk-developers] [VTK 0012208]: ExodusIIReader handles requested time wrongly

Mantis Bug Tracker mantis at public.kitware.com
Thu May 19 14:20:19 EDT 2011


The following issue has been SUBMITTED. 
====================================================================== 
http://www.vtk.org/Bug/view.php?id=12208 
====================================================================== 
Reported By:                Johannes Feist
Assigned To:                
====================================================================== 
Project:                    VTK
Issue ID:                   12208
Category:                   (No Category)
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2011-05-19 14:20 EDT
Last Modified:              2011-05-19 14:20 EDT
====================================================================== 
Summary:                    ExodusIIReader handles requested time wrongly
Description: 
The ExodusIIReader seems to handle the time that is requested from the pipeline
(via UPDATE_TIME_STEPS) wrongly. Specifically, in the routine
vtkExodusIIReader::RequestData(vtkInformation* vtkNotUsed(request),
  vtkInformationVector** vtkNotUsed(inputVector),
  vtkInformationVector* outputVector), there is an int timeStep that is set to
this->TimeStep in the beginning. Afterwards, this->TimeStep is updated to the
value closest to the requested UPDATA_TIME_STEP. Then, however, timeStep is used
as the time step for which data is requested, instead of this->TimeStep. I.e.,
one always gets the data from the time step that was correct in the _previous_
call of RequestData. The following patch fixes this:

--- orig/VTK/Hybrid/vtkExodusIIReader.cxx       2010-09-27 16:40:04.000000000
-0400
+++ VTK/Hybrid/vtkExodusIIReader.cxx    2011-05-19 13:43:23.000000000 -0400
@@ -5593,7 +5593,7 @@
   vtkMultiBlockDataSet *output = vtkMultiBlockDataSet::SafeDownCast(
outInfo->Get( vtkDataObject::DATA_OBJECT() ) );

   // Check if a particular time was requested.
-  int timeStep = this->TimeStep;
+  //int timeStep = this->TimeStep;

   if ( outInfo->Has( vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS() ) )
     { // Get the requested time step. We only support requests of a single time
step in this reader right now
@@ -5670,8 +5670,8 @@
     haveFastPath = true;
     }

-  //cout << "Requesting step " << timeStep << " for output " << output << "\n";
-  this->Metadata->RequestData( timeStep, output );
+  //cout << "Requesting step " << this->TimeStep << " for output " << output <<
"\n";
+  this->Metadata->RequestData( this->TimeStep, output );
   this->ProducedFastPathOutput = this->Metadata->ProducedFastPathOutput;

   // Restore previous fastpath values so we don't respond to old pipeline
requests



====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-05-19 14:20 Johannes Feist New Issue                                    
======================================================================




More information about the vtk-developers mailing list