@tolokoban/tgd 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/dist/buffer/buffer.d.ts +0 -0
- package/lib/dist/buffer/buffer.d.ts.map +0 -0
- package/lib/dist/buffer/buffer.js +37 -0
- package/lib/dist/buffer/index.d.ts +0 -0
- package/lib/dist/buffer/index.d.ts.map +0 -0
- package/lib/dist/buffer/index.js +2 -0
- package/lib/dist/camera/camera-orthographic.d.ts +13 -5
- package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
- package/lib/dist/camera/camera-orthographic.js +97 -0
- package/lib/dist/camera/camera-perspective.d.ts +19 -9
- package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
- package/lib/dist/camera/camera-perspective.js +94 -0
- package/lib/dist/camera/camera.d.ts +84 -18
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +368 -0
- package/lib/dist/camera/index.d.ts +3 -3
- package/lib/dist/camera/index.d.ts.map +1 -1
- package/lib/dist/camera/index.js +4 -0
- package/lib/dist/canvas/gizmo/gizmo.d.ts +42 -0
- package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -0
- package/lib/dist/canvas/gizmo/gizmo.js +183 -0
- package/lib/dist/canvas/gizmo/index.d.ts +2 -0
- package/lib/dist/canvas/gizmo/index.d.ts.map +1 -0
- package/lib/dist/canvas/gizmo/index.js +2 -0
- package/lib/dist/canvas/gizmo/painter/shader.frag +17 -0
- package/lib/dist/canvas/gizmo/painter/shader.vert +24 -0
- package/lib/dist/canvas/gizmo/painter/tips.d.ts +13 -0
- package/lib/dist/canvas/gizmo/painter/tips.d.ts.map +1 -0
- package/lib/dist/canvas/gizmo/painter/tips.js +96 -0
- package/lib/dist/canvas/index.d.ts +3 -0
- package/lib/dist/canvas/index.d.ts.map +1 -0
- package/lib/dist/canvas/index.js +3 -0
- package/lib/dist/canvas/landscape/index.d.ts +2 -0
- package/lib/dist/canvas/landscape/index.d.ts.map +1 -0
- package/lib/dist/canvas/landscape/index.js +2 -0
- package/lib/dist/canvas/landscape/landscape.d.ts +18 -0
- package/lib/dist/canvas/landscape/landscape.d.ts.map +1 -0
- package/lib/dist/canvas/landscape/landscape.js +40 -0
- package/lib/dist/color/color.d.ts +22 -0
- package/lib/dist/color/color.d.ts.map +1 -0
- package/lib/dist/color/color.js +160 -0
- package/lib/dist/color/index.d.ts +2 -0
- package/lib/dist/color/index.d.ts.map +1 -0
- package/lib/dist/color/index.js +2 -0
- package/lib/dist/context/animation/animation-manager.d.ts +8 -0
- package/lib/dist/context/animation/animation-manager.d.ts.map +1 -0
- package/lib/dist/context/animation/animation-manager.js +41 -0
- package/lib/dist/context/context.d.ts +95 -8
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +297 -0
- package/lib/dist/context/index.d.ts +0 -0
- package/lib/dist/context/index.d.ts.map +0 -0
- package/lib/dist/context/index.js +2 -0
- package/lib/dist/controller/camera/index.d.ts +0 -0
- package/lib/dist/controller/camera/index.d.ts.map +0 -0
- package/lib/dist/controller/camera/index.js +2 -0
- package/lib/dist/controller/camera/orbit.d.ts +79 -4
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +186 -0
- package/lib/dist/controller/index.d.ts +0 -0
- package/lib/dist/controller/index.d.ts.map +0 -0
- package/lib/dist/controller/index.js +2 -0
- package/lib/dist/dataset/dataset.d.ts +78 -10
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +217 -0
- package/lib/dist/dataset/index.d.ts +0 -0
- package/lib/dist/dataset/index.d.ts.map +0 -0
- package/lib/dist/dataset/index.js +2 -0
- package/lib/dist/debug.d.ts +0 -0
- package/lib/dist/debug.d.ts.map +0 -0
- package/lib/dist/debug.js +13 -0
- package/lib/dist/event/event.d.ts +0 -0
- package/lib/dist/event/event.d.ts.map +0 -0
- package/lib/dist/event/event.js +13 -0
- package/lib/dist/event/index.d.ts +0 -0
- package/lib/dist/event/index.d.ts.map +0 -0
- package/lib/dist/event/index.js +2 -0
- package/lib/dist/filter/blur.d.ts +10 -0
- package/lib/dist/filter/blur.d.ts.map +1 -0
- package/lib/dist/filter/blur.js +42 -0
- package/lib/dist/filter/filter.d.ts +39 -0
- package/lib/dist/filter/filter.d.ts.map +1 -0
- package/lib/dist/filter/filter.js +43 -0
- package/lib/dist/filter/hue-rotation.d.ts +12 -0
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -0
- package/lib/dist/filter/hue-rotation.js +41 -0
- package/lib/dist/filter/index.d.ts +4 -0
- package/lib/dist/filter/index.d.ts.map +1 -0
- package/lib/dist/filter/index.js +4 -0
- package/lib/dist/geometry/box.d.ts +10 -0
- package/lib/dist/geometry/box.d.ts.map +1 -0
- package/lib/dist/geometry/box.js +136 -0
- package/lib/dist/geometry/geometry.d.ts +47 -0
- package/lib/dist/geometry/geometry.d.ts.map +1 -0
- package/lib/dist/geometry/geometry.js +190 -0
- package/lib/dist/geometry/index.d.ts +3 -0
- package/lib/dist/geometry/index.d.ts.map +1 -0
- package/lib/dist/geometry/index.js +3 -0
- package/lib/dist/index.d.ts +7 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +21 -2
- package/lib/dist/input/index.d.ts +0 -0
- package/lib/dist/input/index.d.ts.map +0 -0
- package/lib/dist/input/index.js +4 -0
- package/lib/dist/input/inputs.d.ts +0 -0
- package/lib/dist/input/inputs.d.ts.map +1 -1
- package/lib/dist/input/inputs.js +23 -0
- package/lib/dist/input/keyboard.d.ts +3 -0
- package/lib/dist/input/keyboard.d.ts.map +1 -1
- package/lib/dist/input/keyboard.js +46 -0
- package/lib/dist/input/pointer.d.ts +17 -33
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +138 -0
- package/lib/dist/light/index.d.ts +2 -0
- package/lib/dist/light/index.d.ts.map +1 -0
- package/lib/dist/light/index.js +2 -0
- package/lib/dist/light/light.d.ts +16 -0
- package/lib/dist/light/light.d.ts.map +1 -0
- package/lib/dist/light/light.js +19 -0
- package/lib/dist/loader/image.d.ts +4 -0
- package/lib/dist/loader/image.d.ts.map +1 -1
- package/lib/dist/loader/image.js +31 -0
- package/lib/dist/loader/index.d.ts +0 -0
- package/lib/dist/loader/index.d.ts.map +0 -0
- package/lib/dist/loader/index.js +2 -0
- package/lib/dist/material/diffuse.d.ts +28 -0
- package/lib/dist/material/diffuse.d.ts.map +1 -0
- package/lib/dist/material/diffuse.js +68 -0
- package/lib/dist/material/ghost.d.ts +19 -0
- package/lib/dist/material/ghost.d.ts.map +1 -0
- package/lib/dist/material/ghost.js +25 -0
- package/lib/dist/material/index.d.ts +5 -0
- package/lib/dist/material/index.d.ts.map +1 -0
- package/lib/dist/material/index.js +5 -0
- package/lib/dist/material/material.d.ts +29 -0
- package/lib/dist/material/material.d.ts.map +1 -0
- package/lib/dist/material/material.js +14 -0
- package/lib/dist/material/normals.d.ts +13 -0
- package/lib/dist/material/normals.d.ts.map +1 -0
- package/lib/dist/material/normals.js +20 -0
- package/lib/dist/math/index.d.ts +3 -0
- package/lib/dist/math/index.d.ts.map +1 -1
- package/lib/dist/math/index.js +8 -0
- package/lib/dist/math/mat3.d.ts +8 -0
- package/lib/dist/math/mat3.d.ts.map +1 -1
- package/lib/dist/math/mat3.js +154 -0
- package/lib/dist/math/mat4.d.ts +111 -2
- package/lib/dist/math/mat4.d.ts.map +1 -1
- package/lib/dist/math/mat4.js +402 -0
- package/lib/dist/math/mat4.test.d.ts +0 -0
- package/lib/dist/math/mat4.test.d.ts.map +0 -0
- package/lib/dist/math/mat4.test.js +57 -0
- package/lib/dist/math/quat.d.ts +1 -0
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +184 -0
- package/lib/dist/math/quat.test.d.ts +0 -0
- package/lib/dist/math/quat.test.d.ts.map +0 -0
- package/lib/dist/math/quat.test.js +45 -0
- package/lib/dist/math/transfo.d.ts +27 -0
- package/lib/dist/math/transfo.d.ts.map +1 -0
- package/lib/dist/math/transfo.js +86 -0
- package/lib/dist/math/vec2.d.ts +34 -0
- package/lib/dist/math/vec2.d.ts.map +1 -0
- package/lib/dist/math/vec2.js +119 -0
- package/lib/dist/math/vec3.d.ts +24 -13
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +187 -0
- package/lib/dist/math/vec3.test.d.ts +2 -0
- package/lib/dist/math/vec3.test.d.ts.map +1 -0
- package/lib/dist/math/vec3.test.js +22 -0
- package/lib/dist/math/vec4.d.ts +8 -4
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +152 -0
- package/lib/dist/math/vec4.test.d.ts +0 -0
- package/lib/dist/math/vec4.test.d.ts.map +0 -0
- package/lib/dist/math/vec4.test.js +15 -0
- package/lib/dist/painter/axis/axis.d.ts +1 -1
- package/lib/dist/painter/axis/axis.d.ts.map +1 -1
- package/lib/dist/painter/axis/axis.frag +11 -0
- package/lib/dist/painter/axis/axis.js +84 -0
- package/lib/dist/painter/axis/axis.vert +21 -0
- package/lib/dist/painter/axis/index.d.ts +0 -0
- package/lib/dist/painter/axis/index.d.ts.map +0 -0
- package/lib/dist/painter/axis/index.js +2 -0
- package/lib/dist/painter/background/background.d.ts +5 -1
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.frag +11 -0
- package/lib/dist/painter/background/background.js +63 -0
- package/lib/dist/painter/background/background.vert +16 -0
- package/lib/dist/painter/background/index.d.ts +0 -0
- package/lib/dist/painter/background/index.d.ts.map +0 -0
- package/lib/dist/painter/background/index.js +2 -0
- package/lib/dist/painter/clear.d.ts +11 -6
- package/lib/dist/painter/clear.d.ts.map +1 -1
- package/lib/dist/painter/clear.js +51 -0
- package/lib/dist/painter/depth.d.ts +0 -0
- package/lib/dist/painter/depth.d.ts.map +1 -1
- package/lib/dist/painter/depth.js +34 -0
- package/lib/dist/painter/filter/filter.d.ts +23 -0
- package/lib/dist/painter/filter/filter.d.ts.map +1 -0
- package/lib/dist/painter/filter/filter.frag +15 -0
- package/lib/dist/painter/filter/filter.js +76 -0
- package/lib/dist/painter/filter/filter.vert +11 -0
- package/lib/dist/painter/filter/index.d.ts +2 -0
- package/lib/dist/painter/filter/index.d.ts.map +1 -0
- package/lib/dist/painter/filter/index.js +2 -0
- package/lib/dist/painter/framebuffer.d.ts +38 -0
- package/lib/dist/painter/framebuffer.d.ts.map +1 -0
- package/lib/dist/painter/framebuffer.js +102 -0
- package/lib/dist/painter/group.d.ts +4 -0
- package/lib/dist/painter/group.d.ts.map +1 -1
- package/lib/dist/painter/group.js +59 -0
- package/lib/dist/painter/index.d.ts +3 -1
- package/lib/dist/painter/index.d.ts.map +1 -1
- package/lib/dist/painter/index.js +12 -0
- package/lib/dist/painter/logic.d.ts +3 -0
- package/lib/dist/painter/logic.d.ts.map +1 -1
- package/lib/dist/painter/logic.js +16 -0
- package/lib/dist/painter/mesh/gltf/gltf.d.ts +14 -0
- package/lib/dist/painter/mesh/gltf/gltf.d.ts.map +1 -0
- package/lib/dist/painter/mesh/gltf/gltf.js +93 -0
- package/lib/dist/painter/mesh/gltf/index.d.ts +2 -0
- package/lib/dist/painter/mesh/gltf/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/gltf/index.js +2 -0
- package/lib/dist/painter/mesh/index.d.ts +4 -0
- package/lib/dist/painter/mesh/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/index.js +4 -0
- package/lib/dist/painter/mesh/mesh/index.d.ts +2 -0
- package/lib/dist/painter/mesh/mesh/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/mesh/index.js +2 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +32 -0
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -0
- package/lib/dist/painter/mesh/mesh/mesh.js +128 -0
- package/lib/dist/painter/mesh/normals/index.d.ts +2 -0
- package/lib/dist/painter/mesh/normals/index.d.ts.map +1 -0
- package/lib/dist/painter/mesh/normals/index.js +2 -0
- package/lib/dist/painter/mesh/normals/normals.d.ts +18 -0
- package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -0
- package/lib/dist/painter/mesh/normals/normals.js +53 -0
- package/lib/dist/painter/mesh/normals/shader.frag +14 -0
- package/lib/dist/painter/mesh/normals/shader.vert +18 -0
- package/lib/dist/painter/node.d.ts +26 -0
- package/lib/dist/painter/node.d.ts.map +1 -0
- package/lib/dist/painter/node.js +67 -0
- package/lib/dist/painter/painter.d.ts +1 -0
- package/lib/dist/painter/painter.d.ts.map +1 -1
- package/lib/dist/painter/painter.js +4 -0
- package/lib/dist/painter/segments/index.d.ts +0 -0
- package/lib/dist/painter/segments/index.d.ts.map +0 -0
- package/lib/dist/painter/segments/index.js +2 -0
- package/lib/dist/painter/segments/segments.d.ts +56 -17
- package/lib/dist/painter/segments/segments.d.ts.map +1 -1
- package/lib/dist/painter/segments/segments.frag +12 -0
- package/lib/dist/painter/segments/segments.js +196 -0
- package/lib/dist/painter/segments/segments.vert +114 -0
- package/lib/dist/painter/skybox/index.d.ts +0 -0
- package/lib/dist/painter/skybox/index.d.ts.map +0 -0
- package/lib/dist/painter/skybox/index.js +2 -0
- package/lib/dist/painter/skybox/skybox.d.ts +2 -2
- package/lib/dist/painter/skybox/skybox.d.ts.map +1 -1
- package/lib/dist/painter/skybox/skybox.frag +15 -0
- package/lib/dist/painter/skybox/skybox.js +59 -0
- package/lib/dist/painter/skybox/skybox.vert +10 -0
- package/lib/dist/parser/for-each-line.d.ts +3 -0
- package/lib/dist/parser/for-each-line.d.ts.map +1 -1
- package/lib/dist/parser/for-each-line.js +17 -0
- package/lib/dist/parser/gltf/gltf.d.ts +34 -0
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -0
- package/lib/dist/parser/gltf/gltf.js +164 -0
- package/lib/dist/parser/gltf/index.d.ts +2 -0
- package/lib/dist/parser/gltf/index.d.ts.map +1 -0
- package/lib/dist/parser/gltf/index.js +2 -0
- package/lib/dist/parser/gltf/parser.d.ts +9 -0
- package/lib/dist/parser/gltf/parser.d.ts.map +1 -0
- package/lib/dist/parser/gltf/parser.js +53 -0
- package/lib/dist/parser/index.d.ts +1 -0
- package/lib/dist/parser/index.d.ts.map +1 -1
- package/lib/dist/parser/index.js +3 -0
- package/lib/dist/parser/mesh/wavefront.d.ts +70 -12
- package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
- package/lib/dist/parser/mesh/wavefront.js +246 -0
- package/lib/dist/program/index.d.ts +0 -0
- package/lib/dist/program/index.d.ts.map +0 -0
- package/lib/dist/program/index.js +2 -0
- package/lib/dist/program/program.d.ts +15 -0
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +220 -0
- package/lib/dist/ref-map.d.ts +15 -0
- package/lib/dist/ref-map.d.ts.map +1 -1
- package/lib/dist/ref-map.js +48 -0
- package/lib/dist/resource/index.d.ts +0 -0
- package/lib/dist/resource/index.d.ts.map +0 -0
- package/lib/dist/resource/index.js +5 -0
- package/lib/dist/resource/program.d.ts +0 -0
- package/lib/dist/resource/program.d.ts.map +1 -1
- package/lib/dist/resource/program.js +20 -0
- package/lib/dist/resource/resource.d.ts +7 -1
- package/lib/dist/resource/resource.d.ts.map +1 -1
- package/lib/dist/resource/resource.js +48 -0
- package/lib/dist/resource/texture2d.d.ts +1 -0
- package/lib/dist/resource/texture2d.d.ts.map +1 -1
- package/lib/dist/resource/texture2d.js +20 -0
- package/lib/dist/resource/textureCube.d.ts +0 -0
- package/lib/dist/resource/textureCube.d.ts.map +1 -1
- package/lib/dist/resource/textureCube.js +17 -0
- package/lib/dist/shader/code.d.ts +12 -0
- package/lib/dist/shader/code.d.ts.map +1 -0
- package/lib/dist/shader/code.js +32 -0
- package/lib/dist/shader/fragment.d.ts +23 -0
- package/lib/dist/shader/fragment.d.ts.map +1 -0
- package/lib/dist/shader/fragment.js +37 -0
- package/lib/dist/shader/vertex.d.ts +23 -0
- package/lib/dist/shader/vertex.d.ts.map +1 -0
- package/lib/dist/shader/vertex.js +35 -0
- package/lib/dist/texture/index.d.ts +0 -0
- package/lib/dist/texture/index.d.ts.map +0 -0
- package/lib/dist/texture/index.js +3 -0
- package/lib/dist/texture/texture2d.d.ts +4 -3
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +132 -0
- package/lib/dist/texture/textureCube.d.ts +0 -0
- package/lib/dist/texture/textureCube.d.ts.map +1 -1
- package/lib/dist/texture/textureCube.js +87 -0
- package/lib/dist/types/animation.d.ts +20 -0
- package/lib/dist/types/animation.d.ts.map +1 -0
- package/lib/dist/types/animation.js +2 -0
- package/lib/dist/types/arrays.d.ts +33 -0
- package/lib/dist/types/arrays.d.ts.map +1 -0
- package/lib/dist/types/arrays.js +2 -0
- package/lib/dist/types/context.d.ts +7 -2
- package/lib/dist/types/context.d.ts.map +1 -1
- package/lib/dist/types/context.js +2 -0
- package/lib/dist/types/gltf.d.ts +200 -0
- package/lib/dist/types/gltf.d.ts.map +1 -0
- package/lib/dist/types/gltf.js +117 -0
- package/lib/dist/types/guards.d.ts +25 -0
- package/lib/dist/types/guards.d.ts.map +1 -0
- package/lib/dist/types/guards.js +218 -0
- package/lib/dist/types/index.d.ts +2 -0
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +10 -0
- package/lib/dist/types/input-keyboard.d.ts +3 -0
- package/lib/dist/types/input-keyboard.d.ts.map +1 -1
- package/lib/dist/types/input-keyboard.js +2 -0
- package/lib/dist/types/input-pointer.d.ts +33 -20
- package/lib/dist/types/input-pointer.d.ts.map +1 -1
- package/lib/dist/types/input-pointer.js +2 -0
- package/lib/dist/types/mesh.d.ts +10 -0
- package/lib/dist/types/mesh.d.ts.map +1 -0
- package/lib/dist/types/mesh.js +2 -0
- package/lib/dist/types/painter.d.ts +0 -0
- package/lib/dist/types/painter.d.ts.map +0 -0
- package/lib/dist/types/painter.js +2 -0
- package/lib/dist/types/program.d.ts +15 -0
- package/lib/dist/types/program.d.ts.map +1 -1
- package/lib/dist/types/program.js +2 -0
- package/lib/dist/types/texture2d.d.ts +14 -6
- package/lib/dist/types/texture2d.d.ts.map +1 -1
- package/lib/dist/types/texture2d.js +2 -0
- package/lib/dist/types/textureCube.d.ts +39 -0
- package/lib/dist/types/textureCube.d.ts.map +1 -1
- package/lib/dist/types/textureCube.js +2 -0
- package/lib/dist/types/webgl.d.ts +28 -1
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +2 -0
- package/lib/dist/utils/action/camera.d.ts +13 -0
- package/lib/dist/utils/action/camera.d.ts.map +1 -0
- package/lib/dist/utils/action/camera.js +30 -0
- package/lib/dist/utils/action/index.d.ts +2 -0
- package/lib/dist/utils/action/index.d.ts.map +1 -0
- package/lib/dist/utils/action/index.js +2 -0
- package/lib/dist/utils/canvas.d.ts +9 -1
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +23 -0
- package/lib/dist/utils/ease-func/ease-func.d.ts +32 -0
- package/lib/dist/utils/ease-func/ease-func.d.ts.map +1 -0
- package/lib/dist/utils/ease-func/ease-func.js +142 -0
- package/lib/dist/utils/ease-func/index.d.ts +2 -0
- package/lib/dist/utils/ease-func/index.d.ts.map +1 -0
- package/lib/dist/utils/ease-func/index.js +2 -0
- package/lib/dist/utils/fetch/fetch.d.ts +2 -0
- package/lib/dist/utils/fetch/fetch.d.ts.map +1 -0
- package/lib/dist/utils/fetch/fetch.js +5 -0
- package/lib/dist/utils/fetch/index.d.ts +2 -0
- package/lib/dist/utils/fetch/index.d.ts.map +1 -0
- package/lib/dist/utils/fetch/index.js +2 -0
- package/lib/dist/utils/fullscreen.d.ts +21 -0
- package/lib/dist/utils/fullscreen.d.ts.map +1 -0
- package/lib/dist/utils/fullscreen.js +64 -0
- package/lib/dist/utils/index.d.ts +4 -0
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +6 -0
- package/lib/dist/utils/math.d.ts +3 -0
- package/lib/dist/utils/math.d.ts.map +1 -0
- package/lib/dist/utils/math.js +11 -0
- package/lib/dist/utils/ref-map.d.ts +22 -0
- package/lib/dist/utils/ref-map.d.ts.map +1 -0
- package/lib/dist/utils/ref-map.js +48 -0
- package/lib/dist/vao/index.d.ts +0 -0
- package/lib/dist/vao/index.d.ts.map +0 -0
- package/lib/dist/vao/index.js +2 -0
- package/lib/dist/vao/vao.d.ts +5 -1
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +67 -0
- package/package.json +2 -4
- package/lib/dist/index.js.map +0 -1
- package/lib/dist/mesh/mesh.d.ts +0 -11
- package/lib/dist/mesh/mesh.d.ts.map +0 -1
- package/lib/dist/painter/isometric/isometric.frag.d.ts +0 -3
- package/lib/dist/painter/isometric/isometric.frag.d.ts.map +0 -1
- package/lib/dist/painter/isometric/isometric.vert.d.ts +0 -3
- package/lib/dist/painter/isometric/isometric.vert.d.ts.map +0 -1
- package/lib/dist/painter/primitive/primitive.frag.d.ts +0 -3
- package/lib/dist/painter/primitive/primitive.frag.d.ts.map +0 -1
- package/lib/dist/painter/primitive/primitive.vert.d.ts +0 -3
- package/lib/dist/painter/primitive/primitive.vert.d.ts.map +0 -1
- package/lib/dist/painter/sprites/sprites-painter.frag.d.ts +0 -3
- package/lib/dist/painter/sprites/sprites-painter.frag.d.ts.map +0 -1
- package/lib/dist/painter/sprites/sprites-painter.vert.d.ts +0 -3
- package/lib/dist/painter/sprites/sprites-painter.vert.d.ts.map +0 -1
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { TgdVec4 } from "./vec4.js";
|
|
2
|
+
export class TgdQuat extends TgdVec4 {
|
|
3
|
+
constructor(x = 0, y = 0, z = 0, w = 1) {
|
|
4
|
+
if (typeof x === "number")
|
|
5
|
+
super(x, y, z, w);
|
|
6
|
+
else
|
|
7
|
+
super(x);
|
|
8
|
+
}
|
|
9
|
+
clone() {
|
|
10
|
+
return new TgdQuat(this);
|
|
11
|
+
}
|
|
12
|
+
multiply(quat) {
|
|
13
|
+
const [qx, qy, qz, qw] = this;
|
|
14
|
+
const [rx, ry, rz, rw] = quat;
|
|
15
|
+
this[0] = rw * qx + rx * qw - ry * qz + rz * qy;
|
|
16
|
+
this[1] = rw * qy + rx * qz + ry * qw - rz * qx;
|
|
17
|
+
this[2] = rw * qz - rx * qy + ry * qx + rz * qw;
|
|
18
|
+
this[3] = rw * qw - rx * qx - ry * qy - rz * qz;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
fromSlerp(a, b, t) {
|
|
22
|
+
const EPSILON = 1e-6;
|
|
23
|
+
const [ax, ay, az, aw] = a;
|
|
24
|
+
let [bx, by, bz, bw] = b;
|
|
25
|
+
let scale0, scale1;
|
|
26
|
+
// calc cosine
|
|
27
|
+
let cosom = ax * bx + ay * by + az * bz + aw * bw;
|
|
28
|
+
// adjust signs (if necessary)
|
|
29
|
+
if (cosom < 0.0) {
|
|
30
|
+
cosom = -cosom;
|
|
31
|
+
bx = -bx;
|
|
32
|
+
by = -by;
|
|
33
|
+
bz = -bz;
|
|
34
|
+
bw = -bw;
|
|
35
|
+
}
|
|
36
|
+
// calculate coefficients
|
|
37
|
+
if (1.0 - cosom > EPSILON) {
|
|
38
|
+
// standard case (slerp)
|
|
39
|
+
const omega = Math.acos(cosom);
|
|
40
|
+
const sinom = Math.sin(omega);
|
|
41
|
+
const inverseSinom = 1 / sinom;
|
|
42
|
+
scale0 = Math.sin((1.0 - t) * omega) * inverseSinom;
|
|
43
|
+
scale1 = Math.sin(t * omega) * inverseSinom;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// "from" and "to" quaternions are very close
|
|
47
|
+
// ... so we can do a linear interpolation
|
|
48
|
+
scale0 = 1.0 - t;
|
|
49
|
+
scale1 = t;
|
|
50
|
+
}
|
|
51
|
+
// calculate final values
|
|
52
|
+
this.x = scale0 * ax + scale1 * bx;
|
|
53
|
+
this.y = scale0 * ay + scale1 * by;
|
|
54
|
+
this.z = scale0 * az + scale1 * bz;
|
|
55
|
+
this.w = scale0 * aw + scale1 * bw;
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
fromAxis(X, Y, Z) {
|
|
59
|
+
// Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes
|
|
60
|
+
// article "Quaternion Calculus and Fast Animation".
|
|
61
|
+
const fTrace = X.x + Y.y + Z.z;
|
|
62
|
+
if (fTrace > 0.0) {
|
|
63
|
+
// |w| > 1/2, may as well choose w > 1/2
|
|
64
|
+
const fRoot = Math.sqrt(fTrace + 1.0); // 2w
|
|
65
|
+
this.w = 0.5 * fRoot;
|
|
66
|
+
const halfRoot = 0.5 / fRoot; // 1/(4w)
|
|
67
|
+
this.x = (Y.z - Z.y) * halfRoot;
|
|
68
|
+
this.y = (Z.x - X.z) * halfRoot;
|
|
69
|
+
this.z = (X.y - Y.x) * halfRoot;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// |w| <= 1/2
|
|
73
|
+
const axis = [X, Y, Z];
|
|
74
|
+
let i = 0;
|
|
75
|
+
if (Y.y > X.x)
|
|
76
|
+
i = 1;
|
|
77
|
+
if (Z.z > axis[i][i])
|
|
78
|
+
i = 2;
|
|
79
|
+
const j = (i + 1) % 3;
|
|
80
|
+
const k = (i + 2) % 3;
|
|
81
|
+
let fRoot = Math.sqrt(axis[i][i] - axis[j][j] - axis[k][k] + 1.0);
|
|
82
|
+
this[i] = 0.5 * fRoot;
|
|
83
|
+
fRoot = 0.5 / fRoot;
|
|
84
|
+
this[3] = (axis[j][k] - axis[k][j]) * fRoot;
|
|
85
|
+
this[j] = (axis[j][i] + axis[i][j]) * fRoot;
|
|
86
|
+
this[k] = (axis[k][i] + axis[i][k]) * fRoot;
|
|
87
|
+
}
|
|
88
|
+
return this.normalize();
|
|
89
|
+
}
|
|
90
|
+
rotateAroundX(angleInRadians) {
|
|
91
|
+
const rad = angleInRadians * 0.5;
|
|
92
|
+
const ax = this[0];
|
|
93
|
+
const ay = this[1];
|
|
94
|
+
const az = this[2];
|
|
95
|
+
const aw = this[3];
|
|
96
|
+
const bx = Math.sin(rad);
|
|
97
|
+
const bw = Math.cos(rad);
|
|
98
|
+
this[0] = ax * bw + aw * bx;
|
|
99
|
+
this[1] = ay * bw + az * bx;
|
|
100
|
+
this[2] = az * bw - ay * bx;
|
|
101
|
+
this[3] = aw * bw - ax * bx;
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
rotateAroundY(angleInRadians) {
|
|
105
|
+
const rad = angleInRadians * 0.5;
|
|
106
|
+
const ax = this[0];
|
|
107
|
+
const ay = this[1];
|
|
108
|
+
const az = this[2];
|
|
109
|
+
const aw = this[3];
|
|
110
|
+
const by = Math.sin(rad);
|
|
111
|
+
const bw = Math.cos(rad);
|
|
112
|
+
this[0] = ax * bw - az * by;
|
|
113
|
+
this[1] = ay * bw + aw * by;
|
|
114
|
+
this[2] = az * bw + ax * by;
|
|
115
|
+
this[3] = aw * bw - ay * by;
|
|
116
|
+
return this;
|
|
117
|
+
}
|
|
118
|
+
rotateAroundZ(angleInRadians) {
|
|
119
|
+
const rad = angleInRadians * 0.5;
|
|
120
|
+
const ax = this[0];
|
|
121
|
+
const ay = this[1];
|
|
122
|
+
const az = this[2];
|
|
123
|
+
const aw = this[3];
|
|
124
|
+
const bz = Math.sin(rad);
|
|
125
|
+
const bw = Math.cos(rad);
|
|
126
|
+
this[0] = ax * bw + ay * bz;
|
|
127
|
+
this[1] = ay * bw - ax * bz;
|
|
128
|
+
this[2] = az * bw + aw * bz;
|
|
129
|
+
this[3] = aw * bw - az * bz;
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
toAxisZ(vec) {
|
|
133
|
+
const { x, y, z, w } = this;
|
|
134
|
+
const x2 = x + x;
|
|
135
|
+
const y2 = y + y;
|
|
136
|
+
const xx = x * x2;
|
|
137
|
+
const yy = y * y2;
|
|
138
|
+
const zx = z * x2;
|
|
139
|
+
const zy = z * y2;
|
|
140
|
+
const wx = w * x2;
|
|
141
|
+
const wy = w * y2;
|
|
142
|
+
vec.x = zx + wy;
|
|
143
|
+
vec.y = zy - wx;
|
|
144
|
+
vec.z = 1 - xx - yy;
|
|
145
|
+
return vec;
|
|
146
|
+
}
|
|
147
|
+
face(face = "+X+Y+Z") {
|
|
148
|
+
const [x, y, z, w] = FACES[face];
|
|
149
|
+
this.x = x;
|
|
150
|
+
this.y = y;
|
|
151
|
+
this.z = z;
|
|
152
|
+
this.w = w;
|
|
153
|
+
return this;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const A = Math.sqrt(2) / 2;
|
|
157
|
+
const H = 0.5;
|
|
158
|
+
const FACES = {
|
|
159
|
+
"+X+Y+Z": [+0, +0, +0, +1],
|
|
160
|
+
"-Z+Y+X": [+0, +A, +0, +A],
|
|
161
|
+
"-X+Y-Z": [+0, +1, +0, +0],
|
|
162
|
+
"+Z+Y-X": [+0, -A, +0, +A],
|
|
163
|
+
"+X+Z-Y": [+A, +0, +0, +A],
|
|
164
|
+
"+Y+Z+X": [+H, +H, +H, +H],
|
|
165
|
+
"-X+Z+Y": [+0, +A, +A, +0],
|
|
166
|
+
"-Y+Z-X": [+H, -H, -H, +H],
|
|
167
|
+
"+X-Y-Z": [+1, +0, +0, +0],
|
|
168
|
+
"+X-Z+Y": [-A, +0, +0, +A],
|
|
169
|
+
"-X-Y+Z": [+0, +0, +1, +0],
|
|
170
|
+
"-X-Z-Y": [+0, +A, -A, +0],
|
|
171
|
+
"+Y+X-Z": [+A, +A, +0, +0],
|
|
172
|
+
"+Y-X+Z": [+0, +0, +A, +A],
|
|
173
|
+
"+Y-Z-X": [+H, +H, -H, -H],
|
|
174
|
+
"-Y+X+Z": [+0, +0, -A, +A],
|
|
175
|
+
"-Y-X-Z": [+A, -A, +0, +0],
|
|
176
|
+
"-Y-Z+X": [+H, -H, +H, -H],
|
|
177
|
+
"+Z+X+Y": [+H, +H, +H, -H],
|
|
178
|
+
"+Z-X-Y": [+H, -H, +H, +H],
|
|
179
|
+
"+Z-Y+X": [+A, +0, +A, +0],
|
|
180
|
+
"-Z+X-Y": [+H, +H, -H, +H],
|
|
181
|
+
"-Z-X+Y": [+H, -H, -H, -H],
|
|
182
|
+
"-Z-Y-X": [+A, +0, -A, +0],
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3F1YXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUloQyxNQUFNLE9BQU8sT0FBUSxTQUFRLE9BQU87SUFRaEMsWUFDSSxJQUFzQixDQUFDLEVBQ3ZCLElBQVksQ0FBQyxFQUNiLElBQVksQ0FBQyxFQUNiLElBQVksQ0FBQztRQUViLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUTtZQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTs7WUFDdkMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWE7UUFDbEIsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUM3QixNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO1FBQy9DLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO1FBQy9DLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxH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YixNQUFNLEtBQUssR0FBRztJQUNWLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0NBQzdCLENBQUEifQ==
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { TgdQuat, TgdVec3 } from ".//index.js";
|
|
2
|
+
describe("math/quat.ts", () => {
|
|
3
|
+
describe("TgdQuat.fromAxis()", () => {
|
|
4
|
+
const cases = [
|
|
5
|
+
[
|
|
6
|
+
[1, 0, 0],
|
|
7
|
+
[0, 1, 0],
|
|
8
|
+
[0, 0, 1],
|
|
9
|
+
[0, 0, 0, 1],
|
|
10
|
+
],
|
|
11
|
+
[
|
|
12
|
+
[1, 0, 0],
|
|
13
|
+
[0, 0, -1],
|
|
14
|
+
[0, 1, 0],
|
|
15
|
+
[-0.707106, 0, 0, 0.707106],
|
|
16
|
+
],
|
|
17
|
+
[
|
|
18
|
+
[1.0, 0.0, 0.0],
|
|
19
|
+
[0.0, -0.504863, -0.863199],
|
|
20
|
+
[0.0, 0.863199, -0.504863],
|
|
21
|
+
[0.867428, 0, 0, -0.497562],
|
|
22
|
+
],
|
|
23
|
+
];
|
|
24
|
+
const quat = new TgdQuat(0, 0, 0, 0);
|
|
25
|
+
for (const [X, Y, Z, Q] of cases) {
|
|
26
|
+
it(`should get ${str(Q)} from ${str(X)}, ${str(Y)} and ${str(Z)}`, () => {
|
|
27
|
+
const axisX = new TgdVec3(...X);
|
|
28
|
+
const axisY = new TgdVec3(...Y);
|
|
29
|
+
const axisZ = new TgdVec3(...Z);
|
|
30
|
+
quat.fromAxis(axisX, axisY, axisZ);
|
|
31
|
+
const got = [quat.x, quat.y, quat.z, quat.w];
|
|
32
|
+
const exp = [...Q];
|
|
33
|
+
expect(got[0]).toBeCloseTo(exp[0], 5);
|
|
34
|
+
expect(got[1]).toBeCloseTo(exp[1], 5);
|
|
35
|
+
expect(got[2]).toBeCloseTo(exp[2], 5);
|
|
36
|
+
expect(got[3]).toBeCloseTo(exp[3], 5);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
function str(input) {
|
|
42
|
+
const arr = Array.from(input);
|
|
43
|
+
return `[${arr.map(n => `${n}`).join(", ")}]`;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhdC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvcXVhdC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRTVDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzFCLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7UUFDaEMsTUFBTSxLQUFLLEdBT1A7WUFDQTtnQkFDSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNULENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNmO1lBQ0Q7Z0JBQ0ksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ1YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDVCxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDO2FBQzlCO1lBRUQ7Z0JBQ0ksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztnQkFDZixDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFDM0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUMxQixDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO2FBQzlCO1NBQ0osQ0FBQTtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3BDLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQy9CLEVBQUUsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FDeEQsQ0FBQyxDQUNKLEVBQUUsRUFBRSxHQUFHLEVBQUU7Z0JBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUNsQyxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDNUMsTUFBTSxHQUFHLEdBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUM1QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtnQkFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7Z0JBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO2dCQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUN6QyxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBO0FBRUYsU0FBUyxHQUFHLENBQUMsS0FBdUI7SUFDaEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM3QixPQUFPLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtBQUNqRCxDQUFDIn0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ArrayNumber16, ArrayNumber3, ArrayNumber4 } from "../types";
|
|
2
|
+
import { TgdMat4 } from "./mat4";
|
|
3
|
+
import { TgdQuat } from "./quat";
|
|
4
|
+
import { TgdVec3 } from "./vec3";
|
|
5
|
+
import { TgdVec4 } from "./vec4";
|
|
6
|
+
export declare class TgdTransfo {
|
|
7
|
+
private readonly _matrix;
|
|
8
|
+
private readonly _position;
|
|
9
|
+
private readonly _orientation;
|
|
10
|
+
private readonly _scale;
|
|
11
|
+
private dirty;
|
|
12
|
+
private _updateCount;
|
|
13
|
+
get updateCount(): number;
|
|
14
|
+
get matrix(): Readonly<TgdMat4>;
|
|
15
|
+
set matrix(value: Readonly<TgdMat4> | ArrayNumber16);
|
|
16
|
+
get position(): Readonly<TgdVec3>;
|
|
17
|
+
set position(value: Readonly<TgdVec3 | TgdVec4 | ArrayNumber3>);
|
|
18
|
+
setPosition(x: number, y: number, z: number): this;
|
|
19
|
+
get scale(): Readonly<TgdVec3>;
|
|
20
|
+
set scale(value: Readonly<TgdVec3 | ArrayNumber3>);
|
|
21
|
+
setScale(x: number, y: number, z: number): this;
|
|
22
|
+
get orientation(): Readonly<TgdQuat>;
|
|
23
|
+
set orientation(quat: Readonly<TgdQuat | ArrayNumber4>);
|
|
24
|
+
setOrientation(x: number, y: number, z: number, w: number): void;
|
|
25
|
+
private setDirty;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=transfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfo.d.ts","sourceRoot":"","sources":["../../src/math/transfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAKvB;IACD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAE9C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAAI;IAExB,IAAI,WAAW,WAEd;IAED,IAAI,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,CAyB9B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,aAAa,EAIlD;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,CAEhC;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,EAG7D;IACD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlD,IAAI,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,CAE7B;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,EAGhD;IACD,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAM/C,IAAI,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,CAEnC;IACD,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,EAGrD;IACD,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAKzD,OAAO,CAAC,QAAQ;CAInB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { TgdMat4 } from "./mat4.js";
|
|
2
|
+
import { TgdQuat } from "./quat.js";
|
|
3
|
+
import { TgdVec3 } from "./vec3.js";
|
|
4
|
+
export class TgdTransfo {
|
|
5
|
+
// prettier-ignore
|
|
6
|
+
_matrix = new TgdMat4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
7
|
+
_position = new TgdVec3(0, 0, 0);
|
|
8
|
+
_orientation = new TgdQuat(0, 0, 0, 1);
|
|
9
|
+
_scale = new TgdVec3(1, 1, 1);
|
|
10
|
+
dirty = false;
|
|
11
|
+
_updateCount = 0;
|
|
12
|
+
get updateCount() {
|
|
13
|
+
return this._updateCount;
|
|
14
|
+
}
|
|
15
|
+
get matrix() {
|
|
16
|
+
if (this.dirty) {
|
|
17
|
+
const m = this._matrix;
|
|
18
|
+
m.m03 = 0;
|
|
19
|
+
m.m13 = 0;
|
|
20
|
+
m.m23 = 0;
|
|
21
|
+
m.m33 = 1;
|
|
22
|
+
const [tx, ty, tz] = this._position;
|
|
23
|
+
m.m30 = tx;
|
|
24
|
+
m.m31 = ty;
|
|
25
|
+
m.m32 = tz;
|
|
26
|
+
m.fromQuat(this._orientation);
|
|
27
|
+
const [sx, sy, sz] = this._scale;
|
|
28
|
+
m.m00 *= sx;
|
|
29
|
+
m.m01 *= sx;
|
|
30
|
+
m.m03 *= sx;
|
|
31
|
+
m.m10 *= sy;
|
|
32
|
+
m.m11 *= sy;
|
|
33
|
+
m.m13 *= sy;
|
|
34
|
+
m.m20 *= sz;
|
|
35
|
+
m.m21 *= sz;
|
|
36
|
+
m.m23 *= sz;
|
|
37
|
+
this.dirty = false;
|
|
38
|
+
}
|
|
39
|
+
return this._matrix;
|
|
40
|
+
}
|
|
41
|
+
set matrix(value) {
|
|
42
|
+
this._matrix.from(value);
|
|
43
|
+
this._updateCount++;
|
|
44
|
+
this.dirty = false;
|
|
45
|
+
}
|
|
46
|
+
get position() {
|
|
47
|
+
return this._position;
|
|
48
|
+
}
|
|
49
|
+
set position(value) {
|
|
50
|
+
this.setDirty();
|
|
51
|
+
this._position.from(value);
|
|
52
|
+
}
|
|
53
|
+
setPosition(x, y, z) {
|
|
54
|
+
this.setDirty();
|
|
55
|
+
this._position.reset(x, y, z);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
get scale() {
|
|
59
|
+
return this._scale;
|
|
60
|
+
}
|
|
61
|
+
set scale(value) {
|
|
62
|
+
this.setDirty();
|
|
63
|
+
this._scale.from(value);
|
|
64
|
+
}
|
|
65
|
+
setScale(x, y, z) {
|
|
66
|
+
this.setDirty();
|
|
67
|
+
this._scale.reset(x, y, z);
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
get orientation() {
|
|
71
|
+
return this._orientation;
|
|
72
|
+
}
|
|
73
|
+
set orientation(quat) {
|
|
74
|
+
this.setDirty();
|
|
75
|
+
this._orientation.from(quat);
|
|
76
|
+
}
|
|
77
|
+
setOrientation(x, y, z, w) {
|
|
78
|
+
this.setDirty();
|
|
79
|
+
this._orientation.reset(x, y, z, w);
|
|
80
|
+
}
|
|
81
|
+
setDirty() {
|
|
82
|
+
this._updateCount++;
|
|
83
|
+
this.dirty = true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3RyYW5zZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFHaEMsTUFBTSxPQUFPLFVBQVU7SUFDbkIsa0JBQWtCO0lBQ0QsT0FBTyxHQUFHLElBQUksT0FBTyxDQUNsQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ1YsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUNWLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFDVixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2IsQ0FBQTtJQUNnQixTQUFTLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNoQyxZQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdEMsTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFdEMsS0FBSyxHQUFHLEtBQUssQ0FBQTtJQUNiLFlBQVksR0FBRyxDQUFDLENBQUE7SUFFeEIsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDdEIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFD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
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ArrayNumber2 } from "..";
|
|
2
|
+
import { TgdVec3 } from "./vec3";
|
|
3
|
+
import { TgdVec4 } from "./vec4";
|
|
4
|
+
export declare class TgdVec2 extends Float32Array {
|
|
5
|
+
static fromMix(v1: TgdVec2 | TgdVec3 | TgdVec4, v2: TgdVec2 | TgdVec3 | TgdVec4, a?: number): TgdVec2;
|
|
6
|
+
static distance(from: TgdVec2 | TgdVec3 | TgdVec4, to: TgdVec2 | TgdVec3 | TgdVec4): number;
|
|
7
|
+
constructor();
|
|
8
|
+
constructor(x: Readonly<TgdVec2 | ArrayNumber2>);
|
|
9
|
+
constructor(x: number);
|
|
10
|
+
constructor(x: number, y: number);
|
|
11
|
+
clone(): TgdVec2;
|
|
12
|
+
isEqual(vec: Readonly<TgdVec2 | ArrayNumber2>): boolean;
|
|
13
|
+
isClose(vec: Readonly<TgdVec2 | ArrayNumber2>, epsilon?: number): boolean;
|
|
14
|
+
from(vec: Readonly<TgdVec2 | TgdVec4 | ArrayNumber2>): this;
|
|
15
|
+
fromMix(a: TgdVec2 | TgdVec3 | TgdVec4, b: TgdVec2 | TgdVec3 | TgdVec4, t: number): this;
|
|
16
|
+
reset(x: number, y: number): this;
|
|
17
|
+
get x(): number;
|
|
18
|
+
set x(value: number);
|
|
19
|
+
get y(): number;
|
|
20
|
+
set y(value: number);
|
|
21
|
+
add(...vectors: (TgdVec2 | TgdVec3 | TgdVec4)[]): this;
|
|
22
|
+
addWithScale(vec: TgdVec2 | TgdVec3 | TgdVec4, scale: number): this;
|
|
23
|
+
subtract(vec: Readonly<TgdVec2 | TgdVec3 | TgdVec4 | ArrayNumber2>): this;
|
|
24
|
+
scale(factor: number): this;
|
|
25
|
+
dot(vec: Readonly<TgdVec2 | TgdVec3 | TgdVec4 | ArrayNumber2>): number;
|
|
26
|
+
get size(): number;
|
|
27
|
+
normalize(): this;
|
|
28
|
+
/**
|
|
29
|
+
* Set random values between -0.5 and +0.5 to each coordinate.
|
|
30
|
+
*/
|
|
31
|
+
random(): this;
|
|
32
|
+
debug(caption?: string): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=vec2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vec2.d.ts","sourceRoot":"","sources":["../../src/math/vec2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,qBAAa,OAAQ,SAAQ,YAAY;IACrC,MAAM,CAAC,OAAO,CACV,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EAC/B,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EAC/B,CAAC,SAAM,GACR,OAAO;IAOV,MAAM,CAAC,QAAQ,CACX,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EACjC,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAChC,MAAM;;gBAOG,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;gBACnC,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAehC,KAAK;IAIL,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;IAO7C,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,OAAO,SAAO;IAO7D,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG,IAAI;IAO3D,OAAO,CACH,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EAC9B,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EAC9B,CAAC,EAAE,MAAM,GACV,IAAI;IAMP,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAMjC,IAAI,CAAC,IAGQ,MAAM,CADlB;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAGQ,MAAM,CADlB;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI;IAQtD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMnE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG,IAAI;IAMzE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM3B,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG,MAAM;IAItE,IAAI,IAAI,WAEP;IAED,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACH,MAAM,IAAI,IAAI;IAMd,KAAK,CAAC,OAAO,SAAS;CAUzB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { mix } from "../utils/math.js";
|
|
2
|
+
export class TgdVec2 extends Float32Array {
|
|
3
|
+
static fromMix(v1, v2, a = 0.5) {
|
|
4
|
+
const b = 1 - a;
|
|
5
|
+
const x = b * v1.x + a * v2.x;
|
|
6
|
+
const y = b * v1.y + a * v2.y;
|
|
7
|
+
return new TgdVec2(x, y);
|
|
8
|
+
}
|
|
9
|
+
static distance(from, to) {
|
|
10
|
+
const x = to.x - from.x;
|
|
11
|
+
const y = to.y - from.y;
|
|
12
|
+
return Math.sqrt(x * x + y * y);
|
|
13
|
+
}
|
|
14
|
+
constructor(x = 0, y = 0) {
|
|
15
|
+
super(2);
|
|
16
|
+
if (typeof x !== "number") {
|
|
17
|
+
this.x = x[0];
|
|
18
|
+
this.y = x[1];
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this.x = x;
|
|
22
|
+
this.y = y;
|
|
23
|
+
}
|
|
24
|
+
clone() {
|
|
25
|
+
return new TgdVec2(this);
|
|
26
|
+
}
|
|
27
|
+
isEqual(vec) {
|
|
28
|
+
const [x, y] = vec;
|
|
29
|
+
if (x !== this.x)
|
|
30
|
+
return false;
|
|
31
|
+
if (y !== this.y)
|
|
32
|
+
return false;
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
isClose(vec, epsilon = 1e-6) {
|
|
36
|
+
const [x, y] = vec;
|
|
37
|
+
if (Math.abs(x - this.x) > epsilon)
|
|
38
|
+
return false;
|
|
39
|
+
if (Math.abs(y - this.y) > epsilon)
|
|
40
|
+
return false;
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
from(vec) {
|
|
44
|
+
const [x, y] = vec;
|
|
45
|
+
this.x = x;
|
|
46
|
+
this.y = y;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
fromMix(a, b, t) {
|
|
50
|
+
const [ax, ay] = a;
|
|
51
|
+
const [bx, by] = b;
|
|
52
|
+
return this.reset(mix(ax, bx, t), mix(ay, by, t));
|
|
53
|
+
}
|
|
54
|
+
reset(x, y) {
|
|
55
|
+
this[0] = x;
|
|
56
|
+
this[1] = y;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
get x() {
|
|
60
|
+
return this[0];
|
|
61
|
+
}
|
|
62
|
+
set x(value) {
|
|
63
|
+
this[0] = value;
|
|
64
|
+
}
|
|
65
|
+
get y() {
|
|
66
|
+
return this[1];
|
|
67
|
+
}
|
|
68
|
+
set y(value) {
|
|
69
|
+
this[1] = value;
|
|
70
|
+
}
|
|
71
|
+
add(...vectors) {
|
|
72
|
+
for (const vec of vectors) {
|
|
73
|
+
this[0] += vec.x;
|
|
74
|
+
this[1] += vec.y;
|
|
75
|
+
}
|
|
76
|
+
return this;
|
|
77
|
+
}
|
|
78
|
+
addWithScale(vec, scale) {
|
|
79
|
+
this[0] += vec.x * scale;
|
|
80
|
+
this[1] += vec.y * scale;
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
subtract(vec) {
|
|
84
|
+
this[0] -= vec[0];
|
|
85
|
+
this[1] -= vec[1];
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
scale(factor) {
|
|
89
|
+
this[0] *= factor;
|
|
90
|
+
this[1] *= factor;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
dot(vec) {
|
|
94
|
+
return this[0] * vec[0] + this[1] * vec[1];
|
|
95
|
+
}
|
|
96
|
+
get size() {
|
|
97
|
+
return Math.sqrt(this[0] * this[0] + this[1] * this[1]);
|
|
98
|
+
}
|
|
99
|
+
normalize() {
|
|
100
|
+
const squareLength = this[0] * this[0] + this[1] * this[1];
|
|
101
|
+
if (squareLength === 0)
|
|
102
|
+
return this;
|
|
103
|
+
return this.scale(1 / Math.sqrt(squareLength));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Set random values between -0.5 and +0.5 to each coordinate.
|
|
107
|
+
*/
|
|
108
|
+
random() {
|
|
109
|
+
this[0] = Math.random() - 0.5;
|
|
110
|
+
this[1] = Math.random() - 0.5;
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
debug(caption = "vec2") {
|
|
114
|
+
const { x, y } = this;
|
|
115
|
+
const out = [x, y].map(n => n.toFixed(6));
|
|
116
|
+
console.log(`${caption}: `, out.join(" | "), " length:", Math.sqrt(x * x + y * y));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3ZlYzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUluQyxNQUFNLE9BQU8sT0FBUSxTQUFRLFlBQVk7SUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FDVixFQUErQixFQUMvQixFQUErQixFQUMvQixDQUFDLEdBQUcsR0FBRztRQUVQLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDZixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM3QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FDWCxJQUFpQyxFQUNqQyxFQUErQjtRQUUvQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdkIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBTUQsWUFDSSxJQUErQyxDQUFDLEVBQ2hELElBQVksQ0FBQztRQUViLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNSLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMs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
|
package/lib/dist/math/vec3.d.ts
CHANGED
|
@@ -1,34 +1,45 @@
|
|
|
1
|
+
import { ArrayNumber3 } from "..";
|
|
1
2
|
import { TgdMat3 } from "./mat3";
|
|
2
3
|
import { TgdMat4 } from "./mat4";
|
|
3
|
-
|
|
4
|
+
import { TgdVec4 } from "./vec4";
|
|
4
5
|
export declare class TgdVec3 extends Float32Array {
|
|
6
|
+
static newFromMix(v1: TgdVec3 | TgdVec4, v2: TgdVec3 | TgdVec4, a?: number): TgdVec3;
|
|
7
|
+
static distance(from: TgdVec3 | TgdVec4, to: TgdVec3 | TgdVec4): number;
|
|
5
8
|
constructor();
|
|
6
|
-
constructor(x:
|
|
9
|
+
constructor(x: Readonly<TgdVec3 | ArrayNumber3>);
|
|
7
10
|
constructor(x: number);
|
|
8
11
|
constructor(x: number, y: number);
|
|
9
12
|
constructor(x: number, y: number, z: number);
|
|
10
13
|
clone(): TgdVec3;
|
|
11
|
-
isEqual(
|
|
12
|
-
isClose(
|
|
13
|
-
rotateAround(axis:
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
isEqual(vec: Readonly<TgdVec3 | ArrayNumber3>): boolean;
|
|
15
|
+
isClose(vec: Readonly<TgdVec3 | ArrayNumber3>, epsilon?: number): boolean;
|
|
16
|
+
rotateAround(axis: Readonly<TgdVec3 | ArrayNumber3>, angleInRadians: number): this;
|
|
17
|
+
/**
|
|
18
|
+
* V := M×V
|
|
19
|
+
*/
|
|
20
|
+
applyMatrix(mat: Readonly<TgdMat3 | TgdMat4>): this;
|
|
21
|
+
from(vec: Readonly<TgdVec3 | TgdVec4 | ArrayNumber3>): this;
|
|
22
|
+
fromMix(a: TgdVec3 | TgdVec4, b: TgdVec3 | TgdVec4, t: number): this;
|
|
23
|
+
reset(x: number, y: number, z: number): this;
|
|
24
|
+
distanceToLineSquared(origin: TgdVec3, normalizedDirection: TgdVec3): number;
|
|
16
25
|
get x(): number;
|
|
17
26
|
set x(value: number);
|
|
18
27
|
get y(): number;
|
|
19
28
|
set y(value: number);
|
|
20
29
|
get z(): number;
|
|
21
30
|
set z(value: number);
|
|
22
|
-
add(...vectors:
|
|
23
|
-
addWithScale(
|
|
24
|
-
subtract(vec:
|
|
31
|
+
add(...vectors: (TgdVec3 | TgdVec4)[]): this;
|
|
32
|
+
addWithScale(vec: TgdVec3 | TgdVec4, scale: number): this;
|
|
33
|
+
subtract(vec: Readonly<TgdVec3 | TgdVec4 | ArrayNumber3>): this;
|
|
25
34
|
scale(factor: number): this;
|
|
26
|
-
dot(vec:
|
|
35
|
+
dot(vec: Readonly<TgdVec3 | TgdVec4 | ArrayNumber3>): number;
|
|
27
36
|
get size(): number;
|
|
28
37
|
normalize(): this;
|
|
29
|
-
cross(
|
|
38
|
+
cross(vec: Readonly<TgdVec3 | TgdVec4 | ArrayNumber3>): this;
|
|
39
|
+
/**
|
|
40
|
+
* Set random values between -0.5 and +0.5 to each coordinate.
|
|
41
|
+
*/
|
|
30
42
|
random(): this;
|
|
31
43
|
debug(caption?: string): void;
|
|
32
44
|
}
|
|
33
|
-
export {};
|
|
34
45
|
//# sourceMappingURL=vec3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vec3.d.ts","sourceRoot":"","sources":["../../src/math/vec3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"vec3.d.ts","sourceRoot":"","sources":["../../src/math/vec3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,qBAAa,OAAQ,SAAQ,YAAY;IACrC,MAAM,CAAC,UAAU,CACb,EAAE,EAAE,OAAO,GAAG,OAAO,EACrB,EAAE,EAAE,OAAO,GAAG,OAAO,EACrB,CAAC,SAAM,GACR,OAAO;IAQV,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM;;gBAQ3D,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;gBACnC,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;gBACpB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAkB3C,KAAK;IAIL,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;IAQ7C,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,OAAO,SAAO;IAQ7D,YAAY,CACR,IAAI,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,EACtC,cAAc,EAAE,MAAM;IAkB1B;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI;IAQnD,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG,IAAI;IAQ3D,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAMpE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5C,qBAAqB,CACjB,MAAM,EAAE,OAAO,EACf,mBAAmB,EAAE,OAAO,GAC7B,MAAM;IAcT,IAAI,CAAC,IAGQ,MAAM,CADlB;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAGQ,MAAM,CADlB;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,IAAI,CAAC,IAGQ,MAAM,CADlB;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI;IAS5C,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOzD,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG,IAAI;IAO/D,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO3B,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG,MAAM;IAI5D,IAAI,IAAI,WAIP;IAED,SAAS,IAAI,IAAI;IAQjB,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC,GAAG,IAAI;IAS5D;;OAEG;IACH,MAAM,IAAI,IAAI;IAOd,KAAK,CAAC,OAAO,SAAS;CAUzB"}
|