@mlightcad/cad-simple-viewer 1.3.3 → 1.4.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/dist/index.js +3597 -3357
- package/dist/index.umd.cjs +196 -202
- package/dist/libredwg-parser-worker.js +176 -176
- package/dist/mtext-renderer-worker.js +468 -466
- package/lib/app/AcApContext.d.ts.map +1 -1
- package/lib/app/AcApContext.js +4 -0
- package/lib/app/AcApContext.js.map +1 -1
- package/lib/app/AcApDocManager.d.ts +14 -2
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +19 -7
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/command/AcApEraseCmd.d.ts +14 -0
- package/lib/command/AcApEraseCmd.d.ts.map +1 -0
- package/lib/command/AcApEraseCmd.js +40 -0
- package/lib/command/AcApEraseCmd.js.map +1 -0
- package/lib/command/index.d.ts +1 -0
- package/lib/command/index.d.ts.map +1 -1
- package/lib/command/index.js +1 -0
- package/lib/command/index.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInput.js +33 -21
- package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
- package/lib/editor/view/AcEdBaseView.d.ts +11 -14
- package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
- package/lib/editor/view/AcEdBaseView.js +6 -3
- package/lib/editor/view/AcEdBaseView.js.map +1 -1
- package/lib/editor/view/AcEdSpatialQueryResult.d.ts +15 -0
- package/lib/editor/view/AcEdSpatialQueryResult.d.ts.map +1 -0
- package/lib/editor/view/AcEdSpatialQueryResult.js +2 -0
- package/lib/editor/view/AcEdSpatialQueryResult.js.map +1 -0
- package/lib/editor/view/index.d.ts +1 -0
- package/lib/editor/view/index.d.ts.map +1 -1
- package/lib/editor/view/index.js +1 -0
- package/lib/editor/view/index.js.map +1 -1
- package/lib/i18n/en/command.d.ts +1 -0
- package/lib/i18n/en/command.d.ts.map +1 -1
- package/lib/i18n/en/command.js +1 -0
- package/lib/i18n/en/command.js.map +1 -1
- package/lib/i18n/zh/command.d.ts +1 -0
- package/lib/i18n/zh/command.d.ts.map +1 -1
- package/lib/i18n/zh/command.js +1 -0
- package/lib/i18n/zh/command.js.map +1 -1
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +54 -0
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -0
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +191 -0
- package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -0
- package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts +36 -0
- package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts.map +1 -0
- package/lib/spatialIndex/AcTrLinearSpatialIndex.js +85 -0
- package/lib/spatialIndex/AcTrLinearSpatialIndex.js.map +1 -0
- package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts +16 -0
- package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts.map +1 -0
- package/lib/spatialIndex/AcTrRBushSpatialIndex.js +40 -0
- package/lib/spatialIndex/AcTrRBushSpatialIndex.js.map +1 -0
- package/lib/spatialIndex/AcTrSpatialIndex.d.ts +77 -0
- package/lib/spatialIndex/AcTrSpatialIndex.d.ts.map +1 -0
- package/lib/spatialIndex/AcTrSpatialIndex.js +2 -0
- package/lib/spatialIndex/AcTrSpatialIndex.js.map +1 -0
- package/lib/spatialIndex/index.d.ts +3 -0
- package/lib/spatialIndex/index.d.ts.map +1 -0
- package/lib/spatialIndex/index.js +3 -0
- package/lib/spatialIndex/index.js.map +1 -0
- package/lib/view/AcTrLayer.d.ts +1 -1
- package/lib/view/AcTrLayer.d.ts.map +1 -1
- package/lib/view/AcTrLayer.js +2 -3
- package/lib/view/AcTrLayer.js.map +1 -1
- package/lib/view/AcTrLayout.d.ts +18 -18
- package/lib/view/AcTrLayout.d.ts.map +1 -1
- package/lib/view/AcTrLayout.js +50 -46
- package/lib/view/AcTrLayout.js.map +1 -1
- package/lib/view/AcTrScene.d.ts +2 -3
- package/lib/view/AcTrScene.d.ts.map +1 -1
- package/lib/view/AcTrScene.js +0 -6
- package/lib/view/AcTrScene.js.map +1 -1
- package/lib/view/AcTrView2d.d.ts +8 -9
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +29 -21
- package/lib/view/AcTrView2d.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrLayer.js","sourceRoot":"","sources":["../../src/view/AcTrLayer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AcTrLayer.js","sourceRoot":"","sources":["../../src/view/AcTrLayer.ts"],"names":[],"mappings":"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"}
|
package/lib/view/AcTrLayout.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AcDbObjectId, AcGeBox2d, AcGeBox3d } from '@mlightcad/data-model';
|
|
2
|
-
import { AcTrEntity
|
|
2
|
+
import { AcTrEntity } from '@mlightcad/three-renderer';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
|
-
import { AcEdLayerInfo
|
|
4
|
+
import { AcEdLayerInfo } from '../editor';
|
|
5
5
|
import { AcTrLayer, AcTrLayerStats } from './AcTrLayer';
|
|
6
6
|
/**
|
|
7
7
|
* Interface representing statistics for a layout.
|
|
@@ -57,13 +57,11 @@ export declare class AcTrLayout {
|
|
|
57
57
|
/** The group that contains all entities in this layout */
|
|
58
58
|
private _group;
|
|
59
59
|
/** Spatial index tree for efficient entity queries */
|
|
60
|
-
private
|
|
60
|
+
private _spatialIndex;
|
|
61
61
|
/** Bounding box containing all entities in this layout */
|
|
62
62
|
private _box;
|
|
63
63
|
/** Map of layers indexed by layer name */
|
|
64
64
|
private _layers;
|
|
65
|
-
/** Optional object for displaying snap points */
|
|
66
|
-
private _snapPointsObject?;
|
|
67
65
|
/**
|
|
68
66
|
* Creates a new layout instance.
|
|
69
67
|
* Initializes the layout with empty collections and a spatial index.
|
|
@@ -123,7 +121,7 @@ export declare class AcTrLayout {
|
|
|
123
121
|
* @param raycaster - Input raycaster to check intersection
|
|
124
122
|
* @returns True if the object intersects with the ray, false otherwise
|
|
125
123
|
*/
|
|
126
|
-
isIntersectWith(objectId: string, raycaster: THREE.Raycaster): boolean
|
|
124
|
+
isIntersectWith(objectId: string, raycaster: THREE.Raycaster): boolean;
|
|
127
125
|
/**
|
|
128
126
|
* Add one AutoCAD entity into this layout. If layer group referenced by the entity doesn't exist, create one
|
|
129
127
|
* layer group and add this entity this group.
|
|
@@ -198,13 +196,6 @@ export declare class AcTrLayout {
|
|
|
198
196
|
* @param ids - Array of entity object IDs to unselect
|
|
199
197
|
*/
|
|
200
198
|
unselect(ids: AcDbObjectId[]): void;
|
|
201
|
-
/**
|
|
202
|
-
* Sets the snap points object for this layout.
|
|
203
|
-
* Replaces any existing snap points object with the new one.
|
|
204
|
-
*
|
|
205
|
-
* @param object - The snap points object to display
|
|
206
|
-
*/
|
|
207
|
-
setSnapObject(object: AcTrObject): void;
|
|
208
199
|
/**
|
|
209
200
|
* Search entities intersected or contained in the specified bounding box.
|
|
210
201
|
* Uses the spatial index for efficient querying of entities within the given bounds.
|
|
@@ -212,13 +203,22 @@ export declare class AcTrLayout {
|
|
|
212
203
|
* @param box - Input the query bounding box (2D or 3D)
|
|
213
204
|
* @returns Return query results containing entity IDs and their bounds
|
|
214
205
|
*/
|
|
215
|
-
search(box: AcGeBox2d | AcGeBox3d):
|
|
206
|
+
search(box: AcGeBox2d | AcGeBox3d): import("../editor").AcEdSpatialQueryResultItemEx[];
|
|
216
207
|
/**
|
|
217
|
-
*
|
|
208
|
+
* Returns all layers that contain renderable entities associated with
|
|
209
|
+
* the specified AutoCAD object ID.
|
|
210
|
+
*
|
|
211
|
+
* In AutoCAD, an INSERT entity may reference multiple child entities that
|
|
212
|
+
* reside on different layers. During rendering, this engine groups entities
|
|
213
|
+
* by layer and assigns each group the INSERT entity's object ID.
|
|
214
|
+
*
|
|
215
|
+
* As a result, a single object ID (typically from an INSERT entity) may
|
|
216
|
+
* correspond to multiple layers, and this method returns all such layers.
|
|
218
217
|
*
|
|
219
|
-
* @param objectId - The object ID to search for
|
|
220
|
-
* @returns
|
|
218
|
+
* @param objectId - The AutoCAD object ID to search for (e.g. an INSERT entity ID)
|
|
219
|
+
* @returns An array of layers containing entities associated with the given object ID;
|
|
220
|
+
* returns an empty array if no matching layers are found
|
|
221
221
|
*/
|
|
222
|
-
private
|
|
222
|
+
private getLayersByObjectId;
|
|
223
223
|
}
|
|
224
224
|
//# sourceMappingURL=AcTrLayout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrLayout.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"AcTrLayout.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAa,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEvD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,+CAA+C;IAC/C,OAAO,EAAE;QACP,iDAAiD;QACjD,WAAW,EAAE,MAAM,CAAA;QACnB,4CAA4C;QAC5C,SAAS,EAAE;YACT,6CAA6C;YAC7C,IAAI,EAAE,MAAM,CAAA;YACZ,6CAA6C;YAC7C,IAAI,EAAE,MAAM,CAAA;YACZ,8CAA8C;YAC9C,KAAK,EAAE,MAAM,CAAA;YACb,0CAA0C;YAC1C,QAAQ,EAAE,MAAM,CAAA;YAChB,6CAA6C;YAC7C,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;KACF,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IACrB,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAA8B;IACnD,0DAA0D;IAC1D,OAAO,CAAC,IAAI,CAAY;IACxB,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAwB;IAEvC;;;OAGG;;IAQH;;;OAGG;IACH,IAAI,cAAc,wCAEjB;IAED;;;;OAIG;IACH,IAAI,MAAM,2BAET;IAED;;;;OAIG;IACH,IAAI,GAAG,eAEN;IAED;;;OAGG;IACH,IAAI,OAAO,IAGQ,OAAO,CADzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED;;;OAGG;IACH,IAAI,WAAW,WAId;IAED;;;OAGG;IACH,IAAI,KAAK,IA+BF,eAAe,CACrB;IAED;;;;;OAKG;IACH,KAAK;IAUL;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM;IAMlC;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAS5D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,GAAE,OAAc;IAkCxD;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAWnC;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU;IAQ/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa;IAW5B;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,aAAa;IAS/B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE;IAOzB;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE;IAO3B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAO1B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE;IAO5B;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS;IAUjC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB;CAS5B"}
|
package/lib/view/AcTrLayout.js
CHANGED
|
@@ -25,8 +25,9 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
25
25
|
}
|
|
26
26
|
return ar;
|
|
27
27
|
};
|
|
28
|
-
import
|
|
28
|
+
import { AcTrGroup } from '@mlightcad/three-renderer';
|
|
29
29
|
import * as THREE from 'three';
|
|
30
|
+
import { AcTrHierarchicalSpatialIndex } from '../spatialIndex';
|
|
30
31
|
import { AcTrLayer } from './AcTrLayer';
|
|
31
32
|
/**
|
|
32
33
|
* This class represents objects contained in one AutoCAD layout (model space or paper space).
|
|
@@ -58,7 +59,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
58
59
|
*/
|
|
59
60
|
function AcTrLayout() {
|
|
60
61
|
this._group = new THREE.Group();
|
|
61
|
-
this.
|
|
62
|
+
this._spatialIndex = new AcTrHierarchicalSpatialIndex();
|
|
62
63
|
this._box = new THREE.Box3();
|
|
63
64
|
this._layers = new Map();
|
|
64
65
|
}
|
|
@@ -178,7 +179,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
178
179
|
});
|
|
179
180
|
this._layers.clear();
|
|
180
181
|
this._box.makeEmpty();
|
|
181
|
-
this.
|
|
182
|
+
this._spatialIndex.clear();
|
|
182
183
|
return this;
|
|
183
184
|
};
|
|
184
185
|
/**
|
|
@@ -200,8 +201,13 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
200
201
|
* @returns True if the object intersects with the ray, false otherwise
|
|
201
202
|
*/
|
|
202
203
|
AcTrLayout.prototype.isIntersectWith = function (objectId, raycaster) {
|
|
203
|
-
var
|
|
204
|
-
|
|
204
|
+
var layers = this.getLayersByObjectId(objectId);
|
|
205
|
+
for (var index = 0; index < layers.length; ++index) {
|
|
206
|
+
var layer = layers[index];
|
|
207
|
+
if (layer && layer.isIntersectWith(objectId, raycaster))
|
|
208
|
+
return true;
|
|
209
|
+
}
|
|
210
|
+
return false;
|
|
205
211
|
};
|
|
206
212
|
/**
|
|
207
213
|
* Add one AutoCAD entity into this layout. If layer group referenced by the entity doesn't exist, create one
|
|
@@ -231,13 +237,17 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
231
237
|
// For infinitive line such as ray and xline, they are not used to extend box
|
|
232
238
|
if (extendBbox)
|
|
233
239
|
this._box.union(box);
|
|
234
|
-
this.
|
|
240
|
+
this._spatialIndex.insert({
|
|
235
241
|
minX: box.min.x,
|
|
236
242
|
minY: box.min.y,
|
|
237
243
|
maxX: box.max.x,
|
|
238
244
|
maxY: box.max.y,
|
|
239
245
|
id: entity.objectId
|
|
240
246
|
});
|
|
247
|
+
// If it is one block, we need to build spatial index for entities in this block
|
|
248
|
+
if (entity instanceof AcTrGroup) {
|
|
249
|
+
this._spatialIndex.createChildIndex(entity);
|
|
250
|
+
}
|
|
241
251
|
return this;
|
|
242
252
|
};
|
|
243
253
|
/**
|
|
@@ -248,11 +258,13 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
248
258
|
*/
|
|
249
259
|
AcTrLayout.prototype.removeEntity = function (objectId) {
|
|
250
260
|
var e_1, _a;
|
|
261
|
+
var result = false;
|
|
251
262
|
try {
|
|
252
263
|
for (var _b = __values(this._layers), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
253
264
|
var _d = __read(_c.value, 2), _1 = _d[0], layer = _d[1];
|
|
254
|
-
if (layer.removeEntity(objectId))
|
|
255
|
-
|
|
265
|
+
if (layer.removeEntity(objectId)) {
|
|
266
|
+
result = true;
|
|
267
|
+
}
|
|
256
268
|
}
|
|
257
269
|
}
|
|
258
270
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -262,7 +274,8 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
262
274
|
}
|
|
263
275
|
finally { if (e_1) throw e_1.error; }
|
|
264
276
|
}
|
|
265
|
-
|
|
277
|
+
this._spatialIndex.removeById(objectId);
|
|
278
|
+
return result;
|
|
266
279
|
};
|
|
267
280
|
/**
|
|
268
281
|
* Update the specified entity in this layout.
|
|
@@ -286,6 +299,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
286
299
|
}
|
|
287
300
|
finally { if (e_2) throw e_2.error; }
|
|
288
301
|
}
|
|
302
|
+
// TODO: Uodate spatial index
|
|
289
303
|
return false;
|
|
290
304
|
};
|
|
291
305
|
/**
|
|
@@ -335,10 +349,8 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
335
349
|
AcTrLayout.prototype.hover = function (ids) {
|
|
336
350
|
var _this = this;
|
|
337
351
|
ids.forEach(function (id) {
|
|
338
|
-
var
|
|
339
|
-
|
|
340
|
-
layer.hover([id]);
|
|
341
|
-
}
|
|
352
|
+
var layers = _this.getLayersByObjectId(id);
|
|
353
|
+
layers.forEach(function (layer) { return layer.hover([id]); });
|
|
342
354
|
});
|
|
343
355
|
};
|
|
344
356
|
/**
|
|
@@ -350,10 +362,8 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
350
362
|
AcTrLayout.prototype.unhover = function (ids) {
|
|
351
363
|
var _this = this;
|
|
352
364
|
ids.forEach(function (id) {
|
|
353
|
-
var
|
|
354
|
-
|
|
355
|
-
layer.unhover([id]);
|
|
356
|
-
}
|
|
365
|
+
var layers = _this.getLayersByObjectId(id);
|
|
366
|
+
layers.forEach(function (layer) { return layer.unhover([id]); });
|
|
357
367
|
});
|
|
358
368
|
};
|
|
359
369
|
/**
|
|
@@ -365,10 +375,8 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
365
375
|
AcTrLayout.prototype.select = function (ids) {
|
|
366
376
|
var _this = this;
|
|
367
377
|
ids.forEach(function (id) {
|
|
368
|
-
var
|
|
369
|
-
|
|
370
|
-
layer.select([id]);
|
|
371
|
-
}
|
|
378
|
+
var layers = _this.getLayersByObjectId(id);
|
|
379
|
+
layers.forEach(function (layer) { return layer.select([id]); });
|
|
372
380
|
});
|
|
373
381
|
};
|
|
374
382
|
/**
|
|
@@ -380,25 +388,10 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
380
388
|
AcTrLayout.prototype.unselect = function (ids) {
|
|
381
389
|
var _this = this;
|
|
382
390
|
ids.forEach(function (id) {
|
|
383
|
-
var
|
|
384
|
-
|
|
385
|
-
layer.unselect([id]);
|
|
386
|
-
}
|
|
391
|
+
var layers = _this.getLayersByObjectId(id);
|
|
392
|
+
layers.forEach(function (layer) { return layer.unselect([id]); });
|
|
387
393
|
});
|
|
388
394
|
};
|
|
389
|
-
/**
|
|
390
|
-
* Sets the snap points object for this layout.
|
|
391
|
-
* Replaces any existing snap points object with the new one.
|
|
392
|
-
*
|
|
393
|
-
* @param object - The snap points object to display
|
|
394
|
-
*/
|
|
395
|
-
AcTrLayout.prototype.setSnapObject = function (object) {
|
|
396
|
-
if (this._snapPointsObject) {
|
|
397
|
-
this._group.remove(this._snapPointsObject);
|
|
398
|
-
}
|
|
399
|
-
this._snapPointsObject = object;
|
|
400
|
-
this._group.add(object);
|
|
401
|
-
};
|
|
402
395
|
/**
|
|
403
396
|
* Search entities intersected or contained in the specified bounding box.
|
|
404
397
|
* Uses the spatial index for efficient querying of entities within the given bounds.
|
|
@@ -407,7 +400,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
407
400
|
* @returns Return query results containing entity IDs and their bounds
|
|
408
401
|
*/
|
|
409
402
|
AcTrLayout.prototype.search = function (box) {
|
|
410
|
-
var results = this.
|
|
403
|
+
var results = this._spatialIndex.search({
|
|
411
404
|
minX: box.min.x,
|
|
412
405
|
minY: box.min.y,
|
|
413
406
|
maxX: box.max.x,
|
|
@@ -416,18 +409,29 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
416
409
|
return results;
|
|
417
410
|
};
|
|
418
411
|
/**
|
|
419
|
-
*
|
|
412
|
+
* Returns all layers that contain renderable entities associated with
|
|
413
|
+
* the specified AutoCAD object ID.
|
|
414
|
+
*
|
|
415
|
+
* In AutoCAD, an INSERT entity may reference multiple child entities that
|
|
416
|
+
* reside on different layers. During rendering, this engine groups entities
|
|
417
|
+
* by layer and assigns each group the INSERT entity's object ID.
|
|
420
418
|
*
|
|
421
|
-
*
|
|
422
|
-
*
|
|
419
|
+
* As a result, a single object ID (typically from an INSERT entity) may
|
|
420
|
+
* correspond to multiple layers, and this method returns all such layers.
|
|
421
|
+
*
|
|
422
|
+
* @param objectId - The AutoCAD object ID to search for (e.g. an INSERT entity ID)
|
|
423
|
+
* @returns An array of layers containing entities associated with the given object ID;
|
|
424
|
+
* returns an empty array if no matching layers are found
|
|
423
425
|
*/
|
|
424
|
-
AcTrLayout.prototype.
|
|
426
|
+
AcTrLayout.prototype.getLayersByObjectId = function (objectId) {
|
|
425
427
|
var e_3, _a;
|
|
428
|
+
var layers = [];
|
|
426
429
|
try {
|
|
427
430
|
for (var _b = __values(this._layers), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
428
431
|
var _d = __read(_c.value, 2), _3 = _d[0], layer = _d[1];
|
|
429
|
-
if (layer.hasEntity(objectId))
|
|
430
|
-
|
|
432
|
+
if (layer.hasEntity(objectId)) {
|
|
433
|
+
layers.push(layer);
|
|
434
|
+
}
|
|
431
435
|
}
|
|
432
436
|
}
|
|
433
437
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
@@ -437,7 +441,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
437
441
|
}
|
|
438
442
|
finally { if (e_3) throw e_3.error; }
|
|
439
443
|
}
|
|
440
|
-
return
|
|
444
|
+
return layers;
|
|
441
445
|
};
|
|
442
446
|
return AcTrLayout;
|
|
443
447
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrLayout.js","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"AcTrLayout.js","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":"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"}
|
package/lib/view/AcTrScene.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AcDbObjectId, AcGeBox2d, AcGeBox3d } from '@mlightcad/data-model';
|
|
2
|
-
import { AcTrEntity
|
|
2
|
+
import { AcTrEntity } from '@mlightcad/three-renderer';
|
|
3
3
|
import { AcEdLayerInfo } from 'editor';
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { AcTrLayer } from './AcTrLayer';
|
|
@@ -136,7 +136,7 @@ export declare class AcTrScene {
|
|
|
136
136
|
* @param box Input the query bounding box
|
|
137
137
|
* @returns Return query results
|
|
138
138
|
*/
|
|
139
|
-
search(box: AcGeBox2d | AcGeBox3d): import("editor").
|
|
139
|
+
search(box: AcGeBox2d | AcGeBox3d): import("editor").AcEdSpatialQueryResultItemEx[];
|
|
140
140
|
addLayer(layer: AcEdLayerInfo): AcTrLayer[];
|
|
141
141
|
updateLayer(layer: AcEdLayerInfo): AcTrLayer[];
|
|
142
142
|
/**
|
|
@@ -171,6 +171,5 @@ export declare class AcTrScene {
|
|
|
171
171
|
* @returns Return true if update the specified entity successfully. Otherwise, return false.
|
|
172
172
|
*/
|
|
173
173
|
updateEntity(entity: AcTrEntity): boolean;
|
|
174
|
-
setSnapObject(object: AcTrObject): this;
|
|
175
174
|
}
|
|
176
175
|
//# sourceMappingURL=AcTrScene.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrScene.d.ts","sourceRoot":"","sources":["../../src/view/AcTrScene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"AcTrScene.d.ts","sourceRoot":"","sources":["../../src/view/AcTrScene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAwB,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,SAAS;IACpB,2CAA2C;IAC3C,OAAO,CAAC,MAAM,CAAa;IAC3B,wCAAwC;IACxC,OAAO,CAAC,OAAO,CAA4B;IAC3C,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,wCAAwC;IACxC,OAAO,CAAC,kBAAkB,CAAc;IACxC,mCAAmC;IACnC,OAAO,CAAC,gBAAgB,CAAc;IACtC,gCAAgC;IAChC,OAAO,CAAC,iBAAiB,CAAsB;IAE/C;;;;OAIG;;IAUH;;OAEG;IACH,IAAI,MAAM,+BAET;IAED;;OAEG;IACH,IAAI,OAAO,4BAEV;IAED;;OAEG;IACH,IAAI,GAAG,2BAEN;IAED;;OAEG;IACH,IAAI,aAAa,gBAEhB;IAED;;OAEG;IACH,IAAI,eAAe,IAGQ,YAAY,CADtC;IACD,IAAI,eAAe,CAAC,KAAK,EAAE,YAAY,EAOtC;IAED;;OAEG;IACH,IAAI,iBAAiB,IAGQ,MAAM,CADlC;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAKlC;IAED;;OAEG;IACH,IAAI,YAAY,2BAKf;IAED;;OAEG;IACH,IAAI,gBAAgB,2BAKnB;IAED;;OAEG;IACH,IAAI,KAAK;;MAMR;IAED;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,YAAY;IAYpC;;;OAGG;IACH,KAAK;IAaL;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE;IASzB;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE;IAS3B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAS1B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE;IAS5B;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS;IAKjC,QAAQ,CAAC,KAAK,EAAE,aAAa;IAU7B,WAAW,CAAC,KAAK,EAAE,aAAa;IAUhC;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,UAAU;IAIrC;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,YAAY;IAI5C;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,GAAE,OAAc;IAexD;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAOnC;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU;CAMhC"}
|
package/lib/view/AcTrScene.js
CHANGED
|
@@ -385,12 +385,6 @@ var AcTrScene = /** @class */ (function () {
|
|
|
385
385
|
}
|
|
386
386
|
return false;
|
|
387
387
|
};
|
|
388
|
-
AcTrScene.prototype.setSnapObject = function (object) {
|
|
389
|
-
this._layouts.forEach(function (layout) {
|
|
390
|
-
layout.setSnapObject(object);
|
|
391
|
-
});
|
|
392
|
-
return this;
|
|
393
|
-
};
|
|
394
388
|
return AcTrScene;
|
|
395
389
|
}());
|
|
396
390
|
export { AcTrScene };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrScene.js","sourceRoot":"","sources":["../../src/view/AcTrScene.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"AcTrScene.js","sourceRoot":"","sources":["../../src/view/AcTrScene.ts"],"names":[],"mappings":"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"}
|
package/lib/view/AcTrView2d.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AcDbEntity, AcDbLayerTableRecord, AcDbLayerTableRecordAttrs, AcDbLayout, AcDbObjectId, AcGeBox2d, AcGeBox3d, AcGePoint2d, AcGePoint2dLike } from '@mlightcad/data-model';
|
|
2
2
|
import { AcTrRenderer } from '@mlightcad/three-renderer';
|
|
3
|
-
import { AcEdBaseView, AcEdCalculateSizeCallback, AcEdViewMode } from '../editor';
|
|
3
|
+
import { AcEdBaseView, AcEdCalculateSizeCallback, AcEdSpatialQueryResultItemEx, AcEdViewMode } from '../editor';
|
|
4
4
|
import { AcTrLayoutView } from './AcTrLayoutView';
|
|
5
5
|
import { AcTrScene } from './AcTrScene';
|
|
6
6
|
/**
|
|
@@ -8,9 +8,9 @@ import { AcTrScene } from './AcTrScene';
|
|
|
8
8
|
*/
|
|
9
9
|
export interface AcTrView2dOptions {
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Container HTML element used by renderer
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
container?: HTMLElement;
|
|
14
14
|
/**
|
|
15
15
|
* Callback function used to calculate size of canvas when window resized
|
|
16
16
|
*/
|
|
@@ -64,7 +64,7 @@ export declare class AcTrView2d extends AcEdBaseView {
|
|
|
64
64
|
* Creates a new 2D CAD viewer instance.
|
|
65
65
|
*
|
|
66
66
|
* @param options - Configuration options for the viewer
|
|
67
|
-
* @param options.
|
|
67
|
+
* @param options.container - Optional HTML container element. If not provided, a new container will be created
|
|
68
68
|
* @param options.calculateSizeCallback - Optional callback function to calculate canvas size on window resize
|
|
69
69
|
* @param options.background - Optional background color as hex number (default: 0x000000)
|
|
70
70
|
*/
|
|
@@ -182,11 +182,11 @@ export declare class AcTrView2d extends AcEdBaseView {
|
|
|
182
182
|
/**
|
|
183
183
|
* @inheritdoc
|
|
184
184
|
*/
|
|
185
|
-
pick(point?: AcGePoint2dLike, hitRadius?: number):
|
|
185
|
+
pick(point?: AcGePoint2dLike, hitRadius?: number): AcEdSpatialQueryResultItemEx[];
|
|
186
186
|
/**
|
|
187
187
|
* @inheritdoc
|
|
188
188
|
*/
|
|
189
|
-
search(box: AcGeBox2d | AcGeBox3d):
|
|
189
|
+
search(box: AcGeBox2d | AcGeBox3d): AcEdSpatialQueryResultItemEx[];
|
|
190
190
|
/**
|
|
191
191
|
* @inheritdoc
|
|
192
192
|
*/
|
|
@@ -218,10 +218,9 @@ export declare class AcTrView2d extends AcEdBaseView {
|
|
|
218
218
|
*/
|
|
219
219
|
addEntity(entity: AcDbEntity | AcDbEntity[]): void;
|
|
220
220
|
/**
|
|
221
|
-
*
|
|
222
|
-
* @param objectId Input the object id of the entity to remove
|
|
221
|
+
* @inheritdoc
|
|
223
222
|
*/
|
|
224
|
-
removeEntity(
|
|
223
|
+
removeEntity(entity: AcDbEntity | AcDbEntity[]): void;
|
|
225
224
|
/**
|
|
226
225
|
* @inheritdoc
|
|
227
226
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrView2d.d.ts","sourceRoot":"","sources":["../../src/view/AcTrView2d.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,oBAAoB,EACpB,yBAAyB,EACzB,UAAU,EACV,YAAY,EAKZ,SAAS,EACT,SAAS,EACT,WAAW,EACX,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAGL,YAAY,EAEb,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EACL,YAAY,EACZ,yBAAyB,EAGzB,YAAY,EAEb,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"AcTrView2d.d.ts","sourceRoot":"","sources":["../../src/view/AcTrView2d.ts"],"names":[],"mappings":"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"}
|
package/lib/view/AcTrView2d.js
CHANGED
|
@@ -75,7 +75,7 @@ import { acdbHostApplicationServices, AcDbRasterImage, AcDbRay, AcDbViewport, Ac
|
|
|
75
75
|
import { AcTrEntity, AcTrGroup, AcTrRenderer, AcTrViewportView } from '@mlightcad/three-renderer';
|
|
76
76
|
import * as THREE from 'three';
|
|
77
77
|
import Stats from 'three/examples/jsm/libs/stats.module';
|
|
78
|
-
import { AcApSettingManager } from '../app';
|
|
78
|
+
import { AcApDocManager, AcApSettingManager } from '../app';
|
|
79
79
|
import { AcEdBaseView, AcEdConditionWaiter, AcEdCorsorType, AcEdViewMode, eventBus } from '../editor';
|
|
80
80
|
import { AcTrGeometryUtil } from '../util';
|
|
81
81
|
import { AcTrLayoutView } from './AcTrLayoutView';
|
|
@@ -114,23 +114,23 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
114
114
|
* Creates a new 2D CAD viewer instance.
|
|
115
115
|
*
|
|
116
116
|
* @param options - Configuration options for the viewer
|
|
117
|
-
* @param options.
|
|
117
|
+
* @param options.container - Optional HTML container element. If not provided, a new container will be created
|
|
118
118
|
* @param options.calculateSizeCallback - Optional callback function to calculate canvas size on window resize
|
|
119
119
|
* @param options.background - Optional background color as hex number (default: 0x000000)
|
|
120
120
|
*/
|
|
121
121
|
function AcTrView2d(options) {
|
|
122
122
|
if (options === void 0) { options = DEFAULT_VIEW_2D_OPTIONS; }
|
|
123
123
|
var _this = this;
|
|
124
|
+
var _a;
|
|
124
125
|
var mergedOptions = __assign(__assign({}, DEFAULT_VIEW_2D_OPTIONS), options);
|
|
126
|
+
var container = (_a = mergedOptions.container) !== null && _a !== void 0 ? _a : document.createElement('div');
|
|
127
|
+
mergedOptions.container = container;
|
|
125
128
|
var renderer = new THREE.WebGLRenderer({
|
|
126
129
|
antialias: true,
|
|
127
130
|
alpha: true,
|
|
128
|
-
canvas: options.canvas
|
|
129
131
|
});
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
_this = _super.call(this, mergedOptions.canvas) || this;
|
|
132
|
+
container.appendChild(renderer.domElement);
|
|
133
|
+
_this = _super.call(this, renderer.domElement) || this;
|
|
134
134
|
if (options.calculateSizeCallback) {
|
|
135
135
|
_this.setCalculateSizeCallback(options.calculateSizeCallback);
|
|
136
136
|
}
|
|
@@ -164,8 +164,13 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
164
164
|
// such as the canvas or the entire document. This can interfere with other event listeners you
|
|
165
165
|
// add, including the keydown event.
|
|
166
166
|
document.addEventListener('keydown', function (e) {
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
switch (e.code) {
|
|
168
|
+
case 'Escape':
|
|
169
|
+
_this.selectionSet.clear();
|
|
170
|
+
break;
|
|
171
|
+
case 'Delete':
|
|
172
|
+
AcApDocManager.instance.sendStringToExecute('erase');
|
|
173
|
+
break;
|
|
169
174
|
}
|
|
170
175
|
});
|
|
171
176
|
acdbHostApplicationServices().layoutManager.events.layoutSwitched.addEventListener(function (args) {
|
|
@@ -437,7 +442,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
437
442
|
firstQueryResults.forEach(function (item) {
|
|
438
443
|
var objectId = item.id;
|
|
439
444
|
if (activeLayout.isIntersectWith(objectId, raycaster_1)) {
|
|
440
|
-
results.push(
|
|
445
|
+
results.push(item);
|
|
441
446
|
}
|
|
442
447
|
});
|
|
443
448
|
}
|
|
@@ -455,7 +460,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
455
460
|
AcTrView2d.prototype.select = function (point) {
|
|
456
461
|
var idsAdded = [];
|
|
457
462
|
var results = this.pick(point);
|
|
458
|
-
results.forEach(function (
|
|
463
|
+
results.forEach(function (item) { return idsAdded.push(item.id); });
|
|
459
464
|
if (idsAdded.length > 0)
|
|
460
465
|
this.selectionSet.add(idsAdded);
|
|
461
466
|
};
|
|
@@ -557,11 +562,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
557
562
|
}); });
|
|
558
563
|
};
|
|
559
564
|
/**
|
|
560
|
-
*
|
|
561
|
-
* @param objectId Input the object id of the entity to remove
|
|
565
|
+
* @inheritdoc
|
|
562
566
|
*/
|
|
563
|
-
AcTrView2d.prototype.removeEntity = function (
|
|
564
|
-
this
|
|
567
|
+
AcTrView2d.prototype.removeEntity = function (entity) {
|
|
568
|
+
var _this = this;
|
|
569
|
+
var entities = Array.isArray(entity) ? entity : [entity];
|
|
570
|
+
entities.forEach(function (entity) { return _this._scene.removeEntity(entity.objectId); });
|
|
565
571
|
};
|
|
566
572
|
/**
|
|
567
573
|
* @inheritdoc
|
|
@@ -635,12 +641,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
635
641
|
this._isDirty = this._scene.unhover([id]);
|
|
636
642
|
};
|
|
637
643
|
AcTrView2d.prototype.createScene = function () {
|
|
638
|
-
|
|
639
|
-
var scene = new AcTrScene();
|
|
640
|
-
scene.layouts.forEach(function (layout) {
|
|
641
|
-
layout.setSnapObject(_this.renderer.createObject());
|
|
642
|
-
});
|
|
643
|
-
return scene;
|
|
644
|
+
return new AcTrScene();
|
|
644
645
|
};
|
|
645
646
|
AcTrView2d.prototype.createStats = function (show) {
|
|
646
647
|
var stats = new Stats();
|
|
@@ -821,6 +822,12 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
821
822
|
var groupLayerName = group.layerName;
|
|
822
823
|
var groupBox = group.box;
|
|
823
824
|
objectsGroupByLayer.forEach(function (objects, layerName) {
|
|
825
|
+
// In AutoCAD, an INSERT entity may reference multiple child entities that
|
|
826
|
+
// reside on different layers. During rendering, this engine groups entities
|
|
827
|
+
// by layer and assigns each group the INSERT entity's object ID.
|
|
828
|
+
// As a result, a single object ID (typically from an INSERT entity) may
|
|
829
|
+
// correspond to multiple layers. However, in this layer its object id is still
|
|
830
|
+
// uniqiue.
|
|
824
831
|
var entity = new AcTrEntity(styleManager);
|
|
825
832
|
entity.applyMatrix4(group.matrix);
|
|
826
833
|
entity.objectId = groupObjectId;
|
|
@@ -838,6 +845,7 @@ var AcTrView2d = /** @class */ (function (_super) {
|
|
|
838
845
|
_this._scene.addEntity(entity, true);
|
|
839
846
|
entity.dispose();
|
|
840
847
|
});
|
|
848
|
+
group.dispose();
|
|
841
849
|
this._isDirty = true;
|
|
842
850
|
};
|
|
843
851
|
AcTrView2d.prototype.decreaseNumOfEntitiesToProcess = function () {
|