struct PK_TOPOL_track_record_r_s { PK_TOPOL_track_t track; int n_original_topols; int *original_topols; PK_CLASS_t *original_classes; int n_product_topols; PK_TOPOL_t *product_topols; }; typedef struct PK_TOPOL_track_record_r_s PK_TOPOL_track_record_r_t; This data structure encapsulates the association between topologies before and after the modelling operation. Description of fields: track This value of this field indicates what type of tracking information the record represents. Permitted values are : PK_TOPOL_track_delete_c PK_TOPOL_track_merge_c PK_TOPOL_track_create_c PK_TOPOL_track_split_c PK_TOPOL_track_derive_c n_original_topols The length of the original_topols and orig_classes arrays. original_topols The participating topologies in the modelling operation. The class of the entity is held in the corresponding element of original_classes array. original_classes The class of each participating topology within the in the original_topols array. n_product_topols The length of the product_topols array. product_topols The topologies which are a resultant of the modelling operation. The Contents of the Structure The expectations on the contents of the structure for each track type : PK_TOPOL_track_delete_c o product_topols will be empty. o The class of the deleted entities can be determined from the corresponding entry in the original_classes array. o original_topols contains some or all of the deleted topologies. PK_TOPOL_track_merge_c o original_topols contains the list of topologies merged. o The class of the merged entities can be determined from the corresponding entry in the original_classes array. o product_topols holds the list of surviving topology. PK_TOPOL_track_create_c o original_topols holds the list of topology copied, or the topology from which the existence of the products was inferred. o The class of the original entities can be determined from the corresponding entry in the original_classes array. o product_topols holds the newly created topology. PK_TOPOL_track_split_c o original_topols holds the list of topology that was split. o The class of the original entities can be determined from the corresponding entry in the original_classes array. o product_topols holds the list of topology resulting from the splitting operation.