Operator Reference

gen_nurbs_interpT_gen_nurbs_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp (Operator)

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_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp creates the NURBS control data CtrlRowsCtrlRowsCtrlRowsctrlRowsctrl_rows, CtrlColsCtrlColsCtrlColsctrlColsctrl_cols, and KnotsKnotsKnotsknotsknots of a NURBS curve that interpolates the input points (RowsRowsRowsrowsrows, ColsColsColscolscols). 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 TangentsTangentsTangentstangentstangents in the order [drow_{0},dcol_{0},drow_{n-1},dcol_{n-1}] (for closed point lists, TangentsTangentsTangentstangentstangents must be an empty tuple). Furthermore the DegreeDegreeDegreedegreedegree of the NURBS curve must be specified.

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

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

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

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

Row coordinates of input point list.

Number of elements: Rows == Cols

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

Column coordinates of input point list.

Number of elements: Cols == Rows

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

Tangents at first and last point.

Default: []

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

Order of the output curve.

Default: 3

Suggested values: 2, 3, 4, 5

Restriction: Degree >= 2

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

Row coordinates of the control polygon.

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

Column coordinates of the control polygon.

Number of elements: Cols == Rows

KnotsKnotsKnotsknotsknots (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_interpGenNurbsInterpGenNurbsInterpgen_nurbs_interp returns the value 2 ( H_MSG_TRUE) .

Possible Successors

gen_contour_nurbs_xldgen_contour_nurbs_xldGenContourNurbsXldGenContourNurbsXldgen_contour_nurbs_xld

See also

draw_nurbs_interpdraw_nurbs_interpDrawNurbsInterpDrawNurbsInterpdraw_nurbs_interp, draw_nurbs_interp_moddraw_nurbs_interp_modDrawNurbsInterpModDrawNurbsInterpModdraw_nurbs_interp_mod

References

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

Module

Foundation