![]() |
PK_SURF_trim_data_t |
struct PK_SURF_trim_data_s { int n_spcurves; --- number of trimming curves PK_CURVE_t *spcurves; --- trim curves PK_INTERVAL_t *intervals; --- trim curve intervals int *trim_loop; --- which trim loop int *trim_set; --- which trim set }; typedef struct PK_SURF_trim_data_s PK_SURF_trim_data_t; This structure records surface trimming data
PK_DEBUG_data_t
PK_FACE_output_surf_trimmed
PK_MESH_make_surf_trimmed
PK_SURF_make_sheet_trimmed
Trim data for a surface consists of zero or more trim loops making up zero or more trim sets. Each trim set represents a connected piece of trimmed surface. Each trim loop is made up of bounded curves. Each bounded curve is represented by a curve and a parametric interval. 'spcurves' consists of an array of bounded curves which describe the boundary loops of the trimmed surface. More information on 'spcurves' is provided in the documentation of PK_FACE_output_surf_trimmed, PK_SURF_make_sheet_trimmed and PK_MESH_make_surf_trimmed. 'intervals' is an array of each curve's bounding interval. Trim sets and trim loops are identified by integers. When a PK_SURF_trim_data_t is returned from PK_FACE_output_surf_trimmed or PK_MESH_make_surf_trimmed, then trim sets and trim loops will each be allocated identifiers commencing from 0 and increasing by one. When a PK_SURF_trim_data_t is input to PK_SURF_make_sheet_trimmed, there are no limitations on trim loop identifiers. As an example, if there are two trim_sets and the first has 2 trim_loops, then the fields may be as follows: spcurves trim_loop trim_set 1 0 0 2 0 0 3 0 0 4 0 0 5 1 0 6 1 0 7 1 0 8 2 1 9 2 1 10 2 1 11 2 1 trim_set 0 has trim_loops 0 and 1. trim_loop 0 has spcurves 1 to 4 and trim_loop 1 has spcurves 5 to 7. trim_set 1 has trim_loop 2 which has spcurves 8 to 11.