UF_BREP_state_s (view source)
 
Defined in: uf_brep_types.h
 
Also known as:
 
Overview
This structure reports potential problems related to the topology item. A
problem can be an unfixable error, e.g., missing geometry, or a fixable error,
e.g., some types of self-intersections. Use the macro UF_BREP_STATE_IS_FIXED
on the flag field to determine if UF_BREP could fix the problem, e.g.,

UF_BREP_STATE_IS_FIXED (states[i].flag).

Free state arrays that UF_BREP routines return by using UF_free.

The UF_BREP state codes have the following names and meanings. See uf_curve.h
and uf_modl.h or the UF_CURVE and UF_MODL documentation for state codes
specific to curve and surface geometry.


UF_BREP_STATE_unknown_child
UF_BREP_STATE_duplicate_child Repeated parent-child relationship
UF_BREP_STATE_wrong_child Child topology type not consistent with parent
UF_BREP_STATE_missing_child Parent topology has too few children
UF_BREP_STATE_extra_child Parent topology has too many children
UF_BREP_STATE_wrong_parent Vertex has both edge and loop parents
UF_BREP_STATE_missing_parent Child topology has too few parents
UF_BREP_STATE_extra_parent Child topology has too many parents
UF_BREP_STATE_bad_loop Loop edges' start & end vertices and sense do not match up
UF_BREP_STATE_disjoint_shell Shell's faces not all connected
UF_BREP_STATE_non_manifold Non-manifold vertex
UF_BREP_STATE_topology_error Uncategorizable topology error

Body check conditions

UF_BREP_STATE_unknown_body_fault Uncategorizable body failure
UF_BREP_STATE_body_inside_out
UF_BREP_STATE_self_intersecting
UF_BREP_STATE_degenerate_geometry
UF_BREP_STATE_invalid_geometry
UF_BREP_STATE_face_face_inconsistency
UF_BREP_STATE_face_error uncategorizable face problem
UF_BREP_STATE_vertex_not_on_curve specify larger tolerance
UF_BREP_STATE_edge_reversed vertex order appears backward
UF_BREP_STATE_vertex_not_on_surface specify larger tolerance
UF_BREP_STATE_edge_not_on_surface specify larger tolerance
UF_BREP_STATE_loop_inconsistent loop vertices out of order
UF_BREP_STATE_face_or_edge_non_g1 not G1 continuous
UF_BREP_STATE_invalid_entity_ids

attach geometry conditions

UF_BREP_STATE_edge_tol_too_big required tolerance exceeds user request
UF_BREP_STATE_inconsistent_geom
UF_BREP_STATE_invalid_geom geometry does not pass checks
UF_BREP_STATE_unknown_geom_fault possibly corrupt geometry data


Data Members

state_code
int
See the UF_BREP_STATE_ definitions for
the problem descriptions. See uf_curve.h
and uf_modl.h for state codes specific
to curves and surfaces.

flag
int
Modifier to the state_code.
For UF_BREP the modifier indicates
whether UF_BREP could fix the
problem. Use UF_BREP_STATE_IS_FIXED
to query the value.
See uf_curve.h and uf_modl.h for
modifiers specific to curves
and surfaces, e.g., the problem
is in U (as opposed to V) direction.

value [ 3 ]
double
Numeric attributes related to the
problem, e.g., a point coordinate
in the vicinity of a curve degeneracy.

item
UF_BREP_topology_t *
UF_BREP_topology_t entity having the
problem, e.g., the edge not
having attached geometry.

ug_tag
tag_t
NX entity have the problem, if any.
Some topology entities do not
have NX tags, e.g., vertices.

misc
int
For internal bookkeeping only.