 |
PK_BODY_make_curves_outline_o_t |
|
struct PK_BODY_make_curves_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; --- whether to return edges or faces
--- corresponding to the curves
--- (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_outline_edge_on_t edge_on; --- whether to create outlines from
--- edge-on sheet components and
--- wire components of a body
--- (PK_outline_edge_on_none_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)
};
typedef struct PK_BODY_make_curves_outline_o_s PK_BODY_make_curves_outline_o_t;
Controls for the PK_BODY_make_curves_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_curves_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
perpendicular to the viewing direction.
This value must be set to PK_outline_project_no_c
or PK_outline_project_plane_c.
'project_position' The position of the plane in the view direction.
But if 'project' is set to PK_outline_project_no_c,
the project position 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.
The option PK_TOPOL_dimension_2_c is only valid when
using the 'edge_on' option with the value of
PK_outline_edge_on_none_c.
'edge_on' Controls whether outlines of wire and sheet components
which are edge-on in the specified view direction are
created.
Wire components are always considered edge-on.
The function will fail and return PK_ERROR_not_edge_on
if this option is set to PK_outline_edge_on_all_c and
the body contains either a solid or non-edge-on sheet
component.
'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.