Element type: | miSCENE_CURVE |
Data type: | miCurve |
Sizes: | int no_curves |
Defaults: | as described below |
enum miCurve_type { miCURVE_TRIM, miCURVE_HOLE, miCURVE_SPECIAL, miCURVE_SPACE }; typedef struct miCurve { miApprox approx; /* approx techn. for surface */ miBoolean new_loop; /* F=concat to prev, T=begin new */ miUshort ctl_dim; /* control point dimension 2 or 3 */ miUshort degree; /* from basis, for ease in GAP */ miGeoRange range; /* min/max for curve params. */ miGeoIndex no_parms; /* number of curve parameters */ miGeoIndex no_ctls; /* number of control points */ miGeoIndex no_specpnts; /* number of special points */ miGeoIndex scalar_idx; /* index into curve_scalar list */ miGeoIndex specpnt_idx; /* index into special points list */ miGeoIndex basis_idx; /* index into basis list */ enum miCurve_type type; int pad; /* not used */ } miCurve;
A translator must provide: type, approx,
new_loop, ctl_dim, degree,
range, no_parms, no_ctls,
scalar_idx, basis_idx.
A translator may provide: no_specpnts,
specpnt_idx.
type specifies what the curve is used for. It must be one of miCURVE_TRIM, miCURVE_HOLE, miCURVE_SPECIAL or miCURVE_SPACE. The default is miCURVE_TRIM.
approx is the approximation technique as described above, in the miFace description.
new_loop is miTRUE for every new loop. Loops can be pieced together from multiple consecutive curves. The default is miTRUE.
ctl_dim is the control point dimension; 2 for UV curves or 3 for space curves. The default is 2.
degree is the degree of the curve. The default is 3.
range is the range over which the curve is evaluated. The value depends on the parameter list. The defaults are 0.0 and 1.0.
no_parms is the length of the parameter vectors.
no_ctls is the number of control points for this curve. The number of scalars required in the curve scalar list is no_ctls · ctl_dim.
no_specpoints is the number of special points to be included in the approximation.
scalar_idx is the index of the first scalar in the curve scalar list (also anchored in the object, see above). The scalar list for one curve consists of the parameter vector, followed by the control points (all X first, then all Y, then all Z, if present).
specpnt_idx is the index of the first special point in the special points list (anchored in the object) to use.
basis_idx is the index of the basis in the basis list (anchored in the object) to use.
type describes what the curve is used for: trimming, hole, special, or space curve.
Copyright © 1986-2008 by mental images GmbH