[Paraview] Temporal shift with Python Programmable Filter

Eric Monson emonson at cs.duke.edu
Tue Feb 5 12:39:21 EST 2008


Hey Ken,

That sounds like a reasonable guess. If that's the problem, do you  
know if there's a way to force the update to the correct time? I also  
can't seem to find any way of getting at the data object's time value...

It's just tough for me to figure out how to debug this one, unless  
someone can see something I've obviously left out.

Thanks,
-Eric


On Feb 5, 2008, at 12:03 PM, Moreland, Kenneth wrote:

> This is a total guess, but maybe it has something to do with the  
> time value placed in the data set.  Data objects often hold the time  
> value on which they are supposed to be defined.  Maybe when you copy  
> the shifted data, its time value is also shifted.  When you then  
> step the time, the new time now matches the shifted time from the  
> last time update.  Perhaps the pipeline sees the time match and does  
> not update the pipeline.
>
> -Ken
>
>> -----Original Message-----
>> From: paraview-bounces+kmorel=sandia.gov at paraview.org [mailto:paraview-
>> bounces+kmorel=sandia.gov at paraview.org] On Behalf Of Eric Monson
>> Sent: Monday, February 04, 2008 10:11 AM
>> To: ParaView List
>> Subject: [Paraview] Temporal shift with Python Programmable Filter
>>
>> Hey All,
>>
>> This may seem like an odd question, but I think the answer may help
>> clarify a larger problem I'm having...
>>
>> I'm trying to calculate the velocity vectors for diffusing particles,
>> and the way I'm doing it right now is to feed two copies of my
>> Unstructured Grid data into the Python Programmable Filter (PPF). The
>> first copy has a time shift of 0, and the second one has Shift = 1.
>> These are both Temporal Data Sets, and so I've been accessing the
>> underlying Unstructured Grids by doing this:
>>
>> in0 = self.GetInputDataObject(0,0).GetDataSet(0,0)
>> in1 = self.GetInputDataObject(0,1).GetDataSet(0,0)
>>
>> I force the PPF output to vtkUnstructuredGrid, and I have been making
>> the output equivalent to one of the input points like so:
>>
>> out1 = self.GetOutput()
>> out1.DeepCopy(in1)
>>
>> (In the complete calculation I later add a vtkFloatArray to "out1"
>> containing the calculated velocity vectors.)
>>
>> The odd thing I see is that if the output is a copy of the Shift = 0
>> point, I can increment time forward and backwards (arrow click on  
>> Time
>> control) and everything looks fine. If the output is a copy of the
>> Shift = 1 point, then on every other click it increments, and on the
>> other clicks it doesn't move or change its scalar values. (If Shift =
>> -1, then it increments properly backwards, but not forwards.)
>>
>> Is there some sort of update forcing I should be doing that I'm not?
>> Is this an unreliable way of accessing the data from within the
>> Temporal Data Sets?
>>
>> (I seemingly randomly get cases where my calculated velocity vector
>> goes to zero and won't snap out of it unless I rebuild the whole
>> pipeline from scratch, so I'm hoping I'm just doing something wrong
>> here...)
>>
>> Thanks for the help,
>> -Eric
>>
>> -----------------------------------------------------
>> Eric E. Monson
>> Duke Visualization Technology Group
>>
>>
>> _______________________________________________
>> ParaView mailing list
>> ParaView at paraview.org
>> http://www.paraview.org/mailman/listinfo/paraview
>



More information about the ParaView mailing list