@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,89 @@
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 _HistoryManager_currentStateIndex, _HistoryManager_drawingToolsManager, _HistoryManager_history;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.HistoryManager = void 0;
16
+ const viewer_1 = require("@shapediver/viewer");
17
+ // #endregion Type aliases (1)
18
+ // #region Classes (1)
19
+ class HistoryManager {
20
+ // #endregion Properties (3)
21
+ // #region Constructors (1)
22
+ constructor(drawingToolsManager) {
23
+ // #region Properties (3)
24
+ _HistoryManager_currentStateIndex.set(this, -1);
25
+ _HistoryManager_drawingToolsManager.set(this, void 0);
26
+ _HistoryManager_history.set(this, []);
27
+ __classPrivateFieldSet(this, _HistoryManager_drawingToolsManager, drawingToolsManager, "f");
28
+ (0, viewer_1.addListener)(viewer_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, (e) => {
29
+ const event = e;
30
+ if (event.temporary === false && event.points !== undefined && event.fromHistory !== true && event.recordHistory !== false) {
31
+ /**
32
+ * DO SOME CHECKS TO ENSURE THAT THE STATE IS CORRECT
33
+ */
34
+ // 1. within number of points
35
+ if (__classPrivateFieldGet(this, _HistoryManager_drawingToolsManager, "f").geometryState.checkNumberOfPoints(event.points.length) === false)
36
+ return;
37
+ // 2. closed loop if it should be closed
38
+ if (__classPrivateFieldGet(this, _HistoryManager_drawingToolsManager, "f").settings.geometry.close === true && __classPrivateFieldGet(this, _HistoryManager_drawingToolsManager, "f").geometryState.closeLoop === false && __classPrivateFieldGet(this, _HistoryManager_drawingToolsManager, "f").settings.geometry.autoClose === false)
39
+ return;
40
+ this.recordState({
41
+ points: event.points
42
+ });
43
+ }
44
+ });
45
+ }
46
+ // #endregion Constructors (1)
47
+ // #region Public Methods (8)
48
+ applyState(state) {
49
+ __classPrivateFieldGet(this, _HistoryManager_drawingToolsManager, "f").geometryState.updateDataFromHistory(state.points);
50
+ }
51
+ canRedo() {
52
+ return __classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f") < __classPrivateFieldGet(this, _HistoryManager_history, "f").length - 1;
53
+ }
54
+ canUndo() {
55
+ return __classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f") > 0;
56
+ }
57
+ close() {
58
+ __classPrivateFieldSet(this, _HistoryManager_currentStateIndex, -1, "f");
59
+ __classPrivateFieldSet(this, _HistoryManager_history, [], "f");
60
+ }
61
+ getState() {
62
+ return __classPrivateFieldGet(this, _HistoryManager_history, "f")[__classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f")];
63
+ }
64
+ recordState(state) {
65
+ __classPrivateFieldSet(this, _HistoryManager_history, __classPrivateFieldGet(this, _HistoryManager_history, "f").slice(0, __classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f") + 1), "f");
66
+ __classPrivateFieldGet(this, _HistoryManager_history, "f").push(state);
67
+ __classPrivateFieldSet(this, _HistoryManager_currentStateIndex, __classPrivateFieldGet(this, _HistoryManager_history, "f").length - 1, "f");
68
+ }
69
+ redo() {
70
+ var _a;
71
+ if (!this.canRedo())
72
+ return;
73
+ if (__classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f") < __classPrivateFieldGet(this, _HistoryManager_history, "f").length - 1)
74
+ __classPrivateFieldSet(this, _HistoryManager_currentStateIndex, (_a = __classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f"), _a++, _a), "f");
75
+ this.applyState(__classPrivateFieldGet(this, _HistoryManager_history, "f")[__classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f")]);
76
+ }
77
+ undo() {
78
+ var _a;
79
+ if (!this.canUndo())
80
+ return;
81
+ if (__classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f") > 0)
82
+ __classPrivateFieldSet(this, _HistoryManager_currentStateIndex, (_a = __classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f"), _a--, _a), "f");
83
+ this.applyState(__classPrivateFieldGet(this, _HistoryManager_history, "f")[__classPrivateFieldGet(this, _HistoryManager_currentStateIndex, "f")]);
84
+ }
85
+ }
86
+ exports.HistoryManager = HistoryManager;
87
+ _HistoryManager_currentStateIndex = new WeakMap(), _HistoryManager_drawingToolsManager = new WeakMap(), _HistoryManager_history = new WeakMap();
88
+ // #endregion Classes (1)
89
+ //# sourceMappingURL=HistoryManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HistoryManager.js","sourceRoot":"","sources":["../../../../src/business/implementation/managers/HistoryManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { DrawingToolsManager } from '../DrawingToolsManager';
2
+ import { IManager } from '../../interfaces/IManager';
3
+ export declare class TextVisualizationManager implements IManager {
4
+ #private;
5
+ constructor(drawingToolsManager: DrawingToolsManager);
6
+ get showDistanceLabels(): boolean;
7
+ set showDistanceLabels(value: boolean);
8
+ get showPointLabels(): boolean;
9
+ set showPointLabels(value: boolean);
10
+ close(): void;
11
+ createDistanceLabels(): void;
12
+ createPointLabels(): void;
13
+ }
14
+ //# sourceMappingURL=TextVisualizationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextVisualizationManager.d.ts","sourceRoot":"","sources":["../../../../src/business/implementation/managers/TextVisualizationManager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKrD,qBAAa,wBAAyB,YAAW,QAAQ;;gBAuBzC,mBAAmB,EAAE,mBAAmB;IAyEpD,IAAW,kBAAkB,IAAI,OAAO,CAEvC;IAED,IAAW,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAO3C;IAED,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,OAAO,EAOxC;IAMM,KAAK,IAAI,IAAI;IAKb,oBAAoB,IAAI,IAAI;IA0D5B,iBAAiB,IAAI,IAAI;CAuCnC"}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
+ if (kind === "m") throw new TypeError("Private method is not writable");
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
+ 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");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
31
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
+ 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");
34
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
+ };
36
+ var _TextVisualizationManager_drawingToolsManager, _TextVisualizationManager_labelRenderer, _TextVisualizationManager_parentNode, _TextVisualizationManager_settings, _TextVisualizationManager_viewport, _TextVisualizationManager_visualizationNode, _TextVisualizationManager_distanceObject3D, _TextVisualizationManager_object3D, _TextVisualizationManager_positionObject3D, _TextVisualizationManager_showDistanceLabels, _TextVisualizationManager_showPointLabels, _TextVisualizationManager_prevWidth, _TextVisualizationManager_prevHeight;
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.TextVisualizationManager = void 0;
39
+ const THREE = __importStar(require("three"));
40
+ const viewer_1 = require("@shapediver/viewer");
41
+ const CSS2DRenderer_1 = require("../../../three/CSS2DRenderer");
42
+ const numberCleaner_1 = require("../utils/numberCleaner");
43
+ const gl_matrix_1 = require("gl-matrix");
44
+ class TextVisualizationManager {
45
+ // #endregion Properties (11)
46
+ // #region Constructors (1)
47
+ constructor(drawingToolsManager) {
48
+ // #region Properties (11)
49
+ _TextVisualizationManager_drawingToolsManager.set(this, void 0);
50
+ _TextVisualizationManager_labelRenderer.set(this, void 0);
51
+ _TextVisualizationManager_parentNode.set(this, void 0);
52
+ _TextVisualizationManager_settings.set(this, void 0);
53
+ _TextVisualizationManager_viewport.set(this, void 0);
54
+ _TextVisualizationManager_visualizationNode.set(this, new viewer_1.TreeNode('TextVisualizationNode'));
55
+ _TextVisualizationManager_distanceObject3D.set(this, void 0);
56
+ _TextVisualizationManager_object3D.set(this, void 0);
57
+ _TextVisualizationManager_positionObject3D.set(this, void 0);
58
+ _TextVisualizationManager_showDistanceLabels.set(this, true);
59
+ _TextVisualizationManager_showPointLabels.set(this, true);
60
+ _TextVisualizationManager_prevWidth.set(this, 0);
61
+ _TextVisualizationManager_prevHeight.set(this, 0);
62
+ __classPrivateFieldSet(this, _TextVisualizationManager_drawingToolsManager, drawingToolsManager, "f");
63
+ __classPrivateFieldSet(this, _TextVisualizationManager_viewport, drawingToolsManager.viewport, "f");
64
+ __classPrivateFieldSet(this, _TextVisualizationManager_settings, drawingToolsManager.settings, "f");
65
+ __classPrivateFieldSet(this, _TextVisualizationManager_parentNode, drawingToolsManager.parentNode, "f");
66
+ __classPrivateFieldSet(this, _TextVisualizationManager_labelRenderer, new CSS2DRenderer_1.CSS2DRenderer(), "f");
67
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").setSize(__classPrivateFieldGet(this, _TextVisualizationManager_viewport, "f").canvas.clientWidth, __classPrivateFieldGet(this, _TextVisualizationManager_viewport, "f").canvas.clientHeight);
68
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.userSelect = 'none';
69
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.cursor = 'default';
70
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.pointerEvents = 'none';
71
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.overflow = 'hidden';
72
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.position = 'absolute';
73
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.width = '100%';
74
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.height = '100%';
75
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.left = '0%';
76
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.style.top = '0%';
77
+ __classPrivateFieldGet(this, _TextVisualizationManager_viewport, "f").canvas.parentElement.appendChild(__classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement);
78
+ __classPrivateFieldGet(this, _TextVisualizationManager_viewport, "f").postRenderingCallback = (renderer, scene, camera) => {
79
+ if (__classPrivateFieldGet(this, _TextVisualizationManager_prevWidth, "f") !== renderer.domElement.clientWidth || __classPrivateFieldGet(this, _TextVisualizationManager_prevHeight, "f") !== renderer.domElement.clientHeight) {
80
+ __classPrivateFieldSet(this, _TextVisualizationManager_prevWidth, renderer.domElement.clientWidth, "f");
81
+ __classPrivateFieldSet(this, _TextVisualizationManager_prevHeight, renderer.domElement.clientHeight, "f");
82
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").setSize(renderer.domElement.clientWidth, renderer.domElement.clientHeight);
83
+ }
84
+ if (__classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.clientWidth !== renderer.domElement.clientWidth || __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").domElement.clientHeight !== renderer.domElement.clientHeight) {
85
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").setSize(renderer.domElement.clientWidth, renderer.domElement.clientHeight);
86
+ }
87
+ __classPrivateFieldGet(this, _TextVisualizationManager_labelRenderer, "f").render(scene, camera);
88
+ };
89
+ __classPrivateFieldSet(this, _TextVisualizationManager_object3D, new THREE.Object3D(), "f");
90
+ __classPrivateFieldSet(this, _TextVisualizationManager_positionObject3D, new THREE.Object3D(), "f");
91
+ __classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").visible = __classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").visualization.pointLabels;
92
+ __classPrivateFieldSet(this, _TextVisualizationManager_distanceObject3D, new THREE.Object3D(), "f");
93
+ __classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").visible = __classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").visualization.distanceLabels;
94
+ __classPrivateFieldGet(this, _TextVisualizationManager_object3D, "f").add(__classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f"));
95
+ __classPrivateFieldGet(this, _TextVisualizationManager_object3D, "f").add(__classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f"));
96
+ __classPrivateFieldSet(this, _TextVisualizationManager_showPointLabels, __classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").visualization.pointLabels, "f");
97
+ __classPrivateFieldSet(this, _TextVisualizationManager_showDistanceLabels, __classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").visualization.distanceLabels, "f");
98
+ const node = new viewer_1.TreeNode('ThreeJsDataNode');
99
+ const data = new viewer_1.ThreejsData(__classPrivateFieldGet(this, _TextVisualizationManager_object3D, "f"));
100
+ node.addData(data);
101
+ __classPrivateFieldGet(this, _TextVisualizationManager_visualizationNode, "f").addChild(node);
102
+ __classPrivateFieldGet(this, _TextVisualizationManager_visualizationNode, "f").updateVersion();
103
+ __classPrivateFieldGet(this, _TextVisualizationManager_parentNode, "f").addChild(__classPrivateFieldGet(this, _TextVisualizationManager_visualizationNode, "f"));
104
+ __classPrivateFieldGet(this, _TextVisualizationManager_parentNode, "f").updateVersion(false, false);
105
+ __classPrivateFieldGet(this, _TextVisualizationManager_viewport, "f").updateNode(__classPrivateFieldGet(this, _TextVisualizationManager_parentNode, "f"));
106
+ this.createPointLabels();
107
+ this.createDistanceLabels();
108
+ (0, viewer_1.addListener)(viewer_1.EVENTTYPE_DRAWING_TOOLS.GEOMETRY_CHANGED, () => {
109
+ this.createPointLabels();
110
+ this.createDistanceLabels();
111
+ });
112
+ (0, viewer_1.addListener)(viewer_1.EVENTTYPE_DRAWING_TOOLS.MOVED, () => {
113
+ this.createPointLabels();
114
+ this.createDistanceLabels();
115
+ });
116
+ }
117
+ // #endregion Constructors (1)
118
+ // #region Public Getters And Setters (4)
119
+ get showDistanceLabels() {
120
+ return __classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").visible;
121
+ }
122
+ set showDistanceLabels(value) {
123
+ __classPrivateFieldSet(this, _TextVisualizationManager_showDistanceLabels, value, "f");
124
+ if (__classPrivateFieldGet(this, _TextVisualizationManager_showDistanceLabels, "f")) {
125
+ this.createDistanceLabels();
126
+ }
127
+ else {
128
+ __classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").remove(...__classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").children);
129
+ }
130
+ }
131
+ get showPointLabels() {
132
+ return __classPrivateFieldGet(this, _TextVisualizationManager_showPointLabels, "f");
133
+ }
134
+ set showPointLabels(value) {
135
+ __classPrivateFieldSet(this, _TextVisualizationManager_showPointLabels, value, "f");
136
+ if (__classPrivateFieldGet(this, _TextVisualizationManager_showPointLabels, "f")) {
137
+ this.createPointLabels();
138
+ }
139
+ else {
140
+ __classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").remove(...__classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").children);
141
+ }
142
+ }
143
+ // #endregion Public Getters And Setters (4)
144
+ // #region Public Methods (3)
145
+ close() {
146
+ __classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").remove(...__classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").children);
147
+ __classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").remove(...__classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").children);
148
+ }
149
+ createDistanceLabels() {
150
+ if (!__classPrivateFieldGet(this, _TextVisualizationManager_showDistanceLabels, "f"))
151
+ return;
152
+ __classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").remove(...__classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").children);
153
+ const positionArray = __classPrivateFieldGet(this, _TextVisualizationManager_drawingToolsManager, "f").positionArray;
154
+ const indicesArrayLines = __classPrivateFieldGet(this, _TextVisualizationManager_drawingToolsManager, "f").indicesArrayLines;
155
+ if (!indicesArrayLines || positionArray.length <= 3)
156
+ return;
157
+ for (let i = 0; i < indicesArrayLines.length; i += 2) {
158
+ // calculate the midpoint of the line
159
+ const firstIndex = indicesArrayLines[i];
160
+ const secondIndex = indicesArrayLines[i + 1];
161
+ const firstPoint = gl_matrix_1.vec3.fromValues(positionArray.at(firstIndex * 3), positionArray.at(firstIndex * 3 + 1), positionArray.at(firstIndex * 3 + 2));
162
+ const secondPoint = gl_matrix_1.vec3.fromValues(positionArray.at(secondIndex * 3), positionArray.at(secondIndex * 3 + 1), positionArray.at(secondIndex * 3 + 2));
163
+ const midPoint = gl_matrix_1.vec3.add(gl_matrix_1.vec3.create(), firstPoint, secondPoint);
164
+ gl_matrix_1.vec3.scale(midPoint, midPoint, 0.5);
165
+ const text = document.createElement('div');
166
+ text.className = 'label';
167
+ text.style.marginTop = '1em';
168
+ const child = document.createElement('div');
169
+ child.className = 'distance-label';
170
+ const style = document.createElement('style');
171
+ style.textContent = `
172
+ .distance-label {
173
+ display: flex;
174
+ justify-content: center;
175
+ align-items: center;
176
+ color: white;
177
+ background-color: ${__classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").visualization.points.color_1}80;
178
+ border-radius: 5px;
179
+ font-size: 16px;
180
+ text-align: center;
181
+ padding: 0px 2px;
182
+ }
183
+ `;
184
+ document.head.appendChild(style);
185
+ child.textContent = `${(0, numberCleaner_1.numberCleaner)(gl_matrix_1.vec3.distance(firstPoint, secondPoint))}${__classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").general.displayUnit}`;
186
+ text.appendChild(child);
187
+ const label = new CSS2DRenderer_1.CSS2DObject(text);
188
+ label.position.set(midPoint[0], midPoint[1], midPoint[2]);
189
+ __classPrivateFieldGet(this, _TextVisualizationManager_distanceObject3D, "f").add(label);
190
+ }
191
+ }
192
+ createPointLabels() {
193
+ if (!__classPrivateFieldGet(this, _TextVisualizationManager_showPointLabels, "f"))
194
+ return;
195
+ __classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").remove(...__classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").children);
196
+ const positionArray = __classPrivateFieldGet(this, _TextVisualizationManager_drawingToolsManager, "f").positionArray;
197
+ for (let i = 0; i < positionArray.length; i += 3) {
198
+ const text = document.createElement('div');
199
+ text.className = 'label';
200
+ text.style.marginTop = '1em';
201
+ const child = document.createElement('div');
202
+ child.className = 'point-label';
203
+ const style = document.createElement('style');
204
+ style.textContent = `
205
+ .point-label {
206
+ display: flex;
207
+ justify-content: center;
208
+ align-items: center;
209
+ color: white;
210
+ background-color: ${__classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").visualization.points.color_1}80;
211
+ border-radius: 5px;
212
+ font-size: 16px;
213
+ text-align: center;
214
+ padding: 0px 2px;
215
+ }
216
+ `;
217
+ document.head.appendChild(style);
218
+ child.textContent = `[${(0, numberCleaner_1.numberCleaner)(positionArray[i])}${__classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").general.displayUnit}, ${(0, numberCleaner_1.numberCleaner)(positionArray[i + 1])}${__classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").general.displayUnit}, ${(0, numberCleaner_1.numberCleaner)(positionArray[i + 2])}${__classPrivateFieldGet(this, _TextVisualizationManager_settings, "f").general.displayUnit}]`;
219
+ text.appendChild(child);
220
+ const label = new CSS2DRenderer_1.CSS2DObject(text);
221
+ label.position.set(positionArray[i], positionArray[i + 1], positionArray[i + 2]);
222
+ __classPrivateFieldGet(this, _TextVisualizationManager_positionObject3D, "f").add(label);
223
+ }
224
+ }
225
+ }
226
+ exports.TextVisualizationManager = TextVisualizationManager;
227
+ _TextVisualizationManager_drawingToolsManager = new WeakMap(), _TextVisualizationManager_labelRenderer = new WeakMap(), _TextVisualizationManager_parentNode = new WeakMap(), _TextVisualizationManager_settings = new WeakMap(), _TextVisualizationManager_viewport = new WeakMap(), _TextVisualizationManager_visualizationNode = new WeakMap(), _TextVisualizationManager_distanceObject3D = new WeakMap(), _TextVisualizationManager_object3D = new WeakMap(), _TextVisualizationManager_positionObject3D = new WeakMap(), _TextVisualizationManager_showDistanceLabels = new WeakMap(), _TextVisualizationManager_showPointLabels = new WeakMap(), _TextVisualizationManager_prevWidth = new WeakMap(), _TextVisualizationManager_prevHeight = new WeakMap();
228
+ //# sourceMappingURL=TextVisualizationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextVisualizationManager.js","sourceRoot":"","sources":["../../../../src/business/implementation/managers/TextVisualizationManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { DrawingToolsManager } from '../../DrawingToolsManager';
2
+ import { GeometryState } from './GeometryState';
3
+ import { IManager } from '../../../interfaces/IManager';
4
+ import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
5
+ import { MATERIAL_INDEX } from '../../../interfaces/IDrawingToolsManager';
6
+ import { vec3 } from 'gl-matrix';
7
+ export declare class GeometryManager implements IManager {
8
+ #private;
9
+ constructor(drawingToolsManager: DrawingToolsManager);
10
+ get geometryState(): GeometryState;
11
+ get parentNode(): ITreeNode;
12
+ addPoint(index: number, position?: vec3, temporary?: boolean): void;
13
+ canAddPoint(): boolean;
14
+ canRemovePoint(): boolean;
15
+ close(): void;
16
+ createLineIndices(loop: boolean): void;
17
+ movePoint(index: number, position: vec3, temporary?: boolean): void;
18
+ removePoint(removalIndex: number, temporary?: boolean): void;
19
+ removePoints(removalIndices: number[]): void;
20
+ resetMaterialIndices(): void;
21
+ updateMaterialIndex(index: number, materialIndex: MATERIAL_INDEX): void;
22
+ }
23
+ //# sourceMappingURL=GeometryManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeometryManager.d.ts","sourceRoot":"","sources":["../../../../../src/business/implementation/managers/geometry/GeometryManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,eAAgB,YAAW,QAAQ;;gBAahC,mBAAmB,EAAE,mBAAmB;IAkBpD,IAAW,aAAa,IAAI,aAAa,CAExC;IAED,IAAW,UAAU,IAAI,SAAS,CAEjC;IAMM,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,UAAQ,GAAG,IAAI;IAIjE,WAAW,IAAI,OAAO;IAItB,cAAc,IAAI,OAAO;IAIzB,KAAK,IAAI,IAAI;IAMb,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAItC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,UAAQ,GAAG,IAAI;IAIjE,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,IAAI;IAI1D,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAI5C,oBAAoB,IAAI,IAAI;IAI5B,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,GAAG,IAAI;CAKjF"}
@@ -0,0 +1,82 @@
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 _GeometryManager_geometryState, _GeometryManager_originalParentNode, _GeometryManager_parentNode, _GeometryManager_geometryManagerHelper;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.GeometryManager = void 0;
16
+ const GeometryManagerHelper_1 = require("./helpers/GeometryManagerHelper");
17
+ const GeometryState_1 = require("./GeometryState");
18
+ const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
19
+ class GeometryManager {
20
+ // #endregion Properties (4)
21
+ // #region Constructors (1)
22
+ constructor(drawingToolsManager) {
23
+ // #region Properties (4)
24
+ _GeometryManager_geometryState.set(this, void 0);
25
+ _GeometryManager_originalParentNode.set(this, void 0);
26
+ _GeometryManager_parentNode.set(this, void 0);
27
+ _GeometryManager_geometryManagerHelper.set(this, void 0);
28
+ __classPrivateFieldSet(this, _GeometryManager_originalParentNode, drawingToolsManager.parentNode, "f");
29
+ // create a new node with the geometry data
30
+ const parentNode = new viewer_shared_node_tree_1.TreeNode('DrawingToolsGeometry');
31
+ __classPrivateFieldGet(this, _GeometryManager_originalParentNode, "f").addChild(parentNode);
32
+ __classPrivateFieldSet(this, _GeometryManager_parentNode, parentNode, "f");
33
+ __classPrivateFieldSet(this, _GeometryManager_geometryState, new GeometryState_1.GeometryState(drawingToolsManager, this), "f");
34
+ __classPrivateFieldSet(this, _GeometryManager_geometryManagerHelper, new GeometryManagerHelper_1.GeometryManagerHelper(drawingToolsManager, this, __classPrivateFieldGet(this, _GeometryManager_geometryState, "f")), "f");
35
+ __classPrivateFieldGet(this, _GeometryManager_geometryState, "f").init();
36
+ }
37
+ // #endregion Constructors (1)
38
+ // #region Public Getters And Setters (2)
39
+ get geometryState() {
40
+ return __classPrivateFieldGet(this, _GeometryManager_geometryState, "f");
41
+ }
42
+ get parentNode() {
43
+ return __classPrivateFieldGet(this, _GeometryManager_parentNode, "f");
44
+ }
45
+ // #endregion Public Getters And Setters (2)
46
+ // #region Public Methods (10)
47
+ addPoint(index, position, temporary = false) {
48
+ __classPrivateFieldGet(this, _GeometryManager_geometryManagerHelper, "f").addPoint(index, position, temporary);
49
+ }
50
+ canAddPoint() {
51
+ return __classPrivateFieldGet(this, _GeometryManager_geometryState, "f").canAddPoint();
52
+ }
53
+ canRemovePoint() {
54
+ return __classPrivateFieldGet(this, _GeometryManager_geometryState, "f").canRemovePoint();
55
+ }
56
+ close() {
57
+ __classPrivateFieldGet(this, _GeometryManager_geometryState, "f").close();
58
+ __classPrivateFieldGet(this, _GeometryManager_originalParentNode, "f").removeChild(__classPrivateFieldGet(this, _GeometryManager_parentNode, "f"));
59
+ __classPrivateFieldGet(this, _GeometryManager_originalParentNode, "f").updateVersion();
60
+ }
61
+ createLineIndices(loop) {
62
+ __classPrivateFieldGet(this, _GeometryManager_geometryState, "f").createLineIndices(loop);
63
+ }
64
+ movePoint(index, position, temporary = false) {
65
+ __classPrivateFieldGet(this, _GeometryManager_geometryManagerHelper, "f").movePoint(index, position, temporary);
66
+ }
67
+ removePoint(removalIndex, temporary = false) {
68
+ __classPrivateFieldGet(this, _GeometryManager_geometryManagerHelper, "f").removePoint(removalIndex, temporary);
69
+ }
70
+ removePoints(removalIndices) {
71
+ __classPrivateFieldGet(this, _GeometryManager_geometryManagerHelper, "f").removePoints(removalIndices);
72
+ }
73
+ resetMaterialIndices() {
74
+ __classPrivateFieldGet(this, _GeometryManager_geometryManagerHelper, "f").resetMaterialIndices();
75
+ }
76
+ updateMaterialIndex(index, materialIndex) {
77
+ __classPrivateFieldGet(this, _GeometryManager_geometryManagerHelper, "f").updateMaterialIndex(index, materialIndex);
78
+ }
79
+ }
80
+ exports.GeometryManager = GeometryManager;
81
+ _GeometryManager_geometryState = new WeakMap(), _GeometryManager_originalParentNode = new WeakMap(), _GeometryManager_parentNode = new WeakMap(), _GeometryManager_geometryManagerHelper = new WeakMap();
82
+ //# sourceMappingURL=GeometryManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeometryManager.js","sourceRoot":"","sources":["../../../../../src/business/implementation/managers/geometry/GeometryManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2EAAwE;AACxE,mDAAgD;AAEhD,iFAA0E;AAI1E,MAAa,eAAe;IASxB,4BAA4B;IAE5B,2BAA2B;IAE3B,YAAY,mBAAwC;QAZpD,yBAAyB;QAEzB,iDAAuC;QACvC,sDAAwC;QACxC,8CAAgC;QAEhC,yDAA8C;QAO1C,uBAAA,IAAI,uCAAuB,mBAAmB,CAAC,UAAU,MAAA,CAAC;QAE1D,2CAA2C;QAC3C,MAAM,UAAU,GAAG,IAAI,kCAAQ,CAAC,sBAAsB,CAAC,CAAC;QACxD,uBAAA,IAAI,2CAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE9C,uBAAA,IAAI,+BAAe,UAAU,MAAA,CAAC;QAE9B,uBAAA,IAAI,kCAAkB,IAAI,6BAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAA,CAAC;QACnE,uBAAA,IAAI,0CAA0B,IAAI,6CAAqB,CAAC,mBAAmB,EAAE,IAAI,EAAE,uBAAA,IAAI,sCAAe,CAAC,MAAA,CAAC;QACxG,uBAAA,IAAI,sCAAe,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,8BAA8B;IAE9B,yCAAyC;IAEzC,IAAW,aAAa;QACpB,OAAO,uBAAA,IAAI,sCAAe,CAAC;IAC/B,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,uBAAA,IAAI,mCAAY,CAAC;IAC5B,CAAC;IAED,4CAA4C;IAE5C,8BAA8B;IAEvB,QAAQ,CAAC,KAAa,EAAE,QAAe,EAAE,SAAS,GAAG,KAAK;QAC7D,uBAAA,IAAI,8CAAuB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAEM,WAAW;QACd,OAAO,uBAAA,IAAI,sCAAe,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAEM,cAAc;QACjB,OAAO,uBAAA,IAAI,sCAAe,CAAC,cAAc,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK;QACR,uBAAA,IAAI,sCAAe,CAAC,KAAK,EAAE,CAAC;QAC5B,uBAAA,IAAI,2CAAoB,CAAC,WAAW,CAAC,uBAAA,IAAI,mCAAY,CAAC,CAAC;QACvD,uBAAA,IAAI,2CAAoB,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAEM,iBAAiB,CAAC,IAAa;QAClC,uBAAA,IAAI,sCAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,SAAS,CAAC,KAAa,EAAE,QAAc,EAAE,SAAS,GAAG,KAAK;QAC7D,uBAAA,IAAI,8CAAuB,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAEM,WAAW,CAAC,YAAoB,EAAE,SAAS,GAAG,KAAK;QACtD,uBAAA,IAAI,8CAAuB,CAAC,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAEM,YAAY,CAAC,cAAwB;QACxC,uBAAA,IAAI,8CAAuB,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAEM,oBAAoB;QACvB,uBAAA,IAAI,8CAAuB,CAAC,oBAAoB,EAAE,CAAC;IACvD,CAAC;IAEM,mBAAmB,CAAC,KAAa,EAAE,aAA6B;QACnE,uBAAA,IAAI,8CAAuB,CAAC,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;CAGJ;AAtFD,0CAsFC"}
@@ -0,0 +1,73 @@
1
+ import { DrawingToolsManager } from '../../DrawingToolsManager';
2
+ import { IManager } from '../../../interfaces/IManager';
3
+ import { IRay } from '@shapediver/viewer.features.interaction';
4
+ import { vec3 } from 'gl-matrix';
5
+ export declare class GeometryMathManager implements IManager {
6
+ #private;
7
+ constructor(drawingToolsManager: DrawingToolsManager);
8
+ /**
9
+ * Check which distances of lines to ray
10
+ *
11
+ * @param ray
12
+ * @returns
13
+ */
14
+ checkLineDistances(ray: IRay): {
15
+ index: number[];
16
+ distance: number;
17
+ }[] | undefined;
18
+ /**
19
+ * Check which distances of points to ray
20
+ *
21
+ * @param ray
22
+ * @returns
23
+ */
24
+ checkPointDistances(ray: IRay): {
25
+ index: number;
26
+ distance: number;
27
+ }[] | undefined;
28
+ close(): void;
29
+ /**
30
+ * Calculate the closest point on a line to a point
31
+ *
32
+ * @param start
33
+ * @param end
34
+ * @param point
35
+ */
36
+ closestPointOnLine(start: vec3, end: vec3, point: vec3): vec3;
37
+ /**
38
+ * Calculate the distance between a ray and a line segment
39
+ *
40
+ * @param ray
41
+ * @param lineStart
42
+ * @param lineEnd
43
+ * @returns
44
+ */
45
+ closestPointsRayLine(ray: IRay, lineStart: vec3, lineEnd: vec3): {
46
+ closestPointOnRay: vec3;
47
+ closestPointOnLine: vec3;
48
+ };
49
+ /**
50
+ * Calculate the distance between two rays
51
+ *
52
+ * @param ray1
53
+ * @param ray2
54
+ * @returns
55
+ */
56
+ closestPointsRayRay(ray1: IRay, ray2: IRay): {
57
+ closestPointOnRay1: vec3;
58
+ closestPointOnRay2: vec3;
59
+ };
60
+ screenSpaceDistanceCheck(point1: vec3, point2: vec3, threshold: number): {
61
+ distanceSquared: number;
62
+ check: boolean;
63
+ };
64
+ /**
65
+ * Calculate the closest point on a ray to a point
66
+ *
67
+ * @param ray
68
+ * @param point
69
+ * @returns
70
+ */
71
+ private closestPoint;
72
+ }
73
+ //# sourceMappingURL=GeometryMathManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeometryMathManager.d.ts","sourceRoot":"","sources":["../../../../../src/business/implementation/managers/geometry/GeometryMathManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAgB,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,mBAAoB,YAAW,QAAQ;;gBAWpC,mBAAmB,EAAE,mBAAmB;IAUpD;;;;;OAKG;IACI,kBAAkB,CAAC,GAAG,EAAE,IAAI,GAAG;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;KAAE,EAAE,GAAG,SAAS;IAiC1F;;;;;OAKG;IACI,mBAAmB,CAAC,GAAG,EAAE,IAAI,GAAG;QACnC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KACpB,EAAE,GAAG,SAAS;IA2BR,KAAK,IAAI,IAAI;IAEpB;;;;;;OAMG;IACI,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI;IAoBpE;;;;;;;OAOG;IACI,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG;QAAE,iBAAiB,EAAE,IAAI,CAAC;QAAC,kBAAkB,EAAE,IAAI,CAAA;KAAE;IA2C7H;;;;;;OAMG;IACI,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG;QAAE,kBAAkB,EAAE,IAAI,CAAC;QAAC,kBAAkB,EAAE,IAAI,CAAA;KAAE;IA+BnG,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;;;;IAqC7E;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAQvB"}