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: [email protected] [[email protected]] On Behalf Of Didier Roissé [[email protected]] Sent: 16 December 2009 17:31 To: Moreland, Kenneth Cc: [email protected] Subject: Re: [Paraview] time series Thanks, I forgot the include. 2009/12/16 Moreland, Kenneth <[email protected]<mailto:[email protected]>> 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é" <[email protected]<http://[email protected]>> 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. <[email protected]<http://[email protected]>> 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: [email protected]<http://[email protected]> [mailto:[email protected]] On Behalf Of Didier Roissé Sent: 16 December 2009 13:04 To: [email protected]<http://[email protected]> 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: [email protected]<http://[email protected]> ** *** ** phone: (505) 844-8919 *** web: http://www.cs.unm.edu/~kmorel<http://www.cs.unm.edu/%7Ekmorel> _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
