Skip to content

editorGlobalsMosaicElementContainer

Class: MosaicElementContainer

The MosaicElementContainer class defines a polygon which is placed on a grid to align cutouts. Currently, there exist triangle, square and hexagon container types. Every MosaicElementContainer contains a set of cutouts (polygons living inside this container polygon, {@see MosaicElementCutout}).

Hierarchy

  • MosaicElementContainer

NullMosaicElementContainer

Index

Constructors

Properties

Methods

Constructors

constructor

+ new MosaicElementContainer(id: string, polygon: Polygon, patterns: Array‹object›, rotationAnglesOfContainer: number[]): MosaicElementContainer

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:37

Parameters:

Name Type Default Description
id string - id of mosaic element container
polygon Polygon - polygon that defines mosaic element container points
patterns Array‹object› [] -
rotationAnglesOfContainer number[] [0] around which angles can this polygon be rotated so that a different polygon is created

Returns: MosaicElementContainer

Properties

Protected _isNullMosaicElementContainer

_isNullMosaicElementContainer: boolean = false

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:21


Private circumference

circumference: number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:32

Stats needed to align the mosaic polygons


Private cutouts

cutouts: Map‹string, MosaicElementCutout

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:37

MosaicElementCutouts that live inside this mosaic container


Readonly id

id: string

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:19


Private marginBetweenMosaicElements

marginBetweenMosaicElements: number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:33


Private polygon

polygon: Polygon

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:23


Private rotationAnglesOfContainer

rotationAnglesOfContainer: number[]

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:25

Rotation axes of container polygon


Private rotationAnglesOfCutout

rotationAnglesOfCutout: number[]

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:27

Rotation axes of cutout polygon


Private scale

scale: Vector3‹› = new Vector3(1, 1, 1)

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:29


Private sideLength

sideLength: number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:34

Methods

Private _calculateCenter

_calculateCenter(outline: ArrayPoint2[]): Vector3

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:243

Parameters:

Name Type
outline ArrayPoint2[]

Returns: Vector3


Private _calculateCircumference

_calculateCircumference(): number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:210

Returns: number


Private _calculateCutoutRotationAngles

_calculateCutoutRotationAngles(): number[]

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:189

Returns: number[]


Private _calculateMarginBetweenMosaicElements

_calculateMarginBetweenMosaicElements(): number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:229

Returns: number


Private _calculateSideLength

_calculateSideLength(): number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:219

Returns: number


Private _createMosaicElementCutouts

_createMosaicElementCutouts(patterns: Array‹object›): Map‹string, MosaicElementCutout

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:250

Parameters:

Name Type
patterns Array‹object›

Returns: Map‹string, MosaicElementCutout


Private _findRotationCenter

_findRotationCenter(polygon: Polygon): Vector3

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:169

Parameters:

Name Type
polygon Polygon

Returns: Vector3


Protected _normalizePolygon

_normalizePolygon(polygon: Polygon): Polygon

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:154

Parameters:

Name Type
polygon Polygon

Returns: Polygon


Private _setPolygonStats

_setPolygonStats(): void

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:204

Returns: void


getAABB

getAABB(): AABB | null

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:93

Returns: AABB | null


getCircumference

getCircumference(): number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:132

Returns: number


getCutout

getCutout(id: string): MosaicElementCutout

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:69

Parameters:

Name Type
id string

Returns: MosaicElementCutout


getMarginBetweenMosaicElements

getMarginBetweenMosaicElements(): number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:146

Returns: number

distance between center of two mosaic elements aligned on a grid of this container.


getPolygon

getPolygon(): Polygon

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:120

Returns: Polygon


getRotationAnglesOfContainer

getRotationAnglesOfContainer(): number[]

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:128

Returns: number[]


getRotationAnglesOfCutout

getRotationAnglesOfCutout(): number[]

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:124

Returns: number[]


getScale

getScale(): Vector3

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:89

Returns: Vector3


getSideLength

getSideLength(): number

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:139

Returns: number

length of one side of the polygon of this grid


getUnscaledPolygon

getUnscaledPolygon(): Polygon

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:111

Returns: Polygon


isNullMosaicElementContainer

isNullMosaicElementContainer(): boolean

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:150

Returns: boolean


rotatePolygons

rotatePolygons(quaternion: Quaternion): Polygon

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:103

clones, rotates the polygon and transforms it to the given point.

Parameters:

Name Type
quaternion Quaternion

Returns: Polygon

cloned polygon


setScale

setScale(scale: Vector3): void

Defined in src/modules/kyub.core.plateOrnaments/src/MosaicElementOrnaments/MosaicElementContainer.ts:77

Parameters:

Name Type
scale Vector3

Returns: void