[Paraview] Re : How to update GUI/paraview when data and time change in a reader ?

R M mlokida at yahoo.fr
Thu Nov 25 08:54:13 EST 2010


So, I use the Modified() method that updates the internal time stamp for the 
object (from "The VTK User's Guide"). 

When I have attributes (points attributes  of a  vtkpolydata) with the same time 
steps, everything is fine and when I switch from one attribute to an other, the 
requested Time step is ok (because we have the same time steps).
But, when I have attributes with differents time steps (ex: A [1, 5, 10] and B 
[2, 6, 11]) there is a problem of update.  If I switch from an attribute to an 
other, the requested time step for the new selected attribute is the requested 
time step of the previous attribute.

So how can I correctly update  the requested time steps of the vtk pipeline when 
I updarte time steps and time range of the vtk pipeline ?



________________________________
De : R M <mlokida at yahoo.fr>
À : paraview at paraview.org
Envoyé le : Mer 24 novembre 2010, 14h 49min 36s
Objet : [Paraview] How to update GUI/paraview when data and time change in a 
reader ?


Hi,

Here’s my problems. I have a reader that load a geometry and some attributes (at 
the points). These attributes changed in the time and I can select one of them 
in a combo box (GUI in the reader).
For example, I have 2 attributes «A» and «B».  So In the reader, by default the 
first attribute is seleted (« A »).  The  selection in the reader GUI makes  the 
call of a method doing the change of the selected attribute (« A ») and 
corresponding time values. For time values it looks like this :

vtkDemandDrivenPipeline* ddp = 
vtkDemandDrivenPipeline::SafeDownCast(this->GetExecutive());
vtkInformationVector* outputVector = ddp->GetOutputInformation();
vtkInformation* outInfo = outputVector->GetInformationObject(0);
                    
outInfo->Set(vtkStreamingDemandDrivenPipeline::TIME_STEPS(), & timeData[0], 
numTimeData);                   

                                  
doubletimeRange[2];
 
timeRange[0] = timeData[0];
timeRange[1] = timData[numTimeData-1];                      
                    
outInfo->Set(vtkStreamingDemandDrivenPipeline::TIME_RANGE(), timeRange, 2);
 
The problems are the following. When I select «B» and make apply, timevalues 
corresponding to «B» are set and a new vtkPolyData is made with the 
corresponding point attribute data of «B» for the given time step. But, in 
paraview, the mapped variable of the toolbars is not update. «A» is always here 
(whereas I would like to have «B»). 


-> How and where can we say to paraview to update the GUI and have the B appears 
in the mapped variable of the toolbars ?

Moreover, Paraview has a geometry cache  (Edit/settings /Animation). But when 
for example atributes «A» and «B» have the same time values and that we have 
selected all the time step for « A », when we select «B», nothing is done 
because paraview has cached data for the «A» and for the same time values than 
«B». So paraview doesn’t need to update beacause it considerer to have data for 
the requested time step.

-> So, How can I say to Paraview that when a new attribute is selected, it needs 
to empty it’s cache and load data for requested time ?
 
Thank you.



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20101125/ebfc0b1b/attachment.htm>


More information about the ParaView mailing list