 |
PK_ENTITY_track_record_r_t |
|
struct PK_ENTITY_track_record_r_s
{
PK_ENTITY_track_t track;
int n_original_entities;
int *original_entities;
PK_CLASS_t *original_classes;
int n_product_entities;
PK_ENTITY_t *product_entities;
};
typedef struct PK_ENTITY_track_record_r_s PK_ENTITY_track_record_r_t;
This data structure encapsulates the association between entities before
and after the modelling operation.
Used in:
PK_ENTITY_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_ENTITY_track_delete_c
PK_ENTITY_track_merge_c
PK_ENTITY_track_create_c
PK_ENTITY_track_split_c
PK_ENTITY_track_derive_c
'n_original_entities' The length of the 'original_entities' and
'original_classes' arrays.
'original_entities' 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_entities' array.
'n_product_entities' The length of the 'product_entities' array.
'product_entities' The entities resulting from the modelling operation.
The Contents of the Structure
The expectations on the contents of the structure for each track type :
PK_ENTITY_track_delete_c
o 'original_entities' contains some or all of the deleted entities.
o The class of the deleted entities can be determined from the
corresponding entry in the original_classes' array.
o 'product_entities' will be empty.
PK_ENTITY_track_merge_c
o 'original_entities' contains the list of entities merged.
o The class of the merged entities can be determined from the
corresponding entry in the 'original_classes' array.
o 'product_entities' holds the list of surviving entities.
PK_ENTITY_track_create_c
o 'original_entities' 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_entities' holds the newly created entities.
PK_ENTITY_track_split_c
o 'original_entities' holds the list of entities that were split.
o The class of the original entities can be determined from the
corresponding entry in the 'original_classes' array.
o 'product_entities' holds the list of entities resulting from the
splitting operation.
PK_ENTITY_track_derive_c
o 'original_entities' holds the list of entities from which resulted in the
product entities, including the original entities from which any portion
was created and any unaltered original entities 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_entities' holds the list of entities created by combination of
merging and splitting.