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
- anchorIdentifiers
- anchorLocalTransforms
- anchors
- changeEventEmitter
- isCurrentlyUpdatingAnchorTransforms
- transforms
- transformsChangeEventEmitter
- transformsHaveBeenInitialized
Methods
- _anchorIsAtItsRelativePosition
- _getActualLocalTransforms
- _onAnchorChange
- _onAnchorTransformsChange
- _updateTransformsFromAnchor
- addAnchor
- clone
- destroy
- getAnchors
- getChangeEventEmitter
- getIsValid
- getSurface
- getTargets
- getTransforms
- getTransformsChangeEventEmitter
- getTransformsTargets
- removeAnchor
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