Skip to content

editorGlobalsMultiAnchor

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: SetIPositionableAnchor = new Set()

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


Private Readonly changeEventEmitter

changeEventEmitter: EventEmitterIAnchorChangeEvent = 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: EventEmitterITransformsChangeEvent = 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(): IPublicEventEmitterInterfaceIAnchorChangeEvent

Implementation of IPositioningAnchor

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

Returns: IPublicEventEmitterInterfaceIAnchorChangeEvent


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(): IPublicEventEmitterInterfaceITransformsChangeEvent

Implementation of IPositioningAnchor

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

Returns: IPublicEventEmitterInterfaceITransformsChangeEvent


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