@fimbul-works/vec 1.0.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +208 -85
- package/dist/cjs/2d/add-2d.d.ts +8 -0
- package/dist/cjs/2d/add-2d.js +11 -0
- package/dist/cjs/2d/angle-between-2d.d.ts +8 -0
- package/dist/cjs/2d/angle-between-2d.js +11 -0
- package/dist/cjs/2d/angle-x-2d.d.ts +7 -0
- package/dist/cjs/2d/angle-x-2d.js +10 -0
- package/dist/cjs/2d/angle-y-2d.d.ts +7 -0
- package/dist/cjs/2d/angle-y-2d.js +10 -0
- package/dist/cjs/2d/clamp-2d.d.ts +10 -0
- package/dist/cjs/2d/clamp-2d.js +14 -0
- package/dist/cjs/2d/clone-2d.d.ts +7 -0
- package/dist/cjs/2d/clone-2d.js +10 -0
- package/dist/cjs/2d/cross-2d.d.ts +8 -0
- package/dist/cjs/2d/cross-2d.js +11 -0
- package/dist/cjs/2d/distance-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-2d.js +11 -0
- package/dist/cjs/2d/distance-chebyshev-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-chebyshev-2d.js +15 -0
- package/dist/cjs/2d/distance-manhattan-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-manhattan-2d.js +11 -0
- package/dist/cjs/2d/distance-minkowski-2d.d.ts +9 -0
- package/dist/cjs/2d/distance-minkowski-2d.js +12 -0
- package/dist/cjs/2d/distance-sq-2d.d.ts +8 -0
- package/dist/cjs/2d/distance-sq-2d.js +11 -0
- package/dist/cjs/2d/divide-2d.d.ts +8 -0
- package/dist/cjs/2d/divide-2d.js +14 -0
- package/dist/cjs/2d/dot-2d.d.ts +8 -0
- package/dist/cjs/2d/dot-2d.js +11 -0
- package/dist/cjs/2d/from-angle-x-2d.d.ts +8 -0
- package/dist/cjs/2d/from-angle-x-2d.js +14 -0
- package/dist/cjs/2d/from-angle-y-2d.d.ts +8 -0
- package/dist/cjs/2d/from-angle-y-2d.js +14 -0
- package/dist/cjs/2d/from-object-2d.d.ts +10 -0
- package/dist/cjs/2d/from-object-2d.js +10 -0
- package/dist/cjs/2d/from-polar-coords-2d.d.ts +8 -0
- package/dist/cjs/2d/from-polar-coords-2d.js +11 -0
- package/dist/cjs/2d/immutable-2d.d.ts +7 -0
- package/dist/cjs/2d/immutable-2d.js +10 -0
- package/dist/cjs/2d/index.d.ts +47 -0
- package/dist/cjs/2d/index.js +63 -0
- package/dist/cjs/2d/is-equal-2d.d.ts +8 -0
- package/dist/cjs/2d/is-equal-2d.js +11 -0
- package/dist/cjs/2d/is-equal-approx-2d.d.ts +9 -0
- package/dist/cjs/2d/is-equal-approx-2d.js +12 -0
- package/dist/cjs/2d/is-infinite-2d.d.ts +7 -0
- package/dist/cjs/2d/is-infinite-2d.js +13 -0
- package/dist/cjs/2d/is-nan-2d.d.ts +7 -0
- package/dist/cjs/2d/is-nan-2d.js +10 -0
- package/dist/cjs/2d/is-opposite-2d.d.ts +8 -0
- package/dist/cjs/2d/is-opposite-2d.js +11 -0
- package/dist/cjs/2d/is-zero-2d.d.ts +7 -0
- package/dist/cjs/2d/is-zero-2d.js +10 -0
- package/dist/cjs/2d/lerp-2d.d.ts +9 -0
- package/dist/cjs/2d/lerp-2d.js +15 -0
- package/dist/cjs/2d/limit-max-2d.d.ts +9 -0
- package/dist/cjs/2d/limit-max-2d.js +13 -0
- package/dist/cjs/2d/limit-min-2d.d.ts +9 -0
- package/dist/cjs/2d/limit-min-2d.js +13 -0
- package/dist/cjs/2d/look-at-2d.d.ts +10 -0
- package/dist/cjs/2d/look-at-2d.js +14 -0
- package/dist/cjs/2d/magnitude-2d.d.ts +7 -0
- package/dist/cjs/2d/magnitude-2d.js +10 -0
- package/dist/cjs/2d/magnitude-sq-2d.d.ts +7 -0
- package/dist/cjs/2d/magnitude-sq-2d.js +10 -0
- package/dist/cjs/2d/multiply-2d.d.ts +8 -0
- package/dist/cjs/2d/multiply-2d.js +11 -0
- package/dist/cjs/2d/negate-2d.d.ts +7 -0
- package/dist/cjs/2d/negate-2d.js +10 -0
- package/dist/cjs/2d/normalize-2d.d.ts +8 -0
- package/dist/cjs/2d/normalize-2d.js +12 -0
- package/dist/cjs/2d/one-2d.d.ts +6 -0
- package/dist/cjs/2d/one-2d.js +9 -0
- package/dist/cjs/2d/project-2d.d.ts +10 -0
- package/dist/cjs/2d/project-2d.js +17 -0
- package/dist/cjs/2d/random-2d.d.ts +7 -0
- package/dist/cjs/2d/random-2d.js +13 -0
- package/dist/cjs/2d/reflect-2d.d.ts +9 -0
- package/dist/cjs/2d/reflect-2d.js +16 -0
- package/dist/cjs/2d/rotate-2d.d.ts +9 -0
- package/dist/cjs/2d/rotate-2d.js +27 -0
- package/dist/cjs/2d/set-magnitude-2d.d.ts +9 -0
- package/dist/cjs/2d/set-magnitude-2d.js +16 -0
- package/dist/cjs/2d/subtract-2d.d.ts +8 -0
- package/dist/cjs/2d/subtract-2d.js +11 -0
- package/dist/cjs/2d/types.d.ts +4 -0
- package/dist/cjs/2d/types.js +2 -0
- package/dist/cjs/2d/zero-2d.d.ts +6 -0
- package/dist/cjs/2d/zero-2d.js +9 -0
- package/dist/cjs/3d/add-3d.d.ts +8 -0
- package/dist/cjs/3d/add-3d.js +15 -0
- package/dist/cjs/3d/angle-between-3d.d.ts +10 -0
- package/dist/cjs/3d/angle-between-3d.js +14 -0
- package/dist/cjs/3d/angle-x-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-x-3d.js +10 -0
- package/dist/cjs/3d/angle-y-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-y-3d.js +10 -0
- package/dist/cjs/3d/angle-z-3d.d.ts +7 -0
- package/dist/cjs/3d/angle-z-3d.js +10 -0
- package/dist/cjs/3d/clamp-3d.d.ts +10 -0
- package/dist/cjs/3d/clamp-3d.js +18 -0
- package/dist/cjs/3d/clone-3d.d.ts +7 -0
- package/dist/cjs/3d/clone-3d.js +10 -0
- package/dist/cjs/3d/cross-3d.d.ts +8 -0
- package/dist/cjs/3d/cross-3d.js +15 -0
- package/dist/cjs/3d/distance-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-3d.js +11 -0
- package/dist/cjs/3d/distance-chebyshev-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-chebyshev-3d.js +16 -0
- package/dist/cjs/3d/distance-manhattan-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-manhattan-3d.js +11 -0
- package/dist/cjs/3d/distance-minkowski-3d.d.ts +9 -0
- package/dist/cjs/3d/distance-minkowski-3d.js +12 -0
- package/dist/cjs/3d/distance-sq-3d.d.ts +8 -0
- package/dist/cjs/3d/distance-sq-3d.js +11 -0
- package/dist/cjs/3d/divide-3d.d.ts +8 -0
- package/dist/cjs/3d/divide-3d.js +15 -0
- package/dist/cjs/3d/dot-3d.d.ts +8 -0
- package/dist/cjs/3d/dot-3d.js +11 -0
- package/dist/cjs/3d/from-cylindrical-coords-3d.d.ts +9 -0
- package/dist/cjs/3d/from-cylindrical-coords-3d.js +16 -0
- package/dist/cjs/3d/from-object-3d.d.ts +11 -0
- package/dist/cjs/3d/from-object-3d.js +10 -0
- package/dist/cjs/3d/from-spherical-coords-3d.d.ts +9 -0
- package/dist/cjs/3d/from-spherical-coords-3d.js +16 -0
- package/dist/cjs/3d/immutable-3d.d.ts +7 -0
- package/dist/cjs/3d/immutable-3d.js +10 -0
- package/dist/cjs/3d/index.d.ts +49 -0
- package/dist/cjs/3d/index.js +65 -0
- package/dist/cjs/3d/is-equal-3d.d.ts +8 -0
- package/dist/cjs/3d/is-equal-3d.js +11 -0
- package/dist/cjs/3d/is-equal-approx-3d.d.ts +9 -0
- package/dist/cjs/3d/is-equal-approx-3d.js +14 -0
- package/dist/cjs/3d/is-infinite-3d.d.ts +7 -0
- package/dist/cjs/3d/is-infinite-3d.js +15 -0
- package/dist/cjs/3d/is-nan-3d.d.ts +7 -0
- package/dist/cjs/3d/is-nan-3d.js +10 -0
- package/dist/cjs/3d/is-opposite-3d.d.ts +8 -0
- package/dist/cjs/3d/is-opposite-3d.js +11 -0
- package/dist/cjs/3d/is-zero-3d.d.ts +7 -0
- package/dist/cjs/3d/is-zero-3d.js +10 -0
- package/dist/cjs/3d/lerp-3d.d.ts +9 -0
- package/dist/cjs/3d/lerp-3d.js +16 -0
- package/dist/cjs/3d/limit-max-3d.d.ts +9 -0
- package/dist/cjs/3d/limit-max-3d.js +13 -0
- package/dist/cjs/3d/limit-min-3d.d.ts +9 -0
- package/dist/cjs/3d/limit-min-3d.js +13 -0
- package/dist/cjs/3d/look-at-3d.d.ts +10 -0
- package/dist/cjs/3d/look-at-3d.js +14 -0
- package/dist/cjs/3d/magnitude-3d.d.ts +7 -0
- package/dist/cjs/3d/magnitude-3d.js +10 -0
- package/dist/cjs/3d/magnitude-sq-3d.d.ts +7 -0
- package/dist/cjs/3d/magnitude-sq-3d.js +10 -0
- package/dist/cjs/3d/multiply-3d.d.ts +8 -0
- package/dist/cjs/3d/multiply-3d.js +15 -0
- package/dist/cjs/3d/negate-3d.d.ts +7 -0
- package/dist/cjs/3d/negate-3d.js +10 -0
- package/dist/cjs/3d/normalize-3d.d.ts +8 -0
- package/dist/cjs/3d/normalize-3d.js +12 -0
- package/dist/cjs/3d/one-3d.d.ts +6 -0
- package/dist/cjs/3d/one-3d.js +9 -0
- package/dist/cjs/3d/project-3d.d.ts +10 -0
- package/dist/cjs/3d/project-3d.js +17 -0
- package/dist/cjs/3d/random-3d.d.ts +7 -0
- package/dist/cjs/3d/random-3d.js +11 -0
- package/dist/cjs/3d/reflect-3d.d.ts +9 -0
- package/dist/cjs/3d/reflect-3d.js +16 -0
- package/dist/cjs/3d/rotate-x-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-x-3d.js +26 -0
- package/dist/cjs/3d/rotate-y-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-y-3d.js +26 -0
- package/dist/cjs/3d/rotate-z-3d.d.ts +9 -0
- package/dist/cjs/3d/rotate-z-3d.js +26 -0
- package/dist/cjs/3d/set-magnitude-3d.d.ts +9 -0
- package/dist/cjs/3d/set-magnitude-3d.js +13 -0
- package/dist/cjs/3d/subtract-3d.d.ts +8 -0
- package/dist/cjs/3d/subtract-3d.js +15 -0
- package/dist/cjs/3d/types.d.ts +4 -0
- package/dist/cjs/3d/types.js +2 -0
- package/dist/cjs/3d/zero-3d.d.ts +6 -0
- package/dist/cjs/3d/zero-3d.js +9 -0
- package/dist/cjs/4d/add-4d.d.ts +8 -0
- package/dist/cjs/4d/add-4d.js +16 -0
- package/dist/cjs/4d/angle-between-4d.d.ts +10 -0
- package/dist/cjs/4d/angle-between-4d.js +15 -0
- package/dist/cjs/4d/angle-w-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-w-4d.js +10 -0
- package/dist/cjs/4d/angle-x-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-x-4d.js +10 -0
- package/dist/cjs/4d/angle-y-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-y-4d.js +10 -0
- package/dist/cjs/4d/angle-z-4d.d.ts +7 -0
- package/dist/cjs/4d/angle-z-4d.js +10 -0
- package/dist/cjs/4d/clamp-4d.d.ts +10 -0
- package/dist/cjs/4d/clamp-4d.js +18 -0
- package/dist/cjs/4d/clone-4d.d.ts +7 -0
- package/dist/cjs/4d/clone-4d.js +10 -0
- package/dist/cjs/4d/distance-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-4d.js +11 -0
- package/dist/cjs/4d/distance-chebyshev-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-chebyshev-4d.js +23 -0
- package/dist/cjs/4d/distance-manhattan-4d.d.ts +8 -0
- package/dist/cjs/4d/distance-manhattan-4d.js +14 -0
- package/dist/cjs/4d/distance-minkowski-4d.d.ts +9 -0
- package/dist/cjs/4d/distance-minkowski-4d.js +16 -0
- package/dist/cjs/4d/distance-sq-4d.d.ts +9 -0
- package/dist/cjs/4d/distance-sq-4d.js +12 -0
- package/dist/cjs/4d/divide-4d.d.ts +8 -0
- package/dist/cjs/4d/divide-4d.js +16 -0
- package/dist/cjs/4d/dot-4d.d.ts +8 -0
- package/dist/cjs/4d/dot-4d.js +11 -0
- package/dist/cjs/4d/from-object-4d.d.ts +12 -0
- package/dist/cjs/4d/from-object-4d.js +15 -0
- package/dist/cjs/4d/immutable-4d.d.ts +7 -0
- package/dist/cjs/4d/immutable-4d.js +10 -0
- package/dist/cjs/4d/index.d.ts +44 -0
- package/dist/cjs/4d/index.js +60 -0
- package/dist/cjs/4d/is-equal-4d.d.ts +8 -0
- package/dist/cjs/4d/is-equal-4d.js +11 -0
- package/dist/cjs/4d/is-equal-approx-4d.d.ts +9 -0
- package/dist/cjs/4d/is-equal-approx-4d.js +15 -0
- package/dist/cjs/4d/is-infinite-4d.d.ts +7 -0
- package/dist/cjs/4d/is-infinite-4d.js +17 -0
- package/dist/cjs/4d/is-nan-4d.d.ts +7 -0
- package/dist/cjs/4d/is-nan-4d.js +10 -0
- package/dist/cjs/4d/is-opposite-4d.d.ts +8 -0
- package/dist/cjs/4d/is-opposite-4d.js +11 -0
- package/dist/cjs/4d/is-zero-4d.d.ts +7 -0
- package/dist/cjs/4d/is-zero-4d.js +10 -0
- package/dist/cjs/4d/lerp-4d.d.ts +9 -0
- package/dist/cjs/4d/lerp-4d.js +17 -0
- package/dist/cjs/4d/limit-max-4d.d.ts +9 -0
- package/dist/cjs/4d/limit-max-4d.js +13 -0
- package/dist/cjs/4d/limit-min-4d.d.ts +9 -0
- package/dist/cjs/4d/limit-min-4d.js +13 -0
- package/dist/cjs/4d/look-at-4d.d.ts +10 -0
- package/dist/cjs/4d/look-at-4d.js +14 -0
- package/dist/cjs/4d/magnitude-4d.d.ts +7 -0
- package/dist/cjs/4d/magnitude-4d.js +10 -0
- package/dist/cjs/4d/magnitude-sq-4d.d.ts +8 -0
- package/dist/cjs/4d/magnitude-sq-4d.js +11 -0
- package/dist/cjs/4d/multiply-4d.d.ts +8 -0
- package/dist/cjs/4d/multiply-4d.js +16 -0
- package/dist/cjs/4d/negate-4d.d.ts +7 -0
- package/dist/cjs/4d/negate-4d.js +10 -0
- package/dist/cjs/4d/normalize-4d.d.ts +8 -0
- package/dist/cjs/4d/normalize-4d.js +17 -0
- package/dist/cjs/4d/one-4d.d.ts +6 -0
- package/dist/cjs/4d/one-4d.js +9 -0
- package/dist/cjs/4d/project-4d.d.ts +10 -0
- package/dist/cjs/4d/project-4d.js +18 -0
- package/dist/cjs/4d/random-4d.d.ts +7 -0
- package/dist/cjs/4d/random-4d.js +21 -0
- package/dist/cjs/4d/reflect-4d.d.ts +9 -0
- package/dist/cjs/4d/reflect-4d.js +21 -0
- package/dist/cjs/4d/set-magnitude-4d.d.ts +9 -0
- package/dist/cjs/4d/set-magnitude-4d.js +18 -0
- package/dist/cjs/4d/subtract-4d.d.ts +8 -0
- package/dist/cjs/4d/subtract-4d.js +16 -0
- package/dist/cjs/4d/types.d.ts +4 -0
- package/dist/cjs/4d/types.js +2 -0
- package/dist/cjs/4d/zero-4d.d.ts +6 -0
- package/dist/cjs/4d/zero-4d.js +9 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.js +23 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/slerp.d.ts +21 -0
- package/dist/cjs/slerp.js +28 -0
- package/dist/{vec2.d.ts → cjs/vec2.d.ts} +10 -4
- package/dist/cjs/vec2.js +889 -0
- package/dist/{vec3.d.ts → cjs/vec3.d.ts} +159 -100
- package/dist/cjs/vec3.js +1045 -0
- package/dist/cjs/vec4.d.ts +602 -0
- package/dist/cjs/vec4.js +1101 -0
- package/dist/esm/2d/add-2d.d.ts +8 -0
- package/dist/esm/2d/add-2d.js +7 -0
- package/dist/esm/2d/angle-between-2d.d.ts +8 -0
- package/dist/esm/2d/angle-between-2d.js +7 -0
- package/dist/esm/2d/angle-x-2d.d.ts +7 -0
- package/dist/esm/2d/angle-x-2d.js +6 -0
- package/dist/esm/2d/angle-y-2d.d.ts +7 -0
- package/dist/esm/2d/angle-y-2d.js +6 -0
- package/dist/esm/2d/clamp-2d.d.ts +10 -0
- package/dist/esm/2d/clamp-2d.js +10 -0
- package/dist/esm/2d/clone-2d.d.ts +7 -0
- package/dist/esm/2d/clone-2d.js +6 -0
- package/dist/esm/2d/cross-2d.d.ts +8 -0
- package/dist/esm/2d/cross-2d.js +7 -0
- package/dist/esm/2d/distance-2d.d.ts +8 -0
- package/dist/esm/2d/distance-2d.js +7 -0
- package/dist/esm/2d/distance-chebyshev-2d.d.ts +8 -0
- package/dist/esm/2d/distance-chebyshev-2d.js +11 -0
- package/dist/esm/2d/distance-manhattan-2d.d.ts +8 -0
- package/dist/esm/2d/distance-manhattan-2d.js +7 -0
- package/dist/esm/2d/distance-minkowski-2d.d.ts +9 -0
- package/dist/esm/2d/distance-minkowski-2d.js +8 -0
- package/dist/esm/2d/distance-sq-2d.d.ts +8 -0
- package/dist/esm/2d/distance-sq-2d.js +7 -0
- package/dist/esm/2d/divide-2d.d.ts +8 -0
- package/dist/esm/2d/divide-2d.js +10 -0
- package/dist/esm/2d/dot-2d.d.ts +8 -0
- package/dist/esm/2d/dot-2d.js +7 -0
- package/dist/esm/2d/from-angle-x-2d.d.ts +8 -0
- package/dist/esm/2d/from-angle-x-2d.js +10 -0
- package/dist/esm/2d/from-angle-y-2d.d.ts +8 -0
- package/dist/esm/2d/from-angle-y-2d.js +10 -0
- package/dist/esm/2d/from-object-2d.d.ts +10 -0
- package/dist/esm/2d/from-object-2d.js +6 -0
- package/dist/esm/2d/from-polar-coords-2d.d.ts +8 -0
- package/dist/esm/2d/from-polar-coords-2d.js +7 -0
- package/dist/esm/2d/immutable-2d.d.ts +7 -0
- package/dist/esm/2d/immutable-2d.js +6 -0
- package/dist/esm/2d/index.d.ts +47 -0
- package/dist/esm/2d/index.js +47 -0
- package/dist/esm/2d/is-equal-2d.d.ts +8 -0
- package/dist/esm/2d/is-equal-2d.js +7 -0
- package/dist/esm/2d/is-equal-approx-2d.d.ts +9 -0
- package/dist/esm/2d/is-equal-approx-2d.js +8 -0
- package/dist/esm/2d/is-infinite-2d.d.ts +7 -0
- package/dist/esm/2d/is-infinite-2d.js +9 -0
- package/dist/esm/2d/is-nan-2d.d.ts +7 -0
- package/dist/esm/2d/is-nan-2d.js +6 -0
- package/dist/esm/2d/is-opposite-2d.d.ts +8 -0
- package/dist/esm/2d/is-opposite-2d.js +7 -0
- package/dist/esm/2d/is-zero-2d.d.ts +7 -0
- package/dist/esm/2d/is-zero-2d.js +6 -0
- package/dist/esm/2d/lerp-2d.d.ts +9 -0
- package/dist/esm/2d/lerp-2d.js +11 -0
- package/dist/esm/2d/limit-max-2d.d.ts +9 -0
- package/dist/esm/2d/limit-max-2d.js +9 -0
- package/dist/esm/2d/limit-min-2d.d.ts +9 -0
- package/dist/esm/2d/limit-min-2d.js +9 -0
- package/dist/esm/2d/look-at-2d.d.ts +10 -0
- package/dist/esm/2d/look-at-2d.js +10 -0
- package/dist/esm/2d/magnitude-2d.d.ts +7 -0
- package/dist/esm/2d/magnitude-2d.js +6 -0
- package/dist/esm/2d/magnitude-sq-2d.d.ts +7 -0
- package/dist/esm/2d/magnitude-sq-2d.js +6 -0
- package/dist/esm/2d/multiply-2d.d.ts +8 -0
- package/dist/esm/2d/multiply-2d.js +7 -0
- package/dist/esm/2d/negate-2d.d.ts +7 -0
- package/dist/esm/2d/negate-2d.js +6 -0
- package/dist/esm/2d/normalize-2d.d.ts +8 -0
- package/dist/esm/2d/normalize-2d.js +8 -0
- package/dist/esm/2d/one-2d.d.ts +6 -0
- package/dist/esm/2d/one-2d.js +5 -0
- package/dist/esm/2d/project-2d.d.ts +10 -0
- package/dist/esm/2d/project-2d.js +13 -0
- package/dist/esm/2d/random-2d.d.ts +7 -0
- package/dist/esm/2d/random-2d.js +9 -0
- package/dist/esm/2d/reflect-2d.d.ts +9 -0
- package/dist/esm/2d/reflect-2d.js +12 -0
- package/dist/esm/2d/rotate-2d.d.ts +9 -0
- package/dist/esm/2d/rotate-2d.js +23 -0
- package/dist/esm/2d/set-magnitude-2d.d.ts +9 -0
- package/dist/esm/2d/set-magnitude-2d.js +12 -0
- package/dist/esm/2d/subtract-2d.d.ts +8 -0
- package/dist/esm/2d/subtract-2d.js +7 -0
- package/dist/esm/2d/types.d.ts +4 -0
- package/dist/esm/2d/types.js +1 -0
- package/dist/esm/2d/zero-2d.d.ts +6 -0
- package/dist/esm/2d/zero-2d.js +5 -0
- package/dist/esm/3d/add-3d.d.ts +8 -0
- package/dist/esm/3d/add-3d.js +11 -0
- package/dist/esm/3d/angle-between-3d.d.ts +10 -0
- package/dist/esm/3d/angle-between-3d.js +10 -0
- package/dist/esm/3d/angle-x-3d.d.ts +7 -0
- package/dist/esm/3d/angle-x-3d.js +6 -0
- package/dist/esm/3d/angle-y-3d.d.ts +7 -0
- package/dist/esm/3d/angle-y-3d.js +6 -0
- package/dist/esm/3d/angle-z-3d.d.ts +7 -0
- package/dist/esm/3d/angle-z-3d.js +6 -0
- package/dist/esm/3d/clamp-3d.d.ts +10 -0
- package/dist/esm/3d/clamp-3d.js +14 -0
- package/dist/esm/3d/clone-3d.d.ts +7 -0
- package/dist/esm/3d/clone-3d.js +6 -0
- package/dist/esm/3d/cross-3d.d.ts +8 -0
- package/dist/esm/3d/cross-3d.js +11 -0
- package/dist/esm/3d/distance-3d.d.ts +8 -0
- package/dist/esm/3d/distance-3d.js +7 -0
- package/dist/esm/3d/distance-chebyshev-3d.d.ts +8 -0
- package/dist/esm/3d/distance-chebyshev-3d.js +12 -0
- package/dist/esm/3d/distance-manhattan-3d.d.ts +8 -0
- package/dist/esm/3d/distance-manhattan-3d.js +7 -0
- package/dist/esm/3d/distance-minkowski-3d.d.ts +9 -0
- package/dist/esm/3d/distance-minkowski-3d.js +8 -0
- package/dist/esm/3d/distance-sq-3d.d.ts +8 -0
- package/dist/esm/3d/distance-sq-3d.js +7 -0
- package/dist/esm/3d/divide-3d.d.ts +8 -0
- package/dist/esm/3d/divide-3d.js +11 -0
- package/dist/esm/3d/dot-3d.d.ts +8 -0
- package/dist/esm/3d/dot-3d.js +7 -0
- package/dist/esm/3d/from-cylindrical-coords-3d.d.ts +9 -0
- package/dist/esm/3d/from-cylindrical-coords-3d.js +12 -0
- package/dist/esm/3d/from-object-3d.d.ts +11 -0
- package/dist/esm/3d/from-object-3d.js +6 -0
- package/dist/esm/3d/from-spherical-coords-3d.d.ts +9 -0
- package/dist/esm/3d/from-spherical-coords-3d.js +12 -0
- package/dist/esm/3d/immutable-3d.d.ts +7 -0
- package/dist/esm/3d/immutable-3d.js +6 -0
- package/dist/esm/3d/index.d.ts +49 -0
- package/dist/esm/3d/index.js +49 -0
- package/dist/esm/3d/is-equal-3d.d.ts +8 -0
- package/dist/esm/3d/is-equal-3d.js +7 -0
- package/dist/esm/3d/is-equal-approx-3d.d.ts +9 -0
- package/dist/esm/3d/is-equal-approx-3d.js +10 -0
- package/dist/esm/3d/is-infinite-3d.d.ts +7 -0
- package/dist/esm/3d/is-infinite-3d.js +11 -0
- package/dist/esm/3d/is-nan-3d.d.ts +7 -0
- package/dist/esm/3d/is-nan-3d.js +6 -0
- package/dist/esm/3d/is-opposite-3d.d.ts +8 -0
- package/dist/esm/3d/is-opposite-3d.js +7 -0
- package/dist/esm/3d/is-zero-3d.d.ts +7 -0
- package/dist/esm/3d/is-zero-3d.js +6 -0
- package/dist/esm/3d/lerp-3d.d.ts +9 -0
- package/dist/esm/3d/lerp-3d.js +12 -0
- package/dist/esm/3d/limit-max-3d.d.ts +9 -0
- package/dist/esm/3d/limit-max-3d.js +9 -0
- package/dist/esm/3d/limit-min-3d.d.ts +9 -0
- package/dist/esm/3d/limit-min-3d.js +9 -0
- package/dist/esm/3d/look-at-3d.d.ts +10 -0
- package/dist/esm/3d/look-at-3d.js +10 -0
- package/dist/esm/3d/magnitude-3d.d.ts +7 -0
- package/dist/esm/3d/magnitude-3d.js +6 -0
- package/dist/esm/3d/magnitude-sq-3d.d.ts +7 -0
- package/dist/esm/3d/magnitude-sq-3d.js +6 -0
- package/dist/esm/3d/multiply-3d.d.ts +8 -0
- package/dist/esm/3d/multiply-3d.js +11 -0
- package/dist/esm/3d/negate-3d.d.ts +7 -0
- package/dist/esm/3d/negate-3d.js +6 -0
- package/dist/esm/3d/normalize-3d.d.ts +8 -0
- package/dist/esm/3d/normalize-3d.js +8 -0
- package/dist/esm/3d/one-3d.d.ts +6 -0
- package/dist/esm/3d/one-3d.js +5 -0
- package/dist/esm/3d/project-3d.d.ts +10 -0
- package/dist/esm/3d/project-3d.js +13 -0
- package/dist/esm/3d/random-3d.d.ts +7 -0
- package/dist/esm/3d/random-3d.js +7 -0
- package/dist/esm/3d/reflect-3d.d.ts +9 -0
- package/dist/esm/3d/reflect-3d.js +12 -0
- package/dist/esm/3d/rotate-x-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-x-3d.js +22 -0
- package/dist/esm/3d/rotate-y-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-y-3d.js +22 -0
- package/dist/esm/3d/rotate-z-3d.d.ts +9 -0
- package/dist/esm/3d/rotate-z-3d.js +22 -0
- package/dist/esm/3d/set-magnitude-3d.d.ts +9 -0
- package/dist/esm/3d/set-magnitude-3d.js +9 -0
- package/dist/esm/3d/subtract-3d.d.ts +8 -0
- package/dist/esm/3d/subtract-3d.js +11 -0
- package/dist/esm/3d/types.d.ts +4 -0
- package/dist/esm/3d/types.js +1 -0
- package/dist/esm/3d/zero-3d.d.ts +6 -0
- package/dist/esm/3d/zero-3d.js +5 -0
- package/dist/esm/4d/add-4d.d.ts +8 -0
- package/dist/esm/4d/add-4d.js +12 -0
- package/dist/esm/4d/angle-between-4d.d.ts +10 -0
- package/dist/esm/4d/angle-between-4d.js +11 -0
- package/dist/esm/4d/angle-w-4d.d.ts +7 -0
- package/dist/esm/4d/angle-w-4d.js +6 -0
- package/dist/esm/4d/angle-x-4d.d.ts +7 -0
- package/dist/esm/4d/angle-x-4d.js +6 -0
- package/dist/esm/4d/angle-y-4d.d.ts +7 -0
- package/dist/esm/4d/angle-y-4d.js +6 -0
- package/dist/esm/4d/angle-z-4d.d.ts +7 -0
- package/dist/esm/4d/angle-z-4d.js +6 -0
- package/dist/esm/4d/clamp-4d.d.ts +10 -0
- package/dist/esm/4d/clamp-4d.js +14 -0
- package/dist/esm/4d/clone-4d.d.ts +7 -0
- package/dist/esm/4d/clone-4d.js +6 -0
- package/dist/esm/4d/distance-4d.d.ts +8 -0
- package/dist/esm/4d/distance-4d.js +7 -0
- package/dist/esm/4d/distance-chebyshev-4d.d.ts +8 -0
- package/dist/esm/4d/distance-chebyshev-4d.js +19 -0
- package/dist/esm/4d/distance-manhattan-4d.d.ts +8 -0
- package/dist/esm/4d/distance-manhattan-4d.js +10 -0
- package/dist/esm/4d/distance-minkowski-4d.d.ts +9 -0
- package/dist/esm/4d/distance-minkowski-4d.js +12 -0
- package/dist/esm/4d/distance-sq-4d.d.ts +9 -0
- package/dist/esm/4d/distance-sq-4d.js +8 -0
- package/dist/esm/4d/divide-4d.d.ts +8 -0
- package/dist/esm/4d/divide-4d.js +12 -0
- package/dist/esm/4d/dot-4d.d.ts +8 -0
- package/dist/esm/4d/dot-4d.js +7 -0
- package/dist/esm/4d/from-object-4d.d.ts +12 -0
- package/dist/esm/4d/from-object-4d.js +11 -0
- package/dist/esm/4d/immutable-4d.d.ts +7 -0
- package/dist/esm/4d/immutable-4d.js +6 -0
- package/dist/esm/4d/index.d.ts +44 -0
- package/dist/esm/4d/index.js +44 -0
- package/dist/esm/4d/is-equal-4d.d.ts +8 -0
- package/dist/esm/4d/is-equal-4d.js +7 -0
- package/dist/esm/4d/is-equal-approx-4d.d.ts +9 -0
- package/dist/esm/4d/is-equal-approx-4d.js +11 -0
- package/dist/esm/4d/is-infinite-4d.d.ts +7 -0
- package/dist/esm/4d/is-infinite-4d.js +13 -0
- package/dist/esm/4d/is-nan-4d.d.ts +7 -0
- package/dist/esm/4d/is-nan-4d.js +6 -0
- package/dist/esm/4d/is-opposite-4d.d.ts +8 -0
- package/dist/esm/4d/is-opposite-4d.js +7 -0
- package/dist/esm/4d/is-zero-4d.d.ts +7 -0
- package/dist/esm/4d/is-zero-4d.js +6 -0
- package/dist/esm/4d/lerp-4d.d.ts +9 -0
- package/dist/esm/4d/lerp-4d.js +13 -0
- package/dist/esm/4d/limit-max-4d.d.ts +9 -0
- package/dist/esm/4d/limit-max-4d.js +9 -0
- package/dist/esm/4d/limit-min-4d.d.ts +9 -0
- package/dist/esm/4d/limit-min-4d.js +9 -0
- package/dist/esm/4d/look-at-4d.d.ts +10 -0
- package/dist/esm/4d/look-at-4d.js +10 -0
- package/dist/esm/4d/magnitude-4d.d.ts +7 -0
- package/dist/esm/4d/magnitude-4d.js +6 -0
- package/dist/esm/4d/magnitude-sq-4d.d.ts +8 -0
- package/dist/esm/4d/magnitude-sq-4d.js +7 -0
- package/dist/esm/4d/multiply-4d.d.ts +8 -0
- package/dist/esm/4d/multiply-4d.js +12 -0
- package/dist/esm/4d/negate-4d.d.ts +7 -0
- package/dist/esm/4d/negate-4d.js +6 -0
- package/dist/esm/4d/normalize-4d.d.ts +8 -0
- package/dist/esm/4d/normalize-4d.js +13 -0
- package/dist/esm/4d/one-4d.d.ts +6 -0
- package/dist/esm/4d/one-4d.js +5 -0
- package/dist/esm/4d/project-4d.d.ts +10 -0
- package/dist/esm/4d/project-4d.js +14 -0
- package/dist/esm/4d/random-4d.d.ts +7 -0
- package/dist/esm/4d/random-4d.js +17 -0
- package/dist/esm/4d/reflect-4d.d.ts +9 -0
- package/dist/esm/4d/reflect-4d.js +17 -0
- package/dist/esm/4d/set-magnitude-4d.d.ts +9 -0
- package/dist/esm/4d/set-magnitude-4d.js +14 -0
- package/dist/esm/4d/subtract-4d.d.ts +8 -0
- package/dist/esm/4d/subtract-4d.js +12 -0
- package/dist/esm/4d/types.d.ts +4 -0
- package/dist/esm/4d/types.js +1 -0
- package/dist/esm/4d/zero-4d.d.ts +6 -0
- package/dist/esm/4d/zero-4d.js +5 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/slerp.d.ts +21 -0
- package/dist/esm/slerp.js +23 -0
- package/dist/{vec4.d.ts → esm/vec2.d.ts} +165 -157
- package/dist/{vec2.js → esm/vec2.js} +14 -6
- package/dist/esm/vec3.d.ts +614 -0
- package/dist/{vec3.js → esm/vec3.js} +190 -123
- package/dist/esm/vec4.d.ts +602 -0
- package/dist/{vec4.js → esm/vec4.js} +211 -130
- package/docs/ArrayVector2D.md +1090 -0
- package/docs/ArrayVector3D.md +1162 -0
- package/docs/ArrayVector4D.md +1019 -0
- package/docs/README.md +13 -0
- package/docs/Slerp.md +64 -0
- package/docs/Vec2.md +1827 -0
- package/docs/Vec3.md +2084 -0
- package/docs/Vec4.md +2031 -0
- package/package.json +95 -70
- package/VEC2.md +0 -147
- package/VEC3.md +0 -159
- package/VEC4.md +0 -146
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation for 2D Vector class.
|
|
3
|
+
* @module Vec2
|
|
4
|
+
*/
|
|
1
5
|
const { PI, sin, cos, atan2, sqrt, abs } = Math;
|
|
2
6
|
const PI2 = PI * 2;
|
|
3
7
|
/**
|
|
@@ -10,8 +14,9 @@ export class Vec2 {
|
|
|
10
14
|
/**
|
|
11
15
|
* Computes and updates the magnitude of the vector.
|
|
12
16
|
* @private
|
|
13
|
-
* @param x - The x-component of the vector.
|
|
14
|
-
* @param y - The y-component of the vector.
|
|
17
|
+
* @param {number} x - The x-component of the vector.
|
|
18
|
+
* @param {number} y - The y-component of the vector.
|
|
19
|
+
* @returns {void}
|
|
15
20
|
*/
|
|
16
21
|
#computeMagnitude(x = this.#xy[0], y = this.#xy[1]) {
|
|
17
22
|
if (x !== this.#prevXY[0] || y !== this.#prevXY[1]) {
|
|
@@ -22,8 +27,8 @@ export class Vec2 {
|
|
|
22
27
|
}
|
|
23
28
|
/**
|
|
24
29
|
* Creates a new Vec2 instance.
|
|
25
|
-
* @param x - The x-coordinate of the vector.
|
|
26
|
-
* @param y - The y-coordinate of the vector.
|
|
30
|
+
* @param {number} x - The x-coordinate of the vector.
|
|
31
|
+
* @param {number} y - The y-coordinate of the vector.
|
|
27
32
|
*/
|
|
28
33
|
constructor(x = 0, y = x) {
|
|
29
34
|
this.#xy[0] = x;
|
|
@@ -358,14 +363,16 @@ export class Vec2 {
|
|
|
358
363
|
}
|
|
359
364
|
/**
|
|
360
365
|
* Creates a Vec2 from an array.
|
|
361
|
-
* @
|
|
366
|
+
* @param {[number, number] | number[]} arr - An array containing the x and y coordinates.
|
|
367
|
+
* @returns {Vec2} A new Vec2 instance.
|
|
362
368
|
*/
|
|
363
369
|
static fromArray(arr) {
|
|
364
370
|
return new Vec2(arr[0] ?? 0, arr[1] ?? 0);
|
|
365
371
|
}
|
|
366
372
|
/**
|
|
367
373
|
* Creates a Vec2 from an object with x and y properties.
|
|
368
|
-
* @
|
|
374
|
+
* @param {{ x: number; y: number }} obj - An object with x and y properties.
|
|
375
|
+
* @returns {Vec2} A new Vec2 instance.
|
|
369
376
|
*/
|
|
370
377
|
static fromObject(obj) {
|
|
371
378
|
return new Vec2(obj.x, obj.y);
|
|
@@ -811,6 +818,7 @@ export class Vec2 {
|
|
|
811
818
|
scale(c) {
|
|
812
819
|
this.#xy[0] *= c;
|
|
813
820
|
this.#xy[1] *= c;
|
|
821
|
+
this.#computeMagnitude();
|
|
814
822
|
return this;
|
|
815
823
|
}
|
|
816
824
|
/**
|
|
@@ -0,0 +1,614 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Documentation for 3D Vector class.
|
|
3
|
+
* @module Vec3
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Represents a 3D vector with various operations.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Vec3 {
|
|
9
|
+
#private;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new Vec3 instance.
|
|
12
|
+
* @param {number} x - The x-coordinate of the vector.
|
|
13
|
+
* @param {number} y - The y-coordinate of the vector.
|
|
14
|
+
* @param {number} z - The z-coordinate of the vector.
|
|
15
|
+
*/
|
|
16
|
+
constructor(x?: number, y?: number, z?: number);
|
|
17
|
+
/**
|
|
18
|
+
* Adds two vectors.
|
|
19
|
+
* @param {Vec3} v - The first vector.
|
|
20
|
+
* @param {Vec3} w - The second vector.
|
|
21
|
+
* @returns {Vec3} A new Vec3 instance representing the sum.
|
|
22
|
+
*/
|
|
23
|
+
static add(v: Vec3, w: Vec3): Vec3;
|
|
24
|
+
/**
|
|
25
|
+
* Subtracts one vector from another.
|
|
26
|
+
* @param {Vec3} v - The vector to subtract from.
|
|
27
|
+
* @param {Vec3} w - The vector to subtract.
|
|
28
|
+
* @returns {Vec3} A new Vec3 instance representing the difference.
|
|
29
|
+
*/
|
|
30
|
+
static subtract(v: Vec3, w: Vec3): Vec3;
|
|
31
|
+
/**
|
|
32
|
+
* Multiplies one vector with another.
|
|
33
|
+
* @param v - The first vector.
|
|
34
|
+
* @param w - The second vector.
|
|
35
|
+
* @returns A new Vec3 instance representing the multiplied value.
|
|
36
|
+
*/
|
|
37
|
+
static multiply(v: Vec3, w: Vec3): Vec3;
|
|
38
|
+
/**
|
|
39
|
+
* Divides one vector with another.
|
|
40
|
+
* @param v - Divident.
|
|
41
|
+
* @param w - Divisor.
|
|
42
|
+
* @returns A new Vec3 instance representing the divided value.
|
|
43
|
+
*/
|
|
44
|
+
static divide(v: Vec3, w: Vec3): Vec3;
|
|
45
|
+
/**
|
|
46
|
+
* Calculates the angle between two vectors.
|
|
47
|
+
* @param {Vec3} v - The first vector.
|
|
48
|
+
* @param {Vec3} w - The second vector.
|
|
49
|
+
* @returns {number} The angle between the vectors in radians.
|
|
50
|
+
*/
|
|
51
|
+
static angleBetween(v: Vec3, w: Vec3): number;
|
|
52
|
+
/**
|
|
53
|
+
* Calculates the cross product of two vectors.
|
|
54
|
+
* @param {Vec3} v - The first vector.
|
|
55
|
+
* @param {Vec3} w - The second vector.
|
|
56
|
+
* @returns {Vec3} The cross product of the two vectors.
|
|
57
|
+
*/
|
|
58
|
+
static cross(v: Vec3, w: Vec3): Vec3;
|
|
59
|
+
/**
|
|
60
|
+
* Reflects a vector across a normal vector.
|
|
61
|
+
* The normal vector should be normalized (unit length).
|
|
62
|
+
* @param v - The vector to reflect.
|
|
63
|
+
* @param normal - The normal vector to reflect across (must be normalized).
|
|
64
|
+
* @returns A new Vec3 instance representing the reflected vector.
|
|
65
|
+
*/
|
|
66
|
+
static reflect(v: Vec3, normal: Vec3): Vec3;
|
|
67
|
+
/**
|
|
68
|
+
* Calculates the Euclidean distance between two vectors.
|
|
69
|
+
* @param {Vec3} v - The first vector.
|
|
70
|
+
* @param {Vec3} w - The second vector.
|
|
71
|
+
* @returns {number} The distance between the vectors.
|
|
72
|
+
*/
|
|
73
|
+
static distance(v: Vec3, w: Vec3): number;
|
|
74
|
+
/**
|
|
75
|
+
* Calculates the Chebyshev distance between two vectors.
|
|
76
|
+
* @param {Vec3} v - The first vector.
|
|
77
|
+
* @param {Vec3} w - The second vector.
|
|
78
|
+
* @returns {number} The Chebyshev distance between the vectors.
|
|
79
|
+
*/
|
|
80
|
+
static distanceChebyshev(v: Vec3, w: Vec3): number;
|
|
81
|
+
/**
|
|
82
|
+
* Calculates the Manhattan distance between two vectors.
|
|
83
|
+
* @param {Vec3} v - The first vector.
|
|
84
|
+
* @param {Vec3} w - The second vector.
|
|
85
|
+
* @returns {number} The Manhattan distance between the vectors.
|
|
86
|
+
*/
|
|
87
|
+
static distanceManhattan(v: Vec3, w: Vec3): number;
|
|
88
|
+
/**
|
|
89
|
+
* Calculates the Minkowski distance between two vectors.
|
|
90
|
+
* @param {Vec3} v - The first vector.
|
|
91
|
+
* @param {Vec3} w - The second vector.
|
|
92
|
+
* @param {number} p - The order of the Minkowski distance.
|
|
93
|
+
* @returns {number} The Minkowski distance between the vectors.
|
|
94
|
+
*/
|
|
95
|
+
static distanceMinkowski(v: Vec3, w: Vec3, p: number): number;
|
|
96
|
+
/**
|
|
97
|
+
* Calculates the squared Euclidean distance between two vectors.
|
|
98
|
+
* @param {Vec3} v - The first vector.
|
|
99
|
+
* @param {Vec3} w - The second vector.
|
|
100
|
+
* @returns {number} The squared distance between the vectors.
|
|
101
|
+
*/
|
|
102
|
+
static distanceSq(v: Vec3, w: Vec3): number;
|
|
103
|
+
/**
|
|
104
|
+
* Calculates the dot product of two vectors.
|
|
105
|
+
* @param {Vec3} v - The first vector.
|
|
106
|
+
* @param {Vec3} w - The second vector.
|
|
107
|
+
* @returns {number} The dot product of the two vectors.
|
|
108
|
+
*/
|
|
109
|
+
static dot(v: Vec3, w: Vec3): number;
|
|
110
|
+
/**
|
|
111
|
+
* Creates a Vec3 from cylindrical coordinates.
|
|
112
|
+
* @param {number} r - Radial distance from the z-axis
|
|
113
|
+
* @param {number} phi - Azimuthal angle in the x-y plane from the x-axis
|
|
114
|
+
* @param {number} z - Height above the x-y plane
|
|
115
|
+
* @returns {Vec3} New Vec3 instance
|
|
116
|
+
*/
|
|
117
|
+
static fromCylindricalCoords(r: number, phi: number, z: number): Vec3;
|
|
118
|
+
/**
|
|
119
|
+
* Creates a Vec3 from spherical coordinates.
|
|
120
|
+
* @param {number} r - Radial distance from origin
|
|
121
|
+
* @param {number} theta - Polar angle from the z-axis
|
|
122
|
+
* @param {number} phi - Azimuthal angle in the x-y plane from the x-axis
|
|
123
|
+
* @returns {Vec3} New Vec3 instance
|
|
124
|
+
*/
|
|
125
|
+
static fromSphericalCoords(r: number, theta: number, phi: number): Vec3;
|
|
126
|
+
/**
|
|
127
|
+
* Creates an immutable Vec3-like object.
|
|
128
|
+
* @param {number} x - The x-coordinate of the vector.
|
|
129
|
+
* @param {number} y - The y-coordinate of the vector.
|
|
130
|
+
* @param {number} z - The z-coordinate of the vector.
|
|
131
|
+
* @returns {Readonly<{ x: number; y: number; z: number; xyz: readonly number[]; r: number; g: number; b: number; rgb: readonly number[]; magnitude: number; magnitudeSq: number; angleX: number; angleY: number; angleZ: number; isInfinite: boolean; isNaN: boolean; isZero: boolean }>} An immutable object with Vec3-like properties.
|
|
132
|
+
*/
|
|
133
|
+
static immutable(x?: number, y?: number, z?: number): {
|
|
134
|
+
readonly x: number;
|
|
135
|
+
readonly y: number;
|
|
136
|
+
readonly z: number;
|
|
137
|
+
readonly xyz: readonly number[];
|
|
138
|
+
readonly r: number;
|
|
139
|
+
readonly g: number;
|
|
140
|
+
readonly b: number;
|
|
141
|
+
readonly rgb: readonly number[];
|
|
142
|
+
readonly magnitude: number;
|
|
143
|
+
readonly magnitudeSq: number;
|
|
144
|
+
readonly angleX: number;
|
|
145
|
+
readonly angleY: number;
|
|
146
|
+
readonly angleZ: number;
|
|
147
|
+
readonly isInfinite: boolean;
|
|
148
|
+
readonly isNaN: boolean;
|
|
149
|
+
readonly isZero: boolean;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Checks if a vector has infinite components.
|
|
153
|
+
* @param {Vec3} v - The vector to check.
|
|
154
|
+
* @returns {boolean} True if the vector has infinite components, false otherwise.
|
|
155
|
+
*/
|
|
156
|
+
static isInfinite(v: Vec3): boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Checks if a vector has NaN components.
|
|
159
|
+
* @param {Vec3} v - The vector to check.
|
|
160
|
+
* @returns {boolean} True if the vector has NaN components, false otherwise.
|
|
161
|
+
*/
|
|
162
|
+
static isNaN(v: Vec3): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Checks if a vector is zero.
|
|
165
|
+
* @param {Vec3} v - The vector to check.
|
|
166
|
+
* @returns {boolean} True if the vector is zero, false otherwise.
|
|
167
|
+
*/
|
|
168
|
+
static isZero(v: Vec3): boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Performs linear interpolation between two vectors.
|
|
171
|
+
* @param {Vec3} v - The first vector.
|
|
172
|
+
* @param {Vec3} w - The second vector.
|
|
173
|
+
* @param {number} t - The interpolation parameter (0 to 1).
|
|
174
|
+
* @returns {Vec3} A new Vec3 instance representing the interpolated vector.
|
|
175
|
+
*/
|
|
176
|
+
static lerp(v: Vec3, w: Vec3, t: number): Vec3;
|
|
177
|
+
/**
|
|
178
|
+
* Negates a vector.
|
|
179
|
+
* @param {Vec3} v - The vector to negate.
|
|
180
|
+
* @returns {Vec3} A new Vec3 instance representing the negated vector.
|
|
181
|
+
*/
|
|
182
|
+
static negate(v: Vec3): Vec3;
|
|
183
|
+
/**
|
|
184
|
+
* Normalizes a vector.
|
|
185
|
+
* @param {Vec3} v - The vector to normalize.
|
|
186
|
+
* @returns {Vec3} A new Vec3 instance representing the normalized vector.
|
|
187
|
+
*/
|
|
188
|
+
static normalize(v: Vec3): Vec3;
|
|
189
|
+
/**
|
|
190
|
+
* Projects one vector onto another.
|
|
191
|
+
* @param {Vec3} v - The vector to project.
|
|
192
|
+
* @param {Vec3} w - The vector to project onto.
|
|
193
|
+
* @returns {Vec3} A new Vec3 instance representing the projected vector.
|
|
194
|
+
*/
|
|
195
|
+
static project(v: Vec3, w: Vec3): Vec3;
|
|
196
|
+
/**
|
|
197
|
+
* Creates a random unit vector.
|
|
198
|
+
* @param {() => number} random - A function that returns a random number between 0 and 1.
|
|
199
|
+
* @returns {Vec3} A new Vec3 instance representing a random unit vector.
|
|
200
|
+
*/
|
|
201
|
+
static random(random?: () => number): Vec3;
|
|
202
|
+
/**
|
|
203
|
+
* Checks if two vectors are equal.
|
|
204
|
+
* @param {Vec3} v - The first vector.
|
|
205
|
+
* @param {Vec3} w - The second vector.
|
|
206
|
+
* @returns {boolean} True if the vectors are equal, false otherwise.
|
|
207
|
+
*/
|
|
208
|
+
static satisfyEquality(v: Vec3, w: Vec3): boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Checks if two vectors are opposite.
|
|
211
|
+
* @param {Vec3} v - The first vector.
|
|
212
|
+
* @param {Vec3} w - The second vector.
|
|
213
|
+
* @returns {boolean} True if the vectors are opposite, false otherwise.
|
|
214
|
+
*/
|
|
215
|
+
static satisfyOpposition(v: Vec3, w: Vec3): boolean;
|
|
216
|
+
/**
|
|
217
|
+
* Compares a vector with another vector using an epsilon value for floating-point comparison.
|
|
218
|
+
* @param v - The first vector.
|
|
219
|
+
* @param w - The second vector.
|
|
220
|
+
* @param epsilon - The maximum difference between components to consider them equal.
|
|
221
|
+
* @returns True if the vectors are equal within epsilon, false otherwise.
|
|
222
|
+
*/
|
|
223
|
+
static equals(v: Vec3, w: Vec3, epsilon?: number): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* Scales a vector by a scalar value.
|
|
226
|
+
* @param {Vec3} v - The vector to scale.
|
|
227
|
+
* @param {number} c - The scalar value.
|
|
228
|
+
* @returns {Vec3} A new Vec3 instance representing the scaled vector.
|
|
229
|
+
*/
|
|
230
|
+
static scale(v: Vec3, c: number): Vec3;
|
|
231
|
+
/**
|
|
232
|
+
* Creates a zero vector.
|
|
233
|
+
* @returns {Vec3} A new Vec3 instance representing a zero vector.
|
|
234
|
+
*/
|
|
235
|
+
static zero(): Vec3;
|
|
236
|
+
/**
|
|
237
|
+
* Creates a vector with all components set to 1.0.
|
|
238
|
+
* @returns A new Vec3 instance representing a vector with all components set to 1.0.
|
|
239
|
+
*/
|
|
240
|
+
static one(): Vec3;
|
|
241
|
+
/**
|
|
242
|
+
* Creates a Vec3 from an array.
|
|
243
|
+
* @param {[number, number, number] | number[]} arr - An array containing the x, y, and z coordinates.
|
|
244
|
+
* @returns {Vec3} A new Vec3 instance.
|
|
245
|
+
*/
|
|
246
|
+
static fromArray(arr: [number, number, number] | number[]): Vec3;
|
|
247
|
+
/**
|
|
248
|
+
* Creates a Vec3 from an object with x, y and z properties.
|
|
249
|
+
* @param {{ x: number; y: number; z: number }} obj - An object with x, y, and z properties.
|
|
250
|
+
* @returns {Vec3} A new Vec3 instance.
|
|
251
|
+
*/
|
|
252
|
+
static fromObject(obj: {
|
|
253
|
+
x: number;
|
|
254
|
+
y: number;
|
|
255
|
+
z: number;
|
|
256
|
+
}): Vec3;
|
|
257
|
+
/**
|
|
258
|
+
* Creates a Vec3 instance from a JSON-parsed object.
|
|
259
|
+
* @param json - The JSON-parsed object containing x and y properties.
|
|
260
|
+
* @returns A new Vec3 instance.
|
|
261
|
+
*/
|
|
262
|
+
static fromJSON(json: {
|
|
263
|
+
x: number;
|
|
264
|
+
y: number;
|
|
265
|
+
z: number;
|
|
266
|
+
}): Vec3;
|
|
267
|
+
/**
|
|
268
|
+
* Gets the x-component of the vector.
|
|
269
|
+
* @returns {number} The x-component.
|
|
270
|
+
*/
|
|
271
|
+
get x(): number;
|
|
272
|
+
/**
|
|
273
|
+
* Sets the x-component of the vector.
|
|
274
|
+
* @param {number} x - The new x-component.
|
|
275
|
+
* @returns {void}
|
|
276
|
+
*/
|
|
277
|
+
set x(x: number);
|
|
278
|
+
/**
|
|
279
|
+
* Gets the y-component of the vector.
|
|
280
|
+
* @returns {number} The y-component.
|
|
281
|
+
*/
|
|
282
|
+
get y(): number;
|
|
283
|
+
/**
|
|
284
|
+
* Sets the y-component of the vector.
|
|
285
|
+
* @param {number} y - The new y-component.
|
|
286
|
+
* @returns {void}
|
|
287
|
+
*/
|
|
288
|
+
set y(y: number);
|
|
289
|
+
/**
|
|
290
|
+
* Gets the z-component of the vector.
|
|
291
|
+
* @returns {number} The z-component.
|
|
292
|
+
*/
|
|
293
|
+
get z(): number;
|
|
294
|
+
/**
|
|
295
|
+
* Sets the z-component of the vector.
|
|
296
|
+
* @param {number} z - The new z-component.
|
|
297
|
+
* @returns {void}
|
|
298
|
+
*/
|
|
299
|
+
set z(z: number);
|
|
300
|
+
/**
|
|
301
|
+
* Gets a copy of the vector's components as an array.
|
|
302
|
+
* @returns {[number, number, number]} An array containing the x, y and z components of the vector.
|
|
303
|
+
*/
|
|
304
|
+
get xyz(): [number, number, number];
|
|
305
|
+
/**
|
|
306
|
+
* Sets all components of the vector at once.
|
|
307
|
+
* @param {[number, number, number]} xyz - An array containing the new x, y and z components.
|
|
308
|
+
* @returns {void}
|
|
309
|
+
*/
|
|
310
|
+
set xyz(xyz: [number, number, number]);
|
|
311
|
+
/**
|
|
312
|
+
* Gets the Red-component of a Color.
|
|
313
|
+
* @returns {number} The Red-component.
|
|
314
|
+
*/
|
|
315
|
+
get r(): number;
|
|
316
|
+
/**
|
|
317
|
+
* Sets the Red-component of a Color.
|
|
318
|
+
* @param {number} r - The new Red-component.
|
|
319
|
+
* @returns {void}
|
|
320
|
+
*/
|
|
321
|
+
set r(r: number);
|
|
322
|
+
/**
|
|
323
|
+
* Gets the Green-component of a Color.
|
|
324
|
+
* @returns {number} The Green-component.
|
|
325
|
+
*/
|
|
326
|
+
get g(): number;
|
|
327
|
+
/**
|
|
328
|
+
* Sets the Green-component of the Color.
|
|
329
|
+
* @param {number} g - The new Green-component.
|
|
330
|
+
* @returns {void}
|
|
331
|
+
*/
|
|
332
|
+
set g(g: number);
|
|
333
|
+
/**
|
|
334
|
+
* Gets the Blue-component of the color.
|
|
335
|
+
* @returns {number} The Blue-component.
|
|
336
|
+
*/
|
|
337
|
+
get b(): number;
|
|
338
|
+
/**
|
|
339
|
+
* Sets the Blue-component of the Color.
|
|
340
|
+
* @param {number} b - The new Blue-component.
|
|
341
|
+
* @returns {void}
|
|
342
|
+
*/
|
|
343
|
+
set b(b: number);
|
|
344
|
+
/**
|
|
345
|
+
* Gets a copy of the vector's components as an array.
|
|
346
|
+
* @returns {[number, number, number]} An array containing the x, y and z components of the vector.
|
|
347
|
+
*/
|
|
348
|
+
get rgb(): [number, number, number];
|
|
349
|
+
/**
|
|
350
|
+
* Sets all components of the Color at once.
|
|
351
|
+
* @param {[number, number, number]} rgb - An array containing the new Red, Green and Blue components.
|
|
352
|
+
* @returns {void}
|
|
353
|
+
*/
|
|
354
|
+
set rgb(rgb: [number, number, number]);
|
|
355
|
+
/**
|
|
356
|
+
* Gets the angle between the vector and the positive x-axis in radians.
|
|
357
|
+
* @returns The angle in radians, always in the range [0, 2π).
|
|
358
|
+
*/
|
|
359
|
+
get angleX(): number;
|
|
360
|
+
/**
|
|
361
|
+
* Gets the angle between the vector and the positive y-axis in radians.
|
|
362
|
+
* @returns The angle in radians, always in the range [0, 2π).
|
|
363
|
+
*/
|
|
364
|
+
get angleY(): number;
|
|
365
|
+
/**
|
|
366
|
+
* Gets the angle between the vector and the positive z-axis in radians.
|
|
367
|
+
* @returns The angle in radians, always in the range [0, 2π).
|
|
368
|
+
*/
|
|
369
|
+
get angleZ(): number;
|
|
370
|
+
/**
|
|
371
|
+
* Sets the magnitude (length) of the vector, maintaining its direction.
|
|
372
|
+
* @param m - The new magnitude.
|
|
373
|
+
*/
|
|
374
|
+
get magnitude(): number;
|
|
375
|
+
/**
|
|
376
|
+
* Gets the squared magnitude of the vector.
|
|
377
|
+
* This is faster to compute than the actual magnitude and is useful for comparisons.
|
|
378
|
+
* @returns The squared magnitude of the vector.
|
|
379
|
+
*/
|
|
380
|
+
get magnitudeSq(): number;
|
|
381
|
+
/**
|
|
382
|
+
* Sets the magnitude (length) of the vector, maintaining its direction.
|
|
383
|
+
* @param m - The new magnitude.
|
|
384
|
+
*/
|
|
385
|
+
set magnitude(m: number);
|
|
386
|
+
/**
|
|
387
|
+
* Adds another vector to this vector.
|
|
388
|
+
* @param {Vec3} v - The vector to add.
|
|
389
|
+
* @returns {this} This Vec3 instance for method chaining.
|
|
390
|
+
*/
|
|
391
|
+
add(v: Vec3): this;
|
|
392
|
+
/**
|
|
393
|
+
* Subtracts another vector from this vector.
|
|
394
|
+
* @param v - The vector to subtract.
|
|
395
|
+
* @returns This Vec3 instance for method chaining.
|
|
396
|
+
*/
|
|
397
|
+
subtract(v: Vec3): this;
|
|
398
|
+
/**
|
|
399
|
+
* Multiplies this vector with another vector.
|
|
400
|
+
* @param v - The vector to multiply with.
|
|
401
|
+
* @returns This Vec3 instance for method chaining.
|
|
402
|
+
*/
|
|
403
|
+
multiply(v: Vec3): this;
|
|
404
|
+
/**
|
|
405
|
+
* Divides this vector with another vector.
|
|
406
|
+
* @param v - The vector to divide with.
|
|
407
|
+
* @returns This Vec3 instance for method chaining.
|
|
408
|
+
*/
|
|
409
|
+
divide(v: Vec3): this;
|
|
410
|
+
/**
|
|
411
|
+
* Calculates the angle between this vector and another vector.
|
|
412
|
+
* @param v - The other vector.
|
|
413
|
+
* @returns The angle between the vectors in radians.
|
|
414
|
+
*/
|
|
415
|
+
angleBetween(v: Vec3): number;
|
|
416
|
+
/**
|
|
417
|
+
* Clamps the magnitude of this vector between a minimum and maximum value.
|
|
418
|
+
* @param min - The minimum magnitude.
|
|
419
|
+
* @param max - The maximum magnitude.
|
|
420
|
+
* @returns This Vec3 instance for method chaining.
|
|
421
|
+
*/
|
|
422
|
+
clamp(min: number, max: number): this;
|
|
423
|
+
/**
|
|
424
|
+
* Creates a copy of this vector.
|
|
425
|
+
* @returns {Vec3} A new Vec3 instance with the same components.
|
|
426
|
+
*/
|
|
427
|
+
clone(): Vec3;
|
|
428
|
+
/**
|
|
429
|
+
* Copies the components of another vector to this vector.
|
|
430
|
+
* @param v - The vector to copy from.
|
|
431
|
+
* @returns This Vec3 instance for method chaining.
|
|
432
|
+
*/
|
|
433
|
+
copy(v: Vec3): this;
|
|
434
|
+
/**
|
|
435
|
+
* Calculates the dot product of this vector with another vector.
|
|
436
|
+
* @param {Vec3} v - The other vector.
|
|
437
|
+
* @returns {number} The dot product of the vectors.
|
|
438
|
+
*/
|
|
439
|
+
dot(v: Vec3): number;
|
|
440
|
+
/**
|
|
441
|
+
* Calculates cross product between this vector and another vector.
|
|
442
|
+
* @param {Vec3} v - The other vector.
|
|
443
|
+
* @returns {this} This Vec3 instance for method chaining.
|
|
444
|
+
*/
|
|
445
|
+
cross(v: Vec3): this;
|
|
446
|
+
/**
|
|
447
|
+
* Reflects this vector across a normal vector.
|
|
448
|
+
* The normal vector should be normalized (unit length).
|
|
449
|
+
* @param normal - The normal vector to reflect across (must be normalized).
|
|
450
|
+
* @returns This Vec3 instance for method chaining.
|
|
451
|
+
*/
|
|
452
|
+
reflect(normal: Vec3): this;
|
|
453
|
+
/**
|
|
454
|
+
* Calculates the distance between this vector and another vector.
|
|
455
|
+
* @param v - The other vector.
|
|
456
|
+
* @returns The distance between the vectors.
|
|
457
|
+
*/
|
|
458
|
+
distance(v: Vec3): number;
|
|
459
|
+
/**
|
|
460
|
+
* Calculates the Chebyshev distance between vector and another vector.
|
|
461
|
+
* @param {Vec3} v - The other vector.
|
|
462
|
+
* @returns {number} The Chebyshev distance between the vectors.
|
|
463
|
+
*/
|
|
464
|
+
distanceChebyshev(v: Vec3): number;
|
|
465
|
+
/**
|
|
466
|
+
* Calculates the Manhattan distance between vector and another vector.
|
|
467
|
+
* @param {Vec3} v - The other vector.
|
|
468
|
+
* @returns {number} The Manhattan distance between the vectors.
|
|
469
|
+
*/
|
|
470
|
+
distanceManhattan(v: Vec3): number;
|
|
471
|
+
/**
|
|
472
|
+
* Calculates the Minkowski distance between this vector and another vector.
|
|
473
|
+
* @param {Vec3} v - The other vector.
|
|
474
|
+
* @param {number} p - The order of the Minkowski distance.
|
|
475
|
+
* @returns {number} The Minkowski distance between the vectors.
|
|
476
|
+
*/
|
|
477
|
+
distanceMinkowski(v: Vec3, p: number): number;
|
|
478
|
+
/**
|
|
479
|
+
* Calculates the squared distance between this vector and another vector.
|
|
480
|
+
* @param v - The other vector.
|
|
481
|
+
* @returns The squared distance between the vectors.
|
|
482
|
+
*/
|
|
483
|
+
distanceSq(v: Vec3): number;
|
|
484
|
+
/**
|
|
485
|
+
* Checks if this vector has infinite components.
|
|
486
|
+
* @returns True if the vector has infinite components, false otherwise.
|
|
487
|
+
*/
|
|
488
|
+
isInfinite(): boolean;
|
|
489
|
+
/**
|
|
490
|
+
* Checks if this vector has NaN components.
|
|
491
|
+
* @returns True if the vector has NaN components, false otherwise.
|
|
492
|
+
*/
|
|
493
|
+
isNaN(): boolean;
|
|
494
|
+
/**
|
|
495
|
+
* Checks if this vector is zero.
|
|
496
|
+
* @returns True if the vector is zero, false otherwise.
|
|
497
|
+
*/
|
|
498
|
+
isZero(): boolean;
|
|
499
|
+
/**
|
|
500
|
+
* Limits the maximum magnitude of this vector.
|
|
501
|
+
* @param max - The maximum magnitude.
|
|
502
|
+
* @returns This Vec3 instance for method chaining.
|
|
503
|
+
*/
|
|
504
|
+
limitMax(max: number): this;
|
|
505
|
+
/**
|
|
506
|
+
* Limits the minimum magnitude of this vector.
|
|
507
|
+
* @param min - The minimum magnitude.
|
|
508
|
+
* @returns This Vec3 instance for method chaining.
|
|
509
|
+
*/
|
|
510
|
+
limitMin(min: number): this;
|
|
511
|
+
/**
|
|
512
|
+
* Sets this vector to point towards another vector.
|
|
513
|
+
* @param v - The vector to look at.
|
|
514
|
+
* @returns This Vec3 instance for method chaining.
|
|
515
|
+
*/
|
|
516
|
+
lookAt(v: Vec3): this;
|
|
517
|
+
/**
|
|
518
|
+
* Negates this vector.
|
|
519
|
+
* @returns This Vec3 instance for method chaining.
|
|
520
|
+
*/
|
|
521
|
+
negate(): this;
|
|
522
|
+
/**
|
|
523
|
+
* Normalizes this vector.
|
|
524
|
+
* @returns This Vec3 instance for method chaining.
|
|
525
|
+
*/
|
|
526
|
+
normalize(): this;
|
|
527
|
+
/**
|
|
528
|
+
* Projects this vector onto another vector.
|
|
529
|
+
* @param v - The vector to project onto.
|
|
530
|
+
* @returns This Vec3 instance for method chaining.
|
|
531
|
+
*/
|
|
532
|
+
project(v: Vec3): this;
|
|
533
|
+
/**
|
|
534
|
+
* Sets this vector to a random direction with the same magnitude.
|
|
535
|
+
* @param random - A function that returns a random number between 0 and 1.
|
|
536
|
+
* @returns This Vec3 instance for method chaining.
|
|
537
|
+
*/
|
|
538
|
+
random(random?: () => number): this;
|
|
539
|
+
/**
|
|
540
|
+
* Rotates this vector around the X-axis.
|
|
541
|
+
* @param phi - The angle of rotation in radians.
|
|
542
|
+
* @returns This Vec3 instance for method chaining.
|
|
543
|
+
*/
|
|
544
|
+
rotateX(phi: number): this;
|
|
545
|
+
/**
|
|
546
|
+
* Rotates this vector around the Y-axis.
|
|
547
|
+
* @param phi - The angle of rotation in radians.
|
|
548
|
+
* @returns This Vec3 instance for method chaining.
|
|
549
|
+
*/
|
|
550
|
+
rotateY(phi: number): this;
|
|
551
|
+
/**
|
|
552
|
+
* Rotates this vector around the Z-axis.
|
|
553
|
+
* @param phi - The angle of rotation in radians.
|
|
554
|
+
* @returns This Vec3 instance for method chaining.
|
|
555
|
+
*/
|
|
556
|
+
rotateZ(phi: number): this;
|
|
557
|
+
/**
|
|
558
|
+
* Checks if this vector is equal to another vector.
|
|
559
|
+
* @param v - The other vector.
|
|
560
|
+
* @returns True if the vectors are equal, false otherwise.
|
|
561
|
+
*/
|
|
562
|
+
satisfyEquality(v: Vec3): boolean;
|
|
563
|
+
/**
|
|
564
|
+
* Checks if this vector is opposite to another vector.
|
|
565
|
+
* @param v - The other vector.
|
|
566
|
+
* @returns True if the vectors are opposite, false otherwise.
|
|
567
|
+
*/
|
|
568
|
+
satisfyOpposition(v: Vec3): boolean;
|
|
569
|
+
/**
|
|
570
|
+
* Compares this vector with another vector using an epsilon value for floating-point comparison.
|
|
571
|
+
* @param v - The vector to compare with.
|
|
572
|
+
* @param epsilon - The maximum difference between components to consider them equal.
|
|
573
|
+
* @returns True if the vectors are equal within epsilon, false otherwise.
|
|
574
|
+
*/
|
|
575
|
+
equals(v: Vec3, epsilon?: number): boolean;
|
|
576
|
+
/**
|
|
577
|
+
* Scales this vector by a scalar value.
|
|
578
|
+
* @param c - The scalar value.
|
|
579
|
+
* @returns This Vec3 instance for method chaining.
|
|
580
|
+
*/
|
|
581
|
+
scale(c: number): this;
|
|
582
|
+
/**
|
|
583
|
+
* Sets this vector to zero.
|
|
584
|
+
* @returns This Vec3 instance for method chaining.
|
|
585
|
+
*/
|
|
586
|
+
zero(): this;
|
|
587
|
+
/**
|
|
588
|
+
* Makes the Vec3 instance iterable.
|
|
589
|
+
* @yields The x, y and z components of the vector.
|
|
590
|
+
*/
|
|
591
|
+
[Symbol.iterator](): IterableIterator<number>;
|
|
592
|
+
/**
|
|
593
|
+
* Returns a string representation of the vector.
|
|
594
|
+
* @returns A string in the format "Vec3(x, y, z)".
|
|
595
|
+
*/
|
|
596
|
+
toString(): string;
|
|
597
|
+
/**
|
|
598
|
+
* Converts the vector to a plain object.
|
|
599
|
+
* @returns An object with x, y and z properties.
|
|
600
|
+
*/
|
|
601
|
+
toObject(): {
|
|
602
|
+
x: number;
|
|
603
|
+
y: number;
|
|
604
|
+
z: number;
|
|
605
|
+
};
|
|
606
|
+
/**
|
|
607
|
+
* Serializes the vector to a JSON-friendly format.
|
|
608
|
+
* @returns A JSON-friendly object representation of the vector.
|
|
609
|
+
*/
|
|
610
|
+
toJSON(): {
|
|
611
|
+
x: number;
|
|
612
|
+
y: number;
|
|
613
|
+
};
|
|
614
|
+
}
|