@shapediver/viewer.features.drawing-tools 3.12.19 → 3.12.21

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 (28) hide show
  1. package/dist/business/implementation/DrawingToolsManager.d.ts +0 -1
  2. package/dist/business/implementation/DrawingToolsManager.d.ts.map +1 -1
  3. package/dist/business/implementation/DrawingToolsManager.js +6 -61
  4. package/dist/business/implementation/DrawingToolsManager.js.map +1 -1
  5. package/dist/business/implementation/managers/interaction/InteractionManager.d.ts +7 -8
  6. package/dist/business/implementation/managers/interaction/InteractionManager.d.ts.map +1 -1
  7. package/dist/business/implementation/managers/interaction/InteractionManager.js +27 -157
  8. package/dist/business/implementation/managers/interaction/InteractionManager.js.map +1 -1
  9. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.d.ts +6 -5
  10. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.d.ts.map +1 -1
  11. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.js +10 -16
  12. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.js.map +1 -1
  13. package/dist/business/implementation/managers/interaction/interfaces/IStrategy.d.ts +10 -0
  14. package/dist/business/implementation/managers/interaction/interfaces/IStrategy.d.ts.map +1 -0
  15. package/dist/business/implementation/managers/interaction/interfaces/IStrategy.js +3 -0
  16. package/dist/business/implementation/managers/interaction/interfaces/IStrategy.js.map +1 -0
  17. package/dist/business/implementation/managers/interaction/strategies/DesktopStrategy.d.ts +27 -0
  18. package/dist/business/implementation/managers/interaction/strategies/DesktopStrategy.d.ts.map +1 -0
  19. package/dist/business/implementation/managers/interaction/strategies/DesktopStrategy.js +256 -0
  20. package/dist/business/implementation/managers/interaction/strategies/DesktopStrategy.js.map +1 -0
  21. package/dist/business/implementation/managers/interaction/strategies/MobileStategy.d.ts +16 -0
  22. package/dist/business/implementation/managers/interaction/strategies/MobileStategy.d.ts.map +1 -0
  23. package/dist/business/implementation/managers/interaction/strategies/MobileStategy.js +187 -0
  24. package/dist/business/implementation/managers/interaction/strategies/MobileStategy.js.map +1 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +0 -3
  27. package/dist/index.js.map +1 -1
  28. package/package.json +10 -10
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _MobileStrategy_drawingToolsManager, _MobileStrategy_eventEngine, _MobileStrategy_deletionInteractionHandler, _MobileStrategy_geometryMathManager, _MobileStrategy_interactionManager, _MobileStrategy_interactionManagerHelper, _MobileStrategy_restrictionManager, _MobileStrategy_viewport, _MobileStrategy_longPressDelay, _MobileStrategy_cameraFreezeFlag, _MobileStrategy_distances, _MobileStrategy_downPress, _MobileStrategy_downPressTimeout, _MobileStrategy_hoveredPoint;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MobileStrategy = void 0;
16
+ const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
17
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
18
+ const gl_matrix_1 = require("gl-matrix");
19
+ const IDrawingToolsManager_1 = require("../../../../interfaces/IDrawingToolsManager");
20
+ class MobileStrategy {
21
+ constructor(drawingToolsManager, interactionManager) {
22
+ _MobileStrategy_drawingToolsManager.set(this, void 0);
23
+ _MobileStrategy_eventEngine.set(this, viewer_shared_services_1.EventEngine.instance);
24
+ _MobileStrategy_deletionInteractionHandler.set(this, void 0);
25
+ _MobileStrategy_geometryMathManager.set(this, void 0);
26
+ _MobileStrategy_interactionManager.set(this, void 0);
27
+ _MobileStrategy_interactionManagerHelper.set(this, void 0);
28
+ _MobileStrategy_restrictionManager.set(this, void 0);
29
+ _MobileStrategy_viewport.set(this, void 0);
30
+ _MobileStrategy_longPressDelay.set(this, 500);
31
+ _MobileStrategy_cameraFreezeFlag.set(this, "");
32
+ _MobileStrategy_distances.set(this, void 0);
33
+ _MobileStrategy_downPress.set(this, void 0);
34
+ _MobileStrategy_downPressTimeout.set(this, void 0);
35
+ _MobileStrategy_hoveredPoint.set(this, undefined);
36
+ __classPrivateFieldSet(this, _MobileStrategy_drawingToolsManager, drawingToolsManager, "f");
37
+ __classPrivateFieldSet(this, _MobileStrategy_interactionManager, interactionManager, "f");
38
+ __classPrivateFieldSet(this, _MobileStrategy_viewport, drawingToolsManager.viewport, "f");
39
+ __classPrivateFieldSet(this, _MobileStrategy_geometryMathManager, __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryMathManager, "f");
40
+ __classPrivateFieldSet(this, _MobileStrategy_restrictionManager, __classPrivateFieldGet(this, _MobileStrategy_interactionManager, "f").restrictionManager, "f");
41
+ __classPrivateFieldSet(this, _MobileStrategy_deletionInteractionHandler, __classPrivateFieldGet(this, _MobileStrategy_interactionManager, "f").deletionInteractionHandler, "f");
42
+ __classPrivateFieldSet(this, _MobileStrategy_interactionManagerHelper, __classPrivateFieldGet(this, _MobileStrategy_interactionManager, "f").interactionManagerHelper, "f");
43
+ }
44
+ get cameraFreezeFlag() {
45
+ return __classPrivateFieldGet(this, _MobileStrategy_cameraFreezeFlag, "f");
46
+ }
47
+ onDown(event, ray) {
48
+ __classPrivateFieldSet(this, _MobileStrategy_downPress, { event, ray }, "f");
49
+ // check if there are points close to the ray
50
+ __classPrivateFieldSet(this, _MobileStrategy_distances, __classPrivateFieldGet(this, _MobileStrategy_geometryMathManager, "f").checkPointDistances(__classPrivateFieldGet(this, _MobileStrategy_downPress, "f").ray, __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").positionArray), "f");
51
+ if (__classPrivateFieldGet(this, _MobileStrategy_distances, "f") && __classPrivateFieldGet(this, _MobileStrategy_distances, "f").length > 0) {
52
+ // select the point
53
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").toggleSelection(__classPrivateFieldGet(this, _MobileStrategy_distances, "f")[0].index);
54
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").hoveredPoint =
55
+ __classPrivateFieldGet(this, _MobileStrategy_distances, "f")[0].index;
56
+ const draggingStarted = __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").startDragging();
57
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").moving = draggingStarted;
58
+ // we remove this here, because on mobile there is actually no hovering
59
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").hoveredPoint = undefined;
60
+ __classPrivateFieldSet(this, _MobileStrategy_hoveredPoint, __classPrivateFieldGet(this, _MobileStrategy_distances, "f")[0].index, "f");
61
+ if (draggingStarted && !__classPrivateFieldGet(this, _MobileStrategy_cameraFreezeFlag, "f"))
62
+ __classPrivateFieldSet(this, _MobileStrategy_cameraFreezeFlag, __classPrivateFieldGet(this, _MobileStrategy_viewport, "f").addFlag(viewer_shared_types_1.FLAG_TYPE.CAMERA_FREEZE), "f");
63
+ }
64
+ __classPrivateFieldSet(this, _MobileStrategy_downPressTimeout, setTimeout(() => {
65
+ // it's a long press!
66
+ // do long press stuff here
67
+ if (__classPrivateFieldGet(this, _MobileStrategy_distances, "f") && __classPrivateFieldGet(this, _MobileStrategy_distances, "f").length > 0) {
68
+ // remove the point
69
+ __classPrivateFieldGet(this, _MobileStrategy_deletionInteractionHandler, "f").deletePoint(ray);
70
+ }
71
+ else {
72
+ // check if there is a midpoint close to the ray
73
+ if (__classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.canAddPoint()) {
74
+ // check if there is a line close to the ray and add a mid point to it
75
+ const lineDistances = __classPrivateFieldGet(this, _MobileStrategy_geometryMathManager, "f").checkLineDistances(ray, __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").positionArray, __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").indicesArrayLines);
76
+ if (lineDistances) {
77
+ let firstIndex = lineDistances[0].index[0];
78
+ let secondIndex = lineDistances[0].index[1];
79
+ const firstPoint = __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.getPosition(firstIndex);
80
+ const secondPoint = __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.getPosition(secondIndex);
81
+ const midPoint = gl_matrix_1.vec3.add(gl_matrix_1.vec3.create(), firstPoint, secondPoint);
82
+ gl_matrix_1.vec3.scale(midPoint, midPoint, 0.5);
83
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").addPoint(secondIndex, midPoint);
84
+ }
85
+ }
86
+ }
87
+ // cleanup
88
+ this.clearDownPress();
89
+ }, __classPrivateFieldGet(this, _MobileStrategy_longPressDelay, "f")), "f");
90
+ }
91
+ onKeyDown() { }
92
+ onMove(event, ray) {
93
+ const distanceSquared = __classPrivateFieldGet(this, _MobileStrategy_downPress, "f")
94
+ ? Math.pow(event.clientX - __classPrivateFieldGet(this, _MobileStrategy_downPress, "f").event.clientX, 2) +
95
+ Math.pow(event.clientY - __classPrivateFieldGet(this, _MobileStrategy_downPress, "f").event.clientY, 2)
96
+ : Infinity;
97
+ const clickThresholdSquared = 25;
98
+ const pointerMoved = distanceSquared > clickThresholdSquared;
99
+ // if we have selected points, move them
100
+ if (__classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").selectedPointIndices.length > 0 &&
101
+ pointerMoved === true) {
102
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").hoveredPoint = __classPrivateFieldGet(this, _MobileStrategy_hoveredPoint, "f");
103
+ // get the restricted point
104
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").moveSelectedPoints(ray);
105
+ if (__classPrivateFieldGet(this, _MobileStrategy_downPressTimeout, "f")) {
106
+ clearTimeout(__classPrivateFieldGet(this, _MobileStrategy_downPressTimeout, "f"));
107
+ __classPrivateFieldSet(this, _MobileStrategy_downPressTimeout, undefined, "f");
108
+ }
109
+ }
110
+ }
111
+ onOut() {
112
+ // cleanup
113
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").removeAllSelectedPoints();
114
+ this.clearDownPress();
115
+ }
116
+ onUp() {
117
+ var _a;
118
+ if (__classPrivateFieldGet(this, _MobileStrategy_downPressTimeout, "f")) {
119
+ // it's a short press!
120
+ // do short press stuff here
121
+ // check if we pressed on an existing point
122
+ if (__classPrivateFieldGet(this, _MobileStrategy_distances, "f") && __classPrivateFieldGet(this, _MobileStrategy_distances, "f").length > 0) {
123
+ const canBeClosed = __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").settings.geometry.mode ===
124
+ "lines" &&
125
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.getPointCount() >=
126
+ 3 &&
127
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.checkNumberOfPoints(__classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.getPointCount());
128
+ const shouldBeClosed = __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").settings.geometry.close ===
129
+ true &&
130
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.closeLoop ===
131
+ false &&
132
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").settings.geometry.autoClose ===
133
+ false;
134
+ // check if we pressed on the first point and if we can close the geometry
135
+ if (__classPrivateFieldGet(this, _MobileStrategy_distances, "f")[0].index === 0 &&
136
+ canBeClosed &&
137
+ shouldBeClosed) {
138
+ // close the geometry
139
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.closeLoop = true;
140
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").updateMaterialIndex(0, IDrawingToolsManager_1.MATERIAL_INDEX.DEFAULT);
141
+ __classPrivateFieldGet(this, _MobileStrategy_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, {
142
+ viewportId: __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").viewport.id,
143
+ drawingToolId: __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").uuid,
144
+ points: __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.getPointsData(),
145
+ temporary: false,
146
+ fromHistory: false,
147
+ });
148
+ }
149
+ }
150
+ else {
151
+ // get current ray
152
+ const ray = __classPrivateFieldGet(this, _MobileStrategy_viewport, "f").pointerEventToRay(__classPrivateFieldGet(this, _MobileStrategy_downPress, "f").event);
153
+ // add a point at the ray intersection
154
+ const restrictedPoint = (_a = __classPrivateFieldGet(this, _MobileStrategy_restrictionManager, "f").rayTrace(ray, {
155
+ type: "drawing",
156
+ positionArray: __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").positionArray,
157
+ })) === null || _a === void 0 ? void 0 : _a.point;
158
+ const insertionIndex = __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").geometryState.getPointCount();
159
+ __classPrivateFieldGet(this, _MobileStrategy_drawingToolsManager, "f").addPoint(insertionIndex, restrictedPoint);
160
+ }
161
+ }
162
+ else {
163
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").hoveredPoint = undefined;
164
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").onUp();
165
+ }
166
+ // cleanup
167
+ this.clearDownPress();
168
+ }
169
+ clearDownPress() {
170
+ if (__classPrivateFieldGet(this, _MobileStrategy_cameraFreezeFlag, "f")) {
171
+ __classPrivateFieldGet(this, _MobileStrategy_viewport, "f").removeFlag(__classPrivateFieldGet(this, _MobileStrategy_cameraFreezeFlag, "f"));
172
+ __classPrivateFieldSet(this, _MobileStrategy_cameraFreezeFlag, "", "f");
173
+ }
174
+ __classPrivateFieldSet(this, _MobileStrategy_hoveredPoint, undefined, "f");
175
+ __classPrivateFieldGet(this, _MobileStrategy_restrictionManager, "f").showRestrictionVisualization = false;
176
+ __classPrivateFieldGet(this, _MobileStrategy_interactionManagerHelper, "f").reset();
177
+ __classPrivateFieldSet(this, _MobileStrategy_distances, undefined, "f");
178
+ __classPrivateFieldSet(this, _MobileStrategy_downPress, undefined, "f");
179
+ if (__classPrivateFieldGet(this, _MobileStrategy_downPressTimeout, "f")) {
180
+ clearTimeout(__classPrivateFieldGet(this, _MobileStrategy_downPressTimeout, "f"));
181
+ __classPrivateFieldSet(this, _MobileStrategy_downPressTimeout, undefined, "f");
182
+ }
183
+ }
184
+ }
185
+ exports.MobileStrategy = MobileStrategy;
186
+ _MobileStrategy_drawingToolsManager = new WeakMap(), _MobileStrategy_eventEngine = new WeakMap(), _MobileStrategy_deletionInteractionHandler = new WeakMap(), _MobileStrategy_geometryMathManager = new WeakMap(), _MobileStrategy_interactionManager = new WeakMap(), _MobileStrategy_interactionManagerHelper = new WeakMap(), _MobileStrategy_restrictionManager = new WeakMap(), _MobileStrategy_viewport = new WeakMap(), _MobileStrategy_longPressDelay = new WeakMap(), _MobileStrategy_cameraFreezeFlag = new WeakMap(), _MobileStrategy_distances = new WeakMap(), _MobileStrategy_downPress = new WeakMap(), _MobileStrategy_downPressTimeout = new WeakMap(), _MobileStrategy_hoveredPoint = new WeakMap();
187
+ //# sourceMappingURL=MobileStategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobileStategy.js","sourceRoot":"","sources":["../../../../../../src/business/implementation/managers/interaction/strategies/MobileStategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yEAAgE;AAOhE,+EAG4C;AAC5C,yCAA+B;AAC/B,sFAA2E;AAO3E,MAAa,cAAc;IAuB1B,YACC,mBAAwC,EACxC,kBAAsC;QAxBvC,sDAAmD;QACnD,sCAAwB,oCAAW,CAAC,QAAQ,EAAC;QAC7C,6DAAiE;QACjE,sDAAmD;QACnD,qDAAiD;QACjD,2DAA6D;QAC7D,qDAAkD;QAClD,2CAAiC;QAEjC,yCAAmC,GAAG,EAAC;QAEvC,2CAA4B,EAAE,EAAC;QAC/B,4CAA4D;QAC5D,4CAKa;QACb,mDAA8C;QAC9C,uCAAoC,SAAS,EAAC;QAM7C,uBAAA,IAAI,uCAAwB,mBAAmB,MAAA,CAAC;QAChD,uBAAA,IAAI,sCAAuB,kBAAkB,MAAA,CAAC;QAC9C,uBAAA,IAAI,4BAAa,mBAAmB,CAAC,QAAQ,MAAA,CAAC;QAC9C,uBAAA,IAAI,uCACH,uBAAA,IAAI,2CAAqB,CAAC,mBAAmB,MAAA,CAAC;QAC/C,uBAAA,IAAI,sCAAuB,uBAAA,IAAI,0CAAoB,CAAC,kBAAkB,MAAA,CAAC;QACvE,uBAAA,IAAI,8CACH,uBAAA,IAAI,0CAAoB,CAAC,0BAA0B,MAAA,CAAC;QACrD,uBAAA,IAAI,4CACH,uBAAA,IAAI,0CAAoB,CAAC,wBAAwB,MAAA,CAAC;IACpD,CAAC;IAED,IAAW,gBAAgB;QAC1B,OAAO,uBAAA,IAAI,wCAAkB,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,KAAmB,EAAE,GAAS;QAC3C,uBAAA,IAAI,6BAAc,EAAC,KAAK,EAAE,GAAG,EAAC,MAAA,CAAC;QAE/B,6CAA6C;QAC7C,uBAAA,IAAI,6BAAc,uBAAA,IAAI,2CAAqB,CAAC,mBAAmB,CAC9D,uBAAA,IAAI,iCAAY,CAAC,GAAG,EACpB,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CACvC,MAAA,CAAC;QAEF,IAAI,uBAAA,IAAI,iCAAW,IAAI,uBAAA,IAAI,iCAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAClD,mBAAmB;YACnB,uBAAA,IAAI,gDAA0B,CAAC,eAAe,CAC7C,uBAAA,IAAI,iCAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CACxB,CAAC;YAEF,uBAAA,IAAI,gDAA0B,CAAC,YAAY;gBAC1C,uBAAA,IAAI,iCAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1B,MAAM,eAAe,GACpB,uBAAA,IAAI,gDAA0B,CAAC,aAAa,EAAE,CAAC;YAChD,uBAAA,IAAI,gDAA0B,CAAC,MAAM,GAAG,eAAe,CAAC;YAExD,uEAAuE;YACvE,uBAAA,IAAI,gDAA0B,CAAC,YAAY,GAAG,SAAS,CAAC;YACxD,uBAAA,IAAI,gCAAiB,uBAAA,IAAI,iCAAW,CAAC,CAAC,CAAC,CAAC,KAAK,MAAA,CAAC;YAE9C,IAAI,eAAe,IAAI,CAAC,uBAAA,IAAI,wCAAkB;gBAC7C,uBAAA,IAAI,oCAAqB,uBAAA,IAAI,gCAAU,CAAC,OAAO,CAC9C,+BAAS,CAAC,aAAa,CACvB,MAAA,CAAC;SACH;QAED,uBAAA,IAAI,oCAAqB,UAAU,CAAC,GAAG,EAAE;YACxC,qBAAqB;YACrB,2BAA2B;YAC3B,IAAI,uBAAA,IAAI,iCAAW,IAAI,uBAAA,IAAI,iCAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,mBAAmB;gBACnB,uBAAA,IAAI,kDAA4B,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAClD;iBAAM;gBACN,gDAAgD;gBAChD,IAAI,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE;oBAC1D,sEAAsE;oBACtE,MAAM,aAAa,GAClB,uBAAA,IAAI,2CAAqB,CAAC,kBAAkB,CAC3C,GAAG,EACH,uBAAA,IAAI,2CAAqB,CAAC,aAAa,EACvC,uBAAA,IAAI,2CAAqB,CAAC,iBAAiB,CAC3C,CAAC;oBACH,IAAI,aAAa,EAAE;wBAClB,IAAI,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3C,IAAI,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAE5C,MAAM,UAAU,GACf,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,WAAW,CAClD,UAAU,CACV,CAAC;wBACH,MAAM,WAAW,GAChB,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,WAAW,CAClD,WAAW,CACX,CAAC;wBACH,MAAM,QAAQ,GAAG,gBAAI,CAAC,GAAG,CACxB,gBAAI,CAAC,MAAM,EAAE,EACb,UAAU,EACV,WAAW,CACX,CAAC;wBACF,gBAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAEpC,uBAAA,IAAI,2CAAqB,CAAC,QAAQ,CACjC,WAAW,EACX,QAAQ,CACR,CAAC;qBACF;iBACD;aACD;YAED,UAAU;YACV,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,EAAE,uBAAA,IAAI,sCAAgB,CAAC,MAAA,CAAC;IAC1B,CAAC;IAEM,SAAS,KAAU,CAAC;IAEpB,MAAM,CAAC,KAAmB,EAAE,GAAS;QAC3C,MAAM,eAAe,GAAG,uBAAA,IAAI,iCAAW;YACtC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,uBAAA,IAAI,iCAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,uBAAA,IAAI,iCAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,CAAC,CAAC,QAAQ,CAAC;QACZ,MAAM,qBAAqB,GAAG,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,eAAe,GAAG,qBAAqB,CAAC;QAE7D,wCAAwC;QACxC,IACC,uBAAA,IAAI,gDAA0B,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;YAC9D,YAAY,KAAK,IAAI,EACpB;YACD,uBAAA,IAAI,gDAA0B,CAAC,YAAY,GAAG,uBAAA,IAAI,oCAAc,CAAC;YAEjE,2BAA2B;YAC3B,uBAAA,IAAI,gDAA0B,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAEvD,IAAI,uBAAA,IAAI,wCAAkB,EAAE;gBAC3B,YAAY,CAAC,uBAAA,IAAI,wCAAkB,CAAC,CAAC;gBACrC,uBAAA,IAAI,oCAAqB,SAAS,MAAA,CAAC;aACnC;SACD;IACF,CAAC;IAEM,KAAK;QACX,UAAU;QACV,uBAAA,IAAI,gDAA0B,CAAC,uBAAuB,EAAE,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEM,IAAI;;QACV,IAAI,uBAAA,IAAI,wCAAkB,EAAE;YAC3B,sBAAsB;YACtB,4BAA4B;YAE5B,2CAA2C;YAC3C,IAAI,uBAAA,IAAI,iCAAW,IAAI,uBAAA,IAAI,iCAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClD,MAAM,WAAW,GAChB,uBAAA,IAAI,2CAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;oBAC/C,OAAO;oBACR,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,aAAa,EAAE;wBACtD,CAAC;oBACF,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,mBAAmB,CAC1D,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,aAAa,EAAE,CACvD,CAAC;gBACH,MAAM,cAAc,GACnB,uBAAA,IAAI,2CAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK;oBAChD,IAAI;oBACL,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,SAAS;wBAChD,KAAK;oBACN,uBAAA,IAAI,2CAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS;wBACpD,KAAK,CAAC;gBAER,0EAA0E;gBAC1E,IACC,uBAAA,IAAI,iCAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;oBAC9B,WAAW;oBACX,cAAc,EACb;oBACD,qBAAqB;oBACrB,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;oBAEzD,uBAAA,IAAI,2CAAqB,CAAC,mBAAmB,CAC5C,CAAC,EACD,qCAAc,CAAC,OAAO,CACtB,CAAC;oBAEF,uBAAA,IAAI,mCAAa,CAAC,SAAS,CAC1B,gDAAuB,CAAC,gBAAgB,EACxC;wBACC,UAAU,EAAE,uBAAA,IAAI,2CAAqB,CAAC,QAAQ,CAAC,EAAE;wBACjD,aAAa,EAAE,uBAAA,IAAI,2CAAqB,CAAC,IAAI;wBAC7C,MAAM,EAAE,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,aAAa,EAAE;wBAC/D,SAAS,EAAE,KAAK;wBAChB,WAAW,EAAE,KAAK;qBAClB,CACD,CAAC;iBACF;aACD;iBAAM;gBACN,kBAAkB;gBAClB,MAAM,GAAG,GAAG,uBAAA,IAAI,gCAAU,CAAC,iBAAiB,CAC3C,uBAAA,IAAI,iCAAY,CAAC,KAAK,CACtB,CAAC;gBACF,sCAAsC;gBACtC,MAAM,eAAe,GAAG,MAAA,uBAAA,IAAI,0CAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE;oBAC9D,IAAI,EAAE,SAAS;oBACf,aAAa,EAAE,uBAAA,IAAI,2CAAqB,CAAC,aAAa;iBACtD,CAAC,0CAAE,KAAK,CAAC;gBACV,MAAM,cAAc,GACnB,uBAAA,IAAI,2CAAqB,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;gBACzD,uBAAA,IAAI,2CAAqB,CAAC,QAAQ,CACjC,cAAc,EACd,eAAe,CACf,CAAC;aACF;SACD;aAAM;YACN,uBAAA,IAAI,gDAA0B,CAAC,YAAY,GAAG,SAAS,CAAC;YACxD,uBAAA,IAAI,gDAA0B,CAAC,IAAI,EAAE,CAAC;SACtC;QAED,UAAU;QACV,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAEO,cAAc;QACrB,IAAI,uBAAA,IAAI,wCAAkB,EAAE;YAC3B,uBAAA,IAAI,gCAAU,CAAC,UAAU,CAAC,uBAAA,IAAI,wCAAkB,CAAC,CAAC;YAClD,uBAAA,IAAI,oCAAqB,EAAE,MAAA,CAAC;SAC5B;QAED,uBAAA,IAAI,gCAAiB,SAAS,MAAA,CAAC;QAC/B,uBAAA,IAAI,0CAAoB,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC9D,uBAAA,IAAI,gDAA0B,CAAC,KAAK,EAAE,CAAC;QACvC,uBAAA,IAAI,6BAAc,SAAS,MAAA,CAAC;QAC5B,uBAAA,IAAI,6BAAc,SAAS,MAAA,CAAC;QAC5B,IAAI,uBAAA,IAAI,wCAAkB,EAAE;YAC3B,YAAY,CAAC,uBAAA,IAAI,wCAAkB,CAAC,CAAC;YACrC,uBAAA,IAAI,oCAAqB,SAAS,MAAA,CAAC;SACnC;IACF,CAAC;CACD;AAtPD,wCAsPC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,YAAY,EAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,gCAAgC,EAChC,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,MAAM,qEAAqE,CAAC;AAE7E,OAAO,EAAC,qBAAqB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAC,gCAAgC,EAAC,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAC,kBAAkB,EAAC,MAAM,iDAAiD,CAAC;AACnF,OAAO,EACN,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACN,gBAAgB,IAAI,QAAQ,EAC5B,SAAS,EACT,gCAAgC,EAChC,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,UAAU,GACV,CAAC;AACF,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,CAAC;AACxC,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,yBAAyB,GACzB,CAAC;AACF,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GAClB,CAAC;AAaF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,aACpB,YAAY,aACX,SAAS,YACV,gBAAgB,KACxB,gBAkBF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,YAAY,EAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACN,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,gCAAgC,EAChC,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,yBAAyB,EACzB,MAAM,qEAAqE,CAAC;AAC7E,OAAO,EAAC,qBAAqB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAC,gCAAgC,EAAC,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAC,kBAAkB,EAAC,MAAM,iDAAiD,CAAC;AACnF,OAAO,EACN,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACN,gBAAgB,IAAI,QAAQ,EAC5B,SAAS,EACT,gCAAgC,EAChC,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,UAAU,GACV,CAAC;AACF,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,CAAC;AACxC,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,yBAAyB,GACzB,CAAC;AACF,OAAO,EACN,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GAClB,CAAC;AAaF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,aACpB,YAAY,aACX,SAAS,YACV,gBAAgB,KACxB,gBAaF,CAAC"}
package/dist/index.js CHANGED
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "LineRestrictionApi", { enumerable: true, get: fu
12
12
  Object.defineProperty(exports, "PlaneRestrictionApi", { enumerable: true, get: function () { return viewer_rendering_engine_intersection_restriction_engine_1.PlaneRestrictionApi; } });
13
13
  Object.defineProperty(exports, "PointRestrictionApi", { enumerable: true, get: function () { return viewer_rendering_engine_intersection_restriction_engine_1.PointRestrictionApi; } });
14
14
  Object.defineProperty(exports, "RESTRICTION_TYPE", { enumerable: true, get: function () { return viewer_rendering_engine_intersection_restriction_engine_1.RESTRICTION_TYPE; } });
15
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
16
15
  const DrawingToolsApi_1 = require("./api/implementation/DrawingToolsApi");
17
16
  Object.defineProperty(exports, "DrawingToolsApi", { enumerable: true, get: function () { return DrawingToolsApi_1.DrawingToolsApi; } });
18
17
  const defaultTextures = {};
@@ -33,8 +32,6 @@ let drawingTools;
33
32
  * @throws An error if there is already an active instance of DrawingTools.
34
33
  */
35
34
  const createDrawingTools = (viewport, callbacks, settings) => {
36
- if (viewer_shared_services_1.SystemInfo.instance.isMobile)
37
- throw new viewer_1.ShapeDiverViewerDrawingToolsError("The DrawingTools are not supported on mobile devices.");
38
35
  if (drawingTools && drawingTools.closed === false)
39
36
  throw new viewer_1.ShapeDiverViewerDrawingToolsError("There can only be one instance of DrawingTools active at a time. Please close the current instance before creating a new one.");
40
37
  drawingTools = new DrawingToolsApi_1.DrawingToolsApi(viewport, callbacks, settings, defaultTextures);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAK4B;AAC5B,iJA4B6E;AA6C5E,sGAxEA,+EAAqB,OAwEA;AACrB,mGAvEA,4EAAkB,OAuEA;AAGlB,0GAxEA,mFAAyB,OAwEA;AADzB,uGAnEA,gFAAsB,OAmEA;AADtB,mGAhEA,4EAAkB,OAgEA;AAIlB,mGA9DA,4EAAkB,OA8DA;AAPlB,oGArDA,6EAAmB,OAqDA;AAMnB,oGAzDA,6EAAmB,OAyDA;AA1BnB,iGA1BA,0EAAgB,OA0BA;AAvBjB,+EAA8D;AAE9D,0EAAqE;AAgBpE,gGAhBO,iCAAe,OAgBP;AAmChB,MAAM,eAAe,GAAkD,EAAE,CAAC;AAE1E,eAAe,CAAC,aAAa,CAAC,GAAG,uBAAc,CAAC,QAAQ;KACtD,OAAO,CAAC,0DAA0D,CAAC;KACnE,IAAI,CAAC,CAAC,OAA6B,EAAE,EAAE;IACvC,eAAe,CAAC,aAAa,CAAC,GAAG,OAAQ,CAAC;IAC1C,OAAO,OAAQ,CAAC;AACjB,CAAC,CAAC,CAAC;AAEJ,IAAI,YAA0C,CAAC;AAE/C;;;;;;;;GAQG;AACI,MAAM,kBAAkB,GAAG,CACjC,QAAsB,EACtB,SAAoB,EACpB,QAA0B,EACP,EAAE;IACrB,IAAI,mCAAU,CAAC,QAAQ,CAAC,QAAQ;QAC/B,MAAM,IAAI,0CAAiC,CAC1C,uDAAuD,CACvD,CAAC;IAEH,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK;QAChD,MAAM,IAAI,0CAAiC,CAC1C,+HAA+H,CAC/H,CAAC;IAEH,YAAY,GAAG,IAAI,iCAAe,CACjC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,eAAe,CACf,CAAC;IACF,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAtBW,QAAA,kBAAkB,sBAsB7B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,+CAK4B;AAC5B,iJA4B6E;AA4C5E,sGAvEA,+EAAqB,OAuEA;AACrB,mGAtEA,4EAAkB,OAsEA;AAGlB,0GAvEA,mFAAyB,OAuEA;AADzB,uGAlEA,gFAAsB,OAkEA;AADtB,mGA/DA,4EAAkB,OA+DA;AAIlB,mGA7DA,4EAAkB,OA6DA;AAPlB,oGApDA,6EAAmB,OAoDA;AAMnB,oGAxDA,6EAAmB,OAwDA;AA1BnB,iGAzBA,0EAAgB,OAyBA;AArBjB,0EAAqE;AAgBpE,gGAhBO,iCAAe,OAgBP;AAmChB,MAAM,eAAe,GAAkD,EAAE,CAAC;AAE1E,eAAe,CAAC,aAAa,CAAC,GAAG,uBAAc,CAAC,QAAQ;KACtD,OAAO,CAAC,0DAA0D,CAAC;KACnE,IAAI,CAAC,CAAC,OAA6B,EAAE,EAAE;IACvC,eAAe,CAAC,aAAa,CAAC,GAAG,OAAQ,CAAC;IAC1C,OAAO,OAAQ,CAAC;AACjB,CAAC,CAAC,CAAC;AAEJ,IAAI,YAA0C,CAAC;AAE/C;;;;;;;;GAQG;AACI,MAAM,kBAAkB,GAAG,CACjC,QAAsB,EACtB,SAAoB,EACpB,QAA0B,EACP,EAAE;IACrB,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK;QAChD,MAAM,IAAI,0CAAiC,CAC1C,+HAA+H,CAC/H,CAAC;IAEH,YAAY,GAAG,IAAI,iCAAe,CACjC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,eAAe,CACf,CAAC;IACF,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC;AAjBW,QAAA,kBAAkB,sBAiB7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.features.drawing-tools",
3
- "version": "3.12.19",
3
+ "version": "3.12.21",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -40,16 +40,16 @@
40
40
  "testEnvironment": "node"
41
41
  },
42
42
  "dependencies": {
43
- "@shapediver/viewer": "3.12.19",
44
- "@shapediver/viewer.features.interaction": "3.12.19",
45
- "@shapediver/viewer.rendering-engine.intersection-restriction-engine": "3.12.19",
46
- "@shapediver/viewer.rendering-engine.rendering-engine-threejs": "3.12.19",
47
- "@shapediver/viewer.shared.math": "3.12.19",
48
- "@shapediver/viewer.shared.node-tree": "3.12.19",
49
- "@shapediver/viewer.shared.services": "3.12.19",
50
- "@shapediver/viewer.shared.types": "3.12.19",
43
+ "@shapediver/viewer": "3.12.21",
44
+ "@shapediver/viewer.features.interaction": "3.12.21",
45
+ "@shapediver/viewer.rendering-engine.intersection-restriction-engine": "3.12.21",
46
+ "@shapediver/viewer.rendering-engine.rendering-engine-threejs": "3.12.21",
47
+ "@shapediver/viewer.shared.math": "3.12.21",
48
+ "@shapediver/viewer.shared.node-tree": "3.12.21",
49
+ "@shapediver/viewer.shared.services": "3.12.21",
50
+ "@shapediver/viewer.shared.types": "3.12.21",
51
51
  "@types/three": "0.162.0",
52
52
  "three": "0.162.0"
53
53
  },
54
- "gitHead": "abe39517f6179fac10a2cd9cd4dd48762db2ea19"
54
+ "gitHead": "f266768bb22b327d56cb67bcb0f492a0a5690722"
55
55
  }