@tolokoban/tgd 2.0.20 → 2.0.22
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.js +2 -2
- package/lib/dist/camera/camera-node.d.ts +2 -2
- package/lib/dist/camera/camera-node.d.ts.map +1 -1
- package/lib/dist/camera/camera-node.js +4 -4
- package/lib/dist/camera/camera-orthographic.d.ts.map +1 -1
- package/lib/dist/camera/camera-orthographic.js +6 -5
- package/lib/dist/camera/camera-perspective.d.ts.map +1 -1
- package/lib/dist/camera/camera-perspective.js +12 -31
- package/lib/dist/camera/camera.d.ts +9 -56
- package/lib/dist/camera/camera.d.ts.map +1 -1
- package/lib/dist/camera/camera.js +28 -257
- package/lib/dist/camera/index.d.ts +0 -1
- package/lib/dist/camera/index.d.ts.map +1 -1
- package/lib/dist/camera/index.js +1 -2
- package/lib/dist/canvas/gizmo/gizmo.d.ts.map +1 -1
- package/lib/dist/canvas/gizmo/gizmo.js +18 -20
- package/lib/dist/canvas/gizmo/painter/tips.js +16 -16
- package/lib/dist/code/color.d.ts +12 -0
- package/lib/dist/code/color.d.ts.map +1 -0
- package/lib/dist/code/color.js +26 -0
- package/lib/dist/code/consts.d.ts +16 -0
- package/lib/dist/code/consts.d.ts.map +1 -0
- package/lib/dist/code/consts.js +20 -0
- package/lib/dist/code/coords.d.ts +46 -0
- package/lib/dist/code/coords.d.ts.map +1 -0
- package/lib/dist/code/coords.js +95 -0
- package/lib/dist/code/index.d.ts +6 -0
- package/lib/dist/code/index.d.ts.map +1 -0
- package/lib/dist/code/index.js +6 -0
- package/lib/dist/code/random.d.ts +8 -0
- package/lib/dist/code/random.d.ts.map +1 -0
- package/lib/dist/code/random.js +13 -0
- package/lib/dist/code/transfo.d.ts +8 -0
- package/lib/dist/code/transfo.d.ts.map +1 -0
- package/lib/dist/code/transfo.js +19 -0
- package/lib/dist/color/color.js +10 -10
- package/lib/dist/context/animation/animation-manager.js +3 -3
- package/lib/dist/context/context.d.ts +6 -0
- package/lib/dist/context/context.d.ts.map +1 -1
- package/lib/dist/context/context.js +33 -22
- package/lib/dist/controller/camera/orbit.d.ts +9 -2
- package/lib/dist/controller/camera/orbit.d.ts.map +1 -1
- package/lib/dist/controller/camera/orbit.js +47 -45
- package/lib/dist/dataset/dataset.d.ts.map +1 -1
- package/lib/dist/dataset/dataset.js +61 -56
- package/lib/dist/debug/debug.d.ts +1 -1
- package/lib/dist/debug/debug.d.ts.map +1 -1
- package/lib/dist/debug/debug.js +3 -3
- package/lib/dist/debug/tools.js +3 -3
- package/lib/dist/event/event.js +3 -2
- package/lib/dist/filter/blur.d.ts.map +1 -1
- package/lib/dist/filter/blur.js +9 -8
- package/lib/dist/filter/filter.d.ts.map +1 -1
- package/lib/dist/filter/hue-rotation.d.ts.map +1 -1
- package/lib/dist/filter/zoom.d.ts.map +1 -1
- package/lib/dist/geometry/box.d.ts +2 -1
- package/lib/dist/geometry/box.d.ts.map +1 -1
- package/lib/dist/geometry/box.js +103 -115
- package/lib/dist/geometry/geometry.d.ts.map +1 -1
- package/lib/dist/geometry/geometry.js +33 -35
- package/lib/dist/index.d.ts +2 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +3 -1
- package/lib/dist/input/keyboard.js +8 -8
- package/lib/dist/input/pointer.d.ts.map +1 -1
- package/lib/dist/input/pointer.js +30 -33
- package/lib/dist/interface/transformable.d.ts +3 -1
- package/lib/dist/interface/transformable.d.ts.map +1 -1
- package/lib/dist/loader/asset.js +2 -2
- package/lib/dist/loader/binary.js +6 -6
- package/lib/dist/loader/image.js +9 -9
- package/lib/dist/loader/index.d.ts +1 -0
- package/lib/dist/loader/index.d.ts.map +1 -1
- package/lib/dist/loader/index.js +2 -1
- package/lib/dist/loader/video.d.ts +6 -0
- package/lib/dist/loader/video.d.ts.map +1 -0
- package/lib/dist/loader/video.js +23 -0
- package/lib/dist/log.d.ts +1 -1
- package/lib/dist/log.d.ts.map +1 -1
- package/lib/dist/log.js +13 -13
- package/lib/dist/math/common.test.d.ts +2 -0
- package/lib/dist/math/common.test.d.ts.map +1 -0
- package/lib/dist/math/common.test.js +22 -0
- package/lib/dist/math/index.d.ts +0 -1
- package/lib/dist/math/index.d.ts.map +1 -1
- package/lib/dist/math/index.js +1 -2
- package/lib/dist/math/mat3.d.ts +40 -16
- package/lib/dist/math/mat3.d.ts.map +1 -1
- package/lib/dist/math/mat3.js +124 -97
- package/lib/dist/math/mat3.test.d.ts +2 -0
- package/lib/dist/math/mat3.test.d.ts.map +1 -0
- package/lib/dist/math/mat3.test.js +32 -0
- package/lib/dist/math/mat4.d.ts +54 -121
- package/lib/dist/math/mat4.d.ts.map +1 -1
- package/lib/dist/math/mat4.js +167 -288
- package/lib/dist/math/quat.d.ts +5 -3
- package/lib/dist/math/quat.d.ts.map +1 -1
- package/lib/dist/math/quat.js +38 -72
- package/lib/dist/math/quat.test.d.ts +1 -0
- package/lib/dist/math/quat.test.d.ts.map +1 -1
- package/lib/dist/math/quat.test.js +81 -27
- package/lib/dist/math/transfo.d.ts +32 -5
- package/lib/dist/math/transfo.d.ts.map +1 -1
- package/lib/dist/math/transfo.js +126 -39
- package/lib/dist/math/vec2.js +6 -6
- package/lib/dist/math/vec3.d.ts +11 -3
- package/lib/dist/math/vec3.d.ts.map +1 -1
- package/lib/dist/math/vec3.js +30 -17
- package/lib/dist/math/vec3.test.js +20 -1
- package/lib/dist/math/vec4.d.ts +12 -3
- package/lib/dist/math/vec4.d.ts.map +1 -1
- package/lib/dist/math/vec4.js +29 -11
- package/lib/dist/painter/{axis/axis.d.ts → axes/axes.d.ts} +4 -4
- package/lib/dist/painter/{axis/axis.d.ts.map → axes/axes.d.ts.map} +1 -1
- package/lib/dist/painter/{axis/axis.frag → axes/axes.frag} +0 -0
- package/lib/dist/painter/axes/axes.js +82 -0
- package/lib/dist/painter/{axis/axis.vert → axes/axes.vert} +0 -0
- package/lib/dist/painter/axes/index.d.ts +2 -0
- package/lib/dist/painter/axes/index.d.ts.map +1 -0
- package/lib/dist/painter/axes/index.js +2 -0
- package/lib/dist/painter/background/background.d.ts +3 -2
- package/lib/dist/painter/background/background.d.ts.map +1 -1
- package/lib/dist/painter/background/background.js +4 -4
- package/lib/dist/painter/clear.js +3 -4
- package/lib/dist/painter/debug/stencil/stencil.js +2 -2
- package/lib/dist/painter/depth.d.ts +4 -4
- package/lib/dist/painter/depth.d.ts.map +1 -1
- package/lib/dist/painter/depth.js +3 -3
- package/lib/dist/painter/filter/filter.d.ts +2 -2
- package/lib/dist/painter/filter/filter.d.ts.map +1 -1
- package/lib/dist/painter/filter/filter.js +33 -24
- package/lib/dist/painter/framebuffer.js +3 -3
- package/lib/dist/painter/group.js +6 -5
- package/lib/dist/painter/index.d.ts +1 -1
- package/lib/dist/painter/index.js +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.d.ts +2 -2
- package/lib/dist/painter/mesh/mesh/mesh.d.ts.map +1 -1
- package/lib/dist/painter/mesh/mesh/mesh.js +21 -10
- package/lib/dist/painter/mesh/normals/normals.d.ts.map +1 -1
- package/lib/dist/painter/mesh/normals/normals.js +4 -4
- package/lib/dist/painter/node/node.d.ts +12 -12
- package/lib/dist/painter/node/node.d.ts.map +1 -1
- package/lib/dist/painter/node/node.js +31 -42
- package/lib/dist/painter/segments/segments.js +13 -13
- package/lib/dist/painter/skybox/skybox.js +3 -3
- package/lib/dist/painter/state/state.d.ts +4 -6
- package/lib/dist/painter/state/state.d.ts.map +1 -1
- package/lib/dist/painter/state/state.js +83 -61
- package/lib/dist/parser/for-each-line.d.ts.map +1 -1
- package/lib/dist/parser/for-each-line.js +5 -5
- package/lib/dist/parser/gltf/gltf.d.ts.map +1 -1
- package/lib/dist/parser/gltf/gltf.js +37 -37
- package/lib/dist/parser/gltf/parser.js +10 -11
- package/lib/dist/parser/mesh/wavefront.d.ts.map +1 -1
- package/lib/dist/parser/mesh/wavefront.js +18 -26
- package/lib/dist/program/program.d.ts +2 -4
- package/lib/dist/program/program.d.ts.map +1 -1
- package/lib/dist/program/program.js +26 -27
- package/lib/dist/{utils/ref-map.d.ts → reference-map.d.ts} +4 -4
- package/lib/dist/reference-map.d.ts.map +1 -0
- package/lib/dist/reference-map.js +52 -0
- package/lib/dist/shader/code.d.ts +2 -2
- package/lib/dist/shader/code.d.ts.map +1 -1
- package/lib/dist/shader/code.js +12 -12
- package/lib/dist/shader/fragment.js +6 -6
- package/lib/dist/shader/vertex.js +6 -6
- package/lib/dist/table/table.d.ts.map +1 -1
- package/lib/dist/table/table.js +7 -4
- package/lib/dist/texture/index.d.ts +1 -1
- package/lib/dist/texture/index.d.ts.map +1 -1
- package/lib/dist/texture/index.js +2 -2
- package/lib/dist/texture/{textureCube.d.ts → texture-cube.d.ts} +1 -1
- package/lib/dist/texture/texture-cube.d.ts.map +1 -0
- package/lib/dist/texture/texture-cube.js +69 -0
- package/lib/dist/texture/texture2d.d.ts +6 -3
- package/lib/dist/texture/texture2d.d.ts.map +1 -1
- package/lib/dist/texture/texture2d.js +30 -12
- package/lib/dist/types/elements.js +2 -2
- package/lib/dist/types/guards.d.ts.map +1 -1
- package/lib/dist/types/guards.js +36 -37
- package/lib/dist/types/index.d.ts +1 -1
- package/lib/dist/types/index.d.ts.map +1 -1
- package/lib/dist/types/index.js +2 -2
- package/lib/dist/types/{textureCube.d.ts → texture-cube.d.ts} +1 -1
- package/lib/dist/types/texture-cube.d.ts.map +1 -0
- package/lib/dist/types/texture-cube.js +2 -0
- package/lib/dist/types/webgl.d.ts +5 -4
- package/lib/dist/types/webgl.d.ts.map +1 -1
- package/lib/dist/types/webgl.js +37 -30
- package/lib/dist/utils/action/camera.d.ts.map +1 -1
- package/lib/dist/utils/action/camera.js +15 -26
- package/lib/dist/utils/action/transfo.d.ts +3 -0
- package/lib/dist/utils/action/transfo.d.ts.map +1 -0
- package/lib/dist/utils/action/transfo.js +18 -0
- package/lib/dist/utils/action/vector.d.ts.map +1 -1
- package/lib/dist/utils/action/vector.js +11 -11
- package/lib/dist/utils/assert.d.ts.map +1 -1
- package/lib/dist/utils/assert.js +2 -2
- package/lib/dist/utils/bbox.test.js +18 -19
- package/lib/dist/utils/canvas.d.ts +3 -3
- package/lib/dist/utils/canvas.d.ts.map +1 -1
- package/lib/dist/utils/canvas.js +14 -14
- package/lib/dist/utils/{ease-func/ease-func.d.ts → easing-function/easing-function.d.ts} +1 -1
- package/lib/dist/utils/easing-function/easing-function.d.ts.map +1 -0
- package/lib/dist/utils/easing-function/easing-function.js +142 -0
- package/lib/dist/utils/easing-function/index.d.ts +2 -0
- package/lib/dist/utils/easing-function/index.d.ts.map +1 -0
- package/lib/dist/utils/easing-function/index.js +2 -0
- package/lib/dist/utils/framebuffer.js +2 -2
- package/lib/dist/utils/fullscreen.d.ts +1 -1
- package/lib/dist/utils/fullscreen.d.ts.map +1 -1
- package/lib/dist/utils/fullscreen.js +19 -19
- package/lib/dist/utils/index.d.ts +2 -1
- package/lib/dist/utils/index.d.ts.map +1 -1
- package/lib/dist/utils/index.js +3 -2
- package/lib/dist/utils/math.d.ts +4 -2
- package/lib/dist/utils/math.d.ts.map +1 -1
- package/lib/dist/utils/math.js +12 -4
- package/lib/dist/utils/pbo.d.ts.map +1 -1
- package/lib/dist/utils/pbo.js +3 -3
- package/lib/dist/{ref-map.d.ts → utils/reference-map.d.ts} +4 -4
- package/lib/dist/utils/reference-map.d.ts.map +1 -0
- package/lib/dist/utils/reference-map.js +52 -0
- package/lib/dist/utils/state/blend.d.ts +5 -5
- package/lib/dist/utils/state/blend.d.ts.map +1 -1
- package/lib/dist/utils/state/blend.js +10 -10
- package/lib/dist/utils/state/depth.d.ts +2 -2
- package/lib/dist/utils/state/depth.d.ts.map +1 -1
- package/lib/dist/utils/state/depth.js +5 -5
- package/lib/dist/utils/state/stencil.js +9 -9
- package/lib/dist/utils/template.js +3 -3
- package/lib/dist/utils/webgl.js +5 -5
- package/lib/dist/vao/vao.d.ts.map +1 -1
- package/lib/dist/vao/vao.js +13 -9
- package/lib/dist/webgl/texture/texture2d.js +2 -2
- package/package.json +1 -1
- package/lib/dist/geometry/place.d.ts +0 -12
- package/lib/dist/geometry/place.d.ts.map +0 -1
- package/lib/dist/geometry/place.js +0 -145
- package/lib/dist/math/math.d.ts +0 -9
- package/lib/dist/math/math.d.ts.map +0 -1
- package/lib/dist/math/math.js +0 -13
- package/lib/dist/painter/axis/axis.js +0 -82
- package/lib/dist/painter/axis/index.d.ts +0 -2
- package/lib/dist/painter/axis/index.d.ts.map +0 -1
- package/lib/dist/painter/axis/index.js +0 -2
- package/lib/dist/painter/debug/stencil.d.ts +0 -11
- package/lib/dist/painter/debug/stencil.d.ts.map +0 -1
- package/lib/dist/painter/debug/stencil.js +0 -41
- package/lib/dist/painter/framebuffer-old.d.ts +0 -38
- package/lib/dist/painter/framebuffer-old.d.ts.map +0 -1
- package/lib/dist/painter/framebuffer-old.js +0 -102
- package/lib/dist/painter/framebuffer.backup.d.ts +0 -39
- package/lib/dist/painter/framebuffer.backup.d.ts.map +0 -1
- package/lib/dist/painter/framebuffer.backup.js +0 -122
- package/lib/dist/painter/mesh/hull/hull.d.ts +0 -12
- package/lib/dist/painter/mesh/hull/hull.d.ts.map +0 -1
- package/lib/dist/painter/mesh/hull/hull.js +0 -11
- package/lib/dist/painter/node.d.ts +0 -32
- package/lib/dist/painter/node.d.ts.map +0 -1
- package/lib/dist/painter/node.js +0 -73
- package/lib/dist/ref-map.d.ts.map +0 -1
- package/lib/dist/ref-map.js +0 -52
- package/lib/dist/resource/index.d.ts +0 -5
- package/lib/dist/resource/index.d.ts.map +0 -1
- package/lib/dist/resource/index.js +0 -5
- package/lib/dist/resource/program.d.ts +0 -10
- package/lib/dist/resource/program.d.ts.map +0 -1
- package/lib/dist/resource/program.js +0 -19
- package/lib/dist/resource/resource.d.ts +0 -17
- package/lib/dist/resource/resource.d.ts.map +0 -1
- package/lib/dist/resource/resource.js +0 -52
- package/lib/dist/resource/texture2d.d.ts +0 -10
- package/lib/dist/resource/texture2d.d.ts.map +0 -1
- package/lib/dist/resource/texture2d.js +0 -19
- package/lib/dist/resource/textureCube.d.ts +0 -9
- package/lib/dist/resource/textureCube.d.ts.map +0 -1
- package/lib/dist/resource/textureCube.js +0 -16
- package/lib/dist/scene/scene-node.d.ts +0 -8
- package/lib/dist/scene/scene-node.d.ts.map +0 -1
- package/lib/dist/scene/scene-node.js +0 -13
- package/lib/dist/texture/texture2dArray.d.ts +0 -43
- package/lib/dist/texture/texture2dArray.d.ts.map +0 -1
- package/lib/dist/texture/texture2dArray.js +0 -112
- package/lib/dist/texture/textureCube.d.ts.map +0 -1
- package/lib/dist/texture/textureCube.js +0 -69
- package/lib/dist/types/context.d.ts +0 -27
- package/lib/dist/types/context.d.ts.map +0 -1
- package/lib/dist/types/context.js +0 -2
- package/lib/dist/types/texture2d.d.ts +0 -51
- package/lib/dist/types/texture2d.d.ts.map +0 -1
- package/lib/dist/types/texture2d.js +0 -2
- package/lib/dist/types/textureCube.d.ts.map +0 -1
- package/lib/dist/types/textureCube.js +0 -2
- package/lib/dist/uniform/uniform-buffer-object.d.ts +0 -49
- package/lib/dist/uniform/uniform-buffer-object.d.ts.map +0 -1
- package/lib/dist/uniform/uniform-buffer-object.js +0 -93
- package/lib/dist/utils/ease-func/ease-func.d.ts.map +0 -1
- package/lib/dist/utils/ease-func/ease-func.js +0 -142
- package/lib/dist/utils/ease-func/index.d.ts +0 -2
- package/lib/dist/utils/ease-func/index.d.ts.map +0 -1
- package/lib/dist/utils/ease-func/index.js +0 -2
- package/lib/dist/utils/fetch/fetch.d.ts +0 -2
- package/lib/dist/utils/fetch/fetch.d.ts.map +0 -1
- package/lib/dist/utils/fetch/fetch.js +0 -5
- package/lib/dist/utils/fetch/index.d.ts +0 -2
- package/lib/dist/utils/fetch/index.d.ts.map +0 -1
- package/lib/dist/utils/fetch/index.js +0 -2
- package/lib/dist/utils/ref-map.d.ts.map +0 -1
- package/lib/dist/utils/ref-map.js +0 -52
package/lib/dist/math/transfo.js
CHANGED
|
@@ -1,46 +1,52 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mat4 } from "gl-matrix";
|
|
2
2
|
import { TgdMat4 } from "./mat4.js";
|
|
3
3
|
import { TgdQuat } from "./quat.js";
|
|
4
4
|
import { TgdVec3 } from "./vec3.js";
|
|
5
5
|
export class TgdTransfo {
|
|
6
|
-
constructor() {
|
|
6
|
+
constructor(source) {
|
|
7
|
+
var _a, _b, _c, _d;
|
|
7
8
|
// prettier-ignore
|
|
8
9
|
this._matrix = new TgdMat4(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
9
10
|
this._position = new TgdVec3(0, 0, 0);
|
|
10
11
|
this._orientation = new TgdQuat(0, 0, 0, 1);
|
|
11
12
|
this._scale = new TgdVec3(1, 1, 1);
|
|
12
|
-
this.
|
|
13
|
+
this._distance = 0;
|
|
13
14
|
this.tmpVec3 = new TgdVec3();
|
|
15
|
+
this._axisX = new TgdVec3();
|
|
16
|
+
this._axisY = new TgdVec3();
|
|
17
|
+
this._axisZ = new TgdVec3();
|
|
14
18
|
this.dirty = false;
|
|
15
19
|
this._updateCount = 0;
|
|
20
|
+
if (!source)
|
|
21
|
+
return;
|
|
22
|
+
if (source instanceof TgdTransfo)
|
|
23
|
+
this.from(source);
|
|
24
|
+
else {
|
|
25
|
+
this.distance = (_a = source.distance) !== null && _a !== void 0 ? _a : this.distance;
|
|
26
|
+
this.position = (_b = source.position) !== null && _b !== void 0 ? _b : this.position;
|
|
27
|
+
this.orientation = (_c = source.orientation) !== null && _c !== void 0 ? _c : this.orientation;
|
|
28
|
+
this.scale = (_d = source.scale) !== null && _d !== void 0 ? _d : this.scale;
|
|
29
|
+
}
|
|
30
|
+
this.setDirty();
|
|
31
|
+
}
|
|
32
|
+
from(transfo) {
|
|
33
|
+
this.position = transfo.position;
|
|
34
|
+
this.orientation = transfo.orientation;
|
|
35
|
+
this.scale = transfo.scale;
|
|
36
|
+
this.distance = transfo.distance;
|
|
37
|
+
this.setDirty();
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
fromMatrix(mat) {
|
|
41
|
+
this.matrix.from(mat);
|
|
42
|
+
this.dirty = false;
|
|
43
|
+
return this;
|
|
16
44
|
}
|
|
17
45
|
get updateCount() {
|
|
18
46
|
return this._updateCount;
|
|
19
47
|
}
|
|
20
48
|
get matrix() {
|
|
21
|
-
|
|
22
|
-
const m = this._matrix;
|
|
23
|
-
m.m03 = 0;
|
|
24
|
-
m.m13 = 0;
|
|
25
|
-
m.m23 = 0;
|
|
26
|
-
m.m33 = 1;
|
|
27
|
-
const [tx, ty, tz] = this._position;
|
|
28
|
-
m.m30 = tx;
|
|
29
|
-
m.m31 = ty;
|
|
30
|
-
m.m32 = tz;
|
|
31
|
-
m.fromQuat(this._orientation);
|
|
32
|
-
const [sx, sy, sz] = this._scale;
|
|
33
|
-
m.m00 *= sx;
|
|
34
|
-
m.m01 *= sx;
|
|
35
|
-
m.m03 *= sx;
|
|
36
|
-
m.m10 *= sy;
|
|
37
|
-
m.m11 *= sy;
|
|
38
|
-
m.m13 *= sy;
|
|
39
|
-
m.m20 *= sz;
|
|
40
|
-
m.m21 *= sz;
|
|
41
|
-
m.m23 *= sz;
|
|
42
|
-
this.dirty = false;
|
|
43
|
-
}
|
|
49
|
+
this.updateIfNeeded();
|
|
44
50
|
return this._matrix;
|
|
45
51
|
}
|
|
46
52
|
set matrix(value) {
|
|
@@ -48,6 +54,51 @@ export class TgdTransfo {
|
|
|
48
54
|
this._updateCount++;
|
|
49
55
|
this.dirty = false;
|
|
50
56
|
}
|
|
57
|
+
get axisX() {
|
|
58
|
+
this.updateIfNeeded();
|
|
59
|
+
return this._axisX;
|
|
60
|
+
}
|
|
61
|
+
get axisY() {
|
|
62
|
+
this.updateIfNeeded();
|
|
63
|
+
return this._axisY;
|
|
64
|
+
}
|
|
65
|
+
get axisZ() {
|
|
66
|
+
this.updateIfNeeded();
|
|
67
|
+
return this._axisZ;
|
|
68
|
+
}
|
|
69
|
+
updateIfNeeded() {
|
|
70
|
+
if (!this.dirty)
|
|
71
|
+
return;
|
|
72
|
+
const m = this._matrix;
|
|
73
|
+
mat4.fromRotationTranslationScale(m, this._orientation, this._position, this._scale);
|
|
74
|
+
m.toAxisX(this._axisX);
|
|
75
|
+
m.toAxisY(this._axisY);
|
|
76
|
+
m.toAxisZ(this._axisZ);
|
|
77
|
+
const d = this._distance;
|
|
78
|
+
if (d !== 0) {
|
|
79
|
+
this.tmpVec3.reset(0, 0, d).applyQuaternion(this._orientation);
|
|
80
|
+
m.m03 += this.tmpVec3.x;
|
|
81
|
+
m.m13 += this.tmpVec3.y;
|
|
82
|
+
m.m23 += this.tmpVec3.z;
|
|
83
|
+
}
|
|
84
|
+
this.dirty = false;
|
|
85
|
+
}
|
|
86
|
+
reset() {
|
|
87
|
+
this._matrix.reset();
|
|
88
|
+
this.dirty = false;
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
get distance() {
|
|
92
|
+
return this._distance;
|
|
93
|
+
}
|
|
94
|
+
set distance(value) {
|
|
95
|
+
this._distance = value;
|
|
96
|
+
this.setDirty();
|
|
97
|
+
}
|
|
98
|
+
setDistance(value) {
|
|
99
|
+
this.distance = value;
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
51
102
|
get position() {
|
|
52
103
|
return this._position;
|
|
53
104
|
}
|
|
@@ -57,9 +108,24 @@ export class TgdTransfo {
|
|
|
57
108
|
}
|
|
58
109
|
setPosition(x, y, z) {
|
|
59
110
|
this.setDirty();
|
|
60
|
-
|
|
111
|
+
if (typeof x === "number") {
|
|
112
|
+
this._position.reset(x, y, z);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this._position.reset(x[0], x[1], x[2]);
|
|
116
|
+
}
|
|
61
117
|
return this;
|
|
62
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* When `this.distance` is not null, we are orbitiong around the `position`.
|
|
121
|
+
* Then, the `actualPosition` is different.
|
|
122
|
+
*/
|
|
123
|
+
get actualPosition() {
|
|
124
|
+
const d = this.distance;
|
|
125
|
+
if (d === 0)
|
|
126
|
+
return this.position;
|
|
127
|
+
return this.tmpVec3.from(this.position).addWithScale(this.axisZ, d);
|
|
128
|
+
}
|
|
63
129
|
get scale() {
|
|
64
130
|
return this._scale;
|
|
65
131
|
}
|
|
@@ -69,7 +135,12 @@ export class TgdTransfo {
|
|
|
69
135
|
}
|
|
70
136
|
setScale(x, y, z) {
|
|
71
137
|
this.setDirty();
|
|
72
|
-
|
|
138
|
+
if (typeof x === "number") {
|
|
139
|
+
this._scale.reset(x, y, z);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this._scale.reset(x[0], x[1], x[2]);
|
|
143
|
+
}
|
|
73
144
|
return this;
|
|
74
145
|
}
|
|
75
146
|
get orientation() {
|
|
@@ -81,32 +152,48 @@ export class TgdTransfo {
|
|
|
81
152
|
}
|
|
82
153
|
setOrientation(x, y, z, w) {
|
|
83
154
|
this.setDirty();
|
|
84
|
-
|
|
155
|
+
if (typeof x === "number") {
|
|
156
|
+
this._orientation.reset(x, y, z, w);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
this._orientation.reset(x[0], x[1], x[2], x[4]);
|
|
160
|
+
}
|
|
161
|
+
return this;
|
|
85
162
|
}
|
|
86
163
|
orbitAroundX(angleInRadians) {
|
|
87
|
-
this.
|
|
88
|
-
this.tmpMat3.toAxisX(this.tmpVec3);
|
|
89
|
-
this._orientation.rotateAround(this.tmpVec3, angleInRadians);
|
|
164
|
+
this._orientation.rotateAround(TgdVec3.X, angleInRadians);
|
|
90
165
|
this.setDirty();
|
|
91
166
|
return this;
|
|
92
167
|
}
|
|
93
168
|
orbitAroundY(angleInRadians) {
|
|
94
|
-
this.
|
|
95
|
-
this.tmpMat3.toAxisY(this.tmpVec3);
|
|
96
|
-
this._orientation.rotateAround(this.tmpVec3, angleInRadians);
|
|
169
|
+
this._orientation.rotateAround(TgdVec3.Y, angleInRadians);
|
|
97
170
|
this.setDirty();
|
|
98
171
|
return this;
|
|
99
172
|
}
|
|
100
173
|
orbitAroundZ(angleInRadians) {
|
|
101
|
-
this.
|
|
102
|
-
this.tmpMat3.toAxisZ(this.tmpVec3);
|
|
103
|
-
this._orientation.rotateAround(this.tmpVec3, angleInRadians);
|
|
174
|
+
this._orientation.rotateAround(TgdVec3.Z, angleInRadians);
|
|
104
175
|
this.setDirty();
|
|
105
176
|
return this;
|
|
106
177
|
}
|
|
178
|
+
moveAlongAxes(dx, dy, dz) {
|
|
179
|
+
this.position
|
|
180
|
+
.addWithScale(this.axisX, dx)
|
|
181
|
+
.addWithScale(this.axisY, dy)
|
|
182
|
+
.addWithScale(this.axisZ, dz);
|
|
183
|
+
this.setDirty();
|
|
184
|
+
return this;
|
|
185
|
+
}
|
|
186
|
+
debug(caption = "Transfo") {
|
|
187
|
+
console.log(caption);
|
|
188
|
+
console.log("Distance:", this.distance);
|
|
189
|
+
this.orientation.debug("Orientation");
|
|
190
|
+
this.scale.debug("Scale");
|
|
191
|
+
this.position.debug("Position");
|
|
192
|
+
this.matrix.debug("Matrix");
|
|
193
|
+
}
|
|
107
194
|
setDirty() {
|
|
108
195
|
this._updateCount++;
|
|
109
196
|
this.dirty = true;
|
|
110
197
|
}
|
|
111
198
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3RyYW5zZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQVVoQyxNQUFNLE9BQU8sVUFBVTtJQXFCbkIsWUFBWSxNQUFnRDs7UUFwQjVELGtCQUFrQjtRQUNELFlBQU8sR0FBRyxJQUFJLE9BQU8sQ0FDbEMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUNWLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFDVixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ1YsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNiLENBQUE7UUFDZ0IsY0FBUyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDaEMsaUJBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN0QyxXQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUN0QyxjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBRUosWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDdkIsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDdEIsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDdEIsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFFLENB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
|
package/lib/dist/math/vec2.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { tgdCalcMix } from "../utils/math.js";
|
|
2
2
|
export class TgdVec2 extends Float32Array {
|
|
3
3
|
static fromMix(v1, v2, a = 0.5) {
|
|
4
4
|
const b = 1 - a;
|
|
@@ -9,7 +9,7 @@ export class TgdVec2 extends Float32Array {
|
|
|
9
9
|
static distance(from, to) {
|
|
10
10
|
const x = to.x - from.x;
|
|
11
11
|
const y = to.y - from.y;
|
|
12
|
-
return Math.
|
|
12
|
+
return Math.hypot(x, y);
|
|
13
13
|
}
|
|
14
14
|
constructor(x = 0, y = 0) {
|
|
15
15
|
super(2);
|
|
@@ -54,7 +54,7 @@ export class TgdVec2 extends Float32Array {
|
|
|
54
54
|
fromMix(a, b, t) {
|
|
55
55
|
const [ax, ay] = a;
|
|
56
56
|
const [bx, by] = b;
|
|
57
|
-
return this.reset(
|
|
57
|
+
return this.reset(tgdCalcMix(ax, bx, t), tgdCalcMix(ay, by, t));
|
|
58
58
|
}
|
|
59
59
|
reset(x, y) {
|
|
60
60
|
this[0] = x;
|
|
@@ -99,7 +99,7 @@ export class TgdVec2 extends Float32Array {
|
|
|
99
99
|
return this[0] * vec[0] + this[1] * vec[1];
|
|
100
100
|
}
|
|
101
101
|
get size() {
|
|
102
|
-
return Math.
|
|
102
|
+
return Math.hypot(this[0], this[1]);
|
|
103
103
|
}
|
|
104
104
|
normalize() {
|
|
105
105
|
const squareLength = this[0] * this[0] + this[1] * this[1];
|
|
@@ -118,7 +118,7 @@ export class TgdVec2 extends Float32Array {
|
|
|
118
118
|
debug(caption = "vec2") {
|
|
119
119
|
const { x, y } = this;
|
|
120
120
|
const out = [x, y].map(n => n.toFixed(6));
|
|
121
|
-
console.log(`${caption}: `, out.join(" | "), " length:", Math.
|
|
121
|
+
console.log(`${caption}: `, out.join(" | "), " length:", Math.hypot(x, y));
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3ZlYzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUkxQyxNQUFNLE9BQU8sT0FBUSxTQUFRLFlBQVk7SUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FDVixFQUErQixFQUMvQixFQUErQixFQUMvQixDQUFDLEdBQUcsR0FBRztRQUVQLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDZixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM3QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUM3QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FDWCxJQUFpQyxFQUNqQyxFQUErQjtRQUUvQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdkIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQU1ELFlBQ0ksSUFBK0MsQ0FBQyxFQUNoRCxJQUFZLENBQUM7UUFFYixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDUixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2Is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
|
package/lib/dist/math/vec3.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { ArrayNumber3, ArrayNumber4 } from "..";
|
|
1
|
+
import { ArrayNumber3, ArrayNumber4, TgdQuat } from "..";
|
|
2
2
|
import { TgdMat3 } from "./mat3";
|
|
3
3
|
import { TgdMat4 } from "./mat4";
|
|
4
4
|
import { TgdVec4 } from "./vec4";
|
|
5
5
|
export declare class TgdVec3 extends Float32Array {
|
|
6
|
+
static X: Readonly<TgdVec3>;
|
|
7
|
+
static Y: Readonly<TgdVec3>;
|
|
8
|
+
static Z: Readonly<TgdVec3>;
|
|
6
9
|
static newFrom([x, y, z]: TgdVec3 | TgdVec4 | ArrayNumber3 | ArrayNumber4): TgdVec3;
|
|
7
10
|
static newFromMix([x1, y1, z1]: TgdVec3 | TgdVec4 | ArrayNumber3 | ArrayNumber4, [x2, y2, z2]: TgdVec3 | TgdVec4 | ArrayNumber3 | ArrayNumber4, a?: number): TgdVec3;
|
|
8
11
|
static distance(from: TgdVec3 | TgdVec4, to: TgdVec3 | TgdVec4): number;
|
|
@@ -15,13 +18,18 @@ export declare class TgdVec3 extends Float32Array {
|
|
|
15
18
|
mix(vec: Readonly<TgdVec3>, alpha?: number): this;
|
|
16
19
|
isEqual(vec: Readonly<TgdVec3 | ArrayNumber3>): boolean;
|
|
17
20
|
isClose(vec: Readonly<TgdVec3 | ArrayNumber3>, epsilon?: number): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* __Warning__, for performance reason, `axis` is supposed to be of length 1.
|
|
23
|
+
* Otherwise, the result will be a vector rotated then scaled by the length of `axis`.
|
|
24
|
+
*/
|
|
18
25
|
rotateAround(axis: Readonly<TgdVec3 | ArrayNumber3>, angleInRadians: number): this;
|
|
19
26
|
/**
|
|
20
27
|
* V := M×V
|
|
21
28
|
*/
|
|
22
|
-
applyMatrix(
|
|
29
|
+
applyMatrix(matrix: Readonly<TgdMat3 | TgdMat4>): this;
|
|
30
|
+
applyQuaternion(quaternion: Readonly<TgdQuat | ArrayNumber4>): this;
|
|
23
31
|
from(vec: Readonly<TgdVec3 | TgdVec4 | ArrayNumber3>): this;
|
|
24
|
-
fromMix(
|
|
32
|
+
fromMix(valueAtT0: TgdVec3 | TgdVec4, valueAtT1: TgdVec3 | TgdVec4, t: number): this;
|
|
25
33
|
reset(x: number, y: number, z: number): this;
|
|
26
34
|
distanceToLineSquared(origin: TgdVec3, normalizedDirection: TgdVec3): number;
|
|
27
35
|
get x(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vec3.d.ts","sourceRoot":"","sources":["../../src/math/vec3.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vec3.d.ts","sourceRoot":"","sources":["../../src/math/vec3.ts"],"names":[],"mappings":"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"}
|
package/lib/dist/math/vec3.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { vec3 } from "gl-matrix";
|
|
2
|
+
import { tgdCalcMix } from "../utils/math.js";
|
|
2
3
|
export class TgdVec3 extends Float32Array {
|
|
3
4
|
static newFrom([x, y, z]) {
|
|
4
5
|
return new TgdVec3(x, y, z);
|
|
@@ -14,7 +15,7 @@ export class TgdVec3 extends Float32Array {
|
|
|
14
15
|
const x = to.x - from.x;
|
|
15
16
|
const y = to.y - from.y;
|
|
16
17
|
const z = to.z - from.z;
|
|
17
|
-
return Math.
|
|
18
|
+
return Math.hypot(x, y, z);
|
|
18
19
|
}
|
|
19
20
|
constructor(x = 0, y = 0, z = 0) {
|
|
20
21
|
super(3);
|
|
@@ -32,9 +33,10 @@ export class TgdVec3 extends Float32Array {
|
|
|
32
33
|
return new TgdVec3(this);
|
|
33
34
|
}
|
|
34
35
|
mix(vec, alpha = 0.5) {
|
|
35
|
-
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
36
|
+
const beta = 1 - alpha;
|
|
37
|
+
this.x = beta * this.x + alpha * vec.x;
|
|
38
|
+
this.y = beta * this.y + alpha * vec.y;
|
|
39
|
+
this.z = beta * this.z + alpha * vec.z;
|
|
38
40
|
return this;
|
|
39
41
|
}
|
|
40
42
|
isEqual(vec) {
|
|
@@ -57,8 +59,12 @@ export class TgdVec3 extends Float32Array {
|
|
|
57
59
|
return false;
|
|
58
60
|
return true;
|
|
59
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* __Warning__, for performance reason, `axis` is supposed to be of length 1.
|
|
64
|
+
* Otherwise, the result will be a vector rotated then scaled by the length of `axis`.
|
|
65
|
+
*/
|
|
60
66
|
rotateAround(axis, angleInRadians) {
|
|
61
|
-
// result := V.cos(a) + (
|
|
67
|
+
// result := V.cos(a) + (K×V).sin(a) + K(K.V)(1 - cos(a))
|
|
62
68
|
const C = Math.cos(angleInRadians);
|
|
63
69
|
const S = Math.sin(angleInRadians);
|
|
64
70
|
const [Vx, Vy, Vz] = this;
|
|
@@ -76,11 +82,15 @@ export class TgdVec3 extends Float32Array {
|
|
|
76
82
|
/**
|
|
77
83
|
* V := M×V
|
|
78
84
|
*/
|
|
79
|
-
applyMatrix(
|
|
85
|
+
applyMatrix(matrix) {
|
|
80
86
|
const { x, y, z } = this;
|
|
81
|
-
this.x = x *
|
|
82
|
-
this.y = x *
|
|
83
|
-
this.z = x *
|
|
87
|
+
this.x = x * matrix.m00 + y * matrix.m10 + z * matrix.m20;
|
|
88
|
+
this.y = x * matrix.m01 + y * matrix.m11 + z * matrix.m21;
|
|
89
|
+
this.z = x * matrix.m02 + y * matrix.m12 + z * matrix.m22;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
applyQuaternion(quaternion) {
|
|
93
|
+
vec3.transformQuat(this, this, quaternion);
|
|
84
94
|
return this;
|
|
85
95
|
}
|
|
86
96
|
from(vec) {
|
|
@@ -90,10 +100,10 @@ export class TgdVec3 extends Float32Array {
|
|
|
90
100
|
this.z = z;
|
|
91
101
|
return this;
|
|
92
102
|
}
|
|
93
|
-
fromMix(
|
|
94
|
-
const [ax, ay, az] =
|
|
95
|
-
const [bx, by, bz] =
|
|
96
|
-
return this.reset(
|
|
103
|
+
fromMix(valueAtT0, valueAtT1, t) {
|
|
104
|
+
const [ax, ay, az] = valueAtT0;
|
|
105
|
+
const [bx, by, bz] = valueAtT1;
|
|
106
|
+
return this.reset(tgdCalcMix(ax, bx, t), tgdCalcMix(ay, by, t), tgdCalcMix(az, bz, t));
|
|
97
107
|
}
|
|
98
108
|
reset(x, y, z) {
|
|
99
109
|
this[0] = x;
|
|
@@ -162,7 +172,7 @@ export class TgdVec3 extends Float32Array {
|
|
|
162
172
|
return this[0] * vec[0] + this[1] * vec[1] + this[2] * vec[2];
|
|
163
173
|
}
|
|
164
174
|
get size() {
|
|
165
|
-
return Math.
|
|
175
|
+
return Math.hypot(this[0], this[1], this[2]);
|
|
166
176
|
}
|
|
167
177
|
normalize() {
|
|
168
178
|
const squareLength = this[0] * this[0] + this[1] * this[1] + this[2] * this[2];
|
|
@@ -190,7 +200,10 @@ export class TgdVec3 extends Float32Array {
|
|
|
190
200
|
debug(caption = "vec3") {
|
|
191
201
|
const { x, y, z } = this;
|
|
192
202
|
const out = [x, y, z].map(n => n.toFixed(6));
|
|
193
|
-
console.log(`${caption}: `, out.join(" | "), " length:", Math.
|
|
203
|
+
console.log(`${caption}: `, out.join(" | "), " length:", Math.hypot(x, y, z));
|
|
194
204
|
}
|
|
195
205
|
}
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3ZlYzMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUtuQyxNQUFNLE9BQU8sT0FBUSxTQUFRLFlBQVk7SUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUlMO1FBQ2QsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUNiLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQWtELEVBQzdELENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQWtELEVBQzdELENBQUMsR0FBRyxHQUFHO1FBRVAsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3pCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUF1QixFQUFFLEVBQXFCO1FBQzFELE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN2QixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDdkIsTUFB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
|
|
206
|
+
TgdVec3.X = new TgdVec3(1, 0, 0);
|
|
207
|
+
TgdVec3.Y = new TgdVec3(0, 1, 0);
|
|
208
|
+
TgdVec3.Z = new TgdVec3(0, 0, 1);
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXRoL3ZlYzMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFRLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSzFDLE1BQU0sT0FBTyxPQUFRLFNBQVEsWUFBWTtJQUtyQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBSUw7UUFDZCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQ2IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBa0QsRUFDN0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBa0QsRUFDN0QsQ0FBQyxHQUFHLEdBQUc7UUFFUCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDekIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQXVCLEVBQUUsRUFBcUI7UUFDMUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3ZCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FB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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TgdVec3 } from "./vec3.js";
|
|
2
|
+
import { expectVectorsToBeClose } from "./common.test.js";
|
|
2
3
|
describe("tgd/math/vec3.ts", () => {
|
|
3
4
|
describe("TgdVec3.distanceToLineSquared()", () => {
|
|
4
5
|
const cases = [
|
|
@@ -18,5 +19,23 @@ describe("tgd/math/vec3.ts", () => {
|
|
|
18
19
|
});
|
|
19
20
|
}
|
|
20
21
|
});
|
|
22
|
+
describe(`TgdVec3.rotateAround()`, () => {
|
|
23
|
+
const cases = [
|
|
24
|
+
[[1, 0, 0], [0, 1, 0], Math.PI / 2, [0, 0, -1]],
|
|
25
|
+
[
|
|
26
|
+
[1, 2, 3],
|
|
27
|
+
[-0.3714, -0.5571, -0.7428],
|
|
28
|
+
1,
|
|
29
|
+
[1.018111, 2.344218, 2.732781],
|
|
30
|
+
],
|
|
31
|
+
];
|
|
32
|
+
for (const [from, axis, angleInRadians, to] of cases) {
|
|
33
|
+
it(`${from} should rotate around ${axis} and become ${to}`, () => {
|
|
34
|
+
const vec = new TgdVec3(from);
|
|
35
|
+
vec.rotateAround(axis, angleInRadians);
|
|
36
|
+
expectVectorsToBeClose(vec, to, 3);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
});
|
|
21
40
|
});
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hdGgvdmVjMy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDaEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXRELFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7SUFDOUIsUUFBUSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRTtRQUM3QyxNQUFNLEtBQUssR0FPUDtZQUNBLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxF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
|
package/lib/dist/math/vec4.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ import { ArrayNumber3, ArrayNumber4 } from "../types";
|
|
|
2
2
|
import { TgdMat4 } from "./mat4";
|
|
3
3
|
import { TgdVec3 } from "./vec3";
|
|
4
4
|
export declare class TgdVec4 extends Float32Array {
|
|
5
|
+
static X: Readonly<TgdVec4>;
|
|
6
|
+
static Y: Readonly<TgdVec4>;
|
|
7
|
+
static Z: Readonly<TgdVec4>;
|
|
8
|
+
static W: Readonly<TgdVec4>;
|
|
9
|
+
static newFromMix([x1, y1, z1, w1]: TgdVec3 | TgdVec4 | ArrayNumber3 | ArrayNumber4, [x2, y2, z2, w2]: TgdVec3 | TgdVec4 | ArrayNumber3 | ArrayNumber4, a?: number): TgdVec4;
|
|
5
10
|
constructor();
|
|
6
11
|
constructor(vec4: TgdVec4 | ArrayNumber4);
|
|
7
12
|
constructor(vec3: TgdVec3 | ArrayNumber3, w: number);
|
|
@@ -11,6 +16,10 @@ export declare class TgdVec4 extends Float32Array {
|
|
|
11
16
|
constructor(x: number, y: number, z: number, w: number);
|
|
12
17
|
reset(x?: number, y?: number, z?: number, w?: number): this;
|
|
13
18
|
from(vec: Readonly<TgdVec4 | ArrayNumber4>): this;
|
|
19
|
+
/**
|
|
20
|
+
* Warning! The `w` component will stay unchanged.
|
|
21
|
+
*/
|
|
22
|
+
fromVec3(vec: Readonly<TgdVec3 | ArrayNumber3>): this;
|
|
14
23
|
clone(): TgdVec4;
|
|
15
24
|
mix(vec: Readonly<TgdVec4>, alpha?: number): this;
|
|
16
25
|
isEqual(vec: Readonly<TgdVec4 | ArrayNumber4>): boolean;
|
|
@@ -27,10 +36,10 @@ export declare class TgdVec4 extends Float32Array {
|
|
|
27
36
|
set z(value: number);
|
|
28
37
|
get w(): number;
|
|
29
38
|
set w(value: number);
|
|
30
|
-
add(...vectors: (TgdVec4 | TgdVec3)[]): TgdVec4;
|
|
31
|
-
subtract(vec: TgdVec4 | TgdVec3): TgdVec4;
|
|
39
|
+
add(...vectors: (TgdVec4 | TgdVec3 | ArrayNumber4 | ArrayNumber3)[]): TgdVec4;
|
|
40
|
+
subtract(vec: TgdVec4 | TgdVec3 | ArrayNumber4 | ArrayNumber3): TgdVec4;
|
|
32
41
|
scale(factor: number): this;
|
|
33
|
-
dot(vec: TgdVec4): number;
|
|
42
|
+
dot(vec: TgdVec4 | ArrayNumber4): number;
|
|
34
43
|
get size(): number;
|
|
35
44
|
normalize(): this;
|
|
36
45
|
debug(caption?: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vec4.d.ts","sourceRoot":"","sources":["../../src/math/vec4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,qBAAa,OAAQ,SAAQ,YAAY;;
|
|
1
|
+
{"version":3,"file":"vec4.d.ts","sourceRoot":"","sources":["../../src/math/vec4.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,qBAAa,OAAQ,SAAQ,YAAY;IACrC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACrD,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACrD,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACrD,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAA0B;IAErD,MAAM,CAAC,UAAU,CACb,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,EACrE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,EACrE,CAAC,SAAM,GACR,OAAO;;gBAUE,IAAI,EAAE,OAAO,GAAG,YAAY;gBAC5B,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE,CAAC,EAAE,MAAM;gBACvC,CAAC,EAAE,MAAM;gBACT,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;gBACpB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;gBAC/B,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IA8CtD,KAAK,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,EAAE,CAAC,SAAI,GAAG,IAAI;IAQvC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,IAAI;IASjD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;IAQ9C,KAAK;IAIL,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,SAAM,GAAG,IAAI;IAQ9C,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;IAS7C,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,SAAO;IAQ/C;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAS/B,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,IAAI,CAAC,IAGQ,MAAM,CADlB;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAElB;IAED,GAAG,CACC,GAAG,OAAO,EAAE,CAAC,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC,EAAE,GAChE,OAAO;IAUV,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO;IAQvE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ3B,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,MAAM;IASxC,IAAI,IAAI,WAEP;IAED,SAAS,IAAI,IAAI;IAWjB,KAAK,CAAC,OAAO,SAAS;CASzB"}
|