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:
  1. 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.
  2. 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.