PK_CURVE_self_int_t   

struct PK_CURVE_self_int_s
    {
    PK_self_int_type_t type;
    int                n_positions;
    PK_VECTOR_t       *positions;
    int                n_intervals;
    PK_INTERVAL_t     *intervals;
    int                n_entities;
    PK_ENTITY_t       *entities;
    };

typedef struct PK_CURVE_self_int_s PK_CURVE_self_int_t;



A structure packaging information about a self-intersection on a curve.

Used in:

PK_CURVE_self_ints_t


Each structure contains information on a single physical region in three-space
where the curve is self-intersecting. Each physical region consists of two or
more parametric regions.

The structure has the following fields :

'type'              Indicates the type of self-intersection.

'n_positions'       Indicates the number of positions returned. Currently this
                    will always equal 1.

'positions'         An array of length 'n_positions' containing positions in
                    three-space where the curve is self-intersecting. Note that
                    these may not be the only positions in the physical region
                    where the curve is self-intersecting. Currently only one
                    position will be returned.

'n_intervals'       Indicates the number of parametric intervals returned.

'intervals'         An array of length 'n_intervals'. This will contain two or
                    more parametric intervals where the curve is self-
                    intersecting. If a parametric region is a point, the
                    corresponding interval will have a zero width, indicating
                    the parameter of this point. For parametric regions which
                    are self-intersecting over an extended distance, this will
                    store the corresponding parameter interval.

'n_entities'        Unused.

'entities'          Unused.