struct PK_BODY_sew_bodies_o_s { int o_t_version; PK_LOGICAL_t set_global_tolerance, --- (PK_LOGICAL_false) allow_disjoint_result,--- (PK_LOGICAL_false) treat_as_manifold; --- (PK_LOGICAL_true) PK_BODY_sewing_type_t prefered_body_type; --- (PK_BODY_sewing_any_c) PK_BODY_sewing_removal_t duplicate_removal; --- (PK_BODY_sewing_remove_none_c) int number_of_iterations; --- (1) double *iteration_bounds; --- (NULL) }; typedef struct PK_BODY_sew_bodies_o_s PK_BODY_sew_bodies_o_t; Holds optional controls on the execution of sewing. The option structure defines options applicable to the sewing together of sheet bodies. The structure has six user fields: allow_disjoint_result: If true sewing can return several disjoint sheets produced by sewing. When this is false the only sheet returned is the one produced by sewing sheets onto the first one provided in the list of received bodies. ( default is false ) treat_as_manifold: Assume the result is manifold. If have more than two edges paired, assume the closest pairing is the intended one. prefered_body_type: An "enum" indicating the prefered type of the result. duplicate_removal: An "enum" indicating effort to be placed in removing duplications in the input sheets. number_of_iterations: This specifies the number of gap width bound values to iterate over while sewing. This must exceed 0. Where the 'number_of_iterations' is 1, the gap width bound specified in the 'gap_width_bound' argument is used for a single sewing attempt. Where the value of this option field exceeds 1, sewing will make the specified number of attempts to complete the sewing operation. If iteration is requested and the array held in 'iteration_bounds' is not NULL, an attempt to sew the bodies will be carried out at each gap width bound specified in the array ( assumed to hold 'number_of_iteration' values' ). The gap width bounds will be used in the order in which they appear in the array. It is expected that the best results will occur when the values are in ascending order. Iteration may be requested, with the value of 'iteration_bounds' set to NULL. In this case Parasolid will generate 'number_of_iterations' ascending values terminating in 'gap_width_bound'. The range of values chosen will not exceed two orders of magnitude, other than that the chosen values are not specified. iteration_bounds: If the number of iterations exceeds 1 this array will be used as the source of gap width bounds for each iteration unless it is set to NULL. In the latter case Parasolid will generate a range of gap width bounds based on the value of the 'gap_width_bound' passed to PK_BODY_sew_bodies. Where the number of iterations is one, this option field is ignored.