@vived/core 1.2.2 → 1.2.3

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 (570) hide show
  1. package/dist/cjs/AppObject/AppObject.js +59 -0
  2. package/dist/cjs/AppObject/AppObject.js.map +1 -0
  3. package/dist/cjs/AppObject/AppObject.test.js +113 -0
  4. package/dist/cjs/AppObject/AppObject.test.js.map +1 -0
  5. package/dist/cjs/AppObject/AppObjectComponent.js +82 -0
  6. package/dist/cjs/AppObject/AppObjectComponent.js.map +1 -0
  7. package/dist/cjs/AppObject/AppObjectComponent.test.js +132 -0
  8. package/dist/cjs/AppObject/AppObjectComponent.test.js.map +1 -0
  9. package/dist/cjs/AppObject/AppObjectController.js +12 -0
  10. package/dist/cjs/AppObject/AppObjectController.js.map +1 -0
  11. package/dist/cjs/AppObject/AppObjectEntity.js +38 -0
  12. package/dist/cjs/AppObject/AppObjectEntity.js.map +1 -0
  13. package/dist/cjs/AppObject/AppObjectEntity.test.js +108 -0
  14. package/dist/cjs/AppObject/AppObjectEntity.test.js.map +1 -0
  15. package/dist/cjs/AppObject/AppObjectEntityRepo.js +56 -0
  16. package/dist/cjs/AppObject/AppObjectEntityRepo.js.map +1 -0
  17. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js +149 -0
  18. package/dist/cjs/AppObject/AppObjectEntityRepo.test.js.map +1 -0
  19. package/dist/cjs/AppObject/AppObjectPM.js +40 -0
  20. package/dist/cjs/AppObject/AppObjectPM.js.map +1 -0
  21. package/dist/cjs/AppObject/AppObjectPM.test.js +103 -0
  22. package/dist/cjs/AppObject/AppObjectPM.test.js.map +1 -0
  23. package/dist/cjs/AppObject/AppObjectRepo.js +133 -0
  24. package/dist/cjs/AppObject/AppObjectRepo.js.map +1 -0
  25. package/dist/cjs/AppObject/AppObjectRepo.test.js +213 -0
  26. package/dist/cjs/AppObject/AppObjectRepo.test.js.map +1 -0
  27. package/dist/cjs/AppObject/AppObjectUC.js +12 -0
  28. package/dist/cjs/AppObject/AppObjectUC.js.map +1 -0
  29. package/dist/cjs/AppObject/AppObjectView.js +12 -0
  30. package/dist/cjs/AppObject/AppObjectView.js.map +1 -0
  31. package/dist/cjs/AppObject/getSingletonComponent.js +7 -0
  32. package/dist/cjs/AppObject/getSingletonComponent.js.map +1 -0
  33. package/dist/cjs/AppObject/getSingletonComponent.test.js +13 -0
  34. package/dist/cjs/AppObject/getSingletonComponent.test.js.map +1 -0
  35. package/dist/cjs/AppObject/index.js +27 -0
  36. package/dist/cjs/AppObject/index.js.map +1 -0
  37. package/dist/cjs/AppObject/printAppObjectDetails.js +18 -0
  38. package/dist/cjs/AppObject/printAppObjectDetails.js.map +1 -0
  39. package/dist/cjs/Entities/MemoizedAngle.js +23 -0
  40. package/dist/cjs/Entities/MemoizedAngle.js.map +1 -0
  41. package/dist/cjs/Entities/MemoizedAngle.test.js +30 -0
  42. package/dist/cjs/Entities/MemoizedAngle.test.js.map +1 -0
  43. package/dist/cjs/Entities/MemoizedBoolean.js +23 -0
  44. package/dist/cjs/Entities/MemoizedBoolean.js.map +1 -0
  45. package/dist/cjs/Entities/MemoizedBoolean.test.js +34 -0
  46. package/dist/cjs/Entities/MemoizedBoolean.test.js.map +1 -0
  47. package/dist/cjs/Entities/MemoizedColor.js +24 -0
  48. package/dist/cjs/Entities/MemoizedColor.js.map +1 -0
  49. package/dist/cjs/Entities/MemoizedColor.test.js +32 -0
  50. package/dist/cjs/Entities/MemoizedColor.test.js.map +1 -0
  51. package/dist/cjs/Entities/MemoizedNumber.js +23 -0
  52. package/dist/cjs/Entities/MemoizedNumber.js.map +1 -0
  53. package/dist/cjs/Entities/MemoizedNumber.test.js +29 -0
  54. package/dist/cjs/Entities/MemoizedNumber.test.js.map +1 -0
  55. package/dist/cjs/Entities/MemoizedQuaternion.js +24 -0
  56. package/dist/cjs/Entities/MemoizedQuaternion.js.map +1 -0
  57. package/dist/cjs/Entities/MemoizedQuaternion.test.js +32 -0
  58. package/dist/cjs/Entities/MemoizedQuaternion.test.js.map +1 -0
  59. package/dist/cjs/Entities/MemoizedString.js +23 -0
  60. package/dist/cjs/Entities/MemoizedString.js.map +1 -0
  61. package/dist/cjs/Entities/MemoizedString.test.js +29 -0
  62. package/dist/cjs/Entities/MemoizedString.test.js.map +1 -0
  63. package/dist/cjs/Entities/MemoizedVector2.js +24 -0
  64. package/dist/cjs/Entities/MemoizedVector2.js.map +1 -0
  65. package/dist/cjs/Entities/MemoizedVector2.test.js +32 -0
  66. package/dist/cjs/Entities/MemoizedVector2.test.js.map +1 -0
  67. package/dist/cjs/Entities/MemoizedVector3.js +24 -0
  68. package/dist/cjs/Entities/MemoizedVector3.js.map +1 -0
  69. package/dist/cjs/Entities/MemoizedVector3.test.js +32 -0
  70. package/dist/cjs/Entities/MemoizedVector3.test.js.map +1 -0
  71. package/dist/cjs/Entities/ObservableEntity.js +20 -0
  72. package/dist/cjs/Entities/ObservableEntity.js.map +1 -0
  73. package/dist/cjs/Entities/ObservableEntity.test.js +25 -0
  74. package/dist/cjs/Entities/ObservableEntity.test.js.map +1 -0
  75. package/dist/cjs/Entities/ObserverList.js +27 -0
  76. package/dist/cjs/Entities/ObserverList.js.map +1 -0
  77. package/dist/cjs/Entities/ObserverList.test.js +44 -0
  78. package/dist/cjs/Entities/ObserverList.test.js.map +1 -0
  79. package/dist/cjs/Entities/RangedNumber.js +36 -0
  80. package/dist/cjs/Entities/RangedNumber.js.map +1 -0
  81. package/dist/cjs/Entities/RangedNumber.test.js +96 -0
  82. package/dist/cjs/Entities/RangedNumber.test.js.map +1 -0
  83. package/dist/cjs/Entities/index.js +28 -0
  84. package/dist/cjs/Entities/index.js.map +1 -0
  85. package/dist/cjs/Types/AppBoundary.js +3 -0
  86. package/dist/cjs/Types/AppBoundary.js.map +1 -0
  87. package/dist/cjs/Types/EaseFn.js +3 -0
  88. package/dist/cjs/Types/EaseFn.js.map +1 -0
  89. package/dist/cjs/Types/PmAdapter.js +3 -0
  90. package/dist/cjs/Types/PmAdapter.js.map +1 -0
  91. package/dist/cjs/Types/SingletonPmAdapter.js +3 -0
  92. package/dist/cjs/Types/SingletonPmAdapter.js.map +1 -0
  93. package/dist/cjs/Types/index.js +21 -0
  94. package/dist/cjs/Types/index.js.map +1 -0
  95. package/dist/cjs/Utilities/LengthConverters.js +21 -0
  96. package/dist/cjs/Utilities/LengthConverters.js.map +1 -0
  97. package/dist/cjs/Utilities/LengthConverters.test.js +24 -0
  98. package/dist/cjs/Utilities/LengthConverters.test.js.map +1 -0
  99. package/dist/cjs/Utilities/LerpNumber.js +85 -0
  100. package/dist/cjs/Utilities/LerpNumber.js.map +1 -0
  101. package/dist/cjs/Utilities/LerpNumber.test.js +90 -0
  102. package/dist/cjs/Utilities/LerpNumber.test.js.map +1 -0
  103. package/dist/cjs/Utilities/degreesToRadians.js +7 -0
  104. package/dist/cjs/Utilities/degreesToRadians.js.map +1 -0
  105. package/dist/cjs/Utilities/degreesToRadians.test.js +9 -0
  106. package/dist/cjs/Utilities/degreesToRadians.test.js.map +1 -0
  107. package/dist/cjs/Utilities/easeFunctions.js +208 -0
  108. package/dist/cjs/Utilities/easeFunctions.js.map +1 -0
  109. package/dist/cjs/Utilities/easeFunctions.test.js +209 -0
  110. package/dist/cjs/Utilities/easeFunctions.test.js.map +1 -0
  111. package/dist/cjs/Utilities/generateUniqueID.js +8 -0
  112. package/dist/cjs/Utilities/generateUniqueID.js.map +1 -0
  113. package/dist/cjs/Utilities/index.js +22 -0
  114. package/dist/cjs/Utilities/index.js.map +1 -0
  115. package/dist/cjs/Utilities/interpolateNumber.js +18 -0
  116. package/dist/cjs/Utilities/interpolateNumber.js.map +1 -0
  117. package/dist/cjs/Utilities/interpolateNumber.test.js +26 -0
  118. package/dist/cjs/Utilities/interpolateNumber.test.js.map +1 -0
  119. package/dist/cjs/ValueObjects/Angle.js +47 -0
  120. package/dist/cjs/ValueObjects/Angle.js.map +1 -0
  121. package/dist/cjs/ValueObjects/Angle.test.js +28 -0
  122. package/dist/cjs/ValueObjects/Angle.test.js.map +1 -0
  123. package/dist/cjs/ValueObjects/Color.js +859 -0
  124. package/dist/cjs/ValueObjects/Color.js.map +1 -0
  125. package/dist/cjs/ValueObjects/Color.test.js +147 -0
  126. package/dist/cjs/ValueObjects/Color.test.js.map +1 -0
  127. package/dist/cjs/ValueObjects/LineSegment2D.js +72 -0
  128. package/dist/cjs/ValueObjects/LineSegment2D.js.map +1 -0
  129. package/dist/cjs/ValueObjects/LineSegment2D.test.js +102 -0
  130. package/dist/cjs/ValueObjects/LineSegment2D.test.js.map +1 -0
  131. package/dist/cjs/ValueObjects/Matrix.js +466 -0
  132. package/dist/cjs/ValueObjects/Matrix.js.map +1 -0
  133. package/dist/cjs/ValueObjects/Matrix.test.js +385 -0
  134. package/dist/cjs/ValueObjects/Matrix.test.js.map +1 -0
  135. package/dist/cjs/ValueObjects/ParametricLine.js +77 -0
  136. package/dist/cjs/ValueObjects/ParametricLine.js.map +1 -0
  137. package/dist/cjs/ValueObjects/ParametricLine.test.js +126 -0
  138. package/dist/cjs/ValueObjects/ParametricLine.test.js.map +1 -0
  139. package/dist/cjs/ValueObjects/ParametricPlane.js +65 -0
  140. package/dist/cjs/ValueObjects/ParametricPlane.js.map +1 -0
  141. package/dist/cjs/ValueObjects/ParametricPlane.test.js +101 -0
  142. package/dist/cjs/ValueObjects/ParametricPlane.test.js.map +1 -0
  143. package/dist/cjs/ValueObjects/Quaternion.js +290 -0
  144. package/dist/cjs/ValueObjects/Quaternion.js.map +1 -0
  145. package/dist/cjs/ValueObjects/Quaternion.test.js +240 -0
  146. package/dist/cjs/ValueObjects/Quaternion.test.js.map +1 -0
  147. package/dist/cjs/ValueObjects/Rectangle.js +24 -0
  148. package/dist/cjs/ValueObjects/Rectangle.js.map +1 -0
  149. package/dist/cjs/ValueObjects/Rectangle.test.js +32 -0
  150. package/dist/cjs/ValueObjects/Rectangle.test.js.map +1 -0
  151. package/dist/cjs/ValueObjects/Vector2.js +184 -0
  152. package/dist/cjs/ValueObjects/Vector2.js.map +1 -0
  153. package/dist/cjs/ValueObjects/Vector2.test.js +136 -0
  154. package/dist/cjs/ValueObjects/Vector2.test.js.map +1 -0
  155. package/dist/cjs/ValueObjects/Vector3.js +231 -0
  156. package/dist/cjs/ValueObjects/Vector3.js.map +1 -0
  157. package/dist/cjs/ValueObjects/Vector3.test.js +188 -0
  158. package/dist/cjs/ValueObjects/Vector3.test.js.map +1 -0
  159. package/dist/cjs/ValueObjects/index.js +27 -0
  160. package/dist/cjs/ValueObjects/index.js.map +1 -0
  161. package/dist/cjs/index.js +22 -0
  162. package/dist/cjs/index.js.map +1 -0
  163. package/dist/esm/AppObject/AppObject.js +54 -0
  164. package/dist/esm/AppObject/AppObject.js.map +1 -0
  165. package/dist/esm/AppObject/AppObject.test.js +110 -0
  166. package/dist/esm/AppObject/AppObject.test.js.map +1 -0
  167. package/dist/esm/AppObject/AppObjectComponent.js +78 -0
  168. package/dist/esm/AppObject/AppObjectComponent.js.map +1 -0
  169. package/dist/esm/AppObject/AppObjectComponent.test.js +130 -0
  170. package/dist/esm/AppObject/AppObjectComponent.test.js.map +1 -0
  171. package/dist/esm/AppObject/AppObjectController.js +8 -0
  172. package/dist/esm/AppObject/AppObjectController.js.map +1 -0
  173. package/dist/esm/AppObject/AppObjectEntity.js +34 -0
  174. package/dist/esm/AppObject/AppObjectEntity.js.map +1 -0
  175. package/dist/esm/AppObject/AppObjectEntity.test.js +106 -0
  176. package/dist/esm/AppObject/AppObjectEntity.test.js.map +1 -0
  177. package/dist/esm/AppObject/AppObjectEntityRepo.js +52 -0
  178. package/dist/esm/AppObject/AppObjectEntityRepo.js.map +1 -0
  179. package/dist/esm/AppObject/AppObjectEntityRepo.test.js +147 -0
  180. package/dist/esm/AppObject/AppObjectEntityRepo.test.js.map +1 -0
  181. package/dist/esm/AppObject/AppObjectPM.js +36 -0
  182. package/dist/esm/AppObject/AppObjectPM.js.map +1 -0
  183. package/dist/esm/AppObject/AppObjectPM.test.js +101 -0
  184. package/dist/esm/AppObject/AppObjectPM.test.js.map +1 -0
  185. package/dist/esm/AppObject/AppObjectRepo.js +128 -0
  186. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -0
  187. package/dist/esm/AppObject/AppObjectRepo.test.js +211 -0
  188. package/dist/esm/AppObject/AppObjectRepo.test.js.map +1 -0
  189. package/dist/esm/AppObject/AppObjectUC.js +8 -0
  190. package/dist/esm/AppObject/AppObjectUC.js.map +1 -0
  191. package/dist/esm/AppObject/AppObjectView.js +8 -0
  192. package/dist/esm/AppObject/AppObjectView.js.map +1 -0
  193. package/dist/esm/AppObject/getSingletonComponent.js +4 -0
  194. package/dist/esm/AppObject/getSingletonComponent.js.map +1 -0
  195. package/dist/esm/AppObject/getSingletonComponent.test.js +11 -0
  196. package/dist/esm/AppObject/getSingletonComponent.test.js.map +1 -0
  197. package/dist/esm/AppObject/index.js +11 -0
  198. package/dist/esm/AppObject/index.js.map +1 -0
  199. package/dist/esm/AppObject/printAppObjectDetails.js +15 -0
  200. package/dist/esm/AppObject/printAppObjectDetails.js.map +1 -0
  201. package/dist/esm/Entities/MemoizedAngle.js +19 -0
  202. package/dist/esm/Entities/MemoizedAngle.js.map +1 -0
  203. package/dist/esm/Entities/MemoizedAngle.test.js +28 -0
  204. package/dist/esm/Entities/MemoizedAngle.test.js.map +1 -0
  205. package/dist/esm/Entities/MemoizedBoolean.js +19 -0
  206. package/dist/esm/Entities/MemoizedBoolean.js.map +1 -0
  207. package/dist/esm/Entities/MemoizedBoolean.test.js +32 -0
  208. package/dist/esm/Entities/MemoizedBoolean.test.js.map +1 -0
  209. package/dist/esm/Entities/MemoizedColor.js +20 -0
  210. package/dist/esm/Entities/MemoizedColor.js.map +1 -0
  211. package/dist/esm/Entities/MemoizedColor.test.js +30 -0
  212. package/dist/esm/Entities/MemoizedColor.test.js.map +1 -0
  213. package/dist/esm/Entities/MemoizedNumber.js +19 -0
  214. package/dist/esm/Entities/MemoizedNumber.js.map +1 -0
  215. package/dist/esm/Entities/MemoizedNumber.test.js +27 -0
  216. package/dist/esm/Entities/MemoizedNumber.test.js.map +1 -0
  217. package/dist/esm/Entities/MemoizedQuaternion.js +20 -0
  218. package/dist/esm/Entities/MemoizedQuaternion.js.map +1 -0
  219. package/dist/esm/Entities/MemoizedQuaternion.test.js +30 -0
  220. package/dist/esm/Entities/MemoizedQuaternion.test.js.map +1 -0
  221. package/dist/esm/Entities/MemoizedString.js +19 -0
  222. package/dist/esm/Entities/MemoizedString.js.map +1 -0
  223. package/dist/esm/Entities/MemoizedString.test.js +27 -0
  224. package/dist/esm/Entities/MemoizedString.test.js.map +1 -0
  225. package/dist/esm/Entities/MemoizedVector2.js +20 -0
  226. package/dist/esm/Entities/MemoizedVector2.js.map +1 -0
  227. package/dist/esm/Entities/MemoizedVector2.test.js +30 -0
  228. package/dist/esm/Entities/MemoizedVector2.test.js.map +1 -0
  229. package/dist/esm/Entities/MemoizedVector3.js +20 -0
  230. package/dist/esm/Entities/MemoizedVector3.js.map +1 -0
  231. package/dist/esm/Entities/MemoizedVector3.test.js +30 -0
  232. package/dist/esm/Entities/MemoizedVector3.test.js.map +1 -0
  233. package/dist/esm/Entities/ObservableEntity.js +16 -0
  234. package/dist/esm/Entities/ObservableEntity.js.map +1 -0
  235. package/dist/esm/Entities/ObservableEntity.test.js +23 -0
  236. package/dist/esm/Entities/ObservableEntity.test.js.map +1 -0
  237. package/dist/esm/Entities/ObserverList.js +23 -0
  238. package/dist/esm/Entities/ObserverList.js.map +1 -0
  239. package/dist/esm/Entities/ObserverList.test.js +42 -0
  240. package/dist/esm/Entities/ObserverList.test.js.map +1 -0
  241. package/dist/esm/Entities/RangedNumber.js +32 -0
  242. package/dist/esm/Entities/RangedNumber.js.map +1 -0
  243. package/dist/esm/Entities/RangedNumber.test.js +94 -0
  244. package/dist/esm/Entities/RangedNumber.test.js.map +1 -0
  245. package/{src/Entities/index.ts → dist/esm/Entities/index.js} +12 -11
  246. package/dist/esm/Entities/index.js.map +1 -0
  247. package/dist/esm/Types/AppBoundary.js +2 -0
  248. package/dist/esm/Types/AppBoundary.js.map +1 -0
  249. package/dist/esm/Types/EaseFn.js +2 -0
  250. package/dist/esm/Types/EaseFn.js.map +1 -0
  251. package/dist/esm/Types/PmAdapter.js +2 -0
  252. package/dist/esm/Types/PmAdapter.js.map +1 -0
  253. package/dist/esm/Types/SingletonPmAdapter.js +2 -0
  254. package/dist/esm/Types/SingletonPmAdapter.js.map +1 -0
  255. package/{src/Types/index.ts → dist/esm/Types/index.js} +5 -4
  256. package/dist/esm/Types/index.js.map +1 -0
  257. package/dist/esm/Utilities/LengthConverters.js +15 -0
  258. package/dist/esm/Utilities/LengthConverters.js.map +1 -0
  259. package/dist/esm/Utilities/LengthConverters.test.js +22 -0
  260. package/dist/esm/Utilities/LengthConverters.test.js.map +1 -0
  261. package/dist/esm/Utilities/LerpNumber.js +81 -0
  262. package/dist/esm/Utilities/LerpNumber.js.map +1 -0
  263. package/dist/esm/Utilities/LerpNumber.test.js +88 -0
  264. package/dist/esm/Utilities/LerpNumber.test.js.map +1 -0
  265. package/dist/esm/Utilities/degreesToRadians.js +4 -0
  266. package/dist/esm/Utilities/degreesToRadians.js.map +1 -0
  267. package/dist/esm/Utilities/degreesToRadians.test.js +7 -0
  268. package/dist/esm/Utilities/degreesToRadians.test.js.map +1 -0
  269. package/dist/esm/Utilities/easeFunctions.js +183 -0
  270. package/dist/esm/Utilities/easeFunctions.js.map +1 -0
  271. package/dist/esm/Utilities/easeFunctions.test.js +207 -0
  272. package/dist/esm/Utilities/easeFunctions.test.js.map +1 -0
  273. package/dist/esm/Utilities/generateUniqueID.js +5 -0
  274. package/dist/esm/Utilities/generateUniqueID.js.map +1 -0
  275. package/{src/Utilities/index.ts → dist/esm/Utilities/index.js} +6 -6
  276. package/dist/esm/Utilities/index.js.map +1 -0
  277. package/dist/esm/Utilities/interpolateNumber.js +15 -0
  278. package/dist/esm/Utilities/interpolateNumber.js.map +1 -0
  279. package/dist/esm/Utilities/interpolateNumber.test.js +24 -0
  280. package/dist/esm/Utilities/interpolateNumber.test.js.map +1 -0
  281. package/dist/esm/ValueObjects/Angle.js +43 -0
  282. package/dist/esm/ValueObjects/Angle.js.map +1 -0
  283. package/dist/esm/ValueObjects/Angle.test.js +26 -0
  284. package/dist/esm/ValueObjects/Angle.test.js.map +1 -0
  285. package/dist/esm/ValueObjects/Color.js +855 -0
  286. package/dist/esm/ValueObjects/Color.js.map +1 -0
  287. package/dist/esm/ValueObjects/Color.test.js +145 -0
  288. package/dist/esm/ValueObjects/Color.test.js.map +1 -0
  289. package/dist/esm/ValueObjects/LineSegment2D.js +68 -0
  290. package/dist/esm/ValueObjects/LineSegment2D.js.map +1 -0
  291. package/dist/esm/ValueObjects/LineSegment2D.test.js +100 -0
  292. package/dist/esm/ValueObjects/LineSegment2D.test.js.map +1 -0
  293. package/dist/esm/ValueObjects/Matrix.js +462 -0
  294. package/dist/esm/ValueObjects/Matrix.js.map +1 -0
  295. package/dist/esm/ValueObjects/Matrix.test.js +383 -0
  296. package/dist/esm/ValueObjects/Matrix.test.js.map +1 -0
  297. package/dist/esm/ValueObjects/ParametricLine.js +73 -0
  298. package/dist/esm/ValueObjects/ParametricLine.js.map +1 -0
  299. package/dist/esm/ValueObjects/ParametricLine.test.js +124 -0
  300. package/dist/esm/ValueObjects/ParametricLine.test.js.map +1 -0
  301. package/dist/esm/ValueObjects/ParametricPlane.js +61 -0
  302. package/dist/esm/ValueObjects/ParametricPlane.js.map +1 -0
  303. package/dist/esm/ValueObjects/ParametricPlane.test.js +99 -0
  304. package/dist/esm/ValueObjects/ParametricPlane.test.js.map +1 -0
  305. package/dist/esm/ValueObjects/Quaternion.js +286 -0
  306. package/dist/esm/ValueObjects/Quaternion.js.map +1 -0
  307. package/dist/esm/ValueObjects/Quaternion.test.js +238 -0
  308. package/dist/esm/ValueObjects/Quaternion.test.js.map +1 -0
  309. package/dist/esm/ValueObjects/Rectangle.js +20 -0
  310. package/dist/esm/ValueObjects/Rectangle.js.map +1 -0
  311. package/dist/esm/ValueObjects/Rectangle.test.js +30 -0
  312. package/dist/esm/ValueObjects/Rectangle.test.js.map +1 -0
  313. package/dist/esm/ValueObjects/Vector2.js +180 -0
  314. package/dist/esm/ValueObjects/Vector2.js.map +1 -0
  315. package/dist/esm/ValueObjects/Vector2.test.js +134 -0
  316. package/dist/esm/ValueObjects/Vector2.test.js.map +1 -0
  317. package/dist/esm/ValueObjects/Vector3.js +227 -0
  318. package/dist/esm/ValueObjects/Vector3.js.map +1 -0
  319. package/dist/esm/ValueObjects/Vector3.test.js +186 -0
  320. package/dist/esm/ValueObjects/Vector3.test.js.map +1 -0
  321. package/{src/ValueObjects/index.ts → dist/esm/ValueObjects/index.js} +11 -14
  322. package/dist/esm/ValueObjects/index.js.map +1 -0
  323. package/{src/index.ts → dist/esm/index.js} +6 -5
  324. package/dist/esm/index.js.map +1 -0
  325. package/dist/types/AppObject/AppObject.d.ts +15 -0
  326. package/dist/types/AppObject/AppObject.d.ts.map +1 -0
  327. package/dist/types/AppObject/AppObject.test.d.ts +7 -0
  328. package/dist/types/AppObject/AppObject.test.d.ts.map +1 -0
  329. package/dist/types/AppObject/AppObjectComponent.d.ts +26 -0
  330. package/dist/types/AppObject/AppObjectComponent.d.ts.map +1 -0
  331. package/dist/types/AppObject/AppObjectComponent.test.d.ts +2 -0
  332. package/dist/types/AppObject/AppObjectComponent.test.d.ts.map +1 -0
  333. package/dist/types/AppObject/AppObjectController.d.ts +5 -0
  334. package/dist/types/AppObject/AppObjectController.d.ts.map +1 -0
  335. package/dist/types/AppObject/AppObjectEntity.d.ts +16 -0
  336. package/dist/types/AppObject/AppObjectEntity.d.ts.map +1 -0
  337. package/dist/types/AppObject/AppObjectEntity.test.d.ts +2 -0
  338. package/dist/types/AppObject/AppObjectEntity.test.d.ts.map +1 -0
  339. package/dist/types/AppObject/AppObjectEntityRepo.d.ts +16 -0
  340. package/dist/types/AppObject/AppObjectEntityRepo.d.ts.map +1 -0
  341. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts +2 -0
  342. package/dist/types/AppObject/AppObjectEntityRepo.test.d.ts.map +1 -0
  343. package/dist/types/AppObject/AppObjectPM.d.ts +13 -0
  344. package/dist/types/AppObject/AppObjectPM.d.ts.map +1 -0
  345. package/dist/types/AppObject/AppObjectPM.test.d.ts +2 -0
  346. package/dist/types/AppObject/AppObjectPM.test.d.ts.map +1 -0
  347. package/dist/types/AppObject/AppObjectRepo.d.ts +26 -0
  348. package/dist/types/AppObject/AppObjectRepo.d.ts.map +1 -0
  349. package/dist/types/AppObject/AppObjectRepo.test.d.ts +2 -0
  350. package/dist/types/AppObject/AppObjectRepo.test.d.ts.map +1 -0
  351. package/dist/types/AppObject/AppObjectUC.d.ts +5 -0
  352. package/dist/types/AppObject/AppObjectUC.d.ts.map +1 -0
  353. package/dist/types/AppObject/AppObjectView.d.ts +5 -0
  354. package/dist/types/AppObject/AppObjectView.d.ts.map +1 -0
  355. package/dist/types/AppObject/getSingletonComponent.d.ts +4 -0
  356. package/dist/types/AppObject/getSingletonComponent.d.ts.map +1 -0
  357. package/dist/types/AppObject/getSingletonComponent.test.d.ts +2 -0
  358. package/dist/types/AppObject/getSingletonComponent.test.d.ts.map +1 -0
  359. package/dist/types/AppObject/index.d.ts +11 -0
  360. package/dist/types/AppObject/index.d.ts.map +1 -0
  361. package/dist/types/AppObject/printAppObjectDetails.d.ts +3 -0
  362. package/dist/types/AppObject/printAppObjectDetails.d.ts.map +1 -0
  363. package/dist/types/Entities/MemoizedAngle.d.ts +10 -0
  364. package/dist/types/Entities/MemoizedAngle.d.ts.map +1 -0
  365. package/dist/types/Entities/MemoizedAngle.test.d.ts +2 -0
  366. package/dist/types/Entities/MemoizedAngle.test.d.ts.map +1 -0
  367. package/dist/types/Entities/MemoizedBoolean.d.ts +9 -0
  368. package/dist/types/Entities/MemoizedBoolean.d.ts.map +1 -0
  369. package/dist/types/Entities/MemoizedBoolean.test.d.ts +2 -0
  370. package/dist/types/Entities/MemoizedBoolean.test.d.ts.map +1 -0
  371. package/dist/types/Entities/MemoizedColor.d.ts +10 -0
  372. package/dist/types/Entities/MemoizedColor.d.ts.map +1 -0
  373. package/dist/types/Entities/MemoizedColor.test.d.ts +2 -0
  374. package/dist/types/Entities/MemoizedColor.test.d.ts.map +1 -0
  375. package/dist/types/Entities/MemoizedNumber.d.ts +9 -0
  376. package/dist/types/Entities/MemoizedNumber.d.ts.map +1 -0
  377. package/dist/types/Entities/MemoizedNumber.test.d.ts +2 -0
  378. package/dist/types/Entities/MemoizedNumber.test.d.ts.map +1 -0
  379. package/dist/types/Entities/MemoizedQuaternion.d.ts +10 -0
  380. package/dist/types/Entities/MemoizedQuaternion.d.ts.map +1 -0
  381. package/dist/types/Entities/MemoizedQuaternion.test.d.ts +2 -0
  382. package/dist/types/Entities/MemoizedQuaternion.test.d.ts.map +1 -0
  383. package/dist/types/Entities/MemoizedString.d.ts +9 -0
  384. package/dist/types/Entities/MemoizedString.d.ts.map +1 -0
  385. package/dist/types/Entities/MemoizedString.test.d.ts +2 -0
  386. package/dist/types/Entities/MemoizedString.test.d.ts.map +1 -0
  387. package/dist/types/Entities/MemoizedVector2.d.ts +10 -0
  388. package/dist/types/Entities/MemoizedVector2.d.ts.map +1 -0
  389. package/dist/types/Entities/MemoizedVector2.test.d.ts +2 -0
  390. package/dist/types/Entities/MemoizedVector2.test.d.ts.map +1 -0
  391. package/dist/types/Entities/MemoizedVector3.d.ts +10 -0
  392. package/dist/types/Entities/MemoizedVector3.d.ts.map +1 -0
  393. package/dist/types/Entities/MemoizedVector3.test.d.ts +2 -0
  394. package/dist/types/Entities/MemoizedVector3.test.d.ts.map +1 -0
  395. package/dist/types/Entities/ObservableEntity.d.ts +8 -0
  396. package/dist/types/Entities/ObservableEntity.d.ts.map +1 -0
  397. package/dist/types/Entities/ObservableEntity.test.d.ts +2 -0
  398. package/dist/types/Entities/ObservableEntity.test.d.ts.map +1 -0
  399. package/dist/types/Entities/ObserverList.d.ts +8 -0
  400. package/dist/types/Entities/ObserverList.d.ts.map +1 -0
  401. package/dist/types/Entities/ObserverList.test.d.ts +2 -0
  402. package/dist/types/Entities/ObserverList.test.d.ts.map +1 -0
  403. package/dist/types/Entities/RangedNumber.d.ts +17 -0
  404. package/dist/types/Entities/RangedNumber.d.ts.map +1 -0
  405. package/dist/types/Entities/RangedNumber.test.d.ts +2 -0
  406. package/dist/types/Entities/RangedNumber.test.d.ts.map +1 -0
  407. package/dist/types/Entities/index.d.ts +12 -0
  408. package/dist/types/Entities/index.d.ts.map +1 -0
  409. package/dist/types/Types/AppBoundary.d.ts +11 -0
  410. package/dist/types/Types/AppBoundary.d.ts.map +1 -0
  411. package/dist/types/Types/EaseFn.d.ts +2 -0
  412. package/dist/types/Types/EaseFn.d.ts.map +1 -0
  413. package/dist/types/Types/PmAdapter.d.ts +7 -0
  414. package/dist/types/Types/PmAdapter.d.ts.map +1 -0
  415. package/dist/types/Types/SingletonPmAdapter.d.ts +7 -0
  416. package/dist/types/Types/SingletonPmAdapter.d.ts.map +1 -0
  417. package/dist/types/Types/index.d.ts +5 -0
  418. package/dist/types/Types/index.d.ts.map +1 -0
  419. package/dist/types/Utilities/LengthConverters.d.ts +5 -0
  420. package/dist/types/Utilities/LengthConverters.d.ts.map +1 -0
  421. package/dist/types/Utilities/LengthConverters.test.d.ts +2 -0
  422. package/dist/types/Utilities/LengthConverters.test.d.ts.map +1 -0
  423. package/dist/types/Utilities/LerpNumber.d.ts +57 -0
  424. package/dist/types/Utilities/LerpNumber.d.ts.map +1 -0
  425. package/dist/types/Utilities/LerpNumber.test.d.ts +2 -0
  426. package/dist/types/Utilities/LerpNumber.test.d.ts.map +1 -0
  427. package/dist/types/Utilities/degreesToRadians.d.ts +2 -0
  428. package/dist/types/Utilities/degreesToRadians.d.ts.map +1 -0
  429. package/dist/types/Utilities/degreesToRadians.test.d.ts +2 -0
  430. package/dist/types/Utilities/degreesToRadians.test.d.ts.map +1 -0
  431. package/dist/types/Utilities/easeFunctions.d.ts +24 -0
  432. package/dist/types/Utilities/easeFunctions.d.ts.map +1 -0
  433. package/dist/types/Utilities/easeFunctions.test.d.ts +2 -0
  434. package/dist/types/Utilities/easeFunctions.test.d.ts.map +1 -0
  435. package/dist/types/Utilities/generateUniqueID.d.ts +2 -0
  436. package/dist/types/Utilities/generateUniqueID.d.ts.map +1 -0
  437. package/dist/types/Utilities/index.d.ts +6 -0
  438. package/dist/types/Utilities/index.d.ts.map +1 -0
  439. package/dist/types/Utilities/interpolateNumber.d.ts +2 -0
  440. package/dist/types/Utilities/interpolateNumber.d.ts.map +1 -0
  441. package/dist/types/Utilities/interpolateNumber.test.d.ts +2 -0
  442. package/dist/types/Utilities/interpolateNumber.test.d.ts.map +1 -0
  443. package/dist/types/ValueObjects/Angle.d.ts +27 -0
  444. package/dist/types/ValueObjects/Angle.d.ts.map +1 -0
  445. package/dist/types/ValueObjects/Angle.test.d.ts +2 -0
  446. package/dist/types/ValueObjects/Angle.test.d.ts.map +1 -0
  447. package/dist/types/ValueObjects/Color.d.ts +83 -0
  448. package/dist/types/ValueObjects/Color.d.ts.map +1 -0
  449. package/dist/types/ValueObjects/Color.test.d.ts +2 -0
  450. package/dist/types/ValueObjects/Color.test.d.ts.map +1 -0
  451. package/dist/types/ValueObjects/LineSegment2D.d.ts +12 -0
  452. package/dist/types/ValueObjects/LineSegment2D.d.ts.map +1 -0
  453. package/dist/types/ValueObjects/LineSegment2D.test.d.ts +2 -0
  454. package/dist/types/ValueObjects/LineSegment2D.test.d.ts.map +1 -0
  455. package/dist/types/ValueObjects/Matrix.d.ts +124 -0
  456. package/dist/types/ValueObjects/Matrix.d.ts.map +1 -0
  457. package/dist/types/ValueObjects/Matrix.test.d.ts +2 -0
  458. package/dist/types/ValueObjects/Matrix.test.d.ts.map +1 -0
  459. package/dist/types/ValueObjects/ParametricLine.d.ts +31 -0
  460. package/dist/types/ValueObjects/ParametricLine.d.ts.map +1 -0
  461. package/dist/types/ValueObjects/ParametricLine.test.d.ts +2 -0
  462. package/dist/types/ValueObjects/ParametricLine.test.d.ts.map +1 -0
  463. package/dist/types/ValueObjects/ParametricPlane.d.ts +21 -0
  464. package/dist/types/ValueObjects/ParametricPlane.d.ts.map +1 -0
  465. package/dist/types/ValueObjects/ParametricPlane.test.d.ts +2 -0
  466. package/dist/types/ValueObjects/ParametricPlane.test.d.ts.map +1 -0
  467. package/dist/types/ValueObjects/Quaternion.d.ts +113 -0
  468. package/dist/types/ValueObjects/Quaternion.d.ts.map +1 -0
  469. package/dist/types/ValueObjects/Quaternion.test.d.ts +2 -0
  470. package/dist/types/ValueObjects/Quaternion.test.d.ts.map +1 -0
  471. package/dist/types/ValueObjects/Rectangle.d.ts +16 -0
  472. package/dist/types/ValueObjects/Rectangle.d.ts.map +1 -0
  473. package/dist/types/ValueObjects/Rectangle.test.d.ts +2 -0
  474. package/dist/types/ValueObjects/Rectangle.test.d.ts.map +1 -0
  475. package/dist/types/ValueObjects/Vector2.d.ts +121 -0
  476. package/dist/types/ValueObjects/Vector2.d.ts.map +1 -0
  477. package/dist/types/ValueObjects/Vector2.test.d.ts +2 -0
  478. package/dist/types/ValueObjects/Vector2.test.d.ts.map +1 -0
  479. package/dist/types/ValueObjects/Vector3.d.ts +150 -0
  480. package/dist/types/ValueObjects/Vector3.d.ts.map +1 -0
  481. package/dist/types/ValueObjects/Vector3.test.d.ts +2 -0
  482. package/dist/types/ValueObjects/Vector3.test.d.ts.map +1 -0
  483. package/dist/types/ValueObjects/index.d.ts +11 -0
  484. package/dist/types/ValueObjects/index.d.ts.map +1 -0
  485. package/dist/types/index.d.ts +6 -0
  486. package/dist/types/index.d.ts.map +1 -0
  487. package/package.json +5 -2
  488. package/babel.config.js +0 -12
  489. package/jestconfig.json +0 -10
  490. package/src/AppObject/AppObject.test.ts +0 -158
  491. package/src/AppObject/AppObject.ts +0 -83
  492. package/src/AppObject/AppObjectComponent.test.ts +0 -219
  493. package/src/AppObject/AppObjectComponent.ts +0 -100
  494. package/src/AppObject/AppObjectController.ts +0 -8
  495. package/src/AppObject/AppObjectEntity.test.ts +0 -151
  496. package/src/AppObject/AppObjectEntity.ts +0 -45
  497. package/src/AppObject/AppObjectEntityRepo.test.ts +0 -211
  498. package/src/AppObject/AppObjectEntityRepo.ts +0 -61
  499. package/src/AppObject/AppObjectPM.test.ts +0 -152
  500. package/src/AppObject/AppObjectPM.ts +0 -43
  501. package/src/AppObject/AppObjectRepo.test.ts +0 -317
  502. package/src/AppObject/AppObjectRepo.ts +0 -203
  503. package/src/AppObject/AppObjectUC.ts +0 -5
  504. package/src/AppObject/AppObjectView.ts +0 -5
  505. package/src/AppObject/getSingletonComponent.test.ts +0 -17
  506. package/src/AppObject/getSingletonComponent.ts +0 -9
  507. package/src/AppObject/index.ts +0 -10
  508. package/src/AppObject/printAppObjectDetails.ts +0 -17
  509. package/src/Entities/MemoizedAngle.test.ts +0 -38
  510. package/src/Entities/MemoizedAngle.ts +0 -25
  511. package/src/Entities/MemoizedBoolean.test.ts +0 -45
  512. package/src/Entities/MemoizedBoolean.ts +0 -23
  513. package/src/Entities/MemoizedColor.test.ts +0 -39
  514. package/src/Entities/MemoizedColor.ts +0 -27
  515. package/src/Entities/MemoizedNumber.test.ts +0 -37
  516. package/src/Entities/MemoizedNumber.ts +0 -23
  517. package/src/Entities/MemoizedQuaternion.test.ts +0 -39
  518. package/src/Entities/MemoizedQuaternion.ts +0 -27
  519. package/src/Entities/MemoizedString.test.ts +0 -37
  520. package/src/Entities/MemoizedString.ts +0 -23
  521. package/src/Entities/MemoizedVector2.test.ts +0 -39
  522. package/src/Entities/MemoizedVector2.ts +0 -27
  523. package/src/Entities/MemoizedVector3.test.ts +0 -39
  524. package/src/Entities/MemoizedVector3.ts +0 -27
  525. package/src/Entities/ObservableEntity.test.ts +0 -28
  526. package/src/Entities/ObservableEntity.ts +0 -17
  527. package/src/Entities/ObserverList.test.ts +0 -61
  528. package/src/Entities/ObserverList.ts +0 -24
  529. package/src/Entities/RangedNumber.test.ts +0 -118
  530. package/src/Entities/RangedNumber.ts +0 -45
  531. package/src/Types/AppBoundary.ts +0 -13
  532. package/src/Types/EaseFn.ts +0 -1
  533. package/src/Types/PmAdapter.ts +0 -15
  534. package/src/Types/SingletonPmAdapter.ts +0 -7
  535. package/src/Utilities/LengthConverters.test.ts +0 -30
  536. package/src/Utilities/LengthConverters.ts +0 -18
  537. package/src/Utilities/LerpNumber.test.ts +0 -109
  538. package/src/Utilities/LerpNumber.ts +0 -109
  539. package/src/Utilities/degreesToRadians.test.ts +0 -8
  540. package/src/Utilities/degreesToRadians.ts +0 -3
  541. package/src/Utilities/easeFunctions.test.ts +0 -251
  542. package/src/Utilities/easeFunctions.ts +0 -180
  543. package/src/Utilities/generateUniqueID.ts +0 -5
  544. package/src/Utilities/interpolateNumber.test.ts +0 -28
  545. package/src/Utilities/interpolateNumber.ts +0 -21
  546. package/src/ValueObjects/Angle.test.ts +0 -30
  547. package/src/ValueObjects/Angle.ts +0 -47
  548. package/src/ValueObjects/Color.test.ts +0 -181
  549. package/src/ValueObjects/Color.ts +0 -891
  550. package/src/ValueObjects/LineSegment2D.test.ts +0 -144
  551. package/src/ValueObjects/LineSegment2D.ts +0 -93
  552. package/src/ValueObjects/Matrix.test.ts +0 -498
  553. package/src/ValueObjects/Matrix.ts +0 -567
  554. package/src/ValueObjects/ParametricLine.test.ts +0 -155
  555. package/src/ValueObjects/ParametricLine.ts +0 -114
  556. package/src/ValueObjects/ParametricPlane.test.ts +0 -122
  557. package/src/ValueObjects/ParametricPlane.ts +0 -82
  558. package/src/ValueObjects/Quaternion.test.ts +0 -356
  559. package/src/ValueObjects/Quaternion.ts +0 -353
  560. package/src/ValueObjects/Rectangle.test.ts +0 -32
  561. package/src/ValueObjects/Rectangle.ts +0 -33
  562. package/src/ValueObjects/Vector2.test.ts +0 -167
  563. package/src/ValueObjects/Vector2.ts +0 -209
  564. package/src/ValueObjects/Vector3.test.ts +0 -228
  565. package/src/ValueObjects/Vector3.ts +0 -269
  566. package/tsconfig.build.json +0 -7
  567. package/tsconfig.cjs.json +0 -9
  568. package/tsconfig.esm.json +0 -12
  569. package/tsconfig.json +0 -19
  570. package/tslint.json +0 -11
