 |
PK_FACE_change_o_t |
|
struct PK_FACE_change_o_s
{
int o_t_version;
--- version number of option
--- structure
PK_LOGICAL_t merge_face;
--- whether changed faces are to
--- be merged with their
--- neighbours, if feasible
--- (PK_LOGICAL_true)
PK_LOGICAL_t allow_disjoint;
--- whether disjoint body can
--- be produced
--- (PK_LOGICAL_false)
PK_check_fa_fa_t check_fa_fa;
--- check for face-face
--- inconsistencies
--- (PK_check_fa_fa_yes_c)
PK_change_edge_geom_data_t
edge_geom_data;
--- data used to control the geometry
--- of a specified set of edges [PF]
PK_replace_edge_data_t edge_data; --- replace data for edges [PF]
PK_replace_vertex_data_t vertex_data;--- replace data for vertices
PK_replace_help_points_t edge_help; --- edge help points
PK_replace_help_points_t vertex_help;--- vertex help points
PK_replace_update_t replace_update;
--- replace update flag
--- (PK_replace_update_default_c)
PK_local_ops_update_t update; --- update flag
--- (PK_local_ops_update_default_c)
PK_FACE_prefer_adj_t adjacency; --- specifies how to control the
--- interaction between change faces
--- and adjacent faces
--- (PK_FACE_prefer_adj_keep_c)
PK_FACE_grow_t grow; --- controls which faces to grow when
--- repairing clashes [PF]
--- (PK_FACE_grow_update_c)
PK_FACE_grow_cb_f_t grow_cb; --- user callback function for
--- control of faces to grow when
--- repairing clashes
--- ( NULL )
PK_POINTER_t grow_data; --- user data for callback function
--- ( NULL )
PK_VERTEX_limit_t vertex_limit;
--- How to constrain the maximum
--- tolerance required by each vertex
--- (PK_VERTEX_limit_no_c)
PK_EDGE_limit_t edge_limit;
--- How to constrain the maximum
--- tolerance required by each edge
--- (PK_EDGE_limit_no_c)
PK_repair_fa_fa_t repair_fa_fa;
--- repair face-face inconsistencies
--- (PK_repair_fa_fa_no_c)
PK_FACE_trim_cb_f_t trim_cb; --- user callback function for
--- control of faces to trim when
--- repairing clashes
--- ( NULL )
PK_POINTER_t trim_data; --- user data for callback function
--- ( NULL )
PK_LOGICAL_t report_surf_extension;
--- whether to report surfaces that
--- have been extended during the
--- operation
--- ( PK_LOGICAL_false )
PK_change_track_edges_t track_edges;--- which edges to return tracking
--- information from
--- (PK_change_track_edges_no_c)
PK_results_output_t results_output;
--- Specifies whether function should
--- output its local status and
--- associated error entities either
--- as a return argument from the
--- function or in report form to the
--- Parasolid report.
--- ( PK_result_output_return_c )
PK_repair_fa_t repair_fa; --- whether invalid faces should be
--- repaired.
--- ( PK_repair_fa_yes_c )
};
typedef struct PK_FACE_change_o_s PK_FACE_change_o_t;
This structure contains optional controls for PK_FACE_change.
Specific Errors:
PK_ERROR_bad_combination (MILD) The 'n_edges' field 'edge_data'
and the 'n_edge_arrays' field in
'edge_geom_data' are both
non-zero.
The 'repair_fa_fa' value of
PK_repair_fa_fa_yes_c
is not allowed for general bodies
Used in:
PK_FACE_change
Description of fields:
'merge_face' If this flag is set to PK_LOGICAL_true, the
new faces produced by the operation will be
merged with their neighbouring faces, if it is
feasible. The default value is PK_LOGICAL_true.
'allow_disjoint' If this flag is set to PK_LOGICAL_true, and if the
resulting body is split by the operation, all
the disjoint components of that body will be preserved
within a single body. If this flag is set to
PK_LOGICAL_false, only one disjoint part of the body
will be returned.
The default value is PK_LOGICAL_false.
'check_fa_fa' Check for face-face inconsistencies. Permitted values
are:
PK_check_fa_fa_yes_c
PK_check_fa_fa_no_c
The default value is PK_check_fa_fa_yes_c.
'edge_geom_data' Structure containing data used to control the geometry
created for a specified set of edges. Refer to its
documentation for details.
Note that edges which will be mixed after the
operation must be supplied in 'edge_geom_data',
if any adjacent face which is being changed has
a bend operation.
'edge_data' Structure containing the data relative to
the edge curve replacements. Refer to its
documentation for details.
Note: This option has been superseded by the
'edge_geom_data' option.
'vertex_data' Structure containing the data relative to the
vertex point replacements. Refer to its documentation
for details.
'edge_help' Structure containing the data relative to the
edge help points. Help points are used to
pick new edge curves. In case of multiple
solutions, the closest curve to the related help
point is chosen.
'vertex_help' Structure containing the data relative to the
vertex help points. Help points are used to
pick new vertex positions. In case of multiple
solutions, the closest point to the related help
point is chosen.
'replace_update' The default value allows applications to take
advantage of the latest enhancements of the replace
face algorithm. 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_replace_update_default_c
'update' The default value allows applications to take
advantage of the latest enhancements of the generic
algorithms supporting Parasolid local operations
functions. 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
'adjacency' This datatype controls the interaction between faces
that have local operations applied to them and their
originally adjacent faces.
PK_FACE_prefer_adj_keep_c
Prefer to maintain adjacency where possible,
extending faces if necessary.
PK_FACE_prefer_adj_change_c
Prefer to choose new adjacent faces where
appropriate.
'grow' While repairing clashing features, there are
situations in which it is necessary for faces to be
grown. This option controls which feature's faces
will be grown.
Permitted values are:
PK_FACE_grow_update_c
PK_FACE_grow_auto_c
PK_FACE_grow_moving_c
PK_FACE_grow_fixed_c
PK_FACE_grow_no_c
PK_FACE_grow_fail_c
Note that the value PK_FACE_grow_update_c is not
supported for facet geometry.
The default value is PK_FACE_grow_update_c, which
should be used for updating v19.1 and earlier models.
'grow_cb' User callback function to allow control over
individual feature clashes. If supplied, this
callback will be invoked for all values of 'grow'.
The default value is NULL.
'grow_data' Pointer to the user data for 'grow_cb' function.
The default value is NULL.
'vertex_limit' Specify how to constrain the maximum tolerance
required by each vertex so that undesired large vertex
tolerances can be avoided in the result.
The permitted values are:
PK_VERTEX_limit_no_c
PK_VERTEX_limit_report_c
PK_VERTEX_limit_yes_c
'edge_limit' Specify how to constrain the maximum tolerance
required by each edge so that undesired large edge
tolerances can be avoided in the result.
The permitted values are:
PK_EDGE_limit_no_c
PK_EDGE_limit_report_c
PK_EDGE_limit_yes_c
'repair_fa_fa' Repair face-face inconsistencies identified by
the option 'check_fa_fa' when set to
PK_check_fa_fa_yes_c.
Permitted values are:
PK_repair_fa_fa_yes_c
PK_repair_fa_fa_no_c
The default value is PK_repair_fa_fa_no_c.
'trim_cb' User callback function to allow control over
faces to trim during repairing of individual feature
clashes.
The default value is NULL.
'trim_data' Pointer to the user data for 'trim_cb' function.
The default value is NULL.
'report_surf_extension' If this is set to PK_LOGICAL_true, then a report
will be returned in the Parasolid report stream
containing a record of type
PK_REPORT_record_type_3_c.
This record will have a status of
PK_REPORT_3_surf_extended_c and will contain
information on the surfaces that were extended
during the operation. See the documentation for
PK_REPORT_3_t for further details.
Note that surface extensions will not be reported for
facet geometry.
The default value is PK_LOGICAL_false.
'track_edges' Specifies the edges for which tracking information is
returned.
Possible values are:
PK_change_track_edges_no_c:
Do not track edges.
PK_change_track_edges_laminar_c:
Track laminar edges.
The default value is PK_change_track_edges_no_c.
'results_output' Specifies whether function should output its local
status and associated error entities either as a
return argument from the function or in report form
to the Parasolid report.
Possible values are:
PK_results_output_return_c:
The results are output as a return argument and
PK_ERROR_no_errors is returned by the function if
error results are returned.
PK_results_output_report_c:
The results are output in the Parasolid report and
PK_ERROR_failed_to_change is returned by the
function if error reports are generated.
The default value is PK_results_output_return_c.
'repair_fa' Specifies whether function should repair/adjust
topology to make the part valid.
Permitted values are:
PK_repair_fa_yes_c:
Repairs will be performed to ensure faces are valid.
Inconsistencies with adjacent topology will be
resolved.
PK_repair_fa_local_c:
Repairs will be performed to ensure faces are locally
valid but there will be no attempt to fix face-face
inconsistencies. Returned bodies may not therefore be
valid when this option is set. If, as a result of
repairing a face, a face's orientation is reversed a
report of type PK_REPORT_1_t will be returned via the
Parasolid Report mechanism with a 'status' of
PK_REPORT_1_negated_c and 'new_items' containing the
negated faces. Currently this option only supports
operations on open sheet bodies.
The default value is PK_repair_fa_yes_c
Restriction: the 'n_edges' field 'edge_data' and the 'n_edge_arrays' field in
'edge_geom_data' may not both be non-zero.