PK_BB_sf_t   



    struct PK_BB_sf_s
        {
        PK_CLASS_array_t create;        --- creation classes
        PK_CLASS_array_t deleet;        --- deletion classes
        PK_CLASS_array_t copy;          --- copy classes
        PK_CLASS_array_t transfer;      --- transfer classes
        PK_CLASS_array_t merge;         --- merge classes
        PK_CLASS_array_t split;         --- split classes
        PK_CLASS_array_t transform;     --- transform classes
        PK_CLASS_array_t change_attrib; --- attribute classes
        PK_CLASS_array_t change;        --- change classes
        };
    typedef struct PK_BB_sf_s PK_BB_sf_t;



This standard form defines a bulletin board.


Specific Errors:
    PK_ERROR_bad_class_event_comb   class not allowed for event


The fields determine, for the various possible events, which classes
of entities will lead to events being recorded in the bulletin board.

The allowed combinations of classes and events are indicated by crosses in
the following table:
                                                                       c
                                                                       h
                                                                       a
                                                                       n
                                                                    t  g
                                                           t        r  e
                                                           r        a  _
                                                  c  d     a        n  a  c
                                                  r  e     n  m  s  s  t  h
                                                  e  l  c  s  e  p  f  t  a
                                                  a  e  o  f  r  l  o  r  n
                                                  t  e  p  e  g  i  r  i  g
                                                  e  t  y  r  e  t  m  b  e
------------------------------------------------|---------------------------|
                 PK_CLASS_part PK_CLASS_body    | X  X  X     X  X  X  X  X |
                               PK_CLASS_assembly| X  X  X     X  X  X  X    |
               ---------------------------------|---------------------------|
                               PK_CLASS_instance| X  X  X  X  X  X  X  X  X |
                               PK_CLASS_shell   | X  X  X  X  X  X  X  X  X |
PK_CLASS_topol                 PK_CLASS_face    | X  X  X  X  X  X  X  X  X |
                               PK_CLASS_loop    | X  X  X  X  X  X  X  X  X |
                               PK_CLASS_edge    | X  X  X  X  X  X  X  X  X |
                               PK_CLASS_vertex  | X  X  X  X  X  X  X  X  X |
                               PK_CLASS_region  | X  X  X  X  X  X  X  X  X |
------------------------------------------------|---------------------------|
                               PK_CLASS_surf    | X  X  X  X        X  X  X |
PK_CLASS_geom                  PK_CLASS_curve   | X  X  X  X        X  X  X |
                               PK_CLASS_point   | X  X  X  X        X  X  X |
------------------------------------------------|---------------------------|
                               PK_CLASS_group   | X  X  X  X  X  X  X  X  X |
                               PK_CLASS_transf  | X  X  X  X        X  X  X |
                               PK_CLASS_attdef  | X                         |
------------------------------------------------|---------------------------|

A BB standard form given to PK_BB_create may specify the superclasses
PK_CLASS_part, PK_CLASS_topol or PK_CLASS_geom where bulletining is required
for all of their subclasses and all of those subclasses are allowed for the
event.  BB standard forms returned by PK_BB_ask do not use these
superclasses (they are expanded into their subclasses).

Note that the name of the field for delete classes is deleet.
This is because delete is a reserved word in C++.