@mlightcad/data-model 1.7.12 → 1.7.14

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 (37) hide show
  1. package/dist/data-model.cjs +3 -3
  2. package/dist/data-model.js +2159 -1623
  3. package/dist/dxf-parser-worker.js +54 -54
  4. package/lib/base/AcDbDxfFiler.d.ts +3 -0
  5. package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
  6. package/lib/base/AcDbDxfFiler.js +28 -5
  7. package/lib/base/AcDbDxfFiler.js.map +1 -1
  8. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  9. package/lib/converter/AcDbEntitiyConverter.js +71 -9
  10. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  11. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  12. package/lib/database/AcDbDatabase.js +6 -0
  13. package/lib/database/AcDbDatabase.js.map +1 -1
  14. package/lib/entity/AcDbEllipse.d.ts.map +1 -1
  15. package/lib/entity/AcDbEllipse.js +5 -3
  16. package/lib/entity/AcDbEllipse.js.map +1 -1
  17. package/lib/entity/AcDbMText.d.ts +1 -0
  18. package/lib/entity/AcDbMText.d.ts.map +1 -1
  19. package/lib/entity/AcDbMText.js +5 -1
  20. package/lib/entity/AcDbMText.js.map +1 -1
  21. package/lib/entity/AcDbPolyFaceMesh.d.ts +103 -0
  22. package/lib/entity/AcDbPolyFaceMesh.d.ts.map +1 -0
  23. package/lib/entity/AcDbPolyFaceMesh.js +343 -0
  24. package/lib/entity/AcDbPolyFaceMesh.js.map +1 -0
  25. package/lib/entity/AcDbPolygonMesh.d.ts +113 -0
  26. package/lib/entity/AcDbPolygonMesh.d.ts.map +1 -0
  27. package/lib/entity/AcDbPolygonMesh.js +385 -0
  28. package/lib/entity/AcDbPolygonMesh.js.map +1 -0
  29. package/lib/entity/AcDbSpline.d.ts +46 -0
  30. package/lib/entity/AcDbSpline.d.ts.map +1 -1
  31. package/lib/entity/AcDbSpline.js +14 -12
  32. package/lib/entity/AcDbSpline.js.map +1 -1
  33. package/lib/entity/index.d.ts +2 -0
  34. package/lib/entity/index.d.ts.map +1 -1
  35. package/lib/entity/index.js +2 -0
  36. package/lib/entity/index.js.map +1 -1
  37. package/package.json +5 -5
