 |
PK_blend_edge_shape_t |
|
struct PK_blend_edge_shape_s
{
int n_ranges; --- number of ranges (0)
double *ranges_1; --- first ranges (0.0)
double *ranges_2; --- second ranges (0.0)
double *rhos; --- ranges (0.0)
PK_VECTOR_t *positions; --- positions where ranges apply
};
typedef struct PK_blend_edge_shape_s PK_blend_edge_shape_t;
This structure defines the shape of a variable radius rolling ball blend
on an edge.
Used in:
PK_EDGE_ask_blend
PK_EDGE_set_blend_variable
'n_ranges' number of positions along the edge at which ranges and rhos
are defined
`ranges_1[i]' range of blend off left face at `positions[i]'.
`ranges_2[i]' range of blend off right face at `positions[i]'.
`rhos[i]' rho value at `positions[i]'.
'positions' positions on edge at which ranges and rhos are defined.
All the ranges must be greater than twice the maximum precision of the edge
and its associated vertices.
The rhos must either be all zero, or all between zero and one.
When setting a blend with the 'xs_shape' option set to
PK_blend_xs_shape_conic_c, if the two ranges at each position are equal and
all rhos are zero, then the blend will have circular cross section. Otherwise
the blend will have conical cross section.
When setting a blend with the 'xs_shape' option set to PK_blend_xs_shape_g2_c,
if all rhos are zero, the cross-section will be curvature-continuous with
automatic depth control. Otherwise, the rhos are taken to specify the depth
of the curvature-continuous blend cross-section.