@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
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TgdMat3 } from "./../math/mat3.js";
|
|
3
|
-
import { TgdEvent } from "../event/index.js";
|
|
1
|
+
import { TgdMat4, TgdTransfo } from "./../math/index.js";
|
|
4
2
|
export class TgdCamera {
|
|
5
3
|
constructor(options = {}) {
|
|
6
4
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
7
|
-
|
|
8
|
-
* A change in the position/orientation/size of the camera.
|
|
9
|
-
*/
|
|
10
|
-
this.eventTransformChange = new TgdEvent();
|
|
5
|
+
this.transfo = new TgdTransfo();
|
|
11
6
|
this._screenWidth = 1920;
|
|
12
7
|
this._screenHeight = 1080;
|
|
13
8
|
this._screenAspectRatio = 1920 / 1080;
|
|
@@ -19,39 +14,30 @@ export class TgdCamera {
|
|
|
19
14
|
this.dirtyProjectionInverse = true;
|
|
20
15
|
this._near = 1e-3;
|
|
21
16
|
this._far = Infinity;
|
|
22
|
-
this._axisX = new TgdVec3();
|
|
23
|
-
this._axisY = new TgdVec3();
|
|
24
|
-
this._axisZ = new TgdVec3();
|
|
25
17
|
// transformation
|
|
26
18
|
this._matrixModelView = new TgdMat4();
|
|
27
19
|
this._matrixModelViewInverse = new TgdMat4();
|
|
28
20
|
this._matrixProjectionInverse = new TgdMat4();
|
|
29
|
-
this._orientation = new TgdQuat(0, 0, 0, 1).face("+X+Z-Y");
|
|
30
|
-
this._shift = new TgdVec3(0, 0, 0);
|
|
31
|
-
this._target = new TgdVec3(0, 0, 0);
|
|
32
|
-
this._position = new TgdVec3(0, 0, 0);
|
|
33
|
-
this._distance = 10;
|
|
34
21
|
this._zoom = 1;
|
|
35
|
-
// For fast calculations (we don't want to recreate them).
|
|
36
|
-
this.tmpMat3 = new TgdMat3();
|
|
37
|
-
this.tmpVec3 = new TgdVec3();
|
|
38
22
|
this.name = (_a = options.name) !== null && _a !== void 0 ? _a : `TgdCamera#${TgdCamera.incrementalId++}`;
|
|
39
23
|
this._near = (_b = options.near) !== null && _b !== void 0 ? _b : 1e-3;
|
|
40
24
|
this._far = (_c = options.far) !== null && _c !== void 0 ? _c : 1e6;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
25
|
+
const { transfo } = this;
|
|
26
|
+
const [tx, ty, tz] = (_d = options.target) !== null && _d !== void 0 ? _d : [0, 0, 0];
|
|
27
|
+
const [qx, qy, qz, qw] = (_e = options.orientation) !== null && _e !== void 0 ? _e : [0, 0, 0, 1];
|
|
28
|
+
transfo
|
|
29
|
+
.setDistance((_f = options.distance) !== null && _f !== void 0 ? _f : 10)
|
|
30
|
+
.setPosition(tx, ty, tz)
|
|
31
|
+
.setOrientation(qx, qy, qz, qw);
|
|
32
|
+
transfo.debug("Camera transfo");
|
|
33
|
+
this.zoom = (_g = options.zoom) !== null && _g !== void 0 ? _g : 1;
|
|
47
34
|
}
|
|
48
35
|
getCurrentState() {
|
|
49
36
|
return {
|
|
50
|
-
distance: this.distance,
|
|
51
|
-
orientation: this.orientation.clone(),
|
|
52
|
-
shift: this.shift.clone(),
|
|
37
|
+
distance: this.transfo.distance,
|
|
38
|
+
orientation: this.transfo.orientation.clone(),
|
|
53
39
|
spaceHeightAtTarget: this.spaceHeightAtTarget,
|
|
54
|
-
target: this.
|
|
40
|
+
target: this.transfo.position.clone(),
|
|
55
41
|
zoom: this.zoom,
|
|
56
42
|
};
|
|
57
43
|
}
|
|
@@ -108,56 +94,26 @@ export class TgdCamera {
|
|
|
108
94
|
set spaceWidthAtTarget(v) {
|
|
109
95
|
this.setSpaceHeightAtTarget((v * this.screenHeight) / this.screenWidth);
|
|
110
96
|
}
|
|
111
|
-
face(face) {
|
|
112
|
-
this._orientation.face(face);
|
|
113
|
-
this.dirtyModelView = true;
|
|
114
|
-
this.dirtyAxis = true;
|
|
115
|
-
}
|
|
116
97
|
from(camera) {
|
|
117
|
-
const {
|
|
118
|
-
this.
|
|
119
|
-
this._target.from(target);
|
|
120
|
-
this.distance = distance;
|
|
98
|
+
const { zoom, screenWidth, screenHeight } = camera;
|
|
99
|
+
this.transfo.from(camera.transfo);
|
|
121
100
|
this.zoom = zoom;
|
|
122
101
|
this.screenWidth = screenWidth;
|
|
123
102
|
this.screenHeight = screenHeight;
|
|
124
103
|
this.dirtyModelView = true;
|
|
125
|
-
this.dirtyAxis = true;
|
|
126
104
|
this.copyProjectionFrom(camera);
|
|
127
105
|
return this;
|
|
128
106
|
}
|
|
129
107
|
fromTransfo(transfo) {
|
|
130
|
-
|
|
131
|
-
const y = transfo.m31;
|
|
132
|
-
const z = transfo.m32;
|
|
133
|
-
this.setTarget(x, y, z);
|
|
134
|
-
this._orientation.fromMatrix(transfo);
|
|
108
|
+
this.transfo.from(transfo);
|
|
135
109
|
this.dirtyModelView = true;
|
|
136
|
-
this.dirtyAxis = true;
|
|
137
110
|
return this;
|
|
138
111
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
get axisY() {
|
|
144
|
-
this.updateAxisIfNeeded();
|
|
145
|
-
return this._axisY;
|
|
146
|
-
}
|
|
147
|
-
get axisZ() {
|
|
148
|
-
this.updateAxisIfNeeded();
|
|
149
|
-
return this._axisZ;
|
|
150
|
-
}
|
|
112
|
+
/**
|
|
113
|
+
* This matrix will transform a world coordinate into a camera coordinate.
|
|
114
|
+
*/
|
|
151
115
|
get matrixModelView() {
|
|
152
|
-
this.
|
|
153
|
-
return this._matrixModelView;
|
|
154
|
-
}
|
|
155
|
-
get matrixModelViewInverse() {
|
|
156
|
-
if (this.dirtyModelViewInverse) {
|
|
157
|
-
this._matrixModelViewInverse.invert(this.matrixModelView);
|
|
158
|
-
this.dirtyModelViewInverse = false;
|
|
159
|
-
}
|
|
160
|
-
return this._matrixModelViewInverse;
|
|
116
|
+
return this._matrixModelView.invert(this.transfo.matrix);
|
|
161
117
|
}
|
|
162
118
|
get matrixProjectionInverse() {
|
|
163
119
|
if (this.dirtyProjectionInverse) {
|
|
@@ -166,104 +122,6 @@ export class TgdCamera {
|
|
|
166
122
|
}
|
|
167
123
|
return this._matrixProjectionInverse;
|
|
168
124
|
}
|
|
169
|
-
get orientation() {
|
|
170
|
-
return this._orientation;
|
|
171
|
-
}
|
|
172
|
-
set orientation(quat) {
|
|
173
|
-
const { _orientation } = this;
|
|
174
|
-
if (quat.isEqual(_orientation))
|
|
175
|
-
return;
|
|
176
|
-
const [x, y, z, w] = quat;
|
|
177
|
-
_orientation.x = x;
|
|
178
|
-
_orientation.y = y;
|
|
179
|
-
_orientation.z = z;
|
|
180
|
-
_orientation.w = w;
|
|
181
|
-
this.dirtyModelView = true;
|
|
182
|
-
this.dirtyAxis = true;
|
|
183
|
-
}
|
|
184
|
-
setOrientation(x, y, z, w) {
|
|
185
|
-
const { _orientation } = this;
|
|
186
|
-
_orientation.x = x;
|
|
187
|
-
_orientation.y = y;
|
|
188
|
-
_orientation.z = z;
|
|
189
|
-
_orientation.w = w;
|
|
190
|
-
this.dirtyModelView = true;
|
|
191
|
-
this.dirtyAxis = true;
|
|
192
|
-
return this;
|
|
193
|
-
}
|
|
194
|
-
get position() {
|
|
195
|
-
this.updateIfNeeded();
|
|
196
|
-
return this._position;
|
|
197
|
-
}
|
|
198
|
-
get target() {
|
|
199
|
-
return this._target;
|
|
200
|
-
}
|
|
201
|
-
set target(v) {
|
|
202
|
-
this._target.from(v);
|
|
203
|
-
this.dirtyModelView = true;
|
|
204
|
-
}
|
|
205
|
-
setTarget(x, y, z) {
|
|
206
|
-
const { _target } = this;
|
|
207
|
-
_target.x = x;
|
|
208
|
-
_target.y = y;
|
|
209
|
-
_target.z = z;
|
|
210
|
-
this.dirtyModelView = true;
|
|
211
|
-
return this;
|
|
212
|
-
}
|
|
213
|
-
get shift() {
|
|
214
|
-
return this._shift;
|
|
215
|
-
}
|
|
216
|
-
set shift(v) {
|
|
217
|
-
this._shift.from(v);
|
|
218
|
-
this.dirtyModelView = true;
|
|
219
|
-
}
|
|
220
|
-
setShift(x, y, z) {
|
|
221
|
-
const { _shift } = this;
|
|
222
|
-
_shift.x = x;
|
|
223
|
-
_shift.y = y;
|
|
224
|
-
_shift.z = z;
|
|
225
|
-
this.dirtyModelView = true;
|
|
226
|
-
return this;
|
|
227
|
-
}
|
|
228
|
-
get x() {
|
|
229
|
-
return this._target.x;
|
|
230
|
-
}
|
|
231
|
-
set x(v) {
|
|
232
|
-
const { _target: target } = this;
|
|
233
|
-
if (v === target.x)
|
|
234
|
-
return;
|
|
235
|
-
target.x = v;
|
|
236
|
-
this.dirtyModelView = true;
|
|
237
|
-
}
|
|
238
|
-
get y() {
|
|
239
|
-
return this._target.y;
|
|
240
|
-
}
|
|
241
|
-
set y(v) {
|
|
242
|
-
const { _target: target } = this;
|
|
243
|
-
if (v === target.y)
|
|
244
|
-
return;
|
|
245
|
-
target.y = v;
|
|
246
|
-
this.dirtyModelView = true;
|
|
247
|
-
}
|
|
248
|
-
get z() {
|
|
249
|
-
return this._target.z;
|
|
250
|
-
}
|
|
251
|
-
set z(v) {
|
|
252
|
-
const { _target: target } = this;
|
|
253
|
-
if (v === target.z)
|
|
254
|
-
return;
|
|
255
|
-
target.z = v;
|
|
256
|
-
this.dirtyModelView = true;
|
|
257
|
-
}
|
|
258
|
-
get distance() {
|
|
259
|
-
return this._distance;
|
|
260
|
-
}
|
|
261
|
-
set distance(v) {
|
|
262
|
-
if (this._distance === v)
|
|
263
|
-
return;
|
|
264
|
-
this._distance = v;
|
|
265
|
-
this.dirtyModelView = true;
|
|
266
|
-
}
|
|
267
125
|
get zoom() {
|
|
268
126
|
return this._zoom;
|
|
269
127
|
}
|
|
@@ -271,99 +129,19 @@ export class TgdCamera {
|
|
|
271
129
|
if (this._zoom === v)
|
|
272
130
|
return;
|
|
273
131
|
this._zoom = v;
|
|
132
|
+
this.transfo.setScale(v, v, v);
|
|
274
133
|
this.dirtyModelView = true;
|
|
275
134
|
}
|
|
276
|
-
/**
|
|
277
|
-
* Add (x,y,z) to the target coords in Camera space.
|
|
278
|
-
* That means we are moving along the camera axis.
|
|
279
|
-
*/
|
|
280
|
-
moveTarget(x, y, z) {
|
|
281
|
-
const { _target: target } = this;
|
|
282
|
-
this.updateAxisIfNeeded();
|
|
283
|
-
const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, tmpVec3 } = this;
|
|
284
|
-
tmpVec3
|
|
285
|
-
.from(axisX)
|
|
286
|
-
.scale(x)
|
|
287
|
-
.addWithScale(axisY, y)
|
|
288
|
-
.addWithScale(axisZ, z);
|
|
289
|
-
target.x += tmpVec3.x;
|
|
290
|
-
target.y += tmpVec3.y;
|
|
291
|
-
target.z += tmpVec3.z;
|
|
292
|
-
this.dirtyModelView = true;
|
|
293
|
-
}
|
|
294
|
-
moveShift(x, y, z) {
|
|
295
|
-
const [sx, sy, sz] = this._shift;
|
|
296
|
-
this._shift.reset(x + sx, y + sy, z + sz);
|
|
297
|
-
this._dirtyModelView = true;
|
|
298
|
-
}
|
|
299
|
-
orbitAroundX(angleInRadians) {
|
|
300
|
-
this.updateAxisIfNeeded();
|
|
301
|
-
const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, _orientation: orientation, } = this;
|
|
302
|
-
axisY.rotateAround(axisX, angleInRadians);
|
|
303
|
-
axisZ.rotateAround(axisX, angleInRadians);
|
|
304
|
-
orientation.fromAxis(axisX, axisY, axisZ);
|
|
305
|
-
this.dirtyModelView = true;
|
|
306
|
-
return this;
|
|
307
|
-
}
|
|
308
|
-
orbitAroundY(angleInRadians) {
|
|
309
|
-
this.updateAxisIfNeeded();
|
|
310
|
-
const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, _orientation: orientation, } = this;
|
|
311
|
-
axisX.rotateAround(axisY, angleInRadians);
|
|
312
|
-
axisZ.rotateAround(axisY, angleInRadians);
|
|
313
|
-
orientation.fromAxis(axisX, axisY, axisZ);
|
|
314
|
-
this.dirtyModelView = true;
|
|
315
|
-
return this;
|
|
316
|
-
}
|
|
317
|
-
orbitAroundZ(angleInRadians) {
|
|
318
|
-
this.updateAxisIfNeeded();
|
|
319
|
-
const { _axisX: axisX, _axisY: axisY, _axisZ: axisZ, _orientation: orientation, } = this;
|
|
320
|
-
axisX.rotateAround(axisZ, angleInRadians);
|
|
321
|
-
axisY.rotateAround(axisZ, angleInRadians);
|
|
322
|
-
orientation.fromAxis(axisX, axisY, axisZ);
|
|
323
|
-
this.dirtyModelView = true;
|
|
324
|
-
return this;
|
|
325
|
-
}
|
|
326
135
|
debug(caption) {
|
|
327
136
|
const name = caption !== null && caption !== void 0 ? caption : this.name;
|
|
328
|
-
this.
|
|
329
|
-
|
|
330
|
-
this.
|
|
137
|
+
console.log("Distance:", this.transfo.distance);
|
|
138
|
+
console.log("Zoom:", this.zoom);
|
|
139
|
+
this.transfo.orientation.debug(`${name} orientation`);
|
|
140
|
+
this.transfo.position.debug(`${name} target`);
|
|
141
|
+
this.transfo.actualPosition.debug(`${name} actual position`);
|
|
331
142
|
this.matrixModelView.debug(`${name} matrixModelView`);
|
|
332
143
|
this.matrixProjection.debug(`${name} matrixProjection`);
|
|
333
144
|
}
|
|
334
|
-
updateAxisIfNeeded() {
|
|
335
|
-
if (this.dirtyAxis)
|
|
336
|
-
this.updateAxis();
|
|
337
|
-
}
|
|
338
|
-
updateAxis() {
|
|
339
|
-
const { tmpMat3 } = this;
|
|
340
|
-
tmpMat3.fromQuat(this._orientation);
|
|
341
|
-
tmpMat3.toAxis(this._axisX, this._axisY, this._axisZ);
|
|
342
|
-
this.dirtyAxis = false;
|
|
343
|
-
}
|
|
344
|
-
updateIfNeeded() {
|
|
345
|
-
if (!this.dirtyModelView)
|
|
346
|
-
return;
|
|
347
|
-
const { tmpMat3, tmpVec3, _position } = this;
|
|
348
|
-
const mat = this._matrixModelView;
|
|
349
|
-
this.updateAxis();
|
|
350
|
-
const d = this._distance;
|
|
351
|
-
const { x: sx, y: sy, z: sz } = this._shift;
|
|
352
|
-
const { x: tx, y: ty, z: tz } = this._target;
|
|
353
|
-
const { x: ax, y: ay, z: az } = this._axisZ;
|
|
354
|
-
_position.x = tx + d * ax;
|
|
355
|
-
_position.y = ty + d * ay;
|
|
356
|
-
_position.z = tz + d * az;
|
|
357
|
-
_position.addWithScale(this._axisX, sx);
|
|
358
|
-
_position.addWithScale(this._axisY, sy);
|
|
359
|
-
_position.addWithScale(this._axisZ, sz);
|
|
360
|
-
tmpVec3.from(_position).applyMatrix(tmpMat3.transpose()).scale(-1);
|
|
361
|
-
mat.m30 = tmpVec3.x;
|
|
362
|
-
mat.m31 = tmpVec3.y;
|
|
363
|
-
mat.m32 = tmpVec3.z;
|
|
364
|
-
mat.fromMat3(tmpMat3);
|
|
365
|
-
this.dirtyModelView = false;
|
|
366
|
-
}
|
|
367
145
|
get dirtyModelView() {
|
|
368
146
|
return this._dirtyModelView;
|
|
369
147
|
}
|
|
@@ -371,15 +149,8 @@ export class TgdCamera {
|
|
|
371
149
|
this._dirtyModelView = v;
|
|
372
150
|
if (v) {
|
|
373
151
|
this.dirtyModelViewInverse = true;
|
|
374
|
-
this.eventTransformChange.dispatch(this);
|
|
375
152
|
}
|
|
376
153
|
}
|
|
377
|
-
get dirtyAxis() {
|
|
378
|
-
return this._dirtyAxis;
|
|
379
|
-
}
|
|
380
|
-
set dirtyAxis(v) {
|
|
381
|
-
this._dirtyAxis = v;
|
|
382
|
-
}
|
|
383
154
|
get dirtyProjection() {
|
|
384
155
|
return this._dirtyProjection;
|
|
385
156
|
}
|
|
@@ -390,4 +161,4 @@ export class TgdCamera {
|
|
|
390
161
|
}
|
|
391
162
|
}
|
|
392
163
|
TgdCamera.incrementalId = 1;
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbWVyYS9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFlLE1BQU0sV0FBVyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBc0JuQyxNQUFNLE9BQWdCLFNBQVM7SUF3QzNCLFlBQVksVUFBNEIsRUFBRTs7UUFyQzFDOztXQUVHO1FBQ2EseUJBQW9CLEdBQUcsSUFBSSxRQUFRLEVBQWEsQ0FBQTtRQUd4RCxpQkFBWSxHQUFHLElBQUksQ0FBQTtRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQTtRQUNwQix1QkFBa0IsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBRXhDLGdDQUFnQztRQUN4QixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUN0QiwwQkFBcUIsR0FBRyxJQUFJLENBQUE7UUFDNUIsZUFBVSxHQUFHLElBQUksQ0FBQTtRQUNmLHFCQUFnQixHQUFHLElBQUksQ0FBQTtRQUN2QiwyQkFBc0IsR0FBRyxJQUFJLENBQUE7UUFFN0IsVUFBSyxHQUFHLElBQUksQ0FBQTtRQUNaLFNBQUksR0FBRyxRQUFRLENBQUE7UUFFUixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN0QixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN0QixXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN2QyxpQkFBaUI7UUFDQSxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ2hDLDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDdkMsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUN4QyxpQkFBWSxHQUFHLElBQUks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
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NhbWVyYS9jYW1lcmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBdUJqRSxNQUFNLE9BQWdCLFNBQVM7SUEwQjNCLFlBQVksVUFBNEIsRUFBRTs7UUF0QjFCLFlBQU8sR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBRTlDLGlCQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ25CLGtCQUFhLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLHVCQUFrQixHQUFHLElBQUksR0FBRyxJQUFJLENBQUE7UUFFeEMsZ0NBQWdDO1FBQ3hCLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ3RCLDBCQUFxQixHQUFHLElBQUksQ0FBQTtRQUM1QixlQUFVLEdBQUcsSUFBSSxDQUFBO1FBQ2YscUJBQWdCLEdBQUcsSUFBSSxDQUFBO1FBQ3ZCLDJCQUFzQixHQUFHLElBQUksQ0FBQTtRQUU3QixVQUFLLEdBQUcsSUFBSSxDQUFBO1FBQ1osU0FBSSxHQUFHLFFBQVEsQ0FBQTtRQUV6QixpQkFBaUI7UUFDQSxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFBO1FBQ2hDLDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7UUFDdkMsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUNqRCxVQUFLLEdBQUcsQ0FBQyxDQUFBO1FBR2IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLGFBQWEsU0FBUyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUE7UUFDcEUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLG1DQUFJLElBQUksQ0FBQTtRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQUEsT0FBTyxDQUFDLEdBQUcsbUNBQUksR0FBRyxDQUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/camera/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/camera/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
|
package/lib/dist/camera/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./camera.js";
|
|
2
|
-
export * from "./camera-node.js";
|
|
3
2
|
export * from "./camera-orthographic.js";
|
|
4
3
|
export * from "./camera-perspective.js";
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2FtZXJhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gizmo.d.ts","sourceRoot":"","sources":["../../../src/canvas/gizmo/gizmo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAA;AAKrD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC5D,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAqBX,OAAO,CAAC,QAAQ,CAAC,OAAO;IApBpC;;OAEG;IACI,aAAa;cACV,QAAQ,CAAC,OAAO,CAAC;YACnB,QAAQ,CAAC,OAAO,CAAC;OACrB;IAEJ,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;IACF,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,WAAW,CAA2B;gBAEjB,OAAO,GAAE,qBAA0B;IAIhE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS;IAM9B,MAAM;
|
|
1
|
+
{"version":3,"file":"gizmo.d.ts","sourceRoot":"","sources":["../../../src/canvas/gizmo/gizmo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAc,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAA;AAKrD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC5D,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,cAAc;IAqBX,OAAO,CAAC,QAAQ,CAAC,OAAO;IApBpC;;OAEG;IACI,aAAa;cACV,QAAQ,CAAC,OAAO,CAAC;YACnB,QAAQ,CAAC,OAAO,CAAC;OACrB;IAEJ,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;IACF,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,WAAW,CAA2B;gBAEjB,OAAO,GAAE,qBAA0B;IAIhE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS;IAM9B,MAAM;IAON,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAGxC;IAED,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAMxC;IAED,IAAI,MAAM,IAGS,iBAAiB,GAAG,IAAI,CAD1C;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EA6C1C;IAED,OAAO,CAAC,QAAQ,CAAC,SAAS,CAmCzB;IAED,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,SAAS;CAepB"}
|
|
@@ -28,31 +28,33 @@ export class TgdCanvasGizmo {
|
|
|
28
28
|
this.orbiter = null;
|
|
29
29
|
this.tipsPainter = null;
|
|
30
30
|
this.handleExternalToInternal = (externalCamera) => {
|
|
31
|
-
this.cameraInternal.orientation =
|
|
31
|
+
this.cameraInternal.transfo.orientation =
|
|
32
|
+
externalCamera.transfo.orientation;
|
|
32
33
|
};
|
|
33
34
|
this.handleInternalToExternal = (internalCamera) => {
|
|
34
35
|
const { cameraExternal } = this;
|
|
35
36
|
if (cameraExternal) {
|
|
36
|
-
cameraExternal.orientation =
|
|
37
|
+
cameraExternal.transfo.orientation =
|
|
38
|
+
internalCamera.transfo.orientation;
|
|
37
39
|
}
|
|
38
40
|
};
|
|
39
|
-
this.handleTap = (
|
|
41
|
+
this.handleTap = (event) => {
|
|
40
42
|
var _a;
|
|
41
43
|
const camera = (_a = this.context) === null || _a === void 0 ? void 0 : _a.camera;
|
|
42
44
|
if (!camera)
|
|
43
45
|
return;
|
|
44
|
-
const { origin, direction } = camera.castRay(
|
|
45
|
-
const
|
|
46
|
-
let
|
|
46
|
+
const { origin, direction } = camera.castRay(event.x, event.y);
|
|
47
|
+
const maxDistribution = 1;
|
|
48
|
+
let bestDistribution = maxDistribution;
|
|
47
49
|
let bestTip = TIPS[0];
|
|
48
50
|
for (const tip of TIPS) {
|
|
49
|
-
const
|
|
50
|
-
if (
|
|
51
|
-
|
|
51
|
+
const distribution = tip.distanceToLineSquared(origin, direction);
|
|
52
|
+
if (distribution < bestDistribution) {
|
|
53
|
+
bestDistribution = distribution;
|
|
52
54
|
bestTip = tip;
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
|
-
if (
|
|
57
|
+
if (bestDistribution < maxDistribution) {
|
|
56
58
|
const axisX = new TgdVec3();
|
|
57
59
|
const axisY = new TgdVec3();
|
|
58
60
|
const axisZ = bestTip;
|
|
@@ -64,12 +66,12 @@ export class TgdCanvasGizmo {
|
|
|
64
66
|
else {
|
|
65
67
|
axisY.from(axisZ).cross(axisX);
|
|
66
68
|
}
|
|
67
|
-
const quat = new TgdQuat().
|
|
68
|
-
if (quat.isEqual(camera.orientation)) {
|
|
69
|
+
const quat = new TgdQuat().fromAxes(axisX, axisY, axisZ);
|
|
70
|
+
if (quat.isEqual(camera.transfo.orientation)) {
|
|
69
71
|
quat.rotateAroundY(Math.PI);
|
|
70
72
|
}
|
|
71
73
|
this.eventTipClick.dispatch({
|
|
72
|
-
from: new TgdQuat(camera.orientation),
|
|
74
|
+
from: new TgdQuat(camera.transfo.orientation),
|
|
73
75
|
to: quat,
|
|
74
76
|
});
|
|
75
77
|
}
|
|
@@ -88,15 +90,11 @@ export class TgdCanvasGizmo {
|
|
|
88
90
|
detach() {
|
|
89
91
|
const camera = this.cameraExternal;
|
|
90
92
|
if (camera) {
|
|
91
|
-
camera.eventTransformChange.removeListener(this.handleExternalToInternal);
|
|
92
93
|
this.cameraExternal = null;
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
attach() {
|
|
96
97
|
var _a;
|
|
97
|
-
const camera = this.cameraExternal;
|
|
98
|
-
if (camera)
|
|
99
|
-
camera.eventTransformChange.addListener(this.handleExternalToInternal);
|
|
100
98
|
(_a = this.context) === null || _a === void 0 ? void 0 : _a.paint();
|
|
101
99
|
}
|
|
102
100
|
get canvas() {
|
|
@@ -142,7 +140,7 @@ export class TgdCanvasGizmo {
|
|
|
142
140
|
let bestTip = TIPS[0];
|
|
143
141
|
const vec = new TgdVec3();
|
|
144
142
|
const mat = new TgdMat3();
|
|
145
|
-
mat.fromQuat(this.cameraInternal.orientation).transpose();
|
|
143
|
+
mat.fromQuat(this.cameraInternal.transfo.orientation).transpose();
|
|
146
144
|
for (const tip of TIPS) {
|
|
147
145
|
vec.from(tip).applyMatrix(mat);
|
|
148
146
|
if (vec.x > bestScore) {
|
|
@@ -157,7 +155,7 @@ export class TgdCanvasGizmo {
|
|
|
157
155
|
let bestTip = TIPS[0];
|
|
158
156
|
const vec = new TgdVec3();
|
|
159
157
|
const mat = new TgdMat3();
|
|
160
|
-
mat.fromQuat(this.cameraInternal.orientation).transpose();
|
|
158
|
+
mat.fromQuat(this.cameraInternal.transfo.orientation).transpose();
|
|
161
159
|
for (const tip of TIPS) {
|
|
162
160
|
vec.from(tip).applyMatrix(mat);
|
|
163
161
|
if (vec.y > bestScore) {
|
|
@@ -176,4 +174,4 @@ const TIPS = [
|
|
|
176
174
|
new TgdVec3(0, -1, 0),
|
|
177
175
|
new TgdVec3(0, 0, -1),
|
|
178
176
|
];
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l6bW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2FudmFzL2dpem1vL2dpem1vLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFxQixNQUFNLGNBQWMsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFNNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFxQnZCLFlBQTZCLFVBQWlDLEVBQUU7UUFBbkMsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7UUFwQmhFOztXQUVHO1FBQ0ksa0JBQWEsR0FBRyxJQUFJLFFBQVEsRUFHL0IsQ0FBQTtRQUVJLFlBQU8sR0FBNkIsSUFBSSxDQUFBO1FBQ3hDLFlBQU8sR0FBc0IsSUFBSSxDQUFBO1FBQ2pDLG1CQUFjLEdBQXFCLElBQUksQ0FBQTtRQUM5QixtQkFBYyxHQUFHLElBQUksb0JBQW9CLENBQUM7WUFDdkQsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNqQixRQUFRLEVBQUUsR0FBRztZQUNiLElBQUksRUFBRSxJQUFJO1lBQ1YsR0FBRyxFQUFFLEVBQUU7U0FDVixDQUFDLENBQUE7UUFDTSxZQUFPLEdBQW9DLElBQUksQ0FBQTtRQUMvQyxnQkFBVyxHQUF1QixJQUFJLENBQUE7UUEwQjdCLDZCQUF3QixHQUFHLENBQUMsY0FBeUIsRUFBRSxF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
|
|
@@ -41,7 +41,7 @@ export class TipsPainter extends TgdPainter {
|
|
|
41
41
|
X, Y,
|
|
42
42
|
2 * X, Y,
|
|
43
43
|
]));
|
|
44
|
-
const prg = new TgdProgram(context, { vert: VERT, frag: FRAG });
|
|
44
|
+
const prg = new TgdProgram(context.gl, { vert: VERT, frag: FRAG });
|
|
45
45
|
const vao = new TgdVertexArray(context.gl, prg, [data]);
|
|
46
46
|
this.prg = prg;
|
|
47
47
|
this.vao = vao;
|
|
@@ -73,26 +73,26 @@ function createTipsCanvas() {
|
|
|
73
73
|
paintDisk(ctx, 2, 1, SIZE, "", "#00f", "#005");
|
|
74
74
|
return canvas;
|
|
75
75
|
}
|
|
76
|
-
function paintDisk(
|
|
76
|
+
function paintDisk(context, col, row, size, text, colorBack, colorText = "#fff") {
|
|
77
77
|
const x = (col + 0.5) * size;
|
|
78
78
|
const y = (row + 0.5) * size;
|
|
79
79
|
const r = size * 0.45;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
context.fillStyle = colorBack;
|
|
81
|
+
context.beginPath();
|
|
82
|
+
context.ellipse(x, y, r, r, 0, 0, 2 * Math.PI);
|
|
83
|
+
context.fill();
|
|
84
84
|
if (text) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
context.font = `bold ${size * 0.5}px sans-serif`;
|
|
86
|
+
context.fillStyle = colorText;
|
|
87
|
+
context.textAlign = "center";
|
|
88
|
+
context.textBaseline = "middle";
|
|
89
|
+
context.fillText(text, x, y);
|
|
90
90
|
}
|
|
91
91
|
else {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
context.fillStyle = colorText;
|
|
93
|
+
context.beginPath();
|
|
94
|
+
context.ellipse(x, y, r * 0.8, r * 0.8, 0, 0, 2 * Math.PI);
|
|
95
|
+
context.fill();
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYW52YXMvZ2l6bW8vcGFpbnRlci90aXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBRWhDLE1BQU0sT0FBTyxXQUFZLFNBQVEsVUFBVTtJQUt2QyxZQUE2QixPQUFtQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQTtRQURrQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ25DLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQzlCLFNBQVMsQ0FBQztZQUNQLFNBQVMsRUFBRSxRQUFRO1lBQ25CLFNBQVMsRUFBRSxRQUFRO1NBQ3RCLENBQUM7YUFDRCxjQUFjLEVBQUUsQ0FBQTtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN4QixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxNQUFNO1NBQ2hCLENBQUMsQ0FBQTtRQUNGLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLFlBQVksQ0FBQztZQUMvQixDQUFDLEVBQUcsQ0FBQyxFQUFHLENBQUM7WUFDVCxD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
|