Skip to content

editor › Globals › MultiAnchor

Class: MultiAnchor

A MultiAnchor bundles different individual anchors together. If one anchor changes position, the other ones are updated accordingly. If one update fails, the anchor is destroyed and not considered for update anymore.

Hierarchy

  • MultiAnchor

Implements

Index

Properties

Methods

Properties

Private anchorIdentifiers

• anchorIdentifiers: Map‹IPositionableAnchor, string | number› = new Map()

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:43


Private anchorLocalTransforms

• anchorLocalTransforms: Map‹IPositionableAnchor, Transforms‹›› = new Map()

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:41


Private anchors

• anchors: Set‹IPositionableAnchor› = new Set()

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:39


Private Readonly changeEventEmitter

• changeEventEmitter: EventEmitter‹IAnchorChangeEvent› = new EventEmitter()

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:32


Private isCurrentlyUpdatingAnchorTransforms

• isCurrentlyUpdatingAnchorTransforms: boolean = false

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:45


Private transforms

• transforms: Transforms‹› = new Transforms()

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:37

The official transforms of the anchor, in assembly space


Private Readonly transformsChangeEventEmitter

• transformsChangeEventEmitter: EventEmitter‹ITransformsChangeEvent› = new EventEmitter()

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:30


Private transformsHaveBeenInitialized

• transformsHaveBeenInitialized: boolean = false

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:51

Needed for initialization: if this anchor's transforms have ever been initialized from one of the IPositionableAnchors

Methods

Private _anchorIsAtItsRelativePosition

▸ _anchorIsAtItsRelativePosition(anchor: IPositionableAnchor, localTransforms: Transforms): boolean

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:269

Parameters:

Name Type
anchor IPositionableAnchor
localTransforms Transforms

Returns: boolean

whether the anchor is currently at its specified local position


Private _getActualLocalTransforms

▸ _getActualLocalTransforms(anchor: IPositionableAnchor): Transforms

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:283

Parameters:

Name Type
anchor IPositionableAnchor

Returns: Transforms


Private _onAnchorChange

▸ _onAnchorChange(changeEvent: IAnchorChangeEvent): void

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:221

Parameters:

Name Type
changeEvent IAnchorChangeEvent

Returns: void


Private _onAnchorTransformsChange

▸ _onAnchorTransformsChange(changeEvent: ITransformsChangeEvent): void

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:245

Parameters:

Name Type
changeEvent ITransformsChangeEvent

Returns: void


Private _updateTransformsFromAnchor

▸ _updateTransformsFromAnchor(changedAnchor: IPositionableAnchor, specifiedLocalTransforms: Transforms): void

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:290

Parameters:

Name Type
changedAnchor IPositionableAnchor
specifiedLocalTransforms Transforms

Returns: void


addAnchor

▸ addAnchor(anchor: IPositionableAnchor, localTransforms?: Transforms, identifier: number | string | null): void

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:53

Parameters:

Name Type Default
anchor IPositionableAnchor -
localTransforms? Transforms -
identifier number | string | null null

Returns: void


clone

▸ clone(): MultiAnchor

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:170

Returns: MultiAnchor


destroy

▸ destroy(): void

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:111

Returns: void


getAnchors

▸ getAnchors(): Array‹object›

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:191

This method should be only used for serialization. You should not have to access individual anchors after initializing this anchor.

Returns: Array‹object›


getChangeEventEmitter

▸ getChangeEventEmitter(): IPublicEventEmitterInterface‹IAnchorChangeEvent›

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:123

Returns: IPublicEventEmitterInterface‹IAnchorChangeEvent›


getIsValid

▸ getIsValid(): boolean

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:127

Returns: boolean


getSurface

▸ getSurface(): MeshSurface

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:139

Returns: MeshSurface


getTargets

▸ getTargets(): IModelElement[]

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:147

Returns: IModelElement[]


getTransforms

▸ getTransforms(): IReadOnlyTransforms

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:158

Returns: IReadOnlyTransforms


getTransformsChangeEventEmitter

▸ getTransformsChangeEventEmitter(): IPublicEventEmitterInterface‹ITransformsChangeEvent›

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:162

Returns: IPublicEventEmitterInterface‹ITransformsChangeEvent›


getTransformsTargets

▸ getTransformsTargets(): IPositionableElementTransformsDefiner[]

Implementation of IPositioningAnchor

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:166

Returns: IPositionableElementTransformsDefiner[]


removeAnchor

▸ removeAnchor(anchor: any): void

Defined in src/model/data/Concepts/Anchors/MultiAnchor.ts:207

Parameters:

Name Type
anchor any

Returns: void