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.


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.