@@ -0,0 +1,103 @@
1
+ import { AcGeBox3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
+ import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbDxfFiler } from '../base';
4
+ import { AcDbOsnapMode } from '../misc';
5
+ import { AcDbCurve } from './AcDbCurve';
6
+ import { AcDbEntityProperties } from './AcDbEntityProperties';
7
+ /**
8
+ * Represents a polyface mesh vertex in AutoCAD.
9
+ */
10
+ export declare class AcDbPolyFaceMeshVertex {
11
+ /** The 3D position of the vertex */
12
+ position: AcGePoint3d;
13
+ /**
14
+ * Creates a new polyface mesh vertex.
15
+ * @param position The 3D position of the vertex
16
+ */
17
+ constructor(position: AcGePoint3dLike);
18
+ }
19
+ /**
20
+ * Represents a polyface mesh face in AutoCAD.
21
+ */
22
+ export declare class AcDbPolyFaceMeshFace {
23
+ /** The vertex indices for the face */
24
+ vertexIndices: number[];
25
+ /**
26
+ * Creates a new polyface mesh face.
27
+ * @param vertexIndices The vertex indices for the face
28
+ */
29
+ constructor(vertexIndices: number[]);
30
+ }
31
+ /**
32
+ * Represents a polyface mesh entity in AutoCAD.
33
+ */
34
+ export declare class AcDbPolyFaceMesh extends AcDbCurve {
35
+ /** The entity type name */
36
+ static typeName: string;
37
+ get dxfTypeName(): string;
38
+ /** The vertices of the mesh */
39
+ private _vertices;
40
+ /** The faces of the mesh */
41
+ private _faces;
42
+ /**
43
+ * Creates a new polyface mesh entity.
44
+ * @param vertices The vertices of the mesh
45
+ * @param faces The faces of the mesh
46
+ */
47
+ constructor(vertices: AcGePoint3dLike[], faces: number[][]);
48
+ /**
49
+ * Gets the number of vertices in the mesh.
50
+ */
51
+ get numberOfVertices(): number;
52
+ /**
53
+ * Gets the number of faces in the mesh.
54
+ */
55
+ get numberOfFaces(): number;
56
+ /**
57
+ * Gets whether this mesh is closed.
58
+ */
59
+ get closed(): boolean;
60
+ /**
61
+ * Sets whether this mesh is closed.
62
+ */
63
+ set closed(_value: boolean);
64
+ /**
65
+ * Gets the vertex at the specified index.
66
+ * @param index The index of the vertex
67
+ */
68
+ getVertexAt(index: number): AcDbPolyFaceMeshVertex;
69
+ /**
70
+ * Gets the face at the specified index.
71
+ * @param index The index of the face
72
+ */
73
+ getFaceAt(index: number): AcDbPolyFaceMeshFace;
74
+ /**
75
+ * Gets the geometric extents (bounding box) of this mesh.
76
+ */
77
+ get geometricExtents(): AcGeBox3d;
78
+ /**
79
+ * Gets the grip points for this mesh.
80
+ */
81
+ subGetGripPoints(): AcGePoint3d[];
82
+ /**
83
+ * Gets the object snap points for this mesh.
84
+ */
85
+ subGetOsnapPoints(osnapMode: AcDbOsnapMode, _pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
86
+ /**
87
+ * Returns the full property definition for this mesh entity.
88
+ */
89
+ get properties(): AcDbEntityProperties;
90
+ /**
91
+ * Draws this mesh using the specified renderer.
92
+ */
93
+ subWorldDraw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
94
+ /**
95
+ * Writes DXF fields for this object.
96
+ */
97
+ dxfOutFields(filer: AcDbDxfFiler): this;
98
+ /**
99
+ * Writes this object to the DXF output.
100
+ */
101
+ dxfOut(filer: AcDbDxfFiler, allXdata?: boolean): this;
102
+ }
103
+ //# sourceMappingURL=AcDbPolyFaceMesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbPolyFaceMesh.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbPolyFaceMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EAChB,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;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;GAEG;AACH,qBAAa,sBAAsB;IACjC,oCAAoC;IACpC,QAAQ,EAAE,WAAW,CAAA;IAErB;;;OAGG;gBACS,QAAQ,EAAE,eAAe;CAGtC;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,sCAAsC;IACtC,aAAa,EAAE,MAAM,EAAE,CAAA;IAEvB;;;OAGG;gBACS,aAAa,EAAE,MAAM,EAAE;CAGpC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAiB;IAEjD,IAAa,WAAW,WAEvB;IAED,+BAA+B;IAC/B,OAAO,CAAC,SAAS,CAA0B;IAC3C,4BAA4B;IAC5B,OAAO,CAAC,MAAM,CAAwB;IAEtC;;;;OAIG;gBACS,QAAQ,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAM1D;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAEzB;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB;IAOlD;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAO9C;;OAEG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAyBhC;IAED;;OAEG;IACH,gBAAgB;IAQhB;;OAEG;IACH,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAa/B;;OAEG;IACH,IAAI,UAAU,IAAI,oBAAoB,CAyErC;IAED;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IA2BnC;;OAEG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;IAYzC;;OAEG;IACM,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,UAAQ;CAuCtD"}
@@ -0,0 +1,343 @@
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
+ import { AcGeBox3d, AcGePoint3d } from '@mlightcad/geometry-engine';
17
+ import { AcDbOsnapMode } from '../misc';
18
+ import { AcDbCurve } from './AcDbCurve';
19
+ /**
20
+ * Represents a polyface mesh vertex in AutoCAD.
21
+ */
22
+ var AcDbPolyFaceMeshVertex = /** @class */ (function () {
23
+ /**
24
+ * Creates a new polyface mesh vertex.
25
+ * @param position The 3D position of the vertex
26
+ */
27
+ function AcDbPolyFaceMeshVertex(position) {
28
+ this.position = new AcGePoint3d(position.x, position.y, position.z || 0);
29
+ }
30
+ return AcDbPolyFaceMeshVertex;
31
+ }());
32
+ export { AcDbPolyFaceMeshVertex };
33
+ /**
34
+ * Represents a polyface mesh face in AutoCAD.
35
+ */
36
+ var AcDbPolyFaceMeshFace = /** @class */ (function () {
37
+ /**
38
+ * Creates a new polyface mesh face.
39
+ * @param vertexIndices The vertex indices for the face
40
+ */
41
+ function AcDbPolyFaceMeshFace(vertexIndices) {
42
+ this.vertexIndices = vertexIndices;
43
+ }
44
+ return AcDbPolyFaceMeshFace;
45
+ }());
46
+ export { AcDbPolyFaceMeshFace };
47
+ /**
48
+ * Represents a polyface mesh entity in AutoCAD.
49
+ */
50
+ var AcDbPolyFaceMesh = /** @class */ (function (_super) {
51
+ __extends(AcDbPolyFaceMesh, _super);
52
+ /**
53
+ * Creates a new polyface mesh entity.
54
+ * @param vertices The vertices of the mesh
55
+ * @param faces The faces of the mesh
56
+ */
57
+ function AcDbPolyFaceMesh(vertices, faces) {
58
+ var _this = _super.call(this) || this;
59
+ _this._vertices = vertices.map(function (v) { return new AcDbPolyFaceMeshVertex(v); });
60
+ _this._faces = faces.map(function (f) { return new AcDbPolyFaceMeshFace(f); });
61
+ return _this;
62
+ }
63
+ Object.defineProperty(AcDbPolyFaceMesh.prototype, "dxfTypeName", {
64
+ get: function () {
65
+ return 'POLYLINE';
66
+ },
67
+ enumerable: false,
68
+ configurable: true
69
+ });
70
+ Object.defineProperty(AcDbPolyFaceMesh.prototype, "numberOfVertices", {
71
+ /**
72
+ * Gets the number of vertices in the mesh.
73
+ */
74
+ get: function () {
75
+ return this._vertices.length;
76
+ },
77
+ enumerable: false,
78
+ configurable: true
79
+ });
80
+ Object.defineProperty(AcDbPolyFaceMesh.prototype, "numberOfFaces", {
81
+ /**
82
+ * Gets the number of faces in the mesh.
83
+ */
84
+ get: function () {
85
+ return this._faces.length;
86
+ },
87
+ enumerable: false,
88
+ configurable: true
89
+ });
90
+ Object.defineProperty(AcDbPolyFaceMesh.prototype, "closed", {
91
+ /**
92
+ * Gets whether this mesh is closed.
93
+ */
94
+ get: function () {
95
+ return false;
96
+ },
97
+ /**
98
+ * Sets whether this mesh is closed.
99
+ */
100
+ set: function (_value) {
101
+ // Polyface mesh doesn't support closed property
102
+ },
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ /**
107
+ * Gets the vertex at the specified index.
108
+ * @param index The index of the vertex
109
+ */
110
+ AcDbPolyFaceMesh.prototype.getVertexAt = function (index) {
111
+ if (index < 0 || index >= this._vertices.length) {
112
+ throw new Error('Vertex index out of bounds');
113
+ }
114
+ return this._vertices[index];
115
+ };
116
+ /**
117
+ * Gets the face at the specified index.
118
+ * @param index The index of the face
119
+ */
120
+ AcDbPolyFaceMesh.prototype.getFaceAt = function (index) {
121
+ if (index < 0 || index >= this._faces.length) {
122
+ throw new Error('Face index out of bounds');
123
+ }
124
+ return this._faces[index];
125
+ };
126
+ Object.defineProperty(AcDbPolyFaceMesh.prototype, "geometricExtents", {
127
+ /**
128
+ * Gets the geometric extents (bounding box) of this mesh.
129
+ */
130
+ get: function () {
131
+ if (this._vertices.length === 0) {
132
+ return new AcGeBox3d(new AcGePoint3d(0, 0, 0), new AcGePoint3d(0, 0, 0));
133
+ }
134
+ var minX = Number.MAX_VALUE;
135
+ var minY = Number.MAX_VALUE;
136
+ var minZ = Number.MAX_VALUE;
137
+ var maxX = -Number.MAX_VALUE;
138
+ var maxY = -Number.MAX_VALUE;
139
+ var maxZ = -Number.MAX_VALUE;
140
+ this._vertices.forEach(function (vertex) {
141
+ minX = Math.min(minX, vertex.position.x);
142
+ minY = Math.min(minY, vertex.position.y);
143
+ minZ = Math.min(minZ, vertex.position.z);
144
+ maxX = Math.max(maxX, vertex.position.x);
145
+ maxY = Math.max(maxY, vertex.position.y);
146
+ maxZ = Math.max(maxZ, vertex.position.z);
147
+ });
148
+ return new AcGeBox3d(new AcGePoint3d(minX, minY, minZ), new AcGePoint3d(maxX, maxY, maxZ));
149
+ },
150
+ enumerable: false,
151
+ configurable: true
152
+ });
153
+ /**
154
+ * Gets the grip points for this mesh.
155
+ */
156
+ AcDbPolyFaceMesh.prototype.subGetGripPoints = function () {
157
+ var gripPoints = new Array();
158
+ this._vertices.forEach(function (vertex) {
159
+ gripPoints.push(vertex.position);
160
+ });
161
+ return gripPoints;
162
+ };
163
+ /**
164
+ * Gets the object snap points for this mesh.
165
+ */
166
+ AcDbPolyFaceMesh.prototype.subGetOsnapPoints = function (osnapMode, _pickPoint, _lastPoint, snapPoints) {
167
+ switch (osnapMode) {
168
+ case AcDbOsnapMode.EndPoint:
169
+ this._vertices.forEach(function (vertex) {
170
+ snapPoints.push(vertex.position);
171
+ });
172
+ break;
173
+ default:
174
+ break;
175
+ }
176
+ };
177
+ Object.defineProperty(AcDbPolyFaceMesh.prototype, "properties", {
178
+ /**
179
+ * Returns the full property definition for this mesh entity.
180
+ */
181
+ get: function () {
182
+ var _this = this;
183
+ return {
184
+ type: this.type,
185
+ groups: [
186
+ this.getGeneralProperties(),
187
+ {
188
+ groupName: 'geometry',
189
+ properties: [
190
+ {
191
+ name: 'vertices',
192
+ type: 'array',
193
+ editable: false,
194
+ itemSchema: {
195
+ properties: [
196
+ {
197
+ name: 'x',
198
+ type: 'float',
199
+ editable: true
200
+ },
201
+ {
202
+ name: 'y',
203
+ type: 'float',
204
+ editable: true
205
+ },
206
+ {
207
+ name: 'z',
208
+ type: 'float',
209
+ editable: true
210
+ }
211
+ ]
212
+ },
213
+ accessor: {
214
+ get: function () {
215
+ return _this._vertices.map(function (v) { return ({
216
+ x: v.position.x,
217
+ y: v.position.y,
218
+ z: v.position.z
219
+ }); });
220
+ }
221
+ }
222
+ },
223
+ {
224
+ name: 'faces',
225
+ type: 'array',
226
+ editable: false,
227
+ itemSchema: {
228
+ properties: [
229
+ {
230
+ name: 'vertexIndices',
231
+ type: 'array',
232
+ editable: false,
233
+ itemSchema: {
234
+ properties: [
235
+ {
236
+ name: 'index',
237
+ type: 'int',
238
+ editable: false
239
+ }
240
+ ]
241
+ }
242
+ }
243
+ ]
244
+ },
245
+ accessor: {
246
+ get: function () {
247
+ return _this._faces.map(function (f) { return ({
248
+ vertexIndices: f.vertexIndices
249
+ }); });
250
+ }
251
+ }
252
+ }
253
+ ]
254
+ }
255
+ ]
256
+ };
257
+ },
258
+ enumerable: false,
259
+ configurable: true
260
+ });
261
+ /**
262
+ * Draws this mesh using the specified renderer.
263
+ */
264
+ AcDbPolyFaceMesh.prototype.subWorldDraw = function (renderer) {
265
+ var _this = this;
266
+ var lines = [];
267
+ this._faces.forEach(function (face) {
268
+ var faceVertices = [];
269
+ face.vertexIndices.forEach(function (index) {
270
+ // Convert 1-based index to 0-based, ignoring negative indices (which indicate edge visibility)
271
+ var absIndex = Math.abs(index) - 1;
272
+ if (absIndex >= 0 && absIndex < _this._vertices.length) {
273
+ faceVertices.push(_this._vertices[absIndex].position);
274
+ }
275
+ });
276
+ // Draw the face as a closed polygon
277
+ if (faceVertices.length >= 3) {
278
+ for (var i = 0; i < faceVertices.length; i++) {
279
+ var current = faceVertices[i];
280
+ var next = faceVertices[(i + 1) % faceVertices.length];
281
+ lines.push(current);
282
+ lines.push(next);
283
+ }
284
+ }
285
+ });
286
+ return renderer.lines(lines);
287
+ };
288
+ /**
289
+ * Writes DXF fields for this object.
290
+ */
291
+ AcDbPolyFaceMesh.prototype.dxfOutFields = function (filer) {
292
+ _super.prototype.dxfOutFields.call(this, filer);
293
+ filer.writeSubclassMarker('AcDbPolyFaceMesh');
294
+ var flag = 64; // Polyface mesh flag
295
+ filer.writeInt16(66, 1); // Has vertices
296
+ filer.writeInt16(70, flag);
297
+ return this;
298
+ };
299
+ /**
300
+ * Writes this object to the DXF output.
301
+ */
302
+ AcDbPolyFaceMesh.prototype.dxfOut = function (filer, allXdata) {
303
+ if (allXdata === void 0) { allXdata = false; }
304
+ _super.prototype.dxfOut.call(this, filer, allXdata);
305
+ // Write vertices
306
+ for (var i = 0; i < this.numberOfVertices; i++) {
307
+ var vertex = this.getVertexAt(i);
308
+ filer.writeStart('VERTEX');
309
+ filer.writeHandle(5, this.database.generateHandle());
310
+ filer.writeObjectId(330, this.objectId);
311
+ filer.writeSubclassMarker('AcDbEntity');
312
+ filer.writeSubclassMarker('AcDbVertex');
313
+ filer.writeSubclassMarker('AcDbPolyFaceMeshVertex');
314
+ filer.writePoint3d(10, vertex.position);
315
+ filer.writeInt16(70, 64); // Polyface mesh vertex flag
316
+ }
317
+ // Write faces
318
+ for (var i = 0; i < this.numberOfFaces; i++) {
319
+ var face = this.getFaceAt(i);
320
+ filer.writeStart('VERTEX');
321
+ filer.writeHandle(5, this.database.generateHandle());
322
+ filer.writeObjectId(330, this.objectId);
323
+ filer.writeSubclassMarker('AcDbEntity');
324
+ filer.writeSubclassMarker('AcDbVertex');
325
+ filer.writeSubclassMarker('AcDbPolyFaceMeshVertex');
326
+ filer.writeInt16(70, 128); // Polyface mesh face flag
327
+ // Write vertex indices
328
+ face.vertexIndices.forEach(function (index, j) {
329
+ filer.writeInt32(10 + j, index);
330
+ });
331
+ }
332
+ filer.writeStart('SEQEND');
333
+ filer.writeHandle(5, this.database.generateHandle());
334
+ filer.writeObjectId(330, this.objectId);
335
+ filer.writeSubclassMarker('AcDbEntity');
336
+ return this;
337
+ };
338
+ /** The entity type name */
339
+ AcDbPolyFaceMesh.typeName = 'PolyFaceMesh';
340
+ return AcDbPolyFaceMesh;
341
+ }(AcDbCurve));
342
+ export { AcDbPolyFaceMesh };
343
+ //# sourceMappingURL=AcDbPolyFaceMesh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbPolyFaceMesh.js","sourceRoot":"","sources":["../../src/entity/AcDbPolyFaceMesh.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { AcGeBox3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
+ import { AcGiRenderer } from '@mlightcad/graphic-interface';
3
+ import { AcDbDxfFiler } from '../base';
4
+ import { AcDbOsnapMode } from '../misc';
5
+ import { AcDbCurve } from './AcDbCurve';
6
+ import { AcDbEntityProperties } from './AcDbEntityProperties';
7
+ /**
8
+ * Represents a polygon mesh vertex in AutoCAD.
9
+ */
10
+ export declare class AcDbPolygonMeshVertex {
11
+ /** The 3D position of the vertex */
12
+ position: AcGePoint3d;
13
+ /**
14
+ * Creates a new polygon mesh vertex.
15
+ * @param position The 3D position of the vertex
16
+ */
17
+ constructor(position: AcGePoint3dLike);
18
+ }
19
+ /**
20
+ * Represents a polygon mesh entity in AutoCAD.
21
+ */
22
+ export declare class AcDbPolygonMesh extends AcDbCurve {
23
+ /** The entity type name */
24
+ static typeName: string;
25
+ get dxfTypeName(): string;
26
+ /** The number of vertices in the M direction */
27
+ private _mCount;
28
+ /** The number of vertices in the N direction */
29
+ private _nCount;
30
+ /** Whether the mesh is closed in the M direction */
31
+ private _closedM;
32
+ /** Whether the mesh is closed in the N direction */
33
+ private _closedN;
34
+ /** The vertices of the mesh */
35
+ private _vertices;
36
+ /**
37
+ * Creates a new polygon mesh entity.
38
+ * @param mCount The number of vertices in the M direction
39
+ * @param nCount The number of vertices in the N direction
40
+ * @param vertices The vertices of the mesh
41
+ * @param closedM Whether the mesh is closed in the M direction
42
+ * @param closedN Whether the mesh is closed in the N direction
43
+ */
44
+ constructor(mCount: number, nCount: number, vertices: AcGePoint3dLike[], closedM?: boolean, closedN?: boolean);
45
+ /**
46
+ * Gets the number of vertices in the M direction.
47
+ */
48
+ get mCount(): number;
49
+ /**
50
+ * Gets the number of vertices in the N direction.
51
+ */
52
+ get nCount(): number;
53
+ /**
54
+ * Gets whether the mesh is closed in the M direction.
55
+ */
56
+ get closedM(): boolean;
57
+ /**
58
+ * Gets whether the mesh is closed in the N direction.
59
+ */
60
+ get closedN(): boolean;
61
+ /**
62
+ * Gets whether this mesh is closed.
63
+ */
64
+ get closed(): boolean;
65
+ /**
66
+ * Sets whether this mesh is closed.
67
+ */
68
+ set closed(value: boolean);
69
+ /**
70
+ * Gets the number of vertices in the mesh.
71
+ */
72
+ get numberOfVertices(): number;
73
+ /**
74
+ * Gets the vertex at the specified index.
75
+ * @param index The index of the vertex
76
+ */
77
+ getVertexAt(index: number): AcDbPolygonMeshVertex;
78
+ /**
79
+ * Gets the vertex at the specified M and N coordinates.
80
+ * @param m The M coordinate
81
+ * @param n The N coordinate
82
+ */
83
+ getVertexAtMN(m: number, n: number): AcDbPolygonMeshVertex;
84
+ /**
85
+ * Gets the geometric extents (bounding box) of this mesh.
86
+ */
87
+ get geometricExtents(): AcGeBox3d;
88
+ /**
89
+ * Gets the grip points for this mesh.
90
+ */
91
+ subGetGripPoints(): AcGePoint3d[];
92
+ /**
93
+ * Gets the object snap points for this mesh.
94
+ */
95
+ subGetOsnapPoints(osnapMode: AcDbOsnapMode, _pickPoint: AcGePoint3dLike, _lastPoint: AcGePoint3dLike, snapPoints: AcGePoint3dLike[]): void;
96
+ /**
97
+ * Returns the full property definition for this mesh entity.
98
+ */
99
+ get properties(): AcDbEntityProperties;
100
+ /**
101
+ * Draws this mesh using the specified renderer.
102
+ */
103
+ subWorldDraw(renderer: AcGiRenderer): import("@mlightcad/graphic-interface").AcGiEntity;
104
+ /**
105
+ * Writes DXF fields for this object.
106
+ */
107
+ dxfOutFields(filer: AcDbDxfFiler): this;
108
+ /**
109
+ * Writes this object to the DXF output.
110
+ */
111
+ dxfOut(filer: AcDbDxfFiler, allXdata?: boolean): this;
112
+ }
113
+ //# sourceMappingURL=AcDbPolygonMesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbPolygonMesh.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbPolygonMesh.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EAChB,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;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;GAEG;AACH,qBAAa,qBAAqB;IAChC,oCAAoC;IACpC,QAAQ,EAAE,WAAW,CAAA;IAErB;;;OAGG;gBACS,QAAQ,EAAE,eAAe;CAGtC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,2BAA2B;IAC3B,OAAgB,QAAQ,EAAE,MAAM,CAAgB;IAEhD,IAAa,WAAW,WAEvB;IAED,gDAAgD;IAChD,OAAO,CAAC,OAAO,CAAQ;IACvB,gDAAgD;IAChD,OAAO,CAAC,OAAO,CAAQ;IACvB,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,+BAA+B;IAC/B,OAAO,CAAC,SAAS,CAAyB;IAE1C;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,eAAe,EAAE,EAC3B,OAAO,UAAQ,EACf,OAAO,UAAQ;IAUjB;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAExB;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IAOjD;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAK1D;;OAEG;IACH,IAAI,gBAAgB,IAAI,SAAS,CAyBhC;IAED;;OAEG;IACH,gBAAgB;IAQhB;;OAEG;IACH,iBAAiB,CACf,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,eAAe,EAAE;IAa/B;;OAEG;IACH,IAAI,UAAU,IAAI,oBAAoB,CAuFrC;IAED;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IA0CnC;;OAEG;IACM,YAAY,CAAC,KAAK,EAAE,YAAY;IAgBzC;;OAEG;IACM,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,UAAQ;CAqBtD"}