@vived/app 4.25.0 → 4.26.1

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 (96) hide show
  1. package/lib/Components/ChannelModel/Adapters/index.d.ts +1 -0
  2. package/lib/Components/ChannelModel/Adapters/index.js +1 -0
  3. package/lib/Components/ChannelModel/Adapters/modelHasLandmarksAdapter.d.ts +2 -0
  4. package/lib/Components/ChannelModel/Adapters/modelHasLandmarksAdapter.js +27 -0
  5. package/lib/Components/ChannelModel/Mocks/ModelHasLandmarksPmMock.d.ts +7 -0
  6. package/lib/Components/ChannelModel/Mocks/ModelHasLandmarksPmMock.js +11 -0
  7. package/lib/Components/ChannelModel/Mocks/index.d.ts +1 -0
  8. package/lib/Components/ChannelModel/Mocks/index.js +1 -0
  9. package/lib/Components/ChannelModel/PMs/ModelHasLandmarksPM.d.ts +6 -0
  10. package/lib/Components/ChannelModel/PMs/ModelHasLandmarksPM.js +56 -0
  11. package/lib/Components/ChannelModel/PMs/index.d.ts +1 -0
  12. package/lib/Components/ChannelModel/PMs/index.js +1 -0
  13. package/lib/Components/Hideable/Adapters/isHiddenAdapter.js +2 -4
  14. package/lib/Components/Label/Adapters/labelAdapter.js +2 -4
  15. package/lib/Components/Landmarks/Adapters/index.d.ts +2 -0
  16. package/lib/Components/Landmarks/Adapters/index.js +14 -0
  17. package/lib/Components/Landmarks/Adapters/landmarkListAdapter.d.ts +2 -0
  18. package/lib/Components/Landmarks/Adapters/landmarkListAdapter.js +25 -0
  19. package/lib/Components/Landmarks/Adapters/landmarkSizeAdapter.d.ts +2 -0
  20. package/lib/Components/Landmarks/Adapters/landmarkSizeAdapter.js +23 -0
  21. package/lib/Components/Landmarks/Controller/MouseLandmark.d.ts +3 -13
  22. package/lib/Components/Landmarks/Controller/MouseLandmark.js +8 -16
  23. package/lib/Components/Landmarks/Controller/SubmitLandmarkSize.d.ts +1 -1
  24. package/lib/Components/Landmarks/Controller/SubmitLandmarkSize.js +2 -8
  25. package/lib/Components/Landmarks/Controller/TouchLandmark.d.ts +2 -12
  26. package/lib/Components/Landmarks/Controller/TouchLandmark.js +12 -19
  27. package/lib/Components/Landmarks/Controller/UpdateLandmarkSize.d.ts +1 -1
  28. package/lib/Components/Landmarks/Controller/UpdateLandmarkSize.js +3 -9
  29. package/lib/Components/Landmarks/Controller/deleteAllLandmarks.d.ts +2 -0
  30. package/lib/Components/Landmarks/Controller/deleteAllLandmarks.js +13 -0
  31. package/lib/Components/Landmarks/Controller/deleteLandmark.d.ts +2 -0
  32. package/lib/Components/Landmarks/Controller/deleteLandmark.js +14 -0
  33. package/lib/Components/Landmarks/Controller/index.d.ts +2 -1
  34. package/lib/Components/Landmarks/Controller/index.js +2 -1
  35. package/lib/Components/Landmarks/Controller/submitLandmarkSizeX.d.ts +2 -0
  36. package/lib/Components/Landmarks/Controller/submitLandmarkSizeX.js +19 -0
  37. package/lib/Components/Landmarks/Controller/updateLandmarkSizeX.d.ts +2 -0
  38. package/lib/Components/Landmarks/Controller/updateLandmarkSizeX.js +19 -0
  39. package/lib/Components/Landmarks/Entities/LandmarkEntity.d.ts +5 -3
  40. package/lib/Components/Landmarks/Entities/LandmarkEntity.js +18 -6
  41. package/lib/Components/Landmarks/Entities/LandmarkGlobals.d.ts +2 -3
  42. package/lib/Components/Landmarks/Entities/LandmarkGlobals.js +5 -10
  43. package/lib/Components/Landmarks/Entities/LandmarkRepo.d.ts +7 -1
  44. package/lib/Components/Landmarks/Entities/LandmarkRepo.js +26 -4
  45. package/lib/Components/Landmarks/Mocks/DeleteAllLandmarksUcMock.d.ts +8 -0
  46. package/lib/Components/Landmarks/Mocks/DeleteAllLandmarksUcMock.js +15 -0
  47. package/lib/Components/Landmarks/Mocks/DeleteLandmarkUcMock.d.ts +7 -0
  48. package/lib/Components/Landmarks/Mocks/DeleteLandmarkUcMock.js +11 -0
  49. package/lib/Components/Landmarks/Mocks/LandmarkListPmMock.d.ts +7 -0
  50. package/lib/Components/Landmarks/Mocks/LandmarkListPmMock.js +11 -0
  51. package/lib/Components/Landmarks/Mocks/LandmarkSizePmMock.d.ts +7 -0
  52. package/lib/Components/Landmarks/Mocks/LandmarkSizePmMock.js +11 -0
  53. package/lib/Components/Landmarks/Mocks/MockLandmark.d.ts +3 -1
  54. package/lib/Components/Landmarks/Mocks/MockLandmark.js +9 -0
  55. package/lib/Components/Landmarks/Mocks/MockTryAddNewLandmarkUC.d.ts +10 -0
  56. package/lib/Components/Landmarks/Mocks/MockTryAddNewLandmarkUC.js +17 -0
  57. package/lib/Components/Landmarks/Mocks/MockTryPreviewLandmarkUC.d.ts +10 -0
  58. package/lib/Components/Landmarks/Mocks/MockTryPreviewLandmarkUC.js +17 -0
  59. package/lib/Components/Landmarks/Mocks/SetLandmarkSizeUcMark.d.ts +8 -0
  60. package/lib/Components/Landmarks/Mocks/SetLandmarkSizeUcMark.js +12 -0
  61. package/lib/Components/Landmarks/Mocks/index.d.ts +6 -0
  62. package/lib/Components/Landmarks/Mocks/index.js +18 -0
  63. package/lib/Components/Landmarks/Mocks/makeLandmarkDTO.d.ts +2 -0
  64. package/lib/Components/Landmarks/Mocks/makeLandmarkDTO.js +20 -0
  65. package/lib/Components/Landmarks/PM/LandmarkListPM.d.ts +4 -8
  66. package/lib/Components/Landmarks/PM/LandmarkListPM.js +19 -26
  67. package/lib/Components/Landmarks/PM/LandmarkSizePM.d.ts +4 -8
  68. package/lib/Components/Landmarks/PM/LandmarkSizePM.js +19 -20
  69. package/lib/Components/Landmarks/UseCases/AddLandmarkUndoRedo.d.ts +4 -6
  70. package/lib/Components/Landmarks/UseCases/AddLandmarkUndoRedo.js +14 -27
  71. package/lib/Components/Landmarks/UseCases/DeleteAllLandmarksUC.d.ts +7 -0
  72. package/lib/Components/Landmarks/UseCases/DeleteAllLandmarksUC.js +35 -0
  73. package/lib/Components/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.d.ts +10 -0
  74. package/lib/Components/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.js +37 -0
  75. package/lib/Components/Landmarks/UseCases/DeleteLandmarkUC.d.ts +5 -6
  76. package/lib/Components/Landmarks/UseCases/DeleteLandmarkUC.js +24 -34
  77. package/lib/Components/Landmarks/UseCases/DeleteLandmarkUndoRedo.d.ts +4 -6
  78. package/lib/Components/Landmarks/UseCases/DeleteLandmarkUndoRedo.js +14 -27
  79. package/lib/Components/Landmarks/UseCases/SerializeLandmarks.d.ts +2 -0
  80. package/lib/Components/Landmarks/UseCases/SerializeLandmarks.js +27 -40
  81. package/lib/Components/Landmarks/UseCases/SetLandmarkSizeUC.d.ts +6 -9
  82. package/lib/Components/Landmarks/UseCases/SetLandmarkSizeUC.js +33 -27
  83. package/lib/Components/Landmarks/UseCases/SetLandmarkSizeUndoRedo.d.ts +10 -6
  84. package/lib/Components/Landmarks/UseCases/SetLandmarkSizeUndoRedo.js +11 -20
  85. package/lib/Components/Landmarks/UseCases/TryAddNewLandmarkUC.d.ts +1 -0
  86. package/lib/Components/Landmarks/UseCases/TryAddNewLandmarkUC.js +22 -18
  87. package/lib/Components/Landmarks/UseCases/TryPreviewLandmarkUC.d.ts +3 -8
  88. package/lib/Components/Landmarks/UseCases/TryPreviewLandmarkUC.js +17 -18
  89. package/lib/Components/Landmarks/UseCases/index.d.ts +1 -1
  90. package/lib/Components/Landmarks/UseCases/index.js +1 -1
  91. package/lib/Components/Landmarks/index.d.ts +2 -0
  92. package/lib/Components/Landmarks/index.js +2 -0
  93. package/lib/Components/OverlayColor/Adapters/overlayColorAdapter.js +2 -4
  94. package/lib/Components/Selection/Adapters/selectableStateAdapter.js +2 -4
  95. package/lib/Components/Transform3D/Adapters/transform3dAdapter.js +2 -4
  96. package/package.json +1 -1
