@mlightcad/cad-simple-viewer 1.7.6-preview.0 → 1.7.7-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 +190 -190
- package/dist/cad-simple-viewer.js +7925 -7381
- package/dist/cad-simple-viewer.umd.cjs +116 -116
- package/dist/mtext-renderer-worker.js +14124 -8730
- package/find.ts +7 -7
- package/icons.ts +7 -7
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +67 -72
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/app/AcApOpenDatabaseOptions.d.ts +8 -2
- package/lib/app/AcApOpenDatabaseOptions.d.ts.map +1 -1
- package/lib/command/convert/AcApEntityPreviewCmd.d.ts.map +1 -1
- package/lib/command/convert/AcApEntityPreviewCmd.js +1 -0
- package/lib/command/convert/AcApEntityPreviewCmd.js.map +1 -1
- package/lib/command/convert/AcApRasterImageConvertor.d.ts +17 -8
- package/lib/command/convert/AcApRasterImageConvertor.d.ts.map +1 -1
- package/lib/command/convert/AcApRasterImageConvertor.js +50 -12
- package/lib/command/convert/AcApRasterImageConvertor.js.map +1 -1
- package/lib/command/draw/AcApHatchCmd.d.ts.map +1 -1
- package/lib/command/draw/AcApHatchCmd.js +1 -0
- package/lib/command/draw/AcApHatchCmd.js.map +1 -1
- package/lib/command/layer/AcApLayerIsoCmd.d.ts.map +1 -1
- package/lib/command/layer/AcApLayerIsoCmd.js +1 -0
- package/lib/command/layer/AcApLayerIsoCmd.js.map +1 -1
- package/lib/editor/grip/AcEdGripEditSession.d.ts.map +1 -1
- package/lib/editor/grip/AcEdGripEditSession.js +6 -1
- package/lib/editor/grip/AcEdGripEditSession.js.map +1 -1
- package/lib/editor/grip/AcEdGripManager.d.ts.map +1 -1
- package/lib/editor/grip/AcEdGripManager.js +2 -1
- package/lib/editor/grip/AcEdGripManager.js.map +1 -1
- package/lib/editor/input/AcEdOsnapCenterMarks.d.ts +15 -2
- package/lib/editor/input/AcEdOsnapCenterMarks.d.ts.map +1 -1
- package/lib/editor/input/AcEdOsnapCenterMarks.js +63 -13
- package/lib/editor/input/AcEdOsnapCenterMarks.js.map +1 -1
- package/lib/editor/input/AcEdOsnapResolver.d.ts +14 -0
- package/lib/editor/input/AcEdOsnapResolver.d.ts.map +1 -1
- package/lib/editor/input/AcEdOsnapResolver.js +246 -32
- package/lib/editor/input/AcEdOsnapResolver.js.map +1 -1
- package/lib/editor/input/AcEdSelectionFilter.d.ts +6 -0
- package/lib/editor/input/AcEdSelectionFilter.d.ts.map +1 -1
- package/lib/editor/input/AcEdSelectionFilter.js +19 -2
- package/lib/editor/input/AcEdSelectionFilter.js.map +1 -1
- package/lib/editor/input/AcEditor.d.ts +6 -0
- package/lib/editor/input/AcEditor.d.ts.map +1 -1
- package/lib/editor/input/AcEditor.js +9 -0
- package/lib/editor/input/AcEditor.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptSelectionOptions.d.ts +8 -0
- package/lib/editor/input/prompt/AcEdPromptSelectionOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptSelectionOptions.js +16 -0
- package/lib/editor/input/prompt/AcEdPromptSelectionOptions.js.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.d.ts +12 -0
- package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.js +54 -16
- package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.d.ts +15 -0
- package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.js +47 -16
- package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
- package/lib/editor/view/AcEdBaseView.d.ts +50 -0
- package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
- package/lib/editor/view/AcEdBaseView.js +73 -44
- package/lib/editor/view/AcEdBaseView.js.map +1 -1
- package/lib/editor/view/AcEdSpatialQueryResult.d.ts +7 -0
- package/lib/editor/view/AcEdSpatialQueryResult.d.ts.map +1 -1
- package/lib/editor/view/AcEdSpatialQueryResult.js.map +1 -1
- package/lib/find/findText.d.ts.map +1 -1
- package/lib/find/findText.js +49 -15
- package/lib/find/findText.js.map +1 -1
- package/lib/i18n/ar/jig.d.ts +2 -0
- package/lib/i18n/ar/jig.d.ts.map +1 -1
- package/lib/i18n/ar/jig.js +1 -1
- package/lib/i18n/ar/jig.js.map +1 -1
- package/lib/i18n/ar/main.d.ts +1 -0
- package/lib/i18n/ar/main.d.ts.map +1 -1
- package/lib/i18n/ar/main.js +1 -0
- package/lib/i18n/ar/main.js.map +1 -1
- package/lib/i18n/cs/jig.d.ts +2 -0
- package/lib/i18n/cs/jig.d.ts.map +1 -1
- package/lib/i18n/cs/jig.js +2 -0
- package/lib/i18n/cs/jig.js.map +1 -1
- package/lib/i18n/cs/main.d.ts +1 -0
- package/lib/i18n/cs/main.d.ts.map +1 -1
- package/lib/i18n/cs/main.js +1 -0
- package/lib/i18n/cs/main.js.map +1 -1
- package/lib/i18n/en/jig.d.ts +2 -0
- package/lib/i18n/en/jig.d.ts.map +1 -1
- package/lib/i18n/en/jig.js +2 -0
- package/lib/i18n/en/jig.js.map +1 -1
- package/lib/i18n/en/main.d.ts +1 -0
- package/lib/i18n/en/main.d.ts.map +1 -1
- package/lib/i18n/en/main.js +1 -0
- package/lib/i18n/en/main.js.map +1 -1
- package/lib/i18n/tr/jig.d.ts +2 -0
- package/lib/i18n/tr/jig.d.ts.map +1 -1
- package/lib/i18n/tr/jig.js +2 -0
- package/lib/i18n/tr/jig.js.map +1 -1
- package/lib/i18n/tr/main.d.ts +1 -0
- package/lib/i18n/tr/main.d.ts.map +1 -1
- package/lib/i18n/tr/main.js +1 -0
- package/lib/i18n/tr/main.js.map +1 -1
- package/lib/i18n/zh/jig.d.ts +2 -0
- package/lib/i18n/zh/jig.d.ts.map +1 -1
- package/lib/i18n/zh/jig.js +2 -0
- package/lib/i18n/zh/jig.js.map +1 -1
- package/lib/i18n/zh/main.d.ts +1 -0
- package/lib/i18n/zh/main.d.ts.map +1 -1
- package/lib/i18n/zh/main.js +1 -0
- package/lib/i18n/zh/main.js.map +1 -1
- package/lib/service/AcApEntitySelection.d.ts.map +1 -1
- package/lib/service/AcApEntitySelection.js +34 -4
- package/lib/service/AcApEntitySelection.js.map +1 -1
- package/lib/service/AcApEntityService.d.ts.map +1 -1
- package/lib/service/AcApEntityService.js +11 -0
- package/lib/service/AcApEntityService.js.map +1 -1
- package/lib/service/AcApLayerService.d.ts +8 -1
- package/lib/service/AcApLayerService.d.ts.map +1 -1
- package/lib/service/AcApLayerService.js +10 -0
- package/lib/service/AcApLayerService.js.map +1 -1
- package/lib/service/AcApLockedLayer.d.ts +23 -0
- package/lib/service/AcApLockedLayer.d.ts.map +1 -0
- package/lib/service/AcApLockedLayer.js +94 -0
- package/lib/service/AcApLockedLayer.js.map +1 -0
- package/lib/service/index.d.ts +1 -0
- package/lib/service/index.d.ts.map +1 -1
- package/lib/service/index.js +1 -0
- package/lib/service/index.js.map +1 -1
- package/lib/ui/icons.d.ts +5 -2
- package/lib/ui/icons.d.ts.map +1 -1
- package/lib/ui/icons.js +5 -2
- package/lib/ui/icons.js.map +1 -1
- package/lib/util/AcApLayoutViewFraming.d.ts +68 -0
- package/lib/util/AcApLayoutViewFraming.d.ts.map +1 -0
- package/lib/util/AcApLayoutViewFraming.js +146 -0
- package/lib/util/AcApLayoutViewFraming.js.map +1 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/lib/view/AcTrDirectBatch.d.ts +4 -14
- package/lib/view/AcTrDirectBatch.d.ts.map +1 -1
- package/lib/view/AcTrDirectBatch.js +4 -120
- package/lib/view/AcTrDirectBatch.js.map +1 -1
- package/lib/view/AcTrScene.d.ts +1 -1
- package/lib/view/AcTrScene.d.ts.map +1 -1
- package/lib/view/AcTrView2d.d.ts +75 -38
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +313 -141
- package/lib/view/AcTrView2d.js.map +1 -1
- package/lib/view/AcTrViewSessionState.d.ts +7 -0
- package/lib/view/AcTrViewSessionState.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/find/AcApFindNavigator.ts +190 -190
- package/src/find/findDrawing.ts +211 -211
- package/src/find/findText.ts +624 -595
- package/src/find/index.ts +2 -2
- package/src/ui/icons.ts +411 -408
|
@@ -84,13 +84,25 @@ function transformMark(mark, matrix) {
|
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Child spatial-index ids may get a `#n` suffix when the same object appears
|
|
87
|
-
* more than once in a block. Strip that
|
|
87
|
+
* more than once in a block (see {@link uniquifySpatialItemIds}). Strip that
|
|
88
|
+
* before matching database object ids.
|
|
88
89
|
*/
|
|
89
90
|
export function canonicalGsMark(id) {
|
|
90
91
|
if (typeof id !== 'string')
|
|
91
92
|
return id;
|
|
92
93
|
return id.replace(/#\d+$/, '');
|
|
93
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* 0-based occurrence index encoded in a spatial-index child id (`id` → 0,
|
|
97
|
+
* `id#1` → 1, …). Matches depth-first leaf order used when flattening nested
|
|
98
|
+
* INSERT child boxes.
|
|
99
|
+
*/
|
|
100
|
+
export function gsMarkOccurrence(id) {
|
|
101
|
+
if (typeof id !== 'string')
|
|
102
|
+
return 0;
|
|
103
|
+
var match = /#(\d+)$/.exec(id);
|
|
104
|
+
return match ? Number(match[1]) : 0;
|
|
105
|
+
}
|
|
94
106
|
function polylineVertices(entity) {
|
|
95
107
|
var _a;
|
|
96
108
|
if (entity instanceof AcDb2dPolyline) {
|
|
@@ -165,25 +177,63 @@ function fullInsertionTransform(blockRef) {
|
|
|
165
177
|
*
|
|
166
178
|
* Returns the leaf entity and the cumulative transform that maps its local
|
|
167
179
|
* geometry into the caller space (typically WCS).
|
|
180
|
+
*
|
|
181
|
+
* When `gsMark` carries a `#n` suffix, the n-th depth-first match of the
|
|
182
|
+
* canonical object id is returned so duplicate nested INSERT instances are
|
|
183
|
+
* disambiguated (#745). When no suffix is present and `hintPoint` is given,
|
|
184
|
+
* nested INSERTs whose extents do not contain the hint are skipped so the
|
|
185
|
+
* instance under the cursor is preferred over the first DFS match.
|
|
168
186
|
*/
|
|
169
|
-
export function resolveBlockSubEntity(blockRef, gsMark, parentMat) {
|
|
170
|
-
var e_1, _a;
|
|
187
|
+
export function resolveBlockSubEntity(blockRef, gsMark, parentMat, hintPoint) {
|
|
171
188
|
if (parentMat === void 0) { parentMat = new AcGeMatrix3d(); }
|
|
189
|
+
var occurrence = gsMarkOccurrence(gsMark);
|
|
190
|
+
var result = resolveBlockSubEntityOccurrence(blockRef, canonicalGsMark(gsMark), occurrence, parentMat, hintPoint,
|
|
191
|
+
/* allowHintPrune */ occurrence === 0 && hintPoint != null);
|
|
192
|
+
return result.found;
|
|
193
|
+
}
|
|
194
|
+
/** XY containment with padding — spatial child boxes have no Z (#745). */
|
|
195
|
+
function extentsContainXY(extents, point, pad) {
|
|
196
|
+
if (pad === void 0) { pad = 1e-4; }
|
|
197
|
+
return (point.x >= extents.min.x - pad &&
|
|
198
|
+
point.x <= extents.max.x + pad &&
|
|
199
|
+
point.y >= extents.min.y - pad &&
|
|
200
|
+
point.y <= extents.max.y + pad);
|
|
201
|
+
}
|
|
202
|
+
function resolveBlockSubEntityOccurrence(blockRef, targetId, remaining, parentMat, hintPoint, allowHintPrune) {
|
|
203
|
+
var e_1, _a;
|
|
172
204
|
var blockTableRecord = blockRef.blockTableRecord;
|
|
173
|
-
if (!blockTableRecord)
|
|
174
|
-
return undefined;
|
|
205
|
+
if (!blockTableRecord) {
|
|
206
|
+
return { found: undefined, remaining: remaining };
|
|
207
|
+
}
|
|
175
208
|
var thisMat = new AcGeMatrix3d().multiplyMatrices(parentMat, fullInsertionTransform(blockRef));
|
|
176
|
-
var
|
|
209
|
+
var localHint;
|
|
210
|
+
if (allowHintPrune && hintPoint != null && remaining === 0) {
|
|
211
|
+
localHint = new AcGePoint3d(hintPoint).applyMatrix4(thisMat.clone().invert());
|
|
212
|
+
}
|
|
177
213
|
try {
|
|
178
214
|
for (var _b = __values(blockTableRecord.newIterator()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
179
215
|
var entity = _c.value;
|
|
180
|
-
if (entity.objectId ===
|
|
181
|
-
|
|
216
|
+
if (entity.objectId === targetId) {
|
|
217
|
+
if (remaining > 0) {
|
|
218
|
+
remaining -= 1;
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
return { found: { entity: entity, transform: thisMat }, remaining: 0 };
|
|
182
222
|
}
|
|
183
223
|
if (entity instanceof AcDbBlockReference) {
|
|
184
|
-
|
|
185
|
-
|
|
224
|
+
if (allowHintPrune && remaining === 0 && localHint) {
|
|
225
|
+
var extents = entity.geometricExtents;
|
|
226
|
+
// Spatial hints are XY-only (childBoxHint uses z: 0). A full 3D
|
|
227
|
+
// containsPoint would drop elevated nested INSERTs whose Z range
|
|
228
|
+
// does not include 0 after the parent invert.
|
|
229
|
+
if (!extents.isEmpty() && !extentsContainXY(extents, localHint)) {
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
var nested = resolveBlockSubEntityOccurrence(entity, targetId, remaining, thisMat, hintPoint, allowHintPrune);
|
|
234
|
+
if (nested.found)
|
|
186
235
|
return nested;
|
|
236
|
+
remaining = nested.remaining;
|
|
187
237
|
}
|
|
188
238
|
}
|
|
189
239
|
}
|
|
@@ -194,15 +244,15 @@ export function resolveBlockSubEntity(blockRef, gsMark, parentMat) {
|
|
|
194
244
|
}
|
|
195
245
|
finally { if (e_1) throw e_1.error; }
|
|
196
246
|
}
|
|
197
|
-
return undefined;
|
|
247
|
+
return { found: undefined, remaining: remaining };
|
|
198
248
|
}
|
|
199
249
|
function collectBlockCenterMarks(blockRef, pickPoint, gsMark) {
|
|
200
250
|
if (!gsMark) {
|
|
201
251
|
return collectFromOsnapCenter(blockRef, pickPoint);
|
|
202
252
|
}
|
|
203
|
-
var found = resolveBlockSubEntity(blockRef, gsMark);
|
|
253
|
+
var found = resolveBlockSubEntity(blockRef, gsMark, new AcGeMatrix3d(), pickPoint);
|
|
204
254
|
if (!found) {
|
|
205
|
-
return collectFromOsnapCenter(blockRef, pickPoint,
|
|
255
|
+
return collectFromOsnapCenter(blockRef, pickPoint, gsMark);
|
|
206
256
|
}
|
|
207
257
|
var inverse = found.transform.clone().invert();
|
|
208
258
|
var localPick = new AcGePoint3d(pickPoint).applyMatrix4(inverse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcEdOsnapCenterMarks.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdOsnapCenterMarks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AcEdOsnapCenterMarks.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdOsnapCenterMarks.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,21 @@ export declare class AcEdOsnapResolver {
|
|
|
45
45
|
private static osnapModePriority;
|
|
46
46
|
private collectOsnapPointsByMode;
|
|
47
47
|
private collectOsnapPointsInAvailableModes;
|
|
48
|
+
/**
|
|
49
|
+
* Collects enabled osnap modes from an already-resolved block sub-entity so
|
|
50
|
+
* each hit child is walked once instead of once per mode (#745).
|
|
51
|
+
*/
|
|
52
|
+
private collectOsnapPointsFromResolvedSubEntity;
|
|
53
|
+
private static childBoxHint;
|
|
48
54
|
private collectIntersectionOsnapPoints;
|
|
55
|
+
/**
|
|
56
|
+
* Looks an entity up by id with no block-table-record owner check, so a
|
|
57
|
+
* hit is resolved the same way whether it came from the active layout's
|
|
58
|
+
* own spatial index (paper space) or was drilled through a paper-space
|
|
59
|
+
* viewport into model space (#746) — a BTR-scoped `getIdAt` only resolves
|
|
60
|
+
* entities it owns and silently drops every other hit.
|
|
61
|
+
*/
|
|
62
|
+
private static getEntityById;
|
|
49
63
|
private collectOsnapPoints;
|
|
50
64
|
private updateAcquiredCenters;
|
|
51
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcEdOsnapResolver.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdOsnapResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,aAAa,EAIb,eAAe,EAEf,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EACL,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AcEdOsnapResolver.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdOsnapResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,aAAa,EAIb,eAAe,EAEf,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,IAAI,EAAE,aAAa,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,uBAAuB;IACtC,gEAAgE;IAChE,SAAS,EAAE,eAAe,CAAA;IAC1B,qDAAqD;IACrD,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAiKD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,gBAAgB,CAA4B;gBAExC,IAAI,EAAE,YAAY;IAI9B;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,SAAS,mBAAmB,EAAE,CAExD;IAED,qEAAqE;IACrE,oBAAoB;IAIpB;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CACvB,KAAK,EAAE,SAAS,mBAAmB,EAAE,EACrC,IAAI,CAAC,EAAE,cAAc,GACpB,mBAAmB,EAAE;IAOxB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,cAAc,GAAG,SAAS;IAiDrE;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc;IAmBtE,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgBhC,OAAO,CAAC,wBAAwB;IAsBhC,OAAO,CAAC,kCAAkC;IAsB1C;;;OAGG;IACH,OAAO,CAAC,uCAAuC;IAqD/C,OAAO,CAAC,MAAM,CAAC,YAAY;IAqB3B,OAAO,CAAC,8BAA8B;IA6HtC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B,OAAO,CAAC,kBAAkB;IA8G1B,OAAO,CAAC,qBAAqB;CAyD9B"}
|
|
@@ -1,3 +1,14 @@
|
|
|
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
|
+
};
|
|
1
12
|
var __values = (this && this.__values) || function(o) {
|
|
2
13
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
3
14
|
if (m) return m.call(o);
|
|
@@ -34,10 +45,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
34
45
|
}
|
|
35
46
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
47
|
};
|
|
37
|
-
import { AcDbArc, AcDbBlockReference, AcDbCircle, acdbHasOsnapMode, acdbHostApplicationServices, AcDbLine, acdbMaskToOsnapModes, AcDbOsnapMode, AcGeBox3d, AcGeGeometryUtil, AcGeMatrix3d, AcGePoint3d } from '@mlightcad/data-model';
|
|
48
|
+
import { AcDbArc, AcDbBlockReference, AcDbCircle, AcDbEntity, acdbHasOsnapMode, acdbHostApplicationServices, AcDbLine, acdbMaskToOsnapModes, AcDbOsnapMode, AcGeBox3d, AcGeGeometryUtil, AcGeMatrix3d, AcGePoint3d } from '@mlightcad/data-model';
|
|
38
49
|
import { AcApSettingManager } from '../../app/AcApSettingManager';
|
|
39
50
|
import { isEffectiveSpatialQueryHit } from '../view/AcEdSpatialQueryResult';
|
|
40
|
-
import {
|
|
51
|
+
import { centerMarksCoincide, collectCenterMarksFromEntity, mergeAcquiredCenterMarks, resolveBlockSubEntity } from './AcEdOsnapCenterMarks';
|
|
41
52
|
var DEFAULT_HIT_RADIUS_PX = 20;
|
|
42
53
|
/**
|
|
43
54
|
* Max nearby geometry sources considered per intersection query.
|
|
@@ -267,8 +278,93 @@ var AcEdOsnapResolver = /** @class */ (function () {
|
|
|
267
278
|
_this.collectOsnapPointsByMode(entity, mode, osnapPoints, pickPoint, lastPoint, gsMark);
|
|
268
279
|
});
|
|
269
280
|
};
|
|
270
|
-
|
|
281
|
+
/**
|
|
282
|
+
* Collects enabled osnap modes from an already-resolved block sub-entity so
|
|
283
|
+
* each hit child is walked once instead of once per mode (#745).
|
|
284
|
+
*/
|
|
285
|
+
AcEdOsnapResolver.prototype.collectOsnapPointsFromResolvedSubEntity = function (found, osnapPoints, pickPoint, lastPoint) {
|
|
271
286
|
var e_2, _a, e_3, _b, e_4, _c;
|
|
287
|
+
var _d;
|
|
288
|
+
var inverse = found.transform.clone().invert();
|
|
289
|
+
var localPick = new AcGePoint3d(pickPoint).applyMatrix4(inverse);
|
|
290
|
+
var localLast = new AcGePoint3d(lastPoint).applyMatrix4(inverse);
|
|
291
|
+
var modes = acdbMaskToOsnapModes(AcApSettingManager.instance.osnapModes);
|
|
292
|
+
var isNestedInsert = found.entity instanceof AcDbBlockReference;
|
|
293
|
+
try {
|
|
294
|
+
for (var modes_1 = __values(modes), modes_1_1 = modes_1.next(); !modes_1_1.done; modes_1_1 = modes_1.next()) {
|
|
295
|
+
var mode = modes_1_1.value;
|
|
296
|
+
if (mode === AcDbOsnapMode.Intersection)
|
|
297
|
+
continue;
|
|
298
|
+
var localSnapPoints = [];
|
|
299
|
+
if (isNestedInsert) {
|
|
300
|
+
// Preserve INSERT self-marker semantics used by subEntityGetOsnapPoints.
|
|
301
|
+
found.entity.subGetOsnapPoints(mode, localPick, localLast, localSnapPoints, found.entity.objectId, found.transform);
|
|
302
|
+
try {
|
|
303
|
+
for (var localSnapPoints_1 = (e_3 = void 0, __values(localSnapPoints)), localSnapPoints_1_1 = localSnapPoints_1.next(); !localSnapPoints_1_1.done; localSnapPoints_1_1 = localSnapPoints_1.next()) {
|
|
304
|
+
var point = localSnapPoints_1_1.value;
|
|
305
|
+
osnapPoints.push({
|
|
306
|
+
x: point.x,
|
|
307
|
+
y: point.y,
|
|
308
|
+
z: (_d = point.z) !== null && _d !== void 0 ? _d : 0,
|
|
309
|
+
type: mode
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
314
|
+
finally {
|
|
315
|
+
try {
|
|
316
|
+
if (localSnapPoints_1_1 && !localSnapPoints_1_1.done && (_b = localSnapPoints_1.return)) _b.call(localSnapPoints_1);
|
|
317
|
+
}
|
|
318
|
+
finally { if (e_3) throw e_3.error; }
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
found.entity.subGetOsnapPoints(mode, localPick, localLast, localSnapPoints);
|
|
323
|
+
try {
|
|
324
|
+
for (var localSnapPoints_2 = (e_4 = void 0, __values(localSnapPoints)), localSnapPoints_2_1 = localSnapPoints_2.next(); !localSnapPoints_2_1.done; localSnapPoints_2_1 = localSnapPoints_2.next()) {
|
|
325
|
+
var point = localSnapPoints_2_1.value;
|
|
326
|
+
var world = new AcGePoint3d(point).applyMatrix4(found.transform);
|
|
327
|
+
osnapPoints.push({
|
|
328
|
+
x: world.x,
|
|
329
|
+
y: world.y,
|
|
330
|
+
z: world.z,
|
|
331
|
+
type: mode
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
336
|
+
finally {
|
|
337
|
+
try {
|
|
338
|
+
if (localSnapPoints_2_1 && !localSnapPoints_2_1.done && (_c = localSnapPoints_2.return)) _c.call(localSnapPoints_2);
|
|
339
|
+
}
|
|
340
|
+
finally { if (e_4) throw e_4.error; }
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
346
|
+
finally {
|
|
347
|
+
try {
|
|
348
|
+
if (modes_1_1 && !modes_1_1.done && (_a = modes_1.return)) _a.call(modes_1);
|
|
349
|
+
}
|
|
350
|
+
finally { if (e_2) throw e_2.error; }
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
AcEdOsnapResolver.childBoxHint = function (child) {
|
|
354
|
+
if (child.minX == null ||
|
|
355
|
+
child.minY == null ||
|
|
356
|
+
child.maxX == null ||
|
|
357
|
+
child.maxY == null) {
|
|
358
|
+
return undefined;
|
|
359
|
+
}
|
|
360
|
+
return {
|
|
361
|
+
x: (child.minX + child.maxX) / 2,
|
|
362
|
+
y: (child.minY + child.maxY) / 2,
|
|
363
|
+
z: 0
|
|
364
|
+
};
|
|
365
|
+
};
|
|
366
|
+
AcEdOsnapResolver.prototype.collectIntersectionOsnapPoints = function (pickResults, db, osnapPoints, cursorWcs, threshold) {
|
|
367
|
+
var e_5, _a, e_6, _b, e_7, _c;
|
|
272
368
|
var sources = [];
|
|
273
369
|
var seenKeys = new Set();
|
|
274
370
|
var tryAdd = function (source) {
|
|
@@ -290,28 +386,37 @@ var AcEdOsnapResolver = /** @class */ (function () {
|
|
|
290
386
|
break;
|
|
291
387
|
if (!isEffectiveSpatialQueryHit(item))
|
|
292
388
|
continue;
|
|
293
|
-
var entity =
|
|
389
|
+
var entity = AcEdOsnapResolver.getEntityById(db, item.id);
|
|
294
390
|
if (!entity)
|
|
295
391
|
continue;
|
|
392
|
+
var viewportId = item.viewportId;
|
|
393
|
+
// Drill-through hits without a live mapper must not be treated as
|
|
394
|
+
// paper-space geometry — their boxes are still in model WCS.
|
|
395
|
+
if (viewportId != null &&
|
|
396
|
+
!this._view.getViewportCoordinateMapper(viewportId)) {
|
|
397
|
+
continue;
|
|
398
|
+
}
|
|
296
399
|
if (item.children && item.children.length > 0) {
|
|
297
400
|
try {
|
|
298
401
|
// INSERT (and other hierarchical hits): only the aperture-hit children.
|
|
299
402
|
// Never expand the whole block definition into INT snap.
|
|
300
|
-
for (var _d = (
|
|
403
|
+
for (var _d = (e_6 = void 0, __values(item.children)), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
301
404
|
var child = _e.value;
|
|
302
405
|
if (sources.length >= MAX_INTERSECTION_SOURCES)
|
|
303
406
|
break;
|
|
304
|
-
|
|
305
|
-
|
|
407
|
+
// Keep the `#n` occurrence suffix so two instances of the same part
|
|
408
|
+
// do not collapse to one INT source (#745).
|
|
409
|
+
var key = "".concat(item.id, ":").concat(child.id);
|
|
306
410
|
if (entity instanceof AcDbBlockReference) {
|
|
307
|
-
var found = resolveBlockSubEntity(entity,
|
|
411
|
+
var found = resolveBlockSubEntity(entity, child.id, new AcGeMatrix3d(), AcEdOsnapResolver.childBoxHint(child));
|
|
308
412
|
if (!found)
|
|
309
413
|
continue;
|
|
310
414
|
tryAdd({
|
|
311
415
|
key: key,
|
|
312
416
|
box: boxFromSpatialItem(child),
|
|
313
417
|
entity: found.entity,
|
|
314
|
-
transform: found.transform
|
|
418
|
+
transform: found.transform,
|
|
419
|
+
viewportId: viewportId
|
|
315
420
|
});
|
|
316
421
|
}
|
|
317
422
|
else {
|
|
@@ -319,17 +424,18 @@ var AcEdOsnapResolver = /** @class */ (function () {
|
|
|
319
424
|
key: key,
|
|
320
425
|
box: boxFromSpatialItem(child),
|
|
321
426
|
entity: entity,
|
|
322
|
-
transform: new AcGeMatrix3d()
|
|
427
|
+
transform: new AcGeMatrix3d(),
|
|
428
|
+
viewportId: viewportId
|
|
323
429
|
});
|
|
324
430
|
}
|
|
325
431
|
}
|
|
326
432
|
}
|
|
327
|
-
catch (
|
|
433
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
328
434
|
finally {
|
|
329
435
|
try {
|
|
330
436
|
if (_e && !_e.done && (_b = _d.return)) _b.call(_d);
|
|
331
437
|
}
|
|
332
|
-
finally { if (
|
|
438
|
+
finally { if (e_6) throw e_6.error; }
|
|
333
439
|
}
|
|
334
440
|
continue;
|
|
335
441
|
}
|
|
@@ -342,16 +448,17 @@ var AcEdOsnapResolver = /** @class */ (function () {
|
|
|
342
448
|
key: item.id,
|
|
343
449
|
box: entity.geometricExtents,
|
|
344
450
|
entity: entity,
|
|
345
|
-
transform: new AcGeMatrix3d()
|
|
451
|
+
transform: new AcGeMatrix3d(),
|
|
452
|
+
viewportId: viewportId
|
|
346
453
|
});
|
|
347
454
|
}
|
|
348
455
|
}
|
|
349
|
-
catch (
|
|
456
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
350
457
|
finally {
|
|
351
458
|
try {
|
|
352
459
|
if (pickResults_1_1 && !pickResults_1_1.done && (_a = pickResults_1.return)) _a.call(pickResults_1);
|
|
353
460
|
}
|
|
354
|
-
finally { if (
|
|
461
|
+
finally { if (e_5) throw e_5.error; }
|
|
355
462
|
}
|
|
356
463
|
if (sources.length < 2)
|
|
357
464
|
return;
|
|
@@ -364,79 +471,186 @@ var AcEdOsnapResolver = /** @class */ (function () {
|
|
|
364
471
|
return;
|
|
365
472
|
if (performance.now() - started > INTERSECTION_TIME_BUDGET_MS)
|
|
366
473
|
return;
|
|
474
|
+
if (sources[i].viewportId !== sources[j].viewportId)
|
|
475
|
+
continue;
|
|
367
476
|
if (!boxesOverlapXY(sources[i].box, sources[j].box))
|
|
368
477
|
continue;
|
|
369
478
|
pairTests++;
|
|
479
|
+
var viewportId = sources[i].viewportId;
|
|
480
|
+
var mapper = viewportId != null
|
|
481
|
+
? this._view.getViewportCoordinateMapper(viewportId)
|
|
482
|
+
: undefined;
|
|
483
|
+
// Sources with a viewportId were only added when a mapper existed;
|
|
484
|
+
// if it disappeared mid-resolve, skip rather than emit model WCS.
|
|
485
|
+
if (viewportId != null && !mapper)
|
|
486
|
+
continue;
|
|
370
487
|
var points = intersectSources(sources[i], sources[j]);
|
|
371
488
|
try {
|
|
372
|
-
for (var points_1 = (
|
|
489
|
+
for (var points_1 = (e_7 = void 0, __values(points)), points_1_1 = points_1.next(); !points_1_1.done; points_1_1 = points_1.next()) {
|
|
373
490
|
var point = points_1_1.value;
|
|
374
|
-
var
|
|
375
|
-
|
|
491
|
+
var paperPoint = mapper ? mapper.modelToPaper(point) : point;
|
|
492
|
+
if (mapper && !mapper.containsPaperPoint(paperPoint))
|
|
493
|
+
continue;
|
|
494
|
+
var dx = paperPoint.x - cursorWcs.x;
|
|
495
|
+
var dy = paperPoint.y - cursorWcs.y;
|
|
376
496
|
if (dx * dx + dy * dy > threshSq)
|
|
377
497
|
continue;
|
|
378
498
|
osnapPoints.push({
|
|
379
|
-
x:
|
|
380
|
-
y:
|
|
499
|
+
x: paperPoint.x,
|
|
500
|
+
y: paperPoint.y,
|
|
381
501
|
z: point.z,
|
|
382
502
|
type: AcDbOsnapMode.Intersection
|
|
383
503
|
});
|
|
384
504
|
}
|
|
385
505
|
}
|
|
386
|
-
catch (
|
|
506
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
387
507
|
finally {
|
|
388
508
|
try {
|
|
389
509
|
if (points_1_1 && !points_1_1.done && (_c = points_1.return)) _c.call(points_1);
|
|
390
510
|
}
|
|
391
|
-
finally { if (
|
|
511
|
+
finally { if (e_7) throw e_7.error; }
|
|
392
512
|
}
|
|
393
513
|
}
|
|
394
514
|
}
|
|
395
515
|
};
|
|
516
|
+
/**
|
|
517
|
+
* Looks an entity up by id with no block-table-record owner check, so a
|
|
518
|
+
* hit is resolved the same way whether it came from the active layout's
|
|
519
|
+
* own spatial index (paper space) or was drilled through a paper-space
|
|
520
|
+
* viewport into model space (#746) — a BTR-scoped `getIdAt` only resolves
|
|
521
|
+
* entities it owns and silently drops every other hit.
|
|
522
|
+
*/
|
|
523
|
+
AcEdOsnapResolver.getEntityById = function (db, id) {
|
|
524
|
+
var object = db.getObjectById(id);
|
|
525
|
+
return object instanceof AcDbEntity ? object : undefined;
|
|
526
|
+
};
|
|
396
527
|
AcEdOsnapResolver.prototype.collectOsnapPoints = function (cursorWcs, lastPoint, hitRadiusPx, threshold) {
|
|
397
528
|
var _this = this;
|
|
398
529
|
var results = this._view.pick(cursorWcs, hitRadiusPx);
|
|
399
530
|
var db = acdbHostApplicationServices().workingDatabase;
|
|
400
|
-
var modelSpace = db.tables.blockTable.modelSpace;
|
|
401
531
|
var osnapPoints = [];
|
|
402
532
|
var pickPoint = AcGeGeometryUtil.point2dToPoint3d(cursorWcs);
|
|
403
533
|
var last = AcGeGeometryUtil.point2dToPoint3d(lastPoint);
|
|
404
534
|
results.forEach(function (item) {
|
|
405
|
-
var
|
|
535
|
+
var e_8, _a;
|
|
536
|
+
var entity = AcEdOsnapResolver.getEntityById(db, item.id);
|
|
406
537
|
if (!entity)
|
|
407
538
|
return;
|
|
539
|
+
// A viewport drill-through hit's geometry is in model-space WCS: the
|
|
540
|
+
// pick/last points must be converted into that space before the
|
|
541
|
+
// query, and whatever comes back converted to paper space before it
|
|
542
|
+
// can be compared with the paper-space cursor (#746).
|
|
543
|
+
var mapper = item.viewportId != null
|
|
544
|
+
? _this._view.getViewportCoordinateMapper(item.viewportId)
|
|
545
|
+
: undefined;
|
|
546
|
+
// Never fall back to treating a tagged drill-through hit as paper
|
|
547
|
+
// space — that reintroduces the wrong-space snap from #746.
|
|
548
|
+
if (item.viewportId != null && !mapper)
|
|
549
|
+
return;
|
|
550
|
+
var queryPickPoint = mapper
|
|
551
|
+
? AcGeGeometryUtil.point2dToPoint3d(mapper.paperToModel(cursorWcs))
|
|
552
|
+
: pickPoint;
|
|
553
|
+
var queryLastPoint = mapper
|
|
554
|
+
? AcGeGeometryUtil.point2dToPoint3d(mapper.paperToModel(lastPoint))
|
|
555
|
+
: last;
|
|
556
|
+
var localPoints = [];
|
|
408
557
|
if (item.children && item.children.length > 0) {
|
|
409
558
|
item.children.forEach(function (child) {
|
|
410
|
-
|
|
559
|
+
if (entity instanceof AcDbBlockReference) {
|
|
560
|
+
var found = resolveBlockSubEntity(entity, child.id, new AcGeMatrix3d(), AcEdOsnapResolver.childBoxHint(child));
|
|
561
|
+
if (found) {
|
|
562
|
+
_this.collectOsnapPointsFromResolvedSubEntity(found, localPoints, queryPickPoint, queryLastPoint);
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
// Keep `#n` so data-model occurrence resolution can disambiguate
|
|
567
|
+
// duplicate nested INSERT parts when resolveBlockSubEntity misses.
|
|
568
|
+
_this.collectOsnapPointsInAvailableModes(entity, localPoints, queryPickPoint, queryLastPoint, child.id);
|
|
411
569
|
});
|
|
412
570
|
}
|
|
413
571
|
else {
|
|
414
|
-
_this.collectOsnapPointsInAvailableModes(entity,
|
|
572
|
+
_this.collectOsnapPointsInAvailableModes(entity, localPoints, queryPickPoint, queryLastPoint);
|
|
573
|
+
}
|
|
574
|
+
if (!mapper) {
|
|
575
|
+
osnapPoints.push.apply(osnapPoints, __spreadArray([], __read(localPoints), false));
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
578
|
+
try {
|
|
579
|
+
for (var localPoints_1 = __values(localPoints), localPoints_1_1 = localPoints_1.next(); !localPoints_1_1.done; localPoints_1_1 = localPoints_1.next()) {
|
|
580
|
+
var point = localPoints_1_1.value;
|
|
581
|
+
var paperPoint = mapper.modelToPaper(point);
|
|
582
|
+
if (!mapper.containsPaperPoint(paperPoint))
|
|
583
|
+
continue;
|
|
584
|
+
osnapPoints.push({
|
|
585
|
+
x: paperPoint.x,
|
|
586
|
+
y: paperPoint.y,
|
|
587
|
+
z: point.z,
|
|
588
|
+
type: point.type
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
593
|
+
finally {
|
|
594
|
+
try {
|
|
595
|
+
if (localPoints_1_1 && !localPoints_1_1.done && (_a = localPoints_1.return)) _a.call(localPoints_1);
|
|
596
|
+
}
|
|
597
|
+
finally { if (e_8) throw e_8.error; }
|
|
415
598
|
}
|
|
416
599
|
});
|
|
417
600
|
if (acdbHasOsnapMode(AcApSettingManager.instance.osnapModes, AcDbOsnapMode.Intersection)) {
|
|
418
|
-
this.collectIntersectionOsnapPoints(results,
|
|
601
|
+
this.collectIntersectionOsnapPoints(results, db, osnapPoints, cursorWcs, threshold);
|
|
419
602
|
}
|
|
420
|
-
this.updateAcquiredCenters(results,
|
|
603
|
+
this.updateAcquiredCenters(results, db, pickPoint);
|
|
421
604
|
return osnapPoints;
|
|
422
605
|
};
|
|
423
|
-
AcEdOsnapResolver.prototype.updateAcquiredCenters = function (results,
|
|
606
|
+
AcEdOsnapResolver.prototype.updateAcquiredCenters = function (results, db, pickPoint) {
|
|
607
|
+
var _this = this;
|
|
424
608
|
if (!acdbHasOsnapMode(AcApSettingManager.instance.osnapModes, AcDbOsnapMode.Center)) {
|
|
425
609
|
this._acquiredCenters = [];
|
|
426
610
|
return;
|
|
427
611
|
}
|
|
428
612
|
var hovered = [];
|
|
429
613
|
results.forEach(function (item) {
|
|
430
|
-
var
|
|
614
|
+
var e_9, _a;
|
|
615
|
+
var entity = AcEdOsnapResolver.getEntityById(db, item.id);
|
|
431
616
|
if (!entity)
|
|
432
617
|
return;
|
|
618
|
+
var mapper = item.viewportId != null
|
|
619
|
+
? _this._view.getViewportCoordinateMapper(item.viewportId)
|
|
620
|
+
: undefined;
|
|
621
|
+
if (item.viewportId != null && !mapper)
|
|
622
|
+
return;
|
|
623
|
+
var queryPickPoint = mapper
|
|
624
|
+
? AcGeGeometryUtil.point2dToPoint3d(mapper.paperToModel(pickPoint))
|
|
625
|
+
: pickPoint;
|
|
626
|
+
var localMarks = [];
|
|
433
627
|
if (item.children && item.children.length > 0) {
|
|
434
628
|
item.children.forEach(function (child) {
|
|
435
|
-
|
|
629
|
+
localMarks.push.apply(localMarks, __spreadArray([], __read(collectCenterMarksFromEntity(entity, queryPickPoint, child.id)), false));
|
|
436
630
|
});
|
|
437
631
|
}
|
|
438
632
|
else {
|
|
439
|
-
|
|
633
|
+
localMarks.push.apply(localMarks, __spreadArray([], __read(collectCenterMarksFromEntity(entity, queryPickPoint)), false));
|
|
634
|
+
}
|
|
635
|
+
if (!mapper) {
|
|
636
|
+
hovered.push.apply(hovered, __spreadArray([], __read(localMarks), false));
|
|
637
|
+
return;
|
|
638
|
+
}
|
|
639
|
+
try {
|
|
640
|
+
for (var localMarks_1 = __values(localMarks), localMarks_1_1 = localMarks_1.next(); !localMarks_1_1.done; localMarks_1_1 = localMarks_1.next()) {
|
|
641
|
+
var mark = localMarks_1_1.value;
|
|
642
|
+
var paperPoint = mapper.modelToPaper(mark);
|
|
643
|
+
if (!mapper.containsPaperPoint(paperPoint))
|
|
644
|
+
continue;
|
|
645
|
+
hovered.push(__assign(__assign({}, mark), { x: paperPoint.x, y: paperPoint.y }));
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
649
|
+
finally {
|
|
650
|
+
try {
|
|
651
|
+
if (localMarks_1_1 && !localMarks_1_1.done && (_a = localMarks_1.return)) _a.call(localMarks_1);
|
|
652
|
+
}
|
|
653
|
+
finally { if (e_9) throw e_9.error; }
|
|
440
654
|
}
|
|
441
655
|
});
|
|
442
656
|
this._acquiredCenters = mergeAcquiredCenterMarks(this._acquiredCenters, hovered);
|