PK_MESH_find_defects_o_t   

struct PK_MESH_find_defects_o_s
    {
    int                         o_t_version;
                                          --- version number of option
                                          --- structure
    int                         max_defects;
                                          --- limit on defect numbers (0)
    PK_LOGICAL_t                have_tolerance;
                                          --- whether a tolerance is provided
                                          --- (PK_LOGICAL_false)
    double                      tolerance;
                                          --- tolerance to which linear
                                          --- defects are found
    PK_MESH_defect_tolerances_t defect_tolerances;
                                          --- tolerance structure which can
                                          --- assign a different tolerance
                                          --- to each defect type
    PK_MTOPOL_find_defect_t     mtopol_find_defects;
                                          --- level of topological defect
                                          --- detection to be performed on
                                          --- the mesh
                                          --- (PK_MTOPOL_find_defect_yes_c)
    PK_MFACET_find_defect_t     mfacet_find_defects;
                                          --- level of geometric defect
                                          --- detection to be performed on
                                          --- the mesh
                                          --- (PK_MFACET_find_defect_all_c)
    PK_MVERTEX_find_defect_t    mvertex_find_defects;
                                          --- level of defect detection
                                          --- to be performed on the
                                          --- mvertex normals of the mesh
                                          --- (PK_MVERTEX_find_defect_all_c)
    PK_MESH_find_self_int_t     mesh_find_self_ints;
                                          --- level of self intersection
                                          --- defect detection to be
                                          --- performed on the mesh
                                          --- (PK_MESH_find_self_int_all_c)
    PK_MESH_find_foldover_t     mesh_find_foldovers;
                                          --- level of foldover defect
                                          --- detection to be performed on
                                          --- the mesh
                                          --- (PK_MESH_find_foldover_no_c)
    double                      max_foldover_angle;
                                          --- angle (in radians) used to
                                          --- define a foldover (0.2)
    PK_MESH_find_disjoint_t     mesh_find_disjoint;
                                          --- level of disjoint defect
                                          --- detection to be performed on
                                          --- the mesh
                                          --- (PK_MESH_find_disjoint_no_c)
    };
typedef struct PK_MESH_find_defects_o_s PK_MESH_find_defects_o_t;


Holds optional data for the function PK_MESH_find_defects.


Specific Errors:
    PK_ERROR_bad_tolerance          both 'tolerance' and 'defect_tolerances'
                                    have been provided (MILD)

Used in:

PK_MESH_find_defects


The option structure defines options applicable to finding defects in the mesh.
It includes the following fields:

    'max_defects'
        The maximum number of defects to be returned.
        If 'max_defects' is zero (the default), no limit is set on the number
        of defects to be returned.

    'have_tolerance'
        Whether the parameter 'tolerance' is supplied.

    'tolerance'
        If 'have_tolerance' is set to PK_LOGICAL_true then the value of
        'tolerance' will be used for determining when points should be
        considered equal. The default accuracy will be the linear precision of
        the modeller.

    'defect_tolerances'
        A structure to specify different tolerances for different types
        of defects. If 'have_tolerance' is set to PK_LOGICAL_true, this
        structure should not be specified.

    'mtopol_find_defects'
        Level of topological defect detection to be performed on the mesh.

    'mfacet_find_defects'
        Level of geometric defect detection to be performed on the mesh.

    'mvertex_find_defects'
        Level of defect detection to be performed on the mvertex normals of
        the mesh. These checks only apply to meshes with stored normals.

    'mesh_find_self_ints'
        Level of self intersection defect detection to be performed on
        the mesh.

    'mesh_find_foldovers'
        Level of foldover defect detection to be performed on the mesh.

    'max_foldover_angle'
        If 'mesh_find_foldovers' is set to PK_MESH_find_foldover_all_c then
        'max_foldover_angle' will be used for identifying foldovers. A fold
        is where the smaller of the two angles between two mfin-adjacent
        mfacets is less than or equal to 'max_foldover_angle'. From this, a
        foldover is formed from chains of folded or laminar mfins which bound
        a region of facets whose normals are opposed to those of their
        neighbouring regions and which are within 'tolerance' of those
        neighbours.

    'mesh_find_disjoint'
        Level of disjoint defect detection to be performed on the mesh.