![]() |
PK_offset_method_t |
typedef int PK_offset_method_t;
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.