@mlightcad/data-model 1.12.2 → 1.12.3
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 +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/AcDbFontNameCollector.d.ts +18 -2
- package/lib/converter/AcDbFontNameCollector.d.ts.map +1 -1
- package/lib/converter/AcDbFontNameCollector.js +27 -17
- package/lib/converter/AcDbFontNameCollector.js.map +1 -1
- package/lib/converter/index.d.ts +1 -1
- package/lib/converter/index.d.ts.map +1 -1
- package/lib/converter/index.js.map +1 -1
- package/lib/dxf/AcDbDxfDocumentReader.d.ts +12 -4
- package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -1
- package/lib/dxf/AcDbDxfDocumentReader.js +38 -38
- package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
- package/lib/misc/AcDbRenderingCache.js +68 -10
- package/lib/misc/AcDbRenderingCache.js.map +1 -1
- package/package.json +4 -4
|
@@ -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"}
|
|
@@ -19,14 +19,26 @@ export type AcDbFontNameCollectorEntityFontInfo = {
|
|
|
19
19
|
/** When true, resolve fonts via STYLE table fallbacks. */
|
|
20
20
|
resolveStyle?: boolean;
|
|
21
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Entity collections accepted by {@link AcDbFontNameCollector.collect}.
|
|
24
|
+
* Arrays match LibreDwg-style models; maps match handle→entity stores.
|
|
25
|
+
*/
|
|
26
|
+
export type AcDbFontNameCollectorEntities<TEntity> = readonly TEntity[] | Map<number, TEntity>;
|
|
22
27
|
/** Callbacks that map a host-specific entity model to collector input. */
|
|
23
28
|
export type AcDbFontNameCollectorAdapter<TEntity> = {
|
|
24
29
|
getEntityFontInfo(entity: TEntity): AcDbFontNameCollectorEntityFontInfo | null;
|
|
25
|
-
getBlockEntities?(blockName: string): TEntity
|
|
30
|
+
getBlockEntities?(blockName: string): AcDbFontNameCollectorEntities<TEntity> | undefined;
|
|
26
31
|
};
|
|
27
32
|
export type AcDbFontNameCollectorOptions = {
|
|
28
33
|
styles: AcDbFontNameCollectorStyleEntry[];
|
|
29
34
|
textStyleVar?: string;
|
|
35
|
+
/**
|
|
36
|
+
* When true (default), preload fonts from every named STYLE entry.
|
|
37
|
+
* Set false to only collect shape-definition fonts plus fonts referenced by
|
|
38
|
+
* the entity walk (used styles / inline overrides) — better for large DWGs
|
|
39
|
+
* whose STYLE table lists many unused fonts.
|
|
40
|
+
*/
|
|
41
|
+
includeAllNamedStyleFonts?: boolean;
|
|
30
42
|
};
|
|
31
43
|
/**
|
|
32
44
|
* Collects normalized font names from parsed drawing data before conversion.
|
|
@@ -38,16 +50,20 @@ export declare class AcDbFontNameCollector {
|
|
|
38
50
|
private readonly styles;
|
|
39
51
|
private readonly styleMap;
|
|
40
52
|
private readonly textStyleVar;
|
|
53
|
+
private readonly includeAllNamedStyleFonts;
|
|
41
54
|
constructor(options: AcDbFontNameCollectorOptions);
|
|
42
55
|
/**
|
|
43
56
|
* Walks entities and returns all normalized font names referenced by the drawing.
|
|
57
|
+
*
|
|
58
|
+
* @param entities - Entity array, or a handle→entity map (`Map` values are walked).
|
|
44
59
|
*/
|
|
45
|
-
collect<TEntity>(entities: TEntity
|
|
60
|
+
collect<TEntity>(entities: AcDbFontNameCollectorEntities<TEntity>, adapter: AcDbFontNameCollectorAdapter<TEntity>): string[];
|
|
46
61
|
/**
|
|
47
62
|
* Normalizes a font file name for font loading: strips the extension and lowercases.
|
|
48
63
|
*/
|
|
49
64
|
static normalizeFontFileName(fontFileName?: string): string | undefined;
|
|
50
65
|
private collectFromEntities;
|
|
66
|
+
private static iterateEntities;
|
|
51
67
|
/**
|
|
52
68
|
* Resolves font names for a text entity style using the same fallbacks as
|
|
53
69
|
* {@link AcDbTextStyleTable.resolveAt}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbFontNameCollector.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbFontNameCollector.ts"],"names":[],"mappings":"AAOA,+EAA+E;AAC/E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,4BAA4B,CAAC,OAAO,IAAI;IAClD,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,mCAAmC,GAAG,IAAI,CAAA;IAC9E,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"AcDbFontNameCollector.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbFontNameCollector.ts"],"names":[],"mappings":"AAOA,+EAA+E;AAC/E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,6BAA6B,CAAC,OAAO,IAC7C,SAAS,OAAO,EAAE,GAClB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAExB,0EAA0E;AAC1E,MAAM,MAAM,4BAA4B,CAAC,OAAO,IAAI;IAClD,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,mCAAmC,GAAG,IAAI,CAAA;IAC9E,gBAAgB,CAAC,CACf,SAAS,EAAE,MAAM,GAChB,6BAA6B,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,+BAA+B,EAAE,CAAA;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAA;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAEvC,OAAO,EAAE,4BAA4B;IAOjD;;;;OAIG;IACH,OAAO,CAAC,OAAO,EACb,QAAQ,EAAE,6BAA6B,CAAC,OAAO,CAAC,EAChD,OAAO,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAC7C,MAAM,EAAE;IAkBX;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWvE,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,MAAM,CAAC,eAAe;IAQ9B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAahC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAgBzC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAa1C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAmB1C,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAWtC;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;CAGvD"}
|
|
@@ -47,13 +47,16 @@ var MTEXT_INLINE_FONT_SEMICOLON_PATTERN = /\\[fF]([^|;]+);/g;
|
|
|
47
47
|
*/
|
|
48
48
|
var AcDbFontNameCollector = /** @class */ (function () {
|
|
49
49
|
function AcDbFontNameCollector(options) {
|
|
50
|
-
var _a;
|
|
50
|
+
var _a, _b;
|
|
51
51
|
this.styles = options.styles;
|
|
52
52
|
this.styleMap = AcDbFontNameCollector.buildStyleFontMap(this.styles);
|
|
53
53
|
this.textStyleVar = (_a = options.textStyleVar) !== null && _a !== void 0 ? _a : DEFAULT_TEXT_STYLE;
|
|
54
|
+
this.includeAllNamedStyleFonts = (_b = options.includeAllNamedStyleFonts) !== null && _b !== void 0 ? _b : true;
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Walks entities and returns all normalized font names referenced by the drawing.
|
|
58
|
+
*
|
|
59
|
+
* @param entities - Entity array, or a handle→entity map (`Map` values are walked).
|
|
57
60
|
*/
|
|
58
61
|
AcDbFontNameCollector.prototype.collect = function (entities, adapter) {
|
|
59
62
|
var e_1, _a, e_2, _b;
|
|
@@ -71,18 +74,20 @@ var AcDbFontNameCollector = /** @class */ (function () {
|
|
|
71
74
|
}
|
|
72
75
|
finally { if (e_1) throw e_1.error; }
|
|
73
76
|
}
|
|
74
|
-
|
|
75
|
-
for (var _e = __values(AcDbFontNameCollector.collectNamedStyleTableFonts(this.styles)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
76
|
-
var fontName = _f.value;
|
|
77
|
-
fonts.add(fontName);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
81
|
-
finally {
|
|
77
|
+
if (this.includeAllNamedStyleFonts) {
|
|
82
78
|
try {
|
|
83
|
-
|
|
79
|
+
for (var _e = __values(AcDbFontNameCollector.collectNamedStyleTableFonts(this.styles)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
80
|
+
var fontName = _f.value;
|
|
81
|
+
fonts.add(fontName);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
85
|
+
finally {
|
|
86
|
+
try {
|
|
87
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
88
|
+
}
|
|
89
|
+
finally { if (e_2) throw e_2.error; }
|
|
84
90
|
}
|
|
85
|
-
finally { if (e_2) throw e_2.error; }
|
|
86
91
|
}
|
|
87
92
|
this.collectFromEntities(entities, adapter, fonts);
|
|
88
93
|
return Array.from(fonts);
|
|
@@ -103,23 +108,23 @@ var AcDbFontNameCollector = /** @class */ (function () {
|
|
|
103
108
|
AcDbFontNameCollector.prototype.collectFromEntities = function (entities, adapter, fonts) {
|
|
104
109
|
var e_3, _a, e_4, _b;
|
|
105
110
|
try {
|
|
106
|
-
for (var
|
|
107
|
-
var entity =
|
|
111
|
+
for (var _c = __values(AcDbFontNameCollector.iterateEntities(entities)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
112
|
+
var entity = _d.value;
|
|
108
113
|
var info = adapter.getEntityFontInfo(entity);
|
|
109
114
|
if (!info) {
|
|
110
115
|
continue;
|
|
111
116
|
}
|
|
112
117
|
if (info.formattedText) {
|
|
113
118
|
try {
|
|
114
|
-
for (var
|
|
115
|
-
var fontName =
|
|
119
|
+
for (var _e = (e_4 = void 0, __values(AcDbFontNameCollector.extractInlineMTextFonts(info.formattedText))), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
120
|
+
var fontName = _f.value;
|
|
116
121
|
fonts.add(fontName);
|
|
117
122
|
}
|
|
118
123
|
}
|
|
119
124
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
120
125
|
finally {
|
|
121
126
|
try {
|
|
122
|
-
if (
|
|
127
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
123
128
|
}
|
|
124
129
|
finally { if (e_4) throw e_4.error; }
|
|
125
130
|
}
|
|
@@ -138,11 +143,16 @@ var AcDbFontNameCollector = /** @class */ (function () {
|
|
|
138
143
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
139
144
|
finally {
|
|
140
145
|
try {
|
|
141
|
-
if (
|
|
146
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
142
147
|
}
|
|
143
148
|
finally { if (e_3) throw e_3.error; }
|
|
144
149
|
}
|
|
145
150
|
};
|
|
151
|
+
AcDbFontNameCollector.iterateEntities = function (entities) {
|
|
152
|
+
return entities instanceof Map
|
|
153
|
+
? entities.values()
|
|
154
|
+
: entities[Symbol.iterator]();
|
|
155
|
+
};
|
|
146
156
|
/**
|
|
147
157
|
* Resolves font names for a text entity style using the same fallbacks as
|
|
148
158
|
* {@link AcDbTextStyleTable.resolveAt}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbFontNameCollector.js","sourceRoot":"","sources":["../../src/converter/AcDbFontNameCollector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,wDAAwD;AACxD,IAAM,8BAA8B,GAAG,gBAAgB,CAAA;AACvD,4EAA4E;AAC5E,IAAM,mCAAmC,GAAG,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbFontNameCollector.js","sourceRoot":"","sources":["../../src/converter/AcDbFontNameCollector.ts"],"names":[],"mappings":"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"}
|
package/lib/converter/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { AcDbBatchProcessing } from './AcDbBatchProcessing';
|
|
2
2
|
export { AcDbFontNameCollector } from './AcDbFontNameCollector';
|
|
3
|
-
export type { AcDbFontNameCollectorAdapter, AcDbFontNameCollectorEntityFontInfo, AcDbFontNameCollectorOptions, AcDbFontNameCollectorStyleEntry } from './AcDbFontNameCollector';
|
|
3
|
+
export type { AcDbFontNameCollectorAdapter, AcDbFontNameCollectorEntities, AcDbFontNameCollectorEntityFontInfo, AcDbFontNameCollectorOptions, AcDbFontNameCollectorStyleEntry } from './AcDbFontNameCollector';
|
|
4
4
|
export { AcDbRegenerator } from './AcDbRegenerator';
|
|
5
5
|
export { AcDbBaseWorker, AcDbWorkerApi, AcDbWorkerManager, acdbCreateWorkerApi } from './worker';
|
|
6
6
|
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,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EACV,4BAA4B,EAC5B,mCAAmC,EACnC,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,yBAAyB,CAAA;AAChC,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"}
|
|
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,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC5B,+BAA+B,EAChC,MAAM,yBAAyB,CAAA;AAChC,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"}
|
|
@@ -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,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;
|
|
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,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAQ/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,UAAU,CAAA"}
|