@vived/app 2.11.0 → 2.14.0

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 (58) hide show
  1. package/lib/Entities/Babylon.d.ts +1 -2
  2. package/lib/Entities/Babylon.js +6 -7
  3. package/lib/Entities/DevicePreview.d.ts +1 -1
  4. package/lib/Entities/DevicePreview.js +5 -5
  5. package/lib/Entities/FocusCamera.d.ts +1 -1
  6. package/lib/Entities/FocusCamera.js +19 -19
  7. package/lib/Entities/KeyboardInput.js +1 -1
  8. package/lib/Entities/MemoizedVector2.d.ts +3 -7
  9. package/lib/Entities/MemoizedVector2.js +7 -24
  10. package/lib/Entities/MemoizedVector3.d.ts +3 -9
  11. package/lib/Entities/MemoizedVector3.js +7 -33
  12. package/lib/Entities/MouseInput.d.ts +11 -5
  13. package/lib/Entities/MouseInput.js +24 -9
  14. package/lib/Entities/ParametricLine.d.ts +1 -1
  15. package/lib/Entities/ParametricLine.js +8 -8
  16. package/lib/Entities/ParametricPlane.d.ts +3 -3
  17. package/lib/Entities/ParametricPlane.js +10 -10
  18. package/lib/Entities/TouchInput.d.ts +16 -8
  19. package/lib/Entities/TouchInput.js +56 -27
  20. package/lib/Entities/index.d.ts +0 -6
  21. package/lib/Entities/index.js +0 -6
  22. package/lib/PresentationManagers/FocusCameraPM.d.ts +2 -1
  23. package/lib/PresentationManagers/FocusCameraPM.js +4 -4
  24. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.d.ts +2 -1
  25. package/lib/UseCases/FocusCamera/BumpDollyFocusCamera.js +4 -3
  26. package/lib/UseCases/FocusCamera/LerpFocusCamera.js +2 -2
  27. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.d.ts +2 -1
  28. package/lib/UseCases/FocusCamera/PinchDollyFocusCamera.js +4 -3
  29. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.d.ts +2 -1
  30. package/lib/UseCases/FocusCamera/PixelDollyFocusCamera.js +5 -5
  31. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.d.ts +2 -1
  32. package/lib/UseCases/FocusCamera/PixelOrbitFocusCamera.js +2 -1
  33. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.d.ts +2 -1
  34. package/lib/UseCases/FocusCamera/PixelPlanePanFocusCamera.js +4 -4
  35. package/lib/UseCases/FocusCamera/SerializeFocusCamera.js +2 -2
  36. package/lib/Utilities/LengthConverters.d.ts +4 -0
  37. package/lib/Utilities/LengthConverters.js +21 -0
  38. package/lib/Utilities/index.d.ts +1 -0
  39. package/lib/Utilities/index.js +1 -0
  40. package/lib/ValueObjects/Angle.d.ts +8 -0
  41. package/lib/ValueObjects/Angle.js +22 -0
  42. package/lib/ValueObjects/Color.d.ts +23 -0
  43. package/lib/ValueObjects/Color.js +791 -0
  44. package/lib/ValueObjects/LineSegment2D.d.ts +12 -0
  45. package/lib/ValueObjects/LineSegment2D.js +55 -0
  46. package/lib/ValueObjects/ParametricLine.d.ts +27 -0
  47. package/lib/ValueObjects/ParametricLine.js +66 -0
  48. package/lib/ValueObjects/ParametricPlane.d.ts +20 -0
  49. package/lib/ValueObjects/ParametricPlane.js +64 -0
  50. package/lib/ValueObjects/Vector2.d.ts +22 -0
  51. package/lib/ValueObjects/Vector2.js +87 -0
  52. package/lib/ValueObjects/Vector3.d.ts +25 -0
  53. package/lib/ValueObjects/Vector3.js +91 -0
  54. package/lib/ValueObjects/index.d.ts +7 -0
  55. package/lib/ValueObjects/index.js +19 -0
  56. package/lib/index.d.ts +2 -0
  57. package/lib/index.js +3 -1
  58. package/package.json +1 -1
