 |
PK_BODY_make_spun_outline_o_t |
|
struct PK_BODY_make_spun_outline_o_s
{
int o_t_version; --- version number
PK_outline_project_t project; --- whether to project the curves
--- onto a plane
--- (PK_outline_project_no_c)
PK_VECTOR_t project_position; --- position of plane if projecting
--- (0,0,0)
double tolerance; --- curve tolerance (1.0e-6)
PK_LOGICAL_t want_topols; --- (PK_LOGICAL_false)
PK_outline_update_t update; --- update flag
--- (PK_outline_update_default_c)
PK_LOGICAL_t want_body; --- whether to create a body from
--- outline curves
--- (PK_LOGICAL_false)
PK_TOPOL_dimension_t body_dimension; --- whether to request a body of
--- maximum dimension 1 or 2
--- (PK_TOPOL_dimension_1_c)
PK_BODY_keep_as_facet_t
keep_as_facet; --- whether to make a purely facet
--- body from input that only
--- contains purely facet bodies
--- (PK_BODY_keep_as_facet_yes_c)
PK_results_output_t results_output; --- whether to output results in
--- returned arguments from the
--- function or in a report
--- (PK_results_output_return_c)
PK_outline_invisible_t
invisible; --- whether and how to produce
--- invisible outlines
--- (PK_outline_invisible_no_c)
int n_exclude_faces; --- number of faces in
--- 'exclude_faces' (0)
const PK_FACE_t *exclude_faces; --- faces to exclude from outlining
--- (NULL)
};
typedef struct PK_BODY_make_spun_outline_o_s PK_BODY_make_spun_outline_o_t;
Controls for the PK_BODY_make_spun_outline options structure
Specific Errors:
PK_ERROR_not_implemented (MILD) the value of 'project' is neither
PK_outline_project_no_c nor
PK_outline_project_plane_c.
Used in:
PK_BODY_make_spun_outline
Description of fields:
'project' Whether the outline curves are output as 3-dimensional
curves i.e. their depth information is retained, or if
they are projected onto a 2-dimensional plane
through the spin axis.
This value must be set to PK_outline_project_no_c
or PK_outline_project_plane_c.
'project_position' The position of the plane through the spin axis.
If 'project' is set to PK_outline_project_no_c,
then this field has no effect.
'tolerance' The accuracy of the outlines generated. The minimum
tolerance allowed is 1.0e-7.
'want_topols' Whether to return the edges (or faces in the case of
silhouettes) corresponding to the curves.
'update' The default value PK_outline_update_default_c allows
applications to take advantage of the latest outline
algorithm. A non-default value should be specified to
maintain consistency when building models created in
a previous Parasolid version.
'want_body' Whether to create a body constructed from the set
of outline curve loops. One has the option to create
either a wire body or a sheet body. This includes the
possibility of a general wire body or a general sheet
body.
If multiple loops are created, a single body is formed
from the disjoint loops. This option is only valid
when using the projection option with the value of
PK_outline_project_plane_c.
If this value is set to PK_LOGICAL_true, the curves
returned by the calling function will be incorporated
into a body. The body will be a wire or a sheet
depending on the setting of the body_dimension option.
These curves will be incorporated into the body either
as edge curves or (in the case of a tolerant edge on a
sheet body) as nominal edge curves.
'body_dimension' Whether to request a body of maximum dimension 1 or 2.
If for instance a wire body is desired, then this
field should use the token value of
PK_TOPOL_dimension_1_c. It may be that a general body
also of dimension 1 may be created depending on the
body creation output.
If for instance a sheet body is desired, then this
field should use the token value of
PK_TOPOL_dimension_2_c. It may be that a general body
also of maximum dimension 2 may be created depending
on the body creation output.
The tokens PK_TOPOL_dimension_0_c and
PK_TOPOL_dimension_any_c are not allowed and are
invalid input for this option.
'keep_as_facet' Whether to make a purely facet body from input that
only contains purely facet bodies.
Note: this option is ignored if the input bodies
contain any classic geometry or if a wire body is
requested.
'results_output' Whether to output the result as returned arguments
from the function, or in report form to the Parasolid
report. The records in the report will be of type
PK_REPORT_record_type_3_c.
Possible values are:
PK_results_output_return_c:
The results are output in returned
arguments from the function.
This is the default.
PK_results_output_report_c:
The returned arguments remain empty.
If the function succeeds and reports no
error, the results are output in the
Parasolid report in a record with status
PK_REPORT_3_outline_result_c. Otherwise,
the function reports errors in the
Parasolid report in a record with status
PK_REPORT_3_outline_error_c. If produced,
the results are also output in a record
with status PK_REPORT_3_outline_result_c.
'invisible' Whether and how to produce invisible outlines in
addition to visible outlines if the value of
'results_output' is set to PK_results_output_report_c.
Do not produce any invisible outlines if the value of
'results_output' is set to PK_results_output_return_c.
'n_exclude_faces' Length of 'exclude_faces' array.
'exclude_faces' Array of faces to exclude from outlining.
Faces can only be specified as 'exclude_faces' if
they are bounded by sets of edge-on faces and/or other
faces in the array.