 |
PK_BODY_loft_deriv_conds_t |
|
struct PK_BODY_loft_deriv_conds_s
{
PK_BODY_loft_curvature_t curvature_condition;
PK_BODY_loft_clamp_type_t type;
PK_BODY_loft_vector_clamp_t vector_clamp;
PK_BODY_loft_face_clamp_t face_clamp;
PK_BODY_loft_planar_clamp_t planar_clamp;
};
typedef struct PK_BODY_loft_deriv_conds_s PK_BODY_loft_deriv_conds_t;
This structure holds controls on the behaviour of the derivatives of the
lofted surfaces in the loft direction at a profile, or the profile direction at
a guide wire (which one is determined by context). Note that derivative
conditions cannot be applied to either occurrence of a repeated profile.
Used in:
PK_BODY_loft_end_conds_t
PK_BODY_make_lofted_body_o_t
The derivative conditions structure has the following fields.
'curvature_condition' Specifies the type of constraint to be applied
to curvature across the profile or guide.
For PK_BODY_loft_natural_c zero curvature is
implied and hence the natural loft end condition
is applied there. No further clamp conditions are
allowed. You cannot use natural curvature on
intermediate profiles, periodic lofts or on guide
wires.
For PK_BODY_loft_unconstrained_c (the default)
no condition is imposed explicitly on the
curvature. Subsequent clamp conditions are then
examined.
For PK_BODY_loft_clamped_c, the curvature is
constrained according to the clamp conditions. This
may only be used if 'type' is
PK_BODY_loft_clamp_face_c or
PK_BODY_loft_clamp_vec_face_c.
'type' Indicates the type of clamp conditions to be
applied to the derivatives of the loft surface
across the profile or guide. The selection of
clamp condition indicates which of the following
fields actually holds the description of
constraint.
For PK_BODY_loft_clamp_vector_c the 'vector_clamp'
field is examined for the description.
For PK_BODY_loft_clamp_face_c the 'face_clamp'
field is examined for the description.
For PK_BODY_loft_clamp_planar_c the 'planar_clamp'
field is examined for the description.
For PK_BODY_loft_clamp_vec_face_c both the
'vector_clamp' and 'face_clamp' fields are examined
for the description.
For PK_BODY_loft_clamp_vec_planar_c both the
'vector_clamp' and 'planar_clamp' fields are
examined for the description.
For PK_BODY_loft_clamp_no_c (the default)
no field is examined for the description. This is
the only allowed value when 'curvature_condition'
is set to PK_BODY_loft_natural_c or if the profile
the clamp is to be applied to is repeated.
'vector_clamp' Holds the first derivative constraint as a
collections of derivatives to be matched at each of
the vertices of the profile or guide.
'face_clamp' Specifies a set of faces neighbouring the profile
or guide whose derivatives at their boundary, and
across the profile or along the guide, must be
matched by the loft surface.
'planar_clamp' Specifies a normal vector that defines a plane
for clamping the loft, and a magnitude that
controls the size of the clamped derivatives.
See Specifying derivative conditions for more information.