@@ -1,9 +1,20 @@
1
- import { Vector2 } from ".";
1
+ import { Vector2 } from "../ValueObjects";
2
+ export interface TouchInputEvent {
3
+ touchCount: number;
4
+ touchCenter: Vector2;
5
+ touches: TouchData[];
6
+ event: TouchEvent;
7
+ }
8
+ export interface TouchData {
9
+ id: number;
10
+ position: Vector2;
11
+ touch?: Touch;
12
+ }
2
13
  export interface TouchController {
3
- onTouchStart?: (e: TouchEvent) => void;
4
- onTouchMove?: (e: TouchEvent) => void;
5
- onTouchEnd?: (e: TouchEvent) => void;
6
- onTouchCancel?: (e: TouchEvent) => void;
14
+ onTouchStart?: (e: TouchInputEvent) => void;
15
+ onTouchMove?: (e: TouchInputEvent) => void;
16
+ onTouchEnd?: (e: TouchInputEvent) => void;
17
+ onTouchCancel?: (e: TouchInputEvent) => void;
7
18
  }
8
19
  export interface TouchInput {
9
20
  eventElement: HTMLElement | undefined;
@@ -11,9 +22,6 @@ export interface TouchInput {
11
22
  setEventElement: (eventElement: HTMLElement) => void;
12
23
  clearInputElement: () => void;
13
24
  updateInputElementBounds: () => void;
14
- getTouchOffsetPosition: (touch: Touch) => Vector2;
15
- getDistatnceBetweenTouches: (touch1: Touch, touch2: Touch) => number;
16
- getTouchsCenter: (touches: TouchList) => Vector2;
17
25
  registerController: (controller: TouchController) => void;
18
26
  removeController: (controller: TouchController) => void;
19
27
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeTouchInput = void 0;
4
- const _1 = require(".");
4
+ const ValueObjects_1 = require("../ValueObjects");
5
5
  function makeTouchInput() {
6
6
  return new TouchInputImp();
7
7
  }
@@ -18,31 +18,11 @@ class TouchInputImp {
18
18
  this.getTouchOffsetPosition = (touch) => {
19
19
  if (!this.eventElementBounds) {
20
20
  console.warn("No target bounds");
21
- return _1.Vector2.Zero();
21
+ return ValueObjects_1.Vector2.zero();
22
22
  }
23
23
  const x = touch.clientX - this.eventElementBounds.x;
24
24
  const y = touch.clientY - this.eventElementBounds.y;
25
- return new _1.Vector2(x, y);
26
- };
27
- this.getDistatnceBetweenTouches = (touch1, touch2) => {
28
- const t1 = this.getTouchOffsetPosition(touch1);
29
- const t2 = this.getTouchOffsetPosition(touch2);
30
- const delta = t2.subtract(t1);
31
- return delta.magnitued;
32
- };
33
- this.getTouchsCenter = (touches) => {
34
- const touchCount = touches.length;
35
- if (touchCount === 0)
36
- return _1.Vector2.Zero();
37
- let sumX = 0;
38
- let sumY = 0;
39
- for (let i = 0; i < touchCount; i++) {
40
- const touch = touches[i];
41
- const touchPos = this.getTouchOffsetPosition(touch);
42
- sumX += touchPos.x;
43
- sumY += touchPos.y;
44
- }
45
- return new _1.Vector2(sumX / touches.length, sumY / touches.length);
25
+ return new ValueObjects_1.Vector2(x, y);
46
26
  };
47
27
  this.setEventElement = (eventElement) => {
48
28
  if (this._eventElement)
@@ -56,33 +36,37 @@ class TouchInputImp {
56
36
  };
57
37
  this.onTouchStart = (e) => {
58
38
  e.preventDefault();
39
+ const touchInput = this.createTouchInputEvent(e);
59
40
  this.controllers.forEach((c) => {
60
41
  if (c.onTouchStart) {
61
- c.onTouchStart(e);
42
+ c.onTouchStart(touchInput);
62
43
  }
63
44
  });
64
45
  };
65
46
  this.onTouchMove = (e) => {
66
47
  e.preventDefault();
48
+ const touchInput = this.createTouchInputEvent(e);
67
49
  this.controllers.forEach((c) => {
68
50
  if (c.onTouchMove) {
69
- c.onTouchMove(e);
51
+ c.onTouchMove(touchInput);
70
52
  }
71
53
  });
72
54
  };
73
55
  this.onTouchEnd = (e) => {
74
56
  e.preventDefault();
57
+ const touchInput = this.createTouchInputEvent(e);
75
58
  this.controllers.forEach((c) => {
76
59
  if (c.onTouchEnd) {
77
- c.onTouchEnd(e);
60
+ c.onTouchEnd(touchInput);
78
61
  }
79
62
  });
80
63
  };
81
64
  this.onTouchCancel = (e) => {
82
65
  e.preventDefault();
66
+ const touchInput = this.createTouchInputEvent(e);
83
67
  this.controllers.forEach((c) => {
84
68
  if (c.onTouchCancel) {
85
- c.onTouchCancel(e);
69
+ c.onTouchCancel(touchInput);
86
70
  }
87
71
  });
88
72
  };
@@ -108,4 +92,49 @@ class TouchInputImp {
108
92
  get eventElement() {
109
93
  return this._eventElement;
110
94
  }
95
+ createTouchInputEvent(event) {
96
+ const touches = [];
97
+ const touchCount = event.touches.length;
98
+ let minX = 0;
99
+ let maxX = 0;
100
+ let minY = 0;
101
+ let maxY = 0;
102
+ for (let i = 0; i < touchCount; i++) {
103
+ const touch = event.touches[i];
104
+ const position = this.getTouchOffsetPosition(touch);
105
+ touches.push({
106
+ id: touch.identifier,
107
+ touch,
108
+ position,
109
+ });
110
+ if (i === 0) {
111
+ minX = position.x;
112
+ maxX = position.x;
113
+ minY = position.y;
114
+ maxY = position.y;
115
+ }
116
+ else {
117
+ minX = Math.min(minX, position.x);
118
+ maxX = Math.max(maxX, position.x);
119
+ minY = Math.min(minY, position.y);
120
+ maxY = Math.max(maxY, position.y);
121
+ }
122
+ }
123
+ let cntX = 0;
124
+ let cntY = 0;
125
+ if (touchCount === 1) {
126
+ cntX = maxX;
127
+ cntY = maxY;
128
+ }
129
+ else {
130
+ cntX = minX + (maxX - minX) / 2;
131
+ cntY = minY + (maxY - minY) / 2;
132
+ }
133
+ return {
134
+ touchCenter: new ValueObjects_1.Vector2(cntX, cntY),
135
+ touchCount,
136
+ touches,
137
+ event,
138
+ };
139
+ }
111
140
  }
@@ -1,9 +1,7 @@
1
1
  export * from "./Babylon";
2
2
  export * from "./BaseApp";
3
- export * from "./Color";
4
3
  export * from "./DevicePreview";
5
4
  export * from "./KeyboardInput";
6
- export * from "./LineSegment2D";
7
5
  export * from "./MemoizedBoolean";
8
6
  export * from "./MemoizedNumber";
9
7
  export * from "./MemoizedString";
@@ -11,11 +9,7 @@ export * from "./MemoizedVector2";
11
9
  export * from "./MemoizedVector3";
12
10
  export * from "./ObserverList";
13
11
  export * from "./FocusCamera";
14
- export * from "./ParametricLine";
15
- export * from "./ParametricPlane";
16
12
  export * from "./StateMachine";
17
13
  export * from "./UndoRedo";
18
- export * from "./Vector2";
19
- export * from "./Vector3";
20
14
  export * from "./MouseInput";
21
15
  export * from "./TouchInput";
@@ -12,10 +12,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./Babylon"), exports);
14
14
  __exportStar(require("./BaseApp"), exports);
15
- __exportStar(require("./Color"), exports);
16
15
  __exportStar(require("./DevicePreview"), exports);
17
16
  __exportStar(require("./KeyboardInput"), exports);
18
- __exportStar(require("./LineSegment2D"), exports);
19
17
  __exportStar(require("./MemoizedBoolean"), exports);
20
18
  __exportStar(require("./MemoizedNumber"), exports);
21
19
  __exportStar(require("./MemoizedString"), exports);
@@ -23,11 +21,7 @@ __exportStar(require("./MemoizedVector2"), exports);
23
21
  __exportStar(require("./MemoizedVector3"), exports);
24
22
  __exportStar(require("./ObserverList"), exports);
25
23
  __exportStar(require("./FocusCamera"), exports);
26
- __exportStar(require("./ParametricLine"), exports);
27
- __exportStar(require("./ParametricPlane"), exports);
28
24
  __exportStar(require("./StateMachine"), exports);
29
25
  __exportStar(require("./UndoRedo"), exports);
30
- __exportStar(require("./Vector2"), exports);
31
- __exportStar(require("./Vector3"), exports);
32
26
  __exportStar(require("./MouseInput"), exports);
33
27
  __exportStar(require("./TouchInput"), exports);
@@ -1,4 +1,5 @@
1
- import { FocusCamera, Vector3 } from "../Entities";
1
+ import { FocusCamera } from "../Entities";
2
+ import { Vector3 } from "../ValueObjects";
2
3
  export interface FocusCameraVM {
3
4
  alphaEuler: Vector3;
4
5
  betaEuler: Vector3;
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FocusCameraPM = void 0;
4
- const Entities_1 = require("../Entities");
5
4
  const Utilities_1 = require("../Utilities");
5
+ const ValueObjects_1 = require("../ValueObjects");
6
6
  class FocusCameraPM {
7
7
  constructor(orbitCamera, view) {
8
8
  this.doUpdateView = () => {
9
9
  const { alpha, beta, radius, target } = this.orbitCam;
10
10
  const alphaRadians = Utilities_1.degreesToRadians(alpha);
11
- const alphaEuler = new Entities_1.Vector3(0, alphaRadians, 0);
11
+ const alphaEuler = new ValueObjects_1.Vector3(0, alphaRadians, 0);
12
12
  const betaRadians = Utilities_1.degreesToRadians(beta);
13
- const betaEuler = new Entities_1.Vector3(betaRadians, 0, 0);
14
- const cameraLocalPosition = new Entities_1.Vector3(0, 0, -radius);
13
+ const betaEuler = new ValueObjects_1.Vector3(betaRadians, 0, 0);
14
+ const cameraLocalPosition = new ValueObjects_1.Vector3(0, 0, -radius);
15
15
  this.view({
16
16
  alphaEuler,
17
17
  betaEuler,
@@ -1,4 +1,5 @@
1
- import { FocusCamera, Vector3 } from "../../Entities";
1
+ import { FocusCamera } from "../../Entities";
2
+ import { Vector3 } from "../../ValueObjects";
2
3
  export declare class BumpDollyFocusCamera {
3
4
  private focusCamera;
4
5
  bumpDurationMS: number;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BumpDollyFocusCamera = void 0;
4
+ const ValueObjects_1 = require("../../ValueObjects");
4
5
  class BumpDollyFocusCamera {
5
6
  constructor(focusCamera) {
6
7
  this.focusCamera = focusCamera;
@@ -25,10 +26,10 @@ class BumpDollyFocusCamera {
25
26
  this.focusCamera.radius = this.initialRadius + range * percent;
26
27
  if (this.pickPoint !== undefined) {
27
28
  const percentChange = this.focusCamera.radius / currentRadius;
28
- const pickToTarget = this.focusCamera.target.subtract(this.pickPoint);
29
+ let pickToTarget = ValueObjects_1.Vector3.subtract(this.focusCamera.target, this.pickPoint);
29
30
  const newLength = pickToTarget.magnitued * percentChange;
30
- pickToTarget.setLength(newLength);
31
- const newTargetPos = this.pickPoint.add(pickToTarget);
31
+ pickToTarget = ValueObjects_1.Vector3.newVectorOfLength(pickToTarget, newLength);
32
+ const newTargetPos = ValueObjects_1.Vector3.add(this.pickPoint, pickToTarget);
32
33
  this.focusCamera.target = newTargetPos;
33
34
  }
34
35
  if (nomralizedTime >= 1 && this.interval) {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LerpFocusCamera = void 0;
4
- const Entities_1 = require("../../Entities");
4
+ const ValueObjects_1 = require("../../ValueObjects");
5
5
  class LerpFocusCamera {
6
6
  constructor(focusCamera, easeFn, parameters) {
7
7
  var _a, _b, _c;
@@ -30,7 +30,7 @@ class LerpFocusCamera {
30
30
  const x = this.lerpX(percent);
31
31
  const y = this.lerpY(percent);
32
32
  const z = this.lerpZ(percent);
33
- this.focusCamera.target = new Entities_1.Vector3(x, y, z);
33
+ this.focusCamera.target = new ValueObjects_1.Vector3(x, y, z);
34
34
  if (nomralizedTime >= 1) {
35
35
  clearInterval(this.interval);
36
36
  if (this.onComplete) {
@@ -1,4 +1,5 @@
1
- import { FocusCamera, Vector3 } from "../../Entities";
1
+ import { FocusCamera } from "../../Entities";
2
+ import { Vector3 } from "../../ValueObjects";
2
3
  export declare class PinchDollyFocusCamera {
3
4
  private focusCamera;
4
5
  sensitivity: number;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PinchDollyFocusCamera = void 0;
4
+ const ValueObjects_1 = require("../../ValueObjects");
4
5
  class PinchDollyFocusCamera {
5
6
  constructor(focusCamera) {
6
7
  this.focusCamera = focusCamera;
@@ -13,10 +14,10 @@ class PinchDollyFocusCamera {
13
14
  this.focusCamera.radius = currentRadius - deltaRadius;
14
15
  if (this.pickPoint !== undefined) {
15
16
  const percentChange = this.focusCamera.radius / currentRadius;
16
- const pickToTarget = this.focusCamera.target.subtract(this.pickPoint);
17
+ let pickToTarget = ValueObjects_1.Vector3.subtract(this.focusCamera.target, this.pickPoint);
17
18
  const newLength = pickToTarget.magnitued * percentChange;
18
- pickToTarget.setLength(newLength);
19
- const newTargetPos = this.pickPoint.add(pickToTarget);
19
+ pickToTarget = ValueObjects_1.Vector3.newVectorOfLength(pickToTarget, newLength);
20
+ const newTargetPos = ValueObjects_1.Vector3.add(this.pickPoint, pickToTarget);
20
21
  this.focusCamera.target = newTargetPos;
21
22
  }
22
23
  this.previousDistanceBetweenTouches = distanceBetweenTouches;
@@ -1,4 +1,5 @@
1
- import { FocusCamera, Vector2, Vector3 } from "../../Entities";
1
+ import { FocusCamera } from "../../Entities";
2
+ import { Vector2, Vector3 } from "../../ValueObjects";
2
3
  export declare class PixelDollyFocusCamera {
3
4
  private focusCamera;
4
5
  sensitivity: number;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PixelDollyFocusCamera = void 0;
4
- const Entities_1 = require("../../Entities");
4
+ const ValueObjects_1 = require("../../ValueObjects");
5
5
  class PixelDollyFocusCamera {
6
6
  constructor(focusCamera) {
7
7
  this.focusCamera = focusCamera;
8
8
  this.sensitivity = 0.05;
9
- this.previousPixelPosition = Entities_1.Vector2.Zero();
9
+ this.previousPixelPosition = ValueObjects_1.Vector2.zero();
10
10
  this.doDolly = (pixelPosition) => {
11
11
  const pixelDeltaY = pixelPosition.y - this.previousPixelPosition.y;
12
12
  const deltaRadius = pixelDeltaY * this.sensitivity;
@@ -14,10 +14,10 @@ class PixelDollyFocusCamera {
14
14
  this.focusCamera.radius = currentRadius - deltaRadius;
15
15
  if (this.pickPoint !== undefined) {
16
16
  const percentChange = this.focusCamera.radius / currentRadius;
17
- const pickToTarget = this.focusCamera.target.subtract(this.pickPoint);
17
+ let pickToTarget = ValueObjects_1.Vector3.subtract(this.focusCamera.target, this.pickPoint);
18
18
  const newLength = pickToTarget.magnitued * percentChange;
19
- pickToTarget.setLength(newLength);
20
- const newTargetPos = this.pickPoint.add(pickToTarget);
19
+ pickToTarget = ValueObjects_1.Vector3.newVectorOfLength(pickToTarget, newLength);
20
+ const newTargetPos = ValueObjects_1.Vector3.add(this.pickPoint, pickToTarget);
21
21
  this.focusCamera.target = newTargetPos;
22
22
  }
23
23
  this.previousPixelPosition = pixelPosition;
@@ -1,4 +1,5 @@
1
- import { FocusCamera, Vector2, Vector3 } from "../../Entities";
1
+ import { FocusCamera } from "../../Entities";
2
+ import { Vector2, Vector3 } from "../../ValueObjects";
2
3
  export declare class PixelOrbitFocusCamera {
3
4
  private focusCamera;
4
5
  sensitivity: number;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PixelOrbitFocusCamera = void 0;
4
+ const ValueObjects_1 = require("../../ValueObjects");
4
5
  class PixelOrbitFocusCamera {
5
6
  constructor(focusCamera) {
6
7
  this.focusCamera = focusCamera;
@@ -9,7 +10,7 @@ class PixelOrbitFocusCamera {
9
10
  if (!this.previousPixelPos) {
10
11
  throw new Error("[PixelOrbitFocusCamera] You must initialize first!");
11
12
  }
12
- const pixelChange = pixelPosition.subtract(this.previousPixelPos);
13
+ const pixelChange = ValueObjects_1.Vector2.subtract(pixelPosition, this.previousPixelPos);
13
14
  this.focusCamera.alpha += pixelChange.x * this.sensitivity;
14
15
  this.focusCamera.beta += pixelChange.y * this.sensitivity;
15
16
  this.previousPixelPos = pixelPosition;
@@ -1,4 +1,5 @@
1
- import { Babylon, FocusCamera, ParametricPlane, Vector2 } from "../../Entities";
1
+ import { Babylon, FocusCamera } from "../../Entities";
2
+ import { ParametricPlane, Vector2 } from "../../ValueObjects";
2
3
  export declare class PixelPlanePanFocusCamera {
3
4
  private focusCamera;
4
5
  private babylon;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PixelPlanePanFocusCamera = void 0;
4
- const Entities_1 = require("../../Entities");
4
+ const ValueObjects_1 = require("../../ValueObjects");
5
5
  class PixelPlanePanFocusCamera {
6
6
  constructor(focusCamera, babylon) {
7
7
  this.focusCamera = focusCamera;
@@ -16,10 +16,10 @@ class PixelPlanePanFocusCamera {
16
16
  const p2 = this.plane.intersectLine(finalRay);
17
17
  if (!p1 || !p2)
18
18
  return;
19
- const delta = p2.subtract(p1);
19
+ const delta = ValueObjects_1.Vector3.subtract(p2, p1);
20
20
  const currentTarget = this.focusCamera.target;
21
- const newTarget = new Entities_1.Vector3(currentTarget.x - delta.x, currentTarget.y - delta.y, currentTarget.z - delta.z);
22
- this.focusCamera.target = new Entities_1.Vector3(newTarget.x, newTarget.y, newTarget.z);
21
+ const newTarget = new ValueObjects_1.Vector3(currentTarget.x - delta.x, currentTarget.y - delta.y, currentTarget.z - delta.z);
22
+ this.focusCamera.target = new ValueObjects_1.Vector3(newTarget.x, newTarget.y, newTarget.z);
23
23
  this.previousPixelPos = pixelPosition;
24
24
  };
25
25
  this.initializePan = (initialPixelPos, panPlane) => {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SerializeFocusCamera = void 0;
4
4
  const _1 = require(".");
5
- const Entities_1 = require("../../Entities");
5
+ const ValueObjects_1 = require("../../ValueObjects");
6
6
  class SerializeFocusCamera {
7
7
  constructor(focusCamera, stateMachine) {
8
8
  this.name = "focusCamera";
@@ -52,7 +52,7 @@ class SerializeFocusCamera {
52
52
  }
53
53
  applyV1Data(data, transitionTime) {
54
54
  const { alpha, beta, radius, target_x, target_y, target_z } = data;
55
- const target = new Entities_1.Vector3(target_x, target_y, target_z);
55
+ const target = new ValueObjects_1.Vector3(target_x, target_y, target_z);
56
56
  if (transitionTime === 0) {
57
57
  this.applyImmediate(alpha, beta, radius, target);
58
58
  }
@@ -0,0 +1,4 @@
1
+ export declare function inchesToMeters(inches: number): number;
2
+ export declare function metersToInches(meters: number): number;
3
+ export declare function feetToMeters(feet: number): number;
4
+ export declare function metersToFeet(meters: number): number;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.metersToFeet = exports.feetToMeters = exports.metersToInches = exports.inchesToMeters = void 0;
4
+ const inchesPerMeter = 39.3701;
5
+ const feetPerMeter = 3.28084;
6
+ function inchesToMeters(inches) {
7
+ return inches / inchesPerMeter;
8
+ }
9
+ exports.inchesToMeters = inchesToMeters;
10
+ function metersToInches(meters) {
11
+ return meters * inchesPerMeter;
12
+ }
13
+ exports.metersToInches = metersToInches;
14
+ function feetToMeters(feet) {
15
+ return feet / feetPerMeter;
16
+ }
17
+ exports.feetToMeters = feetToMeters;
18
+ function metersToFeet(meters) {
19
+ return meters * feetPerMeter;
20
+ }
21
+ exports.metersToFeet = metersToFeet;
@@ -1 +1,2 @@
1
1
  export * from "./degreesToRadians";
2
+ export * from "./LengthConverters";
@@ -11,3 +11,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./degreesToRadians"), exports);
14
+ __exportStar(require("./LengthConverters"), exports);
@@ -0,0 +1,8 @@
1
+ export declare class Angle {
2
+ static fromDegrees(degrees: number): Angle;
3
+ static fromRadians(radians: number): Angle;
4
+ private _degrees;
5
+ get degrees(): number;
6
+ get radians(): number;
7
+ private constructor();
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Angle = void 0;
4
+ class Angle {
5
+ constructor(degrees) {
6
+ this._degrees = 0;
7
+ this._degrees = degrees;
8
+ }
9
+ static fromDegrees(degrees) {
10
+ return new Angle(degrees);
11
+ }
12
+ static fromRadians(radians) {
13
+ return new Angle(radians * 180 / Math.PI);
14
+ }
15
+ get degrees() {
16
+ return this._degrees;
17
+ }
18
+ get radians() {
19
+ return this._degrees * Math.PI / 180;
20
+ }
21
+ }
22
+ exports.Angle = Angle;
@@ -0,0 +1,23 @@
1
+ export declare type BasicColor = "";
2
+ export declare class Color {
3
+ static RGBA(r: number, g: number, b: number, a: number): Color;
4
+ static RGB(r: number, g: number, b: number): Color;
5
+ static Hex(hex: string): Color;
6
+ static X11(name: string): Color;
7
+ static Equal(a: Color, b: Color): boolean;
8
+ private _r;
9
+ private _g;
10
+ private _b;
11
+ private _a;
12
+ get r(): number;
13
+ get g(): number;
14
+ get b(): number;
15
+ get a(): number;
16
+ get rPercent(): number;
17
+ get gPercent(): number;
18
+ get bPercent(): number;
19
+ get aPercent(): number;
20
+ get array(): [number, number, number, number];
21
+ private clampVal;
22
+ private constructor();
23
+ }