PK_BODY_section_o_t   

struct PK_BODY_section_o_s
    {
    int                       o_t_version;    --- version number
    PK_section_fence_t        fence;          --- (PK_section_fence_both_c)
    const PK_boolean_match_o_t
                             *matched_region; --- region to match (NULL)
    PK_LOGICAL_t              merge_imprinted;--- whether mergeable imprinted
                                              --- edges are to be merged
                                              --- (PK_LOGICAL_false)
    PK_LOGICAL_t              merge_new_faces;--- whether this includes those
                                              --- adjacent to new section
                                              --- faces (PK_LOGICAL_false)
    PK_LOGICAL_t              selective_merge;--- whether to merge pre-existing
                                              --- edges that were mergeable
                                              --- before the section
                                              --- (PK_LOGICAL_false)
    PK_section_check_fa_t     check_fa;       --- whether to perform face
                                              --- checking
                                              --- (PK_section_check_fa_yes_c)
    double                    default_tol;    --- tolerance to which entities
                                              --- may be assumed to be
                                              --- coincident (1.0E-5)
    double                    max_tol;        --- maximum tolerance which may
                                              --- be applied (0.0)
    PK_LOGICAL_t              tracking;       --- whether to include tracking
                                              --- (PK_LOGICAL_false)
    PK_LOGICAL_t              keep_target_edges;
                                              --- which of coincident target
                                              --- and tool edges survives
                                              --- (PK_LOGICAL_false)
    PK_BODY_keep_as_facet_t   keep_as_facet;  --- whether to keep the result
                                              --- bodies as a facet body when
                                              --- the target is purely facet
                                              --- (PK_BODY_keep_as_facet_yes_c)
    };
typedef struct PK_BODY_section_o_s  PK_BODY_section_o_t;




This option structure is supplied to a section operation for bodies.

Used in:

PK_BODY_section_with_sheet
PK_BODY_section_with_sheet_2
PK_BODY_section_with_surf


Description of fields:



'fence'                  To determine which resultant bodies or faces are
                         returned when performing a body sectioning
                         operation. Permitted values are :
                             PK_section_fence_front_c
                             PK_section_fence_back_c
                             PK_section_fence_both_c


'matched_region'         Describes matched regions between the target face and
                         the tool sheet.
                         See PK_boolean_match_o_t and here for more
                         information.

                         Note that the 'matched_region' option is ignored in
                         calls to PK_BODY_section_with_surf.



'merge_imprinted'        Merge all mergeable imprinted edges created and/or
                         located by the section operation.
                         Note the following :
                          o an existing edge can be considered an imprinted
                            edge if it forms part of the intersection between
                            faces from the target and tool.
                          o mergeable edges which are adjacent to new section
                            faces are not merged (this behaviour is particular
                            to sectioning).



'merge_new_faces'        Merge all mergeable imprinted edges created by
                         the section operation including edges which are
                         adjacent to new section faces. This flag has no
                         effect if the 'merge_imprinted' field is not set
                         to PK_LOGICAL_true.



'selective_merge'        If this is set to PK_LOGICAL_true, the merge phase
                         will avoid mergeing imprinted edges that existed
                         and were mergeable before the start of the section.
                         This flag has no effect if 'merge_imprinted' is not
                         set to PK_LOGICAL_true.


'check_fa'               The value of this determines if face checking is
                         performed during the operation, permitted values
                         are :

                         PK_section_check_fa_no_c
                         PK_section_check_fa_yes_c

                         The default is set to 'PK_section_check_fa_yes_c'
                         and it is strongly advised not to change this value.
                         If the face checking is switched off, the section
                         operation may produce an invalid body without
                         raising an error.


'default_tol'            The default tolerance to which the sectioning
                         operation, if it has to, may approximate entities
                         or assume that entities are coincident. This value
                         should be set to a value that is related to the
                         tolerance to which the application is creating
                         approximations.
                         If this field is set to zero (0.0), it is assumed
                         that the decision to set tolerances on entities is
                         being left to the modeller.


'max_tol'                This value specifies the maximum tolerance which may
                         be applied to any entity involved in the sectioning
                         operation.
                         If this field is set to zero (0.0), the default, then
                         it assumed that no upper limit has been set on the
                         tolerance of any entity.
                         If the field is not set to zero (0.0), then it must be
                         set to a value that is greater than the value of the
                         'default_tol' field.


'tracking'               Request topology tracking data on the result
                         of the section.

                         Note that the 'tracking' option is ignored in
                         calls to PK_BODY_section_with_surf.



'keep_target_edges'      This option controls which edge survives when a
                         target edge and a tool edge coincide in a boolean. If
                         both faces adjacent to the tool edge survive, then the
                         tool edge will also survive. Otherwise, the result
                         depends on the setting of the option:

                         PK_LOGICAL_true:
                             The target edge survives, unless the target edge
                             is a new edge imprinted during the boolean, and
                             the tool edge is an original edge - in this case,
                             the tool edge survives.

                         PK_LOGICAL_false (the default):
                             The older edge (i.e. the one with the smaller tag)
                             survives.

                         This option only has an effect if general topology
                         is disabled. If it is enabled, then the target edge
                         will always survive, even if it is a newly imprinted
                         edge.


'keep_as_facet'          This option controls whether the result bodies are to
                         contain only facet geometry.
                         Note: this option is ignored in calls to
                         PK_BODY_section_with_sheet_2 or if the
                         target body contains any classic geometry.