A NURBS primitive geometry.

Constructor

@:value({ vKnot : null, uKnot : null, vSegments : 10, uSegments : 10, vOrder : 4, uOrder : 4 })new(cNet:Vector<NURBSVertex>, uCtrlPnts:Int, vCtrlPnts:Int, uOrder:Int = 4, vOrder:Int = 4, uSegments:Int = 10, vSegments:Int = 10, ?uKnot:Vector<Float>, ?vKnot:Vector<Float>)

NURBS primitive generates a segmented mesh that fits the curved surface defined by the specified control points based on weighting, order influence and knot sequence

Parameters:

cNet

Array of control points (WeightedVertex array)

uCtrlPnts

Number of control points in the U direction

vCtrlPnts

Number of control points in the V direction

init

Init object for the mesh

Variables

uKnot:Vector<Float>

uOrder:Int

vKnot:Vector<Float>

vOrder:Int

Methods

@:value({ vTol : 0.01, uTol : 0.01, scale : 1, vecOffset : 0 })getSurfacePoint(uS:Float, vS:Float, vecOffset:Float = 0, scale:Float = 1, uTol:Float = 0.01, vTol:Float = 0.01):Vector3D

Return a 3d point representing the surface point at the required U(0-1) and V(0-1) across the NURBS curved surface.

Parameters:

uS

U position on the surface

vS

V position on the surface

vecOffset

Offset the point on the surface by this vector

scale

Scale of the surface point - should match the Mesh scaling

uTol

U tolerance for adjacent surface sample to calculate normal

vTol

V tolerance for adjacent surface sample to calculate normal

Returns:

The offset surface point being returned

refreshNURBS():Void

Refresh the mesh without reconstructing all the supporting data. This should be used only

 *  when the control point positions change.

Inherited Variables

Defined by Geometry

read onlyassetType:String

read onlysubGeometries:Vector<ISubGeometry>

Defined by NamedAssetBase

read onlyassetFullPath:Array<Dynamic>

read onlyassetNamespace:String

id:String

name:String

read onlyoriginalName:String

Inherited Methods

Defined by PrimitiveBase

applyTransformation(transform:Matrix3D):Void

@inheritDoc

clone():Geometry

@inheritDoc

scale(scale:Float):Void

@inheritDoc

@:value({ scaleV : 1, scaleU : 1 })scaleUV(scaleU:Float = 1, scaleV:Float = 1):Void

@inheritDoc

Defined by Geometry

addSubGeometry(subGeometry:ISubGeometry):Void

Adds a new SubGeometry object to the list.

Parameters:

subGeometry

The SubGeometry object to be added.

convertToSeparateBuffers():Void

Updates the SubGeometries so all vertex data is represented in different buffers. Use this for compatibility with Pixel Bender and PBPickingCollider

dispose():Void

Clears all resources used by the Geometry object, including SubGeometries.

removeSubGeometry(subGeometry:ISubGeometry):Void

Removes a new SubGeometry object from the list.

Parameters:

subGeometry

The SubGeometry object to be removed.

Defined by NamedAssetBase

assetPathEquals(name:String, ns:String):Bool

@:value({ overrideOriginal : true, ns : null })resetAssetPath(name:String, ?ns:String, overrideOriginal:Bool = true):Void