@@ -2,4 +2,5 @@ export * from "./activeModelAdapter";
2
2
  export * from "./activeModelObjectListAdapter";
3
3
  export * from "./channelModelAdapter";
4
4
  export * from "./channelModelObjectAdapter";
5
+ export * from "./modelHasLandmarksAdapter";
5
6
  export * from "./modelObjectsAreHiddenAdapter";
@@ -14,4 +14,5 @@ __exportStar(require("./activeModelAdapter"), exports);
14
14
  __exportStar(require("./activeModelObjectListAdapter"), exports);
15
15
  __exportStar(require("./channelModelAdapter"), exports);
16
16
  __exportStar(require("./channelModelObjectAdapter"), exports);
17
+ __exportStar(require("./modelHasLandmarksAdapter"), exports);
17
18
  __exportStar(require("./modelObjectsAreHiddenAdapter"), exports);
@@ -0,0 +1,2 @@
1
+ import { PmAdapter } from "../../../Types/PmAdapter";
2
+ export declare const modelHasLandmarksAdapter: PmAdapter<boolean>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.modelHasLandmarksAdapter = void 0;
4
+ const ModelHasLandmarksPM_1 = require("../PMs/ModelHasLandmarksPM");
5
+ exports.modelHasLandmarksAdapter = {
6
+ defaultVM: false,
7
+ subscribe: (id, appObjects, setVM) => {
8
+ if (!id)
9
+ return;
10
+ const pm = ModelHasLandmarksPM_1.ModelHasLandmarksPM.get(id, appObjects);
11
+ if (!pm) {
12
+ appObjects.submitError("modelHasLandmarksAdapter", "Unable to find ModelHasLandmarksPM");
13
+ return;
14
+ }
15
+ pm.addView(setVM);
16
+ },
17
+ unsubscribe: (id, appObjects, setVM) => {
18
+ if (!id)
19
+ return;
20
+ const pm = ModelHasLandmarksPM_1.ModelHasLandmarksPM.get(id, appObjects);
21
+ if (!pm) {
22
+ appObjects.submitError("modelHasLandmarksAdapter", "Unable to find ModelHasLandmarksPM");
23
+ return;
24
+ }
25
+ pm.removeView(setVM);
26
+ },
27
+ };
@@ -0,0 +1,7 @@
1
+ /// <reference types="jest" />
2
+ import { AppObject } from "../../../AppObject";
3
+ import { ModelHasLandmarksPM } from "../PMs/ModelHasLandmarksPM";
4
+ export declare class ModelHasLandmarksPmMock extends ModelHasLandmarksPM {
5
+ vmsAreEqual: jest.Mock<any, any>;
6
+ constructor(appObject: AppObject);
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelHasLandmarksPmMock = void 0;
4
+ const ModelHasLandmarksPM_1 = require("../PMs/ModelHasLandmarksPM");
5
+ class ModelHasLandmarksPmMock extends ModelHasLandmarksPM_1.ModelHasLandmarksPM {
6
+ constructor(appObject) {
7
+ super(appObject, ModelHasLandmarksPM_1.ModelHasLandmarksPM.type);
8
+ this.vmsAreEqual = jest.fn();
9
+ }
10
+ }
11
+ exports.ModelHasLandmarksPmMock = ModelHasLandmarksPmMock;
@@ -4,6 +4,7 @@ export * from "./ChannelModelObjectPMMock";
4
4
  export * from "./ChannelModelPMMock";
5
5
  export * from "./ChannelModelViewFactoryMock";
6
6
  export * from "./LoadChannelModelMock";
7
+ export * from "./ModelHasLandmarksPmMock";
7
8
  export * from "./ModelObjectsAreHiddenPMMock";
8
9
  export * from "./SelectChannelModelUCMock";
9
10
  export * from "./UnhideAllChannelModelObjectsUCMock";
@@ -16,6 +16,7 @@ __exportStar(require("./ChannelModelObjectPMMock"), exports);
16
16
  __exportStar(require("./ChannelModelPMMock"), exports);
17
17
  __exportStar(require("./ChannelModelViewFactoryMock"), exports);
18
18
  __exportStar(require("./LoadChannelModelMock"), exports);
19
+ __exportStar(require("./ModelHasLandmarksPmMock"), exports);
19
20
  __exportStar(require("./ModelObjectsAreHiddenPMMock"), exports);
20
21
  __exportStar(require("./SelectChannelModelUCMock"), exports);
21
22
  __exportStar(require("./UnhideAllChannelModelObjectsUCMock"), exports);
@@ -0,0 +1,6 @@
1
+ import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
+ export declare abstract class ModelHasLandmarksPM extends AppObjectPM<boolean> {
3
+ static readonly type = "ModelHasLandmarksPM";
4
+ static get(appObjID: string, appObjects: AppObjectRepo): ModelHasLandmarksPM | undefined;
5
+ }
6
+ export declare function makeModelHasLandmarksPM(appObject: AppObject): ModelHasLandmarksPM;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeModelHasLandmarksPM = exports.ModelHasLandmarksPM = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const Landmarks_1 = require("../../Landmarks");
6
+ const ChannelModel_1 = require("../Entities/ChannelModel");
7
+ class ModelHasLandmarksPM extends AppObject_1.AppObjectPM {
8
+ static get(appObjID, appObjects) {
9
+ var _a;
10
+ return (_a = appObjects
11
+ .get(appObjID)) === null || _a === void 0 ? void 0 : _a.getComponent(ModelHasLandmarksPM.type);
12
+ }
13
+ }
14
+ exports.ModelHasLandmarksPM = ModelHasLandmarksPM;
15
+ ModelHasLandmarksPM.type = "ModelHasLandmarksPM";
16
+ function makeModelHasLandmarksPM(appObject) {
17
+ return new ModelHasLandmarksPMImp(appObject);
18
+ }
19
+ exports.makeModelHasLandmarksPM = makeModelHasLandmarksPM;
20
+ class ModelHasLandmarksPMImp extends ModelHasLandmarksPM {
21
+ constructor(appObject) {
22
+ super(appObject, ModelHasLandmarksPM.type);
23
+ this.onRepoChange = () => {
24
+ if (!this.channelModel)
25
+ return;
26
+ let hasLandmark = false;
27
+ this.channelModel.modelObjects().forEach((obj) => {
28
+ if (hasLandmark)
29
+ return;
30
+ const repo = obj.appObject.getComponent(Landmarks_1.LandmarkRepo.type);
31
+ if (repo && repo.getAll().length > 0) {
32
+ hasLandmark = true;
33
+ }
34
+ });
35
+ this.doUpdateView(hasLandmark);
36
+ };
37
+ this.dispose = () => {
38
+ var _a;
39
+ super.dispose();
40
+ (_a = this.channelModel) === null || _a === void 0 ? void 0 : _a.removeChangeObserver(this.onRepoChange);
41
+ };
42
+ if (this.channelModel) {
43
+ this.channelModel.addChangeObserver(this.onRepoChange);
44
+ this.onRepoChange();
45
+ }
46
+ else {
47
+ this.error("App Object does not have a ChannelModelEntity");
48
+ }
49
+ }
50
+ get channelModel() {
51
+ return this.getCachedLocalComponent(ChannelModel_1.ChannelModelEntity.type);
52
+ }
53
+ vmsAreEqual(a, b) {
54
+ return a === b;
55
+ }
56
+ }
@@ -2,4 +2,5 @@ export * from "./ActiveModelObjectListPM";
2
2
  export * from "./ActiveModelPM";
3
3
  export * from "./ChannelModelObjectPM";
4
4
  export * from "./ChannelModelPM";
5
+ export * from "./ModelHasLandmarksPM";
5
6
  export * from "./ModelObjectsAreHiddenPM";
@@ -14,4 +14,5 @@ __exportStar(require("./ActiveModelObjectListPM"), exports);
14
14
  __exportStar(require("./ActiveModelPM"), exports);
15
15
  __exportStar(require("./ChannelModelObjectPM"), exports);
16
16
  __exportStar(require("./ChannelModelPM"), exports);
17
+ __exportStar(require("./ModelHasLandmarksPM"), exports);
17
18
  __exportStar(require("./ModelObjectsAreHiddenPM"), exports);
@@ -14,10 +14,8 @@ exports.isHiddenAdapter = {
14
14
  },
15
15
  unsubscribe: (id, appObjects, setVM) => {
16
16
  const pm = IsHiddenPM_1.IsHiddenPM.get(id, appObjects);
17
- if (!pm) {
18
- appObjects.submitError("isHiddenAdapter", "Unable to find PM");
19
- return;
17
+ if (pm) {
18
+ pm.removeView(setVM);
20
19
  }
21
- pm.removeView(setVM);
22
20
  },
23
21
  };
@@ -14,10 +14,8 @@ exports.labelAdapter = {
14
14
  },
15
15
  unsubscribe: (id, appObjects, setVM) => {
16
16
  const pm = LabelPM_1.LabelPM.getForID(id, appObjects);
17
- if (!pm) {
18
- appObjects.submitError("labelAdapter", "Unable to find LabelPM");
19
- return;
17
+ if (pm) {
18
+ pm.removeView(setVM);
20
19
  }
21
- pm.removeView(setVM);
22
20
  },
23
21
  };
@@ -0,0 +1,2 @@
1
+ export * from "./landmarkListAdapter";
2
+ export * from "./landmarkSizeAdapter";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./landmarkListAdapter"), exports);
14
+ __exportStar(require("./landmarkSizeAdapter"), exports);
@@ -0,0 +1,2 @@
1
+ import { PmAdapter } from "../../../Types";
2
+ export declare const landmarkListAdapter: PmAdapter<string[]>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.landmarkListAdapter = void 0;
4
+ const LandmarkListPM_1 = require("../PM/LandmarkListPM");
5
+ exports.landmarkListAdapter = {
6
+ defaultVM: [],
7
+ subscribe: (id, appObjects, setVM) => {
8
+ if (!id)
9
+ return;
10
+ const pm = LandmarkListPM_1.LandmarkListPM.get(id, appObjects);
11
+ if (!pm) {
12
+ appObjects.submitError("landmarkListAdapter", "Unable to find LandmarkListPM");
13
+ return;
14
+ }
15
+ pm.addView(setVM);
16
+ },
17
+ unsubscribe: (id, appObjects, setVM) => {
18
+ const pm = LandmarkListPM_1.LandmarkListPM.get(id, appObjects);
19
+ if (!pm) {
20
+ appObjects.submitError("landmarkListAdapter", "Unable to find LandmarkListPM");
21
+ return;
22
+ }
23
+ pm.removeView(setVM);
24
+ },
25
+ };
@@ -0,0 +1,2 @@
1
+ import { PmAdapter } from "../../../Types";
2
+ export declare const landmarkSizeAdapter: PmAdapter<number>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.landmarkSizeAdapter = void 0;
4
+ const LandmarkSizePM_1 = require("../PM/LandmarkSizePM");
5
+ exports.landmarkSizeAdapter = {
6
+ defaultVM: 1,
7
+ subscribe: (id, appObjects, setVM) => {
8
+ if (!id)
9
+ return;
10
+ const pm = LandmarkSizePM_1.LandmarkSizePM.get(id, appObjects);
11
+ if (!pm) {
12
+ appObjects.submitError("landmarkSizeAdapter", "Unable to find LandmarkSizePM");
13
+ return;
14
+ }
15
+ pm.addView(setVM);
16
+ },
17
+ unsubscribe: (id, appObjects, setVM) => {
18
+ const pm = LandmarkSizePM_1.LandmarkSizePM.get(id, appObjects);
19
+ if (pm) {
20
+ pm.removeView(setVM);
21
+ }
22
+ },
23
+ };
@@ -6,17 +6,7 @@ export declare abstract class MouseLandmark extends AppObjectController implemen
6
6
  pressed: boolean;
7
7
  abstract onMove: (e: MouseInputEvent) => void;
8
8
  abstract onDown: (e: MouseInputEvent) => void;
9
+ abstract onUp: (e: MouseInputEvent) => void;
10
+ abstract allow: (e: MouseInputEvent) => boolean;
9
11
  }
