UF_CURVE_state_s (view source)
 
Defined in: uf_curve.h
 
Also known as:
 
Overview
Contains data indicating the situation found in a spline curve or
surface. The same structure is used to return states for fixing and smoothing
b-spline curves and surfaces. The following states are returned for b-spline
curves, with the noted state value contents.

UF_CURVE_STATE_DEGENERACY - a degeneracy was detected in the spline or
bsurface flag&2 indicates U(0) or V(1) for a
bsurface. flag&1 indicates if fixed (1 indicates
fixed). value is a point on or near the degeneracy
UF_CURVE_STATE_G1_DISCONTINUITY - the spline or bsurface is not G1 continuous
flag&2 indicates U(0) or V(1) for a bsurface
flag&1 indicates if smoothed to G1 (1 indicates
smoothed to G1) flag&4 indicates if smoothed to Cn
(1 indicates smoothed to Cn). value[0] indicates the
knot value at the discontinuity
UF_CURVE_STATE_KNOT_NONC0 - the spline or bsurface is not C0 continuous, that
is, it has a gap. flag&2 indicates U(0) or V(1) for
a bsurface. flag&1 indicates if fixed (1
indicates fixed; shape change incurred). value[0]
indicates the knot value at the discontinuity.
UF_CURVE_STATE_KNOT_MULT - the spline or bsurface has an illegal knot
multiplicity but without a gap. flag&2
indicates U(0) or V(1) for a bsurface.
flag&1 indicates if fixed (1 indicates fixed)
value[0] indicates the knot value in the illegal
multiplicity
UF_CURVE_STATE_KNOT_DECREASING - the spline or bsurface has a knot value that
is less than the value preceding it in
the knot vector. flag&2 indicates U(0) or
V(1) for a bsurface. flag&1 indicates if
fixed (1 indicates fixed). value[0] indicates
the first knot value of the decreasing series
UF_CURVE_STATE_CLOSED - the spline or bsurface is closed but not Cn
flag&2 indicates U(0) or V(1) for a bsurface
UF_CURVE_STATE_PERIODIC - the spline or bsurface is closed and Cn at the
closure. flag&2 indicates U(0) or V(1) for a
bsurface.
UF_CURVE_STATE_KNOT_TOOCLOSE - the spline or bsurface has a knot value that is
too close to the knot preceding it in the knot
vector. flag&2 indicates U(0) or V(1) for a
bsurface. flag&1 indicates if fixed (1
indicates fixed). value[0] indicates the first
knot value that is too close to its preceding
knot
UF_CURVE_STATE_NOT_TRIMMED - the spline was not trimmed to the parameter values
given. flag&2 indicates U(0) or V(1) for a
bsurface.
UF_CURVE_STATE_KNOTS_UNNORMALIZED - the splines or bsurfaces knots were
normalized to meet Open API requirements
flag&2 indicates U(0) or V(1) for a bsurface
value[0] contains the factor for converting
spline data parameters to values suitable
for using with the NX object. Let
td be a parameter value in the range defined
by the spline data. Let t0 be the
corresponding parameter value to use when
evaluating the NX spline. Then
t0 = tdv0 + v1
Apply to both directions of a bsurface as
needed.
UF_CURVE_STATE_CLAMPED - the spline or bsurface end knots are of
multiplicity order. value[0] indicates the knot
value, value[1] contains the minimum distance change,
value[2] indicates the maximum angle change.
UF_CURVE_STATE_SMOOTHED_TO_CN - the spline or bsurface is not G1 continuous
and has been smoothed. For further definition
of the structure values see UF_CURVE_STATE_G1_DISCONTINUITY.


Data Members

state_code
int
Code giving the state found at the given place.
Depending on the code, the next two values will
contain different values.

flag
int
This is a bit field that stores information about
the given state code. The interpretation of these
bits depends on the state code, and is given in
the structure comments.

value [ 3 ]
double
This is an array that holds values that pertain to
the given state code. Each state code stores
different values in this array. See the comments
on the different states for how to interpret these
values.