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
@@ -8,7 +8,8 @@
8
8
  * @modified 2020-12-04 Changed `getClosestT` param from `Vertex` to `XYCoords` (generalized).
9
9
  * @modified 2020-12-04 Added the `hasPoint(XYCoords)` function.
10
10
  * @modified 2021-01-20 Added UID.
11
- * @version 1.1.0
11
+ * @modified 2022-02-02 Added the `destroy` method.
12
+ * @version 1.2.0
12
13
  */
13
14
  import { Vertex } from "./Vertex";
14
15
  import { UIDGenerator } from "./UIDGenerator";
@@ -44,7 +45,6 @@ export class VertTuple {
44
45
  length() {
45
46
  return Math.sqrt(Math.pow(this.b.x - this.a.x, 2) + Math.pow(this.b.y - this.a.y, 2));
46
47
  }
47
- ;
48
48
  /**
49
49
  * Set the length of this vector to the given amount. This only works if this
50
50
  * vector is not a null vector.
@@ -57,7 +57,6 @@ export class VertTuple {
57
57
  setLength(length) {
58
58
  return this.scale(length / this.length());
59
59
  }
60
- ;
61
60
  /**
62
61
  * Substract the given vertex from this line's end points.
63
62
  *
@@ -72,7 +71,6 @@ export class VertTuple {
72
71
  this.b.sub(amount);
73
72
  return this;
74
73
  }
75
- ;
76
74
  /**
77
75
  * Add the given vertex to this line's end points.
78
76
  *
@@ -87,7 +85,6 @@ export class VertTuple {
87
85
  this.b.add(amount);
88
86
  return this;
89
87
  }
90
- ;
91
88
  /**
92
89
  * Normalize this line (set to length 1).
93
90
  *
@@ -100,7 +97,6 @@ export class VertTuple {
100
97
  this.b.set(this.a.x + (this.b.x - this.a.x) / this.length(), this.a.y + (this.b.y - this.a.y) / this.length());
101
98
  return this;
102
99
  }
103
- ;
104
100
  /**
105
101
  * Scale this line by the given factor.
106
102
  *
@@ -114,7 +110,6 @@ export class VertTuple {
114
110
  this.b.set(this.a.x + (this.b.x - this.a.x) * factor, this.a.y + (this.b.y - this.a.y) * factor);
115
111
  return this;
116
112
  }
117
- ;
118
113
  /**
119
114
  * Move this line to a new location.
120
115
  *
@@ -130,7 +125,6 @@ export class VertTuple {
130
125
  this.b.add(diff);
131
126
  return this;
132
127
  }
133
- ;
134
128
  /**
135
129
  * Get the angle between this and the passed line (in radians).
136
130
  *
@@ -141,7 +135,7 @@ export class VertTuple {
141
135
  * @memberof VertTuple
142
136
  **/
143
137
  angle(line) {
144
- if (line == null || typeof line == 'undefined') {
138
+ if (line == null || typeof line == "undefined") {
145
139
  line = this.factory(new Vertex(0, 0), new Vertex(100, 0));
146
140
  }
147
141
  // Compute the angle from x axis and the return the difference :)
@@ -151,7 +145,6 @@ export class VertTuple {
151
145
  // The result might be negative, but isn't it usually nicer to determine angles in positive values only?
152
146
  return Math.atan2(v1.x, v1.y) - Math.atan2(v0.x, v0.y);
153
147
  }
154
- ;
155
148
  /**
156
149
  * Get line point at position t in [0 ... 1]:<br>
157
150
  * <pre>[P(0)]=[A]--------------------[P(t)]------[B]=[P(1)]</pre><br>
@@ -167,7 +160,6 @@ export class VertTuple {
167
160
  vertAt(t) {
168
161
  return new Vertex(this.a.x + (this.b.x - this.a.x) * t, this.a.y + (this.b.y - this.a.y) * t);
169
162
  }
170
- ;
171
163
  /**
172
164
  * Get the denominator of this and the given line.
173
165
  *
@@ -181,9 +173,8 @@ export class VertTuple {
181
173
  **/
182
174
  denominator(line) {
183
175
  // http://jsfiddle.net/justin_c_rounds/Gd2S2/
184
- return ((line.b.y - line.a.y) * (this.b.x - this.a.x)) - ((line.b.x - line.a.x) * (this.b.y - this.a.y));
176
+ return (line.b.y - line.a.y) * (this.b.x - this.a.x) - (line.b.x - line.a.x) * (this.b.y - this.a.y);
185
177
  }
186
- ;
187
178
  /**
188
179
  * Checks if this and the given line are co-linear.
189
180
  *
@@ -198,7 +189,6 @@ export class VertTuple {
198
189
  colinear(line) {
199
190
  return Math.abs(this.denominator(line)) < Vertex.EPSILON;
200
191
  }
201
- ;
202
192
  /**
203
193
  * Get the closest position T from this line to the specified point.
204
194
  *
@@ -221,7 +211,6 @@ export class VertTuple {
221
211
  // t = Math.max(0, Math.min(1, t));
222
212
  return t;
223
213
  }
224
- ;
225
214
  /**
226
215
  * Check if the given point is located on this line. Optionally also check if
227
216
  * that point is located between point `a` and `b`.
@@ -257,7 +246,6 @@ export class VertTuple {
257
246
  var t = this.getClosestT(p);
258
247
  return this.vertAt(t);
259
248
  }
260
- ;
261
249
  /**
262
250
  * The the minimal distance between this line and the specified point.
263
251
  *
@@ -272,7 +260,6 @@ export class VertTuple {
272
260
  // https://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-line-segment
273
261
  return Math.sqrt(VertTuple.vtutils.dist2(p, this.vertAt(this.getClosestT(p))));
274
262
  }
275
- ;
276
263
  /**
277
264
  * Create a deep clone of this instance.
278
265
  *
@@ -284,7 +271,6 @@ export class VertTuple {
284
271
  clone() {
285
272
  return this.factory(this.a.clone(), this.b.clone());
286
273
  }
287
- ;
288
274
  /**
289
275
  * Create a string representation of this line.
290
276
  *
@@ -296,7 +282,16 @@ export class VertTuple {
296
282
  toString() {
297
283
  return "{ a : " + this.a.toString() + ", b : " + this.b.toString() + " }";
298
284
  }
299
- ;
285
+ /**
286
+ * This function should invalidate any installed listeners and invalidate this object.
287
+ * After calling this function the object might not hold valid data any more and
288
+ * should not be used.
289
+ */
290
+ destroy() {
291
+ this.a.destroy();
292
+ this.b.destroy();
293
+ this.isDestroyed = true;
294
+ }
300
295
  }
301
296
  /**
302
297
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"VertTuple.js","sourceRoot":"","sources":["../ts/VertTuple.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VertTuple.js","sourceRoot":"","sources":["../ts/VertTuple.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,11 @@
24
24
  * @modified 2021-03-01 Changed the second param `center` in the `rotate` function from Vertex to XYCoords.
25
25
  * @modified 2021-12-01 Changed the type of param of `scale` to XYCoords.
26
26
  * @modified 2021-12-01 Added function `scaleXY` for non uniform scaling.
27
- * @version 2.5.0
27
+ * @modified 2021-12-17 Added the functions `lerp` and `lerpAbs` for linear interpolations.
28
+ * @modified 2022-01-31 Added `Vertex.utils.arrayToJSON`.
29
+ * @modified 2022-02-02 Added the `destroy` method.
30
+ * @modified 2022-02-02 Cleared the `Vertex.toSVGString` function (deprecated). Use `drawutilssvg` instead.
31
+ * @version 2.7.0
28
32
  *
29
33
  * @file Vertex
30
34
  * @public
@@ -92,6 +96,13 @@ export declare class Vertex implements XYCoords, SVGSerializable {
92
96
  * @instance
93
97
  **/
94
98
  listeners: VertexListeners;
99
+ /**
100
+ * @member isDestroyed
101
+ * @memberof Vertex
102
+ * @type {boolean}
103
+ * @instance
104
+ */
105
+ isDestroyed: boolean;
95
106
  /**
96
107
  * The constructor for the vertex class.
97
108
  *
@@ -274,6 +285,29 @@ export declare class Vertex implements XYCoords, SVGSerializable {
274
285
  * @memberof Vertex
275
286
  **/
276
287
  scale(factor: number, center?: XYCoords): Vertex;
288
+ /**
289
+ * Perform a linear interpolation towards the given target vertex.
290
+ * The amount value `t` is relative, `t=0.0` means no change, `t=1.0`
291
+ * means this point will be moved to the exact target position.
292
+ *
293
+ * `t=0.5` will move this point to the middle of the connecting
294
+ * linear segment.
295
+ *
296
+ * @param {XYCoords} target - The target position to lerp this vertex to.
297
+ * @param {number} t - The relative amount, usually in [0..1], but other values will work, too.
298
+ * @returns
299
+ */
300
+ lerp(target: XYCoords, t: number): Vertex;
301
+ /**
302
+ * Perform a linear interpolation towards the given target vertex (absolute variant).
303
+ * The amount value `t` is absolute, which means the lerp amount is a direct distance
304
+ * value. This point will have move the amount of the passed distance `u`.
305
+ *
306
+ * @param {XYCoords} target - The target position to lerp this vertex to.
307
+ * @param {number} t - The absolute move amount to use to lerping.
308
+ * @returns
309
+ */
310
+ lerpAbs(target: XYCoords, u: number): Vertex;
277
311
  /**
278
312
  * This is a vector-like behavior and 'scales' this vertex
279
313
  * towards/from a given center by two independent x- and y- scale factors.
@@ -339,18 +373,11 @@ export declare class Vertex implements XYCoords, SVGSerializable {
339
373
  **/
340
374
  toString(): string;
341
375
  /**
342
- * Convert this vertex to SVG code.
343
- *
344
- * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
345
- * @method toSVGString
346
- * @param {object=} options - An optional set of options, like 'className'.
347
- * @return {string} A string representing the SVG code for this vertex.
348
- * @instance
349
- * @memberof Vertex
350
- **/
351
- toSVGString(options: {
352
- className?: string;
353
- }): string;
376
+ * This function should invalidate any installed listeners and invalidate this object.
377
+ * After calling this function the object might not hold valid data any more and
378
+ * should not be used.
379
+ */
380
+ destroy(): void;
354
381
  /**
355
382
  * Create a new random vertex inside the given viewport.
356
383
  *
@@ -388,5 +415,12 @@ export declare class Vertex implements XYCoords, SVGSerializable {
388
415
  * @param {number} scaleY - the vertical scaling during draw.
389
416
  **/
390
417
  buildArrowHead: (zA: Vertex, zB: Vertex, headlen: number, scaleX: number, scaleY: number) => Array<Vertex>;
418
+ /**
419
+ * Convert the given vertices (array) to a JSON string.
420
+ *
421
+ * @param {number?} precision - (optional) The numeric precision to be used (number of precision digits).
422
+ * @returns {string}
423
+ */
424
+ arrayToJSON(vertices: Array<XYCoords>, precision?: number): string;
391
425
  };
392
426
  }
