PK_blend_constraint_t   


struct PK_blend_constraint_s
    {
    PK_EDGE_array_t       cliff_edges;       --- cliff edges
    PK_EDGE_array_t       tangent_edges;     --- tangent holdline edges
    PK_EDGE_array_t       conic_edges;       --- conic holdline edges
    PK_EDGE_array_t       inv_tangent_edges; --- inverse tangent holdline edges
    PK_EDGE_array_t       inv_conic_edges;   --- inverse conic holdline edges
    PK_PLANE_t            limit_1;           --- first limit plane
                                             --- (PK_ENTITY_null)
    PK_PLANE_t            limit_2;           --- second limit plane
                                             --- (PK_ENTITY_null)
    };
typedef struct PK_blend_constraint_s PK_blend_constraint_t;




This structure records a set of blend constraints.


                    Blend Constraint Options:

 cliff_edges    Blend is constrained by cliff edges.
                  An array of edge tags is given.
                  The blend will be constrained to be cliffedge blend in the
                  region of the given edges.

 tangent_edges  Blend is constrained by tangent hold lines.
                  An array of edge tags is given.
                  The blend will be constrained to be a tangent
                  hold line blend in the region of the given edges.
                  For constant and variable radius rolling ball blends
                  the blend need not be constrained by these edges. If the
                  blend is a variable radius rolling ball blend, the left
                  and right ranges of the law curve must be equal.

 conic_edges    Blend is constrained by conic hold lines.
                  An array of edge tags is given.
                  The blend will be constrained to be a conic hold line
                  blend in the region of the given edges.
                  For constant and variable radius rolling ball blends
                  blend need not be constrained by these edges.  If the
                  blend is a curvature continuous blend then cliff_edges
                  and tangent_edges must not be set, and the number of edge
                  tags in the array must be at least two.

 inv_tangent_edges
                  Blend is constrained by inverted tangent hold lines.
                  An array of edge tags is given.
                  The blend will be constrained to be a tangent
                  hold line blend in the region of the given edges.
                  For constant and variable radius rolling ball blends
                  the blend need not be constrained by these edges. If the
                  blend is a variable radius rolling ball blend, the left
                  and right ranges of the law curve must be equal.

 inv_conic_edges
                  Blend is constrained by inverted conic hold lines.
                  An array of edge tags is given.
                  The blend will be constrained to be a conic hold line
                  blend in the region of the given edges.
                  For constant and variable radius rolling ball blends
                  blend need not be constrained by these edges.  If the
                  blend is a curvature continuous blend then cliff_edges
                  and tangent_edges must not be set, and the number of edge
                  tags in the array must be at least two.

 limit_1
 limit_2        Limit Planes.
                  One or two planes may be specified.
                  The blend will be trimmed to end in a constant parameter
                  line determined by a plane. The blend will lie on the
                  positive side of the plane.

This structure contains the topology which will constrain the blend.
All of the PK_EDGE_array_t fields will have their lengths set to zero
by the options structure macro. These options are turned on by setting
the length non-zero.

For further details on the use of these options please refer to the Face-Face
Blending Chapter of the Parasolid Functional Description.