Gridded3DSet.isosurf() and int[][] Pol_f_Vert

Hello Bill H and the VisAD mailing list,

i have a question about the int[] Pol_f_Vert array in the
Gridded3DSet.isosurf() method (actually, the 2nd-to-last parameter in the
isosurf() method, i'm referring to it as Pol_f_Vert).  As Bill said
before, Pol_f_Vert, "is an array that specifies the set of indices of
polygons adjacent to each vertex".

My question is (a detail oriented one) how is this array populated? If i
am correct the array is a mapping from vertices to polygons.  So the array
stores vertex indices that indicate which polygon(s) the vertices belong
to.  Is this correct?

But i do not understand how this array is populated.  It looks as if the
method starts off by allocating 9 index entries per polygon, meaning that
a vertex could belong to up to 8 polygons and (i'm guessing) the 9th entry
is a number indicating how many polygons the vertex belongs to.  Is this
correct?

Also, it is not clear how each vertex number is assigned to 1 of the 8
possible reserved slots for each polygon.  For example, let's say we
discover that vertex 1 belongs to polygons 1, 2, and 3.  How does the
method decide which of the possible 8 reserved slots to put a 1 into (for
polygons 1, 2 & 3, assuming that is how it works)?  Although from looking
at printouts of the array, it looks as if it's doing more computations
than i am querying about here.  There are in some cases quite a few more
slots of 9 entries than there are polygons, implying that the array is not
set up for 9 indices/polygon.

This array implementation is really baffling me. :(

-cheers, bob

PS  Thanks to Bill H. for answering my last (1,000) question(s). :>

Robert S Laramee        tel:    (603) 868-1361 (new as of 19 Jan '00)
9 Woodman Ave, #316     office: (603) 862-0350
Durham, NH 03828        URL:   http://www.cs.unh.edu/~rlaramee