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.