@vived/core 1.2.0 → 1.2.1

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