plotboilerplate 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/README.md +1 -0
  2. package/changelog.md +26 -1
  3. package/dist/index.esm.js +355 -441
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.esm.min.js +1 -1
  6. package/dist/index.esm.min.js.map +1 -1
  7. package/dist/plotboilerplate.browser.min.js +1 -1
  8. package/dist/plotboilerplate.browser.min.js.map +1 -1
  9. package/dist/plotboilerplate.js +357 -345
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +0 -14
  13. package/src/cjs/BezierPath.js +0 -26
  14. package/src/cjs/BezierPath.js.map +1 -1
  15. package/src/cjs/Bounds.d.ts +22 -1
  16. package/src/cjs/Bounds.js +24 -1
  17. package/src/cjs/Bounds.js.map +1 -1
  18. package/src/cjs/Circle.d.ts +0 -13
  19. package/src/cjs/Circle.js +0 -23
  20. package/src/cjs/Circle.js.map +1 -1
  21. package/src/cjs/CircleSector.d.ts +0 -13
  22. package/src/cjs/CircleSector.js +0 -27
  23. package/src/cjs/CircleSector.js.map +1 -1
  24. package/src/cjs/CubicBezierCurve.d.ts +0 -15
  25. package/src/cjs/CubicBezierCurve.js +0 -36
  26. package/src/cjs/CubicBezierCurve.js.map +1 -1
  27. package/src/cjs/Line.d.ts +0 -14
  28. package/src/cjs/Line.js +0 -26
  29. package/src/cjs/Line.js.map +1 -1
  30. package/src/cjs/PBImage.d.ts +0 -13
  31. package/src/cjs/PBImage.js +0 -14
  32. package/src/cjs/PBImage.js.map +1 -1
  33. package/src/cjs/PBText.d.ts +0 -13
  34. package/src/cjs/PBText.js +0 -14
  35. package/src/cjs/PBText.js.map +1 -1
  36. package/src/cjs/Polygon.d.ts +9 -15
  37. package/src/cjs/Polygon.js +12 -39
  38. package/src/cjs/Polygon.js.map +1 -1
  39. package/src/cjs/Triangle.d.ts +0 -13
  40. package/src/cjs/Triangle.js +0 -37
  41. package/src/cjs/Triangle.js.map +1 -1
  42. package/src/cjs/VEllipse.d.ts +0 -10
  43. package/src/cjs/VEllipse.js +0 -21
  44. package/src/cjs/VEllipse.js.map +1 -1
  45. package/src/cjs/Vector.d.ts +0 -14
  46. package/src/cjs/Vector.js +0 -36
  47. package/src/cjs/Vector.js.map +1 -1
  48. package/src/cjs/Vertex.d.ts +0 -14
  49. package/src/cjs/Vertex.js +0 -25
  50. package/src/cjs/Vertex.js.map +1 -1
  51. package/src/cjs/draw.d.ts +41 -2
  52. package/src/cjs/draw.js +140 -3
  53. package/src/cjs/draw.js.map +1 -1
  54. package/src/cjs/drawgl.d.ts +38 -2
  55. package/src/cjs/drawgl.js +41 -2
  56. package/src/cjs/drawgl.js.map +1 -1
  57. package/src/cjs/drawutilssvg.d.ts +66 -3
  58. package/src/cjs/drawutilssvg.js +140 -15
  59. package/src/cjs/drawutilssvg.js.map +1 -1
  60. package/src/cjs/index.d.ts +0 -1
  61. package/src/cjs/index.js +0 -1
  62. package/src/cjs/index.js.map +1 -1
  63. package/src/cjs/interfaces/DrawLib.d.ts +61 -26
  64. package/src/cjs/interfaces/DrawLib.js +2 -0
  65. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  66. package/src/cjs/interfaces/core.d.ts +0 -12
  67. package/src/cjs/module.d.ts +1 -3
  68. package/src/cjs/module.js +2 -5
  69. package/src/cjs/module.js.map +1 -1
  70. package/src/cjs/utils/creategui.js +16 -2
  71. package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
  72. package/src/cjs/utils/datastructures/Girih.js +18 -14
  73. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  74. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
  75. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  76. package/src/cjs/utils/datastructures/GirihTile.js +2 -13
  77. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  78. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +2 -1
  79. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +9 -18
  80. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  81. package/src/esm/BezierPath.d.ts +0 -14
  82. package/src/esm/BezierPath.js +0 -26
  83. package/src/esm/BezierPath.js.map +1 -1
  84. package/src/esm/Bounds.d.ts +22 -1
  85. package/src/esm/Bounds.js +24 -1
  86. package/src/esm/Bounds.js.map +1 -1
  87. package/src/esm/Circle.d.ts +0 -13
  88. package/src/esm/Circle.js +0 -23
  89. package/src/esm/Circle.js.map +1 -1
  90. package/src/esm/CircleSector.d.ts +0 -13
  91. package/src/esm/CircleSector.js +0 -27
  92. package/src/esm/CircleSector.js.map +1 -1
  93. package/src/esm/CubicBezierCurve.d.ts +0 -15
  94. package/src/esm/CubicBezierCurve.js +0 -36
  95. package/src/esm/CubicBezierCurve.js.map +1 -1
  96. package/src/esm/Line.d.ts +0 -14
  97. package/src/esm/Line.js +0 -26
  98. package/src/esm/Line.js.map +1 -1
  99. package/src/esm/PBImage.d.ts +0 -13
  100. package/src/esm/PBImage.js +0 -14
  101. package/src/esm/PBImage.js.map +1 -1
  102. package/src/esm/PBText.d.ts +0 -13
  103. package/src/esm/PBText.js +0 -14
  104. package/src/esm/PBText.js.map +1 -1
  105. package/src/esm/Polygon.d.ts +9 -15
  106. package/src/esm/Polygon.js +12 -39
  107. package/src/esm/Polygon.js.map +1 -1
  108. package/src/esm/Triangle.d.ts +0 -13
  109. package/src/esm/Triangle.js +0 -37
  110. package/src/esm/Triangle.js.map +1 -1
  111. package/src/esm/VEllipse.d.ts +0 -10
  112. package/src/esm/VEllipse.js +0 -21
  113. package/src/esm/VEllipse.js.map +1 -1
  114. package/src/esm/Vector.d.ts +0 -14
  115. package/src/esm/Vector.js +0 -36
  116. package/src/esm/Vector.js.map +1 -1
  117. package/src/esm/Vertex.d.ts +0 -14
  118. package/src/esm/Vertex.js +0 -25
  119. package/src/esm/Vertex.js.map +1 -1
  120. package/src/esm/draw.d.ts +41 -2
  121. package/src/esm/draw.js +139 -3
  122. package/src/esm/draw.js.map +1 -1
  123. package/src/esm/drawgl.d.ts +38 -2
  124. package/src/esm/drawgl.js +41 -2
  125. package/src/esm/drawgl.js.map +1 -1
  126. package/src/esm/drawutilssvg.d.ts +66 -3
  127. package/src/esm/drawutilssvg.js +140 -15
  128. package/src/esm/drawutilssvg.js.map +1 -1
  129. package/src/esm/index.d.ts +0 -1
  130. package/src/esm/index.js +0 -1
  131. package/src/esm/index.js.map +1 -1
  132. package/src/esm/interfaces/DrawLib.d.ts +61 -26
  133. package/src/esm/interfaces/DrawLib.js +2 -0
  134. package/src/esm/interfaces/DrawLib.js.map +1 -1
  135. package/src/esm/interfaces/core.d.ts +0 -12
  136. package/src/esm/module.d.ts +1 -3
  137. package/src/esm/module.js +5 -4
  138. package/src/esm/module.js.map +1 -1
  139. package/src/esm/utils/datastructures/Girih.d.ts +5 -0
  140. package/src/esm/utils/datastructures/Girih.js +18 -14
  141. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  142. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
  143. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  144. package/src/esm/utils/datastructures/GirihTile.js +2 -13
  145. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  146. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +2 -1
  147. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +9 -18
  148. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  149. package/src/ts/BezierPath.ts +0 -29
  150. package/src/ts/Bounds.ts +25 -1
  151. package/src/ts/Circle.ts +0 -26
  152. package/src/ts/CircleSector.ts +0 -30
  153. package/src/ts/CubicBezierCurve.ts +0 -39
  154. package/src/ts/Line.ts +0 -29
  155. package/src/ts/PBImage.ts +0 -15
  156. package/src/ts/PBText.ts +0 -17
  157. package/src/ts/Polygon.ts +16 -42
  158. package/src/ts/Triangle.ts +0 -40
  159. package/src/ts/VEllipse.ts +0 -24
  160. package/src/ts/Vector.ts +0 -40
  161. package/src/ts/Vertex.ts +0 -28
  162. package/src/ts/draw.ts +192 -3
  163. package/src/ts/drawgl.ts +44 -2
  164. package/src/ts/drawutilssvg.ts +181 -15
  165. package/src/ts/index.ts +0 -1
  166. package/src/ts/interfaces/DrawLib.ts +69 -26
  167. package/src/ts/interfaces/core.ts +0 -11
  168. package/src/ts/module.ts +2 -4
  169. package/src/ts/utils/datastructures/Girih.ts +204 -209
  170. package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
  171. package/src/ts/utils/datastructures/GirihTile.ts +394 -419
  172. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +9 -18
  173. package/src/ts/SVGBuilder.ts +0 -109
