@shapediver/viewer.rendering-engine.camera-engine 1.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/LICENSE +73 -0
  2. package/README.md +3 -0
  3. package/dist/implementation/CameraEngine.d.ts +31 -0
  4. package/dist/implementation/CameraEngine.d.ts.map +1 -0
  5. package/dist/implementation/CameraEngine.js +209 -0
  6. package/dist/implementation/CameraEngine.js.map +1 -0
  7. package/dist/implementation/camera/AbstractCamera.d.ts +104 -0
  8. package/dist/implementation/camera/AbstractCamera.d.ts.map +1 -0
  9. package/dist/implementation/camera/AbstractCamera.js +226 -0
  10. package/dist/implementation/camera/AbstractCamera.js.map +1 -0
  11. package/dist/implementation/camera/OrthographicCamera.d.ts +33 -0
  12. package/dist/implementation/camera/OrthographicCamera.d.ts.map +1 -0
  13. package/dist/implementation/camera/OrthographicCamera.js +176 -0
  14. package/dist/implementation/camera/OrthographicCamera.js.map +1 -0
  15. package/dist/implementation/camera/PerspectiveCamera.d.ts +20 -0
  16. package/dist/implementation/camera/PerspectiveCamera.d.ts.map +1 -0
  17. package/dist/implementation/camera/PerspectiveCamera.js +143 -0
  18. package/dist/implementation/camera/PerspectiveCamera.js.map +1 -0
  19. package/dist/implementation/controls/AbstractCameraControls.d.ts +65 -0
  20. package/dist/implementation/controls/AbstractCameraControls.d.ts.map +1 -0
  21. package/dist/implementation/controls/AbstractCameraControls.js +247 -0
  22. package/dist/implementation/controls/AbstractCameraControls.js.map +1 -0
  23. package/dist/implementation/controls/OrthographicCameraControls.d.ts +71 -0
  24. package/dist/implementation/controls/OrthographicCameraControls.d.ts.map +1 -0
  25. package/dist/implementation/controls/OrthographicCameraControls.js +98 -0
  26. package/dist/implementation/controls/OrthographicCameraControls.js.map +1 -0
  27. package/dist/implementation/controls/PerspectiveCameraControls.d.ts +143 -0
  28. package/dist/implementation/controls/PerspectiveCameraControls.d.ts.map +1 -0
  29. package/dist/implementation/controls/PerspectiveCameraControls.js +192 -0
  30. package/dist/implementation/controls/PerspectiveCameraControls.js.map +1 -0
  31. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.d.ts +25 -0
  32. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.d.ts.map +1 -0
  33. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.js +146 -0
  34. package/dist/implementation/controls/orthographic/CameraControlsEventDistribution.js.map +1 -0
  35. package/dist/implementation/controls/orthographic/CameraControlsLogic.d.ts +28 -0
  36. package/dist/implementation/controls/orthographic/CameraControlsLogic.d.ts.map +1 -0
  37. package/dist/implementation/controls/orthographic/CameraControlsLogic.js +234 -0
  38. package/dist/implementation/controls/orthographic/CameraControlsLogic.js.map +1 -0
  39. package/dist/implementation/controls/perspective/CameraControlsEventDistribution.d.ts +25 -0
  40. package/dist/implementation/controls/perspective/CameraControlsEventDistribution.d.ts.map +1 -0
  41. package/dist/implementation/controls/perspective/CameraControlsEventDistribution.js +159 -0
  42. package/dist/implementation/controls/perspective/CameraControlsEventDistribution.js.map +1 -0
  43. package/dist/implementation/controls/perspective/CameraControlsLogic.d.ts +36 -0
  44. package/dist/implementation/controls/perspective/CameraControlsLogic.d.ts.map +1 -0
  45. package/dist/implementation/controls/perspective/CameraControlsLogic.js +389 -0
  46. package/dist/implementation/controls/perspective/CameraControlsLogic.js.map +1 -0
  47. package/dist/implementation/interpolation/CameraInterpolationManager.d.ts +25 -0
  48. package/dist/implementation/interpolation/CameraInterpolationManager.d.ts.map +1 -0
  49. package/dist/implementation/interpolation/CameraInterpolationManager.js +134 -0
  50. package/dist/implementation/interpolation/CameraInterpolationManager.js.map +1 -0
  51. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.d.ts +37 -0
  52. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.d.ts.map +1 -0
  53. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.js +50 -0
  54. package/dist/implementation/interpolation/interpolationMethods/CameraCylindricalInterpolation.js.map +1 -0
  55. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.d.ts +27 -0
  56. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.d.ts.map +1 -0
  57. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.js +30 -0
  58. package/dist/implementation/interpolation/interpolationMethods/CameraLinearInterpolation.js.map +1 -0
  59. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.d.ts +36 -0
  60. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.d.ts.map +1 -0
  61. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.js +42 -0
  62. package/dist/implementation/interpolation/interpolationMethods/CameraMultipleInterpolation.js.map +1 -0
  63. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.d.ts +27 -0
  64. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.d.ts.map +1 -0
  65. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.js +30 -0
  66. package/dist/implementation/interpolation/interpolationMethods/CameraOrthographicInterpolation.js.map +1 -0
  67. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.d.ts +33 -0
  68. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.d.ts.map +1 -0
  69. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.js +39 -0
  70. package/dist/implementation/interpolation/interpolationMethods/CameraSphericalInterpolation.js.map +1 -0
  71. package/dist/index.d.ts +18 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +20 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/interfaces/ICameraEngine.d.ts +11 -0
  76. package/dist/interfaces/ICameraEngine.d.ts.map +1 -0
  77. package/dist/interfaces/ICameraEngine.js +9 -0
  78. package/dist/interfaces/ICameraEngine.js.map +1 -0
  79. package/dist/interfaces/camera/ICamera.d.ts +50 -0
  80. package/dist/interfaces/camera/ICamera.d.ts.map +1 -0
  81. package/dist/interfaces/camera/ICamera.js +3 -0
  82. package/dist/interfaces/camera/ICamera.js.map +1 -0
  83. package/dist/interfaces/camera/IOrthographicCamera.d.ts +15 -0
  84. package/dist/interfaces/camera/IOrthographicCamera.d.ts.map +1 -0
  85. package/dist/interfaces/camera/IOrthographicCamera.js +13 -0
  86. package/dist/interfaces/camera/IOrthographicCamera.js.map +1 -0
  87. package/dist/interfaces/camera/IPerspectiveCamera.d.ts +7 -0
  88. package/dist/interfaces/camera/IPerspectiveCamera.d.ts.map +1 -0
  89. package/dist/interfaces/camera/IPerspectiveCamera.js +3 -0
  90. package/dist/interfaces/camera/IPerspectiveCamera.js.map +1 -0
  91. package/dist/interfaces/controls/ICameraControls.d.ts +4 -0
  92. package/dist/interfaces/controls/ICameraControls.d.ts.map +1 -0
  93. package/dist/interfaces/controls/ICameraControls.js +3 -0
  94. package/dist/interfaces/controls/ICameraControls.js.map +1 -0
  95. package/dist/interfaces/controls/ICameraControlsEventDistribution.d.ts +5 -0
  96. package/dist/interfaces/controls/ICameraControlsEventDistribution.d.ts.map +1 -0
  97. package/dist/interfaces/controls/ICameraControlsEventDistribution.js +3 -0
  98. package/dist/interfaces/controls/ICameraControlsEventDistribution.js.map +1 -0
  99. package/dist/interfaces/controls/ICameraControlsLogic.d.ts +11 -0
  100. package/dist/interfaces/controls/ICameraControlsLogic.d.ts.map +1 -0
  101. package/dist/interfaces/controls/ICameraControlsLogic.js +3 -0
  102. package/dist/interfaces/controls/ICameraControlsLogic.js.map +1 -0
  103. package/dist/interfaces/controls/ICameraControlsUsage.d.ts +29 -0
  104. package/dist/interfaces/controls/ICameraControlsUsage.d.ts.map +1 -0
  105. package/dist/interfaces/controls/ICameraControlsUsage.js +3 -0
  106. package/dist/interfaces/controls/ICameraControlsUsage.js.map +1 -0
  107. package/dist/interfaces/controls/IOrthographicCameraControls.d.ts +30 -0
  108. package/dist/interfaces/controls/IOrthographicCameraControls.d.ts.map +1 -0
  109. package/dist/interfaces/controls/IOrthographicCameraControls.js +3 -0
  110. package/dist/interfaces/controls/IOrthographicCameraControls.js.map +1 -0
  111. package/dist/interfaces/controls/IPerspectiveCameraControls.d.ts +61 -0
  112. package/dist/interfaces/controls/IPerspectiveCameraControls.d.ts.map +1 -0
  113. package/dist/interfaces/controls/IPerspectiveCameraControls.js +3 -0
  114. package/dist/interfaces/controls/IPerspectiveCameraControls.js.map +1 -0
  115. package/dist/interfaces/interpolation/ICameraInterpolation.d.ts +12 -0
  116. package/dist/interfaces/interpolation/ICameraInterpolation.d.ts.map +1 -0
  117. package/dist/interfaces/interpolation/ICameraInterpolation.js +3 -0
  118. package/dist/interfaces/interpolation/ICameraInterpolation.js.map +1 -0
  119. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerspectiveCamera.js","sourceRoot":"","sources":["../../../src/implementation/camera/PerspectiveCamera.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { mat4, vec3 } from 'gl-matrix';
