@mlightcad/cad-pdf-plugin 1.7.8 → 1.8.0-preview.0
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/LICENSE +21 -21
- package/README.md +186 -180
- package/dist/cad-pdf-plugin.js +3381 -3552
- package/dist/cad-pdf-plugin.umd.cjs +11 -11
- package/lib/AcApConvertToPdfCmd.d.ts +5 -0
- package/lib/AcApConvertToPdfCmd.d.ts.map +1 -1
- package/lib/AcApConvertToPdfCmd.js +47 -2
- package/lib/AcApConvertToPdfCmd.js.map +1 -1
- package/lib/AcApPdfConvertor.d.ts +7 -7
- package/lib/AcApPdfConvertor.d.ts.map +1 -1
- package/lib/AcApPdfConvertor.js +23 -32
- package/lib/AcApPdfConvertor.js.map +1 -1
- package/lib/AcApPdfExportOptions.d.ts +19 -26
- package/lib/AcApPdfExportOptions.d.ts.map +1 -1
- package/lib/AcApPdfExportOptions.js +5 -5
- package/lib/AcApPdfExportOptions.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/package.json +11 -9
- package/lib/AcApPdfGlyphProvider.d.ts +0 -15
- package/lib/AcApPdfGlyphProvider.d.ts.map +0 -1
- package/lib/AcApPdfGlyphProvider.js +0 -425
- package/lib/AcApPdfGlyphProvider.js.map +0 -1
|
@@ -1,425 +0,0 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
23
|
-
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
-
function step(op) {
|
|
26
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
-
switch (op[0]) {
|
|
31
|
-
case 0: case 1: t = op; break;
|
|
32
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
-
default:
|
|
36
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
-
if (t[2]) _.ops.pop();
|
|
41
|
-
_.trys.pop(); continue;
|
|
42
|
-
}
|
|
43
|
-
op = body.call(thisArg, _);
|
|
44
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
49
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
50
|
-
if (!m) return o;
|
|
51
|
-
var i = m.call(o), r, ar = [], e;
|
|
52
|
-
try {
|
|
53
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
54
|
-
}
|
|
55
|
-
catch (error) { e = { error: error }; }
|
|
56
|
-
finally {
|
|
57
|
-
try {
|
|
58
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
59
|
-
}
|
|
60
|
-
finally { if (e) throw e.error; }
|
|
61
|
-
}
|
|
62
|
-
return ar;
|
|
63
|
-
};
|
|
64
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
65
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
66
|
-
if (ar || !(i in from)) {
|
|
67
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
68
|
-
ar[i] = from[i];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
72
|
-
};
|
|
73
|
-
var __values = (this && this.__values) || function(o) {
|
|
74
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
75
|
-
if (m) return m.call(o);
|
|
76
|
-
if (o && typeof o.length === "number") return {
|
|
77
|
-
next: function () {
|
|
78
|
-
if (o && i >= o.length) o = void 0;
|
|
79
|
-
return { value: o && o[i++], done: !o };
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
83
|
-
};
|
|
84
|
-
import { MTextColor } from '@mlightcad/mtext-parser';
|
|
85
|
-
import { AcTrMTextRenderer } from '@mlightcad/three-renderer';
|
|
86
|
-
/**
|
|
87
|
-
* Turns the viewer's already-initialized mtext renderer into PDF glyph
|
|
88
|
-
* geometry so TEXT/MTEXT are not dropped during export.
|
|
89
|
-
*
|
|
90
|
-
* Geometry is emitted as flat float32 buffers relative to the text's own
|
|
91
|
-
* insertion point. Large drawings carry tens of thousands of MTEXT instances;
|
|
92
|
-
* the previous per-triangle object graphs (`{x, y}` points inside
|
|
93
|
-
* per-primitive arrays) retained ~25 objects per triangle in the renderer's
|
|
94
|
-
* glyph cache and exhausted the tab's heap. Buffers are shared by reference
|
|
95
|
-
* across identical texts, so a drawing's unique text content costs ~24 bytes
|
|
96
|
-
* per triangle.
|
|
97
|
-
*/
|
|
98
|
-
export function createViewerPdfGlyphProvider() {
|
|
99
|
-
var empty = {
|
|
100
|
-
triangles: new Float32Array(0),
|
|
101
|
-
polylines: new Float32Array(0)
|
|
102
|
-
};
|
|
103
|
-
var emptyBox = { min: { x: 0, y: 0 }, max: { x: 0, y: 0 } };
|
|
104
|
-
return {
|
|
105
|
-
renderMText: function (data, style, colorSettings) {
|
|
106
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
107
|
-
var renderer, object, contents, _a, primitives, colorGroups, box, error_1, contents;
|
|
108
|
-
var _b, _c, _d, _e;
|
|
109
|
-
return __generator(this, function (_f) {
|
|
110
|
-
switch (_f.label) {
|
|
111
|
-
case 0:
|
|
112
|
-
_f.trys.push([0, 2, , 3]);
|
|
113
|
-
renderer = AcTrMTextRenderer.getInstance();
|
|
114
|
-
return [4 /*yield*/, renderer.asyncRenderMText(
|
|
115
|
-
// AcGi and mtext-renderer attachment enums are structurally compatible
|
|
116
|
-
// at runtime but diverge in the TypeScript type graph.
|
|
117
|
-
__assign(__assign({}, data), { meshGlyphOutputMode: 'merge' }), style, toMTextColorSettings(colorSettings))];
|
|
118
|
-
case 1:
|
|
119
|
-
object = (_f.sent());
|
|
120
|
-
contents = data.contents ||
|
|
121
|
-
data.text ||
|
|
122
|
-
'';
|
|
123
|
-
_a = extractGlyphPrimitives(object, (_c = (_b = data.position) === null || _b === void 0 ? void 0 : _b.x) !== null && _c !== void 0 ? _c : 0, (_e = (_d = data.position) === null || _d === void 0 ? void 0 : _d.y) !== null && _e !== void 0 ? _e : 0), primitives = _a.primitives, colorGroups = _a.colorGroups, box = _a.box;
|
|
124
|
-
return [2 /*return*/, { primitives: primitives, colorGroups: colorGroups, actualText: contents, box: box }];
|
|
125
|
-
case 2:
|
|
126
|
-
error_1 = _f.sent();
|
|
127
|
-
contents = data.contents ||
|
|
128
|
-
data.text ||
|
|
129
|
-
'';
|
|
130
|
-
console.warn('[cad-pdf-plugin] MTEXT glyph render failed; vector geometry omitted', error_1 instanceof Error ? error_1.message : error_1);
|
|
131
|
-
return [2 /*return*/, { primitives: empty, actualText: contents, box: emptyBox }];
|
|
132
|
-
case 3: return [2 /*return*/];
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
},
|
|
137
|
-
renderShape: function (shape, style) {
|
|
138
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
139
|
-
var renderer, object, _a, primitives, box, error_2;
|
|
140
|
-
var _b, _c, _d, _e;
|
|
141
|
-
return __generator(this, function (_f) {
|
|
142
|
-
switch (_f.label) {
|
|
143
|
-
case 0:
|
|
144
|
-
_f.trys.push([0, 2, , 3]);
|
|
145
|
-
renderer = AcTrMTextRenderer.getInstance();
|
|
146
|
-
return [4 /*yield*/, renderer.asyncRenderShape(shape, (style !== null && style !== void 0 ? style : {}))];
|
|
147
|
-
case 1:
|
|
148
|
-
object = (_f.sent());
|
|
149
|
-
_a = extractGlyphPrimitives(object, (_c = (_b = shape.position) === null || _b === void 0 ? void 0 : _b.x) !== null && _c !== void 0 ? _c : 0, (_e = (_d = shape.position) === null || _d === void 0 ? void 0 : _d.y) !== null && _e !== void 0 ? _e : 0), primitives = _a.primitives, box = _a.box;
|
|
150
|
-
return [2 /*return*/, { primitives: primitives, box: box }];
|
|
151
|
-
case 2:
|
|
152
|
-
error_2 = _f.sent();
|
|
153
|
-
console.warn('[cad-pdf-plugin] SHAPE glyph render failed; vector geometry omitted', error_2 instanceof Error ? error_2.message : error_2);
|
|
154
|
-
return [2 /*return*/, { primitives: empty, box: emptyBox }];
|
|
155
|
-
case 3: return [2 /*return*/];
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
function toMTextColorSettings(settings) {
|
|
163
|
-
if (!settings) {
|
|
164
|
-
return undefined;
|
|
165
|
-
}
|
|
166
|
-
var color = new MTextColor();
|
|
167
|
-
if (settings.entityIsByLayer) {
|
|
168
|
-
color.aci = 256;
|
|
169
|
-
}
|
|
170
|
-
else if (settings.entityIsByBlock) {
|
|
171
|
-
color.aci = 0;
|
|
172
|
-
}
|
|
173
|
-
else if (settings.entityIsForeground) {
|
|
174
|
-
color.aci = 7;
|
|
175
|
-
}
|
|
176
|
-
else if (typeof settings.entityAci === 'number') {
|
|
177
|
-
color.aci = settings.entityAci;
|
|
178
|
-
}
|
|
179
|
-
else if (typeof settings.entityRgb === 'number') {
|
|
180
|
-
color.rgbValue = settings.entityRgb;
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
color.aci = 7;
|
|
184
|
-
}
|
|
185
|
-
return {
|
|
186
|
-
color: color,
|
|
187
|
-
byLayerColor: settings.byLayerColor,
|
|
188
|
-
byBlockColor: settings.byBlockColor,
|
|
189
|
-
layer: settings.layer
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Builds flat triangle/polyline buffers from the rendered scene graph,
|
|
194
|
-
* baking each node's world matrix and translating the result so (0,0) is the
|
|
195
|
-
* text's insertion point. Geometry is also grouped by material colour so
|
|
196
|
-
* inline `\C` overrides survive vector PDF export.
|
|
197
|
-
*/
|
|
198
|
-
function extractGlyphPrimitives(root, originX, originY) {
|
|
199
|
-
var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
|
|
200
|
-
var _e, _f, _g;
|
|
201
|
-
(_e = root.updateMatrixWorld) === null || _e === void 0 ? void 0 : _e.call(root, true);
|
|
202
|
-
var sources = [];
|
|
203
|
-
var triangleFloatsByColor = new Map();
|
|
204
|
-
var lineFloatsByColor = new Map();
|
|
205
|
-
root.traverse(function (node) {
|
|
206
|
-
var _a, _b, _c, _d, _e;
|
|
207
|
-
var geom = node.geometry;
|
|
208
|
-
if (!geom) {
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
var pos = geom.getAttribute('position');
|
|
212
|
-
if (!pos || pos.count < 1) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
var rgb = (_a = readMaterialRgb(node)) !== null && _a !== void 0 ? _a : 0xffffff;
|
|
216
|
-
if (node.isMesh) {
|
|
217
|
-
var index = geom.getIndex();
|
|
218
|
-
var triCount = index ? index.count / 3 : Math.floor(pos.count / 3);
|
|
219
|
-
if (triCount < 1) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
sources.push({
|
|
223
|
-
elements: (_b = node.matrixWorld) === null || _b === void 0 ? void 0 : _b.elements,
|
|
224
|
-
pos: pos,
|
|
225
|
-
index: index,
|
|
226
|
-
isMesh: true,
|
|
227
|
-
isSegments: false,
|
|
228
|
-
rgb: rgb
|
|
229
|
-
});
|
|
230
|
-
triangleFloatsByColor.set(rgb, ((_c = triangleFloatsByColor.get(rgb)) !== null && _c !== void 0 ? _c : 0) + triCount * 6);
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
if (node.isLine) {
|
|
234
|
-
var segments = !!node.isLineSegments;
|
|
235
|
-
sources.push({
|
|
236
|
-
elements: (_d = node.matrixWorld) === null || _d === void 0 ? void 0 : _d.elements,
|
|
237
|
-
pos: pos,
|
|
238
|
-
index: null,
|
|
239
|
-
isMesh: false,
|
|
240
|
-
isSegments: segments,
|
|
241
|
-
rgb: rgb
|
|
242
|
-
});
|
|
243
|
-
var floats = segments
|
|
244
|
-
? Math.floor(pos.count / 2) * 5
|
|
245
|
-
: pos.count * 2 + 1;
|
|
246
|
-
lineFloatsByColor.set(rgb, ((_e = lineFloatsByColor.get(rgb)) !== null && _e !== void 0 ? _e : 0) + floats);
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
var colors = __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(triangleFloatsByColor.keys()), false), __read(lineFloatsByColor.keys()), false))), false);
|
|
250
|
-
var groups = new Map();
|
|
251
|
-
try {
|
|
252
|
-
for (var colors_1 = __values(colors), colors_1_1 = colors_1.next(); !colors_1_1.done; colors_1_1 = colors_1.next()) {
|
|
253
|
-
var rgb = colors_1_1.value;
|
|
254
|
-
groups.set(rgb, {
|
|
255
|
-
triangles: new Float32Array((_f = triangleFloatsByColor.get(rgb)) !== null && _f !== void 0 ? _f : 0),
|
|
256
|
-
polylines: new Float32Array((_g = lineFloatsByColor.get(rgb)) !== null && _g !== void 0 ? _g : 0),
|
|
257
|
-
triOffset: 0,
|
|
258
|
-
lineOffset: 0
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
263
|
-
finally {
|
|
264
|
-
try {
|
|
265
|
-
if (colors_1_1 && !colors_1_1.done && (_a = colors_1.return)) _a.call(colors_1);
|
|
266
|
-
}
|
|
267
|
-
finally { if (e_1) throw e_1.error; }
|
|
268
|
-
}
|
|
269
|
-
var minX = Infinity;
|
|
270
|
-
var minY = Infinity;
|
|
271
|
-
var maxX = -Infinity;
|
|
272
|
-
var maxY = -Infinity;
|
|
273
|
-
var expand = function (x, y) {
|
|
274
|
-
if (x < minX)
|
|
275
|
-
minX = x;
|
|
276
|
-
if (y < minY)
|
|
277
|
-
minY = y;
|
|
278
|
-
if (x > maxX)
|
|
279
|
-
maxX = x;
|
|
280
|
-
if (y > maxY)
|
|
281
|
-
maxY = y;
|
|
282
|
-
};
|
|
283
|
-
var _loop_1 = function (source) {
|
|
284
|
-
var group = groups.get(source.rgb);
|
|
285
|
-
if (!group)
|
|
286
|
-
return "continue";
|
|
287
|
-
var el = source.elements;
|
|
288
|
-
var pos = source.pos;
|
|
289
|
-
var world = function (i) {
|
|
290
|
-
var x = pos.getX(i);
|
|
291
|
-
var y = pos.getY(i);
|
|
292
|
-
if (!el) {
|
|
293
|
-
return { x: x, y: y };
|
|
294
|
-
}
|
|
295
|
-
var z = pos.getZ(i);
|
|
296
|
-
var w = el[3] * x + el[7] * y + el[11] * z + el[15];
|
|
297
|
-
var invW = w === 0 ? 1 : 1 / w;
|
|
298
|
-
return {
|
|
299
|
-
x: (el[0] * x + el[4] * y + el[8] * z + el[12]) * invW,
|
|
300
|
-
y: (el[1] * x + el[5] * y + el[9] * z + el[13]) * invW
|
|
301
|
-
};
|
|
302
|
-
};
|
|
303
|
-
if (source.isMesh) {
|
|
304
|
-
var count = source.index
|
|
305
|
-
? source.index.count / 3
|
|
306
|
-
: Math.floor(pos.count / 3);
|
|
307
|
-
for (var t = 0; t < count; t++) {
|
|
308
|
-
for (var k = 0; k < 3; k++) {
|
|
309
|
-
var vi = source.index ? source.index.getX(t * 3 + k) : t * 3 + k;
|
|
310
|
-
var p = world(vi);
|
|
311
|
-
var x = p.x - originX;
|
|
312
|
-
var y = p.y - originY;
|
|
313
|
-
group.triangles[group.triOffset++] = x;
|
|
314
|
-
group.triangles[group.triOffset++] = y;
|
|
315
|
-
expand(x, y);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
else if (source.isSegments) {
|
|
320
|
-
var pairCount = Math.floor(pos.count / 2);
|
|
321
|
-
for (var s = 0; s < pairCount; s++) {
|
|
322
|
-
group.polylines[group.lineOffset++] = 2;
|
|
323
|
-
for (var k = 0; k < 2; k++) {
|
|
324
|
-
var p = world(s * 2 + k);
|
|
325
|
-
var x = p.x - originX;
|
|
326
|
-
var y = p.y - originY;
|
|
327
|
-
group.polylines[group.lineOffset++] = x;
|
|
328
|
-
group.polylines[group.lineOffset++] = y;
|
|
329
|
-
expand(x, y);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
else {
|
|
334
|
-
group.polylines[group.lineOffset++] = pos.count;
|
|
335
|
-
for (var i = 0; i < pos.count; i++) {
|
|
336
|
-
var p = world(i);
|
|
337
|
-
var x = p.x - originX;
|
|
338
|
-
var y = p.y - originY;
|
|
339
|
-
group.polylines[group.lineOffset++] = x;
|
|
340
|
-
group.polylines[group.lineOffset++] = y;
|
|
341
|
-
expand(x, y);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
};
|
|
345
|
-
try {
|
|
346
|
-
for (var sources_1 = __values(sources), sources_1_1 = sources_1.next(); !sources_1_1.done; sources_1_1 = sources_1.next()) {
|
|
347
|
-
var source = sources_1_1.value;
|
|
348
|
-
_loop_1(source);
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
352
|
-
finally {
|
|
353
|
-
try {
|
|
354
|
-
if (sources_1_1 && !sources_1_1.done && (_b = sources_1.return)) _b.call(sources_1);
|
|
355
|
-
}
|
|
356
|
-
finally { if (e_2) throw e_2.error; }
|
|
357
|
-
}
|
|
358
|
-
var colorGroups = [];
|
|
359
|
-
var totalTri = 0;
|
|
360
|
-
var totalLine = 0;
|
|
361
|
-
try {
|
|
362
|
-
for (var groups_1 = __values(groups), groups_1_1 = groups_1.next(); !groups_1_1.done; groups_1_1 = groups_1.next()) {
|
|
363
|
-
var _h = __read(groups_1_1.value, 2), rgb = _h[0], group = _h[1];
|
|
364
|
-
var primitives_1 = {
|
|
365
|
-
triangles: group.triangles,
|
|
366
|
-
polylines: group.polylines
|
|
367
|
-
};
|
|
368
|
-
if (primitives_1.triangles.length >= 6 || primitives_1.polylines.length >= 2) {
|
|
369
|
-
colorGroups.push({ rgb: rgb, primitives: primitives_1 });
|
|
370
|
-
}
|
|
371
|
-
totalTri += group.triangles.length;
|
|
372
|
-
totalLine += group.polylines.length;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
376
|
-
finally {
|
|
377
|
-
try {
|
|
378
|
-
if (groups_1_1 && !groups_1_1.done && (_c = groups_1.return)) _c.call(groups_1);
|
|
379
|
-
}
|
|
380
|
-
finally { if (e_3) throw e_3.error; }
|
|
381
|
-
}
|
|
382
|
-
// Combined buffers keep callers that ignore colorGroups working.
|
|
383
|
-
var triangles = new Float32Array(totalTri);
|
|
384
|
-
var polylines = new Float32Array(totalLine);
|
|
385
|
-
var triOffset = 0;
|
|
386
|
-
var lineOffset = 0;
|
|
387
|
-
try {
|
|
388
|
-
for (var colorGroups_1 = __values(colorGroups), colorGroups_1_1 = colorGroups_1.next(); !colorGroups_1_1.done; colorGroups_1_1 = colorGroups_1.next()) {
|
|
389
|
-
var group = colorGroups_1_1.value;
|
|
390
|
-
triangles.set(group.primitives.triangles, triOffset);
|
|
391
|
-
triOffset += group.primitives.triangles.length;
|
|
392
|
-
polylines.set(group.primitives.polylines, lineOffset);
|
|
393
|
-
lineOffset += group.primitives.polylines.length;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
397
|
-
finally {
|
|
398
|
-
try {
|
|
399
|
-
if (colorGroups_1_1 && !colorGroups_1_1.done && (_d = colorGroups_1.return)) _d.call(colorGroups_1);
|
|
400
|
-
}
|
|
401
|
-
finally { if (e_4) throw e_4.error; }
|
|
402
|
-
}
|
|
403
|
-
var primitives = { triangles: triangles, polylines: polylines };
|
|
404
|
-
var box = Number.isFinite(minX)
|
|
405
|
-
? { min: { x: minX, y: minY }, max: { x: maxX, y: maxY } }
|
|
406
|
-
: { min: { x: 0, y: 0 }, max: { x: 0, y: 0 } };
|
|
407
|
-
return {
|
|
408
|
-
primitives: primitives,
|
|
409
|
-
// Always surface groups when present so a lone `\C256` green run is not
|
|
410
|
-
// painted with the entity fill (often ACI 7 white).
|
|
411
|
-
colorGroups: colorGroups.length > 0 ? colorGroups : undefined,
|
|
412
|
-
box: box
|
|
413
|
-
};
|
|
414
|
-
}
|
|
415
|
-
function readMaterialRgb(node) {
|
|
416
|
-
var _a, _b;
|
|
417
|
-
var material = node.material;
|
|
418
|
-
if (!material) {
|
|
419
|
-
return undefined;
|
|
420
|
-
}
|
|
421
|
-
var first = Array.isArray(material) ? material[0] : material;
|
|
422
|
-
var hex = (_b = (_a = first === null || first === void 0 ? void 0 : first.color) === null || _a === void 0 ? void 0 : _a.getHex) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
423
|
-
return typeof hex === 'number' ? hex : undefined;
|
|
424
|
-
}
|
|
425
|
-
//# sourceMappingURL=AcApPdfGlyphProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AcApPdfGlyphProvider.js","sourceRoot":"","sources":["../src/AcApPdfGlyphProvider.ts"],"names":[],"mappings":"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"}
|