[vtkusers] Difference between GLOBALIDS & PEDIGREEIDS

John Platt jcplatt at dsl.pipex.com
Wed Jun 24 04:25:41 EDT 2009


Hi Dave,

Thanks for your detailed explanation.

My requirement is to remove duplicate points when merging together 
sub-UGrids derived from a single UGrid. The subdivision is based on model 
properties rather than a spatial distribution and only involves a single 
processor. It looks as though I should be using GLOBALIDS for the points to 
achieve this.

BTW is there a filter which will merge UGrids and remove duplicate points 
based on GLOBALIDS?

Thanks for your help.

John.


----- Original Message ----- 
From: "David E DeMarle" <dave.demarle at kitware.com>
To: "John Platt" <jcplatt at dsl.pipex.com>
Cc: "vtkusers" <vtkusers at vtk.org>
Sent: Tuesday, June 23, 2009 2:17 PM
Subject: Re: [vtkusers] Difference between GLOBALIDS & PEDIGREEIDS


PedigreeIDs are meant to be used to trace an element's (either cell or
point) history back through the pipeline so that, for example, you can
look at the pedigree id of a cell on the screen and determine what
element in the reader ended up there. The comment about 1:1 means that
pedigree ids are supposed to allow for splitting (1:N) and even
merging N:1. Note also that the PedigreeID array is a
vtkAbstractArray, not a vtkDataArray, which means it can hold strings
and Variants.

GlobalIDs are sometimes used for the same purpose but have the
additional connotation that any elements in a dataset with the same ID
refer to the same thing and can be considered redundant. Here 1:1
means that even if a filter happens to split an element in two, either
one of them may be safely eliminated without loss of information. This
is used in the DistributedDataFilter to cull redundant cells after
parallel processors merge portions of data sets together. Note also
that the GlobalID array must be a vtkDataArray (most often
vtkIdTypeArray), so it can only hold fixed width tuples of things like
numbers or characters. This means they are faster then PedigreeIDs but
makes it impossible to trace back history with GlobalIDs when that
history involves merging.

cheers,
David E DeMarle
Kitware, Inc.
R&D Engineer
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x109



On Tue, Jun 23, 2009 at 4:33 AM, John Platt<jcplatt at dsl.pipex.com> wrote:
> Hi,
>
> Can anyone point me in the direction of a description of GLOBALIDS and how
> they differ from PEDIGREEIDS?
>
> From the source code comments for GLOBALIDS
>
> - Global IDs should not be interpolated because they are labels, not
> "numbers"
> - Global IDs should not be copied either, unless doing so preserves
> meaning.
> - Passing through is usually OK because it is 1:1.
> - Must be of type vtkIdType.
> - Must be unique?
>
> and PEDIGREEIDS
>
> - Pedigree IDs should not be interpolated because they are labels, not
> "numbers"
> - Pedigree IDs may be copied since they do not require 1:1 mapping.
> - Can be any type.
> - Need not be unique?
>
>
> For example, if all my points are given unique labels of type vtkIdType,
> some having the same coordinates (coincident), these would seem to fall 
> into
> the GLOBALIDS category. Given a line cell with point labels 8 & 9 (say), 
> it
> doesn't make sense to interpolate these labels if it is cut or clipped but
> given vertices with point labels 10 & 11 (say) clipping would preserve
> meaning.
>
> Any help would be much appreciated.
>
> Thanks,
>
> John.
>
>
> _______________________________________________
> 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 VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
_______________________________________________
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 VTK FAQ at: 
http://www.vtk.org/Wiki/VTK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers





More information about the vtkusers mailing list