[vtkusers] Difference between GLOBALIDS & PEDIGREEIDS
David E DeMarle
dave.demarle at kitware.com
Tue Jun 23 09:17:02 EDT 2009
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
>
More information about the vtkusers
mailing list