PK_offset_method_t   

typedef int PK_offset_method_t;

Used in:

PK_BODY_hollow_o_t
PK_BODY_offset_o_t
PK_BODY_thicken_o_t
PK_FACE_change_offset_o_t
PK_FACE_hollow_o_t
PK_FACE_offset_o_t



When the underlying surface is tightly curved with respect to the offset
distance, the offset surface can contain self-intersections.

If an offset surface is to be self-intersecting, it is divided along
constant parameter lines into regions that contain self-intersections,
and regions that don't. Good regions that don't contain self-intersections
are offset from the corresponding divided underlying surface regions.

This datatype specifies the different methods available for removing and
healing regions that contain self-intersections.

It has the following values:

    PK_offset_method_sx_trim_c      Self-intersections are removed by
                                    trimming only. Regions containing
                                    self-intersections become holes.
                                    The success of overall operation
                                    relies on any holes left being healed
                                    completely by extending and intersecting
                                    neighbouring surfaces.

    PK_offset_method_sx_repair_1_c  Self-intersections are removed using
                                    the following procedures.

                                    1. Clean Trimming: A region containing
                                    self-intersections is simply discarded
                                    if the area can be trimmed cleanly by
                                    surrounding offset surface regions without
                                    leaving a hole on the offset model.

                                    2. B-surface Patching: Otherwise, the
                                    region of surface area is replaced by
                                    an approximate b-surface patch that
                                    joins the neighbouring good regions
                                    according to the given offset tolerance.

                                    3. Hole Healing: Otherwise, the region
                                    of self-intersection is trimmed to a
                                    hole for healing in a way similar to
                                    PK_offset_method_sx_trim_c.

    PK_offset_method_sx_repair_2_c  Self-intersections are removed as by
                                    PK_offset_method_sx_repair_1_c, but
                                    with an extended B-surface Patching
                                    procedure for regions at surface corners
                                    or boundary sides.



Values other than PK_offset_method_sx_trim_c offer more capabilities of
removing and healing self-intersections of offset surfaces. They are also
based on a superior method for detecting self-intersections. The value
PK_offset_method_sx_trim_c should be avoided wherever possible. See
Removing self-intersections for more information.