melonjs 14.2.0 → 14.3.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 (283) hide show
  1. package/dist/melonjs.mjs/_virtual/_commonjsHelpers.js +1 -1
  2. package/dist/melonjs.mjs/_virtual/arraymultimap.js +1 -1
  3. package/dist/melonjs.mjs/_virtual/earcut.js +1 -1
  4. package/dist/melonjs.mjs/_virtual/howler.js +1 -1
  5. package/dist/melonjs.mjs/_virtual/index.js +1 -1
  6. package/dist/melonjs.mjs/_virtual/index2.js +1 -1
  7. package/dist/melonjs.mjs/_virtual/multimap.js +1 -1
  8. package/dist/melonjs.mjs/_virtual/setmultimap.js +1 -1
  9. package/dist/melonjs.mjs/application/application.js +153 -9
  10. package/dist/melonjs.mjs/application/header.js +34 -0
  11. package/dist/melonjs.mjs/application/resize.js +1 -1
  12. package/dist/melonjs.mjs/application/settings.js +28 -0
  13. package/dist/melonjs.mjs/audio/audio.js +1 -1
  14. package/dist/melonjs.mjs/camera/camera2d.js +2 -2
  15. package/dist/melonjs.mjs/entity/entity.js +1 -1
  16. package/dist/melonjs.mjs/game.js +1 -1
  17. package/dist/melonjs.mjs/geometries/ellipse.js +1 -1
  18. package/dist/melonjs.mjs/geometries/line.js +1 -1
  19. package/dist/melonjs.mjs/geometries/path2d.js +1 -1
  20. package/dist/melonjs.mjs/geometries/point.js +1 -1
  21. package/dist/melonjs.mjs/geometries/poly.js +1 -1
  22. package/dist/melonjs.mjs/geometries/rectangle.js +1 -1
  23. package/dist/melonjs.mjs/geometries/roundrect.js +1 -1
  24. package/dist/melonjs.mjs/index.js +41 -30
  25. package/dist/melonjs.mjs/input/gamepad.js +1 -1
  26. package/dist/melonjs.mjs/input/input.js +1 -1
  27. package/dist/melonjs.mjs/input/keyboard.js +1 -1
  28. package/dist/melonjs.mjs/input/pointer.js +2 -2
  29. package/dist/melonjs.mjs/input/pointerevent.js +2 -2
  30. package/dist/melonjs.mjs/lang/deprecated.js +1 -1
  31. package/dist/melonjs.mjs/level/level.js +2 -2
  32. package/dist/melonjs.mjs/level/tiled/TMXGroup.js +1 -1
  33. package/dist/melonjs.mjs/level/tiled/TMXLayer.js +2 -2
  34. package/dist/melonjs.mjs/level/tiled/TMXObject.js +1 -1
  35. package/dist/melonjs.mjs/level/tiled/TMXTile.js +1 -1
  36. package/dist/melonjs.mjs/level/tiled/TMXTileMap.js +2 -2
  37. package/dist/melonjs.mjs/level/tiled/TMXTileset.js +1 -1
  38. package/dist/melonjs.mjs/level/tiled/TMXTilesetGroup.js +1 -1
  39. package/dist/melonjs.mjs/level/tiled/TMXUtils.js +1 -1
  40. package/dist/melonjs.mjs/level/tiled/renderer/TMXHexagonalRenderer.js +1 -1
  41. package/dist/melonjs.mjs/level/tiled/renderer/TMXIsometricRenderer.js +1 -1
  42. package/dist/melonjs.mjs/level/tiled/renderer/TMXOrthogonalRenderer.js +1 -1
  43. package/dist/melonjs.mjs/level/tiled/renderer/TMXRenderer.js +1 -1
  44. package/dist/melonjs.mjs/level/tiled/renderer/TMXStaggeredRenderer.js +1 -1
  45. package/dist/melonjs.mjs/loader/loader.js +1 -1
  46. package/dist/melonjs.mjs/loader/loadingscreen.js +2 -2
  47. package/dist/melonjs.mjs/loader/melonjs_logo.png.js +1 -1
  48. package/dist/melonjs.mjs/math/color.js +1 -1
  49. package/dist/melonjs.mjs/math/math.js +1 -1
  50. package/dist/melonjs.mjs/math/matrix2.js +1 -1
  51. package/dist/melonjs.mjs/math/matrix3.js +1 -1
  52. package/dist/melonjs.mjs/math/observable_vector2.js +1 -1
  53. package/dist/melonjs.mjs/math/observable_vector3.js +1 -1
  54. package/dist/melonjs.mjs/math/vector2.js +1 -1
  55. package/dist/melonjs.mjs/math/vector3.js +1 -1
  56. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/arraymultimap.js +1 -1
  57. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/index.js +1 -1
  58. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/multimap.js +1 -1
  59. package/dist/melonjs.mjs/node_modules/@teppeis/multimaps/dist/src/setmultimap.js +1 -1
  60. package/dist/melonjs.mjs/node_modules/earcut/src/earcut.js +1 -1
  61. package/dist/melonjs.mjs/node_modules/eventemitter3/index.js +1 -1
  62. package/dist/melonjs.mjs/node_modules/eventemitter3/index2.js +1 -1
  63. package/dist/melonjs.mjs/node_modules/howler/dist/howler.js +1 -1
  64. package/dist/melonjs.mjs/particles/emitter.js +1 -1
  65. package/dist/melonjs.mjs/particles/particle.js +1 -1
  66. package/dist/melonjs.mjs/particles/settings.js +1 -1
  67. package/dist/melonjs.mjs/physics/body.js +1 -1
  68. package/dist/melonjs.mjs/physics/bounds.js +1 -1
  69. package/dist/melonjs.mjs/physics/collision.js +3 -3
  70. package/dist/melonjs.mjs/physics/detector.js +174 -146
  71. package/dist/melonjs.mjs/physics/quadtree.js +1 -1
  72. package/dist/melonjs.mjs/physics/response.js +1 -1
  73. package/dist/melonjs.mjs/physics/sat.js +1 -1
  74. package/dist/melonjs.mjs/physics/world.js +10 -30
  75. package/dist/melonjs.mjs/plugin/plugin.js +3 -3
  76. package/dist/melonjs.mjs/renderable/collectable.js +1 -1
  77. package/dist/melonjs.mjs/renderable/colorlayer.js +1 -1
  78. package/dist/melonjs.mjs/renderable/container.js +3 -87
  79. package/dist/melonjs.mjs/renderable/dragndrop.js +1 -1
  80. package/dist/melonjs.mjs/renderable/imagelayer.js +2 -2
  81. package/dist/melonjs.mjs/renderable/light2d.js +1 -1
  82. package/dist/melonjs.mjs/renderable/nineslicesprite.js +1 -1
  83. package/dist/melonjs.mjs/renderable/renderable.js +1 -1
  84. package/dist/melonjs.mjs/renderable/sprite.js +1 -1
  85. package/dist/melonjs.mjs/renderable/trigger.js +2 -2
  86. package/dist/melonjs.mjs/renderable/ui/uibaseelement.js +1 -1
  87. package/dist/melonjs.mjs/renderable/ui/uispriteelement.js +1 -1
  88. package/dist/melonjs.mjs/renderable/ui/uitextbutton.js +1 -1
  89. package/dist/melonjs.mjs/state/stage.js +2 -2
  90. package/dist/melonjs.mjs/state/state.js +2 -2
  91. package/dist/melonjs.mjs/system/device.js +2 -22
  92. package/dist/melonjs.mjs/system/dom.js +1 -1
  93. package/dist/melonjs.mjs/system/event.js +1 -1
  94. package/dist/melonjs.mjs/system/platform.js +1 -1
  95. package/dist/melonjs.mjs/system/pooling.js +1 -1
  96. package/dist/melonjs.mjs/system/save.js +1 -1
  97. package/dist/melonjs.mjs/system/timer.js +1 -1
  98. package/dist/melonjs.mjs/text/bitmaptext.js +1 -1
  99. package/dist/melonjs.mjs/text/bitmaptextdata.js +1 -1
  100. package/dist/melonjs.mjs/text/glyph.js +1 -1
  101. package/dist/melonjs.mjs/text/text.js +1 -1
  102. package/dist/melonjs.mjs/text/textmetrics.js +1 -1
  103. package/dist/melonjs.mjs/text/textstyle.js +1 -1
  104. package/dist/melonjs.mjs/tweens/easing.js +1 -1
  105. package/dist/melonjs.mjs/tweens/interpolation.js +1 -1
  106. package/dist/melonjs.mjs/tweens/tween.js +2 -2
  107. package/dist/melonjs.mjs/utils/agent.js +1 -1
  108. package/dist/melonjs.mjs/utils/array.js +1 -1
  109. package/dist/melonjs.mjs/utils/file.js +1 -1
  110. package/dist/melonjs.mjs/utils/function.js +1 -1
  111. package/dist/melonjs.mjs/utils/string.js +1 -1
  112. package/dist/melonjs.mjs/utils/utils.js +1 -1
  113. package/dist/melonjs.mjs/video/canvas/canvas_renderer.js +4 -1
  114. package/dist/melonjs.mjs/video/renderer.js +8 -1
  115. package/dist/melonjs.mjs/video/texture/atlas.js +1 -1
  116. package/dist/melonjs.mjs/video/texture/cache.js +1 -1
  117. package/dist/melonjs.mjs/video/texture/canvas_texture.js +3 -2
  118. package/dist/melonjs.mjs/video/utils/autodetect.js +27 -0
  119. package/dist/melonjs.mjs/video/utils/resize.js +1 -1
  120. package/dist/melonjs.mjs/video/video.js +15 -147
  121. package/dist/melonjs.mjs/video/webgl/buffer/vertex.js +1 -1
  122. package/dist/melonjs.mjs/video/webgl/glshader.js +2 -3
  123. package/dist/melonjs.mjs/video/webgl/shaders/primitive.frag.js +1 -1
  124. package/dist/melonjs.mjs/video/webgl/shaders/primitive.vert.js +1 -1
  125. package/dist/melonjs.mjs/video/webgl/shaders/quad.frag.js +1 -1
  126. package/dist/melonjs.mjs/video/webgl/shaders/quad.vert.js +1 -1
  127. package/dist/melonjs.mjs/video/webgl/utils/attributes.js +1 -1
  128. package/dist/melonjs.mjs/video/webgl/utils/precision.js +20 -2
  129. package/dist/melonjs.mjs/video/webgl/utils/program.js +1 -1
  130. package/dist/melonjs.mjs/video/webgl/utils/string.js +1 -1
  131. package/dist/melonjs.mjs/video/webgl/utils/uniforms.js +1 -1
  132. package/dist/melonjs.mjs/video/webgl/webgl_compositor.js +1 -1
  133. package/dist/melonjs.mjs/video/webgl/webgl_renderer.js +4 -1
  134. package/dist/melonjs.module.js +20922 -20921
  135. package/dist/types/application/application.d.ts +144 -0
  136. package/dist/types/application/header.d.ts +5 -0
  137. package/dist/types/application/resize.d.ts +5 -0
  138. package/dist/types/application/settings.d.ts +18 -0
  139. package/dist/types/audio/audio.d.ts +267 -0
  140. package/dist/types/camera/camera2d.d.ts +289 -0
  141. package/dist/types/entity/entity.d.ts +98 -0
  142. package/{src/game.js → dist/types/game.d.ts} +3 -14
  143. package/dist/types/geometries/ellipse.d.ts +154 -0
  144. package/dist/types/geometries/line.d.ts +11 -0
  145. package/dist/types/geometries/path2d.d.ts +121 -0
  146. package/dist/types/geometries/point.d.ts +53 -0
  147. package/dist/types/geometries/poly.d.ts +222 -0
  148. package/dist/types/geometries/rectangle.d.ts +176 -0
  149. package/dist/types/geometries/roundrect.d.ts +52 -0
  150. package/dist/types/index.d.ts +3 -2
  151. package/dist/types/input/gamepad.d.ts +95 -0
  152. package/dist/types/input/input.d.ts +15 -0
  153. package/dist/types/input/keyboard.d.ts +205 -0
  154. package/dist/types/input/pointer.d.ts +270 -0
  155. package/dist/types/input/pointerevent.d.ts +181 -0
  156. package/dist/types/lang/deprecated.d.ts +53 -0
  157. package/dist/types/level/level.d.ts +134 -0
  158. package/dist/types/level/tiled/TMXGroup.d.ts +82 -0
  159. package/dist/types/level/tiled/TMXLayer.d.ts +180 -0
  160. package/dist/types/level/tiled/TMXObject.d.ts +195 -0
  161. package/dist/types/level/tiled/TMXTile.d.ts +78 -0
  162. package/dist/types/level/tiled/TMXTileMap.d.ts +180 -0
  163. package/dist/types/level/tiled/TMXTileset.d.ts +94 -0
  164. package/dist/types/level/tiled/TMXTilesetGroup.d.ts +32 -0
  165. package/dist/types/level/tiled/TMXUtils.d.ts +47 -0
  166. package/dist/types/level/tiled/renderer/TMXHexagonalRenderer.d.ts +87 -0
  167. package/dist/types/level/tiled/renderer/TMXIsometricRenderer.d.ts +55 -0
  168. package/dist/types/level/tiled/renderer/TMXOrthogonalRenderer.d.ts +43 -0
  169. package/dist/types/level/tiled/renderer/TMXRenderer.d.ts +75 -0
  170. package/dist/types/level/tiled/renderer/TMXStaggeredRenderer.d.ts +8 -0
  171. package/dist/types/loader/loader.d.ts +181 -0
  172. package/dist/types/loader/loadingscreen.d.ts +18 -0
  173. package/dist/types/math/color.d.ts +170 -0
  174. package/dist/types/math/math.d.ts +165 -0
  175. package/dist/types/math/matrix2.d.ts +209 -0
  176. package/dist/types/math/matrix3.d.ts +236 -0
  177. package/dist/types/math/observable_vector2.d.ts +278 -0
  178. package/dist/types/math/observable_vector3.d.ts +277 -0
  179. package/dist/types/math/vector2.d.ts +327 -0
  180. package/dist/types/math/vector3.d.ts +332 -0
  181. package/dist/types/particles/emitter.d.ts +188 -0
  182. package/dist/types/particles/particle.d.ts +32 -0
  183. package/dist/types/particles/settings.d.ts +32 -0
  184. package/dist/types/physics/body.d.ts +330 -0
  185. package/dist/types/physics/bounds.d.ts +250 -0
  186. package/dist/types/physics/collision.d.ts +44 -0
  187. package/dist/types/physics/detector.d.ts +64 -0
  188. package/dist/types/physics/quadtree.d.ts +79 -0
  189. package/dist/types/physics/response.d.ts +37 -0
  190. package/dist/types/physics/sat.d.ts +48 -0
  191. package/dist/types/physics/world.d.ts +83 -0
  192. package/dist/types/plugin/plugin.d.ts +10 -0
  193. package/dist/types/polyfill/console.d.ts +0 -0
  194. package/dist/types/polyfill/index.d.ts +1 -0
  195. package/dist/types/polyfill/performance.d.ts +0 -0
  196. package/dist/types/polyfill/requestAnimationFrame.d.ts +1 -0
  197. package/dist/types/polyfill/roundrect.d.ts +0 -0
  198. package/dist/types/renderable/collectable.d.ts +19 -0
  199. package/dist/types/renderable/colorlayer.d.ts +28 -0
  200. package/dist/types/renderable/container.d.ts +302 -0
  201. package/dist/types/renderable/dragndrop.d.ts +118 -0
  202. package/dist/types/renderable/imagelayer.d.ts +106 -0
  203. package/dist/types/renderable/light2d.d.ts +58 -0
  204. package/dist/types/renderable/nineslicesprite.d.ts +59 -0
  205. package/dist/types/renderable/renderable.d.ts +402 -0
  206. package/dist/types/renderable/sprite.d.ts +268 -0
  207. package/dist/types/renderable/trigger.d.ts +61 -0
  208. package/dist/types/renderable/ui/uibaseelement.d.ts +95 -0
  209. package/dist/types/renderable/ui/uispriteelement.d.ts +127 -0
  210. package/dist/types/renderable/ui/uitextbutton.d.ts +54 -0
  211. package/dist/types/state/stage.d.ts +116 -0
  212. package/dist/types/state/state.d.ts +170 -0
  213. package/dist/types/system/device.d.ts +579 -0
  214. package/dist/types/system/dom.d.ts +1 -0
  215. package/dist/types/system/event.d.ts +473 -0
  216. package/dist/types/system/platform.d.ts +31 -0
  217. package/dist/types/system/pooling.d.ts +101 -0
  218. package/dist/types/system/save.d.ts +25 -0
  219. package/dist/types/system/timer.d.ts +126 -0
  220. package/dist/types/text/bitmaptext.d.ts +151 -0
  221. package/dist/types/text/bitmaptextdata.d.ts +35 -0
  222. package/dist/types/text/glyph.d.ts +28 -0
  223. package/dist/types/text/text.d.ts +173 -0
  224. package/dist/types/text/textmetrics.d.ts +47 -0
  225. package/dist/types/text/textstyle.d.ts +5 -0
  226. package/dist/types/tweens/easing.d.ts +46 -0
  227. package/dist/types/tweens/interpolation.d.ts +18 -0
  228. package/dist/types/tweens/tween.d.ts +195 -0
  229. package/dist/types/utils/agent.d.ts +21 -0
  230. package/dist/types/utils/array.d.ts +39 -0
  231. package/dist/types/utils/file.d.ts +18 -0
  232. package/dist/types/utils/function.d.ts +32 -0
  233. package/dist/types/utils/string.d.ts +50 -0
  234. package/dist/types/utils/utils.d.ts +17 -0
  235. package/dist/types/video/canvas/canvas_renderer.d.ts +380 -0
  236. package/dist/types/video/renderer.d.ts +222 -0
  237. package/dist/types/video/texture/atlas.d.ts +201 -0
  238. package/dist/types/video/texture/cache.d.ts +45 -0
  239. package/dist/types/video/texture/canvas_texture.d.ts +78 -0
  240. package/dist/types/video/utils/autodetect.d.ts +7 -0
  241. package/dist/types/video/utils/resize.d.ts +4 -0
  242. package/dist/types/video/video.d.ts +92 -0
  243. package/dist/types/video/webgl/buffer/vertex.d.ts +56 -0
  244. package/dist/types/video/webgl/glshader.d.ts +93 -0
  245. package/dist/types/video/webgl/utils/attributes.d.ts +4 -0
  246. package/dist/types/video/webgl/utils/precision.d.ts +13 -0
  247. package/dist/types/video/webgl/utils/program.d.ts +5 -0
  248. package/dist/types/video/webgl/utils/string.d.ts +5 -0
  249. package/dist/types/video/webgl/utils/uniforms.d.ts +4 -0
  250. package/dist/types/video/webgl/webgl_compositor.d.ts +174 -0
  251. package/dist/types/video/webgl/webgl_renderer.d.ts +429 -0
  252. package/package.json +4 -4
  253. package/src/application/application.js +151 -7
  254. package/src/application/header.js +25 -0
  255. package/src/{video/utils → application}/resize.js +9 -6
  256. package/src/application/settings.js +19 -0
  257. package/src/camera/camera2d.js +1 -1
  258. package/src/index.js +34 -23
  259. package/src/input/pointer.js +1 -1
  260. package/src/input/pointerevent.js +1 -1
  261. package/src/level/level.js +1 -1
  262. package/src/level/tiled/TMXLayer.js +1 -1
  263. package/src/level/tiled/TMXTileMap.js +2 -2
  264. package/src/loader/loadingscreen.js +1 -1
  265. package/src/physics/collision.js +2 -2
  266. package/src/physics/detector.js +172 -145
  267. package/src/physics/world.js +10 -30
  268. package/src/renderable/container.js +7 -91
  269. package/src/renderable/imagelayer.js +1 -1
  270. package/src/renderable/trigger.js +1 -1
  271. package/src/renderable/ui/uibaseelement.js +1 -1
  272. package/src/state/stage.js +1 -1
  273. package/src/state/state.js +1 -1
  274. package/src/system/device.js +0 -20
  275. package/src/tweens/tween.js +1 -1
  276. package/src/video/canvas/canvas_renderer.js +3 -0
  277. package/src/video/renderer.js +7 -0
  278. package/src/video/texture/canvas_texture.js +2 -1
  279. package/src/video/utils/autodetect.js +18 -0
  280. package/src/video/video.js +13 -145
  281. package/src/video/webgl/glshader.js +3 -4
  282. package/src/video/webgl/utils/precision.js +18 -0
  283. package/src/video/webgl/webgl_renderer.js +3 -0
