 |
PK_TOPOL_track_record_r_t |
|
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 entities before
and after the modelling operation.
Used in:
PK_TOPOL_track_r_t
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 entities 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 entity within the
'original_topols' array.
'n_product_topols' The length of the 'product_topols' array.
'product_topols' The topologies resulting from 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 'original_topols' contains some or all of the deleted topologies.
o The class of the deleted entities can be determined from the
corresponding entry in the 'original_classes' array.
o 'product_topols' will be empty.
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 entities copied, or the entity
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.
PK_TOPOL_track_derive_c
o 'original_topols' holds the list of topology from which resulted in the
product topology, including the original topology from which any portion
was created and any unaltered original topology with which that was merged.
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 created by combination of
merging and splitting.