Make

verb.eval.Make

CLASS

Source code

Make provides algorithms for generating NURBS representations of various special surfaces and curves. One of the very desirable properties of NURBS is the ability to represent common curve types like conics in NURBS. As a result, verb is able to represent many curve types with exceptional economy as many of the algorithms (for example, for intersection) can be reused.

This class includes methods for building:

Many of these algorithms owe their implementation to Piegl & Tiller's "The NURBS Book"

rationalTranslationalSurface

STATIC METHOD

Source code

rationalTranslationalSurface(profile : NurbsCurveData, rail : NurbsCurveData) : NurbsSurfaceData

Generate a surface by translating a profile curve along a rail curve

params

returns

surfaceBoundaryCurves

STATIC METHOD

Source code

surfaceBoundaryCurves(surface : NurbsSurfaceData) : Array<NurbsCurveData>

Extract the boundary curves from a surface

returns

surfaceIsocurve

STATIC METHOD

Source code

surfaceIsocurve(surface : NurbsSurfaceData, u : Float, useV : Bool) : NurbsCurveData

loftedSurface

STATIC METHOD

Source code

loftedSurface(curves : Array<NurbsCurveData>, degreeV : Int) : NurbsSurfaceData

clonedCurve

STATIC METHOD

Source code

clonedCurve(curve : NurbsCurveData) : NurbsCurveData

rationalBezierCurve

STATIC METHOD

Source code

rationalBezierCurve(controlPoints : Array<Point>, weights : Array<Float>) : NurbsCurveData

Generate the control points, weights, and knots for a bezier curve of any degree

params

returns

fourPointSurface

STATIC METHOD

Source code

fourPointSurface(p1 : Point, p2 : Point, p3 : Point, p4 : Point, degree : Int) : NurbsSurfaceData

Generate the control points, weights, and knots of a surface defined by 4 points

params

returns

ellipseArc

STATIC METHOD

Source code

ellipseArc(center : Point, xaxis : Point, yaxis : Point, startAngle : Float, endAngle : Float) : NurbsCurveData

Generate the control points, weights, and knots of an elliptical arc

params

returns

arc

STATIC METHOD

Source code

arc(center : Point, xaxis : Vector, yaxis : Vector, radius : Float, startAngle : Float, endAngle : Float) : NurbsCurveData

Generate the control points, weights, and knots of an arbitrary arc (Corresponds to Algorithm A7.1 from Piegl & Tiller)

params

returns

polyline

STATIC METHOD

Source code

polyline(pts : Array<Point>) : NurbsCurveData

Generate the control points, weights, and knots of a polyline curve

params

returns

extrudedSurface

STATIC METHOD

Source code

extrudedSurface(axis : Point, length : Float, profile : NurbsCurveData) : NurbsSurfaceData

Generate the control points, weights, and knots of an extruded surface

params

returns

cylindricalSurface

STATIC METHOD

Source code

cylindricalSurface(axis : Point, xaxis : Point, base : Point, height : Float, radius : Float) : NurbsSurfaceData

Generate the control points, weights, and knots of a cylinder

params

returns

revolvedSurface

STATIC METHOD

Source code

revolvedSurface(profile : NurbsCurveData, center : Point, axis : Point, theta : Float) : NurbsSurfaceData

Generate the control points, weights, and knots of a revolved surface (Corresponds to Algorithm A7.1 from Piegl & Tiller)

params

returns

sphericalSurface

STATIC METHOD

Source code

sphericalSurface(center : Point, axis : Point, xaxis : Point, radius : Float)

Generate the control points, weights, and knots of a sphere

params

returns

conicalSurface

STATIC METHOD

Source code

conicalSurface(axis : Point, xaxis : Point, base : Point, height : Float, radius : Float) : NurbsSurfaceData

Generate the control points, weights, and knots of a cone

params

returns

rationalInterpCurve

STATIC METHOD

Source code

rationalInterpCurve(points : Array<Array<Float>>, degree : Int, homogeneousPoints : Bool, start_tangent : Point, end_tangent : Point) : NurbsCurveData