 |
PK_BODY_intersect_bodies |
|
PK_ERROR_code_t PK_BODY_intersect_bodies
(
--- received arguments ---
PK_BODY_t target, --- Body to receive message
int n_tools, --- Number of tool bodies
const PK_BODY_t tools[], --- Tool bodies
--- returned arguments ---
int *const n_bodies, --- Number of resultant bodies
PK_BODY_t **const bodies --- Resultant bodies
)
This function performs a boolean intersect operation between the target
body and the list of tool bodies.
Specific Errors:
PK_ERROR_contradictory_request Bad combination of options or
data for type of boolean
PK_ERROR_same_tool_and_target Tool body is also target body
PK_ERROR_missing_geom Target or tool has incomplete
geometry
PK_ERROR_wire_body Tool is a wire body
PK_ERROR_duplicate_tools Duplication in list of tool bodies
PK_ERROR_instanced_tools Instanced tool bodies
PK_ERROR_mixed_sheets_solids Mixture of of sheet and solid
tool bodies
PK_ERROR_cant_unite_solid_sheet Attempt to unite solid and sheet
PK_ERROR_opposed_sheets Attempt to unite opposed sheets
PK_ERROR_cant_intsc_solid_sheet Cant intersect solid target with
sheet tool bodies
PK_ERROR_t_sheet Operation would result in a T-sheet
PK_ERROR_non_manifold Non-manifold result
PK_ERROR_boolean_failure Inconsistent arguments, or
internal error
PK_ERROR_general_body Target or tool is general body
A boolean intersect operation between the target body and the tool bodies
is performed. The target body is modified and the tool bodies are deleted,
unless the target is a wire body and generalised topology is disabled in the
session; in this case the tools are not modified. The resulting body or
bodies replace the target, and are returned in an array.
The target may be a wire body but the tools may not, and in this case the tools
must all be solids.
This function will accept general bodies in 'target' or 'tools' only if
generalised topology is enabled.
Refer to the 'PK_BODY_boolean_2' documentation for a more detailed
description of booleans.