@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.
- package/dist/data-model.cjs +3 -3
- package/dist/data-model.js +2159 -1623
- package/dist/dxf-parser-worker.js +54 -54
- package/lib/base/AcDbDxfFiler.d.ts +3 -0
- package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
- package/lib/base/AcDbDxfFiler.js +28 -5
- package/lib/base/AcDbDxfFiler.js.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
- package/lib/converter/AcDbEntitiyConverter.js +71 -9
- package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +6 -0
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/entity/AcDbEllipse.d.ts.map +1 -1
- package/lib/entity/AcDbEllipse.js +5 -3
- package/lib/entity/AcDbEllipse.js.map +1 -1
- package/lib/entity/AcDbMText.d.ts +1 -0
- package/lib/entity/AcDbMText.d.ts.map +1 -1
- package/lib/entity/AcDbMText.js +5 -1
- package/lib/entity/AcDbMText.js.map +1 -1
- package/lib/entity/AcDbPolyFaceMesh.d.ts +103 -0
- package/lib/entity/AcDbPolyFaceMesh.d.ts.map +1 -0
- package/lib/entity/AcDbPolyFaceMesh.js +343 -0
- package/lib/entity/AcDbPolyFaceMesh.js.map +1 -0
- package/lib/entity/AcDbPolygonMesh.d.ts +113 -0
- package/lib/entity/AcDbPolygonMesh.d.ts.map +1 -0
- package/lib/entity/AcDbPolygonMesh.js +385 -0
- package/lib/entity/AcDbPolygonMesh.js.map +1 -0
- package/lib/entity/AcDbSpline.d.ts +46 -0
- package/lib/entity/AcDbSpline.d.ts.map +1 -1
- package/lib/entity/AcDbSpline.js +14 -12
- package/lib/entity/AcDbSpline.js.map +1 -1
- package/lib/entity/index.d.ts +2 -0
- package/lib/entity/index.d.ts.map +1 -1
- package/lib/entity/index.js +2 -0
- package/lib/entity/index.js.map +1 -1
- 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"}
|