formZ SDK | 5.0 API Reference | Project | Modeling | Objects | Control Objects | Nurbz Curve

# fz_objt_cnstr_nrbz_curve

Description

Creates a nurbz curve from a given set of points. If knots is passed in, it must be of size "npts + degree + 1". If weights is passed in it must be of size npts. If the curve is closed, closure can be achieved two different ways, depending on whether the first and last control point are identical :
Not identical Closure is achieved by internally duplicating the first degree + 1 control points at the end of the curve. There is no knot multiplicity at the begin and end. The control points passed in do NOT contain the duplicated points.
Identical Closure is achieved by creating knot multiplicity at the begin and end point of the curve. The knot vector, if passed in, must have knot multiplicity. An error is returned if these conditions are not met.

Plugin Prototype

fzrt_error_td fz_objt_cnstr_nrbz_curve(

fzrt_int | windex,
fz_xyz_td * | pts,
fzrt_int | npts,
fzrt_int | degree,
fzrt_boolean | closed,
fzrt_boolean | do_smooth,
double * | knots,
double * | weights,
fz_attr_refn_ptr | refn_opts,
fz_objt_ptr * | obj )

Parameters

windex [Input]

project window index

pts [Input]

points array

npts [Input]

number of points in pts array

degree [Input]

degree of nurbz curve

closed [Input]

closed curve

do_smooth [Input]

smooth curve

knots [Input, Optional]

knot values array. must be preallocated to store npts + degree + 1 values

weights [Input, Optional]

weights values array. must be preallocated to store npts values

refn_opts [Input, Optional]

refinement options

obj [Result]

nurbz curve object

Returns

Error codes

Availability

5.0.0.0

Example Files

util_objt_edit_nrbz_curv.fsl
util_objt_cnstr_nrbz.fsl
util_objt_edit_nrbz_curv.fsl
util_objt_ncos.fsl

See Also

, fz_ncrv_create_nurbs_curve

Function Set

fz_model_fset

Defined in

fz_objt_ncrv_api.h