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.