Skip to content

Shapemetry API


Shapemetry API / Polyline

Class: Polyline

Defined in: core/Polyline.ts:16

Polyline (sequence of points, optionally closed).

Stored representation: points never repeats first/last. closed is the loop flag. fromJSON auto-detects an explicit closing point and strips it (forcing closed=true).

Constructors

Constructor

new Polyline(points, isClosed?): Polyline

Defined in: core/Polyline.ts:20

Parameters

points

Point[]

isClosed?

boolean = false

Returns

Polyline

Properties

points

points: Point[]

Defined in: core/Polyline.ts:17


isClosed

isClosed: boolean

Defined in: core/Polyline.ts:18

Methods

toJSON()

toJSON(): PolylineJSON

Defined in: core/Polyline.ts:25

Returns

PolylineJSON


fromJSON()

static fromJSON(d): Polyline

Defined in: core/Polyline.ts:30

Parameters

d

PolylineJSON

Returns

Polyline


length()

length(): number

Defined in: core/Polyline.ts:40

Returns

number


reverse()

reverse(): Polyline

Defined in: core/Polyline.ts:55

Returns

Polyline


centroid()

centroid(): Point

Defined in: core/Polyline.ts:57

Returns

Point


boundingBox()

boundingBox(): BoundingBox

Defined in: core/Polyline.ts:65

Returns

BoundingBox


isCoplanar()

isCoplanar(tol?): boolean

Defined in: core/Polyline.ts:67

Parameters

tol?

number = 1e-10

Returns

boolean


fitPlane()

fitPlane(): Plane

Defined in: core/Polyline.ts:79

Best-fit plane via PCA: smallest eigenvector of the centered point covariance (Jacobi 3×3 eigendecomposition).

Returns

Plane


normal()

normal(): Vector

Defined in: core/Polyline.ts:126

Newell's normal — treats points as a closed ring.

Returns

Vector


signedArea()

signedArea(referenceNormal): number

Defined in: core/Polyline.ts:141

Signed area against reference normal — treats points as a closed ring. Positive = CCW from refNormal side.

Parameters

referenceNormal

Vector

Returns

number


containsPoint()

containsPoint(p): boolean

Defined in: core/Polyline.ts:156

Point-in-ring test (projects to ring plane, even-odd rule). Treats points as a closed ring.

Parameters

p

Point

Returns

boolean


makeUnique()

makeUnique(tol?): Polyline

Defined in: core/Polyline.ts:181

Parameters

tol?

number = 1e-10

Returns

Polyline


transform()

transform(tr): Polyline

Defined in: core/Polyline.ts:189

Parameters

tr

Transformation

Returns

Polyline


clone()

clone(): Polyline

Defined in: core/Polyline.ts:193

Returns

Polyline