@mlightcad/data-model 1.12.2 → 1.12.4
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/README.md +4 -9
- package/dist/data-model.cjs +15 -15
- package/lib/acis/AcDbAcisGeometry.d.ts +3 -0
- package/lib/acis/AcDbAcisGeometry.d.ts.map +1 -1
- package/lib/acis/AcDbAcisGeometry.js +117 -3
- package/lib/acis/AcDbAcisGeometry.js.map +1 -1
- package/lib/acis/AcDbAcisSatWireframe.d.ts +3 -0
- package/lib/acis/AcDbAcisSatWireframe.d.ts.map +1 -1
- package/lib/acis/AcDbAcisSatWireframe.js +157 -4
- package/lib/acis/AcDbAcisSatWireframe.js.map +1 -1
- package/lib/acis/AcDbAcisTransform.d.ts +99 -0
- package/lib/acis/AcDbAcisTransform.d.ts.map +1 -0
- package/lib/acis/AcDbAcisTransform.js +260 -0
- package/lib/acis/AcDbAcisTransform.js.map +1 -0
- package/lib/acis/AcDbAcisWireframe.d.ts.map +1 -1
- package/lib/acis/AcDbAcisWireframe.js +36 -19
- package/lib/acis/AcDbAcisWireframe.js.map +1 -1
- package/lib/acis/index.d.ts +2 -0
- package/lib/acis/index.d.ts.map +1 -1
- package/lib/acis/index.js +1 -0
- package/lib/acis/index.js.map +1 -1
- package/lib/converter/AcDbRegenerator.d.ts +0 -6
- package/lib/converter/AcDbRegenerator.d.ts.map +1 -1
- package/lib/converter/AcDbRegenerator.js +0 -8
- package/lib/converter/AcDbRegenerator.js.map +1 -1
- package/lib/converter/index.d.ts +0 -2
- package/lib/converter/index.d.ts.map +1 -1
- package/lib/converter/index.js +0 -1
- package/lib/converter/index.js.map +1 -1
- package/lib/database/AcDbDatabase.d.ts +1 -78
- package/lib/database/AcDbDatabase.d.ts.map +1 -1
- package/lib/database/AcDbDatabase.js +30 -111
- package/lib/database/AcDbDatabase.js.map +1 -1
- package/lib/database/AcDbDatabaseConverter.d.ts +32 -16
- package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
- package/lib/database/AcDbDatabaseConverter.js +10 -26
- package/lib/database/AcDbDatabaseConverter.js.map +1 -1
- package/lib/database/AcDbDatabaseConverterManager.d.ts +2 -2
- package/lib/database/AcDbDatabaseConverterManager.js +2 -2
- package/lib/database/AcDbSystemVariables.d.ts +1 -1
- package/lib/database/AcDbSystemVariables.js +1 -1
- package/lib/database/AcDbTextStyleTable.d.ts +7 -0
- package/lib/database/AcDbTextStyleTable.d.ts.map +1 -1
- package/lib/database/AcDbTextStyleTable.js +18 -3
- package/lib/database/AcDbTextStyleTable.js.map +1 -1
- package/lib/database/index.d.ts +2 -2
- package/lib/database/index.d.ts.map +1 -1
- package/lib/database/index.js.map +1 -1
- package/lib/dxf/AcDbDxfDocumentReader.d.ts +1 -10
- package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -1
- package/lib/dxf/AcDbDxfDocumentReader.js +13 -102
- package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -1
- package/lib/dxf/AcDbNativeDxfConverter.d.ts +6 -8
- package/lib/dxf/AcDbNativeDxfConverter.d.ts.map +1 -1
- package/lib/dxf/AcDbNativeDxfConverter.js +45 -57
- package/lib/dxf/AcDbNativeDxfConverter.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/misc/AcDbRenderingCache.d.ts +22 -6
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
- package/lib/misc/AcDbRenderingCache.js +199 -45
- package/lib/misc/AcDbRenderingCache.js.map +1 -1
- package/package.json +4 -4
- package/lib/converter/AcDbFontNameCollector.d.ts +0 -72
- package/lib/converter/AcDbFontNameCollector.d.ts.map +0 -1
- package/lib/converter/AcDbFontNameCollector.js +0 -329
- package/lib/converter/AcDbFontNameCollector.js.map +0 -1
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACIS body `transform` entity parsing and application.
|
|
3
|
+
*
|
|
4
|
+
* Each `body` may reference a `transform` that maps body-space geometry into
|
|
5
|
+
* model space: `p' = scale * (x*px + y*py + z*pz) + translation`. Wireframe
|
|
6
|
+
* extraction must apply this or solids appear far from sibling 2D entities
|
|
7
|
+
* (common when ACIS points stay in a pre-block coordinate frame).
|
|
8
|
+
*/
|
|
9
|
+
var __values = (this && this.__values) || function(o) {
|
|
10
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
11
|
+
if (m) return m.call(o);
|
|
12
|
+
if (o && typeof o.length === "number") return {
|
|
13
|
+
next: function () {
|
|
14
|
+
if (o && i >= o.length) o = void 0;
|
|
15
|
+
return { value: o && o[i++], done: !o };
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
19
|
+
};
|
|
20
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
21
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
22
|
+
if (!m) return o;
|
|
23
|
+
var i = m.call(o), r, ar = [], e;
|
|
24
|
+
try {
|
|
25
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
26
|
+
}
|
|
27
|
+
catch (error) { e = { error: error }; }
|
|
28
|
+
finally {
|
|
29
|
+
try {
|
|
30
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
31
|
+
}
|
|
32
|
+
finally { if (e) throw e.error; }
|
|
33
|
+
}
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
import { AcDbAcisSabTag } from './AcDbAcisSab';
|
|
37
|
+
var IDENTITY = {
|
|
38
|
+
xAxis: [1, 0, 0],
|
|
39
|
+
yAxis: [0, 1, 0],
|
|
40
|
+
zAxis: [0, 0, 1],
|
|
41
|
+
translation: [0, 0, 0],
|
|
42
|
+
scale: 1,
|
|
43
|
+
};
|
|
44
|
+
var NEAR_EPS = 1e-12;
|
|
45
|
+
var VEC_TAGS = new Set([
|
|
46
|
+
AcDbAcisSabTag.LocationVec,
|
|
47
|
+
AcDbAcisSabTag.DirectionVec,
|
|
48
|
+
]);
|
|
49
|
+
var near = function (a, b) { return Math.abs(a - b) <= NEAR_EPS; };
|
|
50
|
+
var nearVec = function (v, e) {
|
|
51
|
+
return near(v[0], e[0]) && near(v[1], e[1]) && near(v[2], e[2]);
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Returns the identity body transform.
|
|
55
|
+
*/
|
|
56
|
+
export function acdbAcisIdentityTransform() {
|
|
57
|
+
return IDENTITY;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns true when two affine transforms are numerically equal.
|
|
61
|
+
*
|
|
62
|
+
* @param a - First transform.
|
|
63
|
+
* @param b - Second transform.
|
|
64
|
+
*/
|
|
65
|
+
export function acdbAcisTransformsEqual(a, b) {
|
|
66
|
+
return (near(a.scale, b.scale) &&
|
|
67
|
+
nearVec(a.xAxis, b.xAxis) &&
|
|
68
|
+
nearVec(a.yAxis, b.yAxis) &&
|
|
69
|
+
nearVec(a.zAxis, b.zAxis) &&
|
|
70
|
+
nearVec(a.translation, b.translation));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Parses an ACIS `transform` node into an affine transform.
|
|
74
|
+
*
|
|
75
|
+
* SAB layout (after entity-type / pointers): three axis direction vectors,
|
|
76
|
+
* one translation vector, then a scale double. Returns `null` when the record
|
|
77
|
+
* does not carry four vectors.
|
|
78
|
+
*
|
|
79
|
+
* @param node - Resolved `transform` entity node.
|
|
80
|
+
*/
|
|
81
|
+
export function acdbAcisParseTransform(node) {
|
|
82
|
+
var e_1, _a;
|
|
83
|
+
var vectors = [];
|
|
84
|
+
var scale;
|
|
85
|
+
try {
|
|
86
|
+
for (var _b = __values(node.record.tokens), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
87
|
+
var token = _c.value;
|
|
88
|
+
if (VEC_TAGS.has(token.tag)) {
|
|
89
|
+
vectors.push(token.value);
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (token.tag === AcDbAcisSabTag.Double &&
|
|
93
|
+
vectors.length >= 4 &&
|
|
94
|
+
scale === undefined) {
|
|
95
|
+
scale = token.value;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
100
|
+
finally {
|
|
101
|
+
try {
|
|
102
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
103
|
+
}
|
|
104
|
+
finally { if (e_1) throw e_1.error; }
|
|
105
|
+
}
|
|
106
|
+
if (vectors.length < 4)
|
|
107
|
+
return null;
|
|
108
|
+
return {
|
|
109
|
+
xAxis: vectors[0],
|
|
110
|
+
yAxis: vectors[1],
|
|
111
|
+
zAxis: vectors[2],
|
|
112
|
+
translation: vectors[3],
|
|
113
|
+
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Returns the affine transform referenced by a `body` node, or identity when
|
|
118
|
+
* the body has no resolvable `transform`.
|
|
119
|
+
*
|
|
120
|
+
* @param body - Resolved `body` entity node.
|
|
121
|
+
*/
|
|
122
|
+
export function acdbAcisTransformFromBody(body) {
|
|
123
|
+
var _a;
|
|
124
|
+
var transformNode = body.refs.find(function (ref) { return (ref === null || ref === void 0 ? void 0 : ref.type) === 'transform'; });
|
|
125
|
+
if (transformNode == null)
|
|
126
|
+
return IDENTITY;
|
|
127
|
+
return (_a = acdbAcisParseTransform(transformNode)) !== null && _a !== void 0 ? _a : IDENTITY;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Returns true when `transform` is (numerically) the identity.
|
|
131
|
+
*
|
|
132
|
+
* @param transform - Affine transform to test.
|
|
133
|
+
*/
|
|
134
|
+
export function acdbAcisTransformIsIdentity(transform) {
|
|
135
|
+
return acdbAcisTransformsEqual(transform, IDENTITY);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Transforms a point: `scale * (x*px + y*py + z*pz) + translation`.
|
|
139
|
+
*
|
|
140
|
+
* @param point - Body-space point.
|
|
141
|
+
* @param transform - Body transform.
|
|
142
|
+
*/
|
|
143
|
+
export function acdbAcisTransformPoint(point, transform) {
|
|
144
|
+
var s = transform.scale;
|
|
145
|
+
var _a = __read(point, 3), px = _a[0], py = _a[1], pz = _a[2];
|
|
146
|
+
var x = transform.xAxis, y = transform.yAxis, z = transform.zAxis, t = transform.translation;
|
|
147
|
+
return [
|
|
148
|
+
s * (x[0] * px + y[0] * py + z[0] * pz) + t[0],
|
|
149
|
+
s * (x[1] * px + y[1] * py + z[1] * pz) + t[1],
|
|
150
|
+
s * (x[2] * px + y[2] * py + z[2] * pz) + t[2],
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Transforms a direction / free vector (rotation + scale, no translation).
|
|
155
|
+
*
|
|
156
|
+
* @param direction - Body-space direction.
|
|
157
|
+
* @param transform - Body transform.
|
|
158
|
+
*/
|
|
159
|
+
export function acdbAcisTransformDirection(direction, transform) {
|
|
160
|
+
var s = transform.scale;
|
|
161
|
+
var _a = __read(direction, 3), dx = _a[0], dy = _a[1], dz = _a[2];
|
|
162
|
+
var x = transform.xAxis, y = transform.yAxis, z = transform.zAxis;
|
|
163
|
+
return [
|
|
164
|
+
s * (x[0] * dx + y[0] * dy + z[0] * dz),
|
|
165
|
+
s * (x[1] * dx + y[1] * dy + z[1] * dz),
|
|
166
|
+
s * (x[2] * dx + y[2] * dy + z[2] * dz),
|
|
167
|
+
];
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Walks each body DAG and records the owning body's transform per node index.
|
|
171
|
+
*
|
|
172
|
+
* Attribute entities are skipped so owner back-pointers cannot cross bodies.
|
|
173
|
+
* Shared nodes keep the first body's transform.
|
|
174
|
+
*
|
|
175
|
+
* @param model - Resolved ACIS model graph.
|
|
176
|
+
*/
|
|
177
|
+
export function acdbAcisBuildNodeTransforms(model) {
|
|
178
|
+
var e_2, _a;
|
|
179
|
+
var map = new Map();
|
|
180
|
+
var visit = function (node, transform, seen) {
|
|
181
|
+
var e_3, _a;
|
|
182
|
+
if (node == null || seen.has(node.index))
|
|
183
|
+
return;
|
|
184
|
+
if (node.type.includes('attrib'))
|
|
185
|
+
return;
|
|
186
|
+
seen.add(node.index);
|
|
187
|
+
if (!map.has(node.index)) {
|
|
188
|
+
map.set(node.index, transform);
|
|
189
|
+
}
|
|
190
|
+
try {
|
|
191
|
+
for (var _b = __values(node.refs), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
192
|
+
var ref = _c.value;
|
|
193
|
+
visit(ref, transform, seen);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
197
|
+
finally {
|
|
198
|
+
try {
|
|
199
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
200
|
+
}
|
|
201
|
+
finally { if (e_3) throw e_3.error; }
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
try {
|
|
205
|
+
for (var _b = __values(model.bodies), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
206
|
+
var body = _c.value;
|
|
207
|
+
visit(body, acdbAcisTransformFromBody(body), new Set());
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
211
|
+
finally {
|
|
212
|
+
try {
|
|
213
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
214
|
+
}
|
|
215
|
+
finally { if (e_2) throw e_2.error; }
|
|
216
|
+
}
|
|
217
|
+
return map;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Picks a single body transform shared by every body in the model.
|
|
221
|
+
*
|
|
222
|
+
* Returns identity when there is no body, or when bodies disagree on
|
|
223
|
+
* transform (callers that need per-body mapping should use
|
|
224
|
+
* {@link acdbAcisBuildNodeTransforms}).
|
|
225
|
+
*
|
|
226
|
+
* @param model - Resolved ACIS model graph.
|
|
227
|
+
*/
|
|
228
|
+
export function acdbAcisModelSpaceTransform(model) {
|
|
229
|
+
if (model.bodies.length === 0)
|
|
230
|
+
return IDENTITY;
|
|
231
|
+
var transforms = model.bodies.map(acdbAcisTransformFromBody);
|
|
232
|
+
var first = transforms[0];
|
|
233
|
+
for (var i = 1; i < transforms.length; i++) {
|
|
234
|
+
if (!acdbAcisTransformsEqual(transforms[i], first)) {
|
|
235
|
+
return IDENTITY;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return first;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Applies an affine transform to a flat wireframe segment buffer in place
|
|
242
|
+
* style (returns a new buffer).
|
|
243
|
+
*
|
|
244
|
+
* @param segments - `[x,y,z,x,y,z,...]` endpoint pairs.
|
|
245
|
+
* @param transform - Transform to apply to every endpoint.
|
|
246
|
+
*/
|
|
247
|
+
export function acdbAcisTransformSegments(segments, transform) {
|
|
248
|
+
if (acdbAcisTransformIsIdentity(transform) || segments.length < 3) {
|
|
249
|
+
return segments;
|
|
250
|
+
}
|
|
251
|
+
var out = new Float32Array(segments.length);
|
|
252
|
+
for (var i = 0; i + 2 < segments.length; i += 3) {
|
|
253
|
+
var _a = __read(acdbAcisTransformPoint([segments[i], segments[i + 1], segments[i + 2]], transform), 3), x = _a[0], y = _a[1], z = _a[2];
|
|
254
|
+
out[i] = x;
|
|
255
|
+
out[i + 1] = y;
|
|
256
|
+
out[i + 2] = z;
|
|
257
|
+
}
|
|
258
|
+
return out;
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=AcDbAcisTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbAcisTransform.js","sourceRoot":"","sources":["../../src/acis/AcDbAcisTransform.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbAcisWireframe.d.ts","sourceRoot":"","sources":["../../src/acis/AcDbAcisWireframe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAEL,KAAK,gBAAgB,EAMtB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbAcisWireframe.d.ts","sourceRoot":"","sources":["../../src/acis/AcDbAcisWireframe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAEL,KAAK,gBAAgB,EAMtB,MAAM,oBAAoB,CAAA;AA4D3B;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,CAAC,EAAE,aAAa,GACpB,YAAY,CAgCd;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,UAAU,GACnB,YAAY,GAAG,IAAI,CAYrB"}
|
|
@@ -11,6 +11,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
11
11
|
};
|
|
12
12
|
import { acdbDecodeAcisModel } from './AcDbAcisDecode';
|
|
13
13
|
import { acdbAcisEdgeParamBounds, acdbAcisParseSurfaceParams, acdbExtractAcisGeometry, acdbSampleAcisEllipseArc, acdbSampleAcisSphereWireframe, } from './AcDbAcisGeometry';
|
|
14
|
+
import { acdbAcisBuildNodeTransforms, acdbAcisIdentityTransform, acdbAcisTransformIsIdentity, acdbAcisTransformPoint, } from './AcDbAcisTransform';
|
|
14
15
|
/** Default number of samples when tessellating ellipse edges for wireframe output. */
|
|
15
16
|
var DEFAULT_ELLIPSE_SAMPLES = 16;
|
|
16
17
|
var refOfType = function (node, suffix) { var _a; return (_a = node.refs.find(function (r) { return r !== null && (r.type === suffix || r.type.endsWith(suffix)); })) !== null && _a !== void 0 ? _a : null; };
|
|
@@ -30,34 +31,48 @@ function pushPolyline(segments, points) {
|
|
|
30
31
|
/**
|
|
31
32
|
* Builds wireframe rings for sphere faces when edge-based wireframe is empty.
|
|
32
33
|
*
|
|
34
|
+
* Samples in body space, then maps each face through its owning body transform.
|
|
35
|
+
*
|
|
33
36
|
* @param model - Resolved ACIS model graph.
|
|
34
37
|
* @returns Line-segment endpoint pairs for sphere surface scaffolds.
|
|
35
38
|
*/
|
|
36
39
|
function acdbAcisWireframeSegmentsFromSphereFaces(model) {
|
|
37
|
-
var e_1, _a
|
|
40
|
+
var e_1, _a;
|
|
41
|
+
var _b;
|
|
38
42
|
var segments = [];
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
43
|
+
var transformsByNode = acdbAcisBuildNodeTransforms(model);
|
|
44
|
+
var identity = acdbAcisIdentityTransform();
|
|
45
|
+
var _loop_1 = function (face) {
|
|
46
|
+
var e_2, _e;
|
|
47
|
+
var surfaceNode = refOfType(face, '-surface');
|
|
48
|
+
if ((surfaceNode === null || surfaceNode === void 0 ? void 0 : surfaceNode.type) !== 'sphere-surface')
|
|
49
|
+
return "continue";
|
|
50
|
+
var params = acdbAcisParseSurfaceParams(surfaceNode);
|
|
51
|
+
if (params.kind !== 'sphere')
|
|
52
|
+
return "continue";
|
|
53
|
+
var transform = (_b = transformsByNode.get(face.index)) !== null && _b !== void 0 ? _b : identity;
|
|
54
|
+
try {
|
|
55
|
+
for (var _f = (e_2 = void 0, __values(acdbSampleAcisSphereWireframe(params))), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
56
|
+
var ring = _g.value;
|
|
57
|
+
if (acdbAcisTransformIsIdentity(transform)) {
|
|
51
58
|
pushPolyline(segments, ring);
|
|
59
|
+
continue;
|
|
52
60
|
}
|
|
61
|
+
pushPolyline(segments, ring.map(function (p) { return acdbAcisTransformPoint(p, transform); }));
|
|
53
62
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
finally { if (e_2) throw e_2.error; }
|
|
63
|
+
}
|
|
64
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
65
|
+
finally {
|
|
66
|
+
try {
|
|
67
|
+
if (_g && !_g.done && (_e = _f.return)) _e.call(_f);
|
|
60
68
|
}
|
|
69
|
+
finally { if (e_2) throw e_2.error; }
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
try {
|
|
73
|
+
for (var _c = __values(model.nodesOfType('face')), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
74
|
+
var face = _d.value;
|
|
75
|
+
_loop_1(face);
|
|
61
76
|
}
|
|
62
77
|
}
|
|
63
78
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -122,11 +137,13 @@ export function acdbAcisWireframeSegmentsFromSab(sabBytes) {
|
|
|
122
137
|
var model = acdbDecodeAcisModel(sabBytes);
|
|
123
138
|
if (model === null)
|
|
124
139
|
return null;
|
|
140
|
+
// Edge wireframe uses geometry already mapped to model space by extract.
|
|
125
141
|
var geometry = acdbExtractAcisGeometry(model);
|
|
126
142
|
var edgeWireframe = acdbAcisWireframeSegmentsFromGeometry(geometry, model);
|
|
127
143
|
if (edgeWireframe.length > 0) {
|
|
128
144
|
return edgeWireframe;
|
|
129
145
|
}
|
|
146
|
+
// Sphere fallback samples raw surfaces and applies per-face body transforms.
|
|
130
147
|
var sphereWireframe = acdbAcisWireframeSegmentsFromSphereFaces(model);
|
|
131
148
|
return sphereWireframe.length > 0 ? sphereWireframe : null;
|
|
132
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbAcisWireframe.js","sourceRoot":"","sources":["../../src/acis/AcDbAcisWireframe.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EACL,uBAAuB,EAEvB,0BAA0B,EAE1B,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbAcisWireframe.js","sourceRoot":"","sources":["../../src/acis/AcDbAcisWireframe.ts"],"names":[],"mappings":"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"}
|
package/lib/acis/index.d.ts
CHANGED
|
@@ -13,4 +13,6 @@ export { acdbAcisEdgeParamBounds, acdbAcisParseSurfaceParams, acdbExtractAcisGeo
|
|
|
13
13
|
export type { AcDbAcisBBox, AcDbAcisConeParams, AcDbAcisCurveKind, AcDbAcisCurveParams, AcDbAcisEdge, AcDbAcisEllipseCurveParams, AcDbAcisFace, AcDbAcisFaceLoop, AcDbAcisGeometry, AcDbAcisGeometrySummary, AcDbAcisIntCurveParams, AcDbAcisMesh, AcDbAcisPlaneParams, AcDbAcisSphereParams, AcDbAcisStraightCurveParams, AcDbAcisSurfaceKind, AcDbAcisSurfaceParams, AcDbAcisTessellationOptions, AcDbAcisTorusParams, AcDbAcisTriangleMesh, AcDbAcisVec3, AcDbAcisVertex, } from './AcDbAcisGeometry';
|
|
14
14
|
export { acdbAcisWireframeSegmentsFromGeometry, acdbAcisWireframeSegmentsFromSab, } from './AcDbAcisWireframe';
|
|
15
15
|
export { acdbAcisWireframeSegmentsFromSatText } from './AcDbAcisSatWireframe';
|
|
16
|
+
export { acdbAcisBuildNodeTransforms, acdbAcisIdentityTransform, acdbAcisModelSpaceTransform, acdbAcisParseTransform, acdbAcisTransformDirection, acdbAcisTransformFromBody, acdbAcisTransformIsIdentity, acdbAcisTransformPoint, acdbAcisTransformSegments, acdbAcisTransformsEqual, } from './AcDbAcisTransform';
|
|
17
|
+
export type { AcDbAcisAffineTransform } from './AcDbAcisTransform';
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/acis/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/acis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAChE,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/acis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAChE,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA"}
|
package/lib/acis/index.js
CHANGED
|
@@ -10,4 +10,5 @@ export { acdbDecodeAcisModel, acdbFindAcisSabSignatureOffset, acdbIsAcisSabPaylo
|
|
|
10
10
|
export { acdbAcisEdgeParamBounds, acdbAcisParseSurfaceParams, acdbExtractAcisGeometry, acdbSampleAcisEllipseArc, acdbSampleAcisSphereWireframe, } from './AcDbAcisGeometry';
|
|
11
11
|
export { acdbAcisWireframeSegmentsFromGeometry, acdbAcisWireframeSegmentsFromSab, } from './AcDbAcisWireframe';
|
|
12
12
|
export { acdbAcisWireframeSegmentsFromSatText } from './AcDbAcisSatWireframe';
|
|
13
|
+
export { acdbAcisBuildNodeTransforms, acdbAcisIdentityTransform, acdbAcisModelSpaceTransform, acdbAcisParseTransform, acdbAcisTransformDirection, acdbAcisTransformFromBody, acdbAcisTransformIsIdentity, acdbAcisTransformPoint, acdbAcisTransformSegments, acdbAcisTransformsEqual, } from './AcDbAcisTransform';
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
package/lib/acis/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAShE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAyB3B,OAAO,EACL,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/acis/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAShE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAyB3B,OAAO,EACL,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAA"}
|
|
@@ -22,12 +22,6 @@ export declare class AcDbRegenerator extends AcDbDatabaseConverter<AcDbDatabase>
|
|
|
22
22
|
unknownEntityCount: number;
|
|
23
23
|
};
|
|
24
24
|
}>;
|
|
25
|
-
/**
|
|
26
|
-
* Does nothing and always returns one empty array.
|
|
27
|
-
*
|
|
28
|
-
* @returns An empty array
|
|
29
|
-
*/
|
|
30
|
-
protected getFonts(): never[];
|
|
31
25
|
/**
|
|
32
26
|
* Processes entities in batches to maintain UI responsiveness.
|
|
33
27
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbRegenerator.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbRegenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,mCAAmC,CAAA;AAI1C;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,qBAAqB,CAAC,YAAY,CAAC;IACtE,OAAO,CAAC,SAAS,CAAc;gBACnB,EAAE,EAAE,YAAY;IAK5B;;;;OAIG;cACa,KAAK;;;;;;IASrB
|
|
1
|
+
{"version":3,"file":"AcDbRegenerator.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbRegenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACtB,MAAM,mCAAmC,CAAA;AAI1C;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,qBAAqB,CAAC,YAAY,CAAC;IACtE,OAAO,CAAC,SAAS,CAAc;gBACnB,EAAE,EAAE,YAAY;IAK5B;;;;OAIG;cACa,KAAK;;;;;;IASrB;;;;;;;;;;;;;OAaG;cACa,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAClC,QAAQ,CAAC,EAAE,8BAA8B;IA6C3C;;OAEG;IACH,SAAS,CAAC,aAAa;IAQvB;;OAEG;IACH,SAAS,CAAC,aAAa;IAIvB;;OAEG;IACH,SAAS,CAAC,cAAc;IAIxB;;OAEG;IACH,SAAS,CAAC,kBAAkB;IAI5B;;;OAGG;IACH,SAAS,CAAC,cAAc;IA+CxB;;OAEG;IACH,SAAS,CAAC,gBAAgB;IAI1B;;OAEG;IACH,SAAS,CAAC,aAAa;IAUvB;;OAEG;IACH,SAAS,CAAC,gBAAgB;IAI1B;;OAEG;IACH,SAAS,CAAC,iBAAiB;IAI3B;;OAEG;IACH,SAAS,CAAC,gBAAgB;IAI1B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,aAAa;CAUtB"}
|
|
@@ -94,14 +94,6 @@ var AcDbRegenerator = /** @class */ (function (_super) {
|
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
96
|
};
|
|
97
|
-
/**
|
|
98
|
-
* Does nothing and always returns one empty array.
|
|
99
|
-
*
|
|
100
|
-
* @returns An empty array
|
|
101
|
-
*/
|
|
102
|
-
AcDbRegenerator.prototype.getFonts = function () {
|
|
103
|
-
return [];
|
|
104
|
-
};
|
|
105
97
|
/**
|
|
106
98
|
* Processes entities in batches to maintain UI responsiveness.
|
|
107
99
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbRegenerator.js","sourceRoot":"","sources":["../../src/converter/AcDbRegenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAEL,qBAAqB,EACtB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D;;;;;;;GAOG;AACH;IAAqC,mCAAmC;IAEtE,yBAAY,EAAgB;QAC1B,YAAA,MAAK,YAAC,EAAE,CAAC,SAAA;QACT,KAAI,CAAC,SAAS,GAAG,EAAE,CAAA;;IACrB,CAAC;IAED;;;;OAIG;IACa,+BAAK,GAArB;;;gBACE,sBAAO;wBACL,KAAK,EAAE,IAAI,CAAC,SAAS;wBACrB,IAAI,EAAE;4BACJ,kBAAkB,EAAE,CAAC;yBACtB;qBACF,EAAA;;;KACF;IAED
|
|
1
|
+
{"version":3,"file":"AcDbRegenerator.js","sourceRoot":"","sources":["../../src/converter/AcDbRegenerator.ts"],"names":[],"mappings":"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"}
|
package/lib/converter/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
export { AcDbBatchProcessing } from './AcDbBatchProcessing';
|
|
2
|
-
export { AcDbFontNameCollector } from './AcDbFontNameCollector';
|
|
3
|
-
export type { AcDbFontNameCollectorAdapter, AcDbFontNameCollectorEntityFontInfo, AcDbFontNameCollectorOptions, AcDbFontNameCollectorStyleEntry } from './AcDbFontNameCollector';
|
|
4
2
|
export { AcDbRegenerator } from './AcDbRegenerator';
|
|
5
3
|
export { AcDbBaseWorker, AcDbWorkerApi, AcDbWorkerManager, acdbCreateWorkerApi } from './worker';
|
|
6
4
|
export type { AcDbWorkerConfig, AcDbWorkerInstance, AcDbWorkerMessage, AcDbWorkerResponse, AcDbWorkerResult, AcDbWorkerErrorCode } from './worker';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AACjB,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,UAAU,CAAA"}
|
package/lib/converter/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { AcDbBatchProcessing } from './AcDbBatchProcessing';
|
|
2
|
-
export { AcDbFontNameCollector } from './AcDbFontNameCollector';
|
|
3
2
|
export { AcDbRegenerator } from './AcDbRegenerator';
|
|
4
3
|
export { AcDbBaseWorker, AcDbWorkerApi, AcDbWorkerManager, acdbCreateWorkerApi } from './worker';
|
|
5
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/converter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,UAAU,CAAA"}
|
|
@@ -89,10 +89,9 @@ export interface AcDbProgressdEventArgs {
|
|
|
89
89
|
* Store data associated with the current sub stage. Its meaning of different sub stages
|
|
90
90
|
* are as follows.
|
|
91
91
|
* - 'PARSE' stage: statistics of parsing task
|
|
92
|
-
* - 'FONT' stage: fonts needed by this drawing
|
|
93
92
|
* - Any stage with {@link subStageStatus} `'ERROR'`: `{ code, message, stage? }`
|
|
94
93
|
*
|
|
95
|
-
* Note: For now, 'PARSE'
|
|
94
|
+
* Note: For now, 'PARSE' sub stages use this field only, except on errors.
|
|
96
95
|
*/
|
|
97
96
|
data?: unknown;
|
|
98
97
|
}
|
|
@@ -105,61 +104,6 @@ export interface AcDbOpenFailedEventArgs {
|
|
|
105
104
|
/** Structured failure information */
|
|
106
105
|
error: AcDbOpenDatabaseError;
|
|
107
106
|
}
|
|
108
|
-
/**
|
|
109
|
-
* Font information structure.
|
|
110
|
-
*
|
|
111
|
-
* Contains information about a font including its name, file path,
|
|
112
|
-
* type, and URL for loading.
|
|
113
|
-
*/
|
|
114
|
-
export interface AcDbFontInfo {
|
|
115
|
-
/** Array of font names/aliases */
|
|
116
|
-
name: string[];
|
|
117
|
-
/** Font file name */
|
|
118
|
-
file: string;
|
|
119
|
-
/** Font type (mesh or shx) */
|
|
120
|
-
type: 'mesh' | 'shx';
|
|
121
|
-
/** URL for loading the font */
|
|
122
|
-
url: string;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Interface for loading fonts when opening a document.
|
|
126
|
-
*
|
|
127
|
-
* Applications should implement this interface to provide font loading
|
|
128
|
-
* functionality when opening drawing databases that contain text entities.
|
|
129
|
-
*/
|
|
130
|
-
export interface AcDbFontLoader {
|
|
131
|
-
/**
|
|
132
|
-
* Loads the specified fonts.
|
|
133
|
-
*
|
|
134
|
-
* @param fontNames - Array of font names to load
|
|
135
|
-
* @returns Promise that resolves when fonts are loaded
|
|
136
|
-
*
|
|
137
|
-
* @example
|
|
138
|
-
* ```typescript
|
|
139
|
-
* const fontLoader: AcDbFontLoader = {
|
|
140
|
-
* async load(fontNames: string[]) {
|
|
141
|
-
* // Load fonts implementation
|
|
142
|
-
* },
|
|
143
|
-
* async getAvaiableFonts() {
|
|
144
|
-
* return [];
|
|
145
|
-
* }
|
|
146
|
-
* };
|
|
147
|
-
* ```
|
|
148
|
-
*/
|
|
149
|
-
load(fontNames: string[]): Promise<void>;
|
|
150
|
-
/**
|
|
151
|
-
* Gets all available fonts.
|
|
152
|
-
*
|
|
153
|
-
* @returns Promise that resolves to an array of available font information
|
|
154
|
-
*
|
|
155
|
-
* @example
|
|
156
|
-
* ```typescript
|
|
157
|
-
* const fonts = await fontLoader.getAvaiableFonts();
|
|
158
|
-
* console.log('Available fonts:', fonts);
|
|
159
|
-
* ```
|
|
160
|
-
*/
|
|
161
|
-
getAvaiableFonts(): Promise<AcDbFontInfo[]>;
|
|
162
|
-
}
|
|
163
107
|
/**
|
|
164
108
|
* Options for reading a drawing database.
|
|
165
109
|
*
|
|
@@ -173,21 +117,6 @@ export interface AcDbOpenDatabaseOptions {
|
|
|
173
117
|
* any modifications to the database content.
|
|
174
118
|
*/
|
|
175
119
|
readOnly?: boolean;
|
|
176
|
-
/**
|
|
177
|
-
* Loader used to load fonts used in the drawing database.
|
|
178
|
-
*
|
|
179
|
-
* This loader will be used to load any fonts referenced by text entities
|
|
180
|
-
* in the drawing database. By default, font load failures are logged and
|
|
181
|
-
* parsing continues without the missing fonts. Set {@link failOnFontLoadError}
|
|
182
|
-
* to `true` to abort the read when font loading fails.
|
|
183
|
-
*/
|
|
184
|
-
fontLoader?: AcDbFontLoader;
|
|
185
|
-
/**
|
|
186
|
-
* When `true`, aborts {@link AcDbDatabase.read} if {@link fontLoader} fails.
|
|
187
|
-
*
|
|
188
|
-
* Defaults to `false` so unreachable font CDNs do not block entity parsing.
|
|
189
|
-
*/
|
|
190
|
-
failOnFontLoadError?: boolean;
|
|
191
120
|
/**
|
|
192
121
|
* The minimum number of items in one chunk.
|
|
193
122
|
*
|
|
@@ -1166,12 +1095,6 @@ export declare class AcDbDatabase extends AcDbObject {
|
|
|
1166
1095
|
*/
|
|
1167
1096
|
read(data: ArrayBuffer, options: AcDbOpenDatabaseOptions, fileType?: AcDbConverterType): Promise<void>;
|
|
1168
1097
|
private createConversionProgressHandler;
|
|
1169
|
-
/**
|
|
1170
|
-
* Loads fonts while emitting FONT IN-PROGRESS so the open-file bar keeps
|
|
1171
|
-
* moving during multi-font downloads (native DXF parses on the main thread
|
|
1172
|
-
* and previously appeared stuck at the FONT stage).
|
|
1173
|
-
*/
|
|
1174
|
-
private loadFontsWithProgress;
|
|
1175
1098
|
/**
|
|
1176
1099
|
* Read AutoCAD DXF or DWG drawing specified by the URL into the database object.
|
|
1177
1100
|
* The method automatically detects the file type based on the URL extension:
|