Skip to content

editorGlobalsAssemblingState

Class: AssemblingState

A partially assembled virtual assembly including the information about which plates still have to be added.

Hierarchy

  • AssemblingState

Index

Constructors

Properties

Methods

Constructors

constructor

+ new AssemblingState(mainAssembly: IAssemblingSvgSurface[], unusedPlates: VirtualPlateStack[], metrics: AssemblingStateMetrics, creatingPlateStackId: number, parent: AssemblingState, operation: CombineOperation): AssemblingState

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:74

Parameters:

Name Type Default
mainAssembly IAssemblingSvgSurface[] -
unusedPlates VirtualPlateStack[] -
metrics AssemblingStateMetrics -
creatingPlateStackId number -
parent AssemblingState null
operation CombineOperation null

Returns: AssemblingState

Properties

Private Readonly creatingPlateStackId

creatingPlateStackId: number

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:70


Private generatedStates

generatedStates: AssemblingState[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:74


Private Readonly mainAssembly

mainAssembly: IAssemblingSvgSurface[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:66

The list of meshes that are already assembled


Private Readonly metrics

metrics: AssemblingStateMetrics

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:68


Private Readonly operation

operation: CombineOperation

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:72


Private Readonly parent

parent: AssemblingState

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:71


Private Readonly score

score: number

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:69


Private Readonly unusedPlateStacks

unusedPlateStacks: VirtualPlateStack[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:67

Methods

Private _getAllSteps

_getAllSteps(): AssemblingState[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:242

Returns: AssemblingState[]


extractPlate

extractPlate(surface: IAssemblingSvgSurface): object

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:215

Parameters:

Name Type
surface IAssemblingSvgSurface

Returns: object


generateChildStates

generateChildStates(): AssemblingState[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:97

Generates all possible child AssemblingStates that could be applied at this state.

Returns: AssemblingState[]


generateChildStatesForPlate

generateChildStatesForPlate(svgPlate: IAssemblingSvgSurface): AssemblingState[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:107

Parameters:

Name Type
svgPlate IAssemblingSvgSurface

Returns: AssemblingState[]


getDepth

getDepth(): number

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:151

Returns: number

how deep in the tree of options this node is


getFingerprint

getFingerprint(): string

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:171

Used to de-duplicate the search tree.

Returns: string

a string that can be used to uniquely identify this state amongst others


getJSONTree

getJSONTree(): IJSONAssemblyTree | undefined

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:202

Returns: IJSONAssemblyTree | undefined


getMainAssembly

getMainAssembly(): IAssemblingSvgSurface[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:144

Returns: IAssemblingSvgSurface[]


getMetrics

getMetrics(): AssemblingStateMetrics

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:136

Returns: AssemblingStateMetrics


getOperation

getOperation(): CombineOperation

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:128

Returns: CombineOperation


getParent

getParent(): AssemblingState‹›

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:132

Returns: AssemblingState‹›


getScore

getScore(): number

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:163

Returns: number


getStep

getStep(stepIndex: number): AssemblingState

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:211

Parameters:

Name Type
stepIndex number

Returns: AssemblingState


getUnusedPlateStacks

getUnusedPlateStacks(): VirtualPlateStack[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:140

Returns: VirtualPlateStack[]


isFinished

isFinished(): boolean

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:159

Are all plates assembled? This defines the end condition for us to stop trying new assemblies.

Returns: boolean


Static generateInitialStates

generateInitialStates(originAssembly: SvgSurfaceDescriptor[], plateStacks: PlateStack[]): AssemblingState[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:28

Given some PlateStacks, this method will generate all starting points for assembly.

Parameters:

Name Type
originAssembly SvgSurfaceDescriptor[]
plateStacks PlateStack[]

Returns: AssemblingState[]


Static generateOperations

generateOperations(meshes: IAssemblingSvgSurface[], mainAssembly: IAssemblingSvgSurface[]): CombineOperation[]

Defined in src/modules/kyub.core.plateImport/src/autoAssembly/AssemblingState.ts:57

Parameters:

Name Type
meshes IAssemblingSvgSurface[]
mainAssembly IAssemblingSvgSurface[]

Returns: CombineOperation[]