[Paraview] time series

Biddiscombe, John A. biddisco at cscs.ch
Wed Dec 16 12:30:12 EST 2009


Didier,

The find_if thing is really becuase in older paraview versions when the UPDATE_TIME_STEP was sent, it was sometimes rounded to float/double and slightly different from the declared value of time that the reader (for example) had really generated. All it does is find the closest time value to the ones you should have (actually, not closest, but one equal to or larger) - you don't rellay need it - at some point I'll update the tutorial. Leaving it in won't hurt and will at least ensure you get something meaningful.

JB


________________________________________
From: paraview-bounces at paraview.org [paraview-bounces at paraview.org] On Behalf Of Didier Roissé [didier.roisse at gmail.com]
Sent: 16 December 2009 17:31
To: Moreland, Kenneth
Cc: paraview at paraview.org
Subject: Re: [Paraview] time series

Thanks, I forgot the include.


2009/12/16 Moreland, Kenneth <kmorel at sandia.gov<mailto:kmorel at sandia.gov>>
This problem sounds totally unrelated to the first problem you reported.

Do you have #include <vtkstd/algorithm> at the top of your reader?  find_if is declared in this header.

-Ken



On 12/16/09 9:02 AM, "Didier Roissé" <didier.roisse at gmail.com<http://didier.roisse@gmail.com>> wrote:

Thanks John.

I try , but I have problem with this:

this->ActualTimeStep = vtkstd::find_if(
    this->TimeStepValues.begin(), this->TimeStepValues.end(),
    vtkstd::bind2nd( WithinTolerance( ), requestedTimeValue ))
    - this->TimeStepValues.begin();


I have always this following build error :
error : 'find_if' is not a member of std.

I don't understand what I'm doing wrong.



2009/12/16 Biddiscombe, John A. <biddisco at cscs.ch<http://biddisco@cscs.ch>>
Have a look at the time presentation on the paraview wiki under IEEE 2008 tutorial. you need XML + RequestInformation and then it should work

JB


From: paraview-bounces at paraview.org<http://paraview-bounces@paraview.org> [mailto:paraview-bounces at paraview.org] On Behalf Of Didier Roissé
Sent: 16 December 2009 13:04
To: paraview at paraview.org<http://paraview@paraview.org>
Subject: [Paraview] time series


Hello,
I write a plugin reader. And this reader reads data which is time dependent.
So in RequestInformation I set the different values for steps and the min and max value of time like this :

for(int i=0;i<nbtimesteps;i++)
               outInfo->Append(vtkStreamingDemandDrivenPipeline::TIME_STEPS(),timeStep[i]);

timeRange[0]=time_min;
timeRange[1]=time_max;
outInfo->Set(vtkStreamingDemandDrivenPipeline::TIME_RANGE(), timeRange, 2);

nbtimsteps is the number of steps.
and timeSteps[i] is the value of the time at the step i.



In RequestData I write the following line to see the value of UPDATE_TIME_STEPS.
if(outInfo->Has(vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS()))
      {
          double step = outInfo->Get(vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS())[0];
          int nSteps =
                outInfo->Length(vtkStreamingDemandDrivenPipeline::TIME_STEPS());
          double* steps =
                outInfo->Get(vtkStreamingDemandDrivenPipeline::TIME_STEPS());
          std::cout << "Step : "<<step<<endl;
          for(int i=0;i<nSteps;i++)
          {
            std::cout << "steps : "<<steps[i]<<endl;
          }
      }

 when I display outInfo->Get(vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS())[0] for the first time value,
I expected to have my first value of my timeStep, but I have 0.
And if I click on the next frame button in paraview, the next value is 0.1111111.

I don't understand what I am doing wrong.

Thanks,
Didier

PS : I use paraview 3.7





   ****      Kenneth Moreland
    ***      Sandia National Laboratories
***********
*** *** ***  email: kmorel at sandia.gov<http://kmorel@sandia.gov>
**  ***  **  phone: (505) 844-8919
    ***      web:   http://www.cs.unm.edu/~kmorel<http://www.cs.unm.edu/%7Ekmorel>




More information about the ParaView mailing list