@mlightcad/data-model 1.7.29 → 1.7.30
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 +7 -4
- package/dist/data-model.js +15348 -9163
- package/lib/misc/index.d.ts +1 -0
- package/lib/misc/index.d.ts.map +1 -1
- package/lib/misc/index.js +1 -0
- package/lib/misc/index.js.map +1 -1
- package/lib/misc/pat/AcDbPatDefinition.d.ts +148 -0
- package/lib/misc/pat/AcDbPatDefinition.d.ts.map +1 -0
- package/lib/misc/pat/AcDbPatDefinition.js +2 -0
- package/lib/misc/pat/AcDbPatDefinition.js.map +1 -0
- package/lib/misc/pat/AcDbPatParser.d.ts +93 -0
- package/lib/misc/pat/AcDbPatParser.d.ts.map +1 -0
- package/lib/misc/pat/AcDbPatParser.js +245 -0
- package/lib/misc/pat/AcDbPatParser.js.map +1 -0
- package/lib/misc/pat/AcDbPatPredefined.d.ts +10 -0
- package/lib/misc/pat/AcDbPatPredefined.d.ts.map +1 -0
- package/lib/misc/pat/AcDbPatPredefined.js +5960 -0
- package/lib/misc/pat/AcDbPatPredefined.js.map +1 -0
- package/lib/misc/pat/AcDbPatSvgRenderer.d.ts +91 -0
- package/lib/misc/pat/AcDbPatSvgRenderer.d.ts.map +1 -0
- package/lib/misc/pat/AcDbPatSvgRenderer.js +287 -0
- package/lib/misc/pat/AcDbPatSvgRenderer.js.map +1 -0
- package/lib/misc/pat/index.d.ts +5 -0
- package/lib/misc/pat/index.d.ts.map +1 -0
- package/lib/misc/pat/index.js +5 -0
- package/lib/misc/pat/index.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __values = (this && this.__values) || function(o) {
|
|
13
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
14
|
+
if (m) return m.call(o);
|
|
15
|
+
if (o && typeof o.length === "number") return {
|
|
16
|
+
next: function () {
|
|
17
|
+
if (o && i >= o.length) o = void 0;
|
|
18
|
+
return { value: o && o[i++], done: !o };
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Renders an {@link AcDbPatPattern} into a standalone SVG preview string.
|
|
25
|
+
*
|
|
26
|
+
* The renderer normalizes pattern units to pixels, expands each hatch line
|
|
27
|
+
* family to cover the viewport, resolves dash/gap sequences into explicit
|
|
28
|
+
* segments, and emits a compact `<svg>` document.
|
|
29
|
+
*/
|
|
30
|
+
var AcDbPatSvgRenderer = /** @class */ (function () {
|
|
31
|
+
function AcDbPatSvgRenderer() {
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Converts an angle from degrees to radians.
|
|
35
|
+
*
|
|
36
|
+
* @param degrees - Angle in degrees.
|
|
37
|
+
* @returns The same angle expressed in radians.
|
|
38
|
+
*/
|
|
39
|
+
AcDbPatSvgRenderer.toRadians = function (degrees) {
|
|
40
|
+
return (degrees * Math.PI) / 180;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Clamps a value into an inclusive range.
|
|
44
|
+
*
|
|
45
|
+
* @param value - Source value.
|
|
46
|
+
* @param min - Lower bound (inclusive).
|
|
47
|
+
* @param max - Upper bound (inclusive).
|
|
48
|
+
* @returns `value` projected into `[min, max]`.
|
|
49
|
+
*/
|
|
50
|
+
AcDbPatSvgRenderer.clamp = function (value, min, max) {
|
|
51
|
+
return Math.min(max, Math.max(min, value));
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Estimates a representative unit length for the pattern.
|
|
55
|
+
*
|
|
56
|
+
* The current strategy samples delta vectors and dash lengths, removes
|
|
57
|
+
* near-zero values, and uses the median as a robust scale anchor.
|
|
58
|
+
*
|
|
59
|
+
* @param pattern - Pattern whose geometric magnitudes are sampled.
|
|
60
|
+
* @returns Estimated pattern unit size. Falls back to `1` if no usable
|
|
61
|
+
* samples exist.
|
|
62
|
+
*/
|
|
63
|
+
AcDbPatSvgRenderer.estimateUnitScale = function (pattern) {
|
|
64
|
+
var e_1, _a, e_2, _b;
|
|
65
|
+
var samples = [];
|
|
66
|
+
try {
|
|
67
|
+
for (var _c = __values(pattern.lines), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
68
|
+
var line = _d.value;
|
|
69
|
+
samples.push(Math.abs(line.deltaX), Math.abs(line.deltaY));
|
|
70
|
+
try {
|
|
71
|
+
for (var _e = (e_2 = void 0, __values(line.dashes)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
72
|
+
var dash = _f.value;
|
|
73
|
+
samples.push(Math.abs(dash));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
77
|
+
finally {
|
|
78
|
+
try {
|
|
79
|
+
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
80
|
+
}
|
|
81
|
+
finally { if (e_2) throw e_2.error; }
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
86
|
+
finally {
|
|
87
|
+
try {
|
|
88
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
89
|
+
}
|
|
90
|
+
finally { if (e_1) throw e_1.error; }
|
|
91
|
+
}
|
|
92
|
+
var filtered = samples.filter(function (sample) { return sample > AcDbPatSvgRenderer.EPSILON; });
|
|
93
|
+
if (filtered.length === 0)
|
|
94
|
+
return 1;
|
|
95
|
+
var sorted = filtered.sort(function (a, b) { return a - b; });
|
|
96
|
+
return sorted[Math.floor(sorted.length / 2)] || 1;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Converts a geometric segment into a single SVG `M ... L ...` path command.
|
|
100
|
+
*
|
|
101
|
+
* SVG Y coordinates are inverted to match the pattern coordinate convention.
|
|
102
|
+
*
|
|
103
|
+
* @param segment - Segment to serialize.
|
|
104
|
+
* @returns SVG path fragment for the segment.
|
|
105
|
+
*/
|
|
106
|
+
AcDbPatSvgRenderer.segmentToSvgPath = function (segment) {
|
|
107
|
+
return "M ".concat(segment.x1.toFixed(2), " ").concat((-segment.y1).toFixed(2), " L ").concat(segment.x2.toFixed(2), " ").concat((-segment.y2).toFixed(2));
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Expands a hatch line and its dash definition into concrete drawable
|
|
111
|
+
* segments within a finite interval.
|
|
112
|
+
*
|
|
113
|
+
* Dash rule:
|
|
114
|
+
* - `> 0`: drawn segment
|
|
115
|
+
* - `< 0`: gap
|
|
116
|
+
* - `= 0`: dot (rendered as a very short segment for visibility)
|
|
117
|
+
*
|
|
118
|
+
* @param line - Hatch line definition containing dash sequence.
|
|
119
|
+
* @param startAlong - Interval start on the line direction axis.
|
|
120
|
+
* @param endAlong - Interval end on the line direction axis.
|
|
121
|
+
* @param originX - Line family origin X coordinate.
|
|
122
|
+
* @param originY - Line family origin Y coordinate.
|
|
123
|
+
* @param dirX - Unit direction vector X component.
|
|
124
|
+
* @param dirY - Unit direction vector Y component.
|
|
125
|
+
* @returns Drawable segments clipped to `[startAlong, endAlong]`.
|
|
126
|
+
*/
|
|
127
|
+
AcDbPatSvgRenderer.buildDashSegments = function (line, startAlong, endAlong, originX, originY, dirX, dirY) {
|
|
128
|
+
var e_3, _a;
|
|
129
|
+
var dashes = line.dashes;
|
|
130
|
+
if (dashes.length === 0) {
|
|
131
|
+
return [
|
|
132
|
+
{
|
|
133
|
+
x1: originX + dirX * startAlong,
|
|
134
|
+
y1: originY + dirY * startAlong,
|
|
135
|
+
x2: originX + dirX * endAlong,
|
|
136
|
+
y2: originY + dirY * endAlong
|
|
137
|
+
}
|
|
138
|
+
];
|
|
139
|
+
}
|
|
140
|
+
var totalPatternLength = dashes.reduce(function (sum, value) { return sum + Math.abs(value); }, 0);
|
|
141
|
+
if (totalPatternLength <= AcDbPatSvgRenderer.EPSILON) {
|
|
142
|
+
return [
|
|
143
|
+
{
|
|
144
|
+
x1: originX + dirX * startAlong,
|
|
145
|
+
y1: originY + dirY * startAlong,
|
|
146
|
+
x2: originX + dirX * endAlong,
|
|
147
|
+
y2: originY + dirY * endAlong
|
|
148
|
+
}
|
|
149
|
+
];
|
|
150
|
+
}
|
|
151
|
+
var segments = [];
|
|
152
|
+
var tileCount = Math.ceil((endAlong - startAlong) / totalPatternLength) + 2;
|
|
153
|
+
var tileStart = startAlong - totalPatternLength;
|
|
154
|
+
for (var tileIndex = 0; tileIndex < tileCount; tileIndex++) {
|
|
155
|
+
var cursor = tileStart;
|
|
156
|
+
try {
|
|
157
|
+
for (var dashes_1 = (e_3 = void 0, __values(dashes)), dashes_1_1 = dashes_1.next(); !dashes_1_1.done; dashes_1_1 = dashes_1.next()) {
|
|
158
|
+
var dashValue = dashes_1_1.value;
|
|
159
|
+
var length_1 = Math.abs(dashValue);
|
|
160
|
+
var nextCursor = cursor + length_1;
|
|
161
|
+
if (dashValue > 0 || dashValue === 0) {
|
|
162
|
+
var drawStart = AcDbPatSvgRenderer.clamp(cursor, startAlong, endAlong);
|
|
163
|
+
var drawEnd = AcDbPatSvgRenderer.clamp(nextCursor, startAlong, endAlong);
|
|
164
|
+
if (drawEnd > drawStart) {
|
|
165
|
+
segments.push({
|
|
166
|
+
x1: originX + dirX * drawStart,
|
|
167
|
+
y1: originY + dirY * drawStart,
|
|
168
|
+
x2: originX + dirX * drawEnd,
|
|
169
|
+
y2: originY + dirY * drawEnd
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
else if (dashValue === 0 &&
|
|
173
|
+
drawStart >= startAlong &&
|
|
174
|
+
drawStart <= endAlong) {
|
|
175
|
+
var dotHalf = 0.35;
|
|
176
|
+
segments.push({
|
|
177
|
+
x1: originX + dirX * (drawStart - dotHalf),
|
|
178
|
+
y1: originY + dirY * (drawStart - dotHalf),
|
|
179
|
+
x2: originX + dirX * (drawStart + dotHalf),
|
|
180
|
+
y2: originY + dirY * (drawStart + dotHalf)
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
cursor = nextCursor;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
188
|
+
finally {
|
|
189
|
+
try {
|
|
190
|
+
if (dashes_1_1 && !dashes_1_1.done && (_a = dashes_1.return)) _a.call(dashes_1);
|
|
191
|
+
}
|
|
192
|
+
finally { if (e_3) throw e_3.error; }
|
|
193
|
+
}
|
|
194
|
+
tileStart += totalPatternLength;
|
|
195
|
+
}
|
|
196
|
+
return segments;
|
|
197
|
+
};
|
|
198
|
+
/**
|
|
199
|
+
* Renders one hatch line family (parallel repetitions of the same line rule)
|
|
200
|
+
* into a single SVG `<path>` element.
|
|
201
|
+
*
|
|
202
|
+
* @param line - Hatch line rule to expand.
|
|
203
|
+
* @param maxRadius - Coverage radius used to decide repetition count and
|
|
204
|
+
* drawable extent.
|
|
205
|
+
* @returns SVG `<path>` markup containing all generated segments.
|
|
206
|
+
*/
|
|
207
|
+
AcDbPatSvgRenderer.renderFamily = function (line, maxRadius) {
|
|
208
|
+
var e_4, _a;
|
|
209
|
+
var angle = AcDbPatSvgRenderer.toRadians(line.angle);
|
|
210
|
+
var dirX = Math.cos(angle);
|
|
211
|
+
var dirY = Math.sin(angle);
|
|
212
|
+
var normalX = -dirY;
|
|
213
|
+
var normalY = dirX;
|
|
214
|
+
var offsetX = dirX * line.deltaX + normalX * line.deltaY;
|
|
215
|
+
var offsetY = dirY * line.deltaX + normalY * line.deltaY;
|
|
216
|
+
var offsetLength = Math.hypot(offsetX, offsetY);
|
|
217
|
+
var familyCount = offsetLength <= AcDbPatSvgRenderer.EPSILON
|
|
218
|
+
? 1
|
|
219
|
+
: Math.max(1, Math.ceil((maxRadius * 2) / offsetLength) + 1);
|
|
220
|
+
var half = Math.floor(familyCount / 2);
|
|
221
|
+
var minAlong = -maxRadius * 1.5;
|
|
222
|
+
var maxAlong = maxRadius * 1.5;
|
|
223
|
+
var paths = [];
|
|
224
|
+
for (var index = -half; index <= half; index++) {
|
|
225
|
+
var familyOriginX = line.originX + offsetX * index;
|
|
226
|
+
var familyOriginY = line.originY + offsetY * index;
|
|
227
|
+
var segments = AcDbPatSvgRenderer.buildDashSegments(line, minAlong, maxAlong, familyOriginX, familyOriginY, dirX, dirY);
|
|
228
|
+
try {
|
|
229
|
+
for (var segments_1 = (e_4 = void 0, __values(segments)), segments_1_1 = segments_1.next(); !segments_1_1.done; segments_1_1 = segments_1.next()) {
|
|
230
|
+
var segment = segments_1_1.value;
|
|
231
|
+
paths.push(AcDbPatSvgRenderer.segmentToSvgPath(segment));
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
235
|
+
finally {
|
|
236
|
+
try {
|
|
237
|
+
if (segments_1_1 && !segments_1_1.done && (_a = segments_1.return)) _a.call(segments_1);
|
|
238
|
+
}
|
|
239
|
+
finally { if (e_4) throw e_4.error; }
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return "<path d=\"".concat(paths.join(' '), "\" fill=\"none\" />");
|
|
243
|
+
};
|
|
244
|
+
/**
|
|
245
|
+
* Renders a PAT pattern preview as a complete SVG document string.
|
|
246
|
+
*
|
|
247
|
+
* The method applies option defaults, computes an automatic unit-to-pixel
|
|
248
|
+
* scale, transforms the pattern to screen space, and combines all line
|
|
249
|
+
* families into one grouped stroke layer over a background rectangle.
|
|
250
|
+
*
|
|
251
|
+
* @param pattern - Pattern definition to render.
|
|
252
|
+
* @param options - Optional preview style and size settings.
|
|
253
|
+
* @returns Standalone SVG markup that can be injected directly into DOM or
|
|
254
|
+
* saved as a `.svg` asset.
|
|
255
|
+
*/
|
|
256
|
+
AcDbPatSvgRenderer.prototype.renderPattern = function (pattern, options) {
|
|
257
|
+
var _a, _b, _c, _d, _e;
|
|
258
|
+
if (options === void 0) { options = {}; }
|
|
259
|
+
var width = (_a = options.width) !== null && _a !== void 0 ? _a : 260;
|
|
260
|
+
var height = (_b = options.height) !== null && _b !== void 0 ? _b : 160;
|
|
261
|
+
var stroke = (_c = options.stroke) !== null && _c !== void 0 ? _c : '#1f2937';
|
|
262
|
+
var strokeWidth = (_d = options.strokeWidth) !== null && _d !== void 0 ? _d : 1.3;
|
|
263
|
+
var background = (_e = options.background) !== null && _e !== void 0 ? _e : '#ffffff';
|
|
264
|
+
var scaleUnit = AcDbPatSvgRenderer.estimateUnitScale(pattern);
|
|
265
|
+
var baseScale = Math.min(width, height) * 0.18;
|
|
266
|
+
var unitToPixel = baseScale / Math.max(scaleUnit, AcDbPatSvgRenderer.EPSILON);
|
|
267
|
+
var scaledPattern = __assign(__assign({}, pattern), { lines: pattern.lines.map(function (line) { return (__assign(__assign({}, line), { originX: line.originX * unitToPixel, originY: line.originY * unitToPixel, deltaX: line.deltaX * unitToPixel, deltaY: line.deltaY * unitToPixel, dashes: line.dashes.map(function (dash) { return dash * unitToPixel; }) })); }) });
|
|
268
|
+
var maxRadius = Math.hypot(width, height) * 0.75;
|
|
269
|
+
var content = scaledPattern.lines
|
|
270
|
+
.map(function (line) { return AcDbPatSvgRenderer.renderFamily(line, maxRadius); })
|
|
271
|
+
.join('');
|
|
272
|
+
var viewBox = "".concat(-width / 2, " ").concat(-height / 2, " ").concat(width, " ").concat(height);
|
|
273
|
+
return [
|
|
274
|
+
"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"".concat(viewBox, "\" width=\"").concat(width, "\" height=\"").concat(height, "\">"),
|
|
275
|
+
"<rect x=\"".concat(-width / 2, "\" y=\"").concat(-height / 2, "\" width=\"").concat(width, "\" height=\"").concat(height, "\" fill=\"").concat(background, "\" />"),
|
|
276
|
+
"<g stroke=\"".concat(stroke, "\" stroke-width=\"").concat(strokeWidth.toFixed(2), "\" stroke-linecap=\"round\">"),
|
|
277
|
+
content,
|
|
278
|
+
'</g>',
|
|
279
|
+
'</svg>'
|
|
280
|
+
].join('');
|
|
281
|
+
};
|
|
282
|
+
/** Numerical tolerance used to avoid division-by-zero and near-zero noise. */
|
|
283
|
+
AcDbPatSvgRenderer.EPSILON = 1e-9;
|
|
284
|
+
return AcDbPatSvgRenderer;
|
|
285
|
+
}());
|
|
286
|
+
export { AcDbPatSvgRenderer };
|
|
287
|
+
//# sourceMappingURL=AcDbPatSvgRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcDbPatSvgRenderer.js","sourceRoot":"","sources":["../../../src/misc/pat/AcDbPatSvgRenderer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA;;;;;;GAMG;AACH;IAAA;IA6QA,CAAC;IAzQC;;;;;OAKG;IACY,4BAAS,GAAxB,UAAyB,OAAe;QACtC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;IAClC,CAAC;IAED;;;;;;;OAOG;IACY,wBAAK,GAApB,UAAqB,KAAa,EAAE,GAAW,EAAE,GAAW;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACY,oCAAiB,GAAhC,UAAiC,OAAuB;;QACtD,IAAM,OAAO,GAAa,EAAE,CAAA;;YAC5B,KAAmB,IAAA,KAAA,SAAA,OAAO,CAAC,KAAK,CAAA,gBAAA,4BAAE,CAAC;gBAA9B,IAAM,IAAI,WAAA;gBACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;;oBAC1D,KAAmB,IAAA,oBAAA,SAAA,IAAI,CAAC,MAAM,CAAA,CAAA,gBAAA,4BAAE,CAAC;wBAA5B,IAAM,IAAI,WAAA;wBACb,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC9B,CAAC;;;;;;;;;YACH,CAAC;;;;;;;;;QACD,IAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,UAAA,MAAM,IAAI,OAAA,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAnC,CAAmC,CAC9C,CAAA;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACnC,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;OAOG;IACY,mCAAgB,GAA/B,UAAgC,OAA0B;QACxD,OAAO,YAAK,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,cAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAM,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,cAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAA;IACxH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACY,oCAAiB,GAAhC,UACE,IAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,OAAe,EACf,IAAY,EACZ,IAAY;;QAEZ,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL;oBACE,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU;oBAC/B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU;oBAC/B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,QAAQ;oBAC7B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,QAAQ;iBAC9B;aACF,CAAA;QACH,CAAC;QAED,IAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CACtC,UAAC,GAAG,EAAE,KAAK,IAAK,OAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAArB,CAAqB,EACrC,CAAC,CACF,CAAA;QACD,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;YACrD,OAAO;gBACL;oBACE,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU;oBAC/B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU;oBAC/B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,QAAQ;oBAC7B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,QAAQ;iBAC9B;aACF,CAAA;QACH,CAAC;QAED,IAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,IAAM,SAAS,GACb,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAC7D,IAAI,SAAS,GAAG,UAAU,GAAG,kBAAkB,CAAA;QAE/C,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC;YAC3D,IAAI,MAAM,GAAG,SAAS,CAAA;;gBACtB,KAAwB,IAAA,0BAAA,SAAA,MAAM,CAAA,CAAA,8BAAA,kDAAE,CAAC;oBAA5B,IAAM,SAAS,mBAAA;oBAClB,IAAM,QAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;oBAClC,IAAM,UAAU,GAAG,MAAM,GAAG,QAAM,CAAA;oBAClC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;wBACrC,IAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CACxC,MAAM,EACN,UAAU,EACV,QAAQ,CACT,CAAA;wBACD,IAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CACtC,UAAU,EACV,UAAU,EACV,QAAQ,CACT,CAAA;wBACD,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;4BACxB,QAAQ,CAAC,IAAI,CAAC;gCACZ,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;gCAC9B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;gCAC9B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO;gCAC5B,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO;6BAC7B,CAAC,CAAA;wBACJ,CAAC;6BAAM,IACL,SAAS,KAAK,CAAC;4BACf,SAAS,IAAI,UAAU;4BACvB,SAAS,IAAI,QAAQ,EACrB,CAAC;4BACD,IAAM,OAAO,GAAG,IAAI,CAAA;4BACpB,QAAQ,CAAC,IAAI,CAAC;gCACZ,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;gCAC1C,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;gCAC1C,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;gCAC1C,EAAE,EAAE,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;6BAC3C,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;oBACD,MAAM,GAAG,UAAU,CAAA;gBACrB,CAAC;;;;;;;;;YACD,SAAS,IAAI,kBAAkB,CAAA;QACjC,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;;;;OAQG;IACY,+BAAY,GAA3B,UAA4B,IAAiB,EAAE,SAAiB;;QAC9D,IAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5B,IAAM,OAAO,GAAG,CAAC,IAAI,CAAA;QACrB,IAAM,OAAO,GAAG,IAAI,CAAA;QAEpB,IAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1D,IAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1D,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEjD,IAAM,WAAW,GACf,YAAY,IAAI,kBAAkB,CAAC,OAAO;YACxC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;QAChE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;QACxC,IAAM,QAAQ,GAAG,CAAC,SAAS,GAAG,GAAG,CAAA;QACjC,IAAM,QAAQ,GAAG,SAAS,GAAG,GAAG,CAAA;QAChC,IAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC/C,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,KAAK,CAAA;YACpD,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,KAAK,CAAA;YACpD,IAAM,QAAQ,GAAG,kBAAkB,CAAC,iBAAiB,CACnD,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,aAAa,EACb,IAAI,EACJ,IAAI,CACL,CAAA;;gBAED,KAAsB,IAAA,4BAAA,SAAA,QAAQ,CAAA,CAAA,kCAAA,wDAAE,CAAC;oBAA5B,IAAM,OAAO,qBAAA;oBAChB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC1D,CAAC;;;;;;;;;QACH,CAAC;QAED,OAAO,oBAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAkB,CAAA;IACtD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,0CAAa,GAAb,UAAc,OAAuB,EAAE,OAAmC;;QAAnC,wBAAA,EAAA,YAAmC;QACxE,IAAM,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,GAAG,CAAA;QAClC,IAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,GAAG,CAAA;QACpC,IAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,SAAS,CAAA;QAC1C,IAAM,WAAW,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,GAAG,CAAA;QAC9C,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,SAAS,CAAA;QAElD,IAAM,SAAS,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;QAChD,IAAM,WAAW,GACf,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAE7D,IAAM,aAAa,yBACd,OAAO,KACV,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,uBAC5B,IAAI,KACP,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,WAAW,EACnC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,WAAW,EACnC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,WAAW,EACjC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,WAAW,EACjC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,GAAG,WAAW,EAAlB,CAAkB,CAAC,IACnD,EAP+B,CAO/B,CAAC,GACJ,CAAA;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;QAClD,IAAM,OAAO,GAAG,aAAa,CAAC,KAAK;aAChC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,kBAAkB,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAhD,CAAgD,CAAC;aAC7D,IAAI,CAAC,EAAE,CAAC,CAAA;QAEX,IAAM,OAAO,GAAG,UAAG,CAAC,KAAK,GAAG,CAAC,cAAI,CAAC,MAAM,GAAG,CAAC,cAAI,KAAK,cAAI,MAAM,CAAE,CAAA;QACjE,OAAO;YACL,8DAAoD,OAAO,wBAAY,KAAK,yBAAa,MAAM,QAAI;YACnG,oBAAY,CAAC,KAAK,GAAG,CAAC,oBAAQ,CAAC,MAAM,GAAG,CAAC,wBAAY,KAAK,yBAAa,MAAM,uBAAW,UAAU,UAAM;YACxG,sBAAc,MAAM,+BAAmB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,iCAA2B;YACxF,OAAO;YACP,MAAM;YACN,QAAQ;SACT,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACZ,CAAC;IA3QD,8EAA8E;IACtD,0BAAO,GAAG,IAAI,CAAA;IA2QxC,yBAAC;CAAA,AA7QD,IA6QC;SA7QY,kBAAkB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/misc/pat/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/misc/pat/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mlightcad/data-model",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.30",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"@mlightcad/dxf-json": "^1.2.0",
|
|
36
36
|
"iconv-lite": "^0.7.0",
|
|
37
37
|
"uid": "^2.0.2",
|
|
38
|
-
"@mlightcad/common": "1.4.
|
|
39
|
-
"@mlightcad/
|
|
40
|
-
"@mlightcad/
|
|
38
|
+
"@mlightcad/common": "1.4.30",
|
|
39
|
+
"@mlightcad/graphic-interface": "3.3.30",
|
|
40
|
+
"@mlightcad/geometry-engine": "3.2.30"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"analyze": "pnpm run analyze:lib && pnpm run analyze:worker",
|