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.