 |
PK_CURVE_make_wire_body_o_t |
|
struct PK_CURVE_make_wire_body_o_s
{
int o_t_version; --- version number of option structure
double tolerance; --- max separation between any two curve
--- endings that are to be connected
--- (0.000001)
PK_LOGICAL_t allow_disjoint; --- is the wire body allowed to be
--- disjoint? (PK_LOGICAL_true)
PK_LOGICAL_t allow_general; --- whether a general body is created for
--- suitable input and setting
--- (PK_LOGICAL_false)
PK_LOGICAL_t check; --- check the body for errors?
--- (PK_LOGICAL_true)
PK_LOGICAL_t want_edges; --- return the new edges in new_edges?
--- (PK_LOGICAL_false)
PK_LOGICAL_t want_indices; --- return the edge indices in edge_index?
--- (PK_LOGICAL_false)
PK_CURVE_sequential_t
sequential; --- whether the curves are supplied in the
--- correct sequence
--- (PK_CURVE_sequential_no_c)
};
typedef struct PK_CURVE_make_wire_body_o_s PK_CURVE_make_wire_body_o_t;
This options structure holds optional controls for PK_CURVE_make_wire_body_2.
Used in:
PK_CURVE_make_wire_body_2
See Specifying options for more information.
Description of fields:
'o_t_version' Version number of option structure.
'tolerance' The maximum separation between any two curve endings
that are to be connected. If more than two curve ends
are within this distance, the two closest will be
joined, if PK_SESSION_set_general_topology is set to
PK_LOGICAL_false.
If PK_SESSION_set_general_topology and 'allow_general'
are set to PK_LOGICAL_true, more than two
curves will be joined at a vertex if the created body
has a valid configuration. A supplied tolerance
which is smaller than the shortest supplied trimmed
curve will aid in creating a higher
quality general wire body.
Curve ends separated by a distance
greater than tolerance will never be connected.
The default is 0.000001.
'allow_disjoint' If PK_LOGICAL_true, then disjoint bodies can be
created. If PK_LOGICAL_false, and the supplied set of
curves and bounds would result in a disjoint body, then
the function will fail with PK_ERROR_not_connected.
This option must be set to PK_LOGICAL_false if
'sequential' is set to PK_CURVE_sequential_yes_c.
The default is PK_LOGICAL_true.
'allow_general' If PK_LOGICAL_true and PK_SESSION_set_general_topology
is set to PK_LOGICAL_true, then a general body may be
created. The default value is PK_LOGICAL_false.
'check' The created body will be checked for errors.
The default is PK_LOGICAL_true.
'want_edges' If PK_LOGICAL_true, the edges will be returned in
new_edge.
The default is PK_LOGICAL_false.
'want_indices' If PK_LOGICAL_true, then edge_index will be filled
with an array of integers, indicating the position in
the array of curves and bounds that refers to the curve
and bounds used to create the corresponding edge in
new_edges.
The default is PK_LOGICAL_false.
'sequential' If set to PK_CURVE_sequential_yes_c, then this
indicates that the curves are supplied in the sequence
which they should appear in the resultant body. This
means that only consecutive curves will be connected,
with the exception of the first and last curve which
will also be connected if it is possible to form a
closed body. This option may be useful if more than two
curves meet at a position. Setting this option to
PK_CURVE_sequential_yes_c also ensures improved
performance, and so should be used if the supplied
curves are known to be in the correct order. This
option must be set to PK_CURVE_sequential_no_c if
'allow_disjoint' is set to PK_LOGICAL_true.
If 'sequential' is PK_CURVE_sequential_yes_c,
then a manifold wire is created regardless of
whether general topology is enabled in the session.
The default is PK_CURVE_sequential_no_c.