package/src/esm/Vertex.js CHANGED
@@ -24,7 +24,11 @@
24
24
  * @modified 2021-03-01 Changed the second param `center` in the `rotate` function from Vertex to XYCoords.
25
25
  * @modified 2021-12-01 Changed the type of param of `scale` to XYCoords.
26
26
  * @modified 2021-12-01 Added function `scaleXY` for non uniform scaling.
27
- * @version 2.5.0
27
+ * @modified 2021-12-17 Added the functions `lerp` and `lerpAbs` for linear interpolations.
28
+ * @modified 2022-01-31 Added `Vertex.utils.arrayToJSON`.
29
+ * @modified 2022-02-02 Added the `destroy` method.
30
+ * @modified 2022-02-02 Cleared the `Vertex.toSVGString` function (deprecated). Use `drawutilssvg` instead.
31
+ * @version 2.7.0
28
32
  *
29
33
  * @file Vertex
30
34
  * @public
@@ -380,6 +384,43 @@ export class Vertex {
380
384
  scale(factor, center) {
381
385
  return this.scaleXY({ x: factor, y: factor }, center);
382
386
  }
387
+ /**
388
+ * Perform a linear interpolation towards the given target vertex.
389
+ * The amount value `t` is relative, `t=0.0` means no change, `t=1.0`
390
+ * means this point will be moved to the exact target position.
391
+ *
392
+ * `t=0.5` will move this point to the middle of the connecting
393
+ * linear segment.
394
+ *
395
+ * @param {XYCoords} target - The target position to lerp this vertex to.
396
+ * @param {number} t - The relative amount, usually in [0..1], but other values will work, too.
397
+ * @returns
398
+ */
399
+ lerp(target, t) {
400
+ var diff = this.difference(target);
401
+ // return new Vertex(this.x + diff.x * t, this.y + diff.y * t);
402
+ this.x += diff.x * t;
403
+ this.y += diff.y * t;
404
+ return this;
405
+ }
406
+ /**
407
+ * Perform a linear interpolation towards the given target vertex (absolute variant).
408
+ * The amount value `t` is absolute, which means the lerp amount is a direct distance
409
+ * value. This point will have move the amount of the passed distance `u`.
410
+ *
411
+ * @param {XYCoords} target - The target position to lerp this vertex to.
412
+ * @param {number} t - The absolute move amount to use to lerping.
413
+ * @returns
414
+ */
415
+ lerpAbs(target, u) {
416
+ var dist = this.distance(target);
417
+ var diff = this.difference(target);
418
+ var step = { x: diff.x / dist, y: diff.y / dist };
419
+ // return new Vertex(this.x + step.x * u, this.y + step.y * u);
420
+ this.x += step.x * u;
421
+ this.y += step.y * u;
422
+ return this;
423
+ }
383
424
  /**
384
425
  * This is a vector-like behavior and 'scales' this vertex
385
426
  * towards/from a given center by two independent x- and y- scale factors.
@@ -477,28 +518,14 @@ export class Vertex {
477
518
  return "(" + this.x + "," + this.y + ")";
478
519
  }
479
520
  /**
480
- * Convert this vertex to SVG code.
481
- *
482
- * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
483
- * @method toSVGString
484
- * @param {object=} options - An optional set of options, like 'className'.
485
- * @return {string} A string representing the SVG code for this vertex.
486
- * @instance
487
- * @memberof Vertex
488
- **/
489
- toSVGString(options) {
490
- options = options || {};
491
- var buffer = [];
492
- buffer.push("<circle");
493
- if (options.className)
494
- buffer.push(' class="' + options.className + '"');
495
- buffer.push(' cx="' + this.x + '"');
496
- buffer.push(' cy="' + this.y + '"');
497
- buffer.push(' r="2"');
498
- buffer.push(" />");
499
- return buffer.join("");
521
+ * This function should invalidate any installed listeners and invalidate this object.
522
+ * After calling this function the object might not hold valid data any more and
523
+ * should not be used.
524
+ */
525
+ destroy() {
526
+ this.listeners.removeAllListeners();
527
+ this.isDestroyed = true;
500
528
  }
501
- // END Vertex
502
529
  /**
503
530
  * Create a new random vertex inside the given viewport.
504
531
  *
@@ -553,6 +580,19 @@ Vertex.utils = {
553
580
  vertices.push(new Vertex(zB.x * scaleX, zB.y * scaleY));
554
581
  vertices.push(new Vertex(zB.x * scaleX - headlen * 1.35 * Math.cos(angle + Math.PI / 8), zB.y * scaleY - headlen * 1.35 * Math.sin(angle + Math.PI / 8)));
555
582
  return vertices;
583
+ },
584
+ /**
585
+ * Convert the given vertices (array) to a JSON string.
586
+ *
587
+ * @param {number?} precision - (optional) The numeric precision to be used (number of precision digits).
588
+ * @returns {string}
589
+ */
590
+ arrayToJSON(vertices, precision) {
591
+ return JSON.stringify(vertices.map(function (vert) {
592
+ return typeof precision === undefined
593
+ ? { x: vert.x, y: vert.y }
594
+ : { x: Number(vert.x.toFixed(precision)), y: Number(vert.y.toFixed(precision)) };
595
+ }));
556
596
  }
557
597
  };
558
598
  //# sourceMappingURL=Vertex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../ts/Vertex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../ts/Vertex.ts"],"names":[],"mappings":"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"}
@@ -136,14 +136,14 @@ export declare class VertexListeners {
136
136
  * @param {Event} e - The (extended) drag event.
137
137
  */
138
138
  /**
139
- * Remove a drag listener.
140
- *
141
- * @method removeDragEndListener
142
- * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
143
- * @return {VertexListeners} this (for chaining)
144
- * @instance
145
- * @memberof VertexListeners
146
- **/
139
+ * Remove a drag listener.
140
+ *
141
+ * @method removeDragEndListener
142
+ * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
143
+ * @return {VertexListeners} this (for chaining)
144
+ * @instance
145
+ * @memberof VertexListeners
146
+ **/
147
147
  removeDragEndListener(listener: (e: VertEvent) => void): VertexListeners;
148
148
  /**
149
149
  * Fire a click event with the given event instance to all
@@ -189,6 +189,10 @@ export declare class VertexListeners {
189
189
  * @memberof VertexListeners
190
190
  **/
191
191
  fireDragEndEvent(e: VertEvent | XMouseEvent): void;
192
+ /**
193
+ * Removes all listeners from this listeners object.
194
+ */
195
+ removeAllListeners(): void;
192
196
  /**
193
197
  * @private
194
198
  **/
@@ -32,7 +32,6 @@ export class VertexListeners {
32
32
  this.dragEnd = [];
33
33
  this.vertex = vertex;
34
34
  }
35
- ;
36
35
  /**
37
36
  * Add a click listener.
38
37
  *
@@ -46,7 +45,6 @@ export class VertexListeners {
46
45
  VertexListeners._addListener(this.click, listener);
47
46
  return this;
48
47
  }
49
- ;
50
48
  /**
51
49
  * The click listener is a function with a single drag event param.
52
50
  * @callback VertexListeners~clickListener
@@ -65,7 +63,6 @@ export class VertexListeners {
65
63
  this.click = VertexListeners._removeListener(this.click, listener);
66
64
  return this;
67
65
  }
68
- ;
69
66
  /**
70
67
  * The click listener is a function with a single drag event param.
71
68
  * @callback VertexListeners~clickListener
@@ -84,7 +81,6 @@ export class VertexListeners {
84
81
  VertexListeners._addListener(this.drag, listener);
85
82
  return this;
86
83
  }
87
- ;
88
84
  /**
89
85
  * The drag listener is a function with a single drag event param.
90
86
  * @callback VertexListeners~dragListener
@@ -103,7 +99,6 @@ export class VertexListeners {
103
99
  this.drag = VertexListeners._removeListener(this.drag, listener);
104
100
  return this;
105
101
  }
106
- ;
107
102
  /**
108
103
  * Add a dragStart listener.
109
104
  *
@@ -117,7 +112,6 @@ export class VertexListeners {
117
112
  VertexListeners._addListener(this.dragStart, listener);
118
113
  return this;
119
114
  }
120
- ;
121
115
  /**
122
116
  * The drag-start listener is a function with a single drag event param.
123
117
  * @callback VertexListeners~dragStartListener
@@ -136,7 +130,6 @@ export class VertexListeners {
136
130
  this.dragStart = VertexListeners._removeListener(this.dragStart, listener);
137
131
  return this;
138
132
  }
139
- ;
140
133
  /**
141
134
  * Add a dragEnd listener.
142
135
  *
@@ -151,27 +144,25 @@ export class VertexListeners {
151
144
  VertexListeners._addListener(this.dragEnd, listener);
152
145
  return this;
153
146
  }
154
- ;
155
147
  /**
156
148
  * The drag-end listener is a function with a single drag event param.
157
149
  * @callback VertexListeners~dragEndListener
158
150
  * @param {Event} e - The (extended) drag event.
159
151
  */
160
152
  /**
161
- * Remove a drag listener.
162
- *
163
- * @method removeDragEndListener
164
- * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
165
- * @return {VertexListeners} this (for chaining)
166
- * @instance
167
- * @memberof VertexListeners
168
- **/
153
+ * Remove a drag listener.
154
+ *
155
+ * @method removeDragEndListener
156
+ * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
157
+ * @return {VertexListeners} this (for chaining)
158
+ * @instance
159
+ * @memberof VertexListeners
160
+ **/
169
161
  removeDragEndListener(listener) {
170
162
  // this.drag.push( listener );
171
163
  this.dragEnd = VertexListeners._removeListener(this.dragEnd, listener);
172
164
  return this;
173
165
  }
174
- ;
175
166
  /**
176
167
  * Fire a click event with the given event instance to all
177
168
  * installed click listeners.
@@ -185,7 +176,6 @@ export class VertexListeners {
185
176
  fireClickEvent(e) {
186
177
  VertexListeners._fireEvent(this, this.click, e);
187
178
  }
188
- ;
189
179
  /**
190
180
  * Fire a drag event with the given event instance to all
191
181
  * installed drag listeners.
@@ -199,7 +189,6 @@ export class VertexListeners {
199
189
  fireDragEvent(e) {
200
190
  VertexListeners._fireEvent(this, this.drag, e);
201
191
  }
202
- ;
203
192
  /**
204
193
  * Fire a dragStart event with the given event instance to all
205
194
  * installed drag-start listeners.
@@ -213,7 +202,6 @@ export class VertexListeners {
213
202
  fireDragStartEvent(e) {
214
203
  VertexListeners._fireEvent(this, this.dragStart, e);
215
204
  }
216
- ;
217
205
  /**
218
206
  * Fire a dragEnd event with the given event instance to all
219
207
  * installed drag-end listeners.
@@ -227,13 +215,21 @@ export class VertexListeners {
227
215
  fireDragEndEvent(e) {
228
216
  VertexListeners._fireEvent(this, this.dragEnd, e);
229
217
  }
230
- ;
218
+ /**
219
+ * Removes all listeners from this listeners object.
220
+ */
221
+ removeAllListeners() {
222
+ this.click = [];
223
+ this.drag = [];
224
+ this.dragStart = [];
225
+ this.dragEnd = [];
226
+ }
231
227
  /**
232
228
  * @private
233
229
  **/
234
230
  static _fireEvent(_self, listeners, e) {
235
231
  const ve = e;
236
- if (typeof ve.params == 'undefined')
232
+ if (typeof ve.params == "undefined")
237
233
  ve.params = { vertex: _self.vertex };
238
234
  else
239
235
  ve.params.vertex = _self.vertex;
@@ -241,7 +237,6 @@ export class VertexListeners {
241
237
  listeners[i](ve);
242
238
  }
243
239
  }
244
- ;
245
240
  /**
246
241
  * @private
247
242
  */
@@ -253,7 +248,6 @@ export class VertexListeners {
253
248
  listeners.push(newListener);
254
249
  return true;
255
250
  }
256
- ;
257
251
  /**
258
252
  * @private
259
253
  */
@@ -264,6 +258,5 @@ export class VertexListeners {
264
258
  }
265
259
  return listeners;
266
260
  }
267
- ;
268
261
  }
269
262
  //# sourceMappingURL=VertexListeners.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VertexListeners.js","sourceRoot":"","sources":["../ts/VertexListeners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VertexListeners.js","sourceRoot":"","sources":["../ts/VertexListeners.ts"],"names":[],"mappings":"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"}