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 (see uf_brep_types.h) 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_CANT_CREATE: Surface or curve or vertex cannot be created.

UF_BREP_STATE_CANT_ATTACH: Surface or curve cannot be attached.

UF_BREP_STATE_TOPOLOGY_INTERSECT: self-intersecting topology. Item is the index
in the body topology entities array, if applicable.

UF_BREP_STATE_NO_SIMPLIFY: Simplification not done because parameterization
change shifts SP curves more than allowed by tolerance.

UF_BREP_STATE_SHORT_CURVE: Curve is too short.

UF_BREP_STATE_CANT_SPLIT_CURVE: Curve cannot be split.

UF_BREP_STATE_LOOP_INTERSECT: Loop is self-intersecting.

UF_BREP_STATE_CANT_SPLIT_FACE: Face cannot be split on its discontinuities.

UF_BREP_STATE_SP_NOT_CHECKED: SP curves have not been checked. Self
intersections and gaps may exist.

UF_BREP_STATE_GEOMETRY_TOLERANCE: Curve or surface required tolerance larger
than specified to be output.

UF_BREP_STATE_INVALID_SURFACE: Surface has an invalid axis/generator/refdir
combination. Refdir may be parallel to axis.

UF_BREP_STATE_NEED_3D_CURVES: 3D curves required but were not provided (SP
curves on a surface for which they can not work, either mult-face or
parameterization shifts because of simplification).

UF_BREP_STATE_TOPOLOGY_TOLERANCE: Edge or vertex required tolerance larger than
the given maximum value to be reconciled to the surfaces of the body.

UF_BREP_STATE_CANT_SIMPLIFY: Simplification could not be done within the
specified tolerance.

UF_BREP_STATE_BAD_SP_REF: SP curve cannot reference a different surface than
the one it was originally attached to (transfer).

UF_BREP_STATE_PHANTOM_ATTACH: Attempt to attach to uninitialized phantom
topology.

UF_BREP_STATE_PHANTOM_TOPOLOGY: Attempt to create new topology using a phantom
topology.

UF_BREP_STATE_TOPOLOGY_INIT: Attempt to initialize a new or asked topology.

UF_BREP_STATE_ASK_PHANTOM_TOPOLOGY: Attempt to ask body data into a new or
phantom topology.

UF_BREP_STATE_GEOMETRY_ATTACHED: Attempt to attach to topology that already has
geometry.

UF_BREP_STATE_TYPE_MISMATCH: Geometry type does not match topology type.

UF_BREP_STATE_BAD_GEOMETRY: Inconsistent or invalid geometry.

UF_BREP_STATE_BAD_TYPE: Illegal geometry type token.

UF_BREP_STATE_BAD_BODY: Bad body identifier: not first, not only, or missing.

UF_BREP_STATE_INVALID_CHILD: Child invalid: not in range of array size, or
refers to an entity of incorrect type.

UF_BREP_STATE_DUPLICATE_CHILD: Child identifier appears more than once in an
entity's child list.

UF_BREP_STATE_BAD_CHILD_COUNT: Too few or too many children.

UF_BREP_STATE_BAD_LOOP_SENSE: Loop does not match up with sense and vertices.

UF_BREP_STATE_BAD_SHELL: Shell invalid: Two faces sharing an edge are in
different shells, or faces in a shell are not all connected by edges.

UF_BREP_STATE_MISSING_GEOMETRY: Geometry is missing from the body.

UF_BREP_STATE_VERTICES_TOUCH: Vertices of an edge touch. Use a high level of
healing.

UF_BREP_STATE_MISSING_VERTEX: Missing a vertex at a surface singularity.

UF_BREP_STATE_MODEL_TOO_BIG: Model is too large.

UF_BREP_STATE_SPLIT_SHEET: Sheet was split to resolve discontinuity problems.

UF_BREP_STATE_CURVE_ORDER: Curves not in correct order or flipped end for end.


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.