editor › Globals › MakerAsset
Class: MakerAsset
Represents what we would normally call "Asset", i.e. usually some non laser-cut geometry that is connected to the model via a set of explicitly positioned plates and ornaments.
This only supports the new (V2) internal makerAsset format
Hierarchy
- MakerAsset
Implements
Index
Properties
- anchor
- assembly
- assetIdAndResourceName
- associatedPlaceholders
- changeEventEmitter
- connectors
- externalObjects
- isSpecLoaded
- passThroughSvg
- scale
- specLoadingPromise
- switchPlateSide
- transformsChangeEventEmitter
Methods
- _onAnchorChange
- _onAnchorTransformsChange
- _parseExternalObject
- _removeAllPlaceholders
- addPlaceholder
- destroy
- getAnchor
- getAssembly
- getAssetId
- getAssetIdAndResourceName
- getChangeEventEmitter
- getConnectors
- getElementsThisDependsOn
- getExternalObjects
- getIsSpecLoaded
- getIsValid
- getLoadingPromise
- getParent
- getPartNames
- getPassThroughSvg
- getPlaceholders
- getScale
- getSwitchPlateSide
- getTransforms
- getTransformsChangeEventEmitter
- getTransformsDefiner
- isInitialized
- loadSpecification
- resetAnchor
- setAssembly
- setScale
- setTransformsDefiner
- showPlaceholderHints
Properties
Private anchor
• anchor: IPositioningAnchor | null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:75
The anchor that defines the makerAsset's coordinate system and its position within the assembly
Private assembly
• assembly: Assembly = null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:59
Reference to the assembly this model element is part of
Private assetIdAndResourceName
• assetIdAndResourceName: string | null = null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:54
The reference which makerAsset this MakerAsset represents
Private associatedPlaceholders
• associatedPlaceholders: Set‹PlaceholderDescriptor› = new Set()
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:79
Private Readonly changeEventEmitter
• changeEventEmitter: EventEmitter‹IModelElementEvent› = new EventEmitter
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:69
Private connectors
• connectors: AssetPlateSpec[] = []
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:61
Private externalObjects
• externalObjects: IExternalObjectSpec[] = []
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:67
Private isSpecLoaded
• isSpecLoaded: boolean = false
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:77
Private passThroughSvg
• passThroughSvg: string | null = null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:65
Private scale
• scale: Vector3‹› = new Vector3(1, 1, 1)
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:81
Private specLoadingPromise
• specLoadingPromise: Promise‹void› = null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:76
Private switchPlateSide
• switchPlateSide: boolean | null = null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:63
Private Readonly transformsChangeEventEmitter
• transformsChangeEventEmitter: EventEmitter‹ITransformsChangeEvent› = new EventEmitter
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:70
Methods
Private _onAnchorChange
▸ _onAnchorChange(event: IAnchorChangeEvent): void
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:363
Parameters:
| Name | Type |
|---|---|
event |
IAnchorChangeEvent |
Returns: void
Private _onAnchorTransformsChange
▸ _onAnchorTransformsChange(event: ITransformsChangeEvent): void
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:391
Parameters:
| Name | Type |
|---|---|
event |
ITransformsChangeEvent |
Returns: void
Private _parseExternalObject
▸ _parseExternalObject(asset: any, resourceName: any): Promise‹IExternalObjectSpec›
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:398
Parameters:
| Name | Type |
|---|---|
asset |
any |
resourceName |
any |
Returns: Promise‹IExternalObjectSpec›
Private _removeAllPlaceholders
▸ _removeAllPlaceholders(): void
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:355
Returns: void
addPlaceholder
▸ addPlaceholder(placeholder: PlaceholderDescriptor): void
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:327
Parameters:
| Name | Type |
|---|---|
placeholder |
PlaceholderDescriptor |
Returns: void
destroy
▸ destroy(): void
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:174
Returns: void
getAnchor
▸ getAnchor(): IPositioningAnchor
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:323
Returns: IPositioningAnchor
getAssembly
▸ getAssembly(): Assembly
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:178
Returns: Assembly
getAssetId
▸ getAssetId(): string
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:237
Returns: string
getAssetIdAndResourceName
▸ getAssetIdAndResourceName(): string
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:274
Returns: string
getChangeEventEmitter
▸ getChangeEventEmitter(): IPublicEventEmitterInterface‹IModelElementEvent›
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:214
Returns: IPublicEventEmitterInterface‹IModelElementEvent›
getConnectors
▸ getConnectors(): AssetPlateSpec[]
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:253
Returns: AssetPlateSpec[]
getElementsThisDependsOn
▸ getElementsThisDependsOn(): IModelElement[]
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:204
Returns: IModelElement[]
getExternalObjects
▸ getExternalObjects(): IExternalObjectSpec[]
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:249
Returns: IExternalObjectSpec[]
getIsSpecLoaded
▸ getIsSpecLoaded(): boolean
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:170
Returns: boolean
getIsValid
▸ getIsValid(): boolean
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:189
Returns true if the makerAsset is valid or in the process of getting valid (loading)
Returns: boolean
getLoadingPromise
▸ getLoadingPromise(): Promise‹void›
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:166
If the asset is currently loading its specification, this promise will resolve as soon as loading finished
Returns: Promise‹void›
getParent
▸ getParent(): ITransformable
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:230
Returns: ITransformable
getPartNames
▸ getPartNames(): string[]
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:261
Returns: string[]
all unique part names specified by connectors, sorted alphabetically. If no connector specifies any part name, the array is empty
getPassThroughSvg
▸ getPassThroughSvg(): string | null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:245
Returns: string | null
getPlaceholders
▸ getPlaceholders(): Set‹PlaceholderDescriptor›
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:331
Returns: Set‹PlaceholderDescriptor›
getScale
▸ getScale(): ReadonlyVector3
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:341
Returns: ReadonlyVector3
getSwitchPlateSide
▸ getSwitchPlateSide(): boolean | null
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:241
Returns: boolean | null
getTransforms
▸ getTransforms(): IReadOnlyTransforms
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:226
Returns: IReadOnlyTransforms
getTransformsChangeEventEmitter
▸ getTransformsChangeEventEmitter(): IPublicEventEmitterInterface‹ITransformsChangeEvent›
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:218
Returns: IPublicEventEmitterInterface‹ITransformsChangeEvent›
getTransformsDefiner
▸ getTransformsDefiner(): IPositionableElementTransformsDefiner
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:222
Returns: IPositionableElementTransformsDefiner
isInitialized
▸ isInitialized(): boolean
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:159
The asset is initialized if its spec is loaded and the asset is placed
Returns: boolean
loadSpecification
▸ loadSpecification(assetIdAndResourceName: string): Promise‹void›
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:87
Loads the specification, i.e. the contents, of this maker makerAsset from the database.
Parameters:
| Name | Type | Description |
|---|---|---|
assetIdAndResourceName |
string | "assetId/resourceName" that specifies which makerAsset to load |
Returns: Promise‹void›
resetAnchor
▸ resetAnchor(): void
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:281
Detaches this from its anchor.
Returns: void
setAssembly
▸ setAssembly(assembly: Assembly): void
Implementation of IPositionableElement
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:182
Parameters:
| Name | Type |
|---|---|
assembly |
Assembly |
Returns: void
setScale
▸ setScale(scale: ReadonlyVector3): this
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:345
Parameters:
| Name | Type |
|---|---|
scale |
ReadonlyVector3 |
Returns: this
setTransformsDefiner
▸ setTransformsDefiner(anchor: IPositioningAnchor): this
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:292
Sets the anchor of the asset. If the asset defines connectors, you need to take care that the anchor positions the asset correctly, i.e. transforms it so that the connectors will match existing plates when being realized. Else, the asset's realizer may produce duplicate plates. TODO this probably closes https://gitlab.dev.kyub.io/laser-project/general-issues/issues/2449
Parameters:
| Name | Type | Description |
|---|---|---|
anchor |
IPositioningAnchor | - |
Returns: this
showPlaceholderHints
▸ showPlaceholderHints(): void
Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:335
Returns: void