HMIN_writeNURBS()
Specifies the next segment in the current line as a NURBS curve.
Syntax
void HMIN_writeNURBS(unsigned int degree, unsigned int number_points, double * points, double * weights, unsigned int number_knots, double * knots, double knot_tolerance, double start_t, double end_t);
Type
HyperMesh hminlib Function
Description
Specifies the next segment in the current line as a NURBS curve.
Inputs
- degree
- The degree of the NURBS.
- number_points
- The number of control points in the NURBS.
- points
- Those control points, in the form X1, Y1, Z1, X2, Y2, Z2, and so on.
- weights
- If the NURBS is rational, this is the weight given to each control point. If the NURBS is polynomial, a null pointer should be passed in.
- number_knots
- The number of knots in the NURBS's controlling knot sequence.
- knots
- The knot sequence.
- knot_tolerance
- The tolerance that determines if two knots are the same.
- start_t
- The parameter value at the start of the portion of the curve under consideration.
- end_t
- The parameter value at the end of the portion of the curve under consideration.
Example
Refer to the HyperMesh User’s Manual for a detailed description of the structure and meaning of NURBS curves.
The NURBS format is very versatile. HyperMesh attempts to
understand all NURBS curves, but you can ensure more accurate results and faster processing
time by following these guidelines:
- HyperMesh requires that its lines be C1 arc length continuous. Thus multiple control points or knots of multiplicity of the degree or greater force HyperMesh to modify the line. You can avoid these problems by breaking the single NURBS into two or more NURBS; this, in fact, is how HyperMesh handles it.
- The above caveat implies that NURBS of degree 1 are always problematical. This is certainly the case; avoid them if possible.
This command is only valid after a call to HMIN_startline() and before the corresponding call to HMIN_endline().
Errors
None.