@shapediver/viewer.features.drawing-tools 3.1.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 (209) hide show
  1. package/LICENSE +73 -0
  2. package/README.md +161 -0
  3. package/dist/api/implementation/DrawingToolsApi.d.ts +31 -0
  4. package/dist/api/implementation/DrawingToolsApi.d.ts.map +1 -0
  5. package/dist/api/implementation/DrawingToolsApi.js +111 -0
  6. package/dist/api/implementation/DrawingToolsApi.js.map +1 -0
  7. package/dist/api/implementation/restrictions/AbstractRestrictionApi.d.ts +10 -0
  8. package/dist/api/implementation/restrictions/AbstractRestrictionApi.d.ts.map +1 -0
  9. package/dist/api/implementation/restrictions/AbstractRestrictionApi.js +38 -0
  10. package/dist/api/implementation/restrictions/AbstractRestrictionApi.js.map +1 -0
  11. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.d.ts +11 -0
  12. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.d.ts.map +1 -0
  13. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.js +40 -0
  14. package/dist/api/implementation/restrictions/AbstractSnapRestrictionApi.js.map +1 -0
  15. package/dist/api/implementation/restrictions/axis/AxisRestrictionApi.d.ts +7 -0
  16. package/dist/api/implementation/restrictions/axis/AxisRestrictionApi.d.ts.map +1 -0
  17. package/dist/api/implementation/restrictions/axis/AxisRestrictionApi.js +24 -0
  18. package/dist/api/implementation/restrictions/axis/AxisRestrictionApi.js.map +1 -0
  19. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.d.ts +15 -0
  20. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.d.ts.map +1 -0
  21. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.js +54 -0
  22. package/dist/api/implementation/restrictions/geometry/GeometryRestrictionApi.js.map +1 -0
  23. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.d.ts +18 -0
  24. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.d.ts.map +1 -0
  25. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.js +61 -0
  26. package/dist/api/implementation/restrictions/plane/PlaneRestrictionApi.js.map +1 -0
  27. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.d.ts +10 -0
  28. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.d.ts.map +1 -0
  29. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.js +40 -0
  30. package/dist/api/implementation/restrictions/plane/snap/AngularRestrictionApi.js.map +1 -0
  31. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.d.ts +10 -0
  32. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.d.ts.map +1 -0
  33. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.js +40 -0
  34. package/dist/api/implementation/restrictions/plane/snap/GridRestrictionApi.js.map +1 -0
  35. package/dist/api/interfaces/IDrawingToolsApi.d.ts +89 -0
  36. package/dist/api/interfaces/IDrawingToolsApi.d.ts.map +1 -0
  37. package/dist/api/interfaces/IDrawingToolsApi.js +3 -0
  38. package/dist/api/interfaces/IDrawingToolsApi.js.map +1 -0
  39. package/dist/api/interfaces/IRestrictionApi.d.ts +11 -0
  40. package/dist/api/interfaces/IRestrictionApi.d.ts.map +1 -0
  41. package/dist/api/interfaces/IRestrictionApi.js +3 -0
  42. package/dist/api/interfaces/IRestrictionApi.js.map +1 -0
  43. package/dist/api/interfaces/ISnapRestrictionApi.d.ts +13 -0
  44. package/dist/api/interfaces/ISnapRestrictionApi.d.ts.map +1 -0
  45. package/dist/api/interfaces/ISnapRestrictionApi.js +3 -0
  46. package/dist/api/interfaces/ISnapRestrictionApi.js.map +1 -0
  47. package/dist/business/implementation/DrawingToolsManager.d.ts +95 -0
  48. package/dist/business/implementation/DrawingToolsManager.d.ts.map +1 -0
  49. package/dist/business/implementation/DrawingToolsManager.js +544 -0
  50. package/dist/business/implementation/DrawingToolsManager.js.map +1 -0
  51. package/dist/business/implementation/managers/HistoryManager.d.ts +19 -0
  52. package/dist/business/implementation/managers/HistoryManager.d.ts.map +1 -0
  53. package/dist/business/implementation/managers/HistoryManager.js +89 -0
  54. package/dist/business/implementation/managers/HistoryManager.js.map +1 -0
  55. package/dist/business/implementation/managers/TextVisualizationManager.d.ts +14 -0
  56. package/dist/business/implementation/managers/TextVisualizationManager.d.ts.map +1 -0
  57. package/dist/business/implementation/managers/TextVisualizationManager.js +228 -0
  58. package/dist/business/implementation/managers/TextVisualizationManager.js.map +1 -0
  59. package/dist/business/implementation/managers/geometry/GeometryManager.d.ts +23 -0
  60. package/dist/business/implementation/managers/geometry/GeometryManager.d.ts.map +1 -0
  61. package/dist/business/implementation/managers/geometry/GeometryManager.js +82 -0
  62. package/dist/business/implementation/managers/geometry/GeometryManager.js.map +1 -0
  63. package/dist/business/implementation/managers/geometry/GeometryMathManager.d.ts +73 -0
  64. package/dist/business/implementation/managers/geometry/GeometryMathManager.d.ts.map +1 -0
  65. package/dist/business/implementation/managers/geometry/GeometryMathManager.js +230 -0
  66. package/dist/business/implementation/managers/geometry/GeometryMathManager.js.map +1 -0
  67. package/dist/business/implementation/managers/geometry/GeometryState.d.ts +46 -0
  68. package/dist/business/implementation/managers/geometry/GeometryState.d.ts.map +1 -0
  69. package/dist/business/implementation/managers/geometry/GeometryState.js +323 -0
  70. package/dist/business/implementation/managers/geometry/GeometryState.js.map +1 -0
  71. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.d.ts +16 -0
  72. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.d.ts.map +1 -0
  73. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.js +157 -0
  74. package/dist/business/implementation/managers/geometry/helpers/GeometryManagerHelper.js.map +1 -0
  75. package/dist/business/implementation/managers/interaction/EventManager.d.ts +26 -0
  76. package/dist/business/implementation/managers/interaction/EventManager.d.ts.map +1 -0
  77. package/dist/business/implementation/managers/interaction/EventManager.js +63 -0
  78. package/dist/business/implementation/managers/interaction/EventManager.js.map +1 -0
  79. package/dist/business/implementation/managers/interaction/InteractionManager.d.ts +39 -0
  80. package/dist/business/implementation/managers/interaction/InteractionManager.d.ts.map +1 -0
  81. package/dist/business/implementation/managers/interaction/InteractionManager.js +237 -0
  82. package/dist/business/implementation/managers/interaction/InteractionManager.js.map +1 -0
  83. package/dist/business/implementation/managers/interaction/RestrictionManager.d.ts +19 -0
  84. package/dist/business/implementation/managers/interaction/RestrictionManager.d.ts.map +1 -0
  85. package/dist/business/implementation/managers/interaction/RestrictionManager.js +117 -0
  86. package/dist/business/implementation/managers/interaction/RestrictionManager.js.map +1 -0
  87. package/dist/business/implementation/managers/interaction/handlers/DeletionInteractionHandler.d.ts +10 -0
  88. package/dist/business/implementation/managers/interaction/handlers/DeletionInteractionHandler.d.ts.map +1 -0
  89. package/dist/business/implementation/managers/interaction/handlers/DeletionInteractionHandler.js +52 -0
  90. package/dist/business/implementation/managers/interaction/handlers/DeletionInteractionHandler.js.map +1 -0
  91. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.d.ts +14 -0
  92. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.d.ts.map +1 -0
  93. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.js +135 -0
  94. package/dist/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.js.map +1 -0
  95. package/dist/business/implementation/managers/interaction/handlers/MidPointInteractionHandler.d.ts +16 -0
  96. package/dist/business/implementation/managers/interaction/handlers/MidPointInteractionHandler.d.ts.map +1 -0
  97. package/dist/business/implementation/managers/interaction/handlers/MidPointInteractionHandler.js +113 -0
  98. package/dist/business/implementation/managers/interaction/handlers/MidPointInteractionHandler.js.map +1 -0
  99. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.d.ts +58 -0
  100. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.d.ts.map +1 -0
  101. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.js +377 -0
  102. package/dist/business/implementation/managers/interaction/helpers/InteractionManagerHelper.js.map +1 -0
  103. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.d.ts +19 -0
  104. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.d.ts.map +1 -0
  105. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.js +105 -0
  106. package/dist/business/implementation/managers/interaction/restrictions/AbstractRestriction.js.map +1 -0
  107. package/dist/business/implementation/managers/interaction/restrictions/axis/AxisRestriction.d.ts +22 -0
  108. package/dist/business/implementation/managers/interaction/restrictions/axis/AxisRestriction.d.ts.map +1 -0
  109. package/dist/business/implementation/managers/interaction/restrictions/axis/AxisRestriction.js +96 -0
  110. package/dist/business/implementation/managers/interaction/restrictions/axis/AxisRestriction.js.map +1 -0
  111. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.d.ts +39 -0
  112. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.d.ts.map +1 -0
  113. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.js +215 -0
  114. package/dist/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.js.map +1 -0
  115. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.d.ts +58 -0
  116. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.d.ts.map +1 -0
  117. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.js +180 -0
  118. package/dist/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.js.map +1 -0
  119. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.d.ts +38 -0
  120. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.d.ts.map +1 -0
  121. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.js +308 -0
  122. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.js.map +1 -0
  123. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.d.ts +37 -0
  124. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.d.ts.map +1 -0
  125. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.js +228 -0
  126. package/dist/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.js.map +1 -0
  127. package/dist/business/implementation/utils/numberCleaner.d.ts +2 -0
  128. package/dist/business/implementation/utils/numberCleaner.d.ts.map +1 -0
  129. package/dist/business/implementation/utils/numberCleaner.js +9 -0
  130. package/dist/business/implementation/utils/numberCleaner.js.map +1 -0
  131. package/dist/business/interfaces/IDrawingToolsManager.d.ts +270 -0
  132. package/dist/business/interfaces/IDrawingToolsManager.d.ts.map +1 -0
  133. package/dist/business/interfaces/IDrawingToolsManager.js +16 -0
  134. package/dist/business/interfaces/IDrawingToolsManager.js.map +1 -0
  135. package/dist/business/interfaces/IManager.d.ts +4 -0
  136. package/dist/business/interfaces/IManager.d.ts.map +1 -0
  137. package/dist/business/interfaces/IManager.js +3 -0
  138. package/dist/business/interfaces/IManager.js.map +1 -0
  139. package/dist/business/interfaces/IRestriction.d.ts +41 -0
  140. package/dist/business/interfaces/IRestriction.d.ts.map +1 -0
  141. package/dist/business/interfaces/IRestriction.js +13 -0
  142. package/dist/business/interfaces/IRestriction.js.map +1 -0
  143. package/dist/business/interfaces/IRestrictionBase.d.ts +19 -0
  144. package/dist/business/interfaces/IRestrictionBase.d.ts.map +1 -0
  145. package/dist/business/interfaces/IRestrictionBase.js +5 -0
  146. package/dist/business/interfaces/IRestrictionBase.js.map +1 -0
  147. package/dist/business/interfaces/ISnapRestriction.d.ts +50 -0
  148. package/dist/business/interfaces/ISnapRestriction.d.ts.map +1 -0
  149. package/dist/business/interfaces/ISnapRestriction.js +4 -0
  150. package/dist/business/interfaces/ISnapRestriction.js.map +1 -0
  151. package/dist/business/interfaces/events/EventResponseMapping.d.ts +19 -0
  152. package/dist/business/interfaces/events/EventResponseMapping.d.ts.map +1 -0
  153. package/dist/business/interfaces/events/EventResponseMapping.js +4 -0
  154. package/dist/business/interfaces/events/EventResponseMapping.js.map +1 -0
  155. package/dist/business/interfaces/events/IDrawingToolsEvent.d.ts +12 -0
  156. package/dist/business/interfaces/events/IDrawingToolsEvent.d.ts.map +1 -0
  157. package/dist/business/interfaces/events/IDrawingToolsEvent.js +3 -0
  158. package/dist/business/interfaces/events/IDrawingToolsEvent.js.map +1 -0
  159. package/dist/index.d.ts +32 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +45 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/three/CSS2DRenderer.d.ts +32 -0
  164. package/dist/three/CSS2DRenderer.d.ts.map +1 -0
  165. package/dist/three/CSS2DRenderer.js +137 -0
  166. package/dist/three/CSS2DRenderer.js.map +1 -0
  167. package/package.json +55 -0
  168. package/src/api/implementation/DrawingToolsApi.ts +135 -0
  169. package/src/api/implementation/restrictions/AbstractRestrictionApi.ts +34 -0
  170. package/src/api/implementation/restrictions/AbstractSnapRestrictionApi.ts +36 -0
  171. package/src/api/implementation/restrictions/axis/AxisRestrictionApi.ts +19 -0
  172. package/src/api/implementation/restrictions/geometry/GeometryRestrictionApi.ts +56 -0
  173. package/src/api/implementation/restrictions/plane/PlaneRestrictionApi.ts +63 -0
  174. package/src/api/implementation/restrictions/plane/snap/AngularRestrictionApi.ts +35 -0
  175. package/src/api/implementation/restrictions/plane/snap/GridRestrictionApi.ts +35 -0
  176. package/src/api/interfaces/IDrawingToolsApi.ts +99 -0
  177. package/src/api/interfaces/IRestrictionApi.ts +15 -0
  178. package/src/api/interfaces/ISnapRestrictionApi.ts +18 -0
  179. package/src/business/implementation/DrawingToolsManager.ts +619 -0
  180. package/src/business/implementation/managers/HistoryManager.ts +101 -0
  181. package/src/business/implementation/managers/TextVisualizationManager.ts +245 -0
  182. package/src/business/implementation/managers/geometry/GeometryManager.ts +95 -0
  183. package/src/business/implementation/managers/geometry/GeometryMathManager.ts +273 -0
  184. package/src/business/implementation/managers/geometry/GeometryState.ts +436 -0
  185. package/src/business/implementation/managers/geometry/helpers/GeometryManagerHelper.ts +170 -0
  186. package/src/business/implementation/managers/interaction/EventManager.ts +80 -0
  187. package/src/business/implementation/managers/interaction/InteractionManager.ts +268 -0
  188. package/src/business/implementation/managers/interaction/RestrictionManager.ts +135 -0
  189. package/src/business/implementation/managers/interaction/handlers/DeletionInteractionHandler.ts +48 -0
  190. package/src/business/implementation/managers/interaction/handlers/InsertionInteractionHandler.ts +149 -0
  191. package/src/business/implementation/managers/interaction/handlers/MidPointInteractionHandler.ts +127 -0
  192. package/src/business/implementation/managers/interaction/helpers/InteractionManagerHelper.ts +411 -0
  193. package/src/business/implementation/managers/interaction/restrictions/AbstractRestriction.ts +99 -0
  194. package/src/business/implementation/managers/interaction/restrictions/axis/AxisRestriction.ts +107 -0
  195. package/src/business/implementation/managers/interaction/restrictions/geometry/GeometryRestriction.ts +237 -0
  196. package/src/business/implementation/managers/interaction/restrictions/plane/PlaneRestriction.ts +257 -0
  197. package/src/business/implementation/managers/interaction/restrictions/plane/snap/AngularRestriction.ts +384 -0
  198. package/src/business/implementation/managers/interaction/restrictions/plane/snap/GridRestriction.ts +262 -0
  199. package/src/business/implementation/utils/numberCleaner.ts +5 -0
  200. package/src/business/interfaces/IDrawingToolsManager.ts +313 -0
  201. package/src/business/interfaces/IManager.ts +7 -0
  202. package/src/business/interfaces/IRestriction.ts +64 -0
  203. package/src/business/interfaces/IRestrictionBase.ts +33 -0
  204. package/src/business/interfaces/ISnapRestriction.ts +70 -0
  205. package/src/business/interfaces/events/EventResponseMapping.ts +19 -0
  206. package/src/business/interfaces/events/IDrawingToolsEvent.ts +16 -0
  207. package/src/index.ts +72 -0
  208. package/src/three/CSS2DRenderer.ts +212 -0
  209. package/tsconfig.json +17 -0