@@ -9,7 +9,7 @@
9
9
  * @requires Vertex
10
10
  *
11
11
  *
12
- * But it fits perfect into the girih as the angles are the same.
12
+ * But it fits perfect into the girih as the angles are the same.
13
13
  * *
14
14
  * @author Ikaros Kappler
15
15
  * @date 2013-12-11
@@ -22,160 +22,178 @@
22
22
  * @public
23
23
  **/
24
24
 
25
-
26
25
  import { Bounds } from "../../Bounds";
27
26
  import { GirihTile, TileType } from "./GirihTile";
28
27
  import { Polygon } from "../../Polygon";
29
28
  import { Vertex } from "../../Vertex";
30
29
 
31
-
32
30
  export class GirihPenroseRhombus extends GirihTile {
33
-
34
- /**
35
- * @constructor
36
- * @extends GirihTile
37
- * @name GirihPenroseRhombus
38
- * @param {Vertex} position
39
- * @param {number} edgeLength
40
- */
41
- constructor( position:Vertex, edgeLength?:number, addCenterPolygon?:boolean ) {
42
-
43
- super( position, edgeLength, TileType.PENROSE_RHOMBUS );
44
-
45
- // Overwrite the default symmetries:
46
- // the penrose-rhombus tile has a 180° symmetry (5/10 * 360°)
47
- this.uniqueSymmetries = 5;
48
-
49
- if( typeof addCenterPolygon == "undefined" )
50
- addCenterPolygon = true; // Add by default
51
-
52
-
53
- // Init the actual decahedron shape with the passed size
54
- let pointA:Vertex = new Vertex(0,0);
55
- let pointB:Vertex = pointA;
56
- this.addVertex( pointB );
57
-
58
- const angles:Array<number> = [ 0.0,
59
- 36.0, // 72.0,
60
- 144.0 // 108.0
61
- ];
62
-
63
- let theta:number = 0.0;
64
- for( var i = 0; i < angles.length; i++ ) {
65
- theta += (180.0 - angles[i]);
66
- pointA = pointB; // center of rotation
67
- pointB = pointB.clone();
68
- pointB.x += this.edgeLength;
69
- pointB.rotate( theta * (Math.PI/180.0), pointA );
70
- this.addVertex( pointB );
71
- }
72
-
73
-
74
- // Move to center and position
75
- const bounds:Bounds = Bounds.computeFromVertices( this.vertices );
76
- const move:Vertex = new Vertex( bounds.width/2.0 - (bounds.width-this.edgeLength),
77
- bounds.height/2.0
78
- );
79
- for( var i = 0; i < this.vertices.length; i++ ) {
80
- this.vertices[i].add( move ).add( position );
81
- }
82
-
83
- this.textureSource.min.x = 2/500.0,
84
- this.textureSource.min.y = 8/460.0;
85
- this.textureSource.max.x = this.textureSource.min.x + 173/500.0
86
- this.textureSource.max.y = this.textureSource.min.y + 56/460.0;;
87
-
88
- this.baseBounds = this.getBounds();
89
-
90
- this._buildInnerPolygons( this.edgeLength, addCenterPolygon );
91
- this._buildOuterPolygons( this.edgeLength, addCenterPolygon );
92
- };
93
-
94
-
95
- /**
96
- * @override
97
- */
98
- clone() : GirihTile {
99
- return new GirihPenroseRhombus( this.position.clone(), this.edgeLength, true ).rotate( this.rotation );
100
- };
101
-
102
-
103
- private _buildInnerPolygons( edgeLength:number, addCenterPolygon:boolean ) : void {
104
- const indices:Array<number> = [ 0, 2 ];
105
- const centerTile:Polygon = new Polygon();
106
-
107
- for( var i = 0; i < indices.length; i++ ) {
108
- const innerTile:Polygon = new Polygon();
109
- const index:number = indices[i];
110
- const left:Vertex = this.getVertexAt( index ).clone().scale( 0.5, this.getVertexAt(index+1) );
111
- const right:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.5, this.getVertexAt(index+2) );
112
- const innerA:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.28, this.position );
113
- const innerB:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.55, this.position );
114
-
115
- innerTile.addVertex( left );
116
- innerTile.addVertex( innerA );
117
- innerTile.addVertex( right );
118
- innerTile.addVertex( innerB );
119
-
120
- centerTile.addVertex( this.getVertexAt( index ).clone().scale( 0.1775, this.getVertexAt(index+2) ) );
121
- centerTile.addVertex( innerA.clone() );
122
-
123
- this.innerTilePolygons.push( innerTile );
124
- }
125
-
126
- if( addCenterPolygon )
127
- this.innerTilePolygons.push( centerTile );
128
- };
129
-
130
- private _buildOuterPolygons( edgeLength:number, centerPolygonExists:boolean ) : void {
131
- // Add left and right 'spikes'.
132
- const indices:Array<number> = [ 0, 2 ];
133
-
134
- for( var i = 0; i < indices.length; i++ ) {
135
- const outerTile:Polygon = new Polygon();
136
- const index:number = indices[i];
137
- const left:Vertex = this.getVertexAt( index ).clone().scale( 0.5, this.getVertexAt(index+1) );
138
- const right:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.5, this.getVertexAt(index+2) );
139
- // const innerA:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.28, this.position );
140
- const innerB:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.55, this.position );
141
-
142
- outerTile.addVertex( left.clone() );
143
- outerTile.addVertex( this.getVertexAt( index+1 ).clone() );
144
- outerTile.addVertex( right.clone() );
145
- outerTile.addVertex( innerB.clone() );
146
-
147
- this.outerTilePolygons.push( outerTile );
148
- }
149
-
150
- // If the center polygon exists then the last outer polygon is split into two.
151
- if( centerPolygonExists ) {
152
- // Two polygons
153
-
154
- const indices:Array<number> = [ 0, 2 ];
155
- for( var i = 0; i < indices.length; i++ ) {
156
- const outerTile:Polygon = new Polygon();
157
- const index:number = indices[i];
158
- outerTile.addVertex( this.getVertexAt(index).clone() );
159
- outerTile.addVertex( this.getVertexAt(index).clone().scale(0.5,this.getVertexAt(index+1)) );
160
- outerTile.addVertex( this.innerTilePolygons[i].getVertexAt(1).clone() );
161
- outerTile.addVertex( this.getVertexAt(index).clone().scale(0.1775, this.getVertexAt(index+2)) );
162
- outerTile.addVertex( this.innerTilePolygons[(i+1)%2].getVertexAt(1).clone() );
163
- outerTile.addVertex( this.getVertexAt(index-1).clone().scale( 0.5, this.getVertexAt(index)) );
164
-
165
- this.outerTilePolygons.push( outerTile );
166
- }
167
-
168
- }
169
-
170
- };
171
-
172
- /**
173
- * If you want the center polygon not to be drawn the canvas handler needs to
174
- * know the respective polygon index (inside the this.innerTilePolygons array).
175
- **/
176
- // TODO: IS THIS STILL REQUIRED
177
- getCenterPolygonIndex() : number {
178
- return 2;
179
- };
180
-
181
- };
31
+ /**
32
+ * @constructor
33
+ * @extends GirihTile
34
+ * @name GirihPenroseRhombus
35
+ * @param {Vertex} position
36
+ * @param {number} edgeLength
37
+ */
38
+ constructor(position: Vertex, edgeLength?: number, addCenterPolygon?: boolean) {
39
+ super(position, edgeLength, TileType.PENROSE_RHOMBUS);
40
+
41
+ // Overwrite the default symmetries:
42
+ // the penrose-rhombus tile has a 180° symmetry (5/10 * 360°)
43
+ this.uniqueSymmetries = 5;
44
+
45
+ if (typeof addCenterPolygon === "undefined") {
46
+ addCenterPolygon = true; // Add by default
47
+ }
48
+
49
+ // Init the actual decahedron shape with the passed size
50
+ let pointA: Vertex = new Vertex(0, 0);
51
+ let pointB: Vertex = pointA;
52
+ this.addVertex(pointB);
53
+
54
+ const angles: Array<number> = [
55
+ 0.0,
56
+ 36.0, // 72.0,
57
+ 144.0 // 108.0
58
+ ];
59
+
60
+ let theta: number = 0.0;
61
+ for (var i = 0; i < angles.length; i++) {
62
+ theta += 180.0 - angles[i];
63
+ pointA = pointB; // center of rotation
64
+ pointB = pointB.clone();
65
+ pointB.x += this.edgeLength;
66
+ pointB.rotate(theta * (Math.PI / 180.0), pointA);
67
+ this.addVertex(pointB);
68
+ }
69
+
70
+ // Move to center and position
71
+ const bounds: Bounds = Bounds.computeFromVertices(this.vertices);
72
+ const move: Vertex = new Vertex(bounds.width / 2.0 - (bounds.width - this.edgeLength), bounds.height / 2.0);
73
+ for (var i = 0; i < this.vertices.length; i++) {
74
+ this.vertices[i].add(move).add(position);
75
+ }
76
+
77
+ this.textureSource.min.x = 2 / 500.0;
78
+ this.textureSource.min.y = 8 / 460.0;
79
+ this.textureSource.max.x = this.textureSource.min.x + 173 / 500.0;
80
+ this.textureSource.max.y = this.textureSource.min.y + 56 / 460.0;
81
+
82
+ this.baseBounds = this.getBounds();
83
+
84
+ this._buildInnerPolygons(this.edgeLength, addCenterPolygon);
85
+ this._buildOuterPolygons(this.edgeLength, addCenterPolygon);
86
+ }
87
+
88
+ /**
89
+ * @override
90
+ */
91
+ clone(): GirihTile {
92
+ return new GirihPenroseRhombus(this.position.clone(), this.edgeLength, true).rotate(this.rotation);
93
+ }
94
+
95
+ private _buildInnerPolygons(_edgeLength: number, addCenterPolygon: boolean): void {
96
+ const indices: Array<number> = [0, 2];
97
+ const centerTile: Polygon = new Polygon();
98
+
99
+ for (var i = 0; i < indices.length; i++) {
100
+ const innerTile: Polygon = new Polygon();
101
+ const index: number = indices[i];
102
+ const left: Vertex = this.getVertexAt(index)
103
+ .clone()
104
+ .scale(0.5, this.getVertexAt(index + 1));
105
+ const right: Vertex = this.getVertexAt(index + 1)
106
+ .clone()
107
+ .scale(0.5, this.getVertexAt(index + 2));
108
+ const innerA: Vertex = this.getVertexAt(index + 1)
109
+ .clone()
110
+ .scale(0.28, this.position);
111
+ const innerB: Vertex = this.getVertexAt(index + 1)
112
+ .clone()
113
+ .scale(0.55, this.position);
114
+
115
+ innerTile.addVertex(left);
116
+ innerTile.addVertex(innerA);
117
+ innerTile.addVertex(right);
118
+ innerTile.addVertex(innerB);
119
+
120
+ centerTile.addVertex(
121
+ this.getVertexAt(index)
122
+ .clone()
123
+ .scale(0.1775, this.getVertexAt(index + 2))
124
+ );
125
+ centerTile.addVertex(innerA.clone());
126
+
127
+ this.innerTilePolygons.push(innerTile);
128
+ }
129
+
130
+ if (addCenterPolygon) this.innerTilePolygons.push(centerTile);
131
+ }
132
+
133
+ private _buildOuterPolygons(_edgeLength: number, centerPolygonExists: boolean): void {
134
+ // Add left and right 'spikes'.
135
+ const indices: Array<number> = [0, 2];
136
+
137
+ for (var i = 0; i < indices.length; i++) {
138
+ const outerTile: Polygon = new Polygon();
139
+ const index: number = indices[i];
140
+ const left: Vertex = this.getVertexAt(index)
141
+ .clone()
142
+ .scale(0.5, this.getVertexAt(index + 1));
143
+ const right: Vertex = this.getVertexAt(index + 1)
144
+ .clone()
145
+ .scale(0.5, this.getVertexAt(index + 2));
146
+ // const innerA:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.28, this.position );
147
+ const innerB: Vertex = this.getVertexAt(index + 1)
148
+ .clone()
149
+ .scale(0.55, this.position);
150
+
151
+ outerTile.addVertex(left.clone());
152
+ outerTile.addVertex(this.getVertexAt(index + 1).clone());
153
+ outerTile.addVertex(right.clone());
154
+ outerTile.addVertex(innerB.clone());
155
+
156
+ this.outerTilePolygons.push(outerTile);
157
+ }
158
+
159
+ // If the center polygon exists then the last outer polygon is split into two.
160
+ if (centerPolygonExists) {
161
+ // Two polygons
162
+
163
+ const indices: Array<number> = [0, 2];
164
+ for (var i = 0; i < indices.length; i++) {
165
+ const outerTile: Polygon = new Polygon();
166
+ const index: number = indices[i];
167
+ outerTile.addVertex(this.getVertexAt(index).clone());
168
+ outerTile.addVertex(
169
+ this.getVertexAt(index)
170
+ .clone()
171
+ .scale(0.5, this.getVertexAt(index + 1))
172
+ );
173
+ outerTile.addVertex(this.innerTilePolygons[i].getVertexAt(1).clone());
174
+ outerTile.addVertex(
175
+ this.getVertexAt(index)
176
+ .clone()
177
+ .scale(0.1775, this.getVertexAt(index + 2))
178
+ );
179
+ outerTile.addVertex(this.innerTilePolygons[(i + 1) % 2].getVertexAt(1).clone());
180
+ outerTile.addVertex(
181
+ this.getVertexAt(index - 1)
182
+ .clone()
183
+ .scale(0.5, this.getVertexAt(index))
184
+ );
185
+
186
+ this.outerTilePolygons.push(outerTile);
187
+ }
188
+ }
189
+ }
190
+
191
+ /**
192
+ * If you want the center polygon not to be drawn the canvas handler needs to
193
+ * know the respective polygon index (inside the this.innerTilePolygons array).
194
+ **/
195
+ // TODO: IS THIS STILL REQUIRED
196
+ getCenterPolygonIndex(): number {
197
+ return 2;
198
+ }
199
+ }