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. 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. 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.