10
- export declare function makeMouseLandmark(appObject: AppObject): MouseLandmarkImp;
11
- declare class MouseLandmarkImp extends MouseLandmark {
12
- addingLandmark: boolean;
13
- pressed: boolean;
14
- private tryPreviewLandmarkUc?;
15
- private tryAddLandmarkUc?;
16
- allow: (e: MouseInputEvent) => boolean;
17
- onMove: (e: MouseInputEvent) => void;
18
- onDown: (e: MouseInputEvent) => void;
19
- onUp: (e: MouseInputEvent) => void;
20
- constructor(appObject: AppObject);
21
- }
22
- export {};
12
+ export declare function makeMouseLandmark(appObject: AppObject): MouseLandmark;
@@ -4,7 +4,6 @@ exports.makeMouseLandmark = exports.MouseLandmark = void 0;
4
4
  const AppObject_1 = require("../../../AppObject");
5
5
  const Babylon_1 = require("../../Babylon");
6
6
  const MouseInput_1 = require("../../MouseInput");
7
- const LandmarkGlobals_1 = require("../Entities/LandmarkGlobals");
8
7
  const TryAddNewLandmarkUC_1 = require("../UseCases/TryAddNewLandmarkUC");
9
8
  const TryPreviewLandmarkUC_1 = require("../UseCases/TryPreviewLandmarkUC");