@@ -0,0 +1,327 @@
1
+ /**
2
+ * @classdesc
3
+ * a generic 2D Vector Object
4
+ */
5
+ export default class Vector2d {
6
+ /**
7
+ * @param {number} [x=0] - x value of the vector
8
+ * @param {number} [y=0] - y value of the vector
9
+ */
10
+ constructor(x?: number | undefined, y?: number | undefined);
11
+ /**
12
+ * @ignore
13
+ */
14
+ onResetEvent(x?: number, y?: number): Vector2d;
15
+ x: any;
16
+ y: any;
17
+ /**
18
+ * @ignore
19
+ */
20
+ _set(x: any, y: any): Vector2d;
21
+ /**
22
+ * set the Vector x and y properties to the given values<br>
23
+ * @name set
24
+ * @memberof Vector2d
25
+ * @param {number} x
26
+ * @param {number} y
27
+ * @returns {Vector2d} Reference to this object for method chaining
28
+ */
29
+ set(x: number, y: number): Vector2d;
30
+ /**
31
+ * set the Vector x and y properties to 0
32
+ * @name setZero
33
+ * @memberof Vector2d
34
+ * @returns {Vector2d} Reference to this object for method chaining
35
+ */
36
+ setZero(): Vector2d;
37
+ /**
38
+ * set the Vector x and y properties using the passed vector
39
+ * @name setV
40
+ * @memberof Vector2d
41
+ * @param {Vector2d} v
42
+ * @returns {Vector2d} Reference to this object for method chaining
43
+ */
44
+ setV(v: Vector2d): Vector2d;
45
+ /**
46
+ * Add the passed vector to this vector
47
+ * @name add
48
+ * @memberof Vector2d
49
+ * @param {Vector2d} v
50
+ * @returns {Vector2d} Reference to this object for method chaining
51
+ */
52
+ add(v: Vector2d): Vector2d;
53
+ /**
54
+ * Substract the passed vector to this vector
55
+ * @name sub
56
+ * @memberof Vector2d
57
+ * @param {Vector2d} v
58
+ * @returns {Vector2d} Reference to this object for method chaining
59
+ */
60
+ sub(v: Vector2d): Vector2d;
61
+ /**
62
+ * Multiply this vector values by the given scalar
63
+ * @name scale
64
+ * @memberof Vector2d
65
+ * @param {number} x
66
+ * @param {number} [y=x]
67
+ * @returns {Vector2d} Reference to this object for method chaining
68
+ */
69
+ scale(x: number, y?: number | undefined): Vector2d;
70
+ /**
71
+ * Convert this vector into isometric coordinate space
72
+ * @name toIso
73
+ * @memberof Vector2d
74
+ * @returns {Vector2d} Reference to this object for method chaining
75
+ */
76
+ toIso(): Vector2d;
77
+ /**
78
+ * Convert this vector into 2d coordinate space
79
+ * @name to2d
80
+ * @memberof Vector2d
81
+ * @returns {Vector2d} Reference to this object for method chaining
82
+ */
83
+ to2d(): Vector2d;
84
+ /**
85
+ * Multiply this vector values by the passed vector
86
+ * @name scaleV
87
+ * @memberof Vector2d
88
+ * @param {Vector2d} v
89
+ * @returns {Vector2d} Reference to this object for method chaining
90
+ */
91
+ scaleV(v: Vector2d): Vector2d;
92
+ /**
93
+ * Divide this vector values by the passed value
94
+ * @name div
95
+ * @memberof Vector2d
96
+ * @param {number} n - the value to divide the vector by
97
+ * @returns {Vector2d} Reference to this object for method chaining
98
+ */
99
+ div(n: number): Vector2d;
100
+ /**
101
+ * Update this vector values to absolute values
102
+ * @name abs
103
+ * @memberof Vector2d
104
+ * @returns {Vector2d} Reference to this object for method chaining
105
+ */
106
+ abs(): Vector2d;
107
+ /**
108
+ * Clamp the vector value within the specified value range
109
+ * @name clamp
110
+ * @memberof Vector2d
111
+ * @param {number} low
112
+ * @param {number} high
113
+ * @returns {Vector2d} new me.Vector2d
114
+ */
115
+ clamp(low: number, high: number): Vector2d;
116
+ /**
117
+ * Clamp this vector value within the specified value range
118
+ * @name clampSelf
119
+ * @memberof Vector2d
120
+ * @param {number} low
121
+ * @param {number} high
122
+ * @returns {Vector2d} Reference to this object for method chaining
123
+ */
124
+ clampSelf(low: number, high: number): Vector2d;
125
+ /**
126
+ * Update this vector with the minimum value between this and the passed vector
127
+ * @name minV
128
+ * @memberof Vector2d
129
+ * @param {Vector2d} v
130
+ * @returns {Vector2d} Reference to this object for method chaining
131
+ */
132
+ minV(v: Vector2d): Vector2d;
133
+ /**
134
+ * Update this vector with the maximum value between this and the passed vector
135
+ * @name maxV
136
+ * @memberof Vector2d
137
+ * @param {Vector2d} v
138
+ * @returns {Vector2d} Reference to this object for method chaining
139
+ */
140
+ maxV(v: Vector2d): Vector2d;
141
+ /**
142
+ * Floor the vector values
143
+ * @name floor
144
+ * @memberof Vector2d
145
+ * @returns {Vector2d} new me.Vector2d
146
+ */
147
+ floor(): Vector2d;
148
+ /**
149
+ * Floor this vector values
150
+ * @name floorSelf
151
+ * @memberof Vector2d
152
+ * @returns {Vector2d} Reference to this object for method chaining
153
+ */
154
+ floorSelf(): Vector2d;
155
+ /**
156
+ * Ceil the vector values
157
+ * @name ceil
158
+ * @memberof Vector2d
159
+ * @returns {Vector2d} new me.Vector2d
160
+ */
161
+ ceil(): Vector2d;
162
+ /**
163
+ * Ceil this vector values
164
+ * @name ceilSelf
165
+ * @memberof Vector2d
166
+ * @returns {Vector2d} Reference to this object for method chaining
167
+ */
168
+ ceilSelf(): Vector2d;
169
+ /**
170
+ * Negate the vector values
171
+ * @name negate
172
+ * @memberof Vector2d
173
+ * @returns {Vector2d} new me.Vector2d
174
+ */
175
+ negate(): Vector2d;
176
+ /**
177
+ * Negate this vector values
178
+ * @name negateSelf
179
+ * @memberof Vector2d
180
+ * @returns {Vector2d} Reference to this object for method chaining
181
+ */
182
+ negateSelf(): Vector2d;
183
+ /**
184
+ * Copy the x,y values of the passed vector to this one
185
+ * @name copy
186
+ * @memberof Vector2d
187
+ * @param {Vector2d} v
188
+ * @returns {Vector2d} Reference to this object for method chaining
189
+ */
190
+ copy(v: Vector2d): Vector2d;
191
+ /**
192
+ * return true if the two vectors are the same
193
+ * @name equals
194
+ * @memberof Vector2d
195
+ * @method
196
+ * @param {Vector2d} v
197
+ * @returns {boolean}
198
+ */
199
+ /**
200
+ * return true if this vector is equal to the given values
201
+ * @name equals
202
+ * @memberof Vector2d
203
+ * @param {number} x
204
+ * @param {number} y
205
+ * @returns {boolean}
206
+ */
207
+ equals(...args: any[]): boolean;
208
+ /**
209
+ * normalize this vector (scale the vector so that its magnitude is 1)
210
+ * @name normalize
211
+ * @memberof Vector2d
212
+ * @returns {Vector2d} Reference to this object for method chaining
213
+ */
214
+ normalize(): Vector2d;
215
+ /**
216
+ * change this vector to be perpendicular to what it was before.<br>
217
+ * (Effectively rotates it 90 degrees in a clockwise direction)
218
+ * @name perp
219
+ * @memberof Vector2d
220
+ * @returns {Vector2d} Reference to this object for method chaining
221
+ */
222
+ perp(): Vector2d;
223
+ /**
224
+ * Rotate this vector (counter-clockwise) by the specified angle (in radians).
225
+ * @name rotate
226
+ * @memberof Vector2d
227
+ * @param {number} angle - The angle to rotate (in radians)
228
+ * @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around
229
+ * @returns {Vector2d} Reference to this object for method chaining
230
+ */
231
+ rotate(angle: number, v?: Vector2d | ObservableVector2d): Vector2d;
232
+ /**
233
+ * return the dot product of this vector and the passed one
234
+ * @name dot
235
+ * @memberof Vector2d
236
+ * @param {Vector2d} v
237
+ * @returns {number} The dot product.
238
+ */
239
+ dot(v: Vector2d): number;
240
+ /**
241
+ * return the cross product of this vector and the passed one
242
+ * @name cross
243
+ * @memberof Vector2d
244
+ * @param {Vector2d} v
245
+ * @returns {number} The cross product.
246
+ */
247
+ cross(v: Vector2d): number;
248
+ /**
249
+ * return the square length of this vector
250
+ * @name length2
251
+ * @memberof Vector2d
252
+ * @returns {number} The length^2 of this vector.
253
+ */
254
+ length2(): number;
255
+ /**
256
+ * return the length (magnitude) of this vector
257
+ * @name length
258
+ * @memberof Vector2d
259
+ * @returns {number} the length of this vector
260
+ */
261
+ length(): number;
262
+ /**
263
+ * Linearly interpolate between this vector and the given one.
264
+ * @name lerp
265
+ * @memberof Vector2d
266
+ * @param {Vector2d} v
267
+ * @param {number} alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
268
+ * @returns {Vector2d} Reference to this object for method chaining
269
+ */
270
+ lerp(v: Vector2d, alpha: number): Vector2d;
271
+ /**
272
+ * interpolate the position of this vector towards the given one by the given maximum step.
273
+ * @name moveTowards
274
+ * @memberof Vector2d
275
+ * @param {Vector2d} target
276
+ * @param {number} step - the maximum step per iteration (Negative values will push the vector away from the target)
277
+ * @returns {Vector2d} Reference to this object for method chaining
278
+ */
279
+ moveTowards(target: Vector2d, step: number): Vector2d;
280
+ /**
281
+ * return the distance between this vector and the passed one
282
+ * @name distance
283
+ * @memberof Vector2d
284
+ * @param {Vector2d} v
285
+ * @returns {number}
286
+ */
287
+ distance(v: Vector2d): number;
288
+ /**
289
+ * return the angle between this vector and the passed one
290
+ * @name angle
291
+ * @memberof Vector2d
292
+ * @param {Vector2d} v
293
+ * @returns {number} angle in radians
294
+ */
295
+ angle(v: Vector2d): number;
296
+ /**
297
+ * project this vector on to another vector.
298
+ * @name project
299
+ * @memberof Vector2d
300
+ * @param {Vector2d} v - The vector to project onto.
301
+ * @returns {Vector2d} Reference to this object for method chaining
302
+ */
303
+ project(v: Vector2d): Vector2d;
304
+ /**
305
+ * Project this vector onto a vector of unit length.<br>
306
+ * This is slightly more efficient than `project` when dealing with unit vectors.
307
+ * @name projectN
308
+ * @memberof Vector2d
309
+ * @param {Vector2d} v - The unit vector to project onto.
310
+ * @returns {Vector2d} Reference to this object for method chaining
311
+ */
312
+ projectN(v: Vector2d): Vector2d;
313
+ /**
314
+ * return a clone copy of this vector
315
+ * @name clone
316
+ * @memberof Vector2d
317
+ * @returns {Vector2d} new me.Vector2d
318
+ */
319
+ clone(): Vector2d;
320
+ /**
321
+ * convert the object to a string representation
322
+ * @name toString
323
+ * @memberof Vector2d
324
+ * @returns {string}
325
+ */
326
+ toString(): string;
327
+ }
@@ -0,0 +1,332 @@
1
+ /**
2
+ * @classdesc
3
+ * a generic 3D Vector Object
4
+ */
5
+ export default class Vector3d {
6
+ /**
7
+ * @param {number} [x=0] - x value of the vector
8
+ * @param {number} [y=0] - y value of the vector
9
+ * @param {number} [z=0] - z value of the vector
10
+ */
11
+ constructor(x?: number | undefined, y?: number | undefined, z?: number | undefined);
12
+ /**
13
+ * @ignore
14
+ */
15
+ onResetEvent(x?: number, y?: number, z?: number): Vector3d;
16
+ x: any;
17
+ y: any;
18
+ z: any;
19
+ /**
20
+ * @ignore
21
+ */
22
+ _set(x: any, y: any, z?: number): Vector3d;
23
+ /**
24
+ * set the Vector x and y properties to the given values<br>
25
+ * @name set
26
+ * @memberof Vector3d
27
+ * @param {number} x
28
+ * @param {number} y
29
+ * @param {number} [z=0]
30
+ * @returns {Vector3d} Reference to this object for method chaining
31
+ */
32
+ set(x: number, y: number, z?: number | undefined): Vector3d;
33
+ /**
34
+ * set the Vector x and y properties to 0
35
+ * @name setZero
36
+ * @memberof Vector3d
37
+ * @returns {Vector3d} Reference to this object for method chaining
38
+ */
39
+ setZero(): Vector3d;
40
+ /**
41
+ * set the Vector x and y properties using the passed vector
42
+ * @name setV
43
+ * @memberof Vector3d
44
+ * @param {Vector2d|Vector3d} v
45
+ * @returns {Vector3d} Reference to this object for method chaining
46
+ */
47
+ setV(v: Vector2d | Vector3d): Vector3d;
48
+ /**
49
+ * Add the passed vector to this vector
50
+ * @name add
51
+ * @memberof Vector3d
52
+ * @param {Vector2d|Vector3d} v
53
+ * @returns {Vector3d} Reference to this object for method chaining
54
+ */
55
+ add(v: Vector2d | Vector3d): Vector3d;
56
+ /**
57
+ * Substract the passed vector to this vector
58
+ * @name sub
59
+ * @memberof Vector3d
60
+ * @param {Vector2d|Vector3d} v
61
+ * @returns {Vector3d} Reference to this object for method chaining
62
+ */
63
+ sub(v: Vector2d | Vector3d): Vector3d;
64
+ /**
65
+ * Multiply this vector values by the given scalar
66
+ * @name scale
67
+ * @memberof Vector3d
68
+ * @param {number} x
69
+ * @param {number} [y=x]
70
+ * @param {number} [z=1]
71
+ * @returns {Vector3d} Reference to this object for method chaining
72
+ */
73
+ scale(x: number, y?: number | undefined, z?: number | undefined): Vector3d;
74
+ /**
75
+ * Multiply this vector values by the passed vector
76
+ * @name scaleV
77
+ * @memberof Vector3d
78
+ * @param {Vector2d|Vector3d} v
79
+ * @returns {Vector3d} Reference to this object for method chaining
80
+ */
81
+ scaleV(v: Vector2d | Vector3d): Vector3d;
82
+ /**
83
+ * Convert this vector into isometric coordinate space
84
+ * @name toIso
85
+ * @memberof Vector3d
86
+ * @returns {Vector3d} Reference to this object for method chaining
87
+ */
88
+ toIso(): Vector3d;
89
+ /**
90
+ * Convert this vector into 2d coordinate space
91
+ * @name to2d
92
+ * @memberof Vector3d
93
+ * @returns {Vector3d} Reference to this object for method chaining
94
+ */
95
+ to2d(): Vector3d;
96
+ /**
97
+ * Divide this vector values by the passed value
98
+ * @name div
99
+ * @memberof Vector3d
100
+ * @param {number} n - the value to divide the vector by
101
+ * @returns {Vector3d} Reference to this object for method chaining
102
+ */
103
+ div(n: number): Vector3d;
104
+ /**
105
+ * Update this vector values to absolute values
106
+ * @name abs
107
+ * @memberof Vector3d
108
+ * @returns {Vector3d} Reference to this object for method chaining
109
+ */
110
+ abs(): Vector3d;
111
+ /**
112
+ * Clamp the vector value within the specified value range
113
+ * @name clamp
114
+ * @memberof Vector3d
115
+ * @param {number} low
116
+ * @param {number} high
117
+ * @returns {Vector3d} new me.Vector3d
118
+ */
119
+ clamp(low: number, high: number): Vector3d;
120
+ /**
121
+ * Clamp this vector value within the specified value range
122
+ * @name clampSelf
123
+ * @memberof Vector3d
124
+ * @param {number} low
125
+ * @param {number} high
126
+ * @returns {Vector3d} Reference to this object for method chaining
127
+ */
128
+ clampSelf(low: number, high: number): Vector3d;
129
+ /**
130
+ * Update this vector with the minimum value between this and the passed vector
131
+ * @name minV
132
+ * @memberof Vector3d
133
+ * @param {Vector2d|Vector3d} v
134
+ * @returns {Vector3d} Reference to this object for method chaining
135
+ */
136
+ minV(v: Vector2d | Vector3d): Vector3d;
137
+ /**
138
+ * Update this vector with the maximum value between this and the passed vector
139
+ * @name maxV
140
+ * @memberof Vector3d
141
+ * @param {Vector2d|Vector3d} v
142
+ * @returns {Vector3d} Reference to this object for method chaining
143
+ */
144
+ maxV(v: Vector2d | Vector3d): Vector3d;
145
+ /**
146
+ * Floor the vector values
147
+ * @name floor
148
+ * @memberof Vector3d
149
+ * @returns {Vector3d} new me.Vector3d
150
+ */
151
+ floor(): Vector3d;
152
+ /**
153
+ * Floor this vector values
154
+ * @name floorSelf
155
+ * @memberof Vector3d
156
+ * @returns {Vector3d} Reference to this object for method chaining
157
+ */
158
+ floorSelf(): Vector3d;
159
+ /**
160
+ * Ceil the vector values
161
+ * @name ceil
162
+ * @memberof Vector3d
163
+ * @returns {Vector3d} new me.Vector3d
164
+ */
165
+ ceil(): Vector3d;
166
+ /**
167
+ * Ceil this vector values
168
+ * @name ceilSelf
169
+ * @memberof Vector3d
170
+ * @returns {Vector3d} Reference to this object for method chaining
171
+ */
172
+ ceilSelf(): Vector3d;
173
+ /**
174
+ * Negate the vector values
175
+ * @name negate
176
+ * @memberof Vector3d
177
+ * @returns {Vector3d} new me.Vector3d
178
+ */
179
+ negate(): Vector3d;
180
+ /**
181
+ * Negate this vector values
182
+ * @name negateSelf
183
+ * @memberof Vector3d
184
+ * @returns {Vector3d} Reference to this object for method chaining
185
+ */
186
+ negateSelf(): Vector3d;
187
+ /**
188
+ * Copy the components of the given vector into this one
189
+ * @name copy
190
+ * @memberof Vector3d
191
+ * @param {Vector2d|Vector3d} v
192
+ * @returns {Vector3d} Reference to this object for method chaining
193
+ */
194
+ copy(v: Vector2d | Vector3d): Vector3d;
195
+ /**
196
+ * return true if the two vectors are the same
197
+ * @name equals
198
+ * @memberof Vector3d
199
+ * @method
200
+ * @param {Vector2d|Vector3d} v
201
+ * @returns {boolean}
202
+ */
203
+ /**
204
+ * return true if this vector is equal to the given values
205
+ * @name equals
206
+ * @memberof Vector3d
207
+ * @param {number} x
208
+ * @param {number} y
209
+ * @param {number} [z]
210
+ * @returns {boolean}
211
+ */
212
+ equals(...args: any[]): boolean;
213
+ /**
214
+ * normalize this vector (scale the vector so that its magnitude is 1)
215
+ * @name normalize
216
+ * @memberof Vector3d
217
+ * @returns {Vector3d} Reference to this object for method chaining
218
+ */
219
+ normalize(): Vector3d;
220
+ /**
221
+ * change this vector to be perpendicular to what it was before.<br>
222
+ * (Effectively rotates it 90 degrees in a clockwise direction around the z axis)
223
+ * @name perp
224
+ * @memberof Vector3d
225
+ * @returns {Vector3d} Reference to this object for method chaining
226
+ */
227
+ perp(): Vector3d;
228
+ /**
229
+ * Rotate this vector (counter-clockwise) by the specified angle (in radians) around the z axis
230
+ * @name rotate
231
+ * @memberof Vector3d
232
+ * @param {number} angle - The angle to rotate (in radians)
233
+ * @param {Vector2d|ObservableVector2d} [v] - an optional point to rotate around (on the same z axis)
234
+ * @returns {Vector3d} Reference to this object for method chaining
235
+ */
236
+ rotate(angle: number, v?: Vector2d | ObservableVector2d): Vector3d;
237
+ /**
238
+ * return the dot product of this vector and the passed one
239
+ * @name dot
240
+ * @memberof Vector3d
241
+ * @param {Vector2d|Vector3d} v
242
+ * @returns {number} The dot product.
243
+ */
244
+ dot(v: Vector2d | Vector3d): number;
245
+ /**
246
+ * calculate the cross product of this vector and the passed one
247
+ * @name cross
248
+ * @memberof Vector3d
249
+ * @param {Vector3d} v
250
+ * @returns {Vector3d} Reference to this object for method chaining
251
+ */
252
+ cross(v: Vector3d): Vector3d;
253
+ /**
254
+ * return the square length of this vector
255
+ * @name length2
256
+ * @memberof Vector3d
257
+ * @returns {number} The length^2 of this vector.
258
+ */
259
+ length2(): number;
260
+ /**
261
+ * return the length (magnitude) of this vector
262
+ * @name length
263
+ * @memberof Vector3d
264
+ * @returns {number} the length of this vector
265
+ */
266
+ length(): number;
267
+ /**
268
+ * Linearly interpolate between this vector and the given one.
269
+ * @name lerp
270
+ * @memberof Vector3d
271
+ * @param {Vector3d} v
272
+ * @param {number} alpha - distance along the line (alpha = 0 will be this vector, and alpha = 1 will be the given one).
273
+ * @returns {Vector3d} Reference to this object for method chaining
274
+ */
275
+ lerp(v: Vector3d, alpha: number): Vector3d;
276
+ /**
277
+ * interpolate the position of this vector on the x and y axis towards the given one by the given maximum step.
278
+ * @name moveTowards
279
+ * @memberof Vector3d
280
+ * @param {Vector2d|Vector3d} target
281
+ * @param {number} step - the maximum step per iteration (Negative values will push the vector away from the target)
282
+ * @returns {Vector3d} Reference to this object for method chaining
283
+ */
284
+ moveTowards(target: Vector2d | Vector3d, step: number): Vector3d;
285
+ /**
286
+ * return the distance between this vector and the passed one
287
+ * @name distance
288
+ * @memberof Vector3d
289
+ * @param {Vector2d|Vector3d} v
290
+ * @returns {number}
291
+ */
292
+ distance(v: Vector2d | Vector3d): number;
293
+ /**
294
+ * return the angle between this vector and the passed one
295
+ * @name angle
296
+ * @memberof Vector3d
297
+ * @param {Vector2d|Vector3d} v
298
+ * @returns {number} angle in radians
299
+ */
300
+ angle(v: Vector2d | Vector3d): number;
301
+ /**
302
+ * project this vector on to another vector.
303
+ * @name project
304
+ * @memberof Vector3d
305
+ * @param {Vector2d|Vector3d} v - The vector to project onto.
306
+ * @returns {Vector3d} Reference to this object for method chaining
307
+ */
308
+ project(v: Vector2d | Vector3d): Vector3d;
309
+ /**
310
+ * Project this vector onto a vector of unit length.<br>
311
+ * This is slightly more efficient than `project` when dealing with unit vectors.
312
+ * @name projectN
313
+ * @memberof Vector3d
314
+ * @param {Vector2d|Vector3d} v - The unit vector to project onto.
315
+ * @returns {Vector3d} Reference to this object for method chaining
316
+ */
317
+ projectN(v: Vector2d | Vector3d): Vector3d;
318
+ /**
319
+ * return a clone copy of this vector
320
+ * @name clone
321
+ * @memberof Vector3d
322
+ * @returns {Vector3d} new me.Vector3d
323
+ */
324
+ clone(): Vector3d;
325
+ /**
326
+ * convert the object to a string representation
327
+ * @name toString
328
+ * @memberof Vector3d
329
+ * @returns {string}
330
+ */
331
+ toString(): string;
332
+ }