[Paraview] Plot over time splitting on IDs
Eric E. Monson
emonson at cs.duke.edu
Tue Jun 10 14:19:05 EDT 2008
Hey Berk,
Did you ever get a chance to look into this enough to see whether you
agree that it's a bug?
Thanks,
-Eric
On May 29, 2008, at 3:10 PM, Eric E. Monson wrote:
> Hey Berk,
>
> I may have tracked down what is going on with the time series
> getting split according to index when you're trying to plot
> (extract) over time using Global IDs:
>
> In vtkExtractArraysOverTime::vtkInternal::AddTimeStepInternal(),
> idsArray is being pulled from the data set using the name
> "vtkOriginalPointIds". These IDs are being used as a key for the
> extracted data (time series) blocks -- if the current key doesn't
> exist, then a new block is created (and the time series is split).
>
> The problem is that vtkExtractSelectedIdsCopyPoints() fills the
> "vtkOriginalPointIds" array with indices, whether the
> vtkSelection::ContentType() is GLOBALIDS or not. (GlobalIDs are
> copied correctly along with the extracted data, but that's not
> what's put into the new array.) It's unclear to me from the
> description of vtkExtractSelectedIds whether this is the intended
> behavior...
>
> So, I suspect that the desired fix would be to change something in
> vtkExtractArraysOverTime.cxx, like adding these four lines below
> line 306 (but I don't know enough to figure out whether this would
> screw up anything else):
>
> if (this->ContentType == vtkSelection::GLOBALIDS)
> {
> idsArray = vtkIdTypeArray::SafeDownCast(inDSA->GetGlobalIds());
> }
>
> Thanks, and let me know what you think,
> -Eric
>
>
> On May 27, 2008, at 5:52 PM, Berk Geveci wrote:
>
>> Hi Eric,
>>
>> This sounds like a bug to me too. I will investigate it soon.
>>
>> -berk
>>
>> On Tue, May 27, 2008 at 2:59 PM, Eric E. Monson
>> <emonson at cs.duke.edu> wrote:
>>> Hey All,
>>>
>>> I have a collection of vertices that represent biological cells in a
>>> simulation, read into ParaView (cvs, OS X) as an unstructured
>>> grid. Because
>>> the number of cells in the sim changes over time, I have to use a
>>> global ID
>>> to keep track of cell identities for plotting, etc. Since the Xdmf
>>> and XML
>>> VTK formats do not assign real Global IDs, I set this using the
>>> Python
>>> Programmable Filter (GetPointData().SetGlobalIds()).
>>>
>>> If I want to plot some scalar over time I select a point, then
>>> shift the
>>> Selection Type to Global IDs in the Selection Inspector, then Create
>>> Selection. I do the Copy Active Selection in Plot (Extract)
>>> Selection Over
>>> Time and the Copied Selection pane displays the proper Global ID.
>>>
>>> The problem is that the Plot Selection over time splits the time
>>> series for
>>> that Global ID every time the scalar ID (or whatever you call the
>>> regular ID
>>> or Index) for that vertex changes value. This results in a bunch
>>> of blocks
>>> listed under Root in the Select Block pane of the Extract
>>> Selection Over
>>> Time "Display" tab, all of them labeled with the same Global ID
>>> (screen cap
>>> attached). Checking the box next to any one of them displays the
>>> short time
>>> series in the plot, during which the scalar "ID" was constant.
>>>
>>> So, for some reason the filter seems to be splitting the data into
>>> "Blocks"
>>> based on scalar ID even when the selection is made based on Global
>>> ID, and
>>> the data for that Global ID exists for the complete time series.
>>>
>>> This seems like a bug to me, but please let me know if I'm just
>>> misinterpreting something.
>>>
>>> Thanks,
>>> -Eric
>>>
>>> ------------------------------------------------------
>>> Eric E Monson
>>> Duke Visualization Technology Group
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ParaView mailing list
>>> ParaView at paraview.org
>>> http://www.paraview.org/mailman/listinfo/paraview
>>>
>>>
>
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview
More information about the ParaView
mailing list