UF_BREP_state_s (view source)
Defined in: uf_brep_types.h
Also known as:
- UF_BREP_state_t
- UF_BREP_state_p_t
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
flag
int
value [ 3 ]
double
item
ug_tag
misc
int
the problem descriptions. See uf_curve.h
and uf_modl.h for state codes specific
to curves and surfaces.