editor › Globals › UnfoldingNester
Class: UnfoldingNester
Base class that contains logic to nest unfoldings i.e. connected groups of PlateGroups.
Hierarchy
↳ Nester
↳ UnfoldingNester
Index
Constructors
Properties
- cancelToken
- groupRepresentationsMap
- height
- hintEventEmitter
- progressEventEmitter
- warningEventEmitter
- width
Methods
- _groupRepresentationsMap
- _layOutNextToEachOther
- _nestUnfoldings
- _onHint
- _onProgress
- _onWarning
- getHeight
- getHintEventEmitter
- getProgressEventEmitter
- getWarningEventEmitter
- getWidth
- nest
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
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
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[] |
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[]›
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 |
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