PK_TOPOL_fctab_facet_fin_t   

struct  PK_TOPOL_fcstr_facet_fin_s
       {
       int     facet;
       int       fin;
       };
typedef struct PK_TOPOL_fcstr_facet_fin_s
               PK_TOPOL_fcstr_facet_fin_t;
struct PK_TOPOL_fctab_facet_fin_s
       {
       PK_TOPOL_fcstr_facet_fin_t *data;
       int   length;
       };
typedef struct PK_TOPOL_fctab_facet_fin_s
               PK_TOPOL_fctab_facet_fin_t;

Used in:

PK_TOPOL_facet_r_t
PK_TOPOL_facet_table_t


This is a support structure for PK_TOPOL_facet_r_t and PK_TOPOL_facet_2_r_t.
It is a lookup table which 'groups' sets of fins owned by the same facet
together.

The outside of a facet is represented by an ordered sequence of 3 or more fins.
The fin sequence follows an anti-clockwise order when viewed down the facet
normal (i.e. from 'above' the facet).

The anti-clockwise ordering of fins and connected vertex entities is described
later as their 'conventional order'. The following diagram illustrates the
ordering of fins, viewed from above a quadrilateral facet mesh.

                ^   |             ^   |
          F     |   |      F      |   |     F
                |   v             |   v
      --------->     ------------>     -------->         ---------------
                  V                 V                   |  Key          |
      <---------     <------------     <-------         | ------------- |
                ^   |             ^   |                 |               |
          F     |   |      F      |   |     F           |   F    facet  |
                |   |             |   |                 |   V    vertex |
                |   v             |   v                 |  -->   fin    |
      --------->     ------------>     ------->         |               |
                  V                 V                    ---------------
      <---------     <------------     <------
                ^   |             ^   |
          F     |   |      F      |   |     F
                |   v             |   v

If a facet contains holes (having been created with the 'shape' mesh option
set to PK_facet_shape_any_c), it is represented by an ordered sequence of
exterior fins, followed by one or more sequences of interior fins,
representing holes in the facet. The exterior and interior sub-sequences of
fins are separated from each other by a 'null fin' value of -1.

The fin sequence of each interior hole in a face follows a clockwise order
when viewed from above the facet. The relative ordering of each interior fin
sub-sequence is arbitrary (other than following the exterior sequence).

Example

        f1
   v1---<--------------------------------------------------------------v4
    |         v5                     v8                       v11       |
    |      f5/ \                  f8/ \                   f11/ \        ^ f4
    |       /   \                  /   \                    /   \       |
    |      /     \f6              /     \f9                /     \f12   |
 f2 v       -<----                 -<----                   -<----      |
    |   v7  f7    v6         v10  f10    v9           v13  f13   v12    |
   v2--------------------------------------------------------------->---v3
                                                                    f3
This facet may be represented by the sequence

    f1  f2  f3  f4  -1  f5   f6   f7  -1  f8   f9  f10   -1  f11  f12  f13

    \__exterior__/   ^   \_interior_/  ^   \_interior_/   ^    \_interior_/
                     |                 |                  |
                 separator         separator          separator

The relative ordering of the interior sub-sequences "f5 f6 f7", "f8 f9 f10"
and "f11 f12 f13" is arbitrary.

Facets will not contain holes (and fin sequences will not contain 'null fin'
separators) if the 'shape' option has been set to PK_facet_shape_cut_c or
PK_facet_shape_convex_c.

Each facet is assigned an integer value from  0 to ('number_of_facets' - 1).