 |
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.