PK_SURF_intersect_surf   

PK_ERROR_code_t                   PK_SURF_intersect_surf
(
--- received arguments ---
PK_SURF_t                         surf_1,       --- surface_1
PK_SURF_t                         surf_2,       --- surface_2
const PK_SURF_intersect_surf_o_t *options,      --- options structure [PF]

--- returned arguments ---
int                        *const n_vectors,  --- number of point intersections
PK_VECTOR_t               **const vectors,    --- posns of point intersections
int                        *const n_curves,   --- number of intersection curves
PK_CURVE_t                **const curves,     --- intersection basis curves
PK_INTERVAL_t             **const bounds,     --- bounds of curves
PK_intersect_curve_t      **const types       --- types of intersections
)


PK_SURF_intersect_surf finds the intersections between two surfaces.

This function offers partial support for facet geometry [PF]


Specific Errors:
    PK_ERROR_bad_option_data        (MILD)    bad option structure data
    PK_ERROR_bad_shared_entity      (MILD)    surfaces must both be orphans
                                              or from same body
    PK_ERROR_not_in_same_partition  (MILD)    surfaces in different partitions
    PK_ERROR_bad_combination        (MILD)    an unsupported combination of
                                              classic and facet geometry has
                                              been supplied
    PK_ERROR_not_on_curve           (SERIOUS) given parameters not on curves
    PK_ERROR_cant_do_intersect      (SERIOUS) intersection cannot be done



 PK_SURF_intersect_surf finds the intersections between two surfaces
 ('surf_1' and 'surf_2'), returning intersection points ('vectors')
 and curves of intersection ('curves').

 The two surfaces must both be orphans or from the same body. In the second
 case any resulting curves will be created as construction geometry on the
 body.

 No attempt is made to define surface regions of partial coincidence, and
 if the surfaces are fully coincident no intersection data will be returned.

 Currently, curves returned from mixed geometry intersections are always
 polylines.

 The returned points ('vectors') will be returned at points where the surfaces
 make point contact. 'n_vectors' indicates the number of intersection points.

 The curves returned ('curves') will be the basis curves of trimmed curves,
 and their corresponding bound in 'bounds',  'n_curves' indicates
 the number of curves returned.

 'types' classifies curves as being either:

      PK_intersect_curve_simple_c : Simple intersection curves
   or PK_intersect_curve_tangent_c: Tangent intersection curves

 No attempt is made to define surface regions of partial coincidence, and
 if the surfaces of faces are fully coincident no intersection data will be
 returned.