x_ite 8.6.15 → 8.6.16

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 (165) hide show
  1. package/README.md +1 -0
  2. package/docs/_posts/getting-started.md +3 -2
  3. package/package.json +2 -2
  4. package/.gitmodules +0 -6
  5. package/docs/assets/lib/.editorconfig +0 -11
  6. package/docs/assets/lib/.gitignore +0 -4
  7. package/docs/assets/lib/LICENSE +0 -21
  8. package/docs/assets/lib/README.md +0 -50
  9. package/docs/assets/lib/bootstrap-4.6.1/bootstrap.bundle.min.js +0 -7
  10. package/docs/assets/lib/bootstrap-4.6.1/bootstrap.bundle.min.js.map +0 -1
  11. package/docs/assets/lib/bootstrap-4.6.1/bootstrap.min.css +0 -7
  12. package/docs/assets/lib/bootstrap-4.6.1/bootstrap.min.css.map +0 -1
  13. package/docs/assets/lib/bootstrap-toc-1.0.1/bootstrap-toc.min.css +0 -4
  14. package/docs/assets/lib/bootstrap-toc-1.0.1/bootstrap-toc.min.js +0 -5
  15. package/docs/assets/lib/clipboard-2.0.9/clipboard.min.js +0 -7
  16. package/docs/assets/lib/countup.js-1.9.3/countUp.min.js +0 -1
  17. package/docs/assets/lib/dayjs-1.10.7/dayjs.min.js +0 -1
  18. package/docs/assets/lib/dayjs-1.10.7/locale/en.min.js +0 -7
  19. package/docs/assets/lib/dayjs-1.10.7/plugin/localizedFormat.min.js +0 -5
  20. package/docs/assets/lib/dayjs-1.10.7/plugin/relativeTime.min.js +0 -5
  21. package/docs/assets/lib/fontawesome-free-6.2.1/LICENSE.txt +0 -165
  22. package/docs/assets/lib/fontawesome-free-6.2.1/css/all.min.css +0 -6
  23. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-brands-400.ttf +0 -0
  24. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-brands-400.woff2 +0 -0
  25. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-regular-400.ttf +0 -0
  26. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-regular-400.woff2 +0 -0
  27. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-solid-900.ttf +0 -0
  28. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-solid-900.woff2 +0 -0
  29. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-v4compatibility.ttf +0 -0
  30. package/docs/assets/lib/fontawesome-free-6.2.1/webfonts/fa-v4compatibility.woff2 +0 -0
  31. package/docs/assets/lib/fonts/Lato/Lato-Regular.ttf +0 -0
  32. package/docs/assets/lib/fonts/Lato/OFL.txt +0 -93
  33. package/docs/assets/lib/fonts/Source_Sans_Pro/OFL.txt +0 -93
  34. package/docs/assets/lib/fonts/Source_Sans_Pro/SourceSansPro-Black.ttf +0 -0
  35. package/docs/assets/lib/fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf +0 -0
  36. package/docs/assets/lib/fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf +0 -0
  37. package/docs/assets/lib/fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf +0 -0
  38. package/docs/assets/lib/fonts/main.css +0 -1
  39. package/docs/assets/lib/jquery-3.6.0/jquery.min.js +0 -2
  40. package/docs/assets/lib/lozad-1.16.0/lozad.min.js +0 -10
  41. package/docs/assets/lib/magnific-popup-1.1.0/jquery.magnific-popup.min.js +0 -4
  42. package/docs/assets/lib/magnific-popup-1.1.0/magnific-popup.css +0 -2
  43. package/docs/assets/lib/mathjax-3.2.0/a11y/assistive-mml.js +0 -1
  44. package/docs/assets/lib/mathjax-3.2.0/a11y/complexity.js +0 -1
  45. package/docs/assets/lib/mathjax-3.2.0/a11y/explorer.js +0 -1
  46. package/docs/assets/lib/mathjax-3.2.0/a11y/semantic-enrich.js +0 -1
  47. package/docs/assets/lib/mathjax-3.2.0/adaptors/liteDOM.js +0 -1
  48. package/docs/assets/lib/mathjax-3.2.0/core.js +0 -1
  49. package/docs/assets/lib/mathjax-3.2.0/input/asciimath.js +0 -1
  50. package/docs/assets/lib/mathjax-3.2.0/input/mml/entities.js +0 -1
  51. package/docs/assets/lib/mathjax-3.2.0/input/mml/extensions/mml3.js +0 -1
  52. package/docs/assets/lib/mathjax-3.2.0/input/mml/extensions/mml3.sef.json +0 -1
  53. package/docs/assets/lib/mathjax-3.2.0/input/mml.js +0 -1
  54. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/action.js +0 -1
  55. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/all-packages.js +0 -34
  56. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/ams.js +0 -1
  57. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/amscd.js +0 -1
  58. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/autoload.js +0 -1
  59. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/bbox.js +0 -1
  60. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/boldsymbol.js +0 -1
  61. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/braket.js +0 -1
  62. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/bussproofs.js +0 -1
  63. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/cancel.js +0 -1
  64. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/centernot.js +0 -1
  65. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/color.js +0 -1
  66. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/colortbl.js +0 -1
  67. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/colorv2.js +0 -1
  68. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/configmacros.js +0 -1
  69. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/enclose.js +0 -1
  70. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/extpfeil.js +0 -1
  71. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/gensymb.js +0 -1
  72. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/html.js +0 -1
  73. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/mathtools.js +0 -1
  74. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/mhchem.js +0 -34
  75. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/newcommand.js +0 -1
  76. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/noerrors.js +0 -1
  77. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/noundefined.js +0 -1
  78. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/physics.js +0 -1
  79. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/require.js +0 -1
  80. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/setoptions.js +0 -1
  81. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/tagformat.js +0 -1
  82. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/textcomp.js +0 -1
  83. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/textmacros.js +0 -1
  84. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/unicode.js +0 -1
  85. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/upgreek.js +0 -1
  86. package/docs/assets/lib/mathjax-3.2.0/input/tex/extensions/verb.js +0 -1
  87. package/docs/assets/lib/mathjax-3.2.0/input/tex-base.js +0 -1
  88. package/docs/assets/lib/mathjax-3.2.0/input/tex-full.js +0 -34
  89. package/docs/assets/lib/mathjax-3.2.0/input/tex.js +0 -1
  90. package/docs/assets/lib/mathjax-3.2.0/latest.js +0 -1
  91. package/docs/assets/lib/mathjax-3.2.0/loader.js +0 -1
  92. package/docs/assets/lib/mathjax-3.2.0/mml-chtml.js +0 -1
  93. package/docs/assets/lib/mathjax-3.2.0/mml-svg.js +0 -1
  94. package/docs/assets/lib/mathjax-3.2.0/node-main.js +0 -1
  95. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/tex.js +0 -1
  96. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
  97. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
  98. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
  99. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
  100. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
  101. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
  102. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
  103. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
  104. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
  105. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
  106. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
  107. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
  108. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
  109. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
  110. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
  111. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
  112. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
  113. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
  114. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
  115. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
  116. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
  117. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
  118. package/docs/assets/lib/mathjax-3.2.0/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
  119. package/docs/assets/lib/mathjax-3.2.0/output/chtml.js +0 -1
  120. package/docs/assets/lib/mathjax-3.2.0/output/svg/fonts/tex.js +0 -1
  121. package/docs/assets/lib/mathjax-3.2.0/output/svg.js +0 -1
  122. package/docs/assets/lib/mathjax-3.2.0/sre/mathmaps/de.js +0 -125
  123. package/docs/assets/lib/mathjax-3.2.0/sre/mathmaps/en.js +0 -131
  124. package/docs/assets/lib/mathjax-3.2.0/sre/mathmaps/es.js +0 -122
  125. package/docs/assets/lib/mathjax-3.2.0/sre/mathmaps/fr.js +0 -125
  126. package/docs/assets/lib/mathjax-3.2.0/sre/mathmaps/hi.js +0 -125
  127. package/docs/assets/lib/mathjax-3.2.0/sre/mathmaps/it.js +0 -125
  128. package/docs/assets/lib/mathjax-3.2.0/sre/mathmaps/nemeth.js +0 -113
  129. package/docs/assets/lib/mathjax-3.2.0/sre/sre-node.js +0 -11
  130. package/docs/assets/lib/mathjax-3.2.0/sre/sre_browser.js +0 -999
  131. package/docs/assets/lib/mathjax-3.2.0/startup.js +0 -1
  132. package/docs/assets/lib/mathjax-3.2.0/tex-chtml-full.js +0 -34
  133. package/docs/assets/lib/mathjax-3.2.0/tex-chtml.js +0 -1
  134. package/docs/assets/lib/mathjax-3.2.0/tex-mml-chtml.js +0 -1
  135. package/docs/assets/lib/mathjax-3.2.0/tex-mml-svg.js +0 -1
  136. package/docs/assets/lib/mathjax-3.2.0/tex-svg-full.js +0 -34
  137. package/docs/assets/lib/mathjax-3.2.0/tex-svg.js +0 -1
  138. package/docs/assets/lib/mathjax-3.2.0/ui/lazy.js +0 -1
  139. package/docs/assets/lib/mathjax-3.2.0/ui/menu.js +0 -1
  140. package/docs/assets/lib/mathjax-3.2.0/ui/safe.js +0 -1
  141. package/docs/assets/lib/mermaid-9.1.7/mermaid.min.js +0 -3
  142. package/docs/assets/lib/mermaid-9.1.7/mermaid.min.js.map +0 -1
  143. package/docs/assets/lib/polyfill-v3-es6/polyfill.min.js +0 -100
  144. package/docs/assets/lib/simple-jekyll-search-1.10.0/simple-jekyll-search.min.js +0 -6
  145. package/tests/.vscode/settings.json +0 -7
  146. package/tests/README.md +0 -2
  147. package/tests/package.json +0 -25
  148. package/tests/tests/X3D.js +0 -16
  149. package/tests/tests/X_ITE.test.js +0 -6
  150. package/tests/tests/standard/Math/Algorithm.test.js +0 -85
  151. package/tests/tests/standard/Math/Numbers/Color3.test.js +0 -162
  152. package/tests/tests/standard/Math/Numbers/Color4.test.js +0 -186
  153. package/tests/tests/standard/Math/Numbers/Complex.test.js +0 -199
  154. package/tests/tests/standard/Math/Numbers/Matrix2.test.js +0 -248
  155. package/tests/tests/standard/Math/Numbers/Matrix3.test.js +0 -585
  156. package/tests/tests/standard/Math/Numbers/Matrix4.test.js +0 -663
  157. package/tests/tests/standard/Math/Numbers/Rotation4.test.js +0 -197
  158. package/tests/tests/standard/Math/Numbers/Vector2.test.js +0 -259
  159. package/tests/tests/standard/Math/Numbers/Vector3.test.js +0 -291
  160. package/tests/tests/standard/Math/Numbers/Vector4.test.js +0 -309
  161. package/tests/tests/x_ite/Fields/SFDouble.test.js +0 -47
  162. package/tests/tests/x_ite/Fields/SFFloat.test.js +0 -47
  163. package/tests/tests/x_ite/Fields/SFInt32.test.js +0 -47
  164. package/tests/tests/x_ite/Fields/SFString.test.js +0 -47
  165. package/tests/tests/x_ite/Fields/SFTime.test.js +0 -47
