 |
PK_FACE_identify_blends_o_t |
|
struct PK_FACE_identify_blends_o_s
{
int o_t_version; --- version number of options
--- structure
PK_double_constraint_t limit_radii; --- only return blends with radii
--- that satisfy the constraint
--- ((PK_comparison_always_c,
--- (0, 0)))
PK_blend_convexity_t convexity; --- only blends of the
--- specified convexity will be
--- returned.
--- (PK_blend_convexity_any_c)
PK_LOGICAL_t allow_pi; --- whether to return blends
--- that span pi radians
--- (PK_LOGICAL_true)
double tolerance; --- tolerance (1.0e-6)
PK_LOGICAL_t want_radii; --- whether to return the blends
--- radii (PK_LOGICAL_false)
PK_LOGICAL_t want_convexities;--- whether to return the blends
--- convexities
--- (PK_LOGICAL_false)
PK_blend_follow_branch_t
follow_branch; --- whether to follow all possible
--- branches when building blend
--- chains
--- (PK_blend_follow_branch_yes_c)
PK_LOGICAL_t have_propagation_angle;
--- whether a 'propagation_angle'
--- has been specified
--- (PK_LOGICAL_false)
double propagation_angle;
--- maximum angular tolerance
--- for propagation (0.0)
PK_local_ops_update_t update; --- update flag
--- (PK_local_ops_update_default_c)
PK_chain_optimise_t optimise_chains; --- how the blend chains are to be
--- post-processed
--- (PK_chain_optimise_none_c)
PK_blend_report_blends_t
report_blends; --- whether to create Parasolid
--- reports for blends that
--- have been identified
--- (PK_blend_report_blends_no_c)
PK_blend_distant_unders_t
distant_unders;
--- whether to identify blends
--- whose underlying faces are
--- not adjacent to the blend
--- (PK_blend_distant_unders_no_c)
--- [NF]
};
typedef struct PK_FACE_identify_blends_o_s PK_FACE_identify_blends_o_t;
The PK_FACE_identify_blends_o_t structure provides the following controls:
Specific Errors:
PK_ERROR_bad_combination (MILD) 'follow_branch' is set to
PK_blend_follow_branch_no_c but
'ident_type' is not set to either
PK_blend_identify_exc_chain_c or
PK_blend_identify_inc_chain_c.
PK_ERROR_bad_value (MILD) 'propagation_angle' is < 0.0 or > 2*pi
PK_ERROR_bad_tolerance (MILD) 'tolerance' is too small
Used in:
PK_FACE_identify_blends
Description of fields:
'limit_radii' The 'limit_radii' structure restricts which blend
faces are returned such that only blend faces with
radii that satisfy the limit(s) specified are
returned. The option consists of an interval, and a
comparison operation that is used to compare the
values with the interval. The default is to return
all blends, regardless of their radii. See
Identifying blends based on radius for more
information.
'convexity' This option limits the blend faces returned such that
only blend faces of the requested convexity are
returned. The default value is
PK_blend_convexity_any_c. See
Identifying blends based on convexity for
more information.
'allow_pi' This option controls whether blend faces that have
cross-section circles that span pi radians are
returned.
The default is PK_LOGICAL_true.
'tolerance' This is the tolerance used by the blend
identification.
The default value is 1.0e-06.
'want_radii' If this flag is set to PK_LOGICAL_true the radii of
the blend faces found will be returned. See
Controlling returned information for more
information.
'want_convexities' If this flag is set to PK_LOGICAL_true the
convexities of the blend faces found will be returned.
See Controlling returned information for
more information.
'follow_branch' If this flag is set to PK_blend_follow_branch_no_c
and 'ident_type' is set to
PK_blend_identify_exc_chain_c or
PK_blend_identify_inc_chain_c, then at a branch face
if at least one of its adjacent blend faces is
supplied then the blend chain will only propagate onto
the supplied adjacent blend faces. If none of the
branch face's adjacent blend faces are supplied then
the blend chain propagates onto all adjacent blend
faces.
If this flag is set to PK_blend_follow_branch_yes_c
the blend chain may propagate from a branch face to
faces that were not supplied as well as to faces that
were supplied. See here for more
information.
'have_propagation_angle' Setting this flag to PK_LOGICAL_true indicates that
a 'propagation_angle' has been supplied and this will
be used to control propagation past sharp eges.
'propagation_angle' The maximum angle in radians at which propagation past
sharp edges is allowed. It is used whenever
'have_propagation_angle' is set to PK_LOGICAL_true.
See here for more information.
'update' The default value allows applications to take
advantage of the latest enhancements under blend
identification. To maintain consistency when
rebuilding models created in a previous version of
Parasolid, a non-default value should be specified.
The default value is PK_local_ops_update_default_c.
'optimise_chains' This option controls whether blend chains identifed
are to be optimised for subsequent operations.
The default value is PK_chain_optimise_none_c.
'report_blends' If this is set to PK_blend_report_blends_yes_c, then
a report will be returned for each identified blend
in the Parasolid report stream. Each report will
contain a record of type PK_REPORT_record_type_3_c
with a status of PK_REPORT_3_identified_blend_c and
will contain information on the identified blend. See
documentation for PK_REPORT_3_t for further details.
The default value is PK_blend_report_blends_no_c.
'distant_unders' This option controls whether blend faces with non-
adjacent under faces will be identified.
The default value is PK_blend_distant_unders_no_c.