gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp (Operator)

Name

gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp — Create control data of a NURBS curve that interpolates given points.

Signature

gen_nurbs_interp( : : Rows, Cols, Tangents, Degree : CtrlRows, CtrlCols, Knots)

Herror T_gen_nurbs_interp(const Htuple Rows, const Htuple Cols, const Htuple Tangents, const Htuple Degree, Htuple* CtrlRows, Htuple* CtrlCols, Htuple* Knots)

void GenNurbsInterp(const HTuple& Rows, const HTuple& Cols, const HTuple& Tangents, const HTuple& Degree, HTuple* CtrlRows, HTuple* CtrlCols, HTuple* Knots)

static void HOperatorSet.GenNurbsInterp(HTuple rows, HTuple cols, HTuple tangents, HTuple degree, out HTuple ctrlRows, out HTuple ctrlCols, out HTuple knots)

def gen_nurbs_interp(rows: Sequence[float], cols: Sequence[float], tangents: Sequence[float], degree: int) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

Description

gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterpgen_nurbs_interp creates the NURBS control data CtrlRowsCtrlRowsCtrlRowsCtrlRowsctrlRowsctrl_rows, CtrlColsCtrlColsCtrlColsCtrlColsctrlColsctrl_cols, and KnotsKnotsKnotsKnotsknotsknots of a NURBS curve that interpolates the input points (RowsRowsRowsRowsrowsrows, ColsColsColsColscolscols). If the input point list is not closed (i.e., the first point is identical to the last point), the tangents of the first and last point must be given in TangentsTangentsTangentsTangentstangentstangents in the order [drow_{0},dcol_{0},drow_{n-1},dcol_{n-1}] (for closed point lists, TangentsTangentsTangentsTangentstangentstangents must be an empty tuple). Furthermore the DegreeDegreeDegreeDegreedegreedegree of the NURBS curve must be specified.

The output of gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterpgen_nurbs_interp can be used directly with gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld with the weights vector set to 'auto'"auto""auto""auto""auto""auto".

See the documentation of gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld for more information on NURBS curves.

Execution Information

Parameters

RowsRowsRowsRowsrowsrows (input_control)  coordinates.y-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Row coordinates of input point list.

Number of elements: Rows == Cols

ColsColsColsColscolscols (input_control)  coordinates.x-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Column coordinates of input point list.

Number of elements: Cols == Rows

TangentsTangentsTangentsTangentstangentstangents (input_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Tangents at first and last point.

Default value: []

DegreeDegreeDegreeDegreedegreedegree (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Order of the output curve.

Default value: 3

Suggested values: 2, 3, 4, 5

Restriction: Degree >= 2

CtrlRowsCtrlRowsCtrlRowsCtrlRowsctrlRowsctrl_rows (output_control)  coordinates.y-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Row coordinates of the control polygon.

CtrlColsCtrlColsCtrlColsCtrlColsctrlColsctrl_cols (output_control)  coordinates.x-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Column coordinates of the control polygon.

Number of elements: Cols == Rows

KnotsKnotsKnotsKnotsknotsknots (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

The knot vector of the output curve.

Result

If all input parameters are correct gen_nurbs_interpgen_nurbs_interpGenNurbsInterpGenNurbsInterpGenNurbsInterpgen_nurbs_interp returns the value 2 (H_MSG_TRUE).

Possible Successors

gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld

See also

draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpDrawNurbsInterpdraw_nurbs_interp, draw_nurbs_interp_moddraw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModDrawNurbsInterpModdraw_nurbs_interp_mod

References

L. Piegl, W. Tiller: ”The NURBS Book”, 2nd Edition, Springer, 1997.

Module

Foundation