@mlightcad/data-model 1.4.1 → 1.5.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 (117) hide show
  1. package/dist/data-model.cjs +5 -5
  2. package/dist/data-model.js +4855 -4154
  3. package/lib/entity/AcDb2dPolyline.d.ts +15 -1
  4. package/lib/entity/AcDb2dPolyline.d.ts.map +1 -1
  5. package/lib/entity/AcDb2dPolyline.js +32 -2
  6. package/lib/entity/AcDb2dPolyline.js.map +1 -1
  7. package/lib/entity/AcDb2dVertex.d.ts +15 -1
  8. package/lib/entity/AcDb2dVertex.d.ts.map +1 -1
  9. package/lib/entity/AcDb2dVertex.js +16 -1
  10. package/lib/entity/AcDb2dVertex.js.map +1 -1
  11. package/lib/entity/AcDb3dPolyline.d.ts +15 -1
  12. package/lib/entity/AcDb3dPolyline.d.ts.map +1 -1
  13. package/lib/entity/AcDb3dPolyline.js +32 -2
  14. package/lib/entity/AcDb3dPolyline.js.map +1 -1
  15. package/lib/entity/AcDb3dVertex.d.ts +15 -1
  16. package/lib/entity/AcDb3dVertex.d.ts.map +1 -1
  17. package/lib/entity/AcDb3dVertex.js +16 -1
  18. package/lib/entity/AcDb3dVertex.js.map +1 -1
  19. package/lib/entity/AcDbArc.d.ts +19 -1
  20. package/lib/entity/AcDbArc.d.ts.map +1 -1
  21. package/lib/entity/AcDbArc.js +103 -2
  22. package/lib/entity/AcDbArc.js.map +1 -1
  23. package/lib/entity/AcDbBlockReference.d.ts +18 -4
  24. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  25. package/lib/entity/AcDbBlockReference.js +19 -2
  26. package/lib/entity/AcDbBlockReference.js.map +1 -1
  27. package/lib/entity/AcDbCircle.d.ts +15 -6
  28. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  29. package/lib/entity/AcDbCircle.js +90 -6
  30. package/lib/entity/AcDbCircle.js.map +1 -1
  31. package/lib/entity/AcDbEllipse.d.ts +15 -6
  32. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  33. package/lib/entity/AcDbEllipse.js +55 -6
  34. package/lib/entity/AcDbEllipse.js.map +1 -1
  35. package/lib/entity/AcDbEntity.d.ts +17 -5
  36. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  37. package/lib/entity/AcDbEntity.js +30 -0
  38. package/lib/entity/AcDbEntity.js.map +1 -1
  39. package/lib/entity/AcDbFace.d.ts +16 -13
  40. package/lib/entity/AcDbFace.d.ts.map +1 -1
  41. package/lib/entity/AcDbFace.js +49 -15
  42. package/lib/entity/AcDbFace.js.map +1 -1
  43. package/lib/entity/AcDbHatch.d.ts +18 -1
  44. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  45. package/lib/entity/AcDbHatch.js +115 -1
  46. package/lib/entity/AcDbHatch.js.map +1 -1
  47. package/lib/entity/AcDbLeader.d.ts +1 -1
  48. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  49. package/lib/entity/AcDbLeader.js +1 -1
  50. package/lib/entity/AcDbLeader.js.map +1 -1
  51. package/lib/entity/AcDbLine.d.ts +3 -15
  52. package/lib/entity/AcDbLine.d.ts.map +1 -1
  53. package/lib/entity/AcDbLine.js +12 -18
  54. package/lib/entity/AcDbLine.js.map +1 -1
  55. package/lib/entity/AcDbMText.d.ts +17 -8
  56. package/lib/entity/AcDbMText.d.ts.map +1 -1
  57. package/lib/entity/AcDbMText.js +20 -19
  58. package/lib/entity/AcDbMText.js.map +1 -1
  59. package/lib/entity/AcDbPoint.d.ts +16 -7
  60. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  61. package/lib/entity/AcDbPoint.js +19 -6
  62. package/lib/entity/AcDbPoint.js.map +1 -1
  63. package/lib/entity/AcDbPolyline.d.ts +16 -7
  64. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  65. package/lib/entity/AcDbPolyline.js +52 -6
  66. package/lib/entity/AcDbPolyline.js.map +1 -1
  67. package/lib/entity/AcDbRasterImage.d.ts +1 -1
  68. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  69. package/lib/entity/AcDbRasterImage.js +1 -1
  70. package/lib/entity/AcDbRasterImage.js.map +1 -1
  71. package/lib/entity/AcDbRay.d.ts +16 -7
  72. package/lib/entity/AcDbRay.d.ts.map +1 -1
  73. package/lib/entity/AcDbRay.js +23 -6
  74. package/lib/entity/AcDbRay.js.map +1 -1
  75. package/lib/entity/AcDbSpline.d.ts +15 -6
  76. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  77. package/lib/entity/AcDbSpline.js +24 -6
  78. package/lib/entity/AcDbSpline.js.map +1 -1
  79. package/lib/entity/AcDbTable.d.ts +12 -2
  80. package/lib/entity/AcDbTable.d.ts.map +1 -1
  81. package/lib/entity/AcDbTable.js +108 -2
  82. package/lib/entity/AcDbTable.js.map +1 -1
  83. package/lib/entity/AcDbText.d.ts +16 -7
  84. package/lib/entity/AcDbText.d.ts.map +1 -1
  85. package/lib/entity/AcDbText.js +20 -19
  86. package/lib/entity/AcDbText.js.map +1 -1
  87. package/lib/entity/AcDbTrace.d.ts +16 -7
  88. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  89. package/lib/entity/AcDbTrace.js +49 -9
  90. package/lib/entity/AcDbTrace.js.map +1 -1
  91. package/lib/entity/AcDbViewport.d.ts +1 -2
  92. package/lib/entity/AcDbViewport.d.ts.map +1 -1
  93. package/lib/entity/AcDbViewport.js +1 -2
  94. package/lib/entity/AcDbViewport.js.map +1 -1
  95. package/lib/entity/AcDbWipeout.d.ts +2 -7
  96. package/lib/entity/AcDbWipeout.d.ts.map +1 -1
  97. package/lib/entity/AcDbWipeout.js +2 -7
  98. package/lib/entity/AcDbWipeout.js.map +1 -1
  99. package/lib/entity/AcDbXline.d.ts +1 -6
  100. package/lib/entity/AcDbXline.d.ts.map +1 -1
  101. package/lib/entity/AcDbXline.js +1 -6
  102. package/lib/entity/AcDbXline.js.map +1 -1
  103. package/lib/entity/dimension/AcDbAlignedDimension.d.ts +27 -4
  104. package/lib/entity/dimension/AcDbAlignedDimension.d.ts.map +1 -1
  105. package/lib/entity/dimension/AcDbAlignedDimension.js +143 -2
  106. package/lib/entity/dimension/AcDbAlignedDimension.js.map +1 -1
  107. package/lib/entity/dimension/AcDbDiametricDimension.d.ts +0 -2
  108. package/lib/entity/dimension/AcDbDiametricDimension.d.ts.map +1 -1
  109. package/lib/entity/dimension/AcDbDiametricDimension.js +1 -3
  110. package/lib/entity/dimension/AcDbDiametricDimension.js.map +1 -1
  111. package/lib/entity/dimension/AcDbDimension.d.ts +1 -3
  112. package/lib/entity/dimension/AcDbDimension.d.ts.map +1 -1
  113. package/lib/entity/dimension/AcDbDimension.js +1 -15
  114. package/lib/entity/dimension/AcDbDimension.js.map +1 -1
  115. package/lib/misc/AcDbRenderingCache.js +1 -1
  116. package/lib/misc/AcDbRenderingCache.js.map +1 -1
  117. package/package.json +3 -3
