@mlightcad/cad-simple-viewer 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +296 -2
  2. package/dist/index.js +1347 -122
  3. package/dist/index.umd.cjs +2 -2
  4. package/lib/app/AcApContext.d.ts +45 -3
  5. package/lib/app/AcApContext.d.ts.map +1 -1
  6. package/lib/app/AcApContext.js +43 -3
  7. package/lib/app/AcApContext.js.map +1 -1
  8. package/lib/app/AcApDocCreator.d.ts +68 -2
  9. package/lib/app/AcApDocCreator.d.ts.map +1 -1
  10. package/lib/app/AcApDocCreator.js +67 -2
  11. package/lib/app/AcApDocCreator.js.map +1 -1
  12. package/lib/app/AcApDocManager.d.ts +227 -12
  13. package/lib/app/AcApDocManager.d.ts.map +1 -1
  14. package/lib/app/AcApDocManager.js +228 -17
  15. package/lib/app/AcApDocManager.js.map +1 -1
  16. package/lib/app/AcApDocument.d.ts +77 -3
  17. package/lib/app/AcApDocument.d.ts.map +1 -1
  18. package/lib/app/AcApDocument.js +75 -3
  19. package/lib/app/AcApDocument.js.map +1 -1
  20. package/lib/app/AcApFontLoader.d.ts +32 -0
  21. package/lib/app/AcApFontLoader.d.ts.map +1 -1
  22. package/lib/app/AcApFontLoader.js +30 -0
  23. package/lib/app/AcApFontLoader.js.map +1 -1
  24. package/lib/app/AcApSettingManager.d.ts +191 -3
  25. package/lib/app/AcApSettingManager.d.ts.map +1 -1
  26. package/lib/app/AcApSettingManager.js +161 -0
  27. package/lib/app/AcApSettingManager.js.map +1 -1
  28. package/lib/command/AcApConvertToSvgCmd.d.ts +26 -0
  29. package/lib/command/AcApConvertToSvgCmd.d.ts.map +1 -1
  30. package/lib/command/AcApConvertToSvgCmd.js +26 -0
  31. package/lib/command/AcApConvertToSvgCmd.js.map +1 -1
  32. package/lib/command/AcApOpenCmd.d.ts +31 -0
  33. package/lib/command/AcApOpenCmd.d.ts.map +1 -1
  34. package/lib/command/AcApOpenCmd.js +31 -0
  35. package/lib/command/AcApOpenCmd.js.map +1 -1
  36. package/lib/command/AcApPanCmd.d.ts +25 -0
  37. package/lib/command/AcApPanCmd.d.ts.map +1 -1
  38. package/lib/command/AcApPanCmd.js +25 -0
  39. package/lib/command/AcApPanCmd.js.map +1 -1
  40. package/lib/command/AcApQNewCmd.d.ts +26 -0
  41. package/lib/command/AcApQNewCmd.d.ts.map +1 -1
  42. package/lib/command/AcApQNewCmd.js +26 -0
  43. package/lib/command/AcApQNewCmd.js.map +1 -1
  44. package/lib/command/AcApSelectCmd.d.ts +26 -0
  45. package/lib/command/AcApSelectCmd.d.ts.map +1 -1
  46. package/lib/command/AcApSelectCmd.js +26 -0
  47. package/lib/command/AcApSelectCmd.js.map +1 -1
  48. package/lib/command/AcApSvgConvertor.d.ts +48 -0
  49. package/lib/command/AcApSvgConvertor.d.ts.map +1 -1
  50. package/lib/command/AcApSvgConvertor.js +48 -0
  51. package/lib/command/AcApSvgConvertor.js.map +1 -1
  52. package/lib/command/AcApZoomCmd.d.ts +29 -0
  53. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  54. package/lib/command/AcApZoomCmd.js +29 -0
  55. package/lib/command/AcApZoomCmd.js.map +1 -1
  56. package/lib/command/AcApZoomToBoxCmd.d.ts +57 -0
  57. package/lib/command/AcApZoomToBoxCmd.d.ts.map +1 -1
  58. package/lib/command/AcApZoomToBoxCmd.js +57 -0
  59. package/lib/command/AcApZoomToBoxCmd.js.map +1 -1
  60. package/lib/editor/command/AcEdCommand.d.ts +118 -9
  61. package/lib/editor/command/AcEdCommand.d.ts.map +1 -1
  62. package/lib/editor/command/AcEdCommand.js +113 -9
  63. package/lib/editor/command/AcEdCommand.js.map +1 -1
  64. package/lib/editor/command/AcEdCommandStack.d.ts +59 -5
  65. package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
  66. package/lib/editor/command/AcEdCommandStack.js +48 -5
  67. package/lib/editor/command/AcEdCommandStack.js.map +1 -1
  68. package/lib/editor/global/eventBus.d.ts +69 -1
  69. package/lib/editor/global/eventBus.d.ts.map +1 -1
  70. package/lib/editor/global/eventBus.js +37 -0
  71. package/lib/editor/global/eventBus.js.map +1 -1
  72. package/lib/editor/input/AcEdBaseInput.d.ts +65 -1
  73. package/lib/editor/input/AcEdBaseInput.d.ts.map +1 -1
  74. package/lib/editor/input/AcEdBaseInput.js +62 -1
  75. package/lib/editor/input/AcEdBaseInput.js.map +1 -1
  76. package/lib/editor/input/AcEdBoxSelector.d.ts +81 -0
  77. package/lib/editor/input/AcEdBoxSelector.d.ts.map +1 -1
  78. package/lib/editor/input/AcEdBoxSelector.js +80 -0
  79. package/lib/editor/input/AcEdBoxSelector.js.map +1 -1
  80. package/lib/editor/input/AcEdCursorManager.d.ts +95 -8
  81. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  82. package/lib/editor/input/AcEdCursorManager.js +95 -11
  83. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  84. package/lib/editor/input/AcEdInputPoint.d.ts +38 -1
  85. package/lib/editor/input/AcEdInputPoint.d.ts.map +1 -1
  86. package/lib/editor/input/AcEdInputPoint.js +38 -1
  87. package/lib/editor/input/AcEdInputPoint.js.map +1 -1
  88. package/lib/editor/input/AcEdJig.d.ts +166 -0
  89. package/lib/editor/input/AcEdJig.d.ts.map +1 -1
  90. package/lib/editor/input/AcEdJig.js +164 -0
  91. package/lib/editor/input/AcEdJig.js.map +1 -1
  92. package/lib/editor/input/AcEdJigLoop.d.ts +49 -0
  93. package/lib/editor/input/AcEdJigLoop.d.ts.map +1 -1
  94. package/lib/editor/input/AcEdJigLoop.js +48 -0
  95. package/lib/editor/input/AcEdJigLoop.js.map +1 -1
  96. package/lib/editor/input/AcEdSelectionSet.d.ts +122 -2
  97. package/lib/editor/input/AcEdSelectionSet.d.ts.map +1 -1
  98. package/lib/editor/input/AcEdSelectionSet.js +117 -1
  99. package/lib/editor/input/AcEdSelectionSet.js.map +1 -1
  100. package/lib/editor/input/AcEditor.d.ts +90 -6
  101. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  102. package/lib/editor/input/AcEditor.js +86 -6
  103. package/lib/editor/input/AcEditor.js.map +1 -1
  104. package/lib/editor/view/AcEdBaseView.d.ts +163 -16
  105. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  106. package/lib/editor/view/AcEdBaseView.js +94 -5
  107. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  108. package/lib/util/AcTrGeometryUtil.d.ts +65 -0
  109. package/lib/util/AcTrGeometryUtil.d.ts.map +1 -1
  110. package/lib/util/AcTrGeometryUtil.js +65 -0
  111. package/lib/util/AcTrGeometryUtil.js.map +1 -1
  112. package/lib/view/AcTrLayer.d.ts +40 -5
  113. package/lib/view/AcTrLayer.d.ts.map +1 -1
  114. package/lib/view/AcTrLayer.js +34 -5
  115. package/lib/view/AcTrLayer.js.map +1 -1
  116. package/lib/view/AcTrLayout.d.ts +122 -23
  117. package/lib/view/AcTrLayout.d.ts.map +1 -1
  118. package/lib/view/AcTrLayout.js +103 -23
  119. package/lib/view/AcTrLayout.js.map +1 -1
  120. package/lib/view/AcTrLayoutView.d.ts +74 -16
  121. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  122. package/lib/view/AcTrLayoutView.js +65 -16
  123. package/lib/view/AcTrLayoutView.js.map +1 -1
  124. package/lib/view/AcTrLayoutViewManager.d.ts +58 -12
  125. package/lib/view/AcTrLayoutViewManager.d.ts.map +1 -1
  126. package/lib/view/AcTrLayoutViewManager.js +56 -12
  127. package/lib/view/AcTrLayoutViewManager.js.map +1 -1
  128. package/lib/view/AcTrScene.d.ts +48 -4
  129. package/lib/view/AcTrScene.d.ts.map +1 -1
  130. package/lib/view/AcTrScene.js +44 -4
  131. package/lib/view/AcTrScene.js.map +1 -1
  132. package/lib/view/AcTrView2d.d.ts +71 -0
  133. package/lib/view/AcTrView2d.d.ts.map +1 -1
  134. package/lib/view/AcTrView2d.js +65 -0
  135. package/lib/view/AcTrView2d.js.map +1 -1
  136. package/package.json +8 -4
