@mlightcad/data-model 1.8.0 → 1.8.2

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 (129) hide show
  1. package/dist/data-model.cjs +6 -6
  2. package/dist/dxf-parser-worker.js +521 -463
  3. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  4. package/lib/converter/AcDbDxfConverter.js +4 -1
  5. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  6. package/lib/converter/AcDbDxfParser.d.ts.map +1 -1
  7. package/lib/converter/AcDbDxfParser.js +1 -1
  8. package/lib/converter/AcDbDxfParser.js.map +1 -1
  9. package/lib/converter/AcDbEntitiyConverter.d.ts +1 -0
  10. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  11. package/lib/converter/AcDbEntitiyConverter.js +17 -1
  12. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  13. package/lib/database/AcDbDatabase.d.ts +8 -0
  14. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  15. package/lib/database/AcDbDatabase.js +20 -0
  16. package/lib/database/AcDbDatabase.js.map +1 -1
  17. package/lib/database/AcDbSysVarManager.d.ts.map +1 -1
  18. package/lib/database/AcDbSysVarManager.js +53 -0
  19. package/lib/database/AcDbSysVarManager.js.map +1 -1
  20. package/lib/database/AcDbSystemVariables.d.ts +17 -1
  21. package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
  22. package/lib/database/AcDbSystemVariables.js +16 -0
  23. package/lib/database/AcDbSystemVariables.js.map +1 -1
  24. package/lib/entity/AcDb2dPolyline.d.ts +1 -1
  25. package/lib/entity/AcDb2dPolyline.d.ts.map +1 -1
  26. package/lib/entity/AcDb2dPolyline.js +58 -7
  27. package/lib/entity/AcDb2dPolyline.js.map +1 -1
  28. package/lib/entity/AcDb2dVertex.d.ts +1 -1
  29. package/lib/entity/AcDb2dVertex.d.ts.map +1 -1
  30. package/lib/entity/AcDb2dVertex.js +6 -2
  31. package/lib/entity/AcDb2dVertex.js.map +1 -1
  32. package/lib/entity/AcDb3dPolyline.d.ts +1 -1
  33. package/lib/entity/AcDb3dPolyline.d.ts.map +1 -1
  34. package/lib/entity/AcDb3dPolyline.js +51 -7
  35. package/lib/entity/AcDb3dPolyline.js.map +1 -1
  36. package/lib/entity/AcDb3dVertex.d.ts +1 -1
  37. package/lib/entity/AcDb3dVertex.d.ts.map +1 -1
  38. package/lib/entity/AcDb3dVertex.js +6 -2
  39. package/lib/entity/AcDb3dVertex.js.map +1 -1
  40. package/lib/entity/AcDbArc.d.ts.map +1 -1
  41. package/lib/entity/AcDbArc.js +42 -2
  42. package/lib/entity/AcDbArc.js.map +1 -1
  43. package/lib/entity/AcDbBlockReference.d.ts +10 -0
  44. package/lib/entity/AcDbBlockReference.d.ts.map +1 -1
  45. package/lib/entity/AcDbBlockReference.js +88 -3
  46. package/lib/entity/AcDbBlockReference.js.map +1 -1
  47. package/lib/entity/AcDbCircle.d.ts.map +1 -1
  48. package/lib/entity/AcDbCircle.js +8 -0
  49. package/lib/entity/AcDbCircle.js.map +1 -1
  50. package/lib/entity/AcDbEllipse.d.ts +9 -1
  51. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  52. package/lib/entity/AcDbEllipse.js +58 -1
  53. package/lib/entity/AcDbEllipse.js.map +1 -1
  54. package/lib/entity/AcDbFace.d.ts +1 -1
  55. package/lib/entity/AcDbFace.d.ts.map +1 -1
  56. package/lib/entity/AcDbFace.js +3 -9
  57. package/lib/entity/AcDbFace.js.map +1 -1
  58. package/lib/entity/AcDbHatch.d.ts +6 -1
  59. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  60. package/lib/entity/AcDbHatch.js +179 -0
  61. package/lib/entity/AcDbHatch.js.map +1 -1
  62. package/lib/entity/AcDbLeader.d.ts +11 -0
  63. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  64. package/lib/entity/AcDbLeader.js +83 -0
  65. package/lib/entity/AcDbLeader.js.map +1 -1
  66. package/lib/entity/AcDbMLeader.d.ts +5 -0
  67. package/lib/entity/AcDbMLeader.d.ts.map +1 -1
  68. package/lib/entity/AcDbMLeader.js +54 -0
  69. package/lib/entity/AcDbMLeader.js.map +1 -1
  70. package/lib/entity/AcDbMLine.d.ts +5 -0
  71. package/lib/entity/AcDbMLine.d.ts.map +1 -1
  72. package/lib/entity/AcDbMLine.js +38 -0
  73. package/lib/entity/AcDbMLine.js.map +1 -1
  74. package/lib/entity/AcDbMText.d.ts +7 -1
  75. package/lib/entity/AcDbMText.d.ts.map +1 -1
  76. package/lib/entity/AcDbMText.js +8 -0
  77. package/lib/entity/AcDbMText.js.map +1 -1
  78. package/lib/entity/AcDbOsnapHelpers.d.ts +19 -0
  79. package/lib/entity/AcDbOsnapHelpers.d.ts.map +1 -0
  80. package/lib/entity/AcDbOsnapHelpers.js +158 -0
  81. package/lib/entity/AcDbOsnapHelpers.js.map +1 -0
  82. package/lib/entity/AcDbPoint.d.ts +6 -0
  83. package/lib/entity/AcDbPoint.d.ts.map +1 -1
  84. package/lib/entity/AcDbPoint.js +9 -1
  85. package/lib/entity/AcDbPoint.js.map +1 -1
  86. package/lib/entity/AcDbPolyline.d.ts +1 -1
  87. package/lib/entity/AcDbPolyline.d.ts.map +1 -1
  88. package/lib/entity/AcDbPolyline.js +33 -6
  89. package/lib/entity/AcDbPolyline.js.map +1 -1
  90. package/lib/entity/AcDbRasterImage.d.ts +6 -1
  91. package/lib/entity/AcDbRasterImage.d.ts.map +1 -1
  92. package/lib/entity/AcDbRasterImage.js +29 -0
  93. package/lib/entity/AcDbRasterImage.js.map +1 -1
  94. package/lib/entity/AcDbRay.d.ts +1 -1
  95. package/lib/entity/AcDbRay.d.ts.map +1 -1
  96. package/lib/entity/AcDbRay.js +21 -4
  97. package/lib/entity/AcDbRay.js.map +1 -1
  98. package/lib/entity/AcDbShape.d.ts +168 -0
  99. package/lib/entity/AcDbShape.d.ts.map +1 -0
  100. package/lib/entity/AcDbShape.js +518 -0
  101. package/lib/entity/AcDbShape.js.map +1 -0
  102. package/lib/entity/AcDbSpline.d.ts +10 -2
  103. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  104. package/lib/entity/AcDbSpline.js +45 -11
  105. package/lib/entity/AcDbSpline.js.map +1 -1
  106. package/lib/entity/AcDbText.d.ts +6 -0
  107. package/lib/entity/AcDbText.d.ts.map +1 -1
  108. package/lib/entity/AcDbText.js +8 -0
  109. package/lib/entity/AcDbText.js.map +1 -1
  110. package/lib/entity/AcDbTrace.d.ts +1 -1
  111. package/lib/entity/AcDbTrace.d.ts.map +1 -1
  112. package/lib/entity/AcDbTrace.js +9 -9
  113. package/lib/entity/AcDbTrace.js.map +1 -1
  114. package/lib/entity/AcDbXline.d.ts +5 -0
  115. package/lib/entity/AcDbXline.d.ts.map +1 -1
  116. package/lib/entity/AcDbXline.js +27 -1
  117. package/lib/entity/AcDbXline.js.map +1 -1
  118. package/lib/entity/index.d.ts +1 -0
  119. package/lib/entity/index.d.ts.map +1 -1
  120. package/lib/entity/index.js +1 -0
  121. package/lib/entity/index.js.map +1 -1
  122. package/lib/index.d.ts +2 -2
  123. package/lib/index.d.ts.map +1 -1
  124. package/lib/index.js +1 -1
  125. package/lib/index.js.map +1 -1
  126. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
  127. package/lib/misc/AcDbRenderingCache.js +6 -0
  128. package/lib/misc/AcDbRenderingCache.js.map +1 -1
  129. package/package.json +5 -5
