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.