@@ -1,291 +0,0 @@
1
- const
2
- X3D = require ("../../../X3D"),
3
- Vector3 = X3D .require ("standard/Math/Numbers/Vector3")
4
-
5
- test ("constructor", () =>
6
- {
7
- const v1 = new Vector3 (0, 0, 0)
8
-
9
- expect (v1) .toEqual ({ x:0, y:0, z:0 })
10
- expect (v1 [0]) .toBe (0)
11
- expect (v1 [1]) .toBe (0)
12
- expect (v1 [2]) .toBe (0)
13
- expect (v1 .x) .toBe (0)
14
- expect (v1 .y) .toBe (0)
15
- expect (v1 .z) .toBe (0)
16
- expect ([... v1]) .toEqual ([ 0, 0, 0 ])
17
- expect (v1 .length) .toBe (3)
18
-
19
- const v2 = new Vector3 (2, 3, 4)
20
-
21
- expect (v2) .toEqual ({ x:2, y:3, z:4 })
22
- expect (v2 [0]) .toBe (2)
23
- expect (v2 [1]) .toBe (3)
24
- expect (v2 [2]) .toBe (4)
25
- expect (v2 .x) .toBe (2)
26
- expect (v2 .y) .toBe (3)
27
- expect (v2 .z) .toBe (4)
28
- expect ([... v2]) .toEqual ([ 2, 3, 4 ])
29
- expect (v2 .length) .toBe (3)
30
- })
31
-
32
- test ("copy", () =>
33
- {
34
- const v1 = new Vector3 (2, 3, 4)
35
-
36
- expect (v1 .copy ()) .toEqual ({ x:2, y:3, z:4 })
37
- })
38
-
39
- test ("assign", () =>
40
- {
41
- const
42
- v1 = new Vector3 (0, 0, 0),
43
- v2 = new Vector3 (2, 3, 4)
44
-
45
- expect (v1 .assign (v2)) .toEqual ({ x:2, y:3, z:4 })
46
- })
47
-
48
- test ("set", () =>
49
- {
50
- const v1 = new Vector3 (0, 0, 0)
51
-
52
- expect (v1 .set (2, 3, 4)) .toEqual ({ x:2, y:3, z:4 })
53
- })
54
-
55
- test ("negate", () =>
56
- {
57
- const v1 = new Vector3 (2, 3, 4)
58
-
59
- v1 .negate ()
60
-
61
- expect (v1 [0]) .toBe (-2)
62
- expect (v1 [1]) .toBe (-3)
63
- expect (v1 [2]) .toBe (-4)
64
-
65
- const v2 = new Vector3 (-2, -3, -4)
66
-
67
- v2 .negate ()
68
-
69
- expect (v2 [0]) .toBe (2)
70
- expect (v2 [1]) .toBe (3)
71
- expect (v2 [2]) .toBe (4)
72
- })
73
-
74
- test ("inverse", () =>
75
- {
76
- const v1 = new Vector3 (2, 3, 4)
77
-
78
- v1 .inverse ()
79
-
80
- expect (v1 [0]) .toBeCloseTo (1 / 2)
81
- expect (v1 [1]) .toBeCloseTo (1 / 3)
82
- expect (v1 [2]) .toBeCloseTo (1 / 4)
83
- })
84
-
85
- test ("add", () =>
86
- {
87
- const
88
- v1 = new Vector3 (2, 3, 4),
89
- v2 = new Vector3 (6, 7, 8)
90
-
91
- v1 .add (v2)
92
-
93
- expect (v1 [0]) .toBe (2 + 6)
94
- expect (v1 [1]) .toBe (3 + 7)
95
- expect (v1 [2]) .toBe (4 + 8)
96
- })
97
-
98
- test ("subtract", () =>
99
- {
100
- const
101
- v1 = new Vector3 (2, 3, 4),
102
- v2 = new Vector3 (6, 7, 8)
103
-
104
- v1 .subtract (v2)
105
-
106
- expect (v1 [0]) .toBe (2 - 6)
107
- expect (v1 [1]) .toBe (3 - 7)
108
- expect (v1 [2]) .toBe (4 - 8)
109
- })
110
-
111
- test ("multiply", () =>
112
- {
113
- const v1 = new Vector3 (2, 3, 4)
114
-
115
- v1 .multiply (6)
116
-
117
- expect (v1 [0]) .toBe (2 * 6)
118
- expect (v1 [1]) .toBe (3 * 6)
119
- expect (v1 [2]) .toBe (4 * 6)
120
- })
121
-
122
- test ("multVec", () =>
123
- {
124
- const
125
- v1 = new Vector3 (2, 3, 4),
126
- v2 = new Vector3 (6, 7, 8)
127
-
128
- v1 .multVec (v2)
129
-
130
- expect (v1 [0]) .toBe (2 * 6)
131
- expect (v1 [1]) .toBe (3 * 7)
132
- expect (v1 [2]) .toBe (4 * 8)
133
- })
134
-
135
- test ("divide", () =>
136
- {
137
- const v1 = new Vector3 (2, 3, 4)
138
-
139
- v1 .divide (6)
140
-
141
- expect (v1 [0]) .toBeCloseTo (2 / 6)
142
- expect (v1 [1]) .toBeCloseTo (3 / 6)
143
- expect (v1 [2]) .toBeCloseTo (4 / 6)
144
- })
145
-
146
- test ("divVec", () =>
147
- {
148
- const
149
- v1 = new Vector3 (2, 3, 4),
150
- v2 = new Vector3 (6, 7, 8)
151
-
152
- v1 .divVec (v2)
153
-
154
- expect (v1 [0]) .toBeCloseTo (2 / 6)
155
- expect (v1 [1]) .toBeCloseTo (3 / 7)
156
- expect (v1 [2]) .toBeCloseTo (4 / 8)
157
- })
158
-
159
- test ("cross", () =>
160
- {
161
- const
162
- v1 = new Vector3 (2, 3, 4),
163
- v2 = new Vector3 (6, 7, 8)
164
-
165
- v1 .cross (v2)
166
-
167
- expect (v1 [0]) .toBe (-4)
168
- expect (v1 [1]) .toBe (8)
169
- expect (v1 [2]) .toBe (-4)
170
- })
171
-
172
- test ("normalize", () =>
173
- {
174
- const
175
- v1 = new Vector3 (2, 3, 4),
176
- l = Math .hypot (2, 3, 4)
177
-
178
- v1 .normalize ()
179
-
180
- expect (v1 [0]) .toBeCloseTo (2 / l)
181
- expect (v1 [1]) .toBeCloseTo (3 / l)
182
- expect (v1 [2]) .toBeCloseTo (4 / l)
183
- })
184
-
185
- test ("dot", () =>
186
- {
187
- const
188
- v1 = new Vector3 (2, 3, 4),
189
- v2 = new Vector3 (6, 7, 8)
190
-
191
- expect (v1 .dot (v2)) .toBe (2 * 6 + 3 * 7 + 4 * 8)
192
- })
193
-
194
- test ("norm", () =>
195
- {
196
- const v1 = new Vector3 (2, 3, 4)
197
-
198
- expect (v1 .norm ()) .toBe (2 * 2 + 3 * 3 + 4 * 4)
199
- })
200
-
201
- test ("magnitude", () =>
202
- {
203
- const v1 = new Vector3 (2, 3, 4)
204
-
205
- expect (v1 .magnitude ()) .toBeCloseTo (Math .hypot (2, 3, 4))
206
- })
207
-
208
- test ("distance", () =>
209
- {
210
- const
211
- v1 = new Vector3 (2, 3, 4),
212
- v2 = new Vector3 (6, 7, 8)
213
-
214
- expect (v1 .distance (v2)) .toBeCloseTo (Math .hypot (2 - 6, 3 - 7, 4 - 8))
215
- })
216
-
217
- test ("lerp", () =>
218
- {
219
- const
220
- v1 = new Vector3 (2, 3, 4),
221
- v2 = new Vector3 (6, 7, 8)
222
-
223
- v1 .lerp (v2, 0.5)
224
-
225
- expect (v1 [0]) .toBeCloseTo ((2 + 6) / 2)
226
- expect (v1 [1]) .toBeCloseTo ((3 + 7) / 2)
227
- expect (v1 [2]) .toBeCloseTo ((4 + 8) / 2)
228
- })
229
-
230
- test ("abs", () =>
231
- {
232
- const v1 = new Vector3 (2, 3, 4)
233
-
234
- v1 .abs ()
235
-
236
- expect (v1 [0]) .toBe (2)
237
- expect (v1 [1]) .toBe (3)
238
- expect (v1 [2]) .toBe (4)
239
-
240
- const v2 = new Vector3 (-2, -3, -4)
241
-
242
- v2 .abs ()
243
-
244
- expect (v2 [0]) .toBe (2)
245
- expect (v2 [1]) .toBe (3)
246
- expect (v2 [2]) .toBe (4)
247
- })
248
-
249
- test ("min", () =>
250
- {
251
- const
252
- v1 = new Vector3 (2, 3, 4),
253
- v2 = new Vector3 (6, 7, 8)
254
-
255
- v1 .min (v2)
256
-
257
- expect (v1 [0]) .toBe (2)
258
- expect (v1 [1]) .toBe (3)
259
- expect (v1 [2]) .toBe (4)
260
- })
261
-
262
- test ("max", () =>
263
- {
264
- const
265
- v1 = new Vector3 (2, 3, 4),
266
- v2 = new Vector3 (6, 7, 8)
267
-
268
- v1 .max (v2)
269
-
270
- expect (v1 [0]) .toBe (6)
271
- expect (v1 [1]) .toBe (7)
272
- expect (v1 [2]) .toBe (8)
273
- })
274
-
275
- test ("equals", () =>
276
- {
277
- const
278
- a = new Vector3 (2,3,4),
279
- b = new Vector3 (2,3,4)
280
-
281
- expect (a .equals (b)) .toBe (true)
282
-
283
- for (let i = 0; i < a .length; ++ i)
284
- {
285
- const c = a .copy ()
286
-
287
- c [i] = 0
288
-
289
- expect (a .equals (c)) .toBe (false)
290
- }
291
- })
@@ -1,309 +0,0 @@
1
- const
2
- X3D = require ("../../../X3D"),
3
- Vector3 = X3D .require ("standard/Math/Numbers/Vector3"),
4
- Vector4 = X3D .require ("standard/Math/Numbers/Vector4")
5
-
6
- test ("constructor", () =>
7
- {
8
- const v1 = new Vector4 (0, 0, 0, 0)
9
-
10
- expect (v1) .toEqual ({ x:0, y:0, z:0, w:0 })
11
- expect (v1 [0]) .toBe (0)
12
- expect (v1 [1]) .toBe (0)
13
- expect (v1 [2]) .toBe (0)
14
- expect (v1 [3]) .toBe (0)
15
- expect (v1 .x) .toBe (0)
16
- expect (v1 .y) .toBe (0)
17
- expect (v1 .z) .toBe (0)
18
- expect (v1 .w) .toBe (0)
19
- expect ([... v1]) .toEqual ([ 0, 0, 0, 0 ])
20
- expect (v1 .length) .toBe (4)
21
-
22
- const v2 = new Vector4 (2, 3, 4, 5)
23
-
24
- expect (v2) .toEqual ({ x:2, y:3, z:4, w:5 })
25
- expect (v2 [0]) .toBe (2)
26
- expect (v2 [1]) .toBe (3)
27
- expect (v2 [2]) .toBe (4)
28
- expect (v2 [3]) .toBe (5)
29
- expect (v2 .x) .toBe (2)
30
- expect (v2 .y) .toBe (3)
31
- expect (v2 .z) .toBe (4)
32
- expect (v2 .w) .toBe (5)
33
- expect ([... v2]) .toEqual ([ 2, 3, 4, 5 ])
34
- expect (v2 .length) .toBe (4)
35
- })
36
-
37
- test ("copy", () =>
38
- {
39
- const v1 = new Vector4 (2, 3, 4, 5)
40
-
41
- expect (v1 .copy ()) .toEqual ({ x:2, y:3, z:4, w:5 })
42
- })
43
-
44
- test ("assign", () =>
45
- {
46
- const
47
- v1 = new Vector4 (0, 0, 0, 0),
48
- v2 = new Vector4 (2, 3, 4, 5)
49
-
50
- expect (v1 .assign (v2)) .toEqual ({ x:2, y:3, z:4, w:5 })
51
- })
52
-
53
- test ("set", () =>
54
- {
55
- const v1 = new Vector4 (0, 0, 0, 0)
56
-
57
- expect (v1 .set (2, 3, 4, 5)) .toEqual ({ x:2, y:3, z:4, w:5 })
58
- })
59
-
60
- test ("getReal", () =>
61
- {
62
- const
63
- v1 = new Vector4 (2, 3, 4, 5),
64
- v2 = v1 .getReal (new Vector3 (0, 0, 0))
65
-
66
- expect (v2 [0]) .toBeCloseTo (2 / 5)
67
- expect (v2 [1]) .toBeCloseTo (3 / 5)
68
- expect (v2 [2]) .toBeCloseTo (4 / 5)
69
- })
70
-
71
- test ("negate", () =>
72
- {
73
- const v1 = new Vector4 (2, 3, 4, 5)
74
-
75
- v1 .negate ()
76
-
77
- expect (v1 [0]) .toBe (-2)
78
- expect (v1 [1]) .toBe (-3)
79
- expect (v1 [2]) .toBe (-4)
80
- expect (v1 [3]) .toBe (-5)
81
-
82
- const v2 = new Vector4 (-2, -3, -4, -5)
83
-
84
- v2 .negate ()
85
-
86
- expect (v2 [0]) .toBe (2)
87
- expect (v2 [1]) .toBe (3)
88
- expect (v2 [2]) .toBe (4)
89
- expect (v2 [3]) .toBe (5)
90
- })
91
-
92
- test ("inverse", () =>
93
- {
94
- const v1 = new Vector4 (2, 3, 4, 5)
95
-
96
- v1 .inverse ()
97
-
98
- expect (v1 [0]) .toBeCloseTo (1 / 2)
99
- expect (v1 [1]) .toBeCloseTo (1 / 3)
100
- expect (v1 [2]) .toBeCloseTo (1 / 4)
101
- expect (v1 [3]) .toBeCloseTo (1 / 5)
102
- })
103
-
104
- test ("add", () =>
105
- {
106
- const
107
- v1 = new Vector4 (2, 3, 4, 5),
108
- v2 = new Vector4 (6, 7, 8, 9)
109
-
110
- v1 .add (v2)
111
-
112
- expect (v1 [0]) .toBe (2 + 6)
113
- expect (v1 [1]) .toBe (3 + 7)
114
- expect (v1 [2]) .toBe (4 + 8)
115
- expect (v1 [3]) .toBe (5 + 9)
116
- })
117
-
118
- test ("subtract", () =>
119
- {
120
- const
121
- v1 = new Vector4 (2, 3, 4, 5),
122
- v2 = new Vector4 (6, 7, 8, 9)
123
-
124
- v1 .subtract (v2)
125
-
126
- expect (v1 [0]) .toBe (2 - 6)
127
- expect (v1 [1]) .toBe (3 - 7)
128
- expect (v1 [2]) .toBe (4 - 8)
129
- expect (v1 [3]) .toBe (5 - 9)
130
- })
131
-
132
- test ("multiply", () =>
133
- {
134
- const v1 = new Vector4 (2, 3, 4, 5)
135
-
136
- v1 .multiply (6)
137
-
138
- expect (v1 [0]) .toBe (2 * 6)
139
- expect (v1 [1]) .toBe (3 * 6)
140
- expect (v1 [2]) .toBe (4 * 6)
141
- expect (v1 [3]) .toBe (5 * 6)
142
- })
143
-
144
- test ("multVec", () =>
145
- {
146
- const
147
- v1 = new Vector4 (2, 3, 4, 5),
148
- v2 = new Vector4 (6, 7, 8, 9)
149
-
150
- v1 .multVec (v2)
151
-
152
- expect (v1 [0]) .toBe (2 * 6)
153
- expect (v1 [1]) .toBe (3 * 7)
154
- expect (v1 [2]) .toBe (4 * 8)
155
- expect (v1 [3]) .toBe (5 * 9)
156
- })
157
-
158
- test ("divide", () =>
159
- {
160
- const v1 = new Vector4 (2, 3, 4, 5)
161
-
162
- v1 .divide (6)
163
-
164
- expect (v1 [0]) .toBeCloseTo (2 / 6)
165
- expect (v1 [1]) .toBeCloseTo (3 / 6)
166
- expect (v1 [2]) .toBeCloseTo (4 / 6)
167
- expect (v1 [3]) .toBeCloseTo (5 / 6)
168
- })
169
-
170
- test ("divVec", () =>
171
- {
172
- const
173
- v1 = new Vector4 (2, 3, 4, 5),
174
- v2 = new Vector4 (6, 7, 8, 9)
175
-
176
- v1 .divVec (v2)
177
-
178
- expect (v1 [0]) .toBeCloseTo (2 / 6)
179
- expect (v1 [1]) .toBeCloseTo (3 / 7)
180
- expect (v1 [2]) .toBeCloseTo (4 / 8)
181
- expect (v1 [3]) .toBeCloseTo (5 / 9)
182
- })
183
-
184
- test ("normalize", () =>
185
- {
186
- const
187
- v1 = new Vector4 (2, 3, 4, 5),
188
- l = Math .hypot (2, 3, 4, 5)
189
-
190
- v1 .normalize ()
191
-
192
- expect (v1 [0]) .toBeCloseTo (2 / l)
193
- expect (v1 [1]) .toBeCloseTo (3 / l)
194
- expect (v1 [2]) .toBeCloseTo (4 / l)
195
- expect (v1 [3]) .toBeCloseTo (5 / l)
196
- })
197
-
198
- test ("dot", () =>
199
- {
200
- const
201
- v1 = new Vector4 (2, 3, 4, 5),
202
- v2 = new Vector4 (6, 7, 8, 9)
203
-
204
- expect (v1 .dot (v2)) .toBe (2 * 6 + 3 * 7 + 4 * 8 + 5 * 9)
205
- })
206
-
207
- test ("norm", () =>
208
- {
209
- const v1 = new Vector4 (2, 3, 4, 5)
210
-
211
- expect (v1 .norm ()) .toBe (2 * 2 + 3 * 3 + 4 * 4 + 5 * 5)
212
- })
213
-
214
- test ("magnitude", () =>
215
- {
216
- const v1 = new Vector4 (2, 3, 4, 5)
217
-
218
- expect (v1 .magnitude ()) .toBeCloseTo (Math .hypot (2, 3, 4, 5))
219
- })
220
-
221
- test ("distance", () =>
222
- {
223
- const
224
- v1 = new Vector4 (2, 3, 4, 5),
225
- v2 = new Vector4 (6, 7, 8, 9)
226
-
227
- expect (v1 .distance (v2)) .toBeCloseTo (Math .hypot (2 - 6, 3 - 7, 4 - 8, 5 - 9))
228
- })
229
-
230
- test ("lerp", () =>
231
- {
232
- const
233
- v1 = new Vector4 (2, 3, 4, 5),
234
- v2 = new Vector4 (6, 7, 8, 9)
235
-
236
- v1 .lerp (v2, 0.5)
237
-
238
- expect (v1 [0]) .toBeCloseTo ((2 + 6) / 2)
239
- expect (v1 [1]) .toBeCloseTo ((3 + 7) / 2)
240
- expect (v1 [2]) .toBeCloseTo ((4 + 8) / 2)
241
- expect (v1 [3]) .toBeCloseTo ((5 + 9) / 2)
242
- })
243
-
244
- test ("abs", () =>
245
- {
246
- const v1 = new Vector4 (2, 3, 4, 5)
247
-
248
- v1 .abs ()
249
-
250
- expect (v1 [0]) .toBe (2)
251
- expect (v1 [1]) .toBe (3)
252
- expect (v1 [2]) .toBe (4)
253
- expect (v1 [3]) .toBe (5)
254
-
255
- const v2 = new Vector4 (-2, -3, -4, -5)
256
-
257
- v2 .abs ()
258
-
259
- expect (v2 [0]) .toBe (2)
260
- expect (v2 [1]) .toBe (3)
261
- expect (v2 [2]) .toBe (4)
262
- expect (v2 [3]) .toBe (5)
263
- })
264
-
265
- test ("min", () =>
266
- {
267
- const
268
- v1 = new Vector4 (2, 3, 4, 5),
269
- v2 = new Vector4 (6, 7, 8, 9)
270
-
271
- v1 .min (v2)
272
-
273
- expect (v1 [0]) .toBe (2)
274
- expect (v1 [1]) .toBe (3)
275
- expect (v1 [2]) .toBe (4)
276
- expect (v1 [3]) .toBe (5)
277
- })
278
-
279
- test ("max", () =>
280
- {
281
- const
282
- v1 = new Vector4 (2, 3, 4, 5),
283
- v2 = new Vector4 (6, 7, 8, 9)
284
-
285
- v1 .max (v2)
286
-
287
- expect (v1 [0]) .toBe (6)
288
- expect (v1 [1]) .toBe (7)
289
- expect (v1 [2]) .toBe (8)
290
- expect (v1 [3]) .toBe (9)
291
- })
292
-
293
- test ("equals", () =>
294
- {
295
- const
296
- a = new Vector4 (2,3,4,5),
297
- b = new Vector4 (2,3,4,5)
298
-
299
- expect (a .equals (b)) .toBe (true)
300
-
301
- for (let i = 0; i < a .length; ++ i)
302
- {
303
- const c = a .copy ()
304
-
305
- c [i] = 0
306
-
307
- expect (a .equals (c)) .toBe (false)
308
- }
309
- })
@@ -1,47 +0,0 @@
1
- const
2
- X3D = require ("../../X3D"),
3
- SFDouble = X3D .require ("x_ite/Fields/SFDouble")
4
-
5
- test ("constructor", () =>
6
- {
7
- expect (new SFDouble () .valueOf ()) .toBe (0)
8
- expect (new SFDouble (NaN) .valueOf ()) .toBe (NaN)
9
- expect (new SFDouble (Infinity) .valueOf ()) .toBe (Infinity)
10
- expect (new SFDouble (-Infinity) .valueOf ()) .toBe (-Infinity)
11
- expect (new SFDouble (undefined) .valueOf ()) .toBe (NaN)
12
- expect (new SFDouble (null) .valueOf ()) .toBe (0)
13
- expect (new SFDouble ({}) .valueOf ()) .toBe (NaN)
14
- expect (new SFDouble ("") .valueOf ()) .toBe (0)
15
- expect (new SFDouble ("123") .valueOf ()) .toBe (123)
16
- expect (new SFDouble ("123.456") .valueOf ()) .toBe (123.456)
17
- expect (new SFDouble (false) .valueOf ()) .toBe (0)
18
- expect (new SFDouble (true) .valueOf ()) .toBe (1)
19
- expect (new SFDouble (123.456) .valueOf ()) .toBe (123.456)
20
- expect (new SFDouble (123_456_789_012) .valueOf ()) .toBe (123_456_789_012)
21
- expect (new SFDouble (0xffffffff) .valueOf ()) .toBe (0xffffffff)
22
- expect (new SFDouble (666) .valueOf ()) .toBe (666)
23
- expect (new SFDouble (-666) .valueOf ()) .toBe (-666)
24
- })
25
-
26
- test ("setValue", () =>
27
- {
28
- const field = new SFDouble ();
29
-
30
- expect ((field .setValue (), field .valueOf ())) .toBe (NaN)
31
- expect ((field .setValue (NaN), field .valueOf ())) .toBe (NaN)
32
- expect ((field .setValue (Infinity), field .valueOf ())) .toBe (Infinity)
33
- expect ((field .setValue (-Infinity), field .valueOf ())) .toBe (-Infinity)
34
- expect ((field .setValue (undefined), field .valueOf ())) .toBe (NaN)
35
- expect ((field .setValue (null), field .valueOf ())) .toBe (0)
36
- expect ((field .setValue ({}), field .valueOf ())) .toBe (NaN)
37
- expect ((field .setValue (""), field .valueOf ())) .toBe (0)
38
- expect ((field .setValue ("123"), field .valueOf ())) .toBe (123)
39
- expect ((field .setValue ("123.456"), field .valueOf ())) .toBe (123.456)
40
- expect ((field .setValue (false), field .valueOf ())) .toBe (0)
41
- expect ((field .setValue (true), field .valueOf ())) .toBe (1)
42
- expect ((field .setValue (123.456), field .valueOf ())) .toBe (123.456)
43
- expect ((field .setValue (123_456_789_012), field .valueOf ())) .toBe (123_456_789_012)
44
- expect ((field .setValue (0xffffffff), field .valueOf ())) .toBe (4294967295)
45
- expect ((field .setValue (666), field .valueOf ())) .toBe (666)
46
- expect ((field .setValue (-666), field .valueOf ())) .toBe (-666)
47
- })
@@ -1,47 +0,0 @@
1
- const
2
- X3D = require ("../../X3D"),
3
- SFFloat = X3D .require ("x_ite/Fields/SFFloat")
4
-
5
- test ("constructor", () =>
6
- {
7
- expect (new SFFloat () .valueOf ()) .toBe (0)
8
- expect (new SFFloat (NaN) .valueOf ()) .toBe (NaN)
9
- expect (new SFFloat (Infinity) .valueOf ()) .toBe (Infinity)
10
- expect (new SFFloat (-Infinity) .valueOf ()) .toBe (-Infinity)
11
- expect (new SFFloat (undefined) .valueOf ()) .toBe (NaN)
12
- expect (new SFFloat (null) .valueOf ()) .toBe (0)
13
- expect (new SFFloat ({}) .valueOf ()) .toBe (NaN)
14
- expect (new SFFloat ("") .valueOf ()) .toBe (0)
15
- expect (new SFFloat ("123") .valueOf ()) .toBe (123)
16
- expect (new SFFloat ("123.456") .valueOf ()) .toBe (123.456)
17
- expect (new SFFloat (false) .valueOf ()) .toBe (0)
18
- expect (new SFFloat (true) .valueOf ()) .toBe (1)
19
- expect (new SFFloat (123.456) .valueOf ()) .toBe (123.456)
20
- expect (new SFFloat (123_456_789_012) .valueOf ()) .toBe (123_456_789_012)
21
- expect (new SFFloat (0xffffffff) .valueOf ()) .toBe (0xffffffff)
22
- expect (new SFFloat (666) .valueOf ()) .toBe (666)
23
- expect (new SFFloat (-666) .valueOf ()) .toBe (-666)
24
- })
25
-
26
- test ("setValue", () =>
27
- {
28
- const field = new SFFloat ();
29
-
30
- expect ((field .setValue (), field .valueOf ())) .toBe (NaN)
31
- expect ((field .setValue (NaN), field .valueOf ())) .toBe (NaN)
32
- expect ((field .setValue (Infinity), field .valueOf ())) .toBe (Infinity)
33
- expect ((field .setValue (-Infinity), field .valueOf ())) .toBe (-Infinity)
34
- expect ((field .setValue (undefined), field .valueOf ())) .toBe (NaN)
35
- expect ((field .setValue (null), field .valueOf ())) .toBe (0)
36
- expect ((field .setValue ({}), field .valueOf ())) .toBe (NaN)
37
- expect ((field .setValue (""), field .valueOf ())) .toBe (0)
38
- expect ((field .setValue ("123"), field .valueOf ())) .toBe (123)
39
- expect ((field .setValue ("123.456"), field .valueOf ())) .toBe (123.456)
40
- expect ((field .setValue (false), field .valueOf ())) .toBe (0)
41
- expect ((field .setValue (true), field .valueOf ())) .toBe (1)
42
- expect ((field .setValue (123.456), field .valueOf ())) .toBe (123.456)
43
- expect ((field .setValue (123_456_789_012), field .valueOf ())) .toBe (123_456_789_012)
44
- expect ((field .setValue (0xffffffff), field .valueOf ())) .toBe (4294967295)
45
- expect ((field .setValue (666), field .valueOf ())) .toBe (666)
46
- expect ((field .setValue (-666), field .valueOf ())) .toBe (-666)
47
- })