Skip to content

editor › Globals › UnfoldingNester

Class: UnfoldingNester

Base class that contains logic to nest unfoldings i.e. connected groups of PlateGroups.

Hierarchy

↳ Nester

↳ UnfoldingNester

↳ RoadkillNester

↳ StripUnfoldingNester

↳ FoamCoreNester

Index

Constructors

Properties

Methods

Object literals

Constructors

constructor

+ new UnfoldingNester(groupRepresentationsMap: Map‹PlateGroup, IPlateGroup2DRepresentations›, __namedParameters: [number, number], cancelToken?: CancelToken): UnfoldingNester

Inherited from Nester.constructor

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:21

Parameters:

Name Type Description
groupRepresentationsMap Map‹PlateGroup, IPlateGroup2DRepresentations› a Map that maps PlateGroups to different 2D representations of them. The nester may use solely the polygonWithCutouts representation to get the most space efficient layout or they may use the extended information to better inform their decision.
__namedParameters [number, number] -
cancelToken? CancelToken optional, use to cancel the nesting progress

Returns: UnfoldingNester

Properties

Protected Readonly cancelToken

• cancelToken: any

Inherited from Nester.cancelToken

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:21


Protected groupRepresentationsMap

• groupRepresentationsMap: Map‹PlateGroup, IPlateGroup2DRepresentations›

Inherited from Nester.groupRepresentationsMap

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:18


Protected height

• height: number

Inherited from Nester.height

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:20


Protected Readonly hintEventEmitter

• hintEventEmitter: EventEmitter‹object› = new EventEmitter<{ message: string; newExportSettings?; }>()

Inherited from PipelineEventsEmitter.hintEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:20


Protected Readonly progressEventEmitter

• progressEventEmitter: EventEmitter‹object› = new EventEmitter<{ stage: string; progress: number; }>()

Inherited from PipelineEventsEmitter.progressEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:12


Protected Readonly warningEventEmitter

• warningEventEmitter: EventEmitter‹object› = new EventEmitter<{ code: string; message: string; }>()

Inherited from PipelineEventsEmitter.warningEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:16


Protected width

• width: number

Inherited from Nester.width

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:19

Methods

Protected _groupRepresentationsMap

▸ _groupRepresentationsMap(): Map‹PlateGroup, Map‹Plate, RasterizedOutlineWithHoles››

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:156

Returns: Map‹PlateGroup, Map‹Plate, RasterizedOutlineWithHoles››


Protected _layOutNextToEachOther

▸ _layOutNextToEachOther(nestings: Nesting[], allPlateGroups: PlateGroup[]): Promise‹Nesting›

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:127

Parameters:

Name Type
nestings Nesting[]
allPlateGroups PlateGroup[]

Returns: Promise‹Nesting›


Protected _nestUnfoldings

▸ _nestUnfoldings(unfoldings: Nesting[], allPlateGroups: PlateGroup[], polygons?: Polygon[]): Promise‹Array‹object››

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:33

Parameters:

Name Type Description
unfoldings Nesting[] -
allPlateGroups PlateGroup[] -
polygons? Polygon[] Usually polygons are taken from the nesting, but they might not be accurate (eg roadkill has additional nesting elements).

Returns: Promise‹Array‹object››


Protected _onHint

▸ _onHint(hint: any): void

Inherited from PipelineEventsEmitter._onHint

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:45

Parameters:

Name Type
hint any

Returns: void


Protected _onProgress

▸ _onProgress(args: object): void

Inherited from PipelineEventsEmitter._onProgress

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:37

Parameters:

▪ args: object

Name Type
progress number
stage string

Returns: void


Protected _onWarning

▸ _onWarning(warning: object): void

Inherited from PipelineEventsEmitter._onWarning

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:41

Parameters:

▪ warning: object

Name Type
code string
message string

Returns: void


getHeight

▸ getHeight(): number

Inherited from Nester.getHeight

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:52

Returns: number


getHintEventEmitter

▸ getHintEventEmitter(): IPublicEventEmitterInterface‹object›

Inherited from PipelineEventsEmitter.getHintEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:33

Returns: IPublicEventEmitterInterface‹object›


getProgressEventEmitter

▸ getProgressEventEmitter(): IPublicEventEmitterInterface‹object›

Inherited from PipelineEventsEmitter.getProgressEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:25

Returns: IPublicEventEmitterInterface‹object›


getWarningEventEmitter

▸ getWarningEventEmitter(): IPublicEventEmitterInterface‹object›

Inherited from PipelineEventsEmitter.getWarningEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:29

Returns: IPublicEventEmitterInterface‹object›


getWidth

▸ getWidth(): number

Inherited from Nester.getWidth

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:48

Returns: number


Abstract nest

▸ nest(spacing: number): Promise‹IPage[]›

Inherited from Nester.nest

Defined in src/modules/kyub.core.svgObjExporter/src/export/Nester.ts:46

Should transform the given outlines to place them next to each other

Parameters:

Name Type Description
spacing number how much space to leave between the polygons

Returns: Promise‹IPage[]›

updated outlines

Object literals

Protected config

▪ config: object

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:18

clipperScale

• clipperScale: number = 10000000

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:19

curveTolerance

• curveTolerance: number = 0.3

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:20

exploreConcave

• exploreConcave: false = false

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:21

mutationRate

• mutationRate: number = 10

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:22

populationSize

• populationSize: number = 10

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:23

rotations

• rotations: number = 4

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:24

spacing

• spacing: number = 0

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:25

useHoles

• useHoles: false = false

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:26

useRotations

• useRotations: number = 2

Defined in src/modules/kyub.core.svgObjExporter/src/export/Unfolding/UnfoldingNester.ts:27