 |
PK_bound_def_t |
|
struct PK_bound_def_s
{
PK_bound_t bound; --- method of defining bound
PK_LOGICAL_t forward; --- whether bound in positive sense of path
double distance; --- extrusion distance
PK_ENTITY_t entity; --- bounding entity
PK_LOGICAL_t nearest; --- whether divisions are numbered from
--- nearest to or furthest from the
--- profile
int nth_division; --- select nth division
PK_bound_side_t side; --- which side is the first division if
--- the bound divides the profile
};
typedef struct PK_bound_def_s PK_bound_def_t;
This structure describes how an extruded body or feature is bound in one
direction.
Used in:
PK_BODY_extrude_o_t
It has the following fields:
'bound' method used for defining this bound. See the documentation
for PK_bound_t.
'forward' whether the bound is on the side of the given 'profile'
in the direction of the given 'path' vector, or on the other
side.
'distance' distance to bound when 'bound' is PK_bound_distance_c.
This must be greater than or equal to zero.
To extrude in the opposite direction to the 'path'
vector, 'forward' is set to PK_LOGICAL_false.
'entity' a bounding entity. This may be a body, face or surface
depending upon 'bound'.
'nearest' if PK_LOGICAL_true then divisions are numbered starting
from one and increasing in the direction moving away from
the profile. If 'nearest' is set to PK_LOGICAL_false then
the first division is that furthest from the 'profile' and
division numbers increase towards the 'profile'.
'nth_division' when 'bound' is one of: PK_bound_surf_c, PK_bound_face_c,
PK_bound_body_c or PK_bound_sheet_c then 'nth_division' may be
set to select a particular division.
'side' which side of the bounding entity intersecting the profile
is to count as the first division. This can only be one of
PK_bound_side_out_c or PK_bound_side_in_c when: 'bound' is
PK_bound_body_c or PK_bound_face_c, 'entity' is solid
and for the first and nearest division.