PK_EDGE_set_blend_variable   

PK_ERROR_code_t                       PK_EDGE_set_blend_variable
(
--- received arguments ---
PK_EDGE_t                             edge,           --- edge to have
                                                      --- blend set
PK_blend_edge_shape_t                 edge_shape,     --- shape of blend
const PK_EDGE_set_blend_variable_o_t *options,        --- options structure

--- returned arguments ---
int                            *const n_blend_edges,  --- number of edges with
                                                      --- blends set
PK_EDGE_t                     **const blend_edges     --- edges with blends
                                                      --- set
)


This function sets edges to have a variable 'radius' blend.

This function does not support facet geometry [NF]


Specific Errors:
    PK_ERROR_bad_blend_param    illegal combination of blend properties
                                (MILD)

    PK_ERROR_general_body       edge is from a general body
                                (MILD)

    PK_ERROR_bad_blend_rho_type attempted to specify a 'rho_type' other than
                                PK_blend_rho_type_absolute_c in conjunction
                                with a curvature-continuous blend.
                                (MILD)

    PK_ERROR_facet_geometry     edge is from a body with facet geometry
                                (MILD)


Attaches a variable radius blend with the given parameters to an edge. Any
existing attribute is replaced by one with the given parameters.

'edge_shape' is a structure defining the shape of the blend, as follows:

    'n_ranges'  if this is greater than 1 then a variable radius blend
                is produced, otherwise PK_ERROR_bad_blend_param is returned.

    'ranges_1'  is an array of length 'n_ranges', consisting of values
                specifying the range of the blend off the left face at the
                corresponding position.

    'ranges_2'  is an array of length 'n_ranges', consisting of values
                specifying the range of blend off the right face at the
                corresponding position.

    'rhos'      is an array of length 'n_ranges', consisting of values
                specifying the rho value at the corresponding position.

    'positions' is an array of length 'n_ranges', consisting of position
                vectors of the data points on the edge at which the blend
                ranges and rho values are defined.

    All ranges must be greater than twice the maximum tolerance of the edge
    and its associated vertices.

A successful result will produce a new blend attribute. It will return
the edge(s) to which the blend attribute is attached in the array
'blend_edges'.

See PK_BODY_fix_blends for making the blends a part of the topology.

Blends can be created on general bodies, so long as the portion of the body in
the neighbourhood of the blend is locally manifold.