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