@@ -0,0 +1,518 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ import { AcGeBox3d, AcGeMatrix3d, AcGePoint3d, AcGeVector3d } from '@mlightcad/geometry-engine';
28
+ import { AcDbOsnapMode } from '../misc';
29
+ import { AcDbEntity } from './AcDbEntity';
30
+ /**
31
+ * Represents a shape entity in AutoCAD.
32
+ *
33
+ * A shape is a planar geometric object that references a shape definition from an
34
+ * SHX font file. Shapes are positioned by an insertion point, scaled by {@link size}
35
+ * and {@link widthFactor}, and oriented by {@link rotation}, {@link oblique}, and
36
+ * {@link normal}. This class mirrors {@link AcDbShape} in ObjectARX.
37
+ *
38
+ * @see https://help.autodesk.com/view/OARX/2024/ENU/?guid=OARX-RefGuide-AcDbShape
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const shape = new AcDbShape();
43
+ * shape.name = 'ARROW';
44
+ * shape.position = new AcGePoint3d(10, 20, 0);
45
+ * shape.size = 2.5;
46
+ * shape.rotation = Math.PI / 4;
47
+ * ```
48
+ */
49
+ var AcDbShape = /** @class */ (function (_super) {
50
+ __extends(AcDbShape, _super);
51
+ /**
52
+ * Creates a new shape entity at the origin with unit size and no rotation.
53
+ */
54
+ function AcDbShape() {
55
+ var _this = _super.call(this) || this;
56
+ _this._position = new AcGePoint3d();
57
+ _this._size = 1;
58
+ _this._name = '';
59
+ _this._rotation = 0;
60
+ _this._widthFactor = 1;
61
+ _this._oblique = 0;
62
+ _this._thickness = 0;
63
+ _this._normal = new AcGeVector3d(0, 0, 1);
64
+ _this._shapeNumber = 0;
65
+ _this._styleName = '';
66
+ return _this;
67
+ }
68
+ Object.defineProperty(AcDbShape.prototype, "dxfTypeName", {
69
+ get: function () {
70
+ return 'SHAPE';
71
+ },
72
+ enumerable: false,
73
+ configurable: true
74
+ });
75
+ Object.defineProperty(AcDbShape.prototype, "position", {
76
+ /**
77
+ * Gets the insertion point of this shape in WCS coordinates.
78
+ *
79
+ * Mirrors `AcDbShape::position()` in ObjectARX.
80
+ */
81
+ get: function () {
82
+ return this._position;
83
+ },
84
+ /** Sets the insertion point of this shape in WCS coordinates. */
85
+ set: function (value) {
86
+ this._position.copy(value);
87
+ },
88
+ enumerable: false,
89
+ configurable: true
90
+ });
91
+ Object.defineProperty(AcDbShape.prototype, "size", {
92
+ /**
93
+ * Gets the height of this shape.
94
+ *
95
+ * Mirrors `AcDbShape::size()` in ObjectARX.
96
+ */
97
+ get: function () {
98
+ return this._size;
99
+ },
100
+ /** Sets the height of this shape. */
101
+ set: function (value) {
102
+ this._size = value;
103
+ },
104
+ enumerable: false,
105
+ configurable: true
106
+ });
107
+ Object.defineProperty(AcDbShape.prototype, "name", {
108
+ /**
109
+ * Gets the name of the shape within the associated SHX font.
110
+ *
111
+ * Mirrors `AcDbShape::name()` in ObjectARX.
112
+ */
113
+ get: function () {
114
+ return this._name;
115
+ },
116
+ /** Sets the name of the shape within the associated SHX font. */
117
+ set: function (value) {
118
+ this._name = value;
119
+ },
120
+ enumerable: false,
121
+ configurable: true
122
+ });
123
+ Object.defineProperty(AcDbShape.prototype, "rotation", {
124
+ /**
125
+ * Gets the rotation angle of this shape in radians.
126
+ *
127
+ * The angle is relative to the X axis of the shape OCS, with positive angles
128
+ * going counterclockwise when looking down the Z axis toward the origin.
129
+ *
130
+ * Mirrors `AcDbShape::rotation()` in ObjectARX.
131
+ */
132
+ get: function () {
133
+ return this._rotation;
134
+ },
135
+ /** Sets the rotation angle of this shape in radians. */
136
+ set: function (value) {
137
+ this._rotation = value;
138
+ },
139
+ enumerable: false,
140
+ configurable: true
141
+ });
142
+ Object.defineProperty(AcDbShape.prototype, "widthFactor", {
143
+ /**
144
+ * Gets the width factor applied to this shape.
145
+ *
146
+ * Mirrors `AcDbShape::widthFactor()` in ObjectARX.
147
+ */
148
+ get: function () {
149
+ return this._widthFactor;
150
+ },
151
+ /** Sets the width factor applied to this shape. */
152
+ set: function (value) {
153
+ this._widthFactor = value;
154
+ },
155
+ enumerable: false,
156
+ configurable: true
157
+ });
158
+ Object.defineProperty(AcDbShape.prototype, "oblique", {
159
+ /**
160
+ * Gets the oblique angle of this shape in radians.
161
+ *
162
+ * Mirrors `AcDbShape::oblique()` in ObjectARX.
163
+ */
164
+ get: function () {
165
+ return this._oblique;
166
+ },
167
+ /** Sets the oblique angle of this shape in radians. */
168
+ set: function (value) {
169
+ this._oblique = value;
170
+ },
171
+ enumerable: false,
172
+ configurable: true
173
+ });
174
+ Object.defineProperty(AcDbShape.prototype, "thickness", {
175
+ /**
176
+ * Gets the thickness of this shape along {@link normal}.
177
+ *
178
+ * Mirrors `AcDbShape::thickness()` in ObjectARX.
179
+ */
180
+ get: function () {
181
+ return this._thickness;
182
+ },
183
+ /** Sets the thickness of this shape. */
184
+ set: function (value) {
185
+ this._thickness = value;
186
+ },
187
+ enumerable: false,
188
+ configurable: true
189
+ });
190
+ Object.defineProperty(AcDbShape.prototype, "normal", {
191
+ /**
192
+ * Gets the normal vector of the plane containing this shape.
193
+ *
194
+ * Mirrors `AcDbShape::normal()` in ObjectARX.
195
+ */
196
+ get: function () {
197
+ return this._normal;
198
+ },
199
+ /** Sets the normal vector of the plane containing this shape. */
200
+ set: function (value) {
201
+ this._normal.copy(value);
202
+ },
203
+ enumerable: false,
204
+ configurable: true
205
+ });
206
+ Object.defineProperty(AcDbShape.prototype, "shapeNumber", {
207
+ /**
208
+ * Gets the numeric shape code within the SHX font.
209
+ *
210
+ * Mirrors `AcDbShape::shapeNumber()` in ObjectARX.
211
+ */
212
+ get: function () {
213
+ return this._shapeNumber;
214
+ },
215
+ /** Sets the numeric shape code within the SHX font. */
216
+ set: function (value) {
217
+ this._shapeNumber = value;
218
+ },
219
+ enumerable: false,
220
+ configurable: true
221
+ });
222
+ Object.defineProperty(AcDbShape.prototype, "styleId", {
223
+ /**
224
+ * Gets the object ID of the text style table record that references this
225
+ * shape's SHX font.
226
+ *
227
+ * Mirrors `AcDbShape::styleId()` in ObjectARX.
228
+ */
229
+ get: function () {
230
+ var _a, _b, _c, _d;
231
+ var record = (_c = (_b = (_a = this.database) === null || _a === void 0 ? void 0 : _a.tables) === null || _b === void 0 ? void 0 : _b.textStyleTable) === null || _c === void 0 ? void 0 : _c.resolveAt(this._styleName);
232
+ return (_d = record === null || record === void 0 ? void 0 : record.objectId) !== null && _d !== void 0 ? _d : '';
233
+ },
234
+ /**
235
+ * Sets the text style table record by object ID.
236
+ *
237
+ * Mirrors `AcDbShape::setStyleId()` in ObjectARX.
238
+ */
239
+ set: function (value) {
240
+ var _a, _b, _c;
241
+ var record = (_c = (_b = (_a = this.database) === null || _a === void 0 ? void 0 : _a.tables) === null || _b === void 0 ? void 0 : _b.textStyleTable) === null || _c === void 0 ? void 0 : _c.getIdAt(value);
242
+ if (record) {
243
+ this._styleName = record.name;
244
+ }
245
+ },
246
+ enumerable: false,
247
+ configurable: true
248
+ });
249
+ Object.defineProperty(AcDbShape.prototype, "styleName", {
250
+ /**
251
+ * Gets the text style name associated with this shape.
252
+ *
253
+ * Used when reading or writing DXF group code 3 (shape file/style name).
254
+ */
255
+ get: function () {
256
+ return this._styleName;
257
+ },
258
+ /** Sets the text style name associated with this shape. */
259
+ set: function (value) {
260
+ this._styleName = value;
261
+ },
262
+ enumerable: false,
263
+ configurable: true
264
+ });
265
+ Object.defineProperty(AcDbShape.prototype, "isPlanar", {
266
+ /**
267
+ * Gets whether this shape is planar.
268
+ *
269
+ * Mirrors `AcDbShape::isPlanar()` in ObjectARX.
270
+ */
271
+ get: function () {
272
+ return true;
273
+ },
274
+ enumerable: false,
275
+ configurable: true
276
+ });
277
+ Object.defineProperty(AcDbShape.prototype, "geometricExtents", {
278
+ get: function () {
279
+ var half = Math.abs(this._size) / 2;
280
+ var extents = new AcGeBox3d();
281
+ extents.expandByPoint(this._position);
282
+ if (half > 0) {
283
+ extents.expandByPoint(new AcGePoint3d(this._position.x - half, this._position.y - half, this._position.z));
284
+ extents.expandByPoint(new AcGePoint3d(this._position.x + half, this._position.y + half, this._position.z));
285
+ }
286
+ return extents;
287
+ },
288
+ enumerable: false,
289
+ configurable: true
290
+ });
291
+ AcDbShape.prototype.subGetGripPoints = function () {
292
+ return [this._position];
293
+ };
294
+ AcDbShape.prototype.subGetOsnapPoints = function (osnapMode, _pickPoint, _lastPoint, snapPoints) {
295
+ if (osnapMode === AcDbOsnapMode.Insertion) {
296
+ snapPoints.push(this._position);
297
+ }
298
+ };
299
+ AcDbShape.prototype.transformBy = function (matrix) {
300
+ var extrusion = new AcGeMatrix3d().setFromExtrusionDirection(this._normal);
301
+ var rotation = new AcGeMatrix3d().makeRotationZ(this._rotation);
302
+ var localToWcs = new AcGeMatrix3d().multiplyMatrices(extrusion, rotation);
303
+ var origin = this._position.clone();
304
+ var xAxisPoint = new AcGePoint3d(this._widthFactor, 0, 0)
305
+ .applyMatrix4(localToWcs)
306
+ .add(origin);
307
+ var yAxisPoint = new AcGePoint3d(0, 1, 0)
308
+ .applyMatrix4(localToWcs)
309
+ .add(origin);
310
+ var zAxisPoint = new AcGePoint3d(0, 0, 1)
311
+ .applyMatrix4(localToWcs)
312
+ .add(origin);
313
+ origin.applyMatrix4(matrix);
314
+ xAxisPoint.applyMatrix4(matrix);
315
+ yAxisPoint.applyMatrix4(matrix);
316
+ zAxisPoint.applyMatrix4(matrix);
317
+ var xAxis = new AcGeVector3d(xAxisPoint).sub(origin);
318
+ var yAxis = new AcGeVector3d(yAxisPoint).sub(origin);
319
+ var zAxis = new AcGeVector3d(zAxisPoint).sub(origin);
320
+ var normal = new AcGeVector3d().crossVectors(xAxis, yAxis);
321
+ if (normal.lengthSq() === 0) {
322
+ normal = this._normal.clone().transformDirection(matrix);
323
+ }
324
+ else {
325
+ normal.normalize();
326
+ }
327
+ var extrusionMatrix = new AcGeMatrix3d().setFromExtrusionDirection(normal);
328
+ var ocsInverse = extrusionMatrix.clone().invert();
329
+ var localXAxis = xAxis.clone().applyMatrix4(ocsInverse);
330
+ var yScale = yAxis.length();
331
+ var xScale = xAxis.length();
332
+ this._position.copy(origin);
333
+ this._normal.copy(normal);
334
+ if (xScale > 0) {
335
+ this._rotation = Math.atan2(localXAxis.y, localXAxis.x);
336
+ }
337
+ if (yScale > 0) {
338
+ this._size *= yScale;
339
+ if (xScale > 0) {
340
+ this._widthFactor *= xScale / yScale;
341
+ }
342
+ }
343
+ var zScale = zAxis.length();
344
+ if (zScale > 0) {
345
+ this._thickness *= zScale;
346
+ }
347
+ return this;
348
+ };
349
+ Object.defineProperty(AcDbShape.prototype, "properties", {
350
+ get: function () {
351
+ var _this = this;
352
+ return {
353
+ type: this.type,
354
+ groups: [
355
+ this.getGeneralProperties(),
356
+ {
357
+ groupName: 'shape',
358
+ properties: [
359
+ {
360
+ name: 'name',
361
+ type: 'string',
362
+ editable: true,
363
+ accessor: {
364
+ get: function () { return _this.name; },
365
+ set: function (v) {
366
+ _this.name = v;
367
+ }
368
+ }
369
+ },
370
+ {
371
+ name: 'size',
372
+ type: 'float',
373
+ editable: true,
374
+ accessor: {
375
+ get: function () { return _this.size; },
376
+ set: function (v) {
377
+ _this.size = v;
378
+ }
379
+ }
380
+ },
381
+ {
382
+ name: 'rotation',
383
+ type: 'float',
384
+ editable: true,
385
+ accessor: {
386
+ get: function () { return _this.rotation; },
387
+ set: function (v) {
388
+ _this.rotation = v;
389
+ }
390
+ }
391
+ },
392
+ {
393
+ name: 'widthFactor',
394
+ type: 'float',
395
+ editable: true,
396
+ accessor: {
397
+ get: function () { return _this.widthFactor; },
398
+ set: function (v) {
399
+ _this.widthFactor = v;
400
+ }
401
+ }
402
+ },
403
+ {
404
+ name: 'oblique',
405
+ type: 'float',
406
+ editable: true,
407
+ accessor: {
408
+ get: function () { return _this.oblique; },
409
+ set: function (v) {
410
+ _this.oblique = v;
411
+ }
412
+ }
413
+ },
414
+ {
415
+ name: 'shapeNumber',
416
+ type: 'int',
417
+ editable: true,
418
+ accessor: {
419
+ get: function () { return _this.shapeNumber; },
420
+ set: function (v) {
421
+ _this.shapeNumber = v;
422
+ }
423
+ }
424
+ }
425
+ ]
426
+ },
427
+ {
428
+ groupName: 'geometry',
429
+ properties: [
430
+ {
431
+ name: 'positionX',
432
+ type: 'float',
433
+ editable: true,
434
+ accessor: {
435
+ get: function () { return _this.position.x; },
436
+ set: function (v) {
437
+ _this.position.x = v;
438
+ }
439
+ }
440
+ },
441
+ {
442
+ name: 'positionY',
443
+ type: 'float',
444
+ editable: true,
445
+ accessor: {
446
+ get: function () { return _this.position.y; },
447
+ set: function (v) {
448
+ _this.position.y = v;
449
+ }
450
+ }
451
+ },
452
+ {
453
+ name: 'positionZ',
454
+ type: 'float',
455
+ editable: true,
456
+ accessor: {
457
+ get: function () { return _this.position.z; },
458
+ set: function (v) {
459
+ _this.position.z = v;
460
+ }
461
+ }
462
+ }
463
+ ]
464
+ }
465
+ ]
466
+ };
467
+ },
468
+ enumerable: false,
469
+ configurable: true
470
+ });
471
+ AcDbShape.prototype.subWorldDraw = function (renderer, delay) {
472
+ var textStyle = this.getTextStyle();
473
+ var style = __assign(__assign({}, textStyle), { widthFactor: this.widthFactor,
474
+ // MText renderer stores oblique in degrees on the text style.
475
+ obliqueAngle: (this.oblique * 180) / Math.PI });
476
+ var shapeData = {
477
+ name: this._name.trim() || undefined,
478
+ shapeNumber: this._shapeNumber !== 0 ? this._shapeNumber : undefined,
479
+ size: this.size,
480
+ position: this._position,
481
+ rotation: this._rotation,
482
+ directionVector: this._normal,
483
+ widthFactor: this.widthFactor
484
+ };
485
+ return renderer.shape(shapeData, style, delay);
486
+ };
487
+ /**
488
+ * Gets the text style that references the SHX font for this shape.
489
+ */
490
+ AcDbShape.prototype.getTextStyle = function () {
491
+ var style = this.database.tables.textStyleTable.resolveAt(this.styleName);
492
+ if (!style) {
493
+ throw new Error('No valid text style found in text style table.');
494
+ }
495
+ return style.textStyle;
496
+ };
497
+ AcDbShape.prototype.dxfOutFields = function (filer) {
498
+ _super.prototype.dxfOutFields.call(this, filer);
499
+ filer.writeSubclassMarker('AcDbShape');
500
+ filer.writePoint3d(10, this.position);
501
+ filer.writeDouble(40, this.size);
502
+ filer.writeString(2, this.name);
503
+ filer.writeAngle(50, this.rotation);
504
+ filer.writeDouble(41, this.widthFactor);
505
+ filer.writeAngle(51, this.oblique);
506
+ filer.writeDouble(39, this.thickness);
507
+ if (this._styleName) {
508
+ filer.writeString(3, this._styleName);
509
+ }
510
+ filer.writeVector3d(210, this.normal);
511
+ return this;
512
+ };
513
+ /** The entity type name */
514
+ AcDbShape.typeName = 'Shape';
515
+ return AcDbShape;
516
+ }(AcDbEntity));
517
+ export { AcDbShape };
518
+ //# sourceMappingURL=AcDbShape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbShape.js","sourceRoot":"","sources":["../../src/entity/AcDbShape.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AcGeKnotParameterizationType, AcGeMatrix3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
1
+ import { AcGeKnotParameterizationType, AcGeMatrix3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
2
  import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
3
  import { AcDbDxfFiler } from '../base';
4
4
  import { AcDbOsnapMode } from '../misc';
@@ -165,6 +165,14 @@ export declare class AcDbSpline extends AcDbCurve {
165
165
  * ```
166
166
  */
167
167
  set closed(value: boolean);
168
+ /**
169
+ * Gets the grip points for this spline.
170
+ *
171
+ * Grip points are the B-spline control vertices (CVs).
172
+ *
173
+ * @returns Array of grip points at each control vertex
174
+ */
175
+ subGetGripPoints(): AcGePoint3d[];
168
176
  /**
169
177
  * Gets the object snap points for this spline.
170
178
  *
@@ -177,7 +185,7 @@ export declare class AcDbSpline extends AcDbCurve {
177
185
  * @param _lastPoint - The last point
178
186
  * @param snapPoints - Array to populate with snap points
179
187
  */
180
- subGetOsnapPoints(osnapMode: AcDbOsnapMode, _pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
188
+ subGetOsnapPoints(osnapMode: AcDbOsnapMode, pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
181
189
  /**
182
190
  * Transforms this spline by the specified matrix.
183
191
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbSpline.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbSpline.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,YAAY,EAEZ,eAAe,EAGhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAW;IAE3C,IAAa,WAAW,WAEvB;IAED,6CAA6C;IAC7C,OAAO,CAAC,IAAI,CAAe;IAE3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;gBAED,aAAa,EAAE,eAAe,EAAE,EAChC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO;IAElB;;;;;;;;;;;;;;;;;;;;OAoBG;gBAED,SAAS,EAAE,eAAe,EAAE,EAC5B,SAAS,EAAE,4BAA4B,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO;IAalB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CACL,aAAa,EAAE,eAAe,EAAE,EAChC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,GACf,IAAI;IACP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CACL,SAAS,EAAE,eAAe,EAAE,EAC5B,SAAS,EAAE,4BAA4B,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,GACf,IAAI;IAiCP;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,mDAEnB;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAY/B;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAKnC;;;;;OAKG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;IA8BzC;;;;;;OAMG;IACM,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE;IAKzD;;;;OAIG;IACM,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;IAQ7D;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAGtB"}
1
+ {"version":3,"file":"AcDbSpline.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbSpline.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,YAAY,EAEZ,WAAW,EACX,eAAe,EAGhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,UAAW,SAAQ,SAAS;IACvC,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAW;IAE3C,IAAa,WAAW,WAEvB;IAED,6CAA6C;IAC7C,OAAO,CAAC,IAAI,CAAe;IAE3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;gBAED,aAAa,EAAE,eAAe,EAAE,EAChC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO;IAElB;;;;;;;;;;;;;;;;;;;;OAoBG;gBAED,SAAS,EAAE,eAAe,EAAE,EAC5B,SAAS,EAAE,4BAA4B,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO;IAalB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CACL,aAAa,EAAE,eAAe,EAAE,EAChC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,GACf,IAAI;IACP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CACL,SAAS,EAAE,eAAe,EAAE,EAC5B,SAAS,EAAE,4BAA4B,EACvC,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,GACf,IAAI;IAiCP;;;;;;;;;;OAUG;IACH,IAAI,gBAAgB,mDAEnB;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;;;;OASG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;;;;;OAMG;IACH,gBAAgB;IAMhB;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAwB/B;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY;IAKhC;;;;;;;;OAQG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAKnC;;;;;OAKG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;IA8BzC;;;;;;OAMG;IACM,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE;IAKzD;;;;OAIG;IACM,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;IAQ7D;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;CAGtB"}