editor › Globals › PlateRenderer
Class: PlateRenderer
Transforms the plate outline based on all finger joints into an outline with actual fingerjoints
Hierarchy
- PlateRenderer
Index
Constructors
Properties
Methods
- _applyAdditionGroups
- _applyAdditionGroupsAsynchronously
- _applyCutoutGroups
- _applyCutoutGroupsAsynchronously
- _fixPolygons
- _getAdditionGroups
- _getBasePolygon
- _getCutoutGroups
- _getJointShapeChanges
- _getPolygonFromResults
- _getRenderClassForJoint
- applyShapeChanges
- applyShapeChangesAsynchronously
- cancel
- getFlexPlatePolygon
- getPlatePolygon
- getPlatePolygonAsynchronously
- getPlatePolygonWithoutOrnamentCutouts
- getShapeChanges
- getShapeChangesAsynchronously
- getWarningEventEmitter
Constructors
constructor
+ new PlateRenderer(plate: Plate, plateMatrix?: Matrix4): PlateRenderer
Defined in src/model/visualization/Plates/PlateRenderer.ts:88
Parameters:
| Name | Type |
|---|---|
plate |
Plate |
plateMatrix? |
Matrix4 |
Returns: PlateRenderer
Properties
Private Readonly cancelFunctions
• cancelFunctions: Array‹function› = []
Defined in src/model/visualization/Plates/PlateRenderer.ts:84
Private cancelled
• cancelled: boolean = false
Defined in src/model/visualization/Plates/PlateRenderer.ts:83
Private Readonly plate
• plate: Plate
Defined in src/model/visualization/Plates/PlateRenderer.ts:81
Private Optional Readonly plateMatrix
• plateMatrix? : Matrix4
Defined in src/model/visualization/Plates/PlateRenderer.ts:82
Private Readonly warningEventEmitter
• warningEventEmitter: EventEmitter‹object› = new EventEmitter<{ code: string; message: string; }>()
Defined in src/model/visualization/Plates/PlateRenderer.ts:85
Methods
Private _applyAdditionGroups
▸ _applyAdditionGroups(clipper: PolygonClipper, polygon: MultiPolygon, additionGroups: ShapeChange[][], failedPolygons: MultiPolygon[]): MultiPolygon
Defined in src/model/visualization/Plates/PlateRenderer.ts:571
Parameters:
| Name | Type | Default |
|---|---|---|
clipper |
PolygonClipper | - |
polygon |
MultiPolygon | - |
additionGroups |
ShapeChange[][] | - |
failedPolygons |
MultiPolygon[] | [] |
Returns: MultiPolygon
Private _applyAdditionGroupsAsynchronously
▸ _applyAdditionGroupsAsynchronously(asyncClipper: AsyncPolygonClipper, polygon: MultiPolygon, additionGroups: ShapeChange[][], failedPolygons: Array‹Polygon | MultiPolygon›): Promise‹MultiPolygon›
Defined in src/model/visualization/Plates/PlateRenderer.ts:653
Parameters:
| Name | Type | Default |
|---|---|---|
asyncClipper |
AsyncPolygonClipper | - |
polygon |
MultiPolygon | - |
additionGroups |
ShapeChange[][] | - |
failedPolygons |
Array‹Polygon | MultiPolygon› | [] |
Returns: Promise‹MultiPolygon›
Private _applyCutoutGroups
▸ _applyCutoutGroups(clipper: PolygonClipper, polygon: MultiPolygon, cutoutGroups: ShapeChange[][], failedPolygons: MultiPolygon[]): MultiPolygon
Defined in src/model/visualization/Plates/PlateRenderer.ts:546
Parameters:
| Name | Type | Default |
|---|---|---|
clipper |
PolygonClipper | - |
polygon |
MultiPolygon | - |
cutoutGroups |
ShapeChange[][] | - |
failedPolygons |
MultiPolygon[] | [] |
Returns: MultiPolygon
Private _applyCutoutGroupsAsynchronously
▸ _applyCutoutGroupsAsynchronously(asyncClipper: RemotePolygonClipper, polygon: MultiPolygon, cutoutGroups: ShapeChange[][], failedPolygons: MultiPolygon[]): Promise‹MultiPolygon›
Defined in src/model/visualization/Plates/PlateRenderer.ts:591
Parameters:
| Name | Type | Default |
|---|---|---|
asyncClipper |
RemotePolygonClipper | - |
polygon |
MultiPolygon | - |
cutoutGroups |
ShapeChange[][] | - |
failedPolygons |
MultiPolygon[] | [] |
Returns: Promise‹MultiPolygon›
Private _fixPolygons
▸ _fixPolygons(polygons: readonly Polygon[]): Polygon[]
Defined in src/model/visualization/Plates/PlateRenderer.ts:637
Parameters:
| Name | Type |
|---|---|
polygons |
readonly Polygon[] |
Returns: Polygon[]
Private _getAdditionGroups
▸ _getAdditionGroups(jointShapeChanges: JointShapeChangeMap): ShapeChange[][]
Defined in src/model/visualization/Plates/PlateRenderer.ts:524
Parameters:
| Name | Type |
|---|---|
jointShapeChanges |
JointShapeChangeMap |
Returns: ShapeChange[][]
Private _getBasePolygon
▸ _getBasePolygon(rasterizedOutline: RasterizedOutline, holeCutouts: ShapeChange[], ornamentCutoutGroups: ShapeChange[][]): object
Defined in src/model/visualization/Plates/PlateRenderer.ts:493
Returns the rasterizedOutline as a polygon with some cutouts already applied optimized based on the fact that polygon clipping only has to be performed if the cutouts may overlap.
Parameters:
| Name | Type |
|---|---|
rasterizedOutline |
RasterizedOutline |
holeCutouts |
ShapeChange[] |
ornamentCutoutGroups |
ShapeChange[][] |
Returns: object
-
appliedCutouts: any[]
-
basePolygon: MultiPolygon‹›
Private _getCutoutGroups
▸ _getCutoutGroups(jointShapeChanges: JointShapeChangeMap): ShapeChange[][]
Defined in src/model/visualization/Plates/PlateRenderer.ts:535
Parameters:
| Name | Type |
|---|---|
jointShapeChanges |
JointShapeChangeMap |
Returns: ShapeChange[][]
Private _getJointShapeChanges
▸ _getJointShapeChanges(config: PlatePipelineConfig, rasterizedOutlines: RasterizedOutline[]): Map‹Joint, ShapeChanges›
Defined in src/model/visualization/Plates/PlateRenderer.ts:452
Parameters:
| Name | Type |
|---|---|
config |
PlatePipelineConfig |
rasterizedOutlines |
RasterizedOutline[] |
Returns: Map‹Joint, ShapeChanges›
Private _getPolygonFromResults
▸ _getPolygonFromResults(resultPolygon: MultiPolygon, operation: string, basePolygon: Polygon | MultiPolygon, appliedPolygons: Array‹Polygon | MultiPolygon›): MultiPolygon
Defined in src/model/visualization/Plates/PlateRenderer.ts:677
Parameters:
| Name | Type |
|---|---|
resultPolygon |
MultiPolygon |
operation |
string |
basePolygon |
Polygon | MultiPolygon |
appliedPolygons |
Array‹Polygon | MultiPolygon› |
Returns: MultiPolygon
Private _getRenderClassForJoint
▸ _getRenderClassForJoint(joint: any): Constructor‹JointRenderer‹Joint››
Defined in src/model/visualization/Plates/PlateRenderer.ts:698
Parameters:
| Name | Type |
|---|---|
joint |
any |
Returns: Constructor‹JointRenderer‹Joint››
applyShapeChanges
▸ applyShapeChanges(rasterizedOutline: RasterizedOutline, shapeChanges: ICompoundShapeChanges): object
Defined in src/model/visualization/Plates/PlateRenderer.ts:190
Parameters:
| Name | Type |
|---|---|
rasterizedOutline |
RasterizedOutline |
shapeChanges |
ICompoundShapeChanges |
Returns: object
-
cutoutPolygons: MultiPolygon[]
-
platePolygon: MultiPolygon
applyShapeChangesAsynchronously
▸ applyShapeChangesAsynchronously(rasterizedOutline: RasterizedOutline, shapeChanges: ICompoundShapeChanges): Promise‹object›
Defined in src/model/visualization/Plates/PlateRenderer.ts:261
Parameters:
| Name | Type |
|---|---|
rasterizedOutline |
RasterizedOutline |
shapeChanges |
ICompoundShapeChanges |
Returns: Promise‹object›
cancel
▸ cancel(): void
Defined in src/model/visualization/Plates/PlateRenderer.ts:447
Returns: void
getFlexPlatePolygon
▸ getFlexPlatePolygon(rasterizedOutlines: RasterizedOutline[]): IFlexPolygonWithHoles
Defined in src/model/visualization/Plates/PlateRenderer.ts:140
Returns the plate outlines, already transformed with the plateMatrix
Parameters:
| Name | Type |
|---|---|
rasterizedOutlines |
RasterizedOutline[] |
Returns: IFlexPolygonWithHoles
getPlatePolygon
▸ getPlatePolygon(rasterizedOutline: RasterizedOutline, shapeChanges: ICompoundShapeChanges): MultiPolygon
Defined in src/model/visualization/Plates/PlateRenderer.ts:352
Parameters:
| Name | Type |
|---|---|
rasterizedOutline |
RasterizedOutline |
shapeChanges |
ICompoundShapeChanges |
Returns: MultiPolygon
getPlatePolygonAsynchronously
▸ getPlatePolygonAsynchronously(rasterizedOutline: RasterizedOutline, shapeChanges: ICompoundShapeChanges): Promise‹MultiPolygon›
Defined in src/model/visualization/Plates/PlateRenderer.ts:388
Parameters:
| Name | Type |
|---|---|
rasterizedOutline |
RasterizedOutline |
shapeChanges |
ICompoundShapeChanges |
Returns: Promise‹MultiPolygon›
getPlatePolygonWithoutOrnamentCutouts
▸ getPlatePolygonWithoutOrnamentCutouts(rasterizedOutline: RasterizedOutline, shapeChanges: ICompoundShapeChanges): MultiPolygon
Defined in src/model/visualization/Plates/PlateRenderer.ts:428
Parameters:
| Name | Type | Description |
|---|---|---|
rasterizedOutline |
RasterizedOutline | - |
shapeChanges |
ICompoundShapeChanges | - |
Returns: MultiPolygon
A polygon of the plate with only some important cutouts applied: holes and click-through ornament cutouts. This can be used for raycasting.
getShapeChanges
▸ getShapeChanges(config: PlatePipelineConfig, rasterizedOutlines: RasterizedOutline[]): ICompoundShapeChanges
Defined in src/model/visualization/Plates/PlateRenderer.ts:99
Parameters:
| Name | Type |
|---|---|
config |
PlatePipelineConfig |
rasterizedOutlines |
RasterizedOutline[] |
Returns: ICompoundShapeChanges
getShapeChangesAsynchronously
▸ getShapeChangesAsynchronously(config: PlatePipelineConfig, rasterizedOutlines: RasterizedOutline[]): Promise‹ICompoundShapeChanges›
Defined in src/model/visualization/Plates/PlateRenderer.ts:147
Parameters:
| Name | Type |
|---|---|
config |
PlatePipelineConfig |
rasterizedOutlines |
RasterizedOutline[] |
Returns: Promise‹ICompoundShapeChanges›
getWarningEventEmitter
▸ getWarningEventEmitter(): IPublicEventEmitterInterface‹object›
Defined in src/model/visualization/Plates/PlateRenderer.ts:95
Returns: IPublicEventEmitterInterface‹object›