PK_BODY_section_with_surf   


PK_ERROR_code_t            PK_BODY_section_with_surf
(
--- received arguments ---
PK_BODY_t                  target,        --- Body to be sectioned by surface
PK_SURF_t                  surface,       --- Sectioning surface
const PK_BODY_section_o_t *options,       --- Sectioning options

--- returned arguments ---
PK_section_r_t      *const results        --- front/back faces/bodies
)


This function sections the target body with the tool surface.


Specific Errors:

    PK_ERROR_contradictory_request      Bad combination of options or
                                        data for type of boolean
    PK_ERROR_missing_geom               Target or tool has incomplete
                                        geometry
    PK_ERROR_wrong_surface              Surface not a plane or cylinder
    PK_ERROR_wire_body                  Target or tool is a wire body
    PK_ERROR_partial_coi_found          Boolean failure due to to partial
                                        coincidence
    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





Introduction

The given target body is sectioned with the given tool surface. The
tool surface may be planar or cylindrical.

When the section surface intersects with the target body, the body will
be split, by the section surface, into two or more parts. The resulting
bodies are split into two lists, those in front of the section surface
and those behind it. These bodies are returned in the front_bodies and
back_bodies arrays of the results structure. All new faces associated
with these bodies which lie in the sectioning surface are returned in the
front_faces and back_faces arrays of the results structure.

The front of the section surface is regarded as the side to which the
surface normal points.

Any body unaffected by the sectioning operation will be left unchanged,
but will be put into the appropriate array within the results structure.

The operation of the surface sectioning function may be controlled via
an option structure passed to the function as an input argument.

This function operates similarly to the PK_BODY_boolean function,
especially with regard to the phases of the boolean algorithm,
rules concerning tag persistence and error reporting. Refer to
the PK_BODY_boolean documentation for information about these
subjects.


Section Options

The function can be instructed, via the fence option, to :

o Only calculate the bodies and faces in front of the section surface.
o Only calculate the bodies and faces behind the section surface.
o Calculate the bodies and faces in front and behind the section surface.


Returned Arguments

Refer to the PK_section_r_t documentation for information
about the arrays returned in the results structure.


Function Restrictions

The following restrictions apply to surface sectioning operations :

o The section surface may only be planar or cylindrical.

o This function does not support general bodies.


Option Restrictions

The following options within the input options are
ignored by this function :
    o check_fa
    o default_tol
    o max_tol
    o tracking