 |
PK_ASSEMBLY_check_o_t |
|
struct PK_ASSEMBLY_check_o_s
{
int o_t_version; --- version number of option
--- structure
int max_faults; --- limit on fault numbers
--- (10)
PK_check_geom_t geom; --- bad geometry
--- (PK_check_geom_yes_c)
PK_check_mesh_t mesh; --- bad meshes
--- (PK_check_mesh_yes_c)
PK_check_corrupt_t corrupt; --- corrupt data or identifiers
--- (PK_check_corrupt_yes_c)
PK_check_attribs_t attribs; --- check for validity of system
--- attributes
--- (PK_check_attribs_no_c)
};
typedef struct PK_ASSEMBLY_check_o_s PK_ASSEMBLY_check_o_t;
This structure holds optional controls for checking an assembly.
Used in:
PK_ASSEMBLY_check
The option structure allows the caller to control which checks are performed;
if no options are supplied, all checks appropriate to the assembly will be made
max_faults
----------
The caller may set an upper limit on the number of faults found, in
the option 'max_faults'; if 'max_faults' is zero, the first fault found
is returned as a PK error: PK_ERROR_check_error, with the entity at fault
returned in the PK_ERROR_sf_t structure.
geom
----
This can be set to one of:
PK_check_geom_no_c don't do any construction geometry validity checks
PK_check_geom_basic_c check for invalid or degenerate construction geometry
PK_check_geom_lazy_c check for invalid, self-intersecting or
degenerate construction geometry
PK_check_geom_full_c check for invalid, self-intersecting or
degenerate construction geometry, ignore results of
pre-V5 checks
PK_check_geom_yes_c check for invalid, self-intersecting or
degenerate construction geometry, ignore previous checks
Geometry checks only apply to construction geometry attached to the assembly,
and not to the geometry of constituent bodies.
Geometry which passes these tests is marked so that the cost of these
tests need only be incurred once. Geometry which fails is also marked for
the same reason.
The option PK_check_geom_full_c behaves just like PK_check_geom_lazy_c,
except that it forces a re-check of geometry marked as valid by
pre-V5 versions of Parasolid.
The option PK_check_geom_yes_c behaves just like PK_check_geom_lazy_c,
except that it always forces a full check of the geometry,
overriding the interface parameter, even if the geometry has
been marked as valid by a previous check.
The check faults associated with these checks are as follows
'state' | 'entity_1' | 'entity_2' | 'position'
-------------------------------------------------------------------------------
PK_BCURVE_state_close_knots_c | bcurve | geom | the x coordinate
| | | is the parameter
| | | where knots are
| | | too close
| | |
PK_BSURF_state_close_u_knots_c | geom | geom | the x coordinate
| | | is the u
| | | parameter where
| | | knots are too
| | | close
| | |
PK_BSURF_state_close_v_knots_c | geom | geom | the x coordinate
| | | is the v
| | | parameter where
| | | knots are too
| | | close
| | |
PK_ENTITY_state_invalid_c | entity | |
| | |
PK_GEOM_state_bad_geom_owner_c | geom |owning geom |
| | |
PK_GEOM_state_degenerate_c | geom | | point in
| | | degenerate
| | | region
| | |
PK_GEOM_state_outside_box_c | geom | | vertex point
| | | outside the
| | | size box
| | |
PK_GEOM_state_self_int_c | geom | | point on self-
| | | intersection
| | |
PK_LATTICE_state_bad_graph_c | lattice | |
| | |
PK_LATTICE_state_bad_lball_c | lattice | | (n,0,0) where
| | | n is the
| | | identifier of
| | | the PK_LBALL_t
| | |
PK_LATTICE_state_bad_lrod_c | lattice | | (n,0,0) where
| | | n is the
| | | identifier of
| | | the PK_LROD_t
| | |
PK_LATTICE_state_corrupt_c | lattice | |
| | |
PK_LATTICE_state_disjoint_c | lattice | | (m,n,0) where
| | | m and n are
| | | identifiers of
| | | PK_LBALL_t in
| | | in two separate
| | | components
| | |
PK_LATTICE_state_dup_lrod_c | lattice | | (m,n,0) where
| | | m and n are
| | | identifiers
| | | of PK_LROD_t
| | | that are
| | | duplicated
| | |
PK_LATTICE_state_isolated_c | lattice | | (n,0,0) where
| | | n is the
| | | identifier of
| | | the isolated
| | | PK_LBALL_t
| | |
PK_LATTICE_state_lrod_end_c | lattice | | (m,n,0) where m
| | | is the
| | | identifier of
| | | the PK_LROD_t
| | | and n is the
| | | identifier of
| | | the adjoining
| | | PK_LBALL_t
| | |
PK_LATTICE_state_no_lballs_c | lattice | |
| | |
PK_LATTICE_state_no_lrods_c | lattice | |
| | |
PK_LATTICE_state_self_int_c | lattice | | (m,n,0) where m
| | | and n are
| | | identifiers of
| | | the PK_LTOPOL_t
| | | that clash
| | |
PK_LATTICE_state_short_lrod_c | lattice | | (n,0,0) where n
| | | is the
| | | identifier of
| | | the PK_LROD_t
| | |
mesh
-----
This can be set to one of:
PK_check_mesh_no_c don't do any construction geometry mesh validity checks
PK_check_mesh_basic_c check for invalid mesh topology or geometry for
construction geometry
PK_check_mesh_yes_c as basic check but also checking construction geometry
mesh for self-intersection
Mesh checks only apply to construction geometry attached to the assembly, and
not to the geometry of constituent bodies.
Special checks on Meshes
There are special checks performed on meshes.
The restrictions on meshes are:
i) A mesh cannot be non-manifold.
ii) A mesh cannot have an mfacet with a zero length mfin
(degenerate mfacet).
iii) A mesh cannot have an mfacet of zero area (flat mfacet).
iv) A mesh cannot have slits, that is laminar mfins that occupy the
same position.
v) A mesh cannot self-intersect.
vi) A mesh cannot have an mvertex normal that is opposed to all adjacent
mfacet normals.
The check_faults associated with this check are as follows
'state' | 'entity_1' | 'position'
-------------------------------------------------------------------------------
PK_MESH_state_bad_mvx_normal_c | mesh | (u, v, 0) where u,v are
| | the parameters of the mvertex
PK_MESH_state_corrupt_c | mesh | (u, v, 0) where u,v are
| | the parameters of the
| | corruption if available
PK_MESH_state_degen_mfacet_c | mesh | (u, v, 0) where u,v are
| | the parameters in the mfacet
PK_MESH_state_flat_mfacet_c | mesh | (u, v, 0) where u,v are
| | the parameters in the mfacet
PK_MESH_state_non_manifold_c | mesh | (u, v, 0) where u,v are
| | the parameters in the
| | non manifold region
PK_MESH_state_self_int_c | mesh | position on the
| | self intersection
PK_MESH_state_slit_c | mesh | position on the slit
corrupt
-------
This can be set to one of:
PK_check_corrupt_no_c don't do data structure checks
PK_check_corrupt_yes_c check for corrupt data structure and check
identifiers
The check faults associated with this check are as follows
'state' | 'entity_1' | 'entity_2' | 'position'
-------------------------------------------------------------------------------
PK_ASSEMBLY_state_corrupt_c | assembly | null | null
| | |
PK_ASSEMBLY_state_cyclic_ref_c | assembly | instance | null
| | |
PK_ASSEMBLY_state_invalid_id_c | assembly | null | null
| | |
PK_ENTITY_state_bad_owner_c | transform | instance | null
| | |
PK_ENTITY_state_has_att_group_c | entity | group | null
| | |
PK_ENTITY_state_in_group_c | entity | group | null
| | |
PK_ENTITY_state_shared_c | entity | assembly | null
| | |
PK_GEOM_state_bad_dep_type_c | geometry | dependent | null
| | |
PK_GEOM_state_bad_geom_owner_c | geometry | owner | null
| | |
PK_GEOM_state_bad_owner_c | geometry | owner | null
| | |
PK_GEOM_state_dup_geom_owner_c | geometry | owner | null
| | |
PK_GEOM_state_not_owners_dep_c | geometry | owner | null
| | |
PK_GEOM_state_not_owning_dep_c | geometry | dependent | null
| | |
PK_GROUP_state_bad_c | group | null | null
| | |
PK_INSTANCE_state_bad_transf_c | instance | transform | null
| | |
PK_INSTANCE_state_bad_type_c | instance | null | null
| | |
PK_PART_state_bad_attrib_c | assembly | attribute | null
| | |
PK_PART_state_bad_attrib_list_c | assembly | attrib list | null
| | |
PK_PART_state_bad_state_c | assembly | null | null
| | |
PK_PART_state_corrupt_c | assembly | null | null
| | |
PK_PART_state_has_key_c | assembly | null | null
| | |
PK_PART_state_no_key_c | assembly | null | null
| | |
attribs
-------
This can be set to one of:
PK_check_attribs_no_c Do not perform validity checks on attached system
attributes.
PK_check_attribs_yes_c Perform system attribute validity checks.
The only check fault associated with this check is the following:
'state' | 'entity_1' | 'entity_2' | 'position'
-------------------------------------------------------------------------------
PK_ATTRIB_state_invalid_att_c | attribute | attrib owner | null
If any faults are found with the system attributes present, the user is
encouraged to use PK_ENTITY_check_attribs to discover more information on
the faulty attribute(s).