Skip to content

editorGlobalsVertex

Class: Vertex

Represents some location that can be shared by multiple users. If a VertexPosition is shared among several vertices, changing the position in one Vertex will influence all other vertices. VertexPositions can be shared by merging vertices; merged vertices can be split and isolated to be manipulated individually.

Hierarchy

  • Vertex

OutlinePoint

Index

Constructors

Properties

Methods

Constructors

constructor

+ new Vertex(position: Vector3 | VertexPosition): Vertex

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:168

Parameters:

Name Type
position Vector3 | VertexPosition

Returns: Vertex

Properties

Private cachedMergedVertices

cachedMergedVertices: readonly Vertex[] | null = null

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:168


Private Readonly positionChangeEventEmitter

positionChangeEventEmitter: EventEmitterVertex[]› = new EventEmitter()

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:167


Private vertexPosition

vertexPosition: VertexPosition

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:165

Methods

Private _resetCache

_resetCache(): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:284

Returns: void


Private _setVertexPosition

_setVertexPosition(vertexPosition: VertexPosition): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:288

Parameters:

Name Type
vertexPosition VertexPosition

Returns: void


clone

clone(): Vertex‹›

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:197

Creates a copy of this Vertex with the same position. The cloned Vertex is NOT automatically merged with this Vertex.

Returns: Vertex‹›

the cloned Vertex


closeTo

closeTo(other: Vertex): boolean

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:220

Determines whether two vertices are close enough together to share their position.

Parameters:

Name Type
other Vertex

Returns: boolean

whether the two vertices are close together


destroy

destroy(): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:188

Returns: void


distanceTo

distanceTo(otherVertex: Vertex): number

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:280

Parameters:

Name Type
otherVertex Vertex

Returns: number


emitPositionChange

emitPositionChange(): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:180

Returns: void


emitPositionUpdate

emitPositionUpdate(): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:276

This will emit a forced position update

Returns: void


getMergedVertices

getMergedVertices(this: OutlinePoint): readonly OutlinePoint[]

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:260

Gets all vertices merged with this Vertex (including this Vertex).

Parameters:

Name Type
this OutlinePoint

Returns: readonly OutlinePoint[]

getMergedVertices(this: Vertex): readonly Vertex[]

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:261

Parameters:

Name Type
this Vertex

Returns: readonly Vertex[]


getPosition

getPosition(targetVector?: Vector3): Vector3‹›

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:245

Gets the position of this Vertex.

Parameters:

Name Type Description
targetVector? Vector3 Optional target object

Returns: Vector3‹›

the vertex position


getPositionChangeEventEmitter

getPositionChangeEventEmitter(): IPublicEventEmitterInterfaceVertex‹›[]›

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:184

Returns: IPublicEventEmitterInterfaceVertex‹›[]›


getVertexPosition

getVertexPosition(): VertexPosition‹›

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:269

Returns: VertexPosition‹›


isolate

isolate(): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:212

Removed this Vertex from its merged group and isolates it.

Returns: void


mergedTo

mergedTo(other: Vertex): boolean

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:236

Determines whether two vertices are merged.

Parameters:

Name Type
other Vertex

Returns: boolean

whether the two vertices are merged


setPosition

setPosition(position: Vector3, emitUpdate: boolean): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:253

Set the position of this Vertex (and all merged vertices).

Parameters:

Name Type Default Description
position Vector3 - -
emitUpdate boolean true Whether to emit an position change event

Returns: void


split

split(): Vertex‹›[]

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:205

Splits the group of merged vertices this Vertex belongs to into individual vertices.

Returns: Vertex‹›[]

list of split vertices


translate

translate(translation: Vector3): void

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:227

Translates this Vertex by modifying its position.

Parameters:

Name Type
translation Vector3

Returns: void


Static group

group(vertices: readonly Vertex[]): Vertex‹›[][]

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:112

Groups an array of vertices by their position.

Parameters:

Name Type Description
vertices readonly Vertex[] the vertices to group

Returns: Vertex‹›[][]

the vertices grouped by position


Static merge

merge(vertices: Vertex[]): VertexPosition[]

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:133

Groups an array of vertices by their position and merges Vertices with the same position.

Parameters:

Name Type Description
vertices Vertex[] the vertices to group and merge

Returns: VertexPosition[]

the resulting VertexPositions


Static unique

unique(vertices: Vertex[]): Vertex‹›[]

Defined in src/model/data/PhysicalObject/Outline/Vertex.ts:160

Selects and returns one representative Vertex per group of merged vertices.

Parameters:

Name Type Description
vertices Vertex[] the vertices to group and select representatives for

Returns: Vertex‹›[]

list of selected vertices (one per group)