# Divide

`verb.eval.Divide`

CLASS

Source code

Divide provides various tools for dividing and splitting NURBS geometry.

## surfaceSplit

STATIC METHOD

Source code

`surfaceSplit(surface : NurbsSurfaceData, u : Float, useV : Bool) : Array<NurbsSurfaceData>`

Split a NURBS surface in two at a given parameter

params

• The surface to split
• The parameter at which to split the surface
• Whether to split in the U direction or V direction of the surface

returns

• A length two array of new surfaces

## curveSplit

STATIC METHOD

Source code

`curveSplit(curve : NurbsCurveData, u : Float) : Array<NurbsCurveData>`

Split a NURBS curve into two parts at a given parameter

params

• NurbsCurveData object representing the curve
• location to split the curve

returns

• Array two new curves, defined by degree, knots, and control points

## rationalCurveByEqualArcLength

STATIC METHOD

Source code

`rationalCurveByEqualArcLength(curve : NurbsCurveData, num : Int) : Array<CurveLengthSample>`

Divide a NURBS curve given a given number of times, including the end points. The result is not split curves but a collection of `CurveLengthSample` objects that can be used for splitting. As with all arc length methods, the result is an approximation.

params

• NurbsCurveData object representing the curve
• The number of parts to split the curve into

returns

• An array of `CurveLengthSample` objects

## rationalCurveByArcLength

STATIC METHOD

Source code

`rationalCurveByArcLength(curve : NurbsCurveData, l : Float) : Array<CurveLengthSample>`

Divide a NURBS curve given a given number of times, including the end points.

params

• NurbsCurveData object representing the curve
• The arc length separating the resultant samples

returns

• A sequence of `CurveLengthSample` objects

# CurveLengthSample

`verb.eval.CurveLengthSample`

CLASS

Source code

## constructor

METHOD

Source code

`new CurveLengthSample(u : undefined, len : undefined)`

## u

PROPERTY

Source code

`u : Float`

## len

PROPERTY

Source code

`len : Float`