@@ -1,5 +1,6 @@
1
1
  import { AcGeBox3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbOsnapMode } from '../misc';
3
4
  import { AcDbCurve } from './AcDbCurve';
4
5
  /**
5
6
  * Represents the curve/spline-fit type for one 2d polyline.
@@ -135,12 +136,25 @@ export declare class AcDb2dPolyline extends AcDbCurve {
135
136
  * @returns Array of grip points (all vertices)
136
137
  */
137
138
  subGetGripPoints(): AcGePoint3d[];
139
+ /**
140
+ * Gets the object snap points for this polyline.
141
+ *
142
+ * Object snap points are precise points that can be used for positioning
143
+ * when drawing or editing. This method provides snap points based on the
144
+ * specified snap mode.
145
+ *
146
+ * @param osnapMode - The object snap mode
147
+ * @param _pickPoint - The point where the user picked
148
+ * @param _lastPoint - The last point
149
+ * @param snapPoints - Array to populate with snap points
150
+ */
151
+ subGetOsnapPoints(osnapMode: AcDbOsnapMode, _pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
138
152
  /**
139
153
  * Draws this polyline using the specified renderer.
140
154
  *
141
155
  * @param renderer - The renderer to use for drawing
142
156
  * @returns The rendered polyline entity, or undefined if drawing failed
143
157
  */
144
- draw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
158
+ subWorldDraw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
145
159
  }
146
160
  //# sourceMappingURL=AcDb2dPolyline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb2dPolyline.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb2dPolyline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EAGhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,UAAU,IAAA;IACV;;OAEG;IACH,YAAY,IAAA;IACZ;;OAEG;IACH,cAAc,IAAA;IACd;;OAEG;IACH,eAAe,IAAA;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAe;IAE/C,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAAgB;IACjC,yDAAyD;IACzD,OAAO,CAAC,UAAU,CAAQ;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAsC;IAElD;;OAEG;gBAED,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,SAAI,EACb,MAAM,UAAQ,EACd,WAAW,SAAI,EACf,SAAS,SAAI,EACb,MAAM,GAAE,MAAM,EAAE,GAAG,IAAW;IAgBhC;;;;OAIG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,cAAc,EAEjC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;;;OASG;IACH,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAE1B;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAMhC;IAED;;;;;;;OAOG;IACH,gBAAgB;IAMhB;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY;CAQ5B"}
1
+ {"version":3,"file":"AcDb2dPolyline.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb2dPolyline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EAGhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,UAAU,IAAA;IACV;;OAEG;IACH,YAAY,IAAA;IACZ;;OAEG;IACH,cAAc,IAAA;IACd;;OAEG;IACH,eAAe,IAAA;CAChB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAe;IAE/C,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAAgB;IACjC,yDAAyD;IACzD,OAAO,CAAC,UAAU,CAAQ;IAC1B,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAsC;IAElD;;OAEG;gBAED,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,eAAe,EAAE,EAC3B,SAAS,SAAI,EACb,MAAM,UAAQ,EACd,WAAW,SAAI,EACf,SAAS,SAAI,EACb,MAAM,GAAE,MAAM,EAAE,GAAG,IAAW;IAgBhC;;;;OAIG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,cAAc,EAEjC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;;;OASG;IACH,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAE1B;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAMhC;IAED;;;;;;;OAOG;IACH,gBAAgB;IAShB;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAgB/B;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;CAQpC"}
@@ -14,6 +14,7 @@ var __extends = (this && this.__extends) || (function () {
14
14
  };
15
15
  })();
16
16
  import { AcGeBox3d, AcGePoint3d, AcGePolyline2d } from '@mlightcad/geometry-engine';
17
+ import { AcDbOsnapMode } from '../misc';
17
18
  import { AcDbCurve } from './AcDbCurve';