@@ -0,0 +1,544 @@
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 _DrawingToolsManager_callbacks, _DrawingToolsManager_defaultTextures, _DrawingToolsManager_eventEngine, _DrawingToolsManager_eventManager, _DrawingToolsManager_geometryManager, _DrawingToolsManager_geometryMathManager, _DrawingToolsManager_historyManager, _DrawingToolsManager_interactionManager, _DrawingToolsManager_keysPressed, _DrawingToolsManager_parentNode, _DrawingToolsManager_settings, _DrawingToolsManager_textVisualizationManager, _DrawingToolsManager_uuidGenerator, _DrawingToolsManager_viewport, _DrawingToolsManager_closed, _DrawingToolsManager_continuousRenderingFlag, _DrawingToolsManager_uuid;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DrawingToolsManager = void 0;
16
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
17
+ const EventManager_1 = require("./managers/interaction/EventManager");
18
+ const viewer_1 = require("@shapediver/viewer");
19
+ const GeometryManager_1 = require("./managers/geometry/GeometryManager");
20
+ const GeometryMathManager_1 = require("./managers/geometry/GeometryMathManager");
21
+ const HistoryManager_1 = require("./managers/HistoryManager");
22
+ const InteractionManager_1 = require("./managers/interaction/InteractionManager");
23
+ const IRestriction_1 = require("../interfaces/IRestriction");
24
+ const TextVisualizationManager_1 = require("./managers/TextVisualizationManager");
25
+ const gl_matrix_1 = require("gl-matrix");
26
+ class DrawingToolsManager {
27
+ // #endregion Properties (17)
28
+ // #region Constructors (1)
29
+ constructor(viewport, callbacks, settings, defaultTextures) {
30
+ // #region Properties (17)
31
+ _DrawingToolsManager_callbacks.set(this, void 0);
32
+ _DrawingToolsManager_defaultTextures.set(this, void 0);
33
+ _DrawingToolsManager_eventEngine.set(this, viewer_shared_services_1.EventEngine.instance);
34
+ _DrawingToolsManager_eventManager.set(this, void 0);
35
+ _DrawingToolsManager_geometryManager.set(this, void 0);
36
+ _DrawingToolsManager_geometryMathManager.set(this, void 0);
37
+ _DrawingToolsManager_historyManager.set(this, void 0);
38
+ _DrawingToolsManager_interactionManager.set(this, void 0);
39
+ _DrawingToolsManager_keysPressed.set(this, {});
40
+ _DrawingToolsManager_parentNode.set(this, void 0);
41
+ _DrawingToolsManager_settings.set(this, void 0);
42
+ _DrawingToolsManager_textVisualizationManager.set(this, void 0);
43
+ _DrawingToolsManager_uuidGenerator.set(this, viewer_shared_services_1.UuidGenerator.instance);
44
+ _DrawingToolsManager_viewport.set(this, void 0);
45
+ _DrawingToolsManager_closed.set(this, false);
46
+ _DrawingToolsManager_continuousRenderingFlag.set(this, void 0);
47
+ _DrawingToolsManager_uuid.set(this, __classPrivateFieldGet(this, _DrawingToolsManager_uuidGenerator, "f").create());
48
+ __classPrivateFieldSet(this, _DrawingToolsManager_viewport, viewport, "f");
49
+ __classPrivateFieldSet(this, _DrawingToolsManager_callbacks, callbacks, "f");
50
+ __classPrivateFieldSet(this, _DrawingToolsManager_settings, this.cleanSettings(settings), "f");
51
+ __classPrivateFieldSet(this, _DrawingToolsManager_defaultTextures, defaultTextures, "f");
52
+ __classPrivateFieldSet(this, _DrawingToolsManager_parentNode, new viewer_1.TreeNode(`DrawingToolsManager_${__classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f")}`), "f");
53
+ viewer_1.sceneTree.root.addChild(__classPrivateFieldGet(this, _DrawingToolsManager_parentNode, "f"));
54
+ viewer_1.sceneTree.root.updateVersion(false, false);
55
+ __classPrivateFieldSet(this, _DrawingToolsManager_geometryMathManager, new GeometryMathManager_1.GeometryMathManager(this), "f");
56
+ __classPrivateFieldSet(this, _DrawingToolsManager_geometryManager, new GeometryManager_1.GeometryManager(this), "f");
57
+ __classPrivateFieldSet(this, _DrawingToolsManager_interactionManager, new InteractionManager_1.InteractionManager(this), "f");
58
+ __classPrivateFieldSet(this, _DrawingToolsManager_textVisualizationManager, new TextVisualizationManager_1.TextVisualizationManager(this), "f");
59
+ __classPrivateFieldSet(this, _DrawingToolsManager_historyManager, new HistoryManager_1.HistoryManager(this), "f");
60
+ __classPrivateFieldSet(this, _DrawingToolsManager_eventManager, new EventManager_1.EventManager(__classPrivateFieldGet(this, _DrawingToolsManager_viewport, "f"), {
61
+ onDown: this.onDown.bind(this),
62
+ onUp: this.onUp.bind(this),
63
+ onOut: this.onOut.bind(this),
64
+ onMove: this.onMove.bind(this),
65
+ onKeyDown: this.onKeyDown.bind(this),
66
+ onKeyUp: this.onKeyUp.bind(this)
67
+ }), "f");
68
+ __classPrivateFieldSet(this, _DrawingToolsManager_continuousRenderingFlag, __classPrivateFieldGet(this, _DrawingToolsManager_viewport, "f").addFlag(viewer_1.FLAG_TYPE.CONTINUOUS_RENDERING), "f");
69
+ // special case, the scene is still empty, so we create a grid by default and show the scene
70
+ if (viewer_1.sceneTree.root.boundingBox.isEmpty())
71
+ __classPrivateFieldGet(this, _DrawingToolsManager_viewport, "f").show = true;
72
+ // add listener for geometry changes, if autoUpdate is enabled the drawing tool will update automatically
73
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").addListener(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, (e) => {
74
+ const event = e;
75
+ if (event.temporary === false && event.points !== undefined && event.recordHistory !== false) {
76
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").general.autoUpdate && __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").insertionInteractionHandler.insertionActive === false && (__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.autoClose || __classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.close === __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").geometryState.closeLoop)) {
77
+ this.update();
78
+ }
79
+ }
80
+ });
81
+ }
82
+ // #endregion Constructors (1)
83
+ // #region Public Getters And Setters (22)
84
+ get callbacks() {
85
+ return __classPrivateFieldGet(this, _DrawingToolsManager_callbacks, "f");
86
+ }
87
+ get closed() {
88
+ return __classPrivateFieldGet(this, _DrawingToolsManager_closed, "f");
89
+ }
90
+ get defaultTextures() {
91
+ return __classPrivateFieldGet(this, _DrawingToolsManager_defaultTextures, "f");
92
+ }
93
+ get geometryManager() {
94
+ return __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f");
95
+ }
96
+ get geometryMathManager() {
97
+ return __classPrivateFieldGet(this, _DrawingToolsManager_geometryMathManager, "f");
98
+ }
99
+ get geometryState() {
100
+ return __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").geometryState;
101
+ }
102
+ get historyManager() {
103
+ return __classPrivateFieldGet(this, _DrawingToolsManager_historyManager, "f");
104
+ }
105
+ get indicesArrayLines() {
106
+ return __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").geometryState.indicesArrayLines;
107
+ }
108
+ get insertionActive() {
109
+ return __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").insertionInteractionHandler.insertionActive;
110
+ }
111
+ get interactionManager() {
112
+ return __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f");
113
+ }
114
+ get parentNode() {
115
+ return __classPrivateFieldGet(this, _DrawingToolsManager_parentNode, "f");
116
+ }
117
+ get positionArray() {
118
+ return __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").geometryState.positionArray;
119
+ }
120
+ get restrictionManager() {
121
+ return __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").restrictionManager;
122
+ }
123
+ get restrictions() {
124
+ return this.restrictionManager.restrictions;
125
+ }
126
+ get settings() {
127
+ return __classPrivateFieldGet(this, _DrawingToolsManager_settings, "f");
128
+ }
129
+ get showDistanceLabels() {
130
+ return __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f").showDistanceLabels;
131
+ }
132
+ set showDistanceLabels(value) {
133
+ __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f").showDistanceLabels = value;
134
+ }
135
+ get showPointLabels() {
136
+ return __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f").showPointLabels;
137
+ }
138
+ set showPointLabels(value) {
139
+ __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f").showPointLabels = value;
140
+ }
141
+ get textVisualizationManager() {
142
+ return __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f");
143
+ }
144
+ get uuid() {
145
+ return __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f");
146
+ }
147
+ get viewport() {
148
+ return __classPrivateFieldGet(this, _DrawingToolsManager_viewport, "f");
149
+ }
150
+ // #endregion Public Getters And Setters (22)
151
+ // #region Public Methods (28)
152
+ /**
153
+ * Add a point to the drawing tool.
154
+ *
155
+ * @param index
156
+ * @param position
157
+ * @returns
158
+ */
159
+ addPoint(index, position, temporary = false) {
160
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_closed, "f"))
161
+ return;
162
+ if (!__classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").canAddPoint()) {
163
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.MAXIMUM_POINTS, {
164
+ viewportId: this.viewport.id,
165
+ drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f"),
166
+ message: `The maximum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints}) has been exceeded.`
167
+ });
168
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError(`The maximum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints}) has been exceeded.`);
169
+ }
170
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").addPoint(index, position, temporary);
171
+ }
172
+ addPointTemporary(index, position) {
173
+ this.addPoint(index, position, true);
174
+ }
175
+ /**
176
+ * Add a ray tracing intersection restriction to the drawing tool.
177
+ *
178
+ * @param planeProperties
179
+ * @returns
180
+ */
181
+ addRestriction(properties, token) {
182
+ return __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").restrictionManager.addRestriction(properties, token);
183
+ }
184
+ canRedo() {
185
+ return __classPrivateFieldGet(this, _DrawingToolsManager_historyManager, "f").canRedo();
186
+ }
187
+ canUndo() {
188
+ return __classPrivateFieldGet(this, _DrawingToolsManager_historyManager, "f").canUndo();
189
+ }
190
+ cancel() {
191
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_closed, "f"))
192
+ return;
193
+ try {
194
+ __classPrivateFieldGet(this, _DrawingToolsManager_callbacks, "f").onCancel();
195
+ }
196
+ catch (e) {
197
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError('An error occurred while cancelling the drawing tool.');
198
+ }
199
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.CANCEL, { viewportId: this.viewport.id, drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f") });
200
+ this.close();
201
+ }
202
+ close() {
203
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_closed, "f"))
204
+ return;
205
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_continuousRenderingFlag, "f"))
206
+ __classPrivateFieldGet(this, _DrawingToolsManager_viewport, "f").removeFlag(__classPrivateFieldGet(this, _DrawingToolsManager_continuousRenderingFlag, "f"));
207
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventManager, "f").close();
208
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryMathManager, "f").close();
209
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").close();
210
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").close();
211
+ __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f").close();
212
+ viewer_1.sceneTree.root.removeChild(__classPrivateFieldGet(this, _DrawingToolsManager_parentNode, "f"));
213
+ viewer_1.sceneTree.root.updateVersion(false, false);
214
+ __classPrivateFieldSet(this, _DrawingToolsManager_closed, true, "f");
215
+ }
216
+ getPointsData() {
217
+ return this.geometryState.getPointsData();
218
+ }
219
+ keyPressed(key) {
220
+ if (Array.isArray(key)) {
221
+ // check if one of the keys is pressed
222
+ let result = false;
223
+ for (let i = 0; i < key.length; i++) {
224
+ result = result || this.keyPressCheck(key[i]);
225
+ }
226
+ return result;
227
+ }
228
+ else {
229
+ return this.keyPressCheck(key);
230
+ }
231
+ }
232
+ movePoint(index, position, temporary = false) {
233
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").movePoint(index, position, temporary);
234
+ }
235
+ movePointTemporary(index, position) {
236
+ this.movePoint(index, position, true);
237
+ }
238
+ onDown(event, ray) {
239
+ if (this.closed)
240
+ return;
241
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").onDown(event, ray);
242
+ }
243
+ onKeyDown(event) {
244
+ if (this.closed)
245
+ return;
246
+ __classPrivateFieldGet(this, _DrawingToolsManager_keysPressed, "f")[event.key] = true;
247
+ const insertKeyPressed = this.keyPressed(__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").controls.insert);
248
+ const cancelKeyPressed = this.keyPressed(__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").controls.cancel);
249
+ const confirmKeyPressed = this.keyPressed(__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").controls.confirm);
250
+ const deleteKeyPressed = this.keyPressed(__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").controls.delete);
251
+ const undoKeyPressed = this.keyPressed(__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").controls.undo);
252
+ const redoKeyPressed = this.keyPressed(__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").controls.redo);
253
+ /**
254
+ * IF CONFIRM KEY IS PRESSED
255
+ * - IF INSERTION IS ACTIVE, STOP INSERTION
256
+ * - IF INSERTION IS NOT ACTIVE, UPDATE DRAWING TOOL
257
+ */
258
+ if (confirmKeyPressed) {
259
+ if (this.insertionActive) {
260
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").stopInsertion();
261
+ this.update();
262
+ }
263
+ else {
264
+ this.update();
265
+ }
266
+ }
267
+ /**
268
+ * IF CANCEL KEY IS PRESSED
269
+ * - IF INSERTION IS ACTIVE, STOP INSERTION
270
+ * - IF INSERTION IS NOT ACTIVE, CANCEL DRAWING TOOL
271
+ */
272
+ if (cancelKeyPressed) {
273
+ if (this.insertionActive) {
274
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").stopInsertion();
275
+ }
276
+ else {
277
+ this.cancel();
278
+ }
279
+ }
280
+ /**
281
+ * IF INSERT KEY IS PRESSED
282
+ * - START INSERTION
283
+ */
284
+ if (insertKeyPressed) {
285
+ this.startInsertion();
286
+ }
287
+ /**
288
+ * IF DELETE KEY IS PRESSED
289
+ * - DELETE SELECTION
290
+ */
291
+ if (deleteKeyPressed) {
292
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").deleteSelection();
293
+ }
294
+ /**
295
+ * IF UNDO KEY IS PRESSED
296
+ * - UNDO
297
+ */
298
+ if (undoKeyPressed) {
299
+ __classPrivateFieldGet(this, _DrawingToolsManager_historyManager, "f").undo();
300
+ }
301
+ /**
302
+ * IF REDO KEY IS PRESSED
303
+ * - REDO
304
+ */
305
+ if (redoKeyPressed) {
306
+ __classPrivateFieldGet(this, _DrawingToolsManager_historyManager, "f").redo();
307
+ }
308
+ }
309
+ onKeyUp(event) {
310
+ if (this.closed)
311
+ return;
312
+ __classPrivateFieldGet(this, _DrawingToolsManager_keysPressed, "f")[event.key] = false;
313
+ }
314
+ onMove(event, ray) {
315
+ if (this.closed)
316
+ return;
317
+ if (!__classPrivateFieldGet(this, _DrawingToolsManager_continuousRenderingFlag, "f"))
318
+ __classPrivateFieldSet(this, _DrawingToolsManager_continuousRenderingFlag, __classPrivateFieldGet(this, _DrawingToolsManager_viewport, "f").addFlag(viewer_1.FLAG_TYPE.CONTINUOUS_RENDERING), "f");
319
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").onMove(event, ray);
320
+ }
321
+ onOut() {
322
+ if (this.closed)
323
+ return;
324
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").onOut();
325
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_continuousRenderingFlag, "f")) {
326
+ __classPrivateFieldGet(this, _DrawingToolsManager_viewport, "f").removeFlag(__classPrivateFieldGet(this, _DrawingToolsManager_continuousRenderingFlag, "f"));
327
+ __classPrivateFieldSet(this, _DrawingToolsManager_continuousRenderingFlag, undefined, "f");
328
+ }
329
+ }
330
+ onUp() {
331
+ if (this.closed)
332
+ return;
333
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").onUp();
334
+ }
335
+ redo() {
336
+ __classPrivateFieldGet(this, _DrawingToolsManager_historyManager, "f").redo();
337
+ }
338
+ /**
339
+ * Remove a point from the drawing tool.
340
+ *
341
+ * @param index
342
+ * @returns
343
+ */
344
+ removePoint(index, temporary = false) {
345
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_closed, "f"))
346
+ return;
347
+ if (!this.geometryState.canRemovePoint()) {
348
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.MINIMUM_POINTS, {
349
+ viewportId: this.viewport.id,
350
+ drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f"),
351
+ message: `The minimum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints}) has not been met.`
352
+ });
353
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError(`The minimum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints}) has not been met.`);
354
+ }
355
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").removePoint(index, temporary);
356
+ }
357
+ removePointTemporary(index) {
358
+ this.removePoint(index, true);
359
+ }
360
+ removePoints(indices) {
361
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_closed, "f"))
362
+ return;
363
+ if (!this.geometryState.canRemovePoint(indices.length)) {
364
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.MINIMUM_POINTS, {
365
+ viewportId: this.viewport.id,
366
+ drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f"),
367
+ message: `The minimum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints}) has not been met.`
368
+ });
369
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError(`The minimum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints}) has not been met.`);
370
+ }
371
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").removePoints(indices);
372
+ }
373
+ /**
374
+ * Remove a restriction from the drawing tool.
375
+ *
376
+ * @param token
377
+ */
378
+ removeRestriction(token) {
379
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").restrictionManager.removeRestriction(token);
380
+ }
381
+ resetMaterialIndices() {
382
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").resetMaterialIndices();
383
+ }
384
+ startInsertion() {
385
+ if (this.geometryState.canAddPoint()) {
386
+ __classPrivateFieldGet(this, _DrawingToolsManager_interactionManager, "f").startInsertion();
387
+ }
388
+ else {
389
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.MAXIMUM_POINTS, {
390
+ viewportId: this.viewport.id,
391
+ drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f"),
392
+ message: `The maximum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints}) has been exceeded.`
393
+ });
394
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError(`The maximum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints}) has been exceeded.`);
395
+ }
396
+ }
397
+ undo() {
398
+ __classPrivateFieldGet(this, _DrawingToolsManager_historyManager, "f").undo();
399
+ }
400
+ update() {
401
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_closed, "f"))
402
+ return;
403
+ const pointsCount = this.geometryState.getPointCount();
404
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints !== undefined && pointsCount < __classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints) {
405
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.MINIMUM_POINTS, {
406
+ viewportId: this.viewport.id,
407
+ drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f"),
408
+ message: `The minimum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints}) has not been met. Current number of points: ${pointsCount}.`
409
+ });
410
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError(`The minimum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.minPoints}) has not been met. Current number of points: ${pointsCount}.`);
411
+ }
412
+ else if (__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints !== undefined && pointsCount > __classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints) {
413
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.MAXIMUM_POINTS, {
414
+ viewportId: this.viewport.id,
415
+ drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f"),
416
+ message: `The maximum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints}) has been exceeded. Current number of points: ${pointsCount}.`
417
+ });
418
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError(`The maximum amount of points (${__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.maxPoints}) has been exceeded. Current number of points: ${pointsCount}.`);
419
+ }
420
+ else if (!(__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.autoClose || __classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").geometry.close === __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").geometryState.closeLoop)) {
421
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.UNCLOSED_LOOP, {
422
+ viewportId: this.viewport.id,
423
+ drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f"),
424
+ message: 'The geometry is not closed, but is required to be closed.'
425
+ });
426
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError('The geometry is not closed, but is required to be closed.');
427
+ }
428
+ else {
429
+ const pointsData = this.geometryState.getPointsData();
430
+ try {
431
+ __classPrivateFieldGet(this, _DrawingToolsManager_callbacks, "f").onUpdate(pointsData);
432
+ __classPrivateFieldGet(this, _DrawingToolsManager_eventEngine, "f").emitEvent(viewer_shared_services_1.EVENTTYPE_DRAWING_TOOLS.UPDATE, { viewportId: this.viewport.id, drawingToolsId: __classPrivateFieldGet(this, _DrawingToolsManager_uuid, "f") });
433
+ }
434
+ catch (e) {
435
+ throw new viewer_shared_services_1.ShapeDiverViewerDrawingToolsError('An error occurred while updating the drawing tool.');
436
+ }
437
+ if (__classPrivateFieldGet(this, _DrawingToolsManager_settings, "f").general.closeOnUpdate)
438
+ this.close();
439
+ return pointsData;
440
+ }
441
+ }
442
+ updateMaterialIndex(index, materialIndex) {
443
+ __classPrivateFieldGet(this, _DrawingToolsManager_geometryManager, "f").updateMaterialIndex(index, materialIndex);
444
+ }
445
+ updateTextVisualization() {
446
+ __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f").createPointLabels();
447
+ __classPrivateFieldGet(this, _DrawingToolsManager_textVisualizationManager, "f").createDistanceLabels();
448
+ }
449
+ // #endregion Public Methods (28)
450
+ // #region Private Methods (2)
451
+ cleanSettings(settingsOptional) {
452
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
453
+ if (typeof settingsOptional === 'string')
454
+ settingsOptional = JSON.parse(settingsOptional);
455
+ const settings = {
456
+ geometry: {
457
+ points: [],
458
+ mode: 'lines',
459
+ close: true,
460
+ autoClose: false
461
+ },
462
+ restrictions: {},
463
+ visualization: {
464
+ distanceMultiplicationFactor: ((_a = settingsOptional.visualization) === null || _a === void 0 ? void 0 : _a.distanceMultiplicationFactor) === undefined ? 2 : settingsOptional.visualization.distanceMultiplicationFactor,
465
+ pointLabels: ((_b = settingsOptional.visualization) === null || _b === void 0 ? void 0 : _b.pointLabels) === undefined ? false : settingsOptional.visualization.pointLabels,
466
+ distanceLabels: ((_c = settingsOptional.visualization) === null || _c === void 0 ? void 0 : _c.distanceLabels) === undefined ? true : settingsOptional.visualization.distanceLabels,
467
+ points: ((_d = settingsOptional.visualization) === null || _d === void 0 ? void 0 : _d.points) === undefined ? {
468
+ size_0: 15, size_1: 20, size_2: 15, size_3: 20, size_4: 15, size_5: 20,
469
+ color_0: '#0d44f0', color_1: '#197aeb', color_2: '#9e27d8', color_3: '#bc47fd', color_4: '#00ff78', color_5: '#00ff78'
470
+ } : settingsOptional.visualization.points,
471
+ lines: ((_e = settingsOptional.visualization) === null || _e === void 0 ? void 0 : _e.lines) === undefined ? {
472
+ color: '#0d44f0'
473
+ } : settingsOptional.visualization.lines
474
+ },
475
+ controls: {
476
+ insert: ((_f = settingsOptional.controls) === null || _f === void 0 ? void 0 : _f.insert) === undefined ? ['Insert', '+'] : settingsOptional.controls.insert,
477
+ delete: ((_g = settingsOptional.controls) === null || _g === void 0 ? void 0 : _g.delete) === undefined ? ['Delete', '-'] : settingsOptional.controls.delete,
478
+ confirm: ((_h = settingsOptional.controls) === null || _h === void 0 ? void 0 : _h.confirm) === undefined ? 'Enter' : settingsOptional.controls.confirm,
479
+ cancel: ((_j = settingsOptional.controls) === null || _j === void 0 ? void 0 : _j.cancel) === undefined ? 'Escape' : settingsOptional.controls.cancel,
480
+ undo: ((_k = settingsOptional.controls) === null || _k === void 0 ? void 0 : _k.undo) === undefined ? 'Control+z' : settingsOptional.controls.undo,
481
+ redo: ((_l = settingsOptional.controls) === null || _l === void 0 ? void 0 : _l.redo) === undefined ? 'Control+y' : settingsOptional.controls.redo
482
+ },
483
+ general: {
484
+ autoStart: ((_m = settingsOptional.general) === null || _m === void 0 ? void 0 : _m.autoStart) === undefined ? true : settingsOptional.general.autoStart,
485
+ autoUpdate: ((_o = settingsOptional.general) === null || _o === void 0 ? void 0 : _o.autoUpdate) === undefined ? false : settingsOptional.general.autoUpdate,
486
+ closeOnUpdate: ((_p = settingsOptional.general) === null || _p === void 0 ? void 0 : _p.closeOnUpdate) === undefined ? false : settingsOptional.general.closeOnUpdate,
487
+ displayUnit: ((_q = settingsOptional.general) === null || _q === void 0 ? void 0 : _q.displayUnit) === undefined ? '' : settingsOptional.general.displayUnit
488
+ }
489
+ };
490
+ if (settingsOptional.geometry !== undefined) {
491
+ settings.geometry = {
492
+ points: settingsOptional.geometry.points === undefined ? [] : settingsOptional.geometry.points,
493
+ mode: settingsOptional.geometry.mode === 'points' ? 'points' : 'lines',
494
+ minPoints: settingsOptional.geometry.minPoints,
495
+ maxPoints: settingsOptional.geometry.maxPoints,
496
+ strictMinMaxPoints: settingsOptional.geometry.strictMinMaxPoints === undefined ? true : settingsOptional.geometry.strictMinMaxPoints,
497
+ close: settingsOptional.geometry.close === undefined ? true : settingsOptional.geometry.close,
498
+ autoClose: settingsOptional.geometry.autoClose === undefined ? true : settingsOptional.geometry.autoClose
499
+ };
500
+ }
501
+ const min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity);
502
+ const max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity);
503
+ for (let i = 0; i < settings.geometry.points.length; i++) {
504
+ const point = settings.geometry.points[i];
505
+ min[0] = Math.min(min[0], point[0]);
506
+ min[1] = Math.min(min[1], point[1]);
507
+ min[2] = Math.min(min[2], point[2]);
508
+ max[0] = Math.max(max[0], point[0]);
509
+ max[1] = Math.max(max[1], point[1]);
510
+ max[2] = Math.max(max[2], point[2]);
511
+ }
512
+ if (settingsOptional.restrictions === undefined || Object.keys(settingsOptional.restrictions).length === 0) {
513
+ settings.restrictions['plane'] = { type: IRestriction_1.RESTRICTION_TYPE.PLANE };
514
+ settings.restrictions['axis'] = { type: IRestriction_1.RESTRICTION_TYPE.AXIS };
515
+ }
516
+ else {
517
+ settings.restrictions = settingsOptional.restrictions;
518
+ }
519
+ return settings;
520
+ }
521
+ keyPressCheck(key) {
522
+ const pressedKeys = Object.keys(__classPrivateFieldGet(this, _DrawingToolsManager_keysPressed, "f")).filter(key => __classPrivateFieldGet(this, _DrawingToolsManager_keysPressed, "f")[key] === true);
523
+ // check if it the only key that is pressed
524
+ if (key.includes('+') && key.length > 1) {
525
+ const keys = key.split('+');
526
+ // there are more keys pressed than the keys in the combination
527
+ if (keys.length !== pressedKeys.length)
528
+ return false;
529
+ let result = true;
530
+ for (let i = 0; i < keys.length; i++)
531
+ result = result && (__classPrivateFieldGet(this, _DrawingToolsManager_keysPressed, "f")[keys[i]] || false);
532
+ return result;
533
+ }
534
+ else {
535
+ // there are also other keys pressed
536
+ if (pressedKeys.length > 1)
537
+ return false;
538
+ return __classPrivateFieldGet(this, _DrawingToolsManager_keysPressed, "f")[key] || false;
539
+ }
540
+ }
541
+ }
542
+ exports.DrawingToolsManager = DrawingToolsManager;
543
+ _DrawingToolsManager_callbacks = new WeakMap(), _DrawingToolsManager_defaultTextures = new WeakMap(), _DrawingToolsManager_eventEngine = new WeakMap(), _DrawingToolsManager_eventManager = new WeakMap(), _DrawingToolsManager_geometryManager = new WeakMap(), _DrawingToolsManager_geometryMathManager = new WeakMap(), _DrawingToolsManager_historyManager = new WeakMap(), _DrawingToolsManager_interactionManager = new WeakMap(), _DrawingToolsManager_keysPressed = new WeakMap(), _DrawingToolsManager_parentNode = new WeakMap(), _DrawingToolsManager_settings = new WeakMap(), _DrawingToolsManager_textVisualizationManager = new WeakMap(), _DrawingToolsManager_uuidGenerator = new WeakMap(), _DrawingToolsManager_viewport = new WeakMap(), _DrawingToolsManager_closed = new WeakMap(), _DrawingToolsManager_continuousRenderingFlag = new WeakMap(), _DrawingToolsManager_uuid = new WeakMap();
544
+ //# sourceMappingURL=DrawingToolsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawingToolsManager.js","sourceRoot":"","sources":["../../../src/business/implementation/DrawingToolsManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { DrawingToolsManager } from '../DrawingToolsManager';
2
+ import { IManager } from '../../interfaces/IManager';
3
+ import { PointsData } from '../../interfaces/IDrawingToolsManager';
4
+ export declare type HistoryState = {
5
+ points: PointsData;
6
+ };
7
+ export declare class HistoryManager implements IManager {
8
+ #private;
9
+ constructor(drawingToolsManager: DrawingToolsManager);
10
+ applyState(state: HistoryState): void;
11
+ canRedo(): boolean;
12
+ canUndo(): boolean;
13
+ close(): void;
14
+ getState(): HistoryState;
15
+ recordState(state: HistoryState): void;
16
+ redo(): void;
17
+ undo(): void;
18
+ }
19
+ //# sourceMappingURL=HistoryManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HistoryManager.d.ts","sourceRoot":"","sources":["../../../../src/business/implementation/managers/HistoryManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAInE,oBAAY,YAAY,GAAG;IACvB,MAAM,EAAE,UAAU,CAAC;CACtB,CAAC;AAMF,qBAAa,cAAe,YAAW,QAAQ;;gBAW/B,mBAAmB,EAAE,mBAAmB;IAyB7C,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAIrC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;IAIlB,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI,YAAY;IAIxB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAMtC,IAAI,IAAI,IAAI;IASZ,IAAI,IAAI,IAAI;CAUtB"}