Skip to content

Shapemetry API


Shapemetry API / NurbsCurve2d

Class: NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:17

2D NURBS/B-spline curve. Mirrors Geom2d_BSplineCurve (OCCT).

Stores 2D control points; all evaluation delegates to an underlying NurbsCurve at z = 0, which is cached on first access.

Implements

Constructors

Constructor

new NurbsCurve2d(degree, knots, controlPoints, weights): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:26

Parameters

degree

number

knots

number[]

controlPoints

Point2d[]

weights

number[]

Returns

NurbsCurve2d

Properties

degree

readonly degree: number

Defined in: curve2d/NurbsCurve2d.ts:18


knots

readonly knots: number[]

Defined in: curve2d/NurbsCurve2d.ts:19


controlPoints

readonly controlPoints: Point2d[]

Defined in: curve2d/NurbsCurve2d.ts:20


weights

readonly weights: number[]

Defined in: curve2d/NurbsCurve2d.ts:21


_curve3d

_curve3d: NurbsCurve | null = null

Defined in: curve2d/NurbsCurve2d.ts:24

Accessors

start

Get Signature

get start(): Point2d

Defined in: curve2d/NurbsCurve2d.ts:121

Returns

Point2d

Implementation of

Curve2d.start


end

Get Signature

get end(): Point2d

Defined in: curve2d/NurbsCurve2d.ts:122

Returns

Point2d

Implementation of

Curve2d.end


isClosed

Get Signature

get isClosed(): boolean

Defined in: curve2d/NurbsCurve2d.ts:123

Returns

boolean

Implementation of

Curve2d.isClosed

Methods

toNurbsCurve()

toNurbsCurve(): NurbsCurve

Defined in: curve2d/NurbsCurve2d.ts:39

Returns

NurbsCurve


spline()

static spline(points, degree?): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:54

Interpolating cubic spline through points.

Parameters

points

Point2d[]

degree?

number = 3

Returns

NurbsCurve2d


polyline()

static polyline(points, closed?): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:60

Degree-1 polyline through points.

Parameters

points

Point2d[]

closed?

boolean = false

Returns

NurbsCurve2d


line()

static line(start, end): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:66

Line segment from start to end.

Parameters

start

Point2d

end

Point2d

Returns

NurbsCurve2d


quadraticBezier()

static quadraticBezier(p0, p1, p2): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:72

Quadratic Bezier.

Parameters

p0

Point2d

p1

Point2d

p2

Point2d

Returns

NurbsCurve2d


cubicBezier()

static cubicBezier(p0, p1, p2, p3): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:80

Cubic Bezier.

Parameters

p0

Point2d

p1

Point2d

p2

Point2d

p3

Point2d

Returns

NurbsCurve2d


_from3d()

static _from3d(c): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:88

Parameters

c

NurbsCurve

Returns

NurbsCurve2d


toJSON()

toJSON(): NurbsCurve2dJSON

Defined in: curve2d/NurbsCurve2d.ts:101

Returns

NurbsCurve2dJSON

Implementation of

Curve2d.toJSON


fromJSON()

static fromJSON(d): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:110

Parameters

d

NurbsCurve2dJSON

Returns

NurbsCurve2d


pointAt()

pointAt(t): Point2d

Defined in: curve2d/NurbsCurve2d.ts:125

Parameters

t

number

Returns

Point2d

Implementation of

Curve2d.pointAt


tangentAt()

tangentAt(t): Vector2d

Defined in: curve2d/NurbsCurve2d.ts:130

Parameters

t

number

Returns

Vector2d

Implementation of

Curve2d.tangentAt


axesAtParam()

axesAtParam(t): Axes2d

Defined in: curve2d/NurbsCurve2d.ts:136

Parameters

t

number

Returns

Axes2d

Implementation of

Curve2d.axesAtParam


length()

length(): number

Defined in: curve2d/NurbsCurve2d.ts:141

Returns

number

Implementation of

Curve2d.length


lengthAt()

lengthAt(t): number

Defined in: curve2d/NurbsCurve2d.ts:142

Parameters

t

number

Returns

number

Implementation of

Curve2d.lengthAt


paramAtLength()

paramAtLength(s): number

Defined in: curve2d/NurbsCurve2d.ts:143

Parameters

s

number

Returns

number

Implementation of

Curve2d.paramAtLength


closestPoint()

closestPoint(p): Point2d

Defined in: curve2d/NurbsCurve2d.ts:145

Parameters

p

Point2d

Returns

Point2d

Implementation of

Curve2d.closestPoint


boundingBox()

boundingBox(): BoundingBox2d

Defined in: curve2d/NurbsCurve2d.ts:150

Returns

BoundingBox2d

Implementation of

Curve2d.boundingBox


splitAt()

splitAt(t): [NurbsCurve2d, NurbsCurve2d]

Defined in: curve2d/NurbsCurve2d.ts:156

Parameters

t

number

Returns

[NurbsCurve2d, NurbsCurve2d]

Implementation of

Curve2d.splitAt


reverse()

reverse(): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:161

Returns

NurbsCurve2d

Implementation of

Curve2d.reverse


transform()

transform(m): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:165

Parameters

m

Transformation2d

Returns

NurbsCurve2d

Implementation of

Curve2d.transform


clone()

clone(): NurbsCurve2d

Defined in: curve2d/NurbsCurve2d.ts:173

Returns

NurbsCurve2d

Implementation of

Curve2d.clone