2
+ import { CAMERATYPE } from '../../interfaces/ICameraEngine';
3
+ import { ICamera } from '../../interfaces/camera/ICamera';
4
+ import { ICameraControlsUsage } from '../../interfaces/controls/ICameraControlsUsage';
5
+ import { ICameraControlsEventDistribution } from '../../interfaces/controls/ICameraControlsEventDistribution';
6
+ import { ICameraControlsLogic } from '../../interfaces/controls/ICameraControlsLogic';
7
+ export declare class AbstractCameraControls implements ICameraControlsUsage {
8
+ private readonly _viewerId;
9
+ private _camera;
10
+ private _canvas;
11
+ private _enabled;
12
+ private readonly _cameraInterpolationManager;
13
+ private readonly _eventEngine;
14
+ private _manualInteraction;
15
+ private _manualInteractionTransformations;
16
+ private _moving;
17
+ private _movingDuration;
18
+ private _nonmanualInteraction;
19
+ private _nonmanualInteractionTransformations;
20
+ private _position;
21
+ private _target;
22
+ protected _cameraControlsEventDistribution: ICameraControlsEventDistribution;
23
+ protected _cameraLogic: ICameraControlsLogic;
24
+ constructor(_viewerId: string, _camera: ICamera, _canvas: HTMLCanvasElement, _enabled: boolean, type: CAMERATYPE);
25
+ get cameraControlsEventDistribution(): ICameraControlsEventDistribution;
26
+ get canvas(): HTMLCanvasElement;
27
+ set canvas(value: HTMLCanvasElement);
28
+ get enabled(): boolean;
29
+ set enabled(value: boolean);
30
+ get camera(): ICamera;
31
+ set camera(value: ICamera);
32
+ get position(): vec3;
33
+ set position(value: vec3);
34
+ get target(): vec3;
35
+ set target(value: vec3);
36
+ animate(path: {
37
+ position: vec3;
38
+ target: vec3;
39
+ }[], options: {
40
+ easing?: string | Function | undefined;
41
+ duration?: number | undefined;
42
+ default?: boolean | undefined;
43
+ coordinates?: string | undefined;
44
+ interpolation?: string | Function | undefined;
45
+ }): Promise<boolean>;
46
+ applyPositionVector(vector: vec3, manualInteraction?: boolean | undefined): void;
47
+ applyTargetVector(vector: vec3, manualInteraction?: boolean | undefined): void;
48
+ applyPositionMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
49
+ applyTargetMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
50
+ applyUpMatrix(matrix: mat4, manualInteraction?: boolean | undefined): void;
51
+ getPositionWithManualUpdates(): vec3;
52
+ getTargetWithManualUpdates(): vec3;
53
+ getPositionWithUpdates(): vec3;
54
+ getTargetWithUpdates(): vec3;
55
+ isMoving(): boolean;
56
+ isWithinRestrictions(position: vec3, target: vec3): boolean;
57
+ reset(): void;
58
+ update(time: number): {
59
+ position: vec3;
60
+ target: vec3;
61
+ };
62
+ private getPosition;
63
+ private getTarget;
64
+ }
65
+ //# sourceMappingURL=AbstractCameraControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractCameraControls.d.ts","sourceRoot":"","sources":["../../../src/implementation/controls/AbstractCameraControls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractCameraControls = void 0;
4
+ const gl_matrix_1 = require("gl-matrix");
5
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
6
+ const tsyringe_1 = require("tsyringe");
7
+ const CameraInterpolationManager_1 = require("../interpolation/CameraInterpolationManager");
8
+ class AbstractCameraControls {
9
+ constructor(_viewerId, _camera, _canvas, _enabled, type) {
10
+ this._viewerId = _viewerId;
11
+ this._camera = _camera;
12
+ this._canvas = _canvas;
13
+ this._enabled = _enabled;
14
+ this._eventEngine = tsyringe_1.container.resolve(viewer_shared_services_1.EventEngine);
15
+ this._manualInteraction = false;
16
+ this._moving = false;
17
+ this._movingDuration = 0;
18
+ this._nonmanualInteraction = false;
19
+ this._position = gl_matrix_1.vec3.create();
20
+ this._target = gl_matrix_1.vec3.create();
21
+ this._cameraInterpolationManager = new CameraInterpolationManager_1.CameraInterpolationManager(this._camera, this);
22
+ this._manualInteractionTransformations = { position: [], target: [] };
23
+ this._nonmanualInteractionTransformations = { position: [], target: [] };
24
+ }
25
+ get cameraControlsEventDistribution() {
26
+ return this._cameraControlsEventDistribution;
27
+ }
28
+ get canvas() {
29
+ return this._canvas;
30
+ }
31
+ set canvas(value) {
32
+ this._canvas = value;
33
+ }
34
+ get enabled() {
35
+ return this._enabled;
36
+ }
37
+ set enabled(value) {
38
+ if (!value) {
39
+ this._manualInteraction = false;
40
+ this._manualInteractionTransformations = { position: [], target: [] };
41
+ this._nonmanualInteraction = false;
42
+ this._nonmanualInteractionTransformations = { position: [], target: [] };
43
+ this._cameraControlsEventDistribution.reset();
44
+ this._cameraLogic.reset();
45
+ }
46
+ this._enabled = value;
47
+ }
48
+ get camera() {
49
+ return this._camera;
50
+ }
51
+ set camera(value) {
52
+ this._camera = value;
53
+ }
54
+ get position() {
55
+ return this._position;
56
+ }
57
+ set position(value) {
58
+ this._position = value;
59
+ }
60
+ get target() {
61
+ return this._target;
62
+ }
63
+ set target(value) {
64
+ this._target = value;
65
+ }
66
+ animate(path, options) {
67
+ if (options && options.duration === 0) {
68
+ this._position = path[path.length - 1].position;
69
+ this._target = path[path.length - 1].target;
70
+ return new Promise(resolve => resolve(true));
71
+ }
72
+ this._manualInteraction = false;
73
+ this._manualInteractionTransformations = { position: [], target: [] };
74
+ return this._cameraInterpolationManager.interpolate(path, options);
75
+ }
76
+ applyPositionVector(vector, manualInteraction) {
77
+ if (this._manualInteraction || manualInteraction) {
78
+ this._manualInteraction = true;
79
+ this._manualInteractionTransformations.position.push({ vector });
80
+ }
81
+ else {
82
+ this._nonmanualInteraction = true;
83
+ this._nonmanualInteractionTransformations.position.push({ vector });
84
+ }
85
+ }
86
+ applyTargetVector(vector, manualInteraction) {
87
+ if (this._manualInteraction || manualInteraction) {
88
+ this._manualInteraction = true;
89
+ this._manualInteractionTransformations.target.push({ vector });
90
+ }
91
+ else {
92
+ this._nonmanualInteraction = true;
93
+ this._nonmanualInteractionTransformations.target.push({ vector });
94
+ }
95
+ }
96
+ applyPositionMatrix(matrix, manualInteraction) {
97
+ if (this._manualInteraction || manualInteraction) {
98
+ this._manualInteraction = true;
99
+ this._manualInteractionTransformations.position.push({ matrix });
100
+ }
101
+ else {
102
+ this._nonmanualInteraction = true;
103
+ this._nonmanualInteractionTransformations.position.push({ matrix });
104
+ }
105
+ }
106
+ applyTargetMatrix(matrix, manualInteraction) {
107
+ if (this._manualInteraction || manualInteraction) {
108
+ this._manualInteraction = true;
109
+ this._manualInteractionTransformations.target.push({ matrix });
110
+ }
111
+ else {
112
+ this._nonmanualInteraction = true;
113
+ this._nonmanualInteractionTransformations.target.push({ matrix });
114
+ }
115
+ }
116
+ applyUpMatrix(matrix, manualInteraction) {
117
+ throw new Error("Method not implemented.");
118
+ }
119
+ getPositionWithManualUpdates() {
120
+ let position = gl_matrix_1.vec3.clone(this._position);
121
+ if (this._manualInteraction) {
122
+ for (let i = this._manualInteractionTransformations.position.length - 1; i >= 0; i--) {
123
+ if (this._manualInteractionTransformations.position[i].matrix) {
124
+ position = gl_matrix_1.vec3.transformMat4(position, position, this._manualInteractionTransformations.position[i].matrix);
125
+ }
126
+ else {
127
+ position = gl_matrix_1.vec3.add(position, position, this._manualInteractionTransformations.position[i].vector);
128
+ }
129
+ }
130
+ }
131
+ return position;
132
+ }
133
+ getTargetWithManualUpdates() {
134
+ let target = gl_matrix_1.vec3.clone(this._target);
135
+ if (this._manualInteraction) {
136
+ for (let i = this._manualInteractionTransformations.target.length - 1; i >= 0; i--) {
137
+ if (this._manualInteractionTransformations.target[i].matrix) {
138
+ target = gl_matrix_1.vec3.transformMat4(target, target, this._manualInteractionTransformations.target[i].matrix);
139
+ }
140
+ else {
141
+ target = gl_matrix_1.vec3.add(target, target, this._manualInteractionTransformations.target[i].vector);
142
+ }
143
+ }
144
+ }
145
+ return target;
146
+ }
147
+ getPositionWithUpdates() {
148
+ return this.getPosition();
149
+ }
150
+ getTargetWithUpdates() {
151
+ return this.getTarget();
152
+ }
153
+ isMoving() {
154
+ return this._manualInteraction || this._nonmanualInteraction;
155
+ }
156
+ isWithinRestrictions(position, target) {
157
+ return this._cameraLogic.isWithinRestrictions(position, target);
158
+ }
159
+ reset() {
160
+ this._cameraControlsEventDistribution.reset();
161
+ this._cameraLogic.reset();
162
+ }
163
+ update(time) {
164
+ if (!this._enabled)
165
+ return { position: gl_matrix_1.vec3.clone(this._position), target: gl_matrix_1.vec3.clone(this._target) };
166
+ if (this._manualInteraction === true && this._cameraInterpolationManager.active())
167
+ this._cameraInterpolationManager.stop();
168
+ let { position, target } = this._cameraLogic.restrict(this.getPosition(), this.getTarget());
169
+ this._position = gl_matrix_1.vec3.clone(position);
170
+ this._target = gl_matrix_1.vec3.clone(target);
171
+ this._manualInteraction = false;
172
+ this._manualInteractionTransformations = { position: [], target: [] };
173
+ this._nonmanualInteraction = this._cameraInterpolationManager.active();
174
+ this._nonmanualInteractionTransformations = { position: [], target: [] };
175
+ this._cameraLogic.update(time, this._nonmanualInteraction);
176
+ const oldMovement = this._moving;
177
+ const cameraDefinition = {
178
+ position: gl_matrix_1.vec3.clone(this._position),
179
+ target: gl_matrix_1.vec3.clone(this._target)
180
+ };
181
+ this._movingDuration += time;
182
+ this._moving = (this._manualInteraction || this._nonmanualInteraction);
183
+ switch (true) {
184
+ case oldMovement !== this._moving && this._moving === true:
185
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.CAMERA.CAMERA_START, { viewerId: this._viewerId, cameraId: this.camera.id });
186
+ break;
187
+ case oldMovement !== this._moving && this._moving === false:
188
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.CAMERA.CAMERA_END, { viewerId: this._viewerId, cameraId: this.camera.id });
189
+ break;
190
+ default:
191
+ this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.CAMERA.CAMERA_MOVE, { viewerId: this._viewerId, cameraId: this.camera.id });
192
+ }
193
+ if (!this._moving)
194
+ this._movingDuration = 0;
195
+ return cameraDefinition;
196
+ }
197
+ getPosition() {
198
+ let position = gl_matrix_1.vec3.clone(this._position);
199
+ if (this._manualInteraction) {
200
+ for (let i = this._manualInteractionTransformations.position.length - 1; i >= 0; i--) {
201
+ if (this._manualInteractionTransformations.position[i].matrix) {
202
+ position = gl_matrix_1.vec3.transformMat4(position, position, this._manualInteractionTransformations.position[i].matrix);
203
+ }
204
+ else {
205
+ position = gl_matrix_1.vec3.add(position, position, this._manualInteractionTransformations.position[i].vector);
206
+ }
207
+ }
208
+ }
209
+ else if (this._nonmanualInteraction) {
210
+ for (let i = this._nonmanualInteractionTransformations.position.length - 1; i >= 0; i--) {
211
+ if (this._nonmanualInteractionTransformations.position[i].matrix) {
212
+ position = gl_matrix_1.vec3.transformMat4(position, position, this._nonmanualInteractionTransformations.position[i].matrix);
213
+ }
214
+ else {
215
+ position = gl_matrix_1.vec3.add(position, position, this._nonmanualInteractionTransformations.position[i].vector);
216
+ }
217
+ }
218
+ }
219
+ return position;
220
+ }
221
+ getTarget() {
222
+ let target = gl_matrix_1.vec3.clone(this._target);
223
+ if (this._manualInteraction) {
224
+ for (let i = this._manualInteractionTransformations.target.length - 1; i >= 0; i--) {
225
+ if (this._manualInteractionTransformations.target[i].matrix) {
226
+ target = gl_matrix_1.vec3.transformMat4(target, target, this._manualInteractionTransformations.target[i].matrix);
227
+ }
228
+ else {
229
+ target = gl_matrix_1.vec3.add(target, target, this._manualInteractionTransformations.target[i].vector);
230
+ }
231
+ }
232
+ }
233
+ else if (this._nonmanualInteraction) {
234
+ for (let i = this._nonmanualInteractionTransformations.target.length - 1; i >= 0; i--) {
235
+ if (this._nonmanualInteractionTransformations.target[i].matrix) {
236
+ target = gl_matrix_1.vec3.transformMat4(target, target, this._nonmanualInteractionTransformations.target[i].matrix);
237
+ }
238
+ else {
239
+ target = gl_matrix_1.vec3.add(target, target, this._nonmanualInteractionTransformations.target[i].vector);
240
+ }
241
+ }
242
+ }
243
+ return target;
244
+ }
245
+ }
246
+ exports.AbstractCameraControls = AbstractCameraControls;
247
+ //# sourceMappingURL=AbstractCameraControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractCameraControls.js","sourceRoot":"","sources":["../../../src/implementation/controls/AbstractCameraControls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { ICamera } from '../..';
2
+ import { IOrthographicCameraControls } from '../../interfaces/controls/IOrthographicCameraControls';
3
+ import { AbstractCameraControls } from './AbstractCameraControls';
4
+ export declare class OrthographicCameraControls extends AbstractCameraControls implements IOrthographicCameraControls {
5
+ private _damping;
6
+ private _enableKeyPan;
7
+ private _enablePan;
8
+ private _enableZoom;
9
+ private _input;
10
+ private _keyPanSpeed;
11
+ private _movementSmoothness;
12
+ private _panSpeed;
13
+ private _zoomSpeed;
14
+ private readonly _settingsEngine;
15
+ private readonly _stateEngine;
16
+ constructor(viewerId: string, camera: ICamera, canvas: HTMLCanvasElement, enabled: boolean);
17
+ applySettings(): void;
18
+ get damping(): number;
19
+ set damping(value: number);
20
+ get enableKeyPan(): boolean;
21
+ set enableKeyPan(value: boolean);
22
+ get enablePan(): boolean;
23
+ set enablePan(value: boolean);
24
+ get enableZoom(): boolean;
25
+ set enableZoom(value: boolean);
26
+ get input(): {
27
+ keys: {
28
+ up: number;
29
+ down: number;
30
+ left: number;
31
+ right: number;
32
+ };
33
+ mouse: {
34
+ rotate: number;
35
+ zoom: number;
36
+ pan: number;
37
+ };
38
+ touch: {
39
+ rotate: number;
40
+ zoom: number;
41
+ pan: number;
42
+ };
43
+ };
44
+ set input(value: {
45
+ keys: {
46
+ up: number;
47
+ down: number;
48
+ left: number;
49
+ right: number;
50
+ };
51
+ mouse: {
52
+ rotate: number;
53
+ zoom: number;
54
+ pan: number;
55
+ };
56
+ touch: {
57
+ rotate: number;
58
+ zoom: number;
59
+ pan: number;
60
+ };
61
+ });
62
+ get keyPanSpeed(): number;
63
+ set keyPanSpeed(value: number);
64
+ get movementSmoothness(): number;
65
+ set movementSmoothness(value: number);
66
+ get panSpeed(): number;
67
+ set panSpeed(value: number);
68
+ get zoomSpeed(): number;
69
+ set zoomSpeed(value: number);
70
+ }
71
+ //# sourceMappingURL=OrthographicCameraControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrthographicCameraControls.d.ts","sourceRoot":"","sources":["../../../src/implementation/controls/OrthographicCameraControls.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,OAAO,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAMjE,qBAAa,0BAA2B,SAAQ,sBAAuB,YAAW,2BAA2B;IAGzG,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,MAAM,CAAuT;IACrU,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,mBAAmB,CAAe;IAC1C,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,UAAU,CAAe;IAEjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqE;IACrG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4D;gBAM7E,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IAMnF,aAAa;IAmBpB,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAE/B;IAED,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,OAAO,EAErC;IAED,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,OAAO,EAElC;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,OAAO,EAEnC;IAED,IAAW,KAAK,IAAI;QAAE,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAElM;IAED,IAAW,KAAK,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EAEtM;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,MAAM,EAEnC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED,IAAW,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAE1C;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEhC;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,CAAC,KAAK,EAAE,MAAM,EAEjC;CAGJ"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrthographicCameraControls = void 0;
4
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
5
+ const tsyringe_1 = require("tsyringe");
6
+ const __1 = require("../..");
7
+ const AbstractCameraControls_1 = require("./AbstractCameraControls");
8
+ const CameraControlsEventDistribution_1 = require("./orthographic/CameraControlsEventDistribution");
9
+ const CameraControlsLogic_1 = require("./orthographic/CameraControlsLogic");
10
+ class OrthographicCameraControls extends AbstractCameraControls_1.AbstractCameraControls {
11
+ constructor(viewerId, camera, canvas, enabled) {
12
+ super(viewerId, camera, canvas, enabled, __1.CAMERATYPE.ORTHOGRAPHIC);
13
+ this._damping = 0.1;
14
+ this._enableKeyPan = false;
15
+ this._enablePan = true;
16
+ this._enableZoom = true;
17
+ this._input = { keys: { up: 38, down: 40, left: 37, right: 39 }, mouse: { rotate: 0, zoom: 1, pan: 2 }, touch: { rotate: 1, zoom: 2, pan: 3 }, };
18
+ this._keyPanSpeed = 0.5;
19
+ this._movementSmoothness = 0.5;
20
+ this._panSpeed = 0.5;
21
+ this._zoomSpeed = 0.5;
22
+ this._settingsEngine = tsyringe_1.container.resolve(viewer_shared_services_1.SettingsEngine);
23
+ this._stateEngine = tsyringe_1.container.resolve(viewer_shared_services_1.StateEngine);
24
+ this._cameraLogic = new CameraControlsLogic_1.CameraControlsLogic(this);
25
+ this._cameraControlsEventDistribution = new CameraControlsEventDistribution_1.CameraControlsEventDistribution(this, this._cameraLogic);
26
+ }
27
+ applySettings() {
28
+ const cameraSetting = this._settingsEngine.camera.cameras[this.camera.id];
29
+ if (!cameraSetting)
30
+ return;
31
+ const controlsSettings = cameraSetting.controls;
32
+ this.damping = controlsSettings.damping;
33
+ this.enableKeyPan = controlsSettings.enableKeyPan;
34
+ this.enablePan = controlsSettings.enablePan;
35
+ this.enableZoom = controlsSettings.enableZoom;
36
+ this.input = controlsSettings.input;
37
+ this.keyPanSpeed = controlsSettings.keyPanSpeed;
38
+ this.movementSmoothness = controlsSettings.movementSmoothness;
39
+ this.panSpeed = controlsSettings.panSpeed;
40
+ this.zoomSpeed = controlsSettings.zoomSpeed;
41
+ }
42
+ get damping() {
43
+ return this._damping;
44
+ }
45
+ set damping(value) {
46
+ this._damping = value;
47
+ }
48
+ get enableKeyPan() {
49
+ return this._enableKeyPan;
50
+ }
51
+ set enableKeyPan(value) {
52
+ this._enableKeyPan = value;
53
+ }
54
+ get enablePan() {
55
+ return this._enablePan;
56
+ }
57
+ set enablePan(value) {
58
+ this._enablePan = value;
59
+ }
60
+ get enableZoom() {
61
+ return this._enableZoom;
62
+ }
63
+ set enableZoom(value) {
64
+ this._enableZoom = value;
65
+ }
66
+ get input() {
67
+ return this._input;
68
+ }
69
+ set input(value) {
70
+ this._input = value;
71
+ }
72
+ get keyPanSpeed() {
73
+ return this._keyPanSpeed;
74
+ }
75
+ set keyPanSpeed(value) {
76
+ this._keyPanSpeed = value;
77
+ }
78
+ get movementSmoothness() {
79
+ return this._movementSmoothness;
80
+ }
81
+ set movementSmoothness(value) {
82
+ this._movementSmoothness = value;
83
+ }
84
+ get panSpeed() {
85
+ return this._panSpeed;
86
+ }
87
+ set panSpeed(value) {
88
+ this._panSpeed = value;
89
+ }
90
+ get zoomSpeed() {
91
+ return this._zoomSpeed;
92
+ }
93
+ set zoomSpeed(value) {
94
+ this._zoomSpeed = value;
95
+ }
96
+ }
97
+ exports.OrthographicCameraControls = OrthographicCameraControls;
98
+ //# sourceMappingURL=OrthographicCameraControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrthographicCameraControls.js","sourceRoot":"","sources":["../../../src/implementation/controls/OrthographicCameraControls.ts"],"names":[],"mappings":"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"}