plotboilerplate 1.14.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 (232) hide show
  1. package/README.md +2 -0
  2. package/changelog.md +57 -0
  3. package/dist/index.esm.js +856 -694
  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 +858 -598
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +32 -14
  13. package/src/cjs/BezierPath.js +65 -24
  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 +15 -13
  19. package/src/cjs/Circle.js +16 -34
  20. package/src/cjs/Circle.js.map +1 -1
  21. package/src/cjs/CircleSector.d.ts +17 -16
  22. package/src/cjs/CircleSector.js +12 -24
  23. package/src/cjs/CircleSector.js.map +1 -1
  24. package/src/cjs/CubicBezierCurve.d.ts +16 -15
  25. package/src/cjs/CubicBezierCurve.js +57 -94
  26. package/src/cjs/CubicBezierCurve.js.map +1 -1
  27. package/src/cjs/KeyHandler.d.ts +10 -3
  28. package/src/cjs/KeyHandler.js +28 -23
  29. package/src/cjs/KeyHandler.js.map +1 -1
  30. package/src/cjs/Line.d.ts +2 -15
  31. package/src/cjs/Line.js +6 -31
  32. package/src/cjs/Line.js.map +1 -1
  33. package/src/cjs/MouseHandler.js +43 -53
  34. package/src/cjs/MouseHandler.js.map +1 -1
  35. package/src/cjs/PBImage.d.ts +15 -13
  36. package/src/cjs/PBImage.js +11 -15
  37. package/src/cjs/PBImage.js.map +1 -1
  38. package/src/cjs/PBText.d.ts +13 -12
  39. package/src/cjs/PBText.js +8 -12
  40. package/src/cjs/PBText.js.map +1 -1
  41. package/src/cjs/PlotBoilerplate.js +3 -2
  42. package/src/cjs/PlotBoilerplate.js.map +1 -1
  43. package/src/cjs/Polygon.d.ts +44 -14
  44. package/src/cjs/Polygon.js +116 -66
  45. package/src/cjs/Polygon.js.map +1 -1
  46. package/src/cjs/Triangle.d.ts +15 -13
  47. package/src/cjs/Triangle.js +23 -64
  48. package/src/cjs/Triangle.js.map +1 -1
  49. package/src/cjs/VEllipse.d.ts +14 -9
  50. package/src/cjs/VEllipse.js +10 -18
  51. package/src/cjs/VEllipse.js.map +1 -1
  52. package/src/cjs/VEllipseSector.d.ts +15 -1
  53. package/src/cjs/VEllipseSector.js +11 -1
  54. package/src/cjs/VEllipseSector.js.map +1 -1
  55. package/src/cjs/Vector.d.ts +3 -15
  56. package/src/cjs/Vector.js +9 -49
  57. package/src/cjs/Vector.js.map +1 -1
  58. package/src/cjs/VertTuple.d.ts +15 -1
  59. package/src/cjs/VertTuple.js +14 -19
  60. package/src/cjs/VertTuple.js.map +1 -1
  61. package/src/cjs/Vertex.d.ts +47 -13
  62. package/src/cjs/Vertex.js +62 -22
  63. package/src/cjs/Vertex.js.map +1 -1
  64. package/src/cjs/VertexListeners.d.ts +12 -8
  65. package/src/cjs/VertexListeners.js +18 -25
  66. package/src/cjs/VertexListeners.js.map +1 -1
  67. package/src/cjs/draw.d.ts +41 -2
  68. package/src/cjs/draw.js +140 -3
  69. package/src/cjs/draw.js.map +1 -1
  70. package/src/cjs/drawgl.d.ts +38 -2
  71. package/src/cjs/drawgl.js +41 -2
  72. package/src/cjs/drawgl.js.map +1 -1
  73. package/src/cjs/drawutilssvg.d.ts +66 -3
  74. package/src/cjs/drawutilssvg.js +140 -15
  75. package/src/cjs/drawutilssvg.js.map +1 -1
  76. package/src/cjs/index.d.ts +0 -1
  77. package/src/cjs/index.js +0 -1
  78. package/src/cjs/index.js.map +1 -1
  79. package/src/cjs/interfaces/DrawLib.d.ts +61 -26
  80. package/src/cjs/interfaces/DrawLib.js +2 -0
  81. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  82. package/src/cjs/interfaces/core.d.ts +0 -12
  83. package/src/cjs/module.d.ts +1 -3
  84. package/src/cjs/module.js +2 -5
  85. package/src/cjs/module.js.map +1 -1
  86. package/src/cjs/utils/creategui.js +16 -2
  87. package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
  88. package/src/cjs/utils/datastructures/Girih.js +18 -14
  89. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  90. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
  91. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  92. package/src/cjs/utils/datastructures/GirihTile.js +2 -13
  93. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  94. package/src/cjs/utils/findInVertexArray.d.ts +19 -0
  95. package/src/cjs/utils/findInVertexArray.js +29 -0
  96. package/src/cjs/utils/findInVertexArray.js.map +1 -0
  97. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  98. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +50 -32
  99. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  100. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  101. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  102. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  103. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  104. package/src/cjs/utils/io/FileDrop.js +142 -0
  105. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  106. package/src/esm/BezierPath.d.ts +32 -14
  107. package/src/esm/BezierPath.js +65 -24
  108. package/src/esm/BezierPath.js.map +1 -1
  109. package/src/esm/Bounds.d.ts +22 -1
  110. package/src/esm/Bounds.js +24 -1
  111. package/src/esm/Bounds.js.map +1 -1
  112. package/src/esm/Circle.d.ts +15 -13
  113. package/src/esm/Circle.js +16 -34
  114. package/src/esm/Circle.js.map +1 -1
  115. package/src/esm/CircleSector.d.ts +17 -16
  116. package/src/esm/CircleSector.js +12 -24
  117. package/src/esm/CircleSector.js.map +1 -1
  118. package/src/esm/CubicBezierCurve.d.ts +16 -15
  119. package/src/esm/CubicBezierCurve.js +57 -94
  120. package/src/esm/CubicBezierCurve.js.map +1 -1
  121. package/src/esm/KeyHandler.d.ts +10 -3
  122. package/src/esm/KeyHandler.js +28 -23
  123. package/src/esm/KeyHandler.js.map +1 -1
  124. package/src/esm/Line.d.ts +2 -15
  125. package/src/esm/Line.js +6 -31
  126. package/src/esm/Line.js.map +1 -1
  127. package/src/esm/MouseHandler.js +43 -53
  128. package/src/esm/MouseHandler.js.map +1 -1
  129. package/src/esm/PBImage.d.ts +15 -13
  130. package/src/esm/PBImage.js +11 -15
  131. package/src/esm/PBImage.js.map +1 -1
  132. package/src/esm/PBText.d.ts +13 -12
  133. package/src/esm/PBText.js +8 -12
  134. package/src/esm/PBText.js.map +1 -1
  135. package/src/esm/PlotBoilerplate.js +3 -2
  136. package/src/esm/PlotBoilerplate.js.map +1 -1
  137. package/src/esm/Polygon.d.ts +44 -14
  138. package/src/esm/Polygon.js +116 -66
  139. package/src/esm/Polygon.js.map +1 -1
  140. package/src/esm/Triangle.d.ts +15 -13
  141. package/src/esm/Triangle.js +23 -64
  142. package/src/esm/Triangle.js.map +1 -1
  143. package/src/esm/VEllipse.d.ts +14 -9
  144. package/src/esm/VEllipse.js +10 -18
  145. package/src/esm/VEllipse.js.map +1 -1
  146. package/src/esm/VEllipseSector.d.ts +15 -1
  147. package/src/esm/VEllipseSector.js +11 -1
  148. package/src/esm/VEllipseSector.js.map +1 -1
  149. package/src/esm/Vector.d.ts +3 -15
  150. package/src/esm/Vector.js +9 -49
  151. package/src/esm/Vector.js.map +1 -1
  152. package/src/esm/VertTuple.d.ts +15 -1
  153. package/src/esm/VertTuple.js +14 -19
  154. package/src/esm/VertTuple.js.map +1 -1
  155. package/src/esm/Vertex.d.ts +47 -13
  156. package/src/esm/Vertex.js +62 -22
  157. package/src/esm/Vertex.js.map +1 -1
  158. package/src/esm/VertexListeners.d.ts +12 -8
  159. package/src/esm/VertexListeners.js +18 -25
  160. package/src/esm/VertexListeners.js.map +1 -1
  161. package/src/esm/draw.d.ts +41 -2
  162. package/src/esm/draw.js +139 -3
  163. package/src/esm/draw.js.map +1 -1
  164. package/src/esm/drawgl.d.ts +38 -2
  165. package/src/esm/drawgl.js +41 -2
  166. package/src/esm/drawgl.js.map +1 -1
  167. package/src/esm/drawutilssvg.d.ts +66 -3
  168. package/src/esm/drawutilssvg.js +140 -15
  169. package/src/esm/drawutilssvg.js.map +1 -1
  170. package/src/esm/index.d.ts +0 -1
  171. package/src/esm/index.js +0 -1
  172. package/src/esm/index.js.map +1 -1
  173. package/src/esm/interfaces/DrawLib.d.ts +61 -26
  174. package/src/esm/interfaces/DrawLib.js +2 -0
  175. package/src/esm/interfaces/DrawLib.js.map +1 -1
  176. package/src/esm/interfaces/core.d.ts +0 -12
  177. package/src/esm/module.d.ts +1 -3
  178. package/src/esm/module.js +5 -4
  179. package/src/esm/module.js.map +1 -1
  180. package/src/esm/utils/datastructures/Girih.d.ts +5 -0
  181. package/src/esm/utils/datastructures/Girih.js +18 -14
  182. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  183. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
  184. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  185. package/src/esm/utils/datastructures/GirihTile.js +2 -13
  186. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  187. package/src/esm/utils/findInVertexArray.d.ts +19 -0
  188. package/src/esm/utils/findInVertexArray.js +25 -0
  189. package/src/esm/utils/findInVertexArray.js.map +1 -0
  190. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  191. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +49 -32
  192. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  193. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  194. package/src/esm/utils/io/DndFileHandler.js +106 -0
  195. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  196. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  197. package/src/esm/utils/io/FileDrop.js +136 -0
  198. package/src/esm/utils/io/FileDrop.js.map +1 -0
  199. package/src/ts/BezierPath.ts +78 -22
  200. package/src/ts/Bounds.ts +25 -1
  201. package/src/ts/Circle.ts +187 -200
  202. package/src/ts/CircleSector.ts +141 -141
  203. package/src/ts/CubicBezierCurve.ts +738 -810
  204. package/src/ts/KeyHandler.ts +221 -212
  205. package/src/ts/Line.ts +48 -80
  206. package/src/ts/MouseHandler.ts +356 -368
  207. package/src/ts/PBImage.ts +67 -69
  208. package/src/ts/PBText.ts +16 -14
  209. package/src/ts/PlotBoilerplate.ts +4 -2
  210. package/src/ts/Polygon.ts +493 -451
  211. package/src/ts/Triangle.ts +444 -489
  212. package/src/ts/VEllipse.ts +18 -17
  213. package/src/ts/VEllipseSector.ts +20 -1
  214. package/src/ts/Vector.ts +124 -160
  215. package/src/ts/VertTuple.ts +333 -338
  216. package/src/ts/Vertex.ts +75 -21
  217. package/src/ts/VertexListeners.ts +248 -266
  218. package/src/ts/draw.ts +192 -3
  219. package/src/ts/drawgl.ts +44 -2
  220. package/src/ts/drawutilssvg.ts +181 -15
  221. package/src/ts/index.ts +0 -1
  222. package/src/ts/interfaces/DrawLib.ts +69 -26
  223. package/src/ts/interfaces/core.ts +0 -11
  224. package/src/ts/module.ts +2 -4
  225. package/src/ts/utils/datastructures/Girih.ts +204 -209
  226. package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
  227. package/src/ts/utils/datastructures/GirihTile.ts +394 -419
  228. package/src/ts/utils/findInVertexArray.ts +28 -0
  229. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +56 -34
  230. package/src/ts/utils/io/FileDrop.ts +178 -0
  231. package/src/ts/SVGBuilder.ts +0 -109
  232. package/src/ts/utils/algorithms/sh-tmp.ts~ +0 -59