10
9
  class MouseLandmark extends AppObject_1.AppObjectController {
@@ -53,33 +52,20 @@ class MouseLandmarkImp extends MouseLandmark {
53
52
  this.pressed = true;
54
53
  };
55
54
  this.onUp = (e) => {
56
- var _a;
57
55
  if (!this.allow(e))
58
56
  return;
59
57
  if (!this.addingLandmark)
60
58
  return;
61
59
  if (!this.tryAddLandmarkUc)
62
60
  return;
63
- const landmarkPreview = (_a = this.appObject.getComponent(LandmarkGlobals_1.LandmarkGlobals.type)) === null || _a === void 0 ? void 0 : _a.previewLandmark;
64
- if (!landmarkPreview) {
61
+ if (!this.tryPreviewLandmarkUc)
65
62
  return;
66
- }
67
63
  const ray = Babylon_1.pixelToSceneRay(e.position, this.appObjects);
68
64
  this.tryAddLandmarkUc.addFromRay(ray);
69
- landmarkPreview.hideable.isHidden = true;
65
+ this.tryPreviewLandmarkUc.hidePreview();
70
66
  this.addingLandmark = false;
71
67
  this.pressed = false;
72
68
  };
73
- this.tryPreviewLandmarkUc = TryPreviewLandmarkUC_1.TryPreviewLandmarkUC.get(appObject);
74
- if (!this.tryPreviewLandmarkUc) {
75
- this.warn("Unable to find TryPreviewLandmarkUC");
76
- return;
77
- }
78
- this.tryAddLandmarkUc = TryAddNewLandmarkUC_1.TryAddNewLandmarkUC.get(appObject);
79
- if (!this.tryAddLandmarkUc) {
80
- this.warn("Unable to find TryAddNewLandmarkUC");
81
- return;
82
- }
83
69
  const mouseInput = MouseInput_1.MouseInputEntity.get(this.appObjects);
84
70
  if (mouseInput) {
85
71
  mouseInput.registerController(this);
@@ -88,4 +74,10 @@ class MouseLandmarkImp extends MouseLandmark {
88
74
  this.warn("Unable to find MouseInputEntity");
89
75
  }
90
76
  }
77
+ get tryPreviewLandmarkUc() {
78
+ return this.getCachedSingleton(TryPreviewLandmarkUC_1.TryPreviewLandmarkUC.type);
79
+ }
80
+ get tryAddLandmarkUc() {
81
+ return this.getCachedSingleton(TryAddNewLandmarkUC_1.TryAddNewLandmarkUC.type);
82
+ }
91
83
  }