@@ -2,26 +2,100 @@ import { AcCmEventManager, AcGeBox3d, AcGePoint2d } from '@mlightcad/data-model'
2
2
  import { AcEdCorsorType, AcEdSelectionSet } from '../input';
3
3
  import { AcEditor } from '../input/AcEditor';
4
4
  /**
5
- * View mode
5
+ * Enumeration of view interaction modes.
6
+ *
7
+ * The view mode determines how the view responds to user mouse interactions:
8
+ * - In SELECTION mode, clicks select entities
9
+ * - In PAN mode, clicks and drags pan the view
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // Set to selection mode for entity picking
14
+ * view.mode = AcEdViewMode.SELECTION;
15
+ *
16
+ * // Set to pan mode for view navigation
17
+ * view.mode = AcEdViewMode.PAN;
18
+ * ```
6
19
  */
7
20
  export var AcEdViewMode;
8
21
  (function (AcEdViewMode) {
9
22
  /**
10
- * Click to select
23
+ * Selection mode - mouse clicks select entities.
24
+ *
25
+ * In this mode:
26
+ * - Single clicks select individual entities
27
+ * - Drag operations can create selection boxes
28
+ * - Selected entities are highlighted with grip points
11
29
  */
12
30
  AcEdViewMode[AcEdViewMode["SELECTION"] = 0] = "SELECTION";
13
31
  /**
14
- * Click to move
32
+ * Pan mode - mouse interactions pan the view.
33
+ *
34
+ * In this mode:
35
+ * - Click and drag operations move the view
36
+ * - The cursor typically changes to indicate pan mode
37
+ * - Entity selection is disabled
15
38
  */
16
39
  AcEdViewMode[AcEdViewMode["PAN"] = 1] = "PAN";
17
40
  })(AcEdViewMode || (AcEdViewMode = {}));