18
19
  /**
19
20
  * Represents the curve/spline-fit type for one 2d polyline.
@@ -194,16 +195,45 @@ var AcDb2dPolyline = /** @class */ (function (_super) {
194
195
  */
195
196
  AcDb2dPolyline.prototype.subGetGripPoints = function () {
196
197
  var gripPoints = new Array();
197
- // TODO: Finish logic to get grip points
198
+ for (var i = 0; i < this._geo.numberOfVertices; ++i) {
199
+ var temp = this._geo.getPointAt(i);
200
+ gripPoints.push(new AcGePoint3d(temp.x, temp.y, 0));
201
+ }
198
202
  return gripPoints;
199
203
  };
204
+ /**
205
+ * Gets the object snap points for this polyline.
206
+ *
207
+ * Object snap points are precise points that can be used for positioning
208
+ * when drawing or editing. This method provides snap points based on the
209
+ * specified snap mode.
210
+ *
211
+ * @param osnapMode - The object snap mode
212
+ * @param _pickPoint - The point where the user picked
213
+ * @param _lastPoint - The last point
214
+ * @param snapPoints - Array to populate with snap points
215
+ */
216
+ AcDb2dPolyline.prototype.subGetOsnapPoints = function (osnapMode, _pickPoint, _lastPoint, snapPoints) {
217
+ switch (osnapMode) {
218
+ case AcDbOsnapMode.EndPoint:
219
+ {
220
+ for (var i = 0; i < this._geo.numberOfVertices; ++i) {
221
+ var temp = this._geo.getPointAt(i);
222
+ snapPoints.push(new AcGePoint3d(temp.x, temp.y, 0));
223
+ }
224
+ }
225
+ break;
226
+ default:
227
+ break;
228
+ }
229
+ };
200
230
  /**
201
231
  * Draws this polyline using the specified renderer.
202
232
  *
203
233
  * @param renderer - The renderer to use for drawing
204
234
  * @returns The rendered polyline entity, or undefined if drawing failed
205
235
  */
206
- AcDb2dPolyline.prototype.draw = function (renderer) {
236
+ AcDb2dPolyline.prototype.subWorldDraw = function (renderer) {
207
237
  var _this = this;
208
238
  var points = [];
209
239
  var tmp = this._geo.getPoints(100);
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb2dPolyline.js","sourceRoot":"","sources":["../../src/entity/AcDb2dPolyline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDb2dPolyline.js","sourceRoot":"","sources":["../../src/entity/AcDb2dPolyline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AcGeBox3d, AcGeMatrix3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbOsnapMode } from '../misc';
3
4
  import { AcDbEntity } from './AcDbEntity';
4
5
  export declare enum AcDb2dVertexType {
5
6
  /**
@@ -125,6 +126,19 @@ export declare class AcDb2dVertex extends AcDbEntity {
125
126
  * @returns Array of grip points (center, start point, end point)
126
127
  */
127
128
  subGetGripPoints(): AcGePoint3d[];
129
+ /**
130
+ * Gets the object snap points for this vertex.
131
+ *
132
+ * Object snap points are precise points that can be used for positioning
133
+ * when drawing or editing. This method provides snap points based on the
134
+ * specified snap mode.
135
+ *
136
+ * @param _osnapMode - The object snap mode
137
+ * @param _pickPoint - The point where the user picked
138
+ * @param _lastPoint - The last point
139
+ * @param snapPoints - Array to populate with snap points
140
+ */
141
+ subGetOsnapPoints(_osnapMode: AcDbOsnapMode, _pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
128
142
  /**
129
143
  * Transforms this vertex by the specified matrix.
130
144
  *
@@ -138,6 +152,6 @@ export declare class AcDb2dVertex extends AcDbEntity {
138
152
  * @param renderer - The renderer to use for drawing
139
153
  * @returns undefined
140
154
  */
141
- draw(_renderer: AcGiRenderer): undefined;
155
+ subWorldDraw(_renderer: AcGiRenderer): undefined;
142
156
  }
143
157
  //# sourceMappingURL=AcDb2dVertex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb2dVertex.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb2dVertex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,MAAM,IAAI;IACV;;;;OAIG;IACH,cAAc,IAAI;IAClB;;;;OAIG;IACH,eAAe,IAAI;IACnB;;OAEG;IACH,eAAe,IAAA;CAChB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAa;IAE7C,OAAO,CAAC,SAAS,CAAa;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAQ;IACtB,wCAAwC;IACxC,OAAO,CAAC,WAAW,CAAQ;IAC3B,sCAAsC;IACtC,OAAO,CAAC,SAAS,CAAQ;IACzB,sBAAsB;IACtB,OAAO,CAAC,WAAW,CAAkB;IAErC;;OAEG;;IAUH;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;;;;;OAMG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,eAAe,EAElC;IAED;;;;OAIG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED;;;;;OAKG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;OAKG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED;;;OAGG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAErC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,cAEnB;IAED;;;;OAIG;IACH,gBAAgB;IAMhB;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS;CAGzC"}
1
+ {"version":3,"file":"AcDb2dVertex.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb2dVertex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,MAAM,IAAI;IACV;;;;OAIG;IACH,cAAc,IAAI;IAClB;;;;OAIG;IACH,eAAe,IAAI;IACnB;;OAEG;IACH,eAAe,IAAA;CAChB;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAa;IAE7C,OAAO,CAAC,SAAS,CAAa;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAQ;IACtB,wCAAwC;IACxC,OAAO,CAAC,WAAW,CAAQ;IAC3B,sCAAsC;IACtC,OAAO,CAAC,SAAS,CAAQ;IACzB,sBAAsB;IACtB,OAAO,CAAC,WAAW,CAAkB;IAErC;;OAEG;;IAUH;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;;;;;OAMG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,eAAe,EAElC;IAED;;;;OAIG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAEtB;IAED;;;;;OAKG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;OAKG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED;;;OAGG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAErC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,cAEnB;IAED;;;;OAIG;IACH,gBAAgB;IAMhB;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAK/B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS;CAGjD"}
@@ -183,6 +183,21 @@ var AcDb2dVertex = /** @class */ (function (_super) {
183
183
  gripPoints.push(this._position);
184
184
  return gripPoints;
185
185
  };
186
+ /**
187
+ * Gets the object snap points for this vertex.
188
+ *
189
+ * Object snap points are precise points that can be used for positioning
190
+ * when drawing or editing. This method provides snap points based on the
191
+ * specified snap mode.
192
+ *
193
+ * @param _osnapMode - The object snap mode
194
+ * @param _pickPoint - The point where the user picked
195
+ * @param _lastPoint - The last point
196
+ * @param snapPoints - Array to populate with snap points
197
+ */
198
+ AcDb2dVertex.prototype.subGetOsnapPoints = function (_osnapMode, _pickPoint, _lastPoint, snapPoints) {
199
+ snapPoints.push(this._position);
200
+ };
186
201
  /**
187
202
  * Transforms this vertex by the specified matrix.
188
203
  *
@@ -199,7 +214,7 @@ var AcDb2dVertex = /** @class */ (function (_super) {
199
214
  * @param renderer - The renderer to use for drawing
200
215
  * @returns undefined
201
216
  */
202
- AcDb2dVertex.prototype.draw = function (_renderer) {
217
+ AcDb2dVertex.prototype.subWorldDraw = function (_renderer) {
203
218
  return undefined;
204
219
  };
205
220
  /** The entity type name */
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb2dVertex.js","sourceRoot":"","sources":["../../src/entity/AcDb2dVertex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EACL,SAAS,EAET,WAAW,EAEZ,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAN,IAAY,gBAqBX;AArBD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,2DAAU,CAAA;IACV;;;;OAIG;IACH,2EAAkB,CAAA;IAClB;;;;OAIG;IACH,6EAAmB,CAAA;IACnB;;OAEG;IACH,6EAAe,CAAA;AACjB,CAAC,EArBW,gBAAgB,KAAhB,gBAAgB,QAqB3B;AAED;;GAEG;AACH;IAAkC,gCAAU;IAmB1C;;OAEG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,SAAS,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,KAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,KAAI,CAAC,WAAW,GAAG,CAAC,CAAA;QACpB,KAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAA;;IAC5C,CAAC;IASD,sBAAI,kCAAQ;QAPZ;;;;;;WAMG;aACH;YACE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED;;;;;;WAMG;aACH,UAAa,KAAsB;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;;;OAXA;IAkBD,sBAAI,+BAAK;QALT;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,CAAA;QACpB,CAAC;QAED;;;;WAIG;aACH,UAAU,KAAa;YACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACrB,CAAC;;;OATA;IAiBD,sBAAI,oCAAU;QANd;;;;;WAKG;aACH;YACE,OAAO,IAAI,CAAC,WAAW,CAAA;QACzB,CAAC;QAED;;;;;WAKG;aACH,UAAe,KAAa;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OAVA;IAkBD,sBAAI,kCAAQ;QANZ;;;;;WAKG;aACH;YACE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED;;;;;WAKG;aACH,UAAa,KAAa;YACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACxB,CAAC;;;OAVA;IAgBD,sBAAI,oCAAU;QAJd;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,WAAW,CAAA;QACzB,CAAC;QAED;;;WAGG;aACH,UAAe,KAAuB;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OARA;IAeD,sBAAI,0CAAgB;QALpB;;;;WAIG;aACH;YACE,OAAO,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC;;;OAAA;IAED;;;;OAIG;IACH,uCAAgB,GAAhB;QACE,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAA;QAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,kCAAW,GAAX,UAAY,MAAoB;QAC9B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,2BAAI,GAAJ,UAAK,SAAuB;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IArKD,2BAA2B;IACX,qBAAQ,GAAW,UAAU,CAAA;IAqK/C,mBAAC;CAAA,AAvKD,CAAkC,UAAU,GAuK3C;SAvKY,YAAY"}
1
+ {"version":3,"file":"AcDb2dVertex.js","sourceRoot":"","sources":["../../src/entity/AcDb2dVertex.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AcGeBox3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbOsnapMode } from '../misc';
3
4
  import { AcDbCurve } from './AcDbCurve';
4
5
  /**
5
6
  * Represents the spline-fit type for this 3D polyline.
@@ -91,12 +92,25 @@ export declare class AcDb3dPolyline extends AcDbCurve {
91
92
  * @returns Array of grip points (all vertices)
92
93
  */
93
94
  subGetGripPoints(): AcGePoint3d[];
95
+ /**
96
+ * Gets the object snap points for this polyline.
97
+ *
98
+ * Object snap points are precise points that can be used for positioning
99
+ * when drawing or editing. This method provides snap points based on the
100
+ * specified snap mode.
101
+ *
102
+ * @param osnapMode - The object snap mode
103
+ * @param _pickPoint - The point where the user picked
104
+ * @param _lastPoint - The last point
105
+ * @param snapPoints - Array to populate with snap points
106
+ */
107
+ subGetOsnapPoints(osnapMode: AcDbOsnapMode, _pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
94
108
  /**
95
109
  * Draws this polyline using the specified renderer.
96
110
  *
97
111
  * @param renderer - The renderer to use for drawing
98
112
  * @returns The rendered polyline entity, or undefined if drawing failed
99
113
  */
100
- draw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
114
+ subWorldDraw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
101
115
  }
102
116
  //# sourceMappingURL=AcDb3dPolyline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb3dPolyline.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dPolyline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EAGhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,UAAU,IAAA;IACV;;OAEG;IACH,cAAc,IAAA;IACd;;OAEG;IACH,eAAe,IAAA;CAChB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAe;IAE/C,+CAA+C;IAC/C,OAAO,CAAC,SAAS,CAAgB;IACjC,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAsC;IAElD;;OAEG;gBAED,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,eAAe,EAAE,EAC3B,MAAM,UAAQ;IAOhB;;;;OAIG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,cAAc,EAEjC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAOhC;IAED;;;;;;;OAOG;IACH,gBAAgB;IAMhB;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY;CAS5B"}
1
+ {"version":3,"file":"AcDb3dPolyline.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dPolyline.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EAGhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,oBAAY,cAAc;IACxB;;OAEG;IACH,UAAU,IAAA;IACV;;OAEG;IACH,cAAc,IAAA;IACd;;OAEG;IACH,eAAe,IAAA;CAChB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC3C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAe;IAE/C,+CAA+C;IAC/C,OAAO,CAAC,SAAS,CAAgB;IACjC,+CAA+C;IAC/C,OAAO,CAAC,IAAI,CAAsC;IAElD;;OAEG;gBAED,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,eAAe,EAAE,EAC3B,MAAM,UAAQ;IAOhB;;;;OAIG;IACH,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,cAAc,EAEjC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAOhC;IAED;;;;;;;OAOG;IACH,gBAAgB;IAShB;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAgB/B;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;CASpC"}
@@ -14,6 +14,7 @@ var __extends = (this && this.__extends) || (function () {
14
14
  };
15
15
  })();
16
16
  import { AcGeBox3d, AcGePoint3d, AcGePolyline2d } from '@mlightcad/geometry-engine';
17
+ import { AcDbOsnapMode } from '../misc';
17
18
  import { AcDbCurve } from './AcDbCurve';
18
19
  /**
19
20
  * Represents the spline-fit type for this 3D polyline.
@@ -132,16 +133,45 @@ var AcDb3dPolyline = /** @class */ (function (_super) {
132
133
  */
133
134
  AcDb3dPolyline.prototype.subGetGripPoints = function () {
134
135
  var gripPoints = new Array();
135
- // TODO: Finish logic to get grip points
136
+ for (var i = 0; i < this._geo.numberOfVertices; ++i) {
137
+ var temp = this._geo.getPointAt(i);
138
+ gripPoints.push(new AcGePoint3d(temp.x, temp.y, 0));
139
+ }
136
140
  return gripPoints;
137
141
  };
142
+ /**
143
+ * Gets the object snap points for this polyline.
144
+ *
145
+ * Object snap points are precise points that can be used for positioning
146
+ * when drawing or editing. This method provides snap points based on the
147
+ * specified snap mode.
148
+ *
149
+ * @param osnapMode - The object snap mode
150
+ * @param _pickPoint - The point where the user picked
151
+ * @param _lastPoint - The last point
152
+ * @param snapPoints - Array to populate with snap points
153
+ */
154
+ AcDb3dPolyline.prototype.subGetOsnapPoints = function (osnapMode, _pickPoint, _lastPoint, snapPoints) {
155
+ switch (osnapMode) {
156
+ case AcDbOsnapMode.EndPoint:
157
+ {
158
+ for (var i = 0; i < this._geo.numberOfVertices; ++i) {
159
+ var temp = this._geo.getPointAt(i);
160
+ snapPoints.push(new AcGePoint3d(temp.x, temp.y, 0));
161
+ }
162
+ }
163
+ break;
164
+ default:
165
+ break;
166
+ }
167
+ };
138
168
  /**
139
169
  * Draws this polyline using the specified renderer.
140
170
  *
141
171
  * @param renderer - The renderer to use for drawing
142
172
  * @returns The rendered polyline entity, or undefined if drawing failed
143
173
  */
144
- AcDb3dPolyline.prototype.draw = function (renderer) {
174
+ AcDb3dPolyline.prototype.subWorldDraw = function (renderer) {
145
175
  var points = [];
146
176
  var tmp = this._geo.getPoints(100);
147
177
  // TODO: Set the correct z value
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb3dPolyline.js","sourceRoot":"","sources":["../../src/entity/AcDb3dPolyline.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EACL,SAAS,EACT,WAAW,EAEX,cAAc,EAEf,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACxB;;OAEG;IACH,+DAAU,CAAA;IACV;;OAEG;IACH,uEAAc,CAAA;IACd;;OAEG;IACH,yEAAe,CAAA;AACjB,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB;AAED;;GAEG;AACH;IAAoC,kCAAS;IAS3C;;OAEG;IACH,wBACE,IAAoB,EACpB,QAA2B,EAC3B,MAAc;QAAd,uBAAA,EAAA,cAAc;QAEd,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,KAAI,CAAC,IAAI,GAAG,IAAI,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;;IAClD,CAAC;IAOD,sBAAI,oCAAQ;QALZ;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED;;;;WAIG;aACH,UAAa,KAAqB;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACxB,CAAC;;;OATA;IAyBD,sBAAI,kCAAM;QAdV;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACzB,CAAC;QAED;;;;;;;;;WASG;aACH,UAAW,KAAc;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OAdA;IA2BD,sBAAI,4CAAgB;QAXpB;;;;;;;;;;WAUG;aACH;YACE,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;YACzB,2CAA2C;YAC3C,OAAO,IAAI,SAAS,CAClB,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EACpC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CACrC,CAAA;QACH,CAAC;;;OAAA;IAED;;;;;;;OAOG;IACH,yCAAgB,GAAhB;QACE,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAA;QAC3C,wCAAwC;QACxC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,6BAAI,GAAJ,UAAK,QAAsB;QACzB,IAAM,MAAM,GAAkB,EAAE,CAAA;QAChC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACpC,gCAAgC;QAChC,GAAG,CAAC,OAAO,CAAC,UAAA,KAAK;YACf,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAAvD,CAAuD,CACxD,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAvHD,2BAA2B;IACX,uBAAQ,GAAW,YAAY,CAAA;IAuHjD,qBAAC;CAAA,AAzHD,CAAoC,SAAS,GAyH5C;SAzHY,cAAc"}
1
+ {"version":3,"file":"AcDb3dPolyline.js","sourceRoot":"","sources":["../../src/entity/AcDb3dPolyline.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AcGeBox3d, AcGeMatrix3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbOsnapMode } from '../misc';
3
4
  import { AcDbEntity } from './AcDbEntity';
4
5
  export declare enum AcDb3dVertexType {
5
6
  /**
@@ -65,6 +66,19 @@ export declare class AcDb3dVertex extends AcDbEntity {
65
66
  * @returns Array of grip points (center, start point, end point)
66
67
  */
67
68
  subGetGripPoints(): AcGePoint3d[];
69
+ /**
70
+ * Gets the object snap points for this vertex.
71
+ *
72
+ * Object snap points are precise points that can be used for positioning
73
+ * when drawing or editing. This method provides snap points based on the
74
+ * specified snap mode.
75
+ *
76
+ * @param _osnapMode - The object snap mode
77
+ * @param _pickPoint - The point where the user picked
78
+ * @param _lastPoint - The last point
79
+ * @param snapPoints - Array to populate with snap points
80
+ */
81
+ subGetOsnapPoints(_osnapMode: AcDbOsnapMode, _pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
68
82
  /**
69
83
  * Transforms this vertex by the specified matrix.
70
84
  *
@@ -78,6 +92,6 @@ export declare class AcDb3dVertex extends AcDbEntity {
78
92
  * @param renderer - The renderer to use for drawing
79
93
  * @returns undefined
80
94
  */
81
- draw(_renderer: AcGiRenderer): undefined;
95
+ subWorldDraw(_renderer: AcGiRenderer): undefined;
82
96
  }
83
97
  //# sourceMappingURL=AcDb3dVertex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb3dVertex.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dVertex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,YAAY,IAAA;IACZ;;OAEG;IACH,aAAa,IAAA;IACb;;;;OAIG;IACH,SAAS,IAAA;CACV;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAa;IAE7C,yCAAyC;IACzC,OAAO,CAAC,SAAS,CAAa;IAC9B,sBAAsB;IACtB,OAAO,CAAC,WAAW,CAAkB;IAErC;;OAEG;;IAOH;;;;OAIG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,eAAe,EAElC;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED;;;OAGG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAErC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,cAEnB;IAED;;;;OAIG;IACH,gBAAgB;IAMhB;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS;CAGzC"}
1
+ {"version":3,"file":"AcDb3dVertex.d.ts","sourceRoot":"","sources":["../../src/entity/AcDb3dVertex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,YAAY,IAAA;IACZ;;OAEG;IACH,aAAa,IAAA;IACb;;;;OAIG;IACH,SAAS,IAAA;CACV;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAa;IAE7C,yCAAyC;IACzC,OAAO,CAAC,SAAS,CAAa;IAC9B,sBAAsB;IACtB,OAAO,CAAC,WAAW,CAAkB;IAErC;;OAEG;;IAOH;;;;OAIG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,eAAe,EAElC;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED;;;OAGG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAErC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,cAEnB;IAED;;;;OAIG;IACH,gBAAgB;IAMhB;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,UAAU,EAAE,aAAa,EACzB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAK/B;;;;;OAKG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS;CAGjD"}
@@ -106,6 +106,21 @@ var AcDb3dVertex = /** @class */ (function (_super) {
106
106
  gripPoints.push(this._position);
107
107
  return gripPoints;
108
108
  };
109
+ /**
110
+ * Gets the object snap points for this vertex.
111
+ *
112
+ * Object snap points are precise points that can be used for positioning
113
+ * when drawing or editing. This method provides snap points based on the
114
+ * specified snap mode.
115
+ *
116
+ * @param _osnapMode - The object snap mode
117
+ * @param _pickPoint - The point where the user picked
118
+ * @param _lastPoint - The last point
119
+ * @param snapPoints - Array to populate with snap points
120
+ */
121
+ AcDb3dVertex.prototype.subGetOsnapPoints = function (_osnapMode, _pickPoint, _lastPoint, snapPoints) {
122
+ snapPoints.push(this._position);
123
+ };
109
124
  /**
110
125
  * Transforms this vertex by the specified matrix.
111
126
  *
@@ -122,7 +137,7 @@ var AcDb3dVertex = /** @class */ (function (_super) {
122
137
  * @param renderer - The renderer to use for drawing
123
138
  * @returns undefined
124
139
  */
125
- AcDb3dVertex.prototype.draw = function (_renderer) {
140
+ AcDb3dVertex.prototype.subWorldDraw = function (_renderer) {
126
141
  return undefined;
127
142
  };
128
143
  /** The entity type name */
@@ -1 +1 @@
1
- {"version":3,"file":"AcDb3dVertex.js","sourceRoot":"","sources":["../../src/entity/AcDb3dVertex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EACL,SAAS,EAET,WAAW,EAEZ,MAAM,4BAA4B,CAAA;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAN,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,uEAAY,CAAA;IACZ;;OAEG;IACH,yEAAa,CAAA;IACb;;;;OAIG;IACH,iEAAS,CAAA;AACX,CAAC,EAfW,gBAAgB,KAAhB,gBAAgB,QAe3B;AAED;;GAEG;AACH;IAAkC,gCAAU;IAS1C;;OAEG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,SAAS,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAA;;IAClD,CAAC;IAOD,sBAAI,kCAAQ;QALZ;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED;;;;WAIG;aACH,UAAa,KAAsB;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;;;OATA;IAeD,sBAAI,oCAAU;QAJd;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,WAAW,CAAA;QACzB,CAAC;QAED;;;WAGG;aACH,UAAe,KAAuB;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OARA;IAeD,sBAAI,0CAAgB;QALpB;;;;WAIG;aACH;YACE,OAAO,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC;;;OAAA;IAED;;;;OAIG;IACH,uCAAgB,GAAhB;QACE,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAA;QAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACH,kCAAW,GAAX,UAAY,MAAoB;QAC9B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,2BAAI,GAAJ,UAAK,SAAuB;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IA1FD,2BAA2B;IACX,qBAAQ,GAAW,UAAU,CAAA;IA0F/C,mBAAC;CAAA,AA5FD,CAAkC,UAAU,GA4F3C;SA5FY,YAAY"}
1
+ {"version":3,"file":"AcDb3dVertex.js","sourceRoot":"","sources":["../../src/entity/AcDb3dVertex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EACL,SAAS,EAET,WAAW,EAEZ,MAAM,4BAA4B,CAAA;AAInC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,CAAN,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,uEAAY,CAAA;IACZ;;OAEG;IACH,yEAAa,CAAA;IACb;;;;OAIG;IACH,iEAAS,CAAA;AACX,CAAC,EAfW,gBAAgB,KAAhB,gBAAgB,QAe3B;AAED;;GAEG;AACH;IAAkC,gCAAU;IAS1C;;OAEG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,SAAS,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,KAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAA;;IAClD,CAAC;IAOD,sBAAI,kCAAQ;QALZ;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED;;;;WAIG;aACH,UAAa,KAAsB;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;;;OATA;IAeD,sBAAI,oCAAU;QAJd;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,WAAW,CAAA;QACzB,CAAC;QAED;;;WAGG;aACH,UAAe,KAAuB;YACpC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QAC1B,CAAC;;;OARA;IAeD,sBAAI,0CAAgB;QALpB;;;;WAIG;aACH;YACE,OAAO,IAAI,SAAS,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC;;;OAAA;IAED;;;;OAIG;IACH,uCAAgB,GAAhB;QACE,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAA;QAC3C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,wCAAiB,GAAjB,UACE,UAAyB,EACzB,UAA2B,EAC3B,UAA2B,EAC3B,UAA6B;QAE7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,kCAAW,GAAX,UAAY,MAAoB;QAC9B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,mCAAY,GAAZ,UAAa,SAAuB;QAClC,OAAO,SAAS,CAAA;IAClB,CAAC;IA/GD,2BAA2B;IACX,qBAAQ,GAAW,UAAU,CAAA;IA+G/C,mBAAC;CAAA,AAjHD,CAAkC,UAAU,GAiH3C;SAjHY,YAAY"}
@@ -1,5 +1,6 @@
1
1
  import { AcGeMatrix3d, AcGePoint3d, AcGePoint3dLike, AcGeVector3d, AcGeVector3dLike } from '@mlightcad/geometry-engine';
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbOsnapMode } from '../misc';
3
4
  import { AcDbCurve } from './AcDbCurve';
4
5
  import { AcDbEntityProperties } from './AcDbEntityProperties';
5
6
  /**
@@ -207,6 +208,10 @@ export declare class AcDbArc extends AcDbCurve {
207
208
  * ```
208
209
  */
209
210
  get endPoint(): AcGePoint3d;
211
+ /**
212
+ * The middle point of the circular arc
213
+ */
214
+ get midPoint(): AcGePoint3d;
210
215
  /**
211
216
  * Gets the geometric extents (bounding box) of this arc.
212
217
  *
@@ -253,6 +258,19 @@ export declare class AcDbArc extends AcDbCurve {
253
258
  * ```
254
259
  */
255
260
  subGetGripPoints(): AcGePoint3d[];
261
+ /**
262
+ * Gets the object snap points for this arc.
263
+ *
264
+ * Object snap points are precise points that can be used for positioning
265
+ * when drawing or editing. This method provides snap points based on the
266
+ * specified snap mode.
267
+ *
268
+ * @param osnapMode - The object snap mode
269
+ * @param pickPoint - The point where the user picked
270
+ * @param _lastPoint - The last point
271
+ * @param snapPoints - Array to populate with snap points
272
+ */
273
+ subGetOsnapPoints(osnapMode: AcDbOsnapMode, pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
256
274
  /**
257
275
  * Transforms this arc by the specified matrix.
258
276
  *
@@ -284,6 +302,6 @@ export declare class AcDbArc extends AcDbCurve {
284
302
  * const renderedArc = arc.draw(renderer);
285
303
  * ```
286
304
  */
287
- draw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
305
+ subWorldDraw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
288
306
  }
289
307
  //# sourceMappingURL=AcDbArc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbArc.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbArc.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACpC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAQ;IAExC,mDAAmD;IACnD,OAAO,CAAC,IAAI,CAAe;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;gBAED,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,gBAAsC;IAahD;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,WAAW,CAExB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,EAEhC;IAED;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAED;;;;;;;;;;OAUG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;;;;OASG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;;;;;OASG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAEjC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,UAAU,IAAI,WAAW,CAE5B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,mDAEnB;IAED;;;;;;;OAOG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,oBAAoB,CAgHrC;IAED;;;;;;;;;;;;;OAaG;IACH,gBAAgB;IAQhB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,QAAQ,EAAE,YAAY;CAG5B"}
1
+ {"version":3,"file":"AcDbArc.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbArc.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,YAAY,EACZ,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,OAAQ,SAAQ,SAAS;IACpC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAQ;IAExC,mDAAmD;IACnD,OAAO,CAAC,IAAI,CAAe;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;gBAED,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,gBAAsC;IAahD;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,WAAW,CAExB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,EAEhC;IAED;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAED;;;;;;;;;;OAUG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;;;;OASG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;;;;;OASG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED;;;;;;;;;;OAUG;IACH,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAEjC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,UAAU,IAAI,WAAW,CAE5B;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,WAAW,CAE1B;IAED;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,mDAEnB;IAED;;;;;;;OAOG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,oBAAoB,CAwIrC;IAED;;;;;;;;;;;;;OAaG;IACH,gBAAgB;IAQhB;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAgC/B;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;CAGpC"}
@@ -13,7 +13,33 @@ var __extends = (this && this.__extends) || (function () {
13
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
14
  };
15
15
  })();
16
- import { AcGeCircArc3d, AcGeVector3d } from '@mlightcad/geometry-engine';
16
+ var __read = (this && this.__read) || function (o, n) {
17
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
18
+ if (!m) return o;
19
+ var i = m.call(o), r, ar = [], e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
+ }
23
+ catch (error) { e = { error: error }; }
24
+ finally {
25
+ try {
26
+ if (r && !r.done && (m = i["return"])) m.call(i);
27
+ }
28
+ finally { if (e) throw e.error; }
29
+ }
30
+ return ar;
31
+ };
32
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
33
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
34
+ if (ar || !(i in from)) {
35
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
36
+ ar[i] = from[i];
37
+ }
38
+ }
39
+ return to.concat(ar || Array.prototype.slice.call(from));
40
+ };
41
+ import { AcGeCircArc3d, AcGeMathUtil, AcGeVector3d } from '@mlightcad/geometry-engine';
42
+ import { AcDbOsnapMode } from '../misc';
17
43
  import { AcDbCurve } from './AcDbCurve';
18
44
  /**
19
45
  * Represents an arc entity in AutoCAD.
@@ -274,6 +300,16 @@ var AcDbArc = /** @class */ (function (_super) {
274
300
  enumerable: false,
275
301
  configurable: true
276
302
  });
303
+ Object.defineProperty(AcDbArc.prototype, "midPoint", {
304
+ /**
305
+ * The middle point of the circular arc
306
+ */
307
+ get: function () {
308
+ return this._geo.midPoint;
309
+ },
310
+ enumerable: false,
311
+ configurable: true
312
+ });
277
313
  Object.defineProperty(AcDbArc.prototype, "geometricExtents", {
278
314
  /**
279
315
  * Gets the geometric extents (bounding box) of this arc.
@@ -425,6 +461,30 @@ var AcDbArc = /** @class */ (function (_super) {
425
461
  _this.normal.z = v;
426
462
  }
427
463
  }
464
+ },
465
+ {
466
+ name: 'arcLength',
467
+ type: 'float',
468
+ editable: false,
469
+ accessor: {
470
+ get: function () { return _this._geo.length; }
471
+ }
472
+ },
473
+ {
474
+ name: 'totalAngle',
475
+ type: 'float',
476
+ editable: false,
477
+ accessor: {
478
+ get: function () { return AcGeMathUtil.radToDeg(Math.abs(_this._geo.deltaAngle)); }
479
+ }
480
+ },
481
+ {
482
+ name: 'area',
483
+ type: 'float',
484
+ editable: false,
485
+ accessor: {
486
+ get: function () { return _this._geo.area; }
487
+ }
428
488
  }
429
489
  ]
430
490
  }
@@ -455,6 +515,47 @@ var AcDbArc = /** @class */ (function (_super) {
455
515
  gripPoints.push(this.endPoint);
456
516
  return gripPoints;
457
517
  };
518
+ /**
519
+ * Gets the object snap points for this arc.
520
+ *
521
+ * Object snap points are precise points that can be used for positioning
522
+ * when drawing or editing. This method provides snap points based on the
523
+ * specified snap mode.
524
+ *
525
+ * @param osnapMode - The object snap mode
526
+ * @param pickPoint - The point where the user picked
527
+ * @param _lastPoint - The last point
528
+ * @param snapPoints - Array to populate with snap points
529
+ */
530
+ AcDbArc.prototype.subGetOsnapPoints = function (osnapMode, pickPoint, _lastPoint, snapPoints) {
531
+ var startPoint = this.startPoint;
532
+ var endPoint = this.endPoint;
533
+ switch (osnapMode) {
534
+ case AcDbOsnapMode.EndPoint:
535
+ snapPoints.push(startPoint);
536
+ snapPoints.push(endPoint);
537
+ break;
538
+ case AcDbOsnapMode.MidPoint:
539
+ snapPoints.push(this.midPoint);
540
+ break;
541
+ case AcDbOsnapMode.Nearest:
542
+ {
543
+ var projectedPoint = this._geo.nearestPoint(pickPoint);
544
+ snapPoints.push(projectedPoint);
545
+ }
546
+ break;
547
+ case AcDbOsnapMode.Perpendicular:
548
+ // N/A for perpendicular snap
549
+ break;
550
+ case AcDbOsnapMode.Tangent: {
551
+ var points = this._geo.tangentPoints(pickPoint);
552
+ snapPoints.push.apply(snapPoints, __spreadArray([], __read(points), false));
553
+ break;
554
+ }
555
+ default:
556
+ break;
557
+ }
558
+ };
458
559
  /**
459
560
  * Transforms this arc by the specified matrix.
460
561
  *
@@ -489,7 +590,7 @@ var AcDbArc = /** @class */ (function (_super) {
489
590
  * const renderedArc = arc.draw(renderer);
490
591
  * ```
491
592
  */
492
- AcDbArc.prototype.draw = function (renderer) {
593
+ AcDbArc.prototype.subWorldDraw = function (renderer) {
493
594
  return renderer.circularArc(this._geo);
494
595
  };
495
596
  /** The entity type name */
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbArc.js","sourceRoot":"","sources":["../../src/entity/AcDbArc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbArc.js","sourceRoot":"","sources":["../../src/entity/AcDbArc.ts"],"names":[],"mappings":"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"}