Skip to content

editorGlobalsMakerAsset

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

Methods

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

Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:79


Private Readonly changeEventEmitter

changeEventEmitter: EventEmitterIModelElementEvent = 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: EventEmitterITransformsChangeEvent = 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): PromiseIExternalObjectSpec

Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:398

Parameters:

Name Type
asset any
resourceName any

Returns: PromiseIExternalObjectSpec


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

Implementation of IPositionableElement

Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:214

Returns: IPublicEventEmitterInterfaceIModelElementEvent


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

Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:331

Returns: SetPlaceholderDescriptor


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

Implementation of IPositionableElement

Defined in src/model/data/Concepts/MakerAsset/MakerAsset.ts:218

Returns: IPublicEventEmitterInterfaceITransformsChangeEvent


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