![]() |
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.