Skip to content

paintvec


Class: Segment

Defined in: index.ts:360

Segment represents a line segment between two points.

Remarks

All operations are immutable and return new Segment instances.

Constructors

Constructor

new Segment(p1, p2): Segment

Defined in: index.ts:366

Creates a new Segment instance.

Parameters

p1

Vec2

The start point

p2

Vec2

The end point

Returns

Segment

Properties

p1

p1: Vec2

Defined in: index.ts:367

The start point


p2

p2: Vec2

Defined in: index.ts:368

The end point

Accessors

length

Get Signature

get length(): number

Defined in: index.ts:384

Gets the length of this segment.

Returns

number

The distance between the endpoints


angle

Get Signature

get angle(): number

Defined in: index.ts:392

Gets the angle of this segment from the positive x-axis.

Returns

number

The angle in radians, in the range [-π, π]

Methods

equals()

equals(other): boolean

Defined in: index.ts:376

Checks if this segment equals another segment.

Parameters

other

Segment

The segment to compare with

Returns

boolean

True if both endpoints are equal


transform()

transform(transform): Segment

Defined in: index.ts:401

Transforms this segment by a transformation matrix.

Parameters

transform

Transform

The transformation to apply

Returns

Segment

A new transformed Segment


mix()

mix(other, ratio): Segment

Defined in: index.ts:414

Linearly interpolates between this segment and another.

Parameters

other

Segment

The target segment

ratio

number

The interpolation ratio (0 = this, 1 = other)

Returns

Segment

A new Segment with interpolated endpoints


toString()

toString(): string

Defined in: index.ts:425

Returns a string representation of this segment.

Returns

string

A string in the format "Segment(p1,p2)"


toSVGLineProps()

toSVGLineProps(): object

Defined in: index.ts:434

Converts this segment to SVG line element properties.

Returns

object

An object with x1, y1, x2, y2 properties

x1

x1: number

y1

y1: number

x2

x2: number

y2

y2: number

Released under the MIT License.