editor › Globals › RelativeTransformsAnchor
Class: RelativeTransformsAnchor
Positions something relative to another (= reference) anchor. The relative offset and rotation are in the reference anchor's local coordinate system, thus this anchor behaves as if it was fixated to the reference anchor. This anchor can hold multiple transforms but you can also use it as if it only had one, the first one is the default. Multiple transforms are used for cycling through grid inferrer results.
Hierarchy
- RelativeTransformsAnchor
Implements
Index
Properties
- changeEventEmitter
- chosenTransformsIndex
- destroyed
- offsetsAndRelativeRotations
- referenceAnchor
- transforms
- transformsChangeEventEmitter
Methods
- _onReferenceAnchorChange
- _onReferenceAnchorTransformsChange
- _updateTransformsAndEmitEvent
- addOffsetAndRelativeRotation
- clone
- destroy
- getAllOffsetsAndRelativeRotations
- getChangeEventEmitter
- getChosenTransformsIndex
- getIsValid
- getOffset
- getReferenceAnchor
- getRelativeRotation
- getTargets
- getTransforms
- getTransformsChangeEventEmitter
- getTransformsTargets
- removeOffsetAndRelativeRotationWithIndex
- setAllOffsetsAndRelativeRotations
- setChosenTransformsIndex
- setOffset
- setReferenceAnchor
- setRelativeRotation
- fromAnchors
Properties
Private Readonly changeEventEmitter
• changeEventEmitter: EventEmitter‹IAnchorChangeEvent› = new EventEmitter
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:62
Private chosenTransformsIndex
• chosenTransformsIndex: number = 0
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:60
Private destroyed
• destroyed: boolean = false
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:66
Private offsetsAndRelativeRotations
• offsetsAndRelativeRotations: ITransformProperties[] = [ { offset: new Vector3(), relativeRotation: new Quaternion() }, ]
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:56
Private referenceAnchor
• referenceAnchor: IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:49
Private transforms
• transforms: Transforms = new Transforms()
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:54
The position/rotation of this anchor in assembly space
Private Readonly transformsChangeEventEmitter
• transformsChangeEventEmitter: EventEmitter‹ITransformsChangeEvent› = new EventEmitter
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:64
Methods
Private _onReferenceAnchorChange
▸ _onReferenceAnchorChange(event: IAnchorChangeEvent): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:231
Parameters:
| Name | Type |
|---|---|
event |
IAnchorChangeEvent |
Returns: void
Private _onReferenceAnchorTransformsChange
▸ _onReferenceAnchorTransformsChange(event: any): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:213
apply local offsets to calc own transforms, emit event
Parameters:
| Name | Type | Description |
|---|---|---|
event |
any | - |
Returns: void
Private _updateTransformsAndEmitEvent
▸ _updateTransformsAndEmitEvent(): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:217
Returns: void
addOffsetAndRelativeRotation
▸ addOffsetAndRelativeRotation(newOffset: Vector3, newRotation: Quaternion): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:137
Parameters:
| Name | Type |
|---|---|
newOffset |
Vector3 |
newRotation |
Quaternion |
Returns: void
clone
▸ clone(): RelativeTransformsAnchor
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:173
Returns: RelativeTransformsAnchor
a clone of this and the reference anchor
destroy
▸ destroy(): void
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:188
Returns: void
getAllOffsetsAndRelativeRotations
▸ getAllOffsetsAndRelativeRotations(): Array‹object›
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:156
Returns: Array‹object›
getChangeEventEmitter
▸ getChangeEventEmitter(): IPublicEventEmitterInterface‹IAnchorChangeEvent›
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:117
Returns: IPublicEventEmitterInterface‹IAnchorChangeEvent›
getChosenTransformsIndex
▸ getChosenTransformsIndex(): number
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:160
Returns: number
getIsValid
▸ getIsValid(): boolean
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:113
Returns: boolean
getOffset
▸ getOffset(): Vector3‹›
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:104
Returns: Vector3‹›
getReferenceAnchor
▸ getReferenceAnchor(): IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:87
Returns: IPositioningAnchor
getRelativeRotation
▸ getRelativeRotation(): Quaternion‹›
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:95
Returns: Quaternion‹›
getTargets
▸ getTargets(): IModelElement[]
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:125
Returns: IModelElement[]
getTransforms
▸ getTransforms(): IReadOnlyTransforms
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:133
Returns: IReadOnlyTransforms
getTransformsChangeEventEmitter
▸ getTransformsChangeEventEmitter(): IPublicEventEmitterInterface‹ITransformsChangeEvent›
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:121
Returns: IPublicEventEmitterInterface‹ITransformsChangeEvent›
getTransformsTargets
▸ getTransformsTargets(): IPositioningAnchor[]
Implementation of IPositioningAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:91
Returns: IPositioningAnchor[]
removeOffsetAndRelativeRotationWithIndex
▸ removeOffsetAndRelativeRotationWithIndex(index: number): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:141
Parameters:
| Name | Type |
|---|---|
index |
number |
Returns: void
setAllOffsetsAndRelativeRotations
▸ setAllOffsetsAndRelativeRotations(offsetAndRotation: Array‹object›): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:148
Parameters:
| Name | Type |
|---|---|
offsetAndRotation |
Array‹object› |
Returns: void
setChosenTransformsIndex
▸ setChosenTransformsIndex(index: number): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:164
Parameters:
| Name | Type |
|---|---|
index |
number |
Returns: void
setOffset
▸ setOffset(newOffset: Vector3): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:108
Parameters:
| Name | Type |
|---|---|
newOffset |
Vector3 |
Returns: void
setReferenceAnchor
▸ setReferenceAnchor(reference: IPositioningAnchor): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:68
Parameters:
| Name | Type |
|---|---|
reference |
IPositioningAnchor |
Returns: void
setRelativeRotation
▸ setRelativeRotation(newRotation: Quaternion): void
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:99
Parameters:
| Name | Type |
|---|---|
newRotation |
Quaternion |
Returns: void
Static fromAnchors
▸ fromAnchors(reference: IPositioningAnchor, target: IPositionableElementTransformsDefiner): RelativeTransformsAnchor
Defined in src/model/data/Concepts/Anchors/RelativeTransformsAnchor.ts:31
Creates a relative transforms so that this anchor will initially realize the target's coordinate system until the reference changes.
Parameters:
| Name | Type | Description |
|---|---|---|
reference |
IPositioningAnchor | reference anchor to adjust to. As this will chain an anchor to the reference, the reference anchor must not be shared with others |
target |
IPositionableElementTransformsDefiner | a TransformsDefiner that provides the initial position (which is applied to the new anchor's coordinate system) |
Returns: RelativeTransformsAnchor