UF_CURVE_pt_slope_crvatr_s (view source)
 
Defined in: uf_curve.h
 
Also known as:
 
Overview
Interactive NX creates degree three splines by assigning auto
slopes at the start and end points, if you do not specify slopes yourself.
To replicate the creation of these interactive splines using
UF_CURVE_create_spline_thru_pts you need to specify AUTO slopes for the first
and last points and NONE for the rest. The following notes apply to the fields
of this data structure:

1. The explanation of four slope types specified in the above table is
as follows:

. UF_CURVE_SLOPE_NONE means that no slope is assigned
at an input point during the interpolation process. The slope at
the point is whatever the interpolator calculates when it solves
the system of equations to compute the spline.

. UF_CURVE_SLOPE_AUTO means that the slope is
internally calculated from the data points specified before the
interpolation is done. The system uses the data points and
slopes surrounding the current point to arrive at reasonable
values. These values are then used during the interpolation.

. UF_CURVE_SLOPE_VEC signifies that the slope is defined
by the user-specified defining slope vector, whose magnitude
and direction affect the shape of the curve.


. UF_CURVE_SLOPE_DIR is the same as the
UF_CURVE_SLOPE_VEC, except that only the direction of
the slope affects the shape of the curve.

2. The explanation of three curvature types specified in the above
table is as follows:

. UF_CURVE_CRVATR_NONE means that no curvature is
assigned at an input point during the interpolation process.
The curvature at the point is whatever the interpolator
calculates when it solves the system of equations to compute
the spline.

. UF_CURVE_CRVATR_AUTO_DIR means that only the
magnitude of the curvature vector is used as the curvatures
magnitude. Its direction is internally determined by NX before
the interpolation is done. Notice that the corresponding slope
type must be UF_CURVE_SLOPE_AUTO at the point.

. UF_CURVE_CRVATR_VEC signifies that the curvature is
defined by the user-specified defining curvature vector, whose
magnitude and direction affect the shape of the curve.

3. Curvature vector must be orthogonal to the slope vector.

4. Curvature can be specified in the following two ways:

. When the slope type is UF_CURVE_SLOPE_VEC or
UF_CURVE_SLOPE_DIR, the curvature vector is used to
determine its direction and magnitude.

. When the slope type is UF_CURVE_SLOPE_AUTO, only the
magnitude of the curvature vector is used as the curvatures
magnitude. The direction of the curvature and slope are
determined internally by NX.

5. Assigning slopes is not allowed on splines with degree less than 2.

6. Assigning curvature is not allowed on splines with degree less
than 3.


Data Members

point [ 3 ]
double
3D coordinates of input ordered
points. For creating periodic curves,
you should not repeat the first point
as the last point

slope_type
int
type of control being defined:
UF_CURVE_SLOPE_NONE,
UF_CURVE_SLOPE_AUTO,
UF_CURVE_SLOPE_VEC,
UF_CURVE_SLOPE_DIR
(see Note 1)

slope [ 3 ]
double
3D vector defining the slope assigned
at this input point (see Note 1, 4, 5)

crvatr_type
int
type of control being defined
UF_CURVE_CRVATR_NONE,
UF_CURVE_CRVATR_AUTO_DIR,
UF_CURVE_CRVATR_VEC
(see Note 2)

crvatr [ 3 ]
double
3D vector defining the curvature assigned
at this input point (see Note 2, 3, 6)