@shapediver/viewer.rendering-engine.camera-engine 3.16.8 → 3.16.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/implementation/CameraEngine.d.ts +42 -42
  2. package/dist/implementation/CameraEngine.js +607 -607
  3. package/dist/implementation/CameraEngine.js.map +1 -1
  4. package/dist/implementation/camera/AbstractCamera.d.ts +90 -90
  5. package/dist/implementation/camera/AbstractCamera.js +354 -354
  6. package/dist/implementation/camera/AbstractCamera.js.map +1 -1
  7. package/dist/implementation/camera/OrthographicCamera.d.ts +37 -37
  8. package/dist/implementation/camera/OrthographicCamera.js +268 -268
  9. package/dist/implementation/camera/OrthographicCamera.js.map +1 -1
  10. package/dist/implementation/camera/PerspectiveCamera.d.ts +28 -28
  11. package/dist/implementation/camera/PerspectiveCamera.js +250 -250
  12. package/dist/implementation/camera/PerspectiveCamera.js.map +1 -1
  13. package/dist/implementation/controls/AbstractCameraControls.d.ts +217 -217
  14. package/dist/implementation/controls/AbstractCameraControls.js +635 -635
  15. package/dist/implementation/controls/AbstractCameraControls.js.map +1 -1
  16. package/dist/implementation/controls/CameraControlsEventDistribution.d.ts +39 -39
  17. package/dist/implementation/controls/CameraControlsEventDistribution.d.ts.map +1 -1
  18. package/dist/implementation/controls/CameraControlsEventDistribution.js +287 -287
  19. package/dist/implementation/controls/CameraControlsEventDistribution.js.map +1 -1
  20. package/dist/implementation/controls/CameraControlsLogic.d.ts +36 -36
  21. package/dist/implementation/controls/CameraControlsLogic.js +530 -530
  22. package/dist/implementation/controls/CameraControlsLogic.js.map +1 -1
  23. package/dist/implementation/controls/OrthographicCameraControls.d.ts +7 -7
  24. package/dist/implementation/controls/OrthographicCameraControls.js +34 -34
  25. package/dist/implementation/controls/PerspectiveCameraControls.d.ts +7 -7
  26. package/dist/implementation/controls/PerspectiveCameraControls.js +34 -34
  27. package/dist/implementation/interpolation/CameraInterpolationManager.d.ts +22 -22
  28. package/dist/implementation/interpolation/CameraInterpolationManager.js +165 -155
  29. package/dist/implementation/interpolation/CameraInterpolationManager.js.map +1 -1
  30. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.d.ts +36 -36
  31. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.js +57 -57
  32. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.d.ts +26 -26
  33. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.js +31 -31
  34. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.d.ts +35 -35
  35. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.js +45 -45
  36. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.js.map +1 -1
  37. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.d.ts +26 -26
  38. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.js +31 -31
  39. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.d.ts +32 -32
  40. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.js +42 -42
  41. package/dist/index.d.ts +16 -16
  42. package/dist/index.js +18 -18
  43. package/dist/interfaces/ICameraEngine.d.ts +12 -12
  44. package/dist/interfaces/ICameraEngine.js +3 -3
  45. package/dist/interfaces/camera/ICamera.d.ts +47 -47
  46. package/dist/interfaces/camera/ICamera.js +2 -2
  47. package/dist/interfaces/camera/IOrthographicCamera.d.ts +8 -8
  48. package/dist/interfaces/camera/IOrthographicCamera.js +3 -3
  49. package/dist/interfaces/camera/IPerspectiveCamera.d.ts +7 -7
  50. package/dist/interfaces/camera/IPerspectiveCamera.js +2 -2
  51. package/dist/interfaces/controls/ICameraControls.d.ts +105 -105
  52. package/dist/interfaces/controls/ICameraControls.d.ts.map +1 -1
  53. package/dist/interfaces/controls/ICameraControls.js +3 -3
  54. package/dist/interfaces/controls/ICameraControlsEventDistribution.d.ts +6 -6
  55. package/dist/interfaces/controls/ICameraControlsEventDistribution.js +2 -2
  56. package/dist/interfaces/controls/ICameraControlsLogic.d.ts +14 -14
  57. package/dist/interfaces/controls/ICameraControlsLogic.js +2 -2
  58. package/dist/interfaces/interpolation/ICameraInterpolation.d.ts +11 -11
  59. package/dist/interfaces/interpolation/ICameraInterpolation.js +2 -2
  60. package/package.json +8 -8