41
+ /**
42
+ * Abstract base class for all CAD view implementations.
43
+ *
44
+ * This class provides the foundation for rendering and interacting with CAD drawings.
45
+ * It manages:
46
+ * - Canvas and viewport dimensions
47
+ * - Mouse event handling and coordinate conversion
48
+ * - Entity selection and highlighting
49
+ * - View modes (selection, pan, etc.)
50
+ * - Spatial queries for entity picking
51
+ * - Hover/unhover detection with timing
52
+ *
53
+ * Concrete implementations must provide specific rendering logic and coordinate
54
+ * transformations appropriate for their rendering technology (e.g., Three.js, SVG).
55
+ *
56
+ * ## Key Responsibilities
57
+ * - **Input Management**: Handles mouse events and user interactions
58
+ * - **Selection**: Manages selected entities and visual feedback
59
+ * - **Coordinate Systems**: Converts between screen and world coordinates
60
+ * - **Spatial Queries**: Finds entities at specific locations
61
+ * - **View State**: Tracks current position, zoom, and view mode
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * class MyView extends AcEdBaseView {
66
+ * // Implement required abstract methods
67
+ * get missedData() { return { fonts: {}, images: new Map() }; }
68
+ * get mode() { return this._mode; }
69
+ * set mode(value) { this._mode = value; }
70
+ * // ... other abstract methods
71
+ * }
72
+ *
73
+ * const view = new MyView(canvasElement);
74
+ * view.events.mouseMove.addEventListener(args => {
75
+ * console.log('Mouse at world coords:', args.x, args.y);
76
+ * });
77
+ * ```
78
+ */
18
79
  var AcEdBaseView = /** @class */ (function () {
80
+ /**
81
+ * Creates a new base view instance.
82
+ *
83
+ * Sets up the canvas, initializes internal state, and registers event listeners
84
+ * for mouse interactions and window resize events.
85
+ *
86
+ * @param canvas - The HTML canvas element to render into
87
+ */
19
88
  function AcEdBaseView(canvas) {
20
89
  var _this = this;
90
+ /** Events fired by the view for various interactions */
21
91
  this.events = {
92
+ /** Fired when mouse moves over the view */
22
93
  mouseMove: new AcCmEventManager(),
94
+ /** Fired when the view is resized */
23
95
  viewResize: new AcCmEventManager(),
96
+ /** Fired when mouse hovers over an entity */
24
97
  hover: new AcCmEventManager(),
98
+ /** Fired when mouse stops hovering over an entity */
25
99
  unhover: new AcCmEventManager()
26
100
  };
27
101
  this._canvas = canvas;
@@ -55,7 +129,12 @@ var AcEdBaseView = /** @class */ (function () {
55
129
  }
56
130
  Object.defineProperty(AcEdBaseView.prototype, "editor", {
57
131
  /**
58
- * The input manager
132
+ * Gets the input manager for handling user interactions.
133
+ *
134
+ * The editor provides high-level methods for getting user input like
135
+ * point selection, entity selection, and cursor management.
136
+ *
137
+ * @returns The editor instance
59
138
  */
60
139
  get: function () {
61
140
  return this._editor;
@@ -65,11 +144,21 @@ var AcEdBaseView = /** @class */ (function () {
65
144
  });
66
145
  Object.defineProperty(AcEdBaseView.prototype, "selectionBoxSize", {
67
146
  /**
68
- * The size of selection box in pixel unit
147
+ * Gets the size of the selection box used for entity picking.
148
+ *
149
+ * This determines how close the mouse needs to be to an entity
150
+ * to select it, measured in screen pixels.
151
+ *
152
+ * @returns Selection box size in pixels
69
153
  */
70
154
  get: function () {
71
155
  return this._selectionBoxSize;
72
156
  },
157
+ /**
158
+ * Sets the size of the selection box used for entity picking.
159
+ *
160
+ * @param value - Selection box size in pixels
161
+ */
73
162
  set: function (value) {
74
163
  this._selectionBoxSize = value;
75
164
  },
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdBaseView.js","sourceRoot":"","sources":["../../../src/editor/view/AcEdBaseView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcEdBaseView.js","sourceRoot":"","sources":["../../../src/editor/view/AcEdBaseView.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,82 @@
1
1
  import { AcGeBox2d, AcGeBox3d } from '@mlightcad/data-model';
2
2
  import * as THREE from 'three';
3
+ /**
4
+ * Converts a Three.js Box3 to a CAD geometry Box3d.
5
+ *
6
+ * @param from - The Three.js Box3 to convert
7
+ * @returns The equivalent CAD geometry Box3d
8
+ */
3
9
  declare const threeBox3dToGeBox3d: (from: THREE.Box3) => AcGeBox3d;
10
+ /**
11
+ * Converts a CAD geometry Box3d to a Three.js Box3.
12
+ *
13
+ * @param from - The CAD geometry Box3d to convert
14
+ * @returns The equivalent Three.js Box3
15
+ */
4
16
  declare const goBox3dToThreeBox3d: (from: AcGeBox3d) => THREE.Box3;
17
+ /**
18
+ * Converts a Three.js Box2 to a CAD geometry Box2d.
19
+ *
20
+ * @param from - The Three.js Box2 to convert
21
+ * @returns The equivalent CAD geometry Box2d
22
+ */
5
23
  declare const threeBo2dToGeBox2d: (from: THREE.Box2) => AcGeBox2d;
24
+ /**
25
+ * Converts a CAD geometry Box2d to a Three.js Box2.
26
+ *
27
+ * @param from - The CAD geometry Box2d to convert
28
+ * @returns The equivalent Three.js Box2
29
+ */
6
30
  declare const goBox2dToThreeBox2d: (from: AcGeBox2d) => THREE.Box2;
31
+ /**
32
+ * Converts a Three.js Box3 to a CAD geometry Box2d by ignoring the Z dimension.
33
+ *
34
+ * @param from - The Three.js Box3 to convert
35
+ * @returns The equivalent CAD geometry Box2d (Z dimension discarded)
36
+ */
7
37
  declare const threeBox3dToGeBox2d: (from: THREE.Box3) => AcGeBox2d;
38
+ /**
39
+ * Converts a CAD geometry Box2d to a Three.js Box3 by setting Z dimension to 0.
40
+ *
41
+ * @param from - The CAD geometry Box2d to convert
42
+ * @returns The equivalent Three.js Box3 with Z=0
43
+ */
8
44
  declare const goBox2dToThreeBox3d: (from: AcGeBox2d) => THREE.Box3;
45
+ /**
46
+ * Utility object containing geometry conversion functions between Three.js and CAD geometry types.
47
+ *
48
+ * This utility provides bidirectional conversion functions for bounding boxes:
49
+ * - Between 2D and 3D bounding boxes
50
+ * - Between Three.js and CAD geometry coordinate systems
51
+ * - Cross-dimensional conversions (2D ↔ 3D)
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * // Convert Three.js box to CAD geometry
56
+ * const threeBox = new THREE.Box3();
57
+ * const cadBox = AcTrGeometryUtil.threeBox3dToGeBox3d(threeBox);
58
+ *
59
+ * // Convert CAD geometry box to Three.js
60
+ * const cadBox2d = new AcGeBox2d();
61
+ * const threeBox2d = AcTrGeometryUtil.goBox2dToThreeBox2d(cadBox2d);
62
+ *
63
+ * // Cross-dimensional conversion
64
+ * const threeBox3d = new THREE.Box3();
65
+ * const cadBox2d = AcTrGeometryUtil.threeBox3dToGeBox2d(threeBox3d);
66
+ * ```
67
+ */
9
68
  declare const AcTrGeometryUtil: {
69
+ /** Converts Three.js Box2 to CAD geometry Box2d */
10
70
  threeBo2dToGeBox2d: (from: THREE.Box2) => AcGeBox2d;
71
+ /** Converts CAD geometry Box2d to Three.js Box2 */
11
72
  goBox2dToThreeBox2d: (from: AcGeBox2d) => THREE.Box2;
73
+ /** Converts Three.js Box3 to CAD geometry Box3d */
12
74
  threeBox3dToGeBox3d: (from: THREE.Box3) => AcGeBox3d;
75
+ /** Converts CAD geometry Box3d to Three.js Box3 */
13
76
  goBox3dToThreeBox3d: (from: AcGeBox3d) => THREE.Box3;
77
+ /** Converts Three.js Box3 to CAD geometry Box2d (ignores Z) */
14
78
  threeBox3dToGeBox2d: (from: THREE.Box3) => AcGeBox2d;
79
+ /** Converts CAD geometry Box2d to Three.js Box3 (Z=0) */
15
80
  goBox2dToThreeBox3d: (from: AcGeBox2d) => THREE.Box3;
16
81
  };
17
82
  export { threeBo2dToGeBox2d, goBox2dToThreeBox2d, threeBox3dToGeBox3d, goBox3dToThreeBox3d, threeBox3dToGeBox2d, goBox2dToThreeBox3d, AcTrGeometryUtil };
@@ -1 +1 @@
1
- {"version":3,"file":"AcTrGeometryUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcTrGeometryUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,QAAA,MAAM,mBAAmB,GAAI,MAAM,KAAK,CAAC,IAAI,cAE5C,CAAA;AAED,QAAA,MAAM,mBAAmB,GAAI,MAAM,SAAS,eAK3C,CAAA;AAED,QAAA,MAAM,kBAAkB,GAAI,MAAM,KAAK,CAAC,IAAI,cAE3C,CAAA;AAED,QAAA,MAAM,mBAAmB,GAAI,MAAM,SAAS,eAK3C,CAAA;AAED,QAAA,MAAM,mBAAmB,GAAI,MAAM,KAAK,CAAC,IAAI,cAE5C,CAAA;AAED,QAAA,MAAM,mBAAmB,GAAI,MAAM,SAAS,eAK3C,CAAA;AAED,QAAA,MAAM,gBAAgB;+BAtBY,KAAK,CAAC,IAAI;gCAIT,SAAS;gCAfT,KAAK,CAAC,IAAI;gCAIV,SAAS;gCAkBT,KAAK,CAAC,IAAI;gCAIV,SAAS;CAc3C,CAAA;AAED,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,CAAA"}
1
+ {"version":3,"file":"AcTrGeometryUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcTrGeometryUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,KAAK,CAAC,IAAI,cAE5C,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,SAAS,eAK3C,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,GAAI,MAAM,KAAK,CAAC,IAAI,cAE3C,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,SAAS,eAK3C,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,KAAK,CAAC,IAAI,cAE5C,CAAA;AAED;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,SAAS,eAK3C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,gBAAgB;IACpB,mDAAmD;+BAhEnB,KAAK,CAAC,IAAI;IAkE1C,mDAAmD;gCAxDlB,SAAS;IA0D1C,mDAAmD;gCA3FlB,KAAK,CAAC,IAAI;IA6F3C,mDAAmD;gCAnFlB,SAAS;IAqF1C,+DAA+D;gCAjD9B,KAAK,CAAC,IAAI;IAmD3C,yDAAyD;gCAzCxB,SAAS;CA2C3C,CAAA;AAED,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,CAAA"}
@@ -1,32 +1,97 @@
1
1
  import { AcGeBox2d, AcGeBox3d } from '@mlightcad/data-model';
2
2
  import * as THREE from 'three';
3
+ /**
4
+ * Converts a Three.js Box3 to a CAD geometry Box3d.
5
+ *
6
+ * @param from - The Three.js Box3 to convert
7
+ * @returns The equivalent CAD geometry Box3d
8
+ */
3
9
  var threeBox3dToGeBox3d = function (from) {
4
10
  return new AcGeBox3d(from.min, from.max);
5
11
  };
12
+ /**
13
+ * Converts a CAD geometry Box3d to a Three.js Box3.
14
+ *
15
+ * @param from - The CAD geometry Box3d to convert
16
+ * @returns The equivalent Three.js Box3
17
+ */
6
18
  var goBox3dToThreeBox3d = function (from) {
7
19
  return new THREE.Box3(from.min, from.max);
8
20
  };
21
+ /**
22
+ * Converts a Three.js Box2 to a CAD geometry Box2d.
23
+ *
24
+ * @param from - The Three.js Box2 to convert
25
+ * @returns The equivalent CAD geometry Box2d
26
+ */
9
27
  var threeBo2dToGeBox2d = function (from) {
10
28
  return new AcGeBox2d(from.min, from.max);
11
29
  };
30
+ /**
31
+ * Converts a CAD geometry Box2d to a Three.js Box2.
32
+ *
33
+ * @param from - The CAD geometry Box2d to convert
34
+ * @returns The equivalent Three.js Box2
35
+ */
12
36
  var goBox2dToThreeBox2d = function (from) {
13
37
  return new THREE.Box2(from.min, from.max);
14
38
  };
39
+ /**
40
+ * Converts a Three.js Box3 to a CAD geometry Box2d by ignoring the Z dimension.
41
+ *
42
+ * @param from - The Three.js Box3 to convert
43
+ * @returns The equivalent CAD geometry Box2d (Z dimension discarded)
44
+ */
15
45
  var threeBox3dToGeBox2d = function (from) {
16
46
  return new AcGeBox2d(from.min, from.max);
17
47
  };
48
+ /**
49
+ * Converts a CAD geometry Box2d to a Three.js Box3 by setting Z dimension to 0.
50
+ *
51
+ * @param from - The CAD geometry Box2d to convert
52
+ * @returns The equivalent Three.js Box3 with Z=0
53
+ */
18
54
  var goBox2dToThreeBox3d = function (from) {
19
55
  var threeBox3d = new THREE.Box3();
20
56
  threeBox3d.min.set(from.min.x, from.min.y, 0);
21
57
  threeBox3d.max.set(from.max.x, from.max.y, 0);
22
58
  return threeBox3d;
23
59
  };
60
+ /**
61
+ * Utility object containing geometry conversion functions between Three.js and CAD geometry types.
62
+ *
63
+ * This utility provides bidirectional conversion functions for bounding boxes:
64
+ * - Between 2D and 3D bounding boxes
65
+ * - Between Three.js and CAD geometry coordinate systems
66
+ * - Cross-dimensional conversions (2D ↔ 3D)
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * // Convert Three.js box to CAD geometry
71
+ * const threeBox = new THREE.Box3();
72
+ * const cadBox = AcTrGeometryUtil.threeBox3dToGeBox3d(threeBox);
73
+ *
74
+ * // Convert CAD geometry box to Three.js
75
+ * const cadBox2d = new AcGeBox2d();
76
+ * const threeBox2d = AcTrGeometryUtil.goBox2dToThreeBox2d(cadBox2d);
77
+ *
78
+ * // Cross-dimensional conversion
79
+ * const threeBox3d = new THREE.Box3();
80
+ * const cadBox2d = AcTrGeometryUtil.threeBox3dToGeBox2d(threeBox3d);
81
+ * ```
82
+ */
24
83
  var AcTrGeometryUtil = {
84
+ /** Converts Three.js Box2 to CAD geometry Box2d */
25
85
  threeBo2dToGeBox2d: threeBo2dToGeBox2d,
86
+ /** Converts CAD geometry Box2d to Three.js Box2 */
26
87
  goBox2dToThreeBox2d: goBox2dToThreeBox2d,
88
+ /** Converts Three.js Box3 to CAD geometry Box3d */
27
89
  threeBox3dToGeBox3d: threeBox3dToGeBox3d,
90
+ /** Converts CAD geometry Box3d to Three.js Box3 */
28
91
  goBox3dToThreeBox3d: goBox3dToThreeBox3d,
92
+ /** Converts Three.js Box3 to CAD geometry Box2d (ignores Z) */
29
93
  threeBox3dToGeBox2d: threeBox3dToGeBox2d,
94
+ /** Converts CAD geometry Box2d to Three.js Box3 (Z=0) */
30
95
  goBox2dToThreeBox3d: goBox2dToThreeBox3d
31
96
  };
32
97
  export { threeBo2dToGeBox2d, goBox2dToThreeBox2d, threeBox3dToGeBox3d, goBox3dToThreeBox3d, threeBox3dToGeBox2d, goBox2dToThreeBox3d, AcTrGeometryUtil };
@@ -1 +1 @@
1
- {"version":3,"file":"AcTrGeometryUtil.js","sourceRoot":"","sources":["../../src/util/AcTrGeometryUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,IAAM,mBAAmB,GAAG,UAAC,IAAgB;IAC3C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,IAAM,mBAAmB,GAAG,UAAC,IAAe;IAC1C,OAAO,IAAI,KAAK,CAAC,IAAI,CACnB,IAAI,CAAC,GAA+B,EACpC,IAAI,CAAC,GAA+B,CACrC,CAAA;AACH,CAAC,CAAA;AAED,IAAM,kBAAkB,GAAG,UAAC,IAAgB;IAC1C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,IAAM,mBAAmB,GAAG,UAAC,IAAe;IAC1C,OAAO,IAAI,KAAK,CAAC,IAAI,CACnB,IAAI,CAAC,GAA+B,EACpC,IAAI,CAAC,GAA+B,CACrC,CAAA;AACH,CAAC,CAAA;AAED,IAAM,mBAAmB,GAAG,UAAC,IAAgB;IAC3C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,IAAM,mBAAmB,GAAG,UAAC,IAAe;IAC1C,IAAM,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;IACnC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,IAAM,gBAAgB,GAAG;IACvB,kBAAkB,EAAE,kBAAkB;IACtC,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,mBAAmB;IACxC,mBAAmB,EAAE,mBAAmB;CACzC,CAAA;AAED,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,CAAA"}
1
+ {"version":3,"file":"AcTrGeometryUtil.js","sourceRoot":"","sources":["../../src/util/AcTrGeometryUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;;GAKG;AACH,IAAM,mBAAmB,GAAG,UAAC,IAAgB;IAC3C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;;GAKG;AACH,IAAM,mBAAmB,GAAG,UAAC,IAAe;IAC1C,OAAO,IAAI,KAAK,CAAC,IAAI,CACnB,IAAI,CAAC,GAA+B,EACpC,IAAI,CAAC,GAA+B,CACrC,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,IAAM,kBAAkB,GAAG,UAAC,IAAgB;IAC1C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;;GAKG;AACH,IAAM,mBAAmB,GAAG,UAAC,IAAe;IAC1C,OAAO,IAAI,KAAK,CAAC,IAAI,CACnB,IAAI,CAAC,GAA+B,EACpC,IAAI,CAAC,GAA+B,CACrC,CAAA;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,IAAM,mBAAmB,GAAG,UAAC,IAAgB;IAC3C,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED;;;;;GAKG;AACH,IAAM,mBAAmB,GAAG,UAAC,IAAe;IAC1C,IAAM,UAAU,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;IACnC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7C,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,IAAM,gBAAgB,GAAG;IACvB,mDAAmD;IACnD,kBAAkB,EAAE,kBAAkB;IACtC,mDAAmD;IACnD,mBAAmB,EAAE,mBAAmB;IACxC,mDAAmD;IACnD,mBAAmB,EAAE,mBAAmB;IACxC,mDAAmD;IACnD,mBAAmB,EAAE,mBAAmB;IACxC,+DAA+D;IAC/D,mBAAmB,EAAE,mBAAmB;IACxC,yDAAyD;IACzD,mBAAmB,EAAE,mBAAmB;CACzC,CAAA;AAED,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EACjB,CAAA"}
@@ -1,16 +1,51 @@
1
1
  import { AcDbObjectId } from '@mlightcad/data-model';
2
2
  import { AcTrBatchedGroup, AcTrBatchedGroupStats, AcTrEntity } from '@mlightcad/three-renderer';
3
3
  import * as THREE from 'three';
4
+ /**
5
+ * Statistics for a CAD layer including name and batched rendering metrics.
6
+ *
7
+ * Extends the standard batched group statistics with layer-specific information.
8
+ */
4
9
  export type AcTrLayerStats = AcTrBatchedGroupStats & {
10
+ /** The name of the layer */
5
11
  name: string;
6
12
  };
7
13
  /**
8
- * The class is used to render layer in AutoCAD.
14
+ * Represents a CAD layer for organizing and rendering entities in Three.js.
15
+ *
16
+ * This class manages a collection of CAD entities that belong to the same logical layer.
17
+ * It provides:
18
+ * - Entity organization and grouping
19
+ * - Layer visibility control
20
+ * - Efficient batched rendering through Three.js groups
21
+ * - Performance monitoring and statistics
22
+ *
23
+ * ## Technical Notes
24
+ * Unlike Three.js built-in layers (which only support 32 layers), this implementation
25
+ * uses Three.js groups to represent AutoCAD layers, allowing unlimited layer support.
26
+ * Each AutoCAD layer corresponds to one Three.js group containing all entities.
27
+ *
28
+ * ## Performance Benefits
29
+ * - Batched rendering reduces draw calls
30
+ * - Efficient visibility toggling for entire layers
31
+ * - Optimized entity grouping for better GPU performance
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Create a new layer
36
+ * const layer = new AcTrLayer('Dimensions');
37
+ *
38
+ * // Add entities to the layer
39
+ * const line = new AcTrLine(startPoint, endPoint);
40
+ * layer.add(line);
41
+ *
42
+ * // Control layer visibility
43
+ * layer.visible = false; // Hide all entities in this layer
9
44
  *
10
- * Notes:
11
- * Layers provided by THREE.js aren't used to control visibility of entities because it supports 32 layers only.
12
- * Instead groups are used to represent layers in AutoCAD. One AutoCAD layer is represented by one group in
13
- * THREE.js.
45
+ * // Get layer statistics
46
+ * const stats = layer.stats;
47
+ * console.log(`Layer ${stats.name} has ${stats.entityCount} entities`);
48
+ * ```
14
49
  */
15
50
  export declare class AcTrLayer {
16
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AcTrLayer.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACX,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG;IACnD,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB;;OAEG;IACH,OAAO,CAAC,KAAK,CAAQ;IACrB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAkB;IAEhC;;;OAGG;gBACS,IAAI,EAAE,MAAM;IAKxB;;OAEG;IACH,IAAI,IAAI,IAGQ,MAAM,CADrB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,OAAO,IAGQ,OAAO,CADzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,IAAI,cAAc,qBAEjB;IAED;;OAEG;IACH,IAAI,KAAK,IAKF,cAAc,CACpB;IAED;;OAEG;IACH,IAAI,WAAW,WAEd;IAED;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY;IAIhC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU;IAI5B;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAI5D;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAKxC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAMnC;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE;IAMzB;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE;IAM3B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAM1B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE;CAK7B"}
1
+ {"version":3,"file":"AcTrLayer.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACX,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAAG;IACnD,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,SAAS;IACpB;;OAEG;IACH,OAAO,CAAC,KAAK,CAAQ;IACrB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAkB;IAEhC;;;OAGG;gBACS,IAAI,EAAE,MAAM;IAKxB;;OAEG;IACH,IAAI,IAAI,IAGQ,MAAM,CADrB;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,OAAO,IAGQ,OAAO,CADzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED,IAAI,cAAc,qBAEjB;IAED;;OAEG;IACH,IAAI,KAAK,IAKF,cAAc,CACpB;IAED;;OAEG;IACH,IAAI,WAAW,WAEd;IAED;;;OAGG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY;IAIhC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU;IAI5B;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAI5D;;;;OAIG;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAKxC;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAMnC;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE;IAMzB;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE;IAM3B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAM1B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE;CAK7B"}
@@ -11,12 +11,41 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { AcTrBatchedGroup } from '@mlightcad/three-renderer';
13
13
  /**
14
- * The class is used to render layer in AutoCAD.
14
+ * Represents a CAD layer for organizing and rendering entities in Three.js.
15
15
  *
16
- * Notes:
17
- * Layers provided by THREE.js aren't used to control visibility of entities because it supports 32 layers only.
18
- * Instead groups are used to represent layers in AutoCAD. One AutoCAD layer is represented by one group in
19
- * THREE.js.
16
+ * This class manages a collection of CAD entities that belong to the same logical layer.
17
+ * It provides:
18
+ * - Entity organization and grouping
19
+ * - Layer visibility control
20
+ * - Efficient batched rendering through Three.js groups
21
+ * - Performance monitoring and statistics
22
+ *
23
+ * ## Technical Notes
24
+ * Unlike Three.js built-in layers (which only support 32 layers), this implementation
25
+ * uses Three.js groups to represent AutoCAD layers, allowing unlimited layer support.
26
+ * Each AutoCAD layer corresponds to one Three.js group containing all entities.
27
+ *
28
+ * ## Performance Benefits
29
+ * - Batched rendering reduces draw calls
30
+ * - Efficient visibility toggling for entire layers
31
+ * - Optimized entity grouping for better GPU performance
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Create a new layer
36
+ * const layer = new AcTrLayer('Dimensions');
37
+ *
38
+ * // Add entities to the layer
39
+ * const line = new AcTrLine(startPoint, endPoint);
40
+ * layer.add(line);
41
+ *
42
+ * // Control layer visibility
43
+ * layer.visible = false; // Hide all entities in this layer
44
+ *
45
+ * // Get layer statistics
46
+ * const stats = layer.stats;
47
+ * console.log(`Layer ${stats.name} has ${stats.entityCount} entities`);
48
+ * ```
20
49
  */
21
50
  var AcTrLayer = /** @class */ (function () {
22
51
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AcTrLayer.js","sourceRoot":"","sources":["../../src/view/AcTrLayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcTrLayer.js","sourceRoot":"","sources":["../../src/view/AcTrLayer.ts"],"names":[],"mappings":"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"}