 |
PK_FACE_intersect_face |
|
PK_ERROR_code_t PK_FACE_intersect_face
(
--- received arguments ---
PK_FACE_t face_1, --- first face
PK_FACE_t face_2, --- second face
const PK_FACE_intersect_face_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 curves
PK_INTERVAL_t **const bounds, --- bounds of curves
PK_intersect_curve_t **const types --- types of intersections
)
PK_FACE_intersect_face finds the intersections between two faces.
This function offers partial support for facet geometry [PF]
Specific Errors:
PK_ERROR_bad_option_data (MILD) bad option structure data given
PK_ERROR_missing_geom (MILD) face has no attached geometry
PK_ERROR_bad_combination (MILD) a mixture of facet and classic
geometry has been supplied
PK_ERROR_not_on_curve (SERIOUS) seed vector provided does not lie on
intersection of faces
PK_ERROR_cant_do_intersect (SERIOUS) intersection cannot be done
PK_FACE_intersect_face finds the intersections between two faces
('face_1' and 'face_2'), returning intersection points ('vectors')
and curves of intersection ('curves').
If the faces are from the same body any curves returned will be created as
construction geometry in the body.
If the faces are from different bodies and any of the curves returned are of
type intersection curve, then these curves will refer to copies of
the surfaces of faces.
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.
Currently, curves returned from mixed geometry intersections are always
polylines.
The returned points ('vectors') will be returned at points where the faces
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.
'type' classifies curves as being either:
PK_intersect_curve_simple_c : Simple intersection curves
or PK_intersect_curve_tangent_c: Tangent intersection curves