@@ -1,567 +0,0 @@
1
- import { Angle } from "./Angle";
2
- import { Quaternion } from "./Quaternion";
3
- import { Vector3 } from "./Vector3";
4
-
5
- export type MatrixArray = [
6
- number,
7
- number,
8
- number,
9
- number,
10
- number,
11
- number,
12
- number,
13
- number,
14
- number,
15
- number,
16
- number,
17
- number,
18
- number,
19
- number,
20
- number,
21
- number
22
- ];
23
-
24
- export class Matrix {
25
- /**
26
- * Consructs an identity matrix
27
- * @returns An identity matrix
28
- */
29
- public static Identity(): Matrix {
30
- return new Matrix([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
31
- }
32
-
33
- /**
34
- * Constructs an matrix of zeros
35
- * @returns A matrix of zeros
36
- */
37
- public static Zero(): Matrix {
38
- return new Matrix([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
39
- }
40
-
41
- /**
42
- * Compares two matricies
43
- * @param a Matrix A
44
- * @param b Matrix B
45
- * @returns True if all the elements in matrix A are equal to all the elements of matrix B
46
- */
47
- public static Equal(a: Matrix, b: Matrix): boolean {
48
- let areEqual = true;
49
- for (let i = 0; i < 16; i++) {
50
- if (a._m[i] !== b._m[i]) {
51
- areEqual = false;
52
- break;
53
- }
54
- }
55
- return areEqual;
56
- }
57
-
58
- /**
59
- * Checks to see if Matrix A is close to Matrix B by comparing elements
60
- * @param a Matrix A
61
- * @param b Matrix B
62
- * @param threshold "Close" thershold. Defaults to 0.001
63
- * @returns True if all the difference between the elements in each array is less than the threshold
64
- */
65
- public static Close(a: Matrix, b: Matrix, threshold = 0.001): boolean {
66
- let areClose = true;
67
- for (let i = 0; i < 16; i++) {
68
- let diff = a._m[i] - b._m[i];
69
- if (diff < 0) {
70
- diff = -diff;
71
- }
72
- if (diff > threshold) {
73
- areClose = false;
74
- break;
75
- }
76
- }
77
- return areClose;
78
- }
79
-
80
- /**
81
- * Multiplies Matrix A and B (AxB)
82
- * @param a Matrix A
83
- * @param b Matrix B
84
- * @returns The result of AxB
85
- */
86
- public static Multiply(a: Matrix, b: Matrix): Matrix {
87
- const aMatrix = a._m;
88
- const bMatrix = b._m;
89
- const tm0 = bMatrix[0];
90
- const tm1 = bMatrix[1];
91
- const tm2 = bMatrix[2];
92
- const tm3 = bMatrix[3];
93
- const tm4 = bMatrix[4];
94
- const tm5 = bMatrix[5];
95
- const tm6 = bMatrix[6];
96
- const tm7 = bMatrix[7];
97
- const tm8 = bMatrix[8];
98
- const tm9 = bMatrix[9];
99
- const tm10 = bMatrix[10];
100
- const tm11 = bMatrix[11];
101
- const tm12 = bMatrix[12];
102
- const tm13 = bMatrix[13];
103
- const tm14 = bMatrix[14];
104
- const tm15 = bMatrix[15];
105
-
106
- const om0 = aMatrix[0];
107
- const om1 = aMatrix[1];
108
- const om2 = aMatrix[2];
109
- const om3 = aMatrix[3];
110
- const om4 = aMatrix[4];
111
- const om5 = aMatrix[5];
112
- const om6 = aMatrix[6];
113
- const om7 = aMatrix[7];
114
- const om8 = aMatrix[8];
115
- const om9 = aMatrix[9];
116
- const om10 = aMatrix[10];
117
- const om11 = aMatrix[11];
118
- const om12 = aMatrix[12];
119
- const om13 = aMatrix[13];
120
- const om14 = aMatrix[14];
121
- const om15 = aMatrix[15];
122
-
123
- const result1 = tm0 * om0 + tm1 * om4 + tm2 * om8 + tm3 * om12;
124
- const result2 = tm0 * om1 + tm1 * om5 + tm2 * om9 + tm3 * om13;
125
- const result3 = tm0 * om2 + tm1 * om6 + tm2 * om10 + tm3 * om14;
126
- const result4 = tm0 * om3 + tm1 * om7 + tm2 * om11 + tm3 * om15;
127
-
128
- const result5 = tm4 * om0 + tm5 * om4 + tm6 * om8 + tm7 * om12;
129
- const result6 = tm4 * om1 + tm5 * om5 + tm6 * om9 + tm7 * om13;
130
- const result7 = tm4 * om2 + tm5 * om6 + tm6 * om10 + tm7 * om14;
131
- const result8 = tm4 * om3 + tm5 * om7 + tm6 * om11 + tm7 * om15;
132
-
133
- const result9 = tm8 * om0 + tm9 * om4 + tm10 * om8 + tm11 * om12;
134
- const result10 = tm8 * om1 + tm9 * om5 + tm10 * om9 + tm11 * om13;
135
- const result11 = tm8 * om2 + tm9 * om6 + tm10 * om10 + tm11 * om14;
136
- const result12 = tm8 * om3 + tm9 * om7 + tm10 * om11 + tm11 * om15;
137
-
138
- const result13 = tm12 * om0 + tm13 * om4 + tm14 * om8 + tm15 * om12;
139
- const result14 = tm12 * om1 + tm13 * om5 + tm14 * om9 + tm15 * om13;
140
- const result15 = tm12 * om2 + tm13 * om6 + tm14 * om10 + tm15 * om14;
141
- const result16 = tm12 * om3 + tm13 * om7 + tm14 * om11 + tm15 * om15;
142
- return new Matrix([
143
- result1,
144
- result2,
145
- result3,
146
- result4,
147
-
148
- result5,
149
- result6,
150
- result7,
151
- result8,
152
-
153
- result9,
154
- result10,
155
- result11,
156
- result12,
157
-
158
- result13,
159
- result14,
160
- result15,
161
- result16,
162
- ]);
163
- }
164
-
165
- /**
166
- * Composes a matrix from a scale vector, rotation quaterion, and translation vector
167
- * @param scale The scale of the transformation matrix
168
- * @param rotation The rotation of the transformation matrix
169
- * @param translation The translation of the transformation matrix
170
- * @returns The composed matrix
171
- */
172
- public static Compose(
173
- scale: Vector3,
174
- rotation: Quaternion,
175
- translation: Vector3
176
- ): Matrix {
177
- const final: MatrixArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
178
-
179
- const rotX = rotation.x;
180
- const rotY = rotation.y;
181
- const rotZ = rotation.z;
182
- const rotW = rotation.w;
183
-
184
- const x2 = rotX + rotX;
185
- const y2 = rotY + rotY;
186
- const z2 = rotZ + rotZ;
187
- const xx = rotX * x2;
188
- const xy = rotX * y2;
189
- const xz = rotX * z2;
190
- const yy = rotY * y2;
191
- const yz = rotY * z2;
192
- const zz = rotZ * z2;
193
- const wx = rotW * x2;
194
- const wy = rotW * y2;
195
- const wz = rotW * z2;
196
-
197
- const scaleX = scale.x;
198
- const scaleY = scale.y;
199
- const scaleZ = scale.z;
200
-
201
- final[0] = (1 - (yy + zz)) * scaleX;
202
- final[1] = (xy + wz) * scaleX;
203
- final[2] = (xz - wy) * scaleX;
204
- final[3] = 0;
205
-
206
- final[4] = (xy - wz) * scaleY;
207
- final[5] = (1 - (xx + zz)) * scaleY;
208
- final[6] = (yz + wx) * scaleY;
209
- final[7] = 0;
210
-
211
- final[8] = (xz + wy) * scaleZ;
212
- final[9] = (yz - wx) * scaleZ;
213
- final[10] = (1 - (xx + yy)) * scaleZ;
214
- final[11] = 0;
215
-
216
- final[12] = translation.x;
217
- final[13] = translation.y;
218
- final[14] = translation.z;
219
- final[15] = 1;
220
-
221
- return new Matrix(final);
222
- }
223
-
224
- /**
225
- * Inverts a matrix into a new matrix.
226
- * @param matrix The matrix to invert
227
- * @returns The inverted matrix unless the matrix cannot be inverted, then the identity is returned
228
- */
229
- public static Invert(matrix: Matrix): Matrix {
230
- const m = matrix._m;
231
- const m00 = m[0];
232
- const m01 = m[1];
233
- const m02 = m[2];
234
- const m03 = m[3];
235
- const m10 = m[4];
236
- const m11 = m[5];
237
- const m12 = m[6];
238
- const m13 = m[7];
239
- const m20 = m[8];
240
- const m21 = m[9];
241
- const m22 = m[10];
242
- const m23 = m[11];
243
- const m30 = m[12];
244
- const m31 = m[13];
245
- const m32 = m[14];
246
- const m33 = m[15];
247
-
248
- const det_12_33 = m12 * m33 - m32 * m13;
249
- const det_11_33 = m11 * m33 - m31 * m13;
250
- const det_11_32 = m11 * m32 - m31 * m12;
251
- const det_10_33 = m10 * m33 - m30 * m13;
252
- const det_10_32 = m10 * m32 - m30 * m12;
253
- const det_10_31 = m10 * m31 - m30 * m11;
254
- const det_12_23 = m12 * m23 - m22 * m13;
255
- const det_11_23 = m11 * m23 - m21 * m13;
256
- const det_11_22 = m11 * m22 - m21 * m12;
257
- const det_10_23 = m10 * m23 - m20 * m13;
258
- const det_10_22 = m10 * m22 - m20 * m12;
259
- const det_10_21 = m10 * m21 - m20 * m11;
260
-
261
- const det_22_33 = m22 * m33 - m32 * m23;
262
- const det_21_33 = m21 * m33 - m31 * m23;
263
- const det_21_32 = m21 * m32 - m31 * m22;
264
- const det_20_33 = m20 * m33 - m30 * m23;
265
- const det_20_32 = m20 * m32 - m22 * m30;
266
- const det_20_31 = m20 * m31 - m30 * m21;
267
-
268
- const cofact_00 = +(m11 * det_22_33 - m12 * det_21_33 + m13 * det_21_32);
269
- const cofact_01 = -(m10 * det_22_33 - m12 * det_20_33 + m13 * det_20_32);
270
- const cofact_02 = +(m10 * det_21_33 - m11 * det_20_33 + m13 * det_20_31);
271
- const cofact_03 = -(m10 * det_21_32 - m11 * det_20_32 + m12 * det_20_31);
272
-
273
- const det =
274
- m00 * cofact_00 + m01 * cofact_01 + m02 * cofact_02 + m03 * cofact_03;
275
- if (det === 0) return Matrix.Identity();
276
-
277
- const detInv = 1 / det;
278
-
279
- const cofact_10 = -(m01 * det_22_33 - m02 * det_21_33 + m03 * det_21_32);
280
- const cofact_11 = +(m00 * det_22_33 - m02 * det_20_33 + m03 * det_20_32);
281
- const cofact_12 = -(m00 * det_21_33 - m01 * det_20_33 + m03 * det_20_31);
282
- const cofact_13 = +(m00 * det_21_32 - m01 * det_20_32 + m02 * det_20_31);
283
-
284
- const cofact_20 = +(m01 * det_12_33 - m02 * det_11_33 + m03 * det_11_32);
285
- const cofact_21 = -(m00 * det_12_33 - m02 * det_10_33 + m03 * det_10_32);
286
- const cofact_22 = +(m00 * det_11_33 - m01 * det_10_33 + m03 * det_10_31);
287
- const cofact_23 = -(m00 * det_11_32 - m01 * det_10_32 + m02 * det_10_31);
288
-
289
- const cofact_30 = -(m01 * det_12_23 - m02 * det_11_23 + m03 * det_11_22);
290
- const cofact_31 = +(m00 * det_12_23 - m02 * det_10_23 + m03 * det_10_22);
291
- const cofact_32 = -(m00 * det_11_23 - m01 * det_10_23 + m03 * det_10_21);
292
- const cofact_33 = +(m00 * det_11_22 - m01 * det_10_22 + m02 * det_10_21);
293
-
294
- return new Matrix([
295
- cofact_00 * detInv,
296
- cofact_10 * detInv,
297
- cofact_20 * detInv,
298
- cofact_30 * detInv,
299
- cofact_01 * detInv,
300
- cofact_11 * detInv,
301
- cofact_21 * detInv,
302
- cofact_31 * detInv,
303
- cofact_02 * detInv,
304
- cofact_12 * detInv,
305
- cofact_22 * detInv,
306
- cofact_32 * detInv,
307
- cofact_03 * detInv,
308
- cofact_13 * detInv,
309
- cofact_23 * detInv,
310
- cofact_33 * detInv,
311
- ]);
312
- }
313
-
314
- /**
315
- * Creates a rotation matrix for a given axes and angle
316
- * @param axis The axes of rotation
317
- * @param angle The angle of rotation
318
- * @returns A new rotation matrix
319
- */
320
- public static FromRotationAxisAngle(axis: Vector3, angle: Angle): Matrix {
321
- const sin = Math.sin(-angle.radians);
322
- const cosin = Math.cos(-angle.radians);
323
- const c1 = 1 - cosin;
324
-
325
- const unit = axis.unit;
326
- const m: MatrixArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
327
- m[0] = unit.x * unit.x * c1 + cosin;
328
- m[1] = unit.x * unit.y * c1 - unit.z * sin;
329
- m[2] = unit.x * unit.z * c1 + unit.y * sin;
330
- m[3] = 0.0;
331
-
332
- m[4] = unit.y * unit.x * c1 + unit.z * sin;
333
- m[5] = unit.y * unit.y * c1 + cosin;
334
- m[6] = unit.y * unit.z * c1 - unit.x * sin;
335
- m[7] = 0.0;
336
-
337
- m[8] = unit.z * unit.x * c1 - unit.y * sin;
338
- m[9] = unit.z * unit.y * c1 + unit.x * sin;
339
- m[10] = unit.z * unit.z * c1 + cosin;
340
- m[11] = 0.0;
341
-
342
- m[12] = 0.0;
343
- m[13] = 0.0;
344
- m[14] = 0.0;
345
- m[15] = 1.0;
346
-
347
- return new Matrix(m);
348
- }
349
-
350
- /**
351
- * Make a new transformation matrix that has the same scale and rotation as the original but the translation is set
352
- * @param original The original matrix
353
- * @param translation The new translation value
354
- * @returns A new matrix that is the same as the original but the translation has been changed
355
- */
356
- public static SetMatrixTranslation(
357
- original: Matrix,
358
- translation: Vector3
359
- ): Matrix {
360
- const values: MatrixArray = original.m;
361
- values[12] = translation.x;
362
- values[13] = translation.y;
363
- values[14] = translation.z;
364
-
365
- return new Matrix(values);
366
- }
367
-
368
- /**
369
- * Make a new transformation matrix that has the same scale and translation as the original but the rotation is set
370
- * @param original The original matrix
371
- * @param rotation The new rotation value
372
- * @returns A new matrix that is the same as the original but the rotation has been changed
373
- */
374
- public static SetMatrixRotation(
375
- original: Matrix,
376
- rotation: Quaternion
377
- ): Matrix {
378
- const scale = original.scale;
379
- const translation = original.translation;
380
-
381
- return Matrix.Compose(scale, rotation, translation);
382
- }
383
-
384
- /**
385
- * Make a new transformation matrix that has the same rotation and translation as the original but the scale is set
386
- * @param original The original matrix
387
- * @param scale The new scale value
388
- * @returns A new matrix that is the same as the original but the scale has been changed
389
- */
390
- public static SetMatrixScale(
391
- original: Matrix,
392
- scale: Vector3
393
- ): Matrix {
394
- const rotation = original.rotation;
395
- const translation = original.translation;
396
-
397
- return Matrix.Compose(scale, rotation, translation);
398
- }
399
-
400
- public static FromFloat32Array(array: Float32Array): Matrix {
401
- if (array.length !== 16) {
402
- console.error("[matrixFrom32] Array does not have a length of 16");
403
- return Matrix.Identity();
404
- }
405
-
406
- const matrixArray: MatrixArray = [
407
- array[0],
408
- array[1],
409
- array[2],
410
- array[3],
411
- array[4],
412
- array[5],
413
- array[6],
414
- array[7],
415
- array[8],
416
- array[9],
417
- array[10],
418
- array[11],
419
- array[12],
420
- array[13],
421
- array[14],
422
- array[15]
423
- ]
424
-
425
- return new Matrix(matrixArray);
426
- }
427
-
428
- public static FlipTransformMatrixHand(matrix: Matrix): Matrix {
429
- const m = matrix.m;
430
- m[2] *= -1;
431
- m[6] *= -1;
432
- m[8] *= -1;
433
- m[9] *= -1;
434
- m[14] *= -1;
435
-
436
- return new Matrix(m);
437
- }
438
-
439
- public static FlipProjectionMatrixHand(matrix: Matrix): Matrix {
440
- const m = matrix.m;
441
- m[8] *= -1;
442
- m[9] *= -1;
443
- m[10] *= -1;
444
- m[11] *= -1;
445
-
446
- return new Matrix(m);
447
- }
448
-
449
- /**
450
- * Returns the determinate of the matrix
451
- */
452
- public get determinate(): number {
453
- const m = this._m;
454
- const m00 = m[0];
455
- const m01 = m[1];
456
- const m02 = m[2];
457
- const m03 = m[3];
458
- const m10 = m[4];
459
- const m11 = m[5];
460
- const m12 = m[6];
461
- const m13 = m[7];
462
- const m20 = m[8];
463
- const m21 = m[9];
464
- const m22 = m[10];
465
- const m23 = m[11];
466
- const m30 = m[12];
467
- const m31 = m[13];
468
- const m32 = m[14];
469
- const m33 = m[15];
470
-
471
- const det_22_33 = m22 * m33 - m32 * m23;
472
- const det_21_33 = m21 * m33 - m31 * m23;
473
- const det_21_32 = m21 * m32 - m31 * m22;
474
- const det_20_33 = m20 * m33 - m30 * m23;
475
- const det_20_32 = m20 * m32 - m22 * m30;
476
- const det_20_31 = m20 * m31 - m30 * m21;
477
- const cofact_00 = +(m11 * det_22_33 - m12 * det_21_33 + m13 * det_21_32);
478
- const cofact_01 = -(m10 * det_22_33 - m12 * det_20_33 + m13 * det_20_32);
479
- const cofact_02 = +(m10 * det_21_33 - m11 * det_20_33 + m13 * det_20_31);
480
- const cofact_03 = -(m10 * det_21_32 - m11 * det_20_32 + m12 * det_20_31);
481
- return (
482
- m00 * cofact_00 + m01 * cofact_01 + m02 * cofact_02 + m03 * cofact_03
483
- );
484
- }
485
-
486
- /**
487
- * Returns the translation component of the transformation matrix as a Vector
488
- */
489
- get translation(): Vector3 {
490
- return new Vector3(this._m[12], this._m[13], this._m[14]);
491
- }
492
-
493
- /**
494
- * Returns the scale of the transformation matrix as a vector
495
- */
496
- get scale(): Vector3 {
497
- const x = Math.sqrt(
498
- this._m[0] * this._m[0] +
499
- this._m[1] * this._m[1] +
500
- this._m[2] * this._m[2]
501
- );
502
- let y = Math.sqrt(
503
- this._m[4] * this._m[4] +
504
- this._m[5] * this._m[5] +
505
- this._m[6] * this._m[6]
506
- );
507
- const z = Math.sqrt(
508
- this._m[8] * this._m[8] +
509
- this._m[9] * this._m[9] +
510
- this._m[10] * this._m[10]
511
- );
512
-
513
- if (this.determinate <= 0) {
514
- y = -y;
515
- }
516
-
517
- return new Vector3(x, y, z);
518
- }
519
-
520
- /**
521
- * Returns the rotation components of the transformation matrix as a Quaternion
522
- */
523
- get rotation(): Quaternion {
524
- return Quaternion.FromRotationMatrix(this.rotationMatrix);
525
- }
526
-
527
- /**
528
- * Returns just the rotation matrix of the transformation matrix
529
- */
530
- get rotationMatrix(): Matrix {
531
- const scale = this.scale;
532
- const sx = 1 / scale.x;
533
- const sy = 1 / scale.y;
534
- const sz = 1 / scale.z;
535
-
536
- const rMatrixValues: MatrixArray = [
537
- this._m[0] * sx,
538
- this._m[1] * sx,
539
- this._m[2] * sx,
540
- 0.0,
541
- this._m[4] * sy,
542
- this._m[5] * sy,
543
- this._m[6] * sy,
544
- 0.0,
545
- this._m[8] * sz,
546
- this._m[9] * sz,
547
- this._m[10] * sz,
548
- 0.0,
549
- 0.0,
550
- 0.0,
551
- 0.0,
552
- 1.0,
553
- ];
554
-
555
- return new Matrix(rMatrixValues);
556
- }
557
-
558
- // Row, column
559
- private readonly _m: MatrixArray;
560
- get m(): MatrixArray {
561
- return [...this._m];
562
- }
563
-
564
- constructor(m: MatrixArray) {
565
- this._m = m;
566
- }
567
- }
@@ -1,155 +0,0 @@
1
- import { Vector3 } from ".";
2
- import { LineParameters, ParametricLine } from "./ParametricLine";
3
-
4
- test("Setting and getting the parameters", () => {
5
- const inputParameters: LineParameters = {
6
- x0: 1,
7
- y0: 2,
8
- z0: 3,
9
- a: 4,
10
- b: 5,
11
- c: 6,
12
- };
13
- const line = new ParametricLine(inputParameters);
14
-
15
- const dirUnit = new Vector3(4, 5, 6).unit;
16
-
17
- expect(line.x0).toEqual(inputParameters.x0);
18
- expect(line.y0).toEqual(inputParameters.y0);
19
- expect(line.z0).toEqual(inputParameters.z0);
20
- expect(line.a).toBeCloseTo(dirUnit.x);
21
- expect(line.b).toBeCloseTo(dirUnit.y);
22
- expect(line.c).toBeCloseTo(dirUnit.z);
23
- });
24
-
25
- test("Line from point and direction", () => {
26
- const point = new Vector3(1, 2, 3);
27
- const dir = new Vector3(10, 20, 30).unit;
28
-
29
- const line = ParametricLine.FromPointDirection(point, dir);
30
-
31
- expect(line.x0).toEqual(1);
32
- expect(line.y0).toEqual(2);
33
- expect(line.z0).toEqual(3);
34
- expect(line.a).toBeCloseTo(dir.x);
35
- expect(line.b).toBeCloseTo(dir.y);
36
- expect(line.c).toBeCloseTo(dir.z);
37
- });
38
-
39
- test("From two points", () => {
40
- const p1 = new Vector3(1, 2, 3);
41
- const p2 = new Vector3(4, 5, 6);
42
-
43
- const line = ParametricLine.FromTwoPoint(p1, p2);
44
-
45
- const dir = Vector3.Subtract(p2, p1).unit;
46
-
47
- expect(line.x0).toEqual(1);
48
- expect(line.y0).toEqual(2);
49
- expect(line.z0).toEqual(3);
50
- expect(line.a).toEqual(dir.x);
51
- expect(line.b).toEqual(dir.y);
52
- expect(line.c).toEqual(dir.z);
53
- });
54
-
55
- test("Get point", () => {
56
- const p1 = new Vector3(1, 2, 3);
57
- const p2 = new Vector3(4, 5, 6);
58
-
59
- let dir = Vector3.Subtract(p2, p1).unit;
60
-
61
- const distance = 11;
62
- dir = Vector3.NewVectorOfLength(dir, distance);
63
- const expectedPoint = Vector3.Add(p1, dir);
64
-
65
- const line = ParametricLine.FromTwoPoint(p1, p2);
66
- const point = ParametricLine.GetPointAtDistance(line, distance);
67
- expect(point.array).toEqual(expectedPoint.array);
68
- });
69
-
70
- test("Get point along forward", () => {
71
- const line = ParametricLine.Forward();
72
- const point = ParametricLine.GetPointAtDistance(line, 11);
73
- expect(point.array).toEqual([0, 0, 11]);
74
- });
75
-
76
- test("Get point along backwards", () => {
77
- const line = ParametricLine.Backward();
78
- const point = ParametricLine.GetPointAtDistance(line, 11);
79
- expect(point.array).toEqual([0, 0, -11]);
80
- });
81
-
82
- test("Get point along up", () => {
83
- const line = ParametricLine.Up();
84
- const point = ParametricLine.GetPointAtDistance(line, 11);
85
- expect(point.array).toEqual([0, 11, 0]);
86
- });
87
-
88
- test("Get point along down", () => {
89
- const line = ParametricLine.Down();
90
- const point = ParametricLine.GetPointAtDistance(line, 11);
91
- expect(point.array).toEqual([0, -11, 0]);
92
- });
93
-
94
- test("Get point along left", () => {
95
- const line = ParametricLine.Left();
96
- const point = ParametricLine.GetPointAtDistance(line, 11);
97
- expect(point.array).toEqual([-11, 0, 0]);
98
- });
99
-
100
- test("Get point along right", () => {
101
- const line = ParametricLine.Right();
102
- const point = ParametricLine.GetPointAtDistance(line, 11);
103
- expect(point.array).toEqual([11, 0, 0]);
104
- });
105
-
106
- test("Check for equality", () => {
107
- const inputParameters: LineParameters = {
108
- x0: 1,
109
- y0: 2,
110
- z0: 3,
111
- a: 4,
112
- b: 5,
113
- c: 6,
114
- };
115
- const line1 = new ParametricLine(inputParameters);
116
- const line2 = new ParametricLine(inputParameters);
117
-
118
- expect(line1).toEqual(line2);
119
- });
120
-
121
- test("Geting the origin", () => {
122
- const origin = new Vector3(1, 2, 3);
123
- const direction = new Vector3(4, 5, 6).unit;
124
- const line = ParametricLine.FromPointDirection(origin, direction);
125
-
126
- expect(line.origin).toEqual(origin);
127
- });
128
-
129
- test("Getting the direction", () => {
130
- const origin = new Vector3(1, 2, 3);
131
- const direction = new Vector3(4, 5, 6).unit;
132
- const line = ParametricLine.FromPointDirection(origin, direction);
133
-
134
- expect(Vector3.Close(line.direction, direction)).toEqual(true);
135
- });
136
-
137
- test("Ensures the direction is unit", () => {
138
- const origin = new Vector3(1, 2, 3);
139
- const direction = new Vector3(4, 5, 6);
140
- const line = ParametricLine.FromPointDirection(origin, direction);
141
-
142
- expect(line.direction).toEqual(direction.unit);
143
- });
144
-
145
- test("Get distance to point", () => {
146
- const origin = new Vector3(1, 2, 3);
147
- const direction = new Vector3(4, 5, 6);
148
- const line = ParametricLine.FromPointDirection(origin, direction);
149
-
150
- const point = new Vector3(10, 20, 30);
151
-
152
- const expected = Vector3.Subtract(point, origin).magnitude;
153
-
154
- expect(ParametricLine.GetDistanceToPoint(line, point)).toEqual(expected);
155
- });