@@ -1,288 +1,288 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CameraControlsEventDistribution = void 0;
4
- class CameraControlsEventDistribution {
5
- // #endregion Properties (7)
6
- // #region Constructors (1)
7
- constructor(controls, cameraLogic) {
8
- this._active = {
9
- rotation: false,
10
- zoom: false,
11
- pan: false,
12
- };
13
- this._activeEvents = true;
14
- this._controls = controls;
15
- this._cameraLogic = cameraLogic;
16
- }
17
- // #endregion Constructors (1)
18
- // #region Public Methods (16)
19
- activateCameraEvents() {
20
- this._activeEvents = true;
21
- }
22
- deactivateCameraEvents() {
23
- this._activeEvents = false;
24
- this.reset();
25
- }
26
- onDown(event) {
27
- if (this._controls.camera.active === false)
28
- return;
29
- const { x, y } = this.convertInput(event);
30
- const touchEvent = event.pointerType === "touch";
31
- const input = this.getInput(event);
32
- const mapping = event.pointerType === "touch"
33
- ? this._controls.input.touch
34
- : this._controls.input.mouse;
35
- if (input === mapping.rotate && this._controls.enableRotation) {
36
- this._cameraLogic.rotate(x, y, this._active.rotation, touchEvent);
37
- this._active.rotation = true;
38
- }
39
- else {
40
- this._active.rotation = false;
41
- }
42
- if (input === mapping.pan && this._controls.enablePan) {
43
- this._cameraLogic.pan(x, y, this._active.pan, touchEvent);
44
- this._active.pan = true;
45
- }
46
- else {
47
- this._active.pan = false;
48
- }
49
- if (input === mapping.zoom && this._controls.enableZoom) {
50
- let x1 = x, y1 = y;
51
- if (touchEvent &&
52
- this._controls.input.touch.zoom === 2 &&
53
- this._primaryPointerEvent &&
54
- this._secondaryPointerEvent) {
55
- x1 =
56
- ((this._primaryPointerEvent.pageX -
57
- this._secondaryPointerEvent.pageX) /
58
- window.innerWidth) *
59
- (window.innerWidth / window.innerHeight);
60
- y1 =
61
- (this._primaryPointerEvent.pageY -
62
- this._secondaryPointerEvent.pageY) /
63
- window.innerHeight;
64
- }
65
- this._cameraLogic.zoom(x1, y1, this._active.zoom, touchEvent);
66
- this._active.zoom = true;
67
- }
68
- else {
69
- this._active.zoom = false;
70
- }
71
- }
72
- onKey(event) {
73
- if (this._controls.camera.active === false)
74
- return;
75
- if (!this._controls.enableKeyPan)
76
- return;
77
- switch (event.keyCode) {
78
- case this._controls.input.keys.up:
79
- this._cameraLogic.pan(0, 0, false, false);
80
- this._cameraLogic.pan(0, this._controls.keyPanSpeed * 0.05, true, false);
81
- event.preventDefault();
82
- event.stopPropagation();
83
- break;
84
- case this._controls.input.keys.down:
85
- this._cameraLogic.pan(0, 0, false, false);
86
- this._cameraLogic.pan(0, -this._controls.keyPanSpeed * 0.05, true, false);
87
- event.preventDefault();
88
- event.stopPropagation();
89
- break;
90
- case this._controls.input.keys.left:
91
- this._cameraLogic.pan(0, 0, false, false);
92
- this._cameraLogic.pan(this._controls.keyPanSpeed * 0.05, 0, true, false);
93
- event.preventDefault();
94
- event.stopPropagation();
95
- break;
96
- case this._controls.input.keys.right:
97
- this._cameraLogic.pan(0, 0, false, false);
98
- this._cameraLogic.pan(-this._controls.keyPanSpeed * 0.05, 0, true, false);
99
- event.preventDefault();
100
- event.stopPropagation();
101
- break;
102
- }
103
- }
104
- onKeyDown(event, pointerInCanvas) {
105
- if (this._controls.camera.active === false)
106
- return;
107
- if (!this._activeEvents)
108
- return;
109
- if (!pointerInCanvas)
110
- return;
111
- this.onKey(event);
112
- }
113
- onKeyUp(event, pointerInCanvas) { }
114
- onMouseWheel(event) {
115
- if (this._controls.camera.active === false)
116
- return;
117
- if (!this._activeEvents)
118
- return;
119
- this.onWheel(event);
120
- }
121
- onMove(event) {
122
- if (this._controls.camera.active === false)
123
- return;
124
- const { x, y } = this.convertInput(event);
125
- const touchEvent = event.pointerType === "touch";
126
- if (this._controls.enableRotation && this._active.rotation)
127
- this._cameraLogic.rotate(x, y, this._active.rotation, touchEvent);
128
- if (this._controls.enablePan && this._active.pan)
129
- this._cameraLogic.pan(x, y, this._active.pan, touchEvent);
130
- if (this._controls.enableZoom && this._active.zoom) {
131
- let x1 = x, y1 = y;
132
- if (touchEvent &&
133
- this._controls.input.touch.zoom === 2 &&
134
- this._primaryPointerEvent &&
135
- this._secondaryPointerEvent) {
136
- x1 =
137
- ((this._primaryPointerEvent.pageX -
138
- this._secondaryPointerEvent.pageX) /
139
- window.innerWidth) *
140
- (window.innerWidth / window.innerHeight);
141
- y1 =
142
- (this._primaryPointerEvent.pageY -
143
- this._secondaryPointerEvent.pageY) /
144
- window.innerHeight;
145
- }
146
- this._cameraLogic.zoom(x1, y1, this._active.zoom, touchEvent);
147
- }
148
- }
149
- onPointerDown(event) {
150
- if (this._controls.camera.active === false)
151
- return;
152
- if (!this._activeEvents)
153
- return;
154
- if (event.isPrimary === true)
155
- this._primaryPointerEvent = event;
156
- else if (event.isPrimary === false)
157
- this._secondaryPointerEvent = event;
158
- this.onDown(event);
159
- }
160
- onPointerEnd(event) {
161
- if (this._controls.camera.active === false)
162
- return;
163
- if (!this._activeEvents)
164
- return;
165
- if (event.isPrimary === true)
166
- this._primaryPointerEvent = undefined;
167
- else if (event.isPrimary === false)
168
- this._secondaryPointerEvent = undefined;
169
- this.onUp(event);
170
- }
171
- onPointerMove(event) {
172
- if (this._controls.camera.active === false)
173
- return;
174
- if (!this._activeEvents)
175
- return;
176
- if (event.isPrimary === true)
177
- this._primaryPointerEvent = event;
178
- else if (event.isPrimary === false)
179
- this._secondaryPointerEvent = event;
180
- this.onMove(event);
181
- }
182
- onPointerOut(event) {
183
- if (this._controls.camera.active === false)
184
- return;
185
- this.revert();
186
- if (event.isPrimary === true)
187
- this._primaryPointerEvent = undefined;
188
- else if (event.isPrimary === false)
189
- this._secondaryPointerEvent = undefined;
190
- }
191
- onPointerUp(event) {
192
- if (this._controls.camera.active === false)
193
- return;
194
- if (event.isPrimary === true)
195
- this._primaryPointerEvent = undefined;
196
- else if (event.isPrimary === false)
197
- this._secondaryPointerEvent = undefined;
198
- }
199
- onUp(event) {
200
- if (this._controls.camera.active === false)
201
- return;
202
- this.revert();
203
- this._active.rotation = false;
204
- this._active.zoom = false;
205
- this._active.pan = false;
206
- }
207
- onWheel(event) {
208
- if (this._controls.camera.active === false)
209
- return;
210
- if (!this._activeEvents)
211
- return;
212
- if (!this._controls.enableZoom)
213
- return;
214
- if (this._controls.camera.revertAtMouseUp === true) {
215
- clearTimeout(this._zoomResizeTimeout);
216
- this._zoomResizeTimeout = setTimeout(this.revert.bind(this), 300);
217
- }
218
- let delta = 0;
219
- if (event.deltaY !== undefined) {
220
- // WebKit / Opera / Explorer 9
221
- delta = -event.deltaY;
222
- }
223
- else if (event.detail !== undefined) {
224
- // Firefox
225
- delta = -event.detail;
226
- }
227
- // convert to 2 screen coordinates that are far enough
228
- if (Math.sign(delta) > 0) {
229
- this._cameraLogic.zoom(0, 0, false, false);
230
- this._cameraLogic.zoom(1, 0, true, false);
231
- }
232
- else {
233
- this._cameraLogic.zoom(1, 0, false, false);
234
- this._cameraLogic.zoom(0, 0, true, false);
235
- }
236
- }
237
- reset() {
238
- this._active = {
239
- rotation: false,
240
- zoom: false,
241
- pan: false,
242
- };
243
- }
244
- // #endregion Public Methods (16)
245
- // #region Protected Methods (2)
246
- convertInput(event) {
247
- if (this._primaryPointerEvent && this._secondaryPointerEvent) {
248
- return {
249
- x: (this._primaryPointerEvent.pageX +
250
- this._secondaryPointerEvent.pageX) /
251
- 2,
252
- y: (this._primaryPointerEvent.pageY +
253
- this._secondaryPointerEvent.pageY) /
254
- 2,
255
- };
256
- }
257
- else {
258
- return {
259
- x: event.clientX,
260
- y: event.clientY,
261
- };
262
- }
263
- }
264
- getInput(event) {
265
- if (event.pointerType === "touch") {
266
- if (this._secondaryPointerEvent) {
267
- return 2;
268
- }
269
- else {
270
- return 1;
271
- }
272
- }
273
- else {
274
- return event.button;
275
- }
276
- }
277
- // #endregion Protected Methods (2)
278
- // #region Private Methods (1)
279
- revert() {
280
- if (this._controls.camera.revertAtMouseUp === true) {
281
- this._controls.camera.reset({
282
- duration: this._controls.camera.revertAtMouseUpDuration,
283
- });
284
- }
285
- }
286
- }
287
- exports.CameraControlsEventDistribution = CameraControlsEventDistribution;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CameraControlsEventDistribution = void 0;
4
+ class CameraControlsEventDistribution {
5
+ // #endregion Properties (7)
6
+ // #region Constructors (1)
7
+ constructor(controls, cameraLogic) {
8
+ this._active = {
9
+ rotation: false,
10
+ zoom: false,
11
+ pan: false,
12
+ };
13
+ this._activeEvents = true;
14
+ this._controls = controls;
15
+ this._cameraLogic = cameraLogic;
16
+ }
17
+ // #endregion Constructors (1)
18
+ // #region Public Methods (16)
19
+ activateCameraEvents() {
20
+ this._activeEvents = true;
21
+ }
22
+ deactivateCameraEvents() {
23
+ this._activeEvents = false;
24
+ this.reset();
25
+ }
26
+ onDown(event) {
27
+ if (this._controls.camera.active === false)
28
+ return;
29
+ const { x, y } = this.convertInput(event);
30
+ const touchEvent = event.pointerType === "touch";
31
+ const input = this.getInput(event);
32
+ const mapping = event.pointerType === "touch"
33
+ ? this._controls.input.touch
34
+ : this._controls.input.mouse;
35
+ if (input === mapping.rotate && this._controls.enableRotation) {
36
+ this._cameraLogic.rotate(x, y, this._active.rotation, touchEvent);
37
+ this._active.rotation = true;
38
+ }
39
+ else {
40
+ this._active.rotation = false;
41
+ }
42
+ if (input === mapping.pan && this._controls.enablePan) {
43
+ this._cameraLogic.pan(x, y, this._active.pan, touchEvent);
44
+ this._active.pan = true;
45
+ }
46
+ else {
47
+ this._active.pan = false;
48
+ }
49
+ if (input === mapping.zoom && this._controls.enableZoom) {
50
+ let x1 = x, y1 = y;
51
+ if (touchEvent &&
52
+ this._controls.input.touch.zoom === 2 &&
53
+ this._primaryPointerEvent &&
54
+ this._secondaryPointerEvent) {
55
+ x1 =
56
+ ((this._primaryPointerEvent.pageX -
57
+ this._secondaryPointerEvent.pageX) /
58
+ window.innerWidth) *
59
+ (window.innerWidth / window.innerHeight);
60
+ y1 =
61
+ (this._primaryPointerEvent.pageY -
62
+ this._secondaryPointerEvent.pageY) /
63
+ window.innerHeight;
64
+ }
65
+ this._cameraLogic.zoom(x1, y1, this._active.zoom, touchEvent);
66
+ this._active.zoom = true;
67
+ }
68
+ else {
69
+ this._active.zoom = false;
70
+ }
71
+ }
72
+ onKey(event) {
73
+ if (this._controls.camera.active === false)
74
+ return;
75
+ if (!this._controls.enableKeyPan)
76
+ return;
77
+ switch (event.keyCode) {
78
+ case this._controls.input.keys.up:
79
+ this._cameraLogic.pan(0, 0, false, false);
80
+ this._cameraLogic.pan(0, this._controls.keyPanSpeed * 0.05, true, false);
81
+ event.preventDefault();
82
+ event.stopPropagation();
83
+ break;
84
+ case this._controls.input.keys.down:
85
+ this._cameraLogic.pan(0, 0, false, false);
86
+ this._cameraLogic.pan(0, -this._controls.keyPanSpeed * 0.05, true, false);
87
+ event.preventDefault();
88
+ event.stopPropagation();
89
+ break;
90
+ case this._controls.input.keys.left:
91
+ this._cameraLogic.pan(0, 0, false, false);
92
+ this._cameraLogic.pan(this._controls.keyPanSpeed * 0.05, 0, true, false);
93
+ event.preventDefault();
94
+ event.stopPropagation();
95
+ break;
96
+ case this._controls.input.keys.right:
97
+ this._cameraLogic.pan(0, 0, false, false);
98
+ this._cameraLogic.pan(-this._controls.keyPanSpeed * 0.05, 0, true, false);
99
+ event.preventDefault();
100
+ event.stopPropagation();
101
+ break;
102
+ }
103
+ }
104
+ onKeyDown(event, pointerInCanvas) {
105
+ if (this._controls.camera.active === false)
106
+ return;
107
+ if (!this._activeEvents)
108
+ return;
109
+ if (!pointerInCanvas)
110
+ return;
111
+ this.onKey(event);
112
+ }
113
+ onKeyUp(event, pointerInCanvas) { }
114
+ onMouseWheel(event) {
115
+ if (this._controls.camera.active === false)
116
+ return;
117
+ if (!this._activeEvents)
118
+ return;
119
+ this.onWheel(event);
120
+ }
121
+ onMove(event) {
122
+ if (this._controls.camera.active === false)
123
+ return;
124
+ const { x, y } = this.convertInput(event);
125
+ const touchEvent = event.pointerType === "touch";
126
+ if (this._controls.enableRotation && this._active.rotation)
127
+ this._cameraLogic.rotate(x, y, this._active.rotation, touchEvent);
128
+ if (this._controls.enablePan && this._active.pan)
129
+ this._cameraLogic.pan(x, y, this._active.pan, touchEvent);
130
+ if (this._controls.enableZoom && this._active.zoom) {
131
+ let x1 = x, y1 = y;
132
+ if (touchEvent &&
133
+ this._controls.input.touch.zoom === 2 &&
134
+ this._primaryPointerEvent &&
135
+ this._secondaryPointerEvent) {
136
+ x1 =
137
+ ((this._primaryPointerEvent.pageX -
138
+ this._secondaryPointerEvent.pageX) /
139
+ window.innerWidth) *
140
+ (window.innerWidth / window.innerHeight);
141
+ y1 =
142
+ (this._primaryPointerEvent.pageY -
143
+ this._secondaryPointerEvent.pageY) /
144
+ window.innerHeight;
145
+ }
146
+ this._cameraLogic.zoom(x1, y1, this._active.zoom, touchEvent);
147
+ }
148
+ }
149
+ onPointerDown(event) {
150
+ if (this._controls.camera.active === false)
151
+ return;
152
+ if (!this._activeEvents)
153
+ return;
154
+ if (event.isPrimary === true)
155
+ this._primaryPointerEvent = event;
156
+ else if (event.isPrimary === false)
157
+ this._secondaryPointerEvent = event;
158
+ this.onDown(event);
159
+ }
160
+ onPointerEnd(event) {
161
+ if (this._controls.camera.active === false)
162
+ return;
163
+ if (!this._activeEvents)
164
+ return;
165
+ if (event.isPrimary === true)
166
+ this._primaryPointerEvent = undefined;
167
+ else if (event.isPrimary === false)
168
+ this._secondaryPointerEvent = undefined;
169
+ this.onUp(event);
170
+ }
171
+ onPointerMove(event) {
172
+ if (this._controls.camera.active === false)
173
+ return;
174
+ if (!this._activeEvents)
175
+ return;
176
+ if (event.isPrimary === true)
177
+ this._primaryPointerEvent = event;
178
+ else if (event.isPrimary === false)
179
+ this._secondaryPointerEvent = event;
180
+ this.onMove(event);
181
+ }
182
+ onPointerOut(event) {
183
+ if (this._controls.camera.active === false)
184
+ return;
185
+ this.revert();
186
+ if (event.isPrimary === true)
187
+ this._primaryPointerEvent = undefined;
188
+ else if (event.isPrimary === false)
189
+ this._secondaryPointerEvent = undefined;
190
+ }
191
+ onPointerUp(event) {
192
+ if (this._controls.camera.active === false)
193
+ return;
194
+ if (event.isPrimary === true)
195
+ this._primaryPointerEvent = undefined;
196
+ else if (event.isPrimary === false)
197
+ this._secondaryPointerEvent = undefined;
198
+ }
199
+ onUp(event) {
200
+ if (this._controls.camera.active === false)
201
+ return;
202
+ this.revert();
203
+ this._active.rotation = false;
204
+ this._active.zoom = false;
205
+ this._active.pan = false;
206
+ }
207
+ onWheel(event) {
208
+ if (this._controls.camera.active === false)
209
+ return;
210
+ if (!this._activeEvents)
211
+ return;
212
+ if (!this._controls.enableZoom)
213
+ return;
214
+ if (this._controls.camera.revertAtMouseUp === true) {
215
+ clearTimeout(this._zoomResizeTimeout);
216
+ this._zoomResizeTimeout = setTimeout(this.revert.bind(this), 300);
217
+ }
218
+ let delta = 0;
219
+ if (event.deltaY !== undefined) {
220
+ // WebKit / Opera / Explorer 9
221
+ delta = -event.deltaY;
222
+ }
223
+ else if (event.detail !== undefined) {
224
+ // Firefox
225
+ delta = -event.detail;
226
+ }
227
+ // convert to 2 screen coordinates that are far enough
228
+ if (Math.sign(delta) > 0) {
229
+ this._cameraLogic.zoom(0, 0, false, false);
230
+ this._cameraLogic.zoom(1, 0, true, false);
231
+ }
232
+ else {
233
+ this._cameraLogic.zoom(1, 0, false, false);
234
+ this._cameraLogic.zoom(0, 0, true, false);
235
+ }
236
+ }
237
+ reset() {
238
+ this._active = {
239
+ rotation: false,
240
+ zoom: false,
241
+ pan: false,
242
+ };
243
+ }
244
+ // #endregion Public Methods (16)
245
+ // #region Protected Methods (2)
246
+ convertInput(event) {
247
+ if (this._primaryPointerEvent && this._secondaryPointerEvent) {
248
+ return {
249
+ x: (this._primaryPointerEvent.pageX +
250
+ this._secondaryPointerEvent.pageX) /
251
+ 2,
252
+ y: (this._primaryPointerEvent.pageY +
253
+ this._secondaryPointerEvent.pageY) /
254
+ 2,
255
+ };
256
+ }
257
+ else {
258
+ return {
259
+ x: event.clientX,
260
+ y: event.clientY,
261
+ };
262
+ }
263
+ }
264
+ getInput(event) {
265
+ if (event.pointerType === "touch") {
266
+ if (this._secondaryPointerEvent) {
267
+ return 2;
268
+ }
269
+ else {
270
+ return 1;
271
+ }
272
+ }
273
+ else {
274
+ return event.button;
275
+ }
276
+ }
277
+ // #endregion Protected Methods (2)
278
+ // #region Private Methods (1)
279
+ revert() {
280
+ if (this._controls.camera.revertAtMouseUp === true) {
281
+ this._controls.camera.reset({
282
+ duration: this._controls.camera.revertAtMouseUpDuration,
283
+ });
284
+ }
285
+ }
286
+ }
287
+ exports.CameraControlsEventDistribution = CameraControlsEventDistribution;
288
288
  //# sourceMappingURL=CameraControlsEventDistribution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraControlsEventDistribution.js","sourceRoot":"","sources":["../../../src/implementation/controls/CameraControlsEventDistribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraControlsEventDistribution.js","sourceRoot":"","sources":["../../../src/implementation/controls/CameraControlsEventDistribution.ts"],"names":[],"mappings":";;;AAIA,MAAa,+BAA+B;IAkB3C,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,QAAyB,EAAE,WAAiC;QAf9D,YAAO,GAAG;YACnB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,KAAK;SACV,CAAC;QACQ,kBAAa,GAAG,IAAI,CAAC;QAW9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,8BAA8B;IAE9B,8BAA8B;IAEvB,oBAAoB;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEM,sBAAsB;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAmB;QAChC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QAEnD,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,OAAO,GACZ,KAAK,CAAC,WAAW,KAAK,OAAO;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK;YAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QAE/B,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;YAC/D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,IAAI,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,IAAI,KAAK,KAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YACzD,IAAI,EAAE,GAAG,CAAC,EACT,EAAE,GAAG,CAAC,CAAC;YACR,IACC,UAAU;gBACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;gBACrC,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,sBAAsB,EAC1B,CAAC;gBACF,EAAE;oBACD,CAAC,CAAC,IAAI,CAAC,oBAAqB,CAAC,KAAK;wBACjC,IAAI,CAAC,sBAAuB,CAAC,KAAK,CAAC;wBACnC,MAAM,CAAC,UAAU,CAAC;wBACnB,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC1C,EAAE;oBACD,CAAC,IAAI,CAAC,oBAAqB,CAAC,KAAK;wBAChC,IAAI,CAAC,sBAAuB,CAAC,KAAK,CAAC;wBACpC,MAAM,CAAC,WAAW,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QAC3B,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,KAAoB;QAChC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY;YAAE,OAAO;QACzC,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,EACjC,IAAI,EACJ,KAAK,CACL,CAAC;gBACF,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;YAEP,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;gBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,CAAC,EACD,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,EAClC,IAAI,EACJ,KAAK,CACL,CAAC;gBACF,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;YAEP,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;gBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,EACjC,CAAC,EACD,IAAI,EACJ,KAAK,CACL,CAAC;gBACF,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;YAEP,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;gBACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,EAClC,CAAC,EACD,IAAI,EACJ,KAAK,CACL,CAAC;gBACF,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM;QACR,CAAC;IACF,CAAC;IAEM,SAAS,CAAC,KAAoB,EAAE,eAAwB;QAC9D,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,eAAe;YAAE,OAAO;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEM,OAAO,CAAC,KAAoB,EAAE,eAAwB,IAAS,CAAC;IAEhE,YAAY,CAAC,KAAiB;QACpC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,KAAmB;QAChC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;QAEjD,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ;YACzD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEnE,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG;YAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpD,IAAI,EAAE,GAAG,CAAC,EACT,EAAE,GAAG,CAAC,CAAC;YACR,IACC,UAAU;gBACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;gBACrC,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,sBAAsB,EAC1B,CAAC;gBACF,EAAE;oBACD,CAAC,CAAC,IAAI,CAAC,oBAAqB,CAAC,KAAK;wBACjC,IAAI,CAAC,sBAAuB,CAAC,KAAK,CAAC;wBACnC,MAAM,CAAC,UAAU,CAAC;wBACnB,CAAC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC1C,EAAE;oBACD,CAAC,IAAI,CAAC,oBAAqB,CAAC,KAAK;wBAChC,IAAI,CAAC,sBAAuB,CAAC,KAAK,CAAC;wBACpC,MAAM,CAAC,WAAW,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAEM,aAAa,CAAC,KAAmB;QACvC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAEhC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aAC3D,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;YAAE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QAExE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAEM,YAAY,CAAC,KAAmB;QACtC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAEhC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;aAC/D,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;YACjC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAEM,aAAa,CAAC,KAAmB;QACvC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAEhC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aAC3D,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;YAAE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QAExE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAEM,YAAY,CAAC,KAAmB;QACtC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;aAC/D,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;YACjC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAC1C,CAAC;IAEM,WAAW,CAAC,KAAmB;QACrC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QAEnD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;aAC/D,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK;YACjC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAC1C,CAAC;IAEM,IAAI,CAAC,KAAmB;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEM,OAAO,CAAC,KAAiB;QAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU;YAAE,OAAO;QAEvC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACpD,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,8BAA8B;YAC9B,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,UAAU;YACV,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,sDAAsD;QACtD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,OAAO,GAAG;YACd,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,KAAK;SACV,CAAC;IACH,CAAC;IAED,iCAAiC;IAEjC,gCAAgC;IAEtB,YAAY,CAAC,KAAmB;QACzC,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9D,OAAO;gBACN,CAAC,EACA,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK;oBAC/B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;oBACnC,CAAC;gBACF,CAAC,EACA,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK;oBAC/B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;oBACnC,CAAC;aACF,CAAC;QACH,CAAC;aAAM,CAAC;YACP,OAAO;gBACN,CAAC,EAAE,KAAK,CAAC,OAAO;gBAChB,CAAC,EAAE,KAAK,CAAC,OAAO;aAChB,CAAC;QACH,CAAC;IACF,CAAC;IAES,QAAQ,CAAC,KAAmB;QACrC,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjC,OAAO,CAAC,CAAC;YACV,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,CAAC;YACV,CAAC;QACF,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC,MAAM,CAAC;QACrB,CAAC;IACF,CAAC;IAED,mCAAmC;IAEnC,8BAA8B;IAEtB,MAAM;QACb,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB;aACvD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;CAGD;AAjVD,0EAiVC"}