@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
|
@@ -232,6 +232,9 @@ export declare function acdbAcisParseSurfaceParams(surface: AcDbAcisNode): AcDbA
|
|
|
232
232
|
* Extract the B-rep geometry from a decoded ACIS model. Never throws; unresolved
|
|
233
233
|
* topology/geometry is reported via `diagnostics` and `'unknown'` type labels.
|
|
234
234
|
*
|
|
235
|
+
* Coordinates are returned in model space: each entity is mapped by its owning
|
|
236
|
+
* body's `transform` (multi-body models with distinct transforms are supported).
|
|
237
|
+
*
|
|
235
238
|
* @param model - Resolved ACIS model graph.
|
|
236
239
|
* @returns Extracted vertices, edges, faces, bounding box, and diagnostics.
|
|
237
240
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbAcisGeometry.d.ts","sourceRoot":"","sources":["../../src/acis/AcDbAcisGeometry.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"AcDbAcisGeometry.d.ts","sourceRoot":"","sources":["../../src/acis/AcDbAcisGeometry.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,17 @@
|
|
|
14
14
|
// ACIS 7.0 SAT save-file reference (ellipse/cone restore_data field order)
|
|
15
15
|
// and empirically cross-checked vs corpus records + an annotated .sat. There
|
|
16
16
|
// is no automated runtime oracle (ezdxf has no Ellipse/Cone/Torus types).
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
17
28
|
var __values = (this && this.__values) || function(o) {
|
|
18
29
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
19
30
|
if (m) return m.call(o);
|
|
@@ -26,6 +37,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
26
37
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
38
|
};
|
|
28
39
|
import { AcDbAcisSabTag } from './AcDbAcisSab';
|
|
40
|
+
import { acdbAcisBuildNodeTransforms, acdbAcisIdentityTransform, acdbAcisTransformDirection, acdbAcisTransformIsIdentity, acdbAcisTransformPoint, } from './AcDbAcisTransform';
|
|
29
41
|
/** Walks a record's tokens in wire order, yielding the next token of a wanted tag. */
|
|
30
42
|
var AcDbAcisTokenCursor = /** @class */ (function () {
|
|
31
43
|
function AcDbAcisTokenCursor(tokens) {
|
|
@@ -214,15 +226,105 @@ function loopCoedgeCount(loop) {
|
|
|
214
226
|
}
|
|
215
227
|
return seen.size;
|
|
216
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Applies a body transform to analytic curve parameters.
|
|
231
|
+
*
|
|
232
|
+
* @param curve - Parsed curve parameters in body space.
|
|
233
|
+
* @param transform - Body-to-model transform.
|
|
234
|
+
*/
|
|
235
|
+
function transformCurveParams(curve, transform) {
|
|
236
|
+
if (curve.kind === 'straight') {
|
|
237
|
+
return {
|
|
238
|
+
kind: 'straight',
|
|
239
|
+
origin: acdbAcisTransformPoint(curve.origin, transform),
|
|
240
|
+
direction: acdbAcisTransformDirection(curve.direction, transform),
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
if (curve.kind === 'ellipse') {
|
|
244
|
+
return {
|
|
245
|
+
kind: 'ellipse',
|
|
246
|
+
center: acdbAcisTransformPoint(curve.center, transform),
|
|
247
|
+
normal: acdbAcisTransformDirection(curve.normal, transform),
|
|
248
|
+
majorAxis: acdbAcisTransformDirection(curve.majorAxis, transform),
|
|
249
|
+
ratio: curve.ratio,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
if (curve.kind === 'intcurve') {
|
|
253
|
+
return {
|
|
254
|
+
kind: 'intcurve',
|
|
255
|
+
controlPoints: curve.controlPoints.map(function (p) {
|
|
256
|
+
return acdbAcisTransformPoint(p, transform);
|
|
257
|
+
}),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
return curve;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Applies a body transform to analytic surface parameters.
|
|
264
|
+
*
|
|
265
|
+
* @param surface - Parsed surface parameters in body space.
|
|
266
|
+
* @param transform - Body-to-model transform.
|
|
267
|
+
*/
|
|
268
|
+
function transformSurfaceParams(surface, transform) {
|
|
269
|
+
if (surface.kind === 'plane') {
|
|
270
|
+
return __assign({ kind: 'plane', origin: acdbAcisTransformPoint(surface.origin, transform), normal: acdbAcisTransformDirection(surface.normal, transform) }, (surface.uDir
|
|
271
|
+
? { uDir: acdbAcisTransformDirection(surface.uDir, transform) }
|
|
272
|
+
: {}));
|
|
273
|
+
}
|
|
274
|
+
if (surface.kind === 'cone') {
|
|
275
|
+
return {
|
|
276
|
+
kind: 'cone',
|
|
277
|
+
origin: acdbAcisTransformPoint(surface.origin, transform),
|
|
278
|
+
axis: acdbAcisTransformDirection(surface.axis, transform),
|
|
279
|
+
majorAxis: acdbAcisTransformDirection(surface.majorAxis, transform),
|
|
280
|
+
ratio: surface.ratio,
|
|
281
|
+
sineAngle: surface.sineAngle,
|
|
282
|
+
cosineAngle: surface.cosineAngle,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
if (surface.kind === 'torus') {
|
|
286
|
+
return {
|
|
287
|
+
kind: 'torus',
|
|
288
|
+
center: acdbAcisTransformPoint(surface.center, transform),
|
|
289
|
+
axis: acdbAcisTransformDirection(surface.axis, transform),
|
|
290
|
+
majorRadius: surface.majorRadius * transform.scale,
|
|
291
|
+
minorRadius: surface.minorRadius * transform.scale,
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
if (surface.kind === 'sphere') {
|
|
295
|
+
return {
|
|
296
|
+
kind: 'sphere',
|
|
297
|
+
center: acdbAcisTransformPoint(surface.center, transform),
|
|
298
|
+
radius: surface.radius * transform.scale,
|
|
299
|
+
uDir: acdbAcisTransformDirection(surface.uDir, transform),
|
|
300
|
+
poleAxis: acdbAcisTransformDirection(surface.poleAxis, transform),
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
return surface;
|
|
304
|
+
}
|
|
217
305
|
/**
|
|
218
306
|
* Extract the B-rep geometry from a decoded ACIS model. Never throws; unresolved
|
|
219
307
|
* topology/geometry is reported via `diagnostics` and `'unknown'` type labels.
|
|
220
308
|
*
|
|
309
|
+
* Coordinates are returned in model space: each entity is mapped by its owning
|
|
310
|
+
* body's `transform` (multi-body models with distinct transforms are supported).
|
|
311
|
+
*
|
|
221
312
|
* @param model - Resolved ACIS model graph.
|
|
222
313
|
* @returns Extracted vertices, edges, faces, bounding box, and diagnostics.
|
|
223
314
|
*/
|
|
224
315
|
export function acdbExtractAcisGeometry(model) {
|
|
225
316
|
var diagnostics = [];
|
|
317
|
+
var transformsByNode = acdbAcisBuildNodeTransforms(model);
|
|
318
|
+
var identity = acdbAcisIdentityTransform();
|
|
319
|
+
var transformFor = function (nodeIndex) { var _a; return (_a = transformsByNode.get(nodeIndex)) !== null && _a !== void 0 ? _a : identity; };
|
|
320
|
+
var mapPoint = function (p, nodeIndex) {
|
|
321
|
+
if (p === null)
|
|
322
|
+
return null;
|
|
323
|
+
var transform = transformFor(nodeIndex);
|
|
324
|
+
return acdbAcisTransformIsIdentity(transform)
|
|
325
|
+
? p
|
|
326
|
+
: acdbAcisTransformPoint(p, transform);
|
|
327
|
+
};
|
|
226
328
|
var minX = Infinity, minY = Infinity, minZ = Infinity;
|
|
227
329
|
var maxX = -Infinity, maxY = -Infinity, maxZ = -Infinity;
|
|
228
330
|
var grow = function (p) {
|
|
@@ -240,7 +342,7 @@ export function acdbExtractAcisGeometry(model) {
|
|
|
240
342
|
maxZ = p[2];
|
|
241
343
|
};
|
|
242
344
|
var vertices = model.nodesOfType('vertex').map(function (v) {
|
|
243
|
-
var point = vertexPoint(v);
|
|
345
|
+
var point = mapPoint(vertexPoint(v), v.index);
|
|
244
346
|
if (point === null)
|
|
245
347
|
diagnostics.push("vertex#".concat(String(v.index), ": no resolvable point"));
|
|
246
348
|
else
|
|
@@ -250,11 +352,17 @@ export function acdbExtractAcisGeometry(model) {
|
|
|
250
352
|
var edges = model.nodesOfType('edge').map(function (e) {
|
|
251
353
|
var _a, _b, _c;
|
|
252
354
|
var verts = refsOfType(e, 'vertex');
|
|
253
|
-
var start = vertexPoint((_a = verts[0]) !== null && _a !== void 0 ? _a : null);
|
|
254
|
-
var end = vertexPoint((_b = verts[1]) !== null && _b !== void 0 ? _b : null);
|
|
355
|
+
var start = mapPoint(vertexPoint((_a = verts[0]) !== null && _a !== void 0 ? _a : null), e.index);
|
|
356
|
+
var end = mapPoint(vertexPoint((_b = verts[1]) !== null && _b !== void 0 ? _b : null), e.index);
|
|
255
357
|
var curveNode = refOfType(e, '-curve');
|
|
256
358
|
var curveType = curveNode ? ((_c = CURVE_KIND[curveNode.type]) !== null && _c !== void 0 ? _c : 'unknown') : 'unknown';
|
|
257
359
|
var curve = curveNode ? curveParams(curveNode) : undefined;
|
|
360
|
+
var transform = transformFor(e.index);
|
|
361
|
+
if (curve !== undefined &&
|
|
362
|
+
curve.kind !== 'unknown' &&
|
|
363
|
+
!acdbAcisTransformIsIdentity(transform)) {
|
|
364
|
+
curve = transformCurveParams(curve, transform);
|
|
365
|
+
}
|
|
258
366
|
if (start !== null && end !== null && start[0] === end[0] && start[1] === end[1] && start[2] === end[2]) {
|
|
259
367
|
diagnostics.push("edge#".concat(String(e.index), ": degenerate (coincident endpoints)"));
|
|
260
368
|
}
|
|
@@ -267,6 +375,12 @@ export function acdbExtractAcisGeometry(model) {
|
|
|
267
375
|
var surfaceNode = refOfType(f, '-surface');
|
|
268
376
|
var surfaceType = surfaceNode ? ((_a = SURFACE_KIND[surfaceNode.type]) !== null && _a !== void 0 ? _a : 'unknown') : 'unknown';
|
|
269
377
|
var surface = surfaceNode ? surfaceParams(surfaceNode) : undefined;
|
|
378
|
+
var transform = transformFor(f.index);
|
|
379
|
+
if (surface !== undefined &&
|
|
380
|
+
surface.kind !== 'unknown' &&
|
|
381
|
+
!acdbAcisTransformIsIdentity(transform)) {
|
|
382
|
+
surface = transformSurfaceParams(surface, transform);
|
|
383
|
+
}
|
|
270
384
|
// Walk the next-loop chain (loop-typed ref), guarded against cycles.
|
|
271
385
|
var loops = [];
|
|
272
386
|
var seen = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbAcisGeometry.js","sourceRoot":"","sources":["../../src/acis/AcDbAcisGeometry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AcDbAcisGeometry.js","sourceRoot":"","sources":["../../src/acis/AcDbAcisGeometry.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,EAAE;AACF,8FAA8F;AAC9F,+EAA+E;AAC/E,gFAAgF;AAChF,kFAAkF;AAClF,+EAA+E;AAC/E,0EAA0E;AAC1E,EAAE;AACF,wDAAwD;AACxD,0EAA0E;AAC1E,8FAA8F;AAC9F,8EAA8E;AAC9E,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;AAI9E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAEL,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AA0P5B,sFAAsF;AACtF;IAEE,6BAA6B,MAAmC;QAAnC,WAAM,GAAN,MAAM,CAA6B;QADxD,MAAC,GAAG,CAAC,CAAC;IACqD,CAAC;IAC5D,kCAAI,GAAZ;QAAa,cAAiB;aAAjB,UAAiB,EAAjB,qBAAiB,EAAjB,IAAiB;YAAjB,yBAAiB;;QAC5B,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,qCAAO,GAAP;;QACE,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,YAAY,CAAC,0CAAE,KAAiC,CAAC;IAC/G,CAAC;IACD,wCAAU,GAAV;;QACE,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,0CAAE,KAA2B,CAAC;IACvE,CAAC;IACH,0BAAC;AAAD,CAAC,AAhBD,IAgBC;AAED,IAAM,SAAS,GAAG,UAAC,IAAkB,EAAE,MAAc,YACnD,OAAA,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAA5D,CAA4D,CAAC,mCAAI,IAAI,CAAA,EAAA,CAAC;AAC5F,IAAM,UAAU,GAAG,UAAC,IAAkB,EAAE,IAAY;IAClD,OAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAC,CAAC,IAAwB,OAAA,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAA7B,CAA6B,CAAC;AAAzE,CAAyE,CAAC;AAE5E,SAAS,WAAW,CAAC,MAA2B;IAC9C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,WAAW,EAApC,CAAoC,CAAC,CAAC;IAChF,OAAO,GAAG,CAAC,CAAC,CAAE,GAAG,CAAC,KAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB;IACtC,IAAM,CAAC,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,IAAM,QAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1D,IAAI,QAAM,IAAI,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAA,EAAE,SAAS,WAAA,EAAE,CAAC;IAC1E,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC1C,IAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACtF,IAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,MAAM,IAAI,MAAM,IAAI,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,SAAS,WAAA,EAAE,KAAK,OAAA,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,MAAmC;;IAChE,IAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,EAAlF,CAAkF,CAAC,CAAC;IACvH,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACxB,qFAAqF;IACrF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACjB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM;QAC3B,IAAI,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,MAAM;YAAE,MAAM;QAC3C,IAAI,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG;YAAE,QAAQ,GAAG,CAAC,CAAC,KAAe,CAAC;QAC/D,IAAI,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAA,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,GAAG,MAAK,cAAc,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC,CAAC,aAAa;QACtE,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,CAAA,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,GAAG,MAAK,cAAc,CAAC,GAAG;YAAE,CAAC,IAAI,CAAC,CAAC,CAAO,0BAA0B;IACrF,CAAC;IACD,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,OAAO,CAAA,MAAA,MAAM,CAAC,CAAC,CAAC,0CAAE,GAAG,MAAK,cAAc,CAAC,MAAM,EAAE,CAAC;QAChD,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM;QAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;QACnC,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,IAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM;QACjE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,OAAqB;IAC1C,IAAM,CAAC,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACrC,IAAM,QAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACjF,IAAI,QAAM,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAA,EAAE,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAA,EAAE,MAAM,QAAA,EAAE,CAAC;IAClH,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3C,IAAM,QAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACpF,IAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QAAC,IAAM,SAAS,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QAAC,IAAM,WAAW,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QACnG,IAAI,QAAM,IAAI,IAAI,IAAI,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC/G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,UAAA,EAAE,IAAI,MAAA,EAAE,SAAS,WAAA,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,WAAW,aAAA,EAAE,CAAC;QAClF,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAC5C,IAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,IAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACrD,IAAM,WAAW,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QAAC,IAAM,WAAW,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QACvE,IAAI,MAAM,IAAI,IAAI,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,WAAW,aAAA,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC7C,IAAM,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAM,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACzB,IAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YACvD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,IAAI,MAAA,EAAE,QAAQ,UAAA,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAqB;IAC9D,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,IAAM,YAAY,GAAwC;IACxD,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO;IAC1E,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;CACvD,CAAC;AACF,IAAM,UAAU,GAAsC;IACpD,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU;CACvF,CAAC;AAEF,0FAA0F;AAC1F,SAAS,eAAe,CAAC,IAAkB;;IACzC,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,MAAM,GAAwB,KAAK,CAAC;IACxC,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,wFAAwF;QACxF,MAAM,GAAG,MAAA,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAC3B,KAA0B,EAC1B,SAAkC;IAElC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;YACvD,SAAS,EAAE,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC;SAClE,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;YACvD,MAAM,EAAE,0BAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC;YAC3D,SAAS,EAAE,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC;YACjE,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAA;IACH,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,UAAA,CAAC;gBACtC,OAAA,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC;YAApC,CAAoC,CACrC;SACF,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,OAA8B,EAC9B,SAAkC;IAElC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,kBACE,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EACzD,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,IAC1D,CAAC,OAAO,CAAC,IAAI;YACd,CAAC,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;YAC/D,CAAC,CAAC,EAAE,CAAC,EACR;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;YACzD,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;YACzD,SAAS,EAAE,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;YACnE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;YACzD,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;YACzD,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK;YAClD,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK;SACnD,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;YACzD,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK;YACxC,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;YACzD,QAAQ,EAAE,0BAA0B,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;SAClE,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,IAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAM,gBAAgB,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAA;IAC3D,IAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAA;IAC5C,IAAM,YAAY,GAAG,UAAC,SAAiB,YACrC,OAAA,MAAA,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,QAAQ,CAAA,EAAA,CAAA;IAC7C,IAAM,QAAQ,GAAG,UACf,CAAsB,EACtB,SAAiB;QAEjB,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC3B,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QACzC,OAAO,2BAA2B,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1C,CAAC,CAAA;IACD,IAAI,IAAI,GAAG,QAAQ,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,GAAG,QAAQ,CAAC;IACtD,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC;IACzD,IAAM,IAAI,GAAG,UAAC,CAAe;QAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;YAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,IAAM,QAAQ,GAAqB,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;QAClE,IAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,iBAAU,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,0BAAuB,CAAC,CAAC;;YAClF,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,OAAA,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAM,KAAK,GAAmB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;;QAC3D,IAAM,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtC,IAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAM,SAAS,GAAG,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAM,SAAS,GAAsB,SAAS,CAAC,CAAC,CAAC,CAAC,MAAA,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,IAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACvC,IACE,KAAK,KAAK,SAAS;YACnB,KAAK,CAAC,IAAI,KAAK,SAAS;YACxB,CAAC,2BAA2B,CAAC,SAAS,CAAC,EACvC,CAAC;YACD,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAChD,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,WAAW,CAAC,IAAI,CAAC,eAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,wCAAqC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YACpD,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,SAAS,WAAA,EAAE;YAC/C,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,SAAS,WAAA,EAAE,KAAK,OAAA,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAM,KAAK,GAAmB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;;QAC3D,IAAM,WAAW,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAM,WAAW,GAAwB,WAAW,CAAC,CAAC,CAAC,CAAC,MAAA,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,mCAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjH,IAAI,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,IAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACvC,IACE,OAAO,KAAK,SAAS;YACrB,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,CAAC,2BAA2B,CAAC,SAAS,CAAC,EACvC,CAAC;YACD,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACtD,CAAC;QACD,qEAAqE;QACrE,IAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,IAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,WAAW,KAAK,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,eAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAc,CAAC,CAAC;QAClF,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YACxD,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,aAAA,EAAE,KAAK,OAAA,EAAE;YAC5C,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,aAAA,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAM,IAAI,GAAwB,IAAI,KAAK,QAAQ;QACjD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;IAEzD,OAAO,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,WAAW,aAAA,EAAE,CAAC;AACvD,CAAC;AAED,IAAM,KAAK,GAAG,UAAC,CAAe,EAAE,CAAe,IAAmB,OAAA,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAvC,CAAuC,CAAA;AACzG,IAAM,KAAK,GAAG,UAAC,CAAe,EAAE,CAAS,IAAmB,OAAA,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAA9B,CAA8B,CAAA;AAC1F,IAAM,KAAK,GAAG,UAAC,CAAe,IAAa,OAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAA5B,CAA4B,CAAA;AACvE,IAAM,OAAO,GAAG,UAAC,CAAe,EAAE,CAAe;IAC/C,OAAA,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAAjF,CAAiF,CAAA;AACnF,IAAM,MAAM,GAAG,UAAC,CAAe;IAC7B,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/E,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAkB;;IACxD,IAAM,MAAM,GAAa,EAAE,CAAA;;QAC3B,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA,gBAAA,4BAAE,CAAC;YAApC,IAAM,KAAK,WAAA;YACd,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;gBAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAK;YAChC,CAAC;QACH,CAAC;;;;;;;;;IACD,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,IAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACrB,OAAO,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACvE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAkC,EAClC,EAAU,EACV,EAAU,EACV,OAAe;IAEf,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IACnF,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAClC,IAAM,GAAG,GAAmB,EAAE,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;QACtC,GAAG,CAAC,IAAI,CACN,KAAK,CACH,MAAM,CAAC,MAAM,EACb,KAAK,CACH,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACpC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1B,CACF,CACF,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAA4B,EAC5B,QAAa;;IAAb,yBAAA,EAAA,aAAa;IAEb,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC3B,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACxB,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QACpB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACnD,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IACD,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAE5B,IAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,IAAM,UAAU,GAAG,UAAC,KAAmB,EAAE,KAAmB;QAC1D,IAAM,GAAG,GAAmB,EAAE,CAAA;QAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;YACnC,GAAG,CAAC,IAAI,CACN,KAAK,CACH,MAAM,CAAC,MAAM,EACb,KAAK,CACH,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACzC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1C,CACF,CACF,CAAA;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACnB,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;;QACnB,KAAkB,IAAA,KAAA,SAAA,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA,gBAAA,4BAAE,CAAC;YAA3B,IAAM,GAAG,WAAA;YACZ,IAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;YAC/C,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC/C,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAA;YACxE,IAAI,UAAU,GAAG,IAAI,EAAE,CAAC;gBACtB,IAAM,GAAG,GAAmB,EAAE,CAAA;gBAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;oBACnC,GAAG,CAAC,IAAI,CACN,KAAK,CACH,UAAU,EACV,KAAK,CACH,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACnC,CACF,CACF,CAAA;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;;;;;;;;;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
* Extract wireframe segments from a SAT text stream by matching common curve
|
|
7
7
|
* records. This is a fallback when SAB decoding is unavailable.
|
|
8
8
|
*
|
|
9
|
+
* Curve geometry is sampled in body space, then mapped through the shared body
|
|
10
|
+
* `transform` when one can be resolved.
|
|
11
|
+
*
|
|
9
12
|
* @param satText - Plain SAT/ASM text payload.
|
|
10
13
|
* @returns Flat `Float32Array` of line-segment endpoint pairs (`[x,y,z,x,y,z,...]`).
|
|
11
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbAcisSatWireframe.d.ts","sourceRoot":"","sources":["../../src/acis/AcDbAcisSatWireframe.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"AcDbAcisSatWireframe.d.ts","sourceRoot":"","sources":["../../src/acis/AcDbAcisSatWireframe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2LH;;;;;;;;;GASG;AACH,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA6BlF"}
|
|
@@ -13,7 +13,33 @@ var __values = (this && this.__values) || function(o) {
|
|
|
13
13
|
};
|
|
14
14
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
15
15
|
};
|
|
16
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
17
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
18
|
+
if (!m) return o;
|
|
19
|
+
var i = m.call(o), r, ar = [], e;
|
|
20
|
+
try {
|
|
21
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
22
|
+
}
|
|
23
|
+
catch (error) { e = { error: error }; }
|
|
24
|
+
finally {
|
|
25
|
+
try {
|
|
26
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
27
|
+
}
|
|
28
|
+
finally { if (e) throw e.error; }
|
|
29
|
+
}
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
33
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
34
|
+
if (ar || !(i in from)) {
|
|
35
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
36
|
+
ar[i] = from[i];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
40
|
+
};
|
|
16
41
|
import { acdbSampleAcisEllipseArc, } from './AcDbAcisGeometry';
|
|
42
|
+
import { acdbAcisIdentityTransform, acdbAcisTransformSegments, acdbAcisTransformsEqual, } from './AcDbAcisTransform';
|
|
17
43
|
var DEFAULT_ELLIPSE_SAMPLES = 16;
|
|
18
44
|
/**
|
|
19
45
|
* Reads numeric tokens from one SAT record, skipping pointers and sentinel tokens.
|
|
@@ -63,6 +89,127 @@ function splitSatRecords(satText) {
|
|
|
63
89
|
.map(function (record) { return record.trim(); })
|
|
64
90
|
.filter(function (record) { return record.length > 0; });
|
|
65
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Indexes SAT entity records by pointer index.
|
|
94
|
+
*
|
|
95
|
+
* Uses an explicit `-N` sequence number when present; otherwise falls back to
|
|
96
|
+
* appearance order (ACIS files without sequence numbers).
|
|
97
|
+
*
|
|
98
|
+
* @param records - `#`-split SAT entity records.
|
|
99
|
+
*/
|
|
100
|
+
function indexSatRecords(records) {
|
|
101
|
+
var byIndex = [];
|
|
102
|
+
records.forEach(function (record, appearanceIndex) {
|
|
103
|
+
var match = /^-(\d+)\b/.exec(record);
|
|
104
|
+
var index = match ? Number(match[1]) : appearanceIndex;
|
|
105
|
+
byIndex[index] = record;
|
|
106
|
+
});
|
|
107
|
+
return byIndex;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Parses a SAT `transform` record into an affine transform.
|
|
111
|
+
*
|
|
112
|
+
* Layout after pointers: three axis vectors (9 doubles), translation (3),
|
|
113
|
+
* then uniform scale.
|
|
114
|
+
*
|
|
115
|
+
* @param record - One SAT entity record.
|
|
116
|
+
*/
|
|
117
|
+
function parseSatTransform(record) {
|
|
118
|
+
if (!/(?:^|\s)transform\b/.test(record))
|
|
119
|
+
return null;
|
|
120
|
+
var values = readSatNumericTokens(record);
|
|
121
|
+
if (values.length < 13)
|
|
122
|
+
return null;
|
|
123
|
+
return {
|
|
124
|
+
xAxis: [values[0], values[1], values[2]],
|
|
125
|
+
yAxis: [values[3], values[4], values[5]],
|
|
126
|
+
zAxis: [values[6], values[7], values[8]],
|
|
127
|
+
translation: [values[9], values[10], values[11]],
|
|
128
|
+
scale: values[12],
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Resolves the shared body-to-model transform from SAT text.
|
|
133
|
+
*
|
|
134
|
+
* Returns identity when bodies disagree (per-curve ownership is not available
|
|
135
|
+
* in this best-effort text path). When no body references a transform but
|
|
136
|
+
* exactly one transform record exists, that transform is used.
|
|
137
|
+
*
|
|
138
|
+
* @param satText - Plain SAT/ASM text payload.
|
|
139
|
+
*/
|
|
140
|
+
function satModelSpaceTransform(satText) {
|
|
141
|
+
var e_2, _a, e_3, _b, e_4, _c;
|
|
142
|
+
var identity = acdbAcisIdentityTransform();
|
|
143
|
+
var byIndex = indexSatRecords(splitSatRecords(satText));
|
|
144
|
+
var bodyTransforms = [];
|
|
145
|
+
try {
|
|
146
|
+
for (var byIndex_1 = __values(byIndex), byIndex_1_1 = byIndex_1.next(); !byIndex_1_1.done; byIndex_1_1 = byIndex_1.next()) {
|
|
147
|
+
var record = byIndex_1_1.value;
|
|
148
|
+
if (record == null || !/(?:^|\s)body\b/.test(record))
|
|
149
|
+
continue;
|
|
150
|
+
var pointers = __spreadArray([], __read(record.matchAll(/\$(-?\d+)/g)), false).map(function (match) {
|
|
151
|
+
return Number(match[1]);
|
|
152
|
+
});
|
|
153
|
+
try {
|
|
154
|
+
for (var pointers_1 = (e_3 = void 0, __values(pointers)), pointers_1_1 = pointers_1.next(); !pointers_1_1.done; pointers_1_1 = pointers_1.next()) {
|
|
155
|
+
var pointer = pointers_1_1.value;
|
|
156
|
+
if (pointer < 0)
|
|
157
|
+
continue;
|
|
158
|
+
var target = byIndex[pointer];
|
|
159
|
+
if (target == null)
|
|
160
|
+
continue;
|
|
161
|
+
var transform = parseSatTransform(target);
|
|
162
|
+
if (transform != null) {
|
|
163
|
+
bodyTransforms.push(transform);
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
169
|
+
finally {
|
|
170
|
+
try {
|
|
171
|
+
if (pointers_1_1 && !pointers_1_1.done && (_b = pointers_1.return)) _b.call(pointers_1);
|
|
172
|
+
}
|
|
173
|
+
finally { if (e_3) throw e_3.error; }
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
178
|
+
finally {
|
|
179
|
+
try {
|
|
180
|
+
if (byIndex_1_1 && !byIndex_1_1.done && (_a = byIndex_1.return)) _a.call(byIndex_1);
|
|
181
|
+
}
|
|
182
|
+
finally { if (e_2) throw e_2.error; }
|
|
183
|
+
}
|
|
184
|
+
if (bodyTransforms.length === 0) {
|
|
185
|
+
var transforms = [];
|
|
186
|
+
try {
|
|
187
|
+
for (var byIndex_2 = __values(byIndex), byIndex_2_1 = byIndex_2.next(); !byIndex_2_1.done; byIndex_2_1 = byIndex_2.next()) {
|
|
188
|
+
var record = byIndex_2_1.value;
|
|
189
|
+
if (record == null)
|
|
190
|
+
continue;
|
|
191
|
+
var transform = parseSatTransform(record);
|
|
192
|
+
if (transform != null)
|
|
193
|
+
transforms.push(transform);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
197
|
+
finally {
|
|
198
|
+
try {
|
|
199
|
+
if (byIndex_2_1 && !byIndex_2_1.done && (_c = byIndex_2.return)) _c.call(byIndex_2);
|
|
200
|
+
}
|
|
201
|
+
finally { if (e_4) throw e_4.error; }
|
|
202
|
+
}
|
|
203
|
+
return transforms.length === 1 ? transforms[0] : identity;
|
|
204
|
+
}
|
|
205
|
+
var first = bodyTransforms[0];
|
|
206
|
+
for (var i = 1; i < bodyTransforms.length; i++) {
|
|
207
|
+
if (!acdbAcisTransformsEqual(bodyTransforms[i], first)) {
|
|
208
|
+
return identity;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return first;
|
|
212
|
+
}
|
|
66
213
|
/** Parses a `straight-curve` SAT record into start/end segment endpoints. */
|
|
67
214
|
function parseStraightCurve(record) {
|
|
68
215
|
if (!record.includes('straight-curve')) {
|
|
@@ -104,11 +251,14 @@ function parseEllipseCurve(record) {
|
|
|
104
251
|
* Extract wireframe segments from a SAT text stream by matching common curve
|
|
105
252
|
* records. This is a fallback when SAB decoding is unavailable.
|
|
106
253
|
*
|
|
254
|
+
* Curve geometry is sampled in body space, then mapped through the shared body
|
|
255
|
+
* `transform` when one can be resolved.
|
|
256
|
+
*
|
|
107
257
|
* @param satText - Plain SAT/ASM text payload.
|
|
108
258
|
* @returns Flat `Float32Array` of line-segment endpoint pairs (`[x,y,z,x,y,z,...]`).
|
|
109
259
|
*/
|
|
110
260
|
export function acdbAcisWireframeSegmentsFromSatText(satText) {
|
|
111
|
-
var
|
|
261
|
+
var e_5, _a;
|
|
112
262
|
var segments = [];
|
|
113
263
|
if (!satText || satText.trim().length === 0) {
|
|
114
264
|
return new Float32Array(0);
|
|
@@ -130,13 +280,16 @@ export function acdbAcisWireframeSegmentsFromSatText(satText) {
|
|
|
130
280
|
}
|
|
131
281
|
}
|
|
132
282
|
}
|
|
133
|
-
catch (
|
|
283
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
134
284
|
finally {
|
|
135
285
|
try {
|
|
136
286
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
137
287
|
}
|
|
138
|
-
finally { if (
|
|
288
|
+
finally { if (e_5) throw e_5.error; }
|
|
289
|
+
}
|
|
290
|
+
if (segments.length === 0) {
|
|
291
|
+
return new Float32Array(0);
|
|
139
292
|
}
|
|
140
|
-
return new Float32Array(segments);
|
|
293
|
+
return acdbAcisTransformSegments(new Float32Array(segments), satModelSpaceTransform(satText));
|
|
141
294
|
}
|
|
142
295
|
//# sourceMappingURL=AcDbAcisSatWireframe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcDbAcisSatWireframe.js","sourceRoot":"","sources":["../../src/acis/AcDbAcisSatWireframe.ts"],"names":[],"mappings":"AAAA;;;GAGG
|
|
1
|
+
{"version":3,"file":"AcDbAcisSatWireframe.js","sourceRoot":"","sources":["../../src/acis/AcDbAcisSatWireframe.ts"],"names":[],"mappings":"AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAGL,wBAAwB,GACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAEL,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAE5B,IAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,MAAc,EAAE,gBAAuB;;IAAvB,iCAAA,EAAA,uBAAuB;IACnE,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACjC,IAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,YAAY,GAAG,CAAC,gBAAgB,CAAA;;QACpC,KAAmB,IAAA,UAAA,SAAA,KAAK,CAAA,4BAAA,+CAAE,CAAC;YAAtB,IAAM,IAAI,kBAAA;YACb,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,YAAY,GAAG,IAAI,CAAA;gBACnB,SAAQ;YACV,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACzE,SAAQ;YACV,CAAC;YACD,IAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;;;;;;;;;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,wEAAwE;AACxE,SAAS,WAAW,CAClB,QAAkB,EAClB,CAAe,EACf,CAAe;IAEf,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC;AAED,oEAAoE;AACpE,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,IAAI,EAAE,EAAb,CAAa,CAAC;SAC5B,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,MAAM,GAAG,CAAC,EAAjB,CAAiB,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,OAA0B;IACjD,IAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,eAAe;QACtC,IAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtC,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAA;QACxD,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;IACzB,CAAC,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,MAAc;IACvC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IACpD,IAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAA;IACnC,OAAO;QACL,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;QAC3C,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;QAC3C,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;QAC3C,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,EAAE,CAAE,EAAE,MAAM,CAAC,EAAE,CAAE,CAAC;QACnD,KAAK,EAAE,MAAM,CAAC,EAAE,CAAE;KACnB,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,sBAAsB,CAAC,OAAe;;IAC7C,IAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAA;IAC5C,IAAM,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;IACzD,IAAM,cAAc,GAA8B,EAAE,CAAA;;QAEpD,KAAqB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE,CAAC;YAA1B,IAAM,MAAM,oBAAA;YACf,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,SAAQ;YAC9D,IAAM,QAAQ,GAAG,yBAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAE,GAAG,CAAC,UAAA,KAAK;gBAC3D,OAAA,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAhB,CAAgB,CACjB,CAAA;;gBACD,KAAsB,IAAA,4BAAA,SAAA,QAAQ,CAAA,CAAA,kCAAA,wDAAE,CAAC;oBAA5B,IAAM,OAAO,qBAAA;oBAChB,IAAI,OAAO,GAAG,CAAC;wBAAE,SAAQ;oBACzB,IAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;oBAC/B,IAAI,MAAM,IAAI,IAAI;wBAAE,SAAQ;oBAC5B,IAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;oBAC3C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wBACtB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBAC9B,MAAK;oBACP,CAAC;gBACH,CAAC;;;;;;;;;QACH,CAAC;;;;;;;;;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,IAAM,UAAU,GAA8B,EAAE,CAAA;;YAChD,KAAqB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE,CAAC;gBAA1B,IAAM,MAAM,oBAAA;gBACf,IAAI,MAAM,IAAI,IAAI;oBAAE,SAAQ;gBAC5B,IAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAC3C,IAAI,SAAS,IAAI,IAAI;oBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnD,CAAC;;;;;;;;;QACD,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC5D,CAAC;IAED,IAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAE,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,6EAA6E;AAC7E,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;IACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;IACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;IACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;IACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;IACrB,IAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;IACrB,OAAO;QACL,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACZ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;KAC5B,CAAA;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,MAAc;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;QAC5C,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;QAC/C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE;KAClB,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oCAAoC,CAAC,OAAe;;IAClE,IAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;;QAED,KAAqB,IAAA,KAAA,SAAA,eAAe,CAAC,OAAO,CAAC,CAAA,gBAAA,4BAAE,CAAC;YAA3C,IAAM,MAAM,WAAA;YACf,IAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAC3C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/C,SAAQ;YACV,CAAC;YAED,IAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;YACzC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,IAAM,GAAG,GAAG,wBAAwB,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAA;gBACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;;;;;;;;;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,yBAAyB,CAC9B,IAAI,YAAY,CAAC,QAAQ,CAAC,EAC1B,sBAAsB,CAAC,OAAO,CAAC,CAChC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
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
|
+
import type { AcDbAcisModel, AcDbAcisNode } from './AcDbAcisEntities';
|
|
10
|
+
import type { AcDbAcisSabVector } from './AcDbAcisSab';
|
|
11
|
+
/** Affine transform carried by an ACIS `transform` entity. */
|
|
12
|
+
export interface AcDbAcisAffineTransform {
|
|
13
|
+
/** Image of the unit X axis. */
|
|
14
|
+
readonly xAxis: AcDbAcisSabVector;
|
|
15
|
+
/** Image of the unit Y axis. */
|
|
16
|
+
readonly yAxis: AcDbAcisSabVector;
|
|
17
|
+
/** Image of the unit Z axis. */
|
|
18
|
+
readonly zAxis: AcDbAcisSabVector;
|
|
19
|
+
/** Translation applied after rotation/scale. */
|
|
20
|
+
readonly translation: AcDbAcisSabVector;
|
|
21
|
+
/** Uniform scale factor. */
|
|
22
|
+
readonly scale: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Returns the identity body transform.
|
|
26
|
+
*/
|
|
27
|
+
export declare function acdbAcisIdentityTransform(): AcDbAcisAffineTransform;
|
|
28
|
+
/**
|
|
29
|
+
* Returns true when two affine transforms are numerically equal.
|
|
30
|
+
*
|
|
31
|
+
* @param a - First transform.
|
|
32
|
+
* @param b - Second transform.
|
|
33
|
+
*/
|
|
34
|
+
export declare function acdbAcisTransformsEqual(a: AcDbAcisAffineTransform, b: AcDbAcisAffineTransform): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Parses an ACIS `transform` node into an affine transform.
|
|
37
|
+
*
|
|
38
|
+
* SAB layout (after entity-type / pointers): three axis direction vectors,
|
|
39
|
+
* one translation vector, then a scale double. Returns `null` when the record
|
|
40
|
+
* does not carry four vectors.
|
|
41
|
+
*
|
|
42
|
+
* @param node - Resolved `transform` entity node.
|
|
43
|
+
*/
|
|
44
|
+
export declare function acdbAcisParseTransform(node: AcDbAcisNode): AcDbAcisAffineTransform | null;
|
|
45
|
+
/**
|
|
46
|
+
* Returns the affine transform referenced by a `body` node, or identity when
|
|
47
|
+
* the body has no resolvable `transform`.
|
|
48
|
+
*
|
|
49
|
+
* @param body - Resolved `body` entity node.
|
|
50
|
+
*/
|
|
51
|
+
export declare function acdbAcisTransformFromBody(body: AcDbAcisNode): AcDbAcisAffineTransform;
|
|
52
|
+
/**
|
|
53
|
+
* Returns true when `transform` is (numerically) the identity.
|
|
54
|
+
*
|
|
55
|
+
* @param transform - Affine transform to test.
|
|
56
|
+
*/
|
|
57
|
+
export declare function acdbAcisTransformIsIdentity(transform: AcDbAcisAffineTransform): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Transforms a point: `scale * (x*px + y*py + z*pz) + translation`.
|
|
60
|
+
*
|
|
61
|
+
* @param point - Body-space point.
|
|
62
|
+
* @param transform - Body transform.
|
|
63
|
+
*/
|
|
64
|
+
export declare function acdbAcisTransformPoint(point: AcDbAcisSabVector, transform: AcDbAcisAffineTransform): AcDbAcisSabVector;
|
|
65
|
+
/**
|
|
66
|
+
* Transforms a direction / free vector (rotation + scale, no translation).
|
|
67
|
+
*
|
|
68
|
+
* @param direction - Body-space direction.
|
|
69
|
+
* @param transform - Body transform.
|
|
70
|
+
*/
|
|
71
|
+
export declare function acdbAcisTransformDirection(direction: AcDbAcisSabVector, transform: AcDbAcisAffineTransform): AcDbAcisSabVector;
|
|
72
|
+
/**
|
|
73
|
+
* Walks each body DAG and records the owning body's transform per node index.
|
|
74
|
+
*
|
|
75
|
+
* Attribute entities are skipped so owner back-pointers cannot cross bodies.
|
|
76
|
+
* Shared nodes keep the first body's transform.
|
|
77
|
+
*
|
|
78
|
+
* @param model - Resolved ACIS model graph.
|
|
79
|
+
*/
|
|
80
|
+
export declare function acdbAcisBuildNodeTransforms(model: AcDbAcisModel): ReadonlyMap<number, AcDbAcisAffineTransform>;
|
|
81
|
+
/**
|
|
82
|
+
* Picks a single body transform shared by every body in the model.
|
|
83
|
+
*
|
|
84
|
+
* Returns identity when there is no body, or when bodies disagree on
|
|
85
|
+
* transform (callers that need per-body mapping should use
|
|
86
|
+
* {@link acdbAcisBuildNodeTransforms}).
|
|
87
|
+
*
|
|
88
|
+
* @param model - Resolved ACIS model graph.
|
|
89
|
+
*/
|
|
90
|
+
export declare function acdbAcisModelSpaceTransform(model: AcDbAcisModel): AcDbAcisAffineTransform;
|
|
91
|
+
/**
|
|
92
|
+
* Applies an affine transform to a flat wireframe segment buffer in place
|
|
93
|
+
* style (returns a new buffer).
|
|
94
|
+
*
|
|
95
|
+
* @param segments - `[x,y,z,x,y,z,...]` endpoint pairs.
|
|
96
|
+
* @param transform - Transform to apply to every endpoint.
|
|
97
|
+
*/
|
|
98
|
+
export declare function acdbAcisTransformSegments(segments: Float32Array, transform: AcDbAcisAffineTransform): Float32Array;
|
|
99
|
+
//# sourceMappingURL=AcDbAcisTransform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbAcisTransform.d.ts","sourceRoot":"","sources":["../../src/acis/AcDbAcisTransform.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGtD,8DAA8D;AAC9D,MAAM,WAAW,uBAAuB;IACtC,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,gCAAgC;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,gDAAgD;IAChD,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAA;IACvC,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAsBD;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,uBAAuB,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,uBAAuB,EAC1B,CAAC,EAAE,uBAAuB,GACzB,OAAO,CAQT;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,GACjB,uBAAuB,GAAG,IAAI,CAwBhC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,YAAY,GACjB,uBAAuB,CAIzB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,uBAAuB,GACjC,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,uBAAuB,GACjC,iBAAiB,CASnB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,uBAAuB,GACjC,iBAAiB,CASnB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,GACnB,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAuB9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,GACnB,uBAAuB,CAUzB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,uBAAuB,GACjC,YAAY,CAed"}
|