@@ -1,2 +1,2 @@
1
1
  import { AppObjectRepo } from "../../../AppObject";
2
- export declare function submitLandmarkSize(size: number, appObjectId: string, appObjects: AppObjectRepo): void;
2
+ export declare function submitLandmarkSize(size: number, id: string, appObjects: AppObjectRepo): void;
@@ -1,15 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.submitLandmarkSize = void 0;
4
- const LandmarkEntity_1 = require("../Entities/LandmarkEntity");
5
4
  const SetLandmarkSizeUC_1 = require("../UseCases/SetLandmarkSizeUC");
6
- function submitLandmarkSize(size, appObjectId, appObjects) {
7
- const landmarkEntity = appObjects.getAppObjectComponent(appObjectId, LandmarkEntity_1.LandmarkEntity.type);
8
- if (!landmarkEntity) {
9
- appObjects.submitWarning("SubmitLandmarkSizeController", "LandmarkEntity App Object was not added.");
10
- return;
11
- }
12
- const setLandmarkSizeUC = appObjects.getAppObjectComponent(appObjectId, SetLandmarkSizeUC_1.SetLandmarkSizeUC.type);
5
+ function submitLandmarkSize(size, id, appObjects) {
6
+ const setLandmarkSizeUC = SetLandmarkSizeUC_1.SetLandmarkSizeUC.getById(id, appObjects);
13
7
  if (!setLandmarkSizeUC) {
14
8
  appObjects.submitWarning("SubmitLandmarkSizeController", "SetLandmarkSizeUC App Object was not added.");
15
9
  return;
@@ -5,16 +5,6 @@ export declare abstract class TouchLandmark extends AppObjectController implemen
5
5
  abstract onTouchStart(e: TouchInputEvent): void;
6
6
  abstract onTouchMove(e: TouchInputEvent): void;
7
7
  abstract onTouchEnd(e: TouchInputEvent): void;
8
+ abstract allow: (e: TouchInputEvent) => boolean;
8
9
  }
9
- export declare function makeTouchLandmark(appObject: AppObject): TouchLandmarkImp;
10
- declare class TouchLandmarkImp extends TouchLandmark {
11
- private lastTouch;
12
- private tryPreviewLandmarkUc?;
13
- private tryAddLandmarkUc?;
14
- allow: (e: TouchInputEvent) => boolean;
15
- onTouchStart: (e: TouchInputEvent) => void;
16
- onTouchMove: (e: TouchInputEvent) => void;
17
- onTouchEnd: (e: TouchInputEvent) => void;
18
- constructor(appObject: AppObject);
19
- }
20
- export {};
10
+ export declare function makeTouchLandmark(appObject: AppObject): TouchLandmark;
@@ -5,7 +5,6 @@ const AppObject_1 = require("../../../AppObject");
5
5
  const ValueObjects_1 = require("../../../ValueObjects");
6
6
  const Babylon_1 = require("../../Babylon");
7
7
  const TouchController_1 = require("../../TouchController");
8
- const LandmarkGlobals_1 = require("../Entities/LandmarkGlobals");
9
8
  const TryAddNewLandmarkUC_1 = require("../UseCases/TryAddNewLandmarkUC");
10
9
  const TryPreviewLandmarkUC_1 = require("../UseCases/TryPreviewLandmarkUC");
11
10
  class TouchLandmark extends AppObject_1.AppObjectController {
@@ -21,13 +20,14 @@ class TouchLandmarkImp extends TouchLandmark {
21
20
  super(appObject, TouchLandmark.type);
22
21
  this.lastTouch = ValueObjects_1.Vector2.Zero();
23
22
  this.allow = (e) => {
24
- return true;
23
+ if (e.touches.length === 1) {
24
+ return true;
25
+ }
26
+ return false;
25
27
  };
26
28
  this.onTouchStart = (e) => {
27
29
  if (!this.allow(e))
28
30
  return;
29
- if (e.touchCount > 1)
30
- return;
31
31
  if (!this.tryPreviewLandmarkUc)
32
32
  return;
33
33
  const position = e.touches[0].position;
@@ -48,31 +48,18 @@ class TouchLandmarkImp extends TouchLandmark {
48
48
  this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, true);
49
49
  };
50
50
  this.onTouchEnd = (e) => {
51
- var _a;
52
51
  if (!this.allow(e))
53
52
  return;
54
53
  if (e.touchCount > 1)
55
54
  return;
56
55
  if (!this.tryAddLandmarkUc)
57
56
  return;
58
- const landmarkPreview = (_a = this.appObject.getComponent(LandmarkGlobals_1.LandmarkGlobals.type)) === null || _a === void 0 ? void 0 : _a.previewLandmark;
59
- if (!landmarkPreview) {
57
+ if (!this.tryPreviewLandmarkUc)
60
58
  return;
61
- }
62
59
  const ray = Babylon_1.pixelToSceneRay(this.lastTouch, this.appObjects);
63
60
  this.tryAddLandmarkUc.addFromRay(ray);
64
- landmarkPreview.hideable.isHidden = true;
61
+ this.tryPreviewLandmarkUc.hidePreview();
65
62
  };
66
- this.tryPreviewLandmarkUc = TryPreviewLandmarkUC_1.TryPreviewLandmarkUC.get(appObject);
67
- if (!this.tryPreviewLandmarkUc) {
68
- this.warn("Unable to find TryPreviewLandmarkUC");
69
- return;
70
- }
71
- this.tryAddLandmarkUc = TryAddNewLandmarkUC_1.TryAddNewLandmarkUC.get(appObject);
72
- if (!this.tryAddLandmarkUc) {
73
- this.warn("Unable to find TryAddNewLandmarkUC");
74
- return;
75
- }
76
63
  const touchInput = TouchController_1.TouchInputEntity.get(this.appObjects);
77
64
  if (touchInput) {
78
65
  touchInput.registerController(this);
@@ -81,4 +68,10 @@ class TouchLandmarkImp extends TouchLandmark {
81
68
  this.warn("Unable to find TouchInputEntity");
82
69
  }
83
70
  }
71
+ get tryPreviewLandmarkUc() {
72
+ return this.getCachedSingleton(TryPreviewLandmarkUC_1.TryPreviewLandmarkUC.type);
73
+ }
74
+ get tryAddLandmarkUc() {
75
+ return this.getCachedSingleton(TryAddNewLandmarkUC_1.TryAddNewLandmarkUC.type);
76
+ }
84
77
  }
@@ -1,2 +1,2 @@
1
1
  import { AppObjectRepo } from "../../../AppObject";
2
- export declare function updateLandmarkSize(size: number, appObjectId: string, appObjects: AppObjectRepo): void;
2
+ export declare function updateLandmarkSize(size: number, id: string, appObjects: AppObjectRepo): void;
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateLandmarkSize = void 0;
4
- const LandmarkEntity_1 = require("../Entities/LandmarkEntity");
5
4
  const SetLandmarkSizeUC_1 = require("../UseCases/SetLandmarkSizeUC");
6
- function updateLandmarkSize(size, appObjectId, appObjects) {
7
- const landmarkEntity = appObjects.getAppObjectComponent(appObjectId, LandmarkEntity_1.LandmarkEntity.type);
8
- if (!landmarkEntity) {
9
- appObjects.submitWarning("UpdateLandmarkSizeController", "LandmarkEntity App Object was not added.");
10
- return;
11
- }
12
- const setLandmarkSizeUC = appObjects.getAppObjectComponent(appObjectId, SetLandmarkSizeUC_1.SetLandmarkSizeUC.type);
5
+ function updateLandmarkSize(size, id, appObjects) {
6
+ const setLandmarkSizeUC = SetLandmarkSizeUC_1.SetLandmarkSizeUC.getById(id, appObjects);
13
7
  if (!setLandmarkSizeUC) {
14
- appObjects.submitWarning("UpdateLandmarkSizeController", "SetLandmarkSizeUC App Object was not added.");
8
+ appObjects.submitWarning("SubmitLandmarkSizeController", "SetLandmarkSizeUC App Object was not added.");
15
9
  return;
16
10
  }
17
11
  setLandmarkSizeUC.updateSize(size);
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject";
2
+ export declare function deleteAllLandmarks(appObjects: AppObjectRepo): void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteAllLandmarks = void 0;
4
+ const DeleteAllLandmarksUC_1 = require("../UseCases/DeleteAllLandmarksUC");
5
+ function deleteAllLandmarks(appObjects) {
6
+ const deleteAllLandmarksUC = DeleteAllLandmarksUC_1.DeleteAllLandmarksUC.get(appObjects);
7
+ if (!deleteAllLandmarksUC) {
8
+ appObjects.submitWarning("deleteAllLandmarks Controller", "DeleteAllLandmarksUC was not found!");
9
+ return;
10
+ }
11
+ deleteAllLandmarksUC.deleteAllLandmarks();
12
+ }
13
+ exports.deleteAllLandmarks = deleteAllLandmarks;
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject";
2
+ export declare function deleteLandmark(id: string, appObjects: AppObjectRepo): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteLandmark = void 0;
4
+ const UseCases_1 = require("../UseCases");
5
+ function deleteLandmark(id, appObjects) {
6
+ const uc = UseCases_1.DeleteLandmarkUC.getById(id, appObjects);
7
+ if (uc) {
8
+ uc.deleteLandmark();
9
+ }
10
+ else {
11
+ appObjects.submitError("deleteLandmark", "Unable to find DeleteLandmarkUC");
12
+ }
13
+ }
14
+ exports.deleteLandmark = deleteLandmark;
@@ -1,5 +1,6 @@
1
+ export * from "./deleteAllLandmarks";
2
+ export * from "./deleteLandmark";
1
3
  export * from "./MouseLandmark";
2
- export * from "./SetSelectedLandmarkColor";
3
4
  export * from "./SubmitLandmarkSize";
4
5
  export * from "./TouchLandmark";
5
6
  export * from "./UpdateLandmarkSize";
@@ -10,8 +10,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./deleteAllLandmarks"), exports);
14
+ __exportStar(require("./deleteLandmark"), exports);
13
15
  __exportStar(require("./MouseLandmark"), exports);
14
- __exportStar(require("./SetSelectedLandmarkColor"), exports);
15
16
  __exportStar(require("./SubmitLandmarkSize"), exports);
16
17
  __exportStar(require("./TouchLandmark"), exports);
17
18
  __exportStar(require("./UpdateLandmarkSize"), exports);
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject";
2
+ export declare function submitLandmarkSize(size: number, appObjectId: string, appObjects: AppObjectRepo): void;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.submitLandmarkSize = void 0;
4
+ const LandmarkEntity_1 = require("../Entities/LandmarkEntity");
5
+ const SetLandmarkSizeUC_1 = require("../UseCases/SetLandmarkSizeUC");
6
+ function submitLandmarkSize(size, appObjectId, appObjects) {
7
+ const landmarkEntity = appObjects.getAppObjectComponent(appObjectId, LandmarkEntity_1.LandmarkEntity.type);
8
+ if (!landmarkEntity) {
9
+ appObjects.submitWarning("SubmitLandmarkSizeController", "LandmarkEntity App Object was not added.");
10
+ return;
11
+ }
12
+ const setLandmarkSizeUC = appObjects.getAppObjectComponent(appObjectId, SetLandmarkSizeUC_1.SetLandmarkSizeUC.type);
13
+ if (!setLandmarkSizeUC) {
14
+ appObjects.submitWarning("SubmitLandmarkSizeController", "SetLandmarkSizeUC App Object was not added.");
15
+ return;
16
+ }
17
+ setLandmarkSizeUC.submitSize(size);
18
+ }
19
+ exports.submitLandmarkSize = submitLandmarkSize;
@@ -0,0 +1,2 @@
1
+ import { AppObjectRepo } from "../../../AppObject";
2
+ export declare function updateLandmarkSize(size: number, appObjectId: string, appObjects: AppObjectRepo): void;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateLandmarkSize = void 0;
4
+ const LandmarkEntity_1 = require("../Entities/LandmarkEntity");
5
+ const SetLandmarkSizeUC_1 = require("../UseCases/SetLandmarkSizeUC");
6
+ function updateLandmarkSize(size, appObjectId, appObjects) {
7
+ const landmarkEntity = appObjects.getAppObjectComponent(appObjectId, LandmarkEntity_1.LandmarkEntity.type);
8
+ if (!landmarkEntity) {
9
+ appObjects.submitWarning("UpdateLandmarkSizeController", "LandmarkEntity App Object was not added.");
10
+ return;
11
+ }
12
+ const setLandmarkSizeUC = appObjects.getAppObjectComponent(appObjectId, SetLandmarkSizeUC_1.SetLandmarkSizeUC.type);
13
+ if (!setLandmarkSizeUC) {
14
+ appObjects.submitWarning("UpdateLandmarkSizeController", "SetLandmarkSizeUC App Object was not added.");
15
+ return;
16
+ }
17
+ setLandmarkSizeUC.updateSize(size);
18
+ }
19
+ exports.updateLandmarkSize = updateLandmarkSize;
@@ -21,10 +21,12 @@ export interface LandmarkDTO {
21
21
  export declare abstract class LandmarkEntity extends AppObjectEntity {
22
22
  static readonly type = "LANDMARK";
23
23
  static get(appObj: AppObject): LandmarkEntity | undefined;
24
- abstract inRepo?: LandmarkRepo;
24
+ abstract get id(): string;
25
+ abstract get parentID(): string;
26
+ abstract get inRepo(): LandmarkRepo | undefined;
27
+ abstract set inRepo(repo: LandmarkRepo | undefined);
25
28
  abstract get size(): number;
26
29
  abstract set size(val: number);
27
- abstract readonly parentID: string;
28
30
  abstract get label(): LabelEntity;
29
31
  abstract get transform(): Transform3D;
30
32
  abstract get hideable(): Hideable;
@@ -37,4 +39,4 @@ export declare abstract class LandmarkEntity extends AppObjectEntity {
37
39
  abstract get data(): LandmarkDTO;
38
40
  abstract set data(dto: LandmarkDTO);
39
41
  }
40
- export declare function makeLandmarkEntity(appObject: AppObject, parentID: string): LandmarkEntity;
42
+ export declare function makeLandmarkEntity(appObject: AppObject): LandmarkEntity;