 |
PK_replace_edge_data_t |
|
struct PK_replace_edge_data_s
{
int n_edges; --- number of edges (0)
const PK_EDGE_t *edges; --- edges to have curves replaced
--- (NULL)
const PK_CURVE_t *curves; --- replacement curves (NULL)
const double *tolerances; --- desired edge tolerances (NULL)
PK_replace_use_t replace_use; --- whether new geometry may be
--- created for edges in 'edge_data'
--- for which the existing/supplied
--- geometry cannot be used
--- (PK_replace_use_attempt_c) [PF]
};
typedef struct PK_replace_edge_data_s PK_replace_edge_data_t;
This structure is part of the PK_FACE_replace_surfs_o_t options
structure. It contains the edge curve replacement data.
Used in:
PK_FACE_change_o_t
PK_FACE_replace_surfs_o_t
Description of fields:
'n_edges' Number of edges. Length of the 'edges', 'curves' and
'tolerances' arrays.
The default value is 0.
'edges' Array of the edges.
The array default value is NULL.
'curves' Array of the user-provided replacement curves.
The direction of each curve is assumed to be
appropriate for the specified edges. No attempt
will be made to change the direction of the curves.
The value PK_ENTITY_null in this array indicates that the
corresponding edge's geometry is expected to be preserved.
The array default value is NULL.
'tolerances' Array of tolerances associated with the corresponding
edges in the 'edge_array'. A value of 0.0 indicates that
the associated edges are to be treated as accurate.
The array default value is NULL.
The corresponding edges in the resulting body will not
necessarily have this tolerance; if possible the edge will
be made accurate, otherwise, if a value smaller than the
supplied tolerance is found this is used. In some cases
the tolerance may need to be greater than this supplied
tolerance. In these cases the operation tolerance will be
used to determine if a suitable value exists.
Note: Edges which will be mixed after the operation must
have a tolerance of at least 5 times the session
precision.
'replace_use' Controls the behaviour when the corresponing curve for
an edge (i.e. either the supplied curve or the existing
curve on the edge if the corresponding curve was
PK_ENTITY_null) does not lie within tolerance of the
replacement surfaces.
The function can either ignore the supplied/existing curve
for such edges or fail.
The permitted values are:
PK_replace_use_attempt_c Attempt to use the given curve
(or existing curve if
PK_ENTITY_null) but create a new
curve if this is not satisfactory
PK_replace_use_yes_c Must use given curve (or
existing curve if PK_ENTITY_null)
or else return fault
PK_replace_use_existing_c For edges whose corresponding
curve is PK_ENTITY_null, treat as
PK_replace_use_yes_c. For edges
which are given a new curve treat
as PK_replace_use_attempt_c
The default value for 'replace_use' is
PK_replace_use_attempt_c
This option is ignored if called from
PK_FACE_replace_surfs_2.