@@ -55,19 +55,21 @@ var GirihPenroseRhombus = /** @class */ (function (_super) {
55
55
  // Overwrite the default symmetries:
56
56
  // the penrose-rhombus tile has a 180° symmetry (5/10 * 360°)
57
57
  _this.uniqueSymmetries = 5;
58
- if (typeof addCenterPolygon == "undefined")
58
+ if (typeof addCenterPolygon === "undefined") {
59
59
  addCenterPolygon = true; // Add by default
60
+ }
60
61
  // Init the actual decahedron shape with the passed size
61
62
  var pointA = new Vertex_1.Vertex(0, 0);
62
63
  var pointB = pointA;
63
64
  _this.addVertex(pointB);
64
- var angles = [0.0,
65
+ var angles = [
66
+ 0.0,
65
67
  36.0,
66
68
  144.0 // 108.0
67
69
  ];
68
70
  var theta = 0.0;
69
71
  for (var i = 0; i < angles.length; i++) {
70
- theta += (180.0 - angles[i]);
72
+ theta += 180.0 - angles[i];
71
73
  pointA = pointB; // center of rotation
72
74
  pointB = pointB.clone();
73
75
  pointB.x += _this.edgeLength;
@@ -80,56 +82,68 @@ var GirihPenroseRhombus = /** @class */ (function (_super) {
80
82
  for (var i = 0; i < _this.vertices.length; i++) {
81
83
  _this.vertices[i].add(move).add(position);
82
84
  }
83
- _this.textureSource.min.x = 2 / 500.0,
84
- _this.textureSource.min.y = 8 / 460.0;
85
+ _this.textureSource.min.x = 2 / 500.0;
86
+ _this.textureSource.min.y = 8 / 460.0;
85
87
  _this.textureSource.max.x = _this.textureSource.min.x + 173 / 500.0;
86
88
  _this.textureSource.max.y = _this.textureSource.min.y + 56 / 460.0;
87
- ;
88
89
  _this.baseBounds = _this.getBounds();
89
90
  _this._buildInnerPolygons(_this.edgeLength, addCenterPolygon);
90
91
  _this._buildOuterPolygons(_this.edgeLength, addCenterPolygon);
91
92
  return _this;
92
93
  }
93
- ;
94
94
  /**
95
95
  * @override
96
96
  */
97
97
  GirihPenroseRhombus.prototype.clone = function () {
98
98
  return new GirihPenroseRhombus(this.position.clone(), this.edgeLength, true).rotate(this.rotation);
99
99
  };
100
- ;
101
- GirihPenroseRhombus.prototype._buildInnerPolygons = function (edgeLength, addCenterPolygon) {
100
+ GirihPenroseRhombus.prototype._buildInnerPolygons = function (_edgeLength, addCenterPolygon) {
102
101
  var indices = [0, 2];
103
102
  var centerTile = new Polygon_1.Polygon();
104
103
  for (var i = 0; i < indices.length; i++) {
105
104
  var innerTile = new Polygon_1.Polygon();
106
105
  var index = indices[i];
107
- var left = this.getVertexAt(index).clone().scale(0.5, this.getVertexAt(index + 1));
108
- var right = this.getVertexAt(index + 1).clone().scale(0.5, this.getVertexAt(index + 2));
109
- var innerA = this.getVertexAt(index + 1).clone().scale(0.28, this.position);
110
- var innerB = this.getVertexAt(index + 1).clone().scale(0.55, this.position);
106
+ var left = this.getVertexAt(index)
107
+ .clone()
108
+ .scale(0.5, this.getVertexAt(index + 1));
109
+ var right = this.getVertexAt(index + 1)
110
+ .clone()
111
+ .scale(0.5, this.getVertexAt(index + 2));
112
+ var innerA = this.getVertexAt(index + 1)
113
+ .clone()
114
+ .scale(0.28, this.position);
115
+ var innerB = this.getVertexAt(index + 1)
116
+ .clone()
117
+ .scale(0.55, this.position);
111
118
  innerTile.addVertex(left);
112
119
  innerTile.addVertex(innerA);
113
120
  innerTile.addVertex(right);
114
121
  innerTile.addVertex(innerB);
115
- centerTile.addVertex(this.getVertexAt(index).clone().scale(0.1775, this.getVertexAt(index + 2)));
122
+ centerTile.addVertex(this.getVertexAt(index)
123
+ .clone()
124
+ .scale(0.1775, this.getVertexAt(index + 2)));
116
125
  centerTile.addVertex(innerA.clone());
117
126
  this.innerTilePolygons.push(innerTile);
118
127
  }
119
128
  if (addCenterPolygon)
120
129
  this.innerTilePolygons.push(centerTile);
121
130
  };
122
- ;
123
- GirihPenroseRhombus.prototype._buildOuterPolygons = function (edgeLength, centerPolygonExists) {
131
+ GirihPenroseRhombus.prototype._buildOuterPolygons = function (_edgeLength, centerPolygonExists) {
124
132
  // Add left and right 'spikes'.
125
133
  var indices = [0, 2];
126
134
  for (var i = 0; i < indices.length; i++) {
127
135
  var outerTile = new Polygon_1.Polygon();
128
136
  var index = indices[i];
129
- var left = this.getVertexAt(index).clone().scale(0.5, this.getVertexAt(index + 1));
130
- var right = this.getVertexAt(index + 1).clone().scale(0.5, this.getVertexAt(index + 2));
137
+ var left = this.getVertexAt(index)
138
+ .clone()
139
+ .scale(0.5, this.getVertexAt(index + 1));
140
+ var right = this.getVertexAt(index + 1)
141
+ .clone()
142
+ .scale(0.5, this.getVertexAt(index + 2));
131
143
  // const innerA:Vertex = this.getVertexAt( index+1 ).clone().scale( 0.28, this.position );
132
- var innerB = this.getVertexAt(index + 1).clone().scale(0.55, this.position);
144
+ var innerB = this.getVertexAt(index + 1)
145
+ .clone()
146
+ .scale(0.55, this.position);
133
147
  outerTile.addVertex(left.clone());
134
148
  outerTile.addVertex(this.getVertexAt(index + 1).clone());
135
149
  outerTile.addVertex(right.clone());
@@ -144,16 +158,21 @@ var GirihPenroseRhombus = /** @class */ (function (_super) {
144
158
  var outerTile = new Polygon_1.Polygon();
145
159
  var index = indices_1[i];
146
160
  outerTile.addVertex(this.getVertexAt(index).clone());
147
- outerTile.addVertex(this.getVertexAt(index).clone().scale(0.5, this.getVertexAt(index + 1)));
161
+ outerTile.addVertex(this.getVertexAt(index)
162
+ .clone()
163
+ .scale(0.5, this.getVertexAt(index + 1)));
148
164
  outerTile.addVertex(this.innerTilePolygons[i].getVertexAt(1).clone());
149
- outerTile.addVertex(this.getVertexAt(index).clone().scale(0.1775, this.getVertexAt(index + 2)));
165
+ outerTile.addVertex(this.getVertexAt(index)
166
+ .clone()
167
+ .scale(0.1775, this.getVertexAt(index + 2)));
150
168
  outerTile.addVertex(this.innerTilePolygons[(i + 1) % 2].getVertexAt(1).clone());
151
- outerTile.addVertex(this.getVertexAt(index - 1).clone().scale(0.5, this.getVertexAt(index)));
169
+ outerTile.addVertex(this.getVertexAt(index - 1)
170
+ .clone()
171
+ .scale(0.5, this.getVertexAt(index)));
152
172
  this.outerTilePolygons.push(outerTile);
153
173
  }
154
174
  }
155
175
  };
156
- ;
157
176
  /**
158
177
  * If you want the center polygon not to be drawn the canvas handler needs to
159
178
  * know the respective polygon index (inside the this.innerTilePolygons array).
@@ -162,9 +181,7 @@ var GirihPenroseRhombus = /** @class */ (function (_super) {
162
181
  GirihPenroseRhombus.prototype.getCenterPolygonIndex = function () {
163
182
  return 2;
164
183
  };
165
- ;
166
184
  return GirihPenroseRhombus;
167
185
  }(GirihTile_1.GirihTile));
168
186
  exports.GirihPenroseRhombus = GirihPenroseRhombus;
169
- ;
170
187
  //# sourceMappingURL=GirihPenroseRhombus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GirihPenroseRhombus.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/GirihPenroseRhombus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GirihPenroseRhombus.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/GirihPenroseRhombus.ts"],"names":[],"mappings":"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"}
@@ -39,8 +39,6 @@ var TileType;
39
39
  // This is not part of the actual girih tile set!
40
40
  TileType["PENROSE_RHOMBUS"] = "PENROSE_RHOMBUS";
41
41
  })(TileType = exports.TileType || (exports.TileType = {}));
42
- ;
43
- ;
44
42
  /**
45
43
  * @classdesc This is a general tile superclass. All other tile classes extends this one.
46
44
  *
@@ -91,7 +89,6 @@ var GirihTile = /** @class */ (function (_super) {
91
89
  _this.tileType = tileType;
92
90
  return _this;
93
91
  }
94
- ;
95
92
  /**
96
93
  * Move this tile around (together will all inner polygons).
97
94
  * As this function overrides Polygon.move(...), the returned
@@ -113,7 +110,6 @@ var GirihTile = /** @class */ (function (_super) {
113
110
  this.position.add(amount);
114
111
  return this;
115
112
  };
116
- ;
117
113
  /**
118
114
  * Find the adjacent tile (given by the template tile)
119
115
  * Note that the tile itself will be modified (rotated and moved to the correct position).
@@ -140,7 +136,6 @@ var GirihTile = /** @class */ (function (_super) {
140
136
  }
141
137
  return null;
142
138
  };
143
- ;
144
139
  /**
145
140
  * Find all possible adjacent tile positions (and rotations) for `neighbourTile`.
146
141
  *
@@ -167,7 +162,6 @@ var GirihTile = /** @class */ (function (_super) {
167
162
  }
168
163
  return foundAlignments;
169
164
  };
170
- ;
171
165
  /**
172
166
  * Apply adjacent tile position to `neighbourTile`.
173
167
  *
@@ -188,7 +182,6 @@ var GirihTile = /** @class */ (function (_super) {
188
182
  }
189
183
  return null;
190
184
  };
191
- ;
192
185
  /**
193
186
  * Get the inner tile polygon at the given index.
194
187
  * This function applies MOD to the index.
@@ -205,7 +198,6 @@ var GirihTile = /** @class */ (function (_super) {
205
198
  else
206
199
  return this.innerTilePolygons[index % this.innerTilePolygons.length];
207
200
  };
208
- ;
209
201
  /**
210
202
  * Get the outer tile polygon at the given index.
211
203
  * This function applies MOD to the index.
@@ -222,7 +214,6 @@ var GirihTile = /** @class */ (function (_super) {
222
214
  else
223
215
  return this.outerTilePolygons[index % this.outerTilePolygons.length];
224
216
  };
225
- ;
226
217
  /**
227
218
  * Rotate this tile
228
219
  * Note: this function behaves a bitdifferent than the genuine Polygon.rotate function!
@@ -249,7 +240,6 @@ var GirihTile = /** @class */ (function (_super) {
249
240
  this.rotation += angle;
250
241
  return this;
251
242
  };
252
- ;
253
243
  /**
254
244
  * This function locates the closest tile edge (polygon edge)
255
245
  * to the passed point.
@@ -277,7 +267,7 @@ var GirihTile = /** @class */ (function (_super) {
277
267
  for (var i = 0; i < this.vertices.length; i++) {
278
268
  var vertI = this.getVertexAt(i);
279
269
  var vertJ = this.getVertexAt(i + 1);
280
- // Create a point in the middle of the edge
270
+ // Create a point in the middle of the edge
281
271
  middle.x = vertI.x + (vertJ.x - vertI.x) / 2.0;
282
272
  middle.y = vertI.y + (vertJ.y - vertI.y) / 2.0;
283
273
  tmpDistance = middle.distance(point);
@@ -311,7 +301,6 @@ var GirihTile = /** @class */ (function (_super) {
311
301
  */
312
302
  GirihTile.DEFAULT_EDGE_LENGTH = 58;
313
303
  return GirihTile;
314
- }(Polygon_1.Polygon));
304
+ }(Polygon_1.Polygon)); // END class
315
305
  exports.GirihTile = GirihTile;
316
- ; // END class
317
306
  //# sourceMappingURL=GirihTile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GirihTile.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/GirihTile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GirihTile.js","sourceRoot":"","sources":["../../../ts/utils/datastructures/GirihTile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @author Ikaros Kappler
3
+ * @date 2022-01-10
4
+ * @version 1.0.0
5
+ */
6
+ import { Vertex } from "../Vertex";
7
+ import { XYCoords } from "../interfaces";
8
+ /**
9
+ * In an array of vertices find the first occurence of a specific vertex, using
10
+ * and epsilon tolerance.
11
+ *
12
+ * @param {Array<Vertex>} vertexList - The vertex array to search in.
13
+ * @param {XYCoords} vertex - A vertex/position to search for. This can be any x-y-tuple and does not
14
+ * necessarily need to be an instance of Vertex.
15
+ * @param {number} epsilon - The epsilon tolerance to use (should be >= 0). This is a required param to avoid excessive
16
+ * is-undef checking if this function runs in a loop.
17
+ * @returns {boolean} - The first index of a vertex that matched or -1 if no such vertex could be found.
18
+ */
19
+ export declare const findInVertexArray: (vertexList: Array<Vertex>, vertex: XYCoords, epsilon: number) => number;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * @author Ikaros Kappler
4
+ * @date 2022-01-10
5
+ * @version 1.0.0
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.findInVertexArray = void 0;
9
+ /**
10
+ * In an array of vertices find the first occurence of a specific vertex, using
11
+ * and epsilon tolerance.
12
+ *
13
+ * @param {Array<Vertex>} vertexList - The vertex array to search in.
14
+ * @param {XYCoords} vertex - A vertex/position to search for. This can be any x-y-tuple and does not
15
+ * necessarily need to be an instance of Vertex.
16
+ * @param {number} epsilon - The epsilon tolerance to use (should be >= 0). This is a required param to avoid excessive
17
+ * is-undef checking if this function runs in a loop.
18
+ * @returns {boolean} - The first index of a vertex that matched or -1 if no such vertex could be found.
19
+ */
20
+ var findInVertexArray = function (vertexList, vertex, epsilon) {
21
+ for (var i = 0; i < vertexList.length; i++) {
22
+ if (vertexList[i].distance(vertex) < epsilon) {
23
+ return i;
24
+ }
25
+ }
26
+ return -1;
27
+ };
28
+ exports.findInVertexArray = findInVertexArray;
29
+ //# sourceMappingURL=findInVertexArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findInVertexArray.js","sourceRoot":"","sources":["../../ts/utils/findInVertexArray.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAKH;;;;;;;;;;GAUG;AACI,IAAM,iBAAiB,GAAG,UAAC,UAAyB,EAAE,MAAgB,EAAE,OAAe;IAC5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,EAAE;YAC5C,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC;AAPW,QAAA,iBAAiB,qBAO5B"}
@@ -20,7 +20,8 @@
20
20
  * @modified 2021-01-03 Changed property to `autoAdjustPaths` in the HandlerOptions interface (typo).
21
21
  * @modified 2021-01-03 Added following new functions: `addPathVertexDragStartListeners`, `removePathVertexDragStartListeners`, `addPathVertexDragEndListeners` and `removePathVertexDragEndListeners`.
22
22
  * @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
23
- * @version 1.1.1
23
+ * @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
24
+ * @version 1.1.2
24
25
  *
25
26
  * @file BezierPathInteractionHelper
26
27
  * @public
@@ -90,7 +91,11 @@ export declare class BezierPathInteractionHelper {
90
91
  private currentT;
91
92
  private currentA;
92
93
  private currentB;
94
+ private _mouseHandler;
95
+ private _touchHandler;
93
96
  private _keyHandler;
97
+ private _mouseEnterListener;
98
+ private _mouseLeaveListener;
94
99
  /**
95
100
  * Pre: all paths must have been added to the PlotBoilerplate's drawable buffer (use the add(Drawable) function).
96
101
  *
@@ -158,6 +163,17 @@ export declare class BezierPathInteractionHelper {
158
163
  * @return {void}
159
164
  **/
160
165
  update(): void;
166
+ /**
167
+ * This function should invalidate any installed listeners and invalidate this object.
168
+ * After calling this function the object might not hold valid data any more and
169
+ * should not be used any more.
170
+ *
171
+ * @method destroy
172
+ * @instance
173
+ * @memberof BezierPathInteractionHelper
174
+ * @return {void}
175
+ **/
176
+ destroy(): void;
161
177
  private _locatePath;
162
178
  private _handleDelete;
163
179
  private _handleSingleVertexDelete;
@@ -21,7 +21,8 @@
21
21
  * @modified 2021-01-03 Changed property to `autoAdjustPaths` in the HandlerOptions interface (typo).
22
22
  * @modified 2021-01-03 Added following new functions: `addPathVertexDragStartListeners`, `removePathVertexDragStartListeners`, `addPathVertexDragEndListeners` and `removePathVertexDragEndListeners`.
23
23
  * @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
24
- * @version 1.1.1
24
+ * @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
25
+ * @version 1.1.2
25
26
  *
26
27
  * @file BezierPathInteractionHelper
27
28
  * @public
@@ -72,6 +73,7 @@ var BezierPathInteractionHelper = /** @class */ (function () {
72
73
  * @param {function(number,BezierPath)} options.onPathRemoved (pathIndex,oldPath)
73
74
  **/
74
75
  function BezierPathInteractionHelper(pb, paths, options) {
76
+ var _this = this;
75
77
  options = options || {};
76
78
  this.pb = pb;
77
79
  this.paths = [];
@@ -99,8 +101,15 @@ var BezierPathInteractionHelper = /** @class */ (function () {
99
101
  for (var i = 0; i < paths.length; i++) {
100
102
  this.addPath(paths[i]);
101
103
  }
102
- this._installMouseListener();
103
- this._installTouchListener();
104
+ this._mouseEnterListener = function () {
105
+ _this.mouseIsOver = true;
106
+ };
107
+ this._mouseLeaveListener = function () {
108
+ _this.mouseIsOver = false;
109
+ _this._clearMoveEvent();
110
+ };
111
+ this._mouseHandler = this._installMouseListener();
112
+ this._touchHandler = this._installTouchListener();
104
113
  this._keyHandler = this._installKeyListener();
105
114
  // Paths might have changed by auto-adjustment.
106
115
  if (this.autoAdjustPaths)
@@ -173,6 +182,27 @@ var BezierPathInteractionHelper = /** @class */ (function () {
173
182
  // Just re-run the calculation with the recent mouse/touch position
174
183
  this._handleMoveEvent(this.currentB.x, this.currentB.y);
175
184
  };
185
+ /**
186
+ * This function should invalidate any installed listeners and invalidate this object.
187
+ * After calling this function the object might not hold valid data any more and
188
+ * should not be used any more.
189
+ *
190
+ * @method destroy
191
+ * @instance
192
+ * @memberof BezierPathInteractionHelper
193
+ * @return {void}
194
+ **/
195
+ BezierPathInteractionHelper.prototype.destroy = function () {
196
+ for (var i = 0; i < this.paths.length; i++) {
197
+ this._removeDefaultPathListeners(this.paths[i]);
198
+ // removePathVertexDragStartListeners(this.paths[i], listener);
199
+ }
200
+ this.paths = [];
201
+ this.pb.eventCatcher.removeEventListener("mouseenter", this._mouseEnterListener);
202
+ this.pb.eventCatcher.removeEventListener("mouseleave", this._mouseLeaveListener);
203
+ this._mouseHandler.destroy();
204
+ this._keyHandler.destroy();
205
+ };
176
206
  // +---------------------------------------------------------------------------------
177
207
  // | A helper function to locate a given path instance inside the array.
178
208
  // |
@@ -256,6 +286,7 @@ var BezierPathInteractionHelper = /** @class */ (function () {
256
286
  }
257
287
  }
258
288
  else {
289
+ // TODO: remove drag listener from removed vertex!
259
290
  deletedVertIndices.push(i);
260
291
  }
261
292
  }
@@ -281,6 +312,7 @@ var BezierPathInteractionHelper = /** @class */ (function () {
281
312
  BezierPathInteractionHelper.prototype._replacePathAt = function (pathIndex, newPath) {
282
313
  var oldPath = this.paths[pathIndex];
283
314
  this.pb.remove(oldPath, false, true); // Remove with vertices
315
+ oldPath.destroy();
284
316
  this._removeDefaultPathListeners(oldPath);
285
317
  BezierPathInteractionHelper.setPathAutoAdjust(newPath);
286
318
  this.paths[pathIndex] = newPath;
@@ -318,32 +350,33 @@ var BezierPathInteractionHelper = /** @class */ (function () {
318
350
  var _self = this;
319
351
  var afProps = {
320
352
  // Todo: which event types does AlloyFinger use?
321
- touchStart: function (e) {
353
+ touchStart: function (_event) {
322
354
  _self.mouseIsOver = true;
323
355
  },
324
- touchMove: function (e) {
325
- if (_self.pb.getDraggedElementCount() == 0 && e.touches.length > 0) {
356
+ touchMove: function (event) {
357
+ if (_self.pb.getDraggedElementCount() == 0 && event.touches.length > 0) {
326
358
  // console.log('touchmove');
327
- _self._handleMoveEvent(e.touches[0].clientX, e.touches[0].clientY);
359
+ _self._handleMoveEvent(event.touches[0].clientX, event.touches[0].clientY);
328
360
  }
329
361
  },
330
- touchEnd: function (e) {
362
+ touchEnd: function (_event) {
331
363
  _self.mouseIsOver = false;
332
364
  _self._clearMoveEvent();
333
365
  }
334
366
  };
335
- // new AlloyFinger(this.pb.canvas, afProps);
336
- if (window["createAlloyFinger"])
337
- window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
338
- else
339
- new alloy_finger_1.AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
367
+ if (window["createAlloyFinger"]) {
368
+ return window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
369
+ }
370
+ else {
371
+ return new alloy_finger_1.AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
372
+ }
340
373
  };
341
374
  // +---------------------------------------------------------------------------------
342
375
  // | Called once upon initialization.
343
376
  // +-------------------------------
344
377
  BezierPathInteractionHelper.prototype._installMouseListener = function () {
345
378
  var _self = this;
346
- new MouseHandler_1.MouseHandler(this.pb.canvas)
379
+ var mouseHandler = new MouseHandler_1.MouseHandler(this.pb.eventCatcher)
347
380
  .up(function (e) {
348
381
  if (e.params.wasDragged)
349
382
  return;
@@ -383,18 +416,12 @@ var BezierPathInteractionHelper = /** @class */ (function () {
383
416
  _self.onVertexInserted(_self.currentPathIndex, leftPath.bezierCurves.length, newPath, oldPath);
384
417
  })
385
418
  .move(function (e) {
386
- // console.log('moved');
387
- // if( _self.pb.getDraggedElementCount() == 0 )
388
419
  _self.mouseIsOver = true;
389
420
  _self._handleMoveEvent(e.params.pos.x, e.params.pos.y);
390
421
  });
391
- _self.pb.canvas.addEventListener("mouseenter", function () {
392
- _self.mouseIsOver = true;
393
- });
394
- _self.pb.canvas.addEventListener("mouseleave", function () {
395
- _self.mouseIsOver = false;
396
- _self._clearMoveEvent();
397
- });
422
+ this.pb.eventCatcher.addEventListener("mouseenter", this._mouseEnterListener);
423
+ this.pb.eventCatcher.addEventListener("mouseleave", this._mouseLeaveListener);
424
+ return mouseHandler;
398
425
  };
399
426
  // +---------------------------------------------------------------------------------
400
427
  // | Called once upon initialization.
@@ -408,15 +435,6 @@ var BezierPathInteractionHelper = /** @class */ (function () {
408
435
  });
409
436
  };
410
437
  // +---------------------------------------------------------------------------------
411
- // | Adds vertex listeners to all path points.
412
- // |
413
- // | @param {BezierPath} path - The path to add vertex listeners to.
414
- // +-------------------------------
415
- // TODO: THIS CAN BE REMOVED?
416
- // private _addDefaultPathListeners( path:BezierPath ) : void {
417
- // BezierPathInteractionHelper.addPathVertexDragListeners( path, this._updateMinDistance );
418
- // };
419
- // +---------------------------------------------------------------------------------
420
438
  // | Removes vertex listeners from all path points.
421
439
  // |
422
440
  // | @param {BezierPath} path - The path to remove vertex listeners from.