 |
PK_GEOM_copy_r_t |
|
struct PK_GEOM_copy_r_s
{
int n_copied_geoms;
PK_GEOM_t *copied_geoms;
PK_ENTITY_track_r_t tracking;
};
typedef struct PK_GEOM_copy_r_s PK_GEOM_copy_r_t;
This return structure contains the return from PK_GEOM_copy.
Used in:
PK_GEOM_copy
PK_GEOM_copy_r_f
If PK_GEOM_copy successfully copies the geometry then:
- The copies of the input geometry will be returned in the 'copied_geoms'
array. This array has length equal to 'n_geoms' ( the number of input
geometries). The copies will appear in the same order as the input
geometries were specified.
- The tracking information 'tracking' contains information about all
geometries that were copied as part of this call. In particular it holds
the copies of all geometric dependents that were implicitly copied.
Within 'tracking' all geometries are arranged according to their
geometric owner/dependent relationships with a separate track record
being created for each set of geometries which are mutually related.
This implies that there are no owner/dependent relationships between
any two geometries appearing in two distinct track records.
- In each track record there is a one to one correspondence between
original geometries and copied geometries ( these appear in the same
order). Furthermore, the entities in each track record are sorted so that
input geometries ( and consequently their copies) appear at the start of
the array 'original_entities' ( and 'product_entities' respectively).
If PK_GEOM_copy is unsuccessful then:
- The array 'copied_geoms' will have length 0.
- The return structure will be empty.
The fields are as follows:
'n_copied_geoms' Length of the array 'copied_geoms'.
'copied_geoms' Copies of the geometries in 'geoms'.
'tracking' Structure which holds information about all geometries
that were copied ( either explicitly or implicitly ) as
part of this call.