PK_BODY_make_facet_body_o_t   

struct PK_BODY_make_facet_body_o_s
    {
    int                o_t_version;        --- Version of option structure.
    PK_LOGICAL_t    is_max_facet_width;    --- Whether max_facet_width is set.
                                           --- (PK_LOGICAL_false)
    double             max_facet_width;    --- Controls the maximum length of
                                           --- a facet edge.
    PK_LOGICAL_t    is_distance_tolerance; --- Whether distance_tolerance is
                                           --- set. (PK_LOGICAL_false)
    double             distance_tolerance; --- Distance tolerance between
                                           --- new mesh and model geometry.
    PK_LOGICAL_t    is_angular_tolerance;  --- Whether angular_tolerance is
                                           --- set. (PK_LOGICAL_false)
    double             angular_tolerance;  --- Angular tolerance between new
                                           --- mesh and model geometry.
    PK_LOGICAL_t    is_max_chord_length;   --- Whether max_chord_length is
                                           --- set. (PK_LOGICAL_false)
    double             max_chord_length;   --- Controls the maximum length of
                                           --- a facet edge derived from
                                           --- model geometry.
    PK_LOGICAL_t       retain_attributes;  --- Whether to retain attributes.
                                           --- (PK_LOGICAL_false)
    PK_LOGICAL_t       retain_groups;      --- Whether to retain groups.
                                           --- (PK_LOGICAL_false)
    PK_LOGICAL_t       track_faces;        --- Whether to track faces.
                                           --- (PK_LOGICAL_false)
    PK_track_edges_t   track_edges;        --- Options for tracking edges.
                                           --- (PK_track_edges_no_c).
    PK_LOGICAL_t       return_redundant;   --- Whether to provide a list of
                                           --- topologies not copied to the
                                           --- new body. (PK_LOGICAL_false)
    PK_ERROR_on_fail_t partial_conversion; --- Whether to allow partial
                                           --- conversion to a facet body or
                                           --- to fail if a full conversion
                                           --- has not been achieved.
                                           --- (PK_ERROR_on_fail_any_c)
    };
typedef struct PK_BODY_make_facet_body_o_s PK_BODY_make_facet_body_o_t;



This structure contains optional arguments for PK_BODY_make_facet_body.

The tessellation options are used to generate replacement meshes and polylines
for the 'body_copy'.


Specific Errors:
    PK_ERROR_bad_value              'partial_conversion' cannot be set to
                                    PK_ERROR_on_fail_no_c.  (MILD)

Used in:

PK_BODY_make_facet_body


Description of fields:


 Tessellation options


'is_max_facet_width'    This option controls whether or not the associated
                        option 'max_facet_width' is used.


'max_facet_width'       If the option 'is_max_facet_width' is set to
                        PK_LOGICAL_true and 'max_facet_width' is set to a
                        positive value then this value will be used to
                        control the maximum length of any mfin.


'is_distance_tolerance' This option controls whether or not the associated
                        option 'distance_tolerance' is used.


'distance_tolerance'    If the option 'is_distance_tolerance' is set to
                        PK_LOGICAL_true and 'distance_tolerance' is set to a
                        positive value then this value will be used to control
                        the maximum chordal distance between a polyline and
                        its original edge entity and the maximum distance from
                        a position on a mesh to the surface of the original
                        face.


'is_angular_tolerance'  This option controls whether or not the associated
                        option 'angular_tolerance' is used.


'angular_tolerance'     If the option 'is_angular_tolerance' is set to
                        PK_LOGICAL_true and 'angular_tolerance' is set to a
                        positive value then this value will be used to control
                        the maximum angle between a facet chord and its
                        original edge entity, measured as the sum of the two
                        angles formed between the chord and the curve tangents
                        at each chord end. It will also control the maximum
                        angle between the surface normals at any two positions
                        on the surface which lie within the facet boundary.


'is_max_chord_length'   This option controls whether or not the associated
                        option 'max_chord_length' is used.


'max_chord_length'      If the option 'is_max_chord_length' is set to
                        PK_LOGICAL_true and 'max_chord_length' is set to a
                        positive value then this value will be used to
                        control the maximum length of any facet edge which
                        represents part of an original edge entity.


 Associated data and tracking controls


'retain_attributes'     Controls whether attributes attached to topology should
                        should be copied onto the new body.


'retain_groups'         Controls whether groups attached to topology should be
                        copied onto the new body.


'track_faces'           Controls whether to return tracking for faces copied
                        from 'body' to 'body_copy'.


'track_edges'           Controls whether return tracking for edges copied from
                        'body' to 'body_copy'. Options are to track all edges;
                        just laminar and wire edges; or not to track edges.


'return_redundant'      Controls whether to return the list of topologies which
                        were not copied to the new body. Topologies from the
                        original body can become redundant in the copied body
                        if their copied topologies contain no facet geometry
                        at the given tolerances. For example, a very narrow
                        face and its surrounding edges may be collapsed down to
                        a single edge, causing the face from the original body
                        to be redundant.


'partial_conversion'    Controls whether to allow partial conversion to a facet
                        body.  If all the faces and edges in the resulting
                        facet body that correspond to faces and edges which had
                        geometry in the original body have facet geometry
                        attached, the body is considered to have been fully
                        converted.  If any (but not all) of these faces and
                        edges fail to create facet geometry, the part is
                        considered to be partially converted.

                        It may take the following values:

                        PK_ERROR_on_fail_any_c:
                            The operation will fail with the error
                            PK_ERROR_failed_to_facet if any faces or edges fail
                            to facet.

                        PK_ERROR_on_fail_all_c:
                            The operation will only return
                            PK_ERROR_failed_to_facet if all the faces and edges
                            of the original body fail to facet.  Otherwise, any
                            topologies that fail to facet will have no geometry
                            attached and only partial conversion will be
                            achieved.

                        In the case of a partial conversion, reports of type
                        PK_REPORT_record_type_1_c will be returned via the
                        Parasolid report mechanism.  These records will have a
                        status of PK_REPORT_1_cant_get_geom_c and will return
                        the faces and edges in the result body which have no
                        geometry attached as a result of failures to facet.

                        Note: Topologies with no geometry in the original body
                              are not converted and as such are not treated as
                              having failed to facet and will not appear in the
                              report.
                              Vertices are also not treated as being converted.

                        Note: The value PK_ERROR_on_fail_no_c is not allowed.