PK_FACE_change_offset_o_t   

struct PK_FACE_change_offset_o_s
    {
    int                o_t_version;
    PK_offset_method_t offset_method;   --- offset method
                                        --- (PK_offset_method_sx_trim_c)
    PK_LOGICAL_t       report_sx;       --- whether to report faces that have
                                        --- been repaired to remove
                                        --- self-intersections
                                        --- (PK_LOGICAL_false)
    PK_fix_degens_t    fix_degens;      --- control on repairing surface
                                        --- degeneracies (PK_fix_degens_no_c)
    PK_LOGICAL_t       report_fix_degens;
                                        --- whether to report faces that have
                                        --- been modified by the 'fix_degens'
                                        --- option (PK_LOGICAL_false)
    PK_offset_step_t   offset_step;     --- whether to create a step offset
                                        --- (PK_offset_step_no_c)
    PK_FACE_t          reference;       --- reference face (PK_ENTITY_null)
    PK_ref_alignment_t ref_alignment;   --- alignment for reference face
                                        --- (PK_ref_alignment_opposed_c)
    };
typedef struct PK_FACE_change_offset_o_s PK_FACE_change_offset_o_t;


This structure contains offset-specific optional controls for PK_FACE_change.


Specific Errors:
    PK_ERROR_not_implemented        (MILD)    a supplied enum value in the
                                              options structure is not
                                              implemented for this function

Used in:

PK_FACE_change_opts_t



Description of fields:


'offset_method'          The method used for repairing self-intersections
                         caused by offsetting surfaces in the body.

                         Note that, for facet geometry, there is only one
                         method for repairing self-intersections, so this
                         option is ignored for facet geometry.

                         The default value is PK_offset_method_sx_trim_c.


'report_sx'              If this is set to PK_LOGICAL_true, then a report will
                         be returned in the Parasolid report stream containing
                         a record of type PK_REPORT_record_type_1_c. This
                         record will have a status of
                         PK_REPORT_1_fa_sx_repair_c and will contain
                         information on faces that have been repaired in order
                         to remove self-intersections. The report will contain
                         faces that have been repaired by the method of
                         b-surface patching, as specified by setting
                         'offset_method' to a value other than
                         PK_offset_method_sx_trim_c. The faces will be returned
                         as followed:
                           o As 'old_items', a list of repaired faces that
                             existed on the original body.
                           o As 'new_items', a list of repaired faces that
                             exist on the resultant body.
                         If 'offset_method' is set to
                         PK_offset_method_sx_trim_c, then no report will be
                         returned.
                         The default value is PK_LOGICAL_false.


'fix_degens'             Controls when to repair degeneracies on surfaces. If
                         set to PK_fix_degens_offset_c, this option improves
                         the reliability when offsetting surfaces with
                         degeneracies, by modifying the surfaces in the regions
                         near the degeneracies.
                         If 'reference' is set to PK_ENTITY_null, then
                         PK_fix_degens_all_c may not be used for this option.
                         If 'reference' is not PK_ENTITY_null, then:
                           o PK_fix_degens_all_c indicates that the reference
                             face should be modified as well as the dependent
                             offset face, so that the dependent face is an
                             exact offset of the reference.
                           o PK_fix_degens_offset_c indicates that the
                             reference face should not be modified, unless the
                             reference face also has an offset operation
                             applied to it.
                         The default value is PK_fix_degens_no_c.


'report_fix_degens'      If this is set to PK_LOGICAL_true, then information
                         will be returned in the Parasolid report stream about
                         surfaces that have been repaired in order to improve
                         the reliability of offsetting degenerate surfaces, as
                         specified by the option 'fix_degens'. Each record will
                         be of type PK_REPORT_record_type_1_c and will have a
                         status of PK_REPORT_1_fa_fix_degens_c. It will
                         contain:
                           o As 'old_items', a set of faces on the original
                             body, followed by the original surface that they
                             share, which was repaired. In the case where the
                             original surface was an offset surface, this is
                             followed by the underlying b-surface.
                           o As 'new_items', the corresponding repaired
                             b-surface, followed by the corresponding offset
                             surface, followed by the corresponding faces on
                             the resultant body that the surfaces belong to.
                         If 'fix_degens' is set to PK_fix_degens_no_c, or no
                         surfaces are repaired, then no reports of this type
                         will be returned.
                         The default value is PK_LOGICAL_false.


'offset_step'            A "boundary edge" is an edge between a face which is
                         being offset and one which is not or between two faces
                         being offset different distances. If this option is
                         set to PK_offset_step_pierce_c then side faces will
                         be created along any smooth boundary edges between a
                         face which is being offset and one which is not. If
                         this option is set to PK_offset_step_all_c then side
                         faces will be created along any smooth boundary
                         edges. If this option is set to PK_offset_step_site_c
                         then side faces will be created along any smooth
                         boundary edges but will not be created if this can be
                         done by growing site faces. Site faces with facet
                         geometry will not be grown.

                         This option has no effect on the result if
                         there are no smooth boundary edges.

                         The default value is PK_offset_step_no_c.
                         See here for more
                         information.

                         See here for more information.


'reference'              If a reference face is specified then all the changed
                         faces will become offsets of this face instead and be
                         oriented according to the value of 'ref_alignment'.
                         In this case, 'offset_step' must be
                         PK_offset_step_no_c.
                         The default value is PK_ENTITY_null.


'ref_alignment'          If a reference face is specified then this option is
                         used to control the orientation of the offset face
                         with respect to the reference face.
                         It has two possible values
                          o PK_ref_alignment_opposed_c - The offset face is
                            oriented in the opposite direction to the
                            reference face.
                          o PK_ref_alignment_aligned_c - The offset face is
                            oriented in the same direction as the
                            reference face.
                         The default value is PK_ref_alignment_opposed_c.