UF_CURVE_state_s (view source)
Defined in: uf_curve.h
Also known as:
- UF_CURVE_state_t
- UF_CURVE_state_p_t
- UF_MODL_state_p_t
- UF_MODL_state_t
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
flag
int
value [ 3 ]
double
Depending on the code, the next two values will
contain different values.