@itwin/frontend-tiles 3.7.16 → 3.8.0-dev.1

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.
Files changed (69) hide show
  1. package/.rush/temp/61b66a377d49d37a2778c80351320f877461ed42.log +10 -0
  2. package/.rush/temp/operation/build_ci/state.json +1 -1
  3. package/.rush/temp/shrinkwrap-deps.json +14 -12
  4. package/CHANGELOG.json +6 -0
  5. package/CHANGELOG.md +6 -1
  6. package/lib/cjs/BatchedSpatialTileTreeRefs.d.ts +4 -4
  7. package/lib/cjs/BatchedSpatialTileTreeRefs.js +133 -133
  8. package/lib/cjs/BatchedSpatialTileTreeRefs.js.map +1 -1
  9. package/lib/cjs/BatchedTile.d.ts +24 -24
  10. package/lib/cjs/BatchedTile.js +168 -168
  11. package/lib/cjs/BatchedTile.js.map +1 -1
  12. package/lib/cjs/BatchedTileContentReader.d.ts +22 -22
  13. package/lib/cjs/BatchedTileContentReader.js +76 -76
  14. package/lib/cjs/BatchedTileContentReader.js.map +1 -1
  15. package/lib/cjs/BatchedTileTree.d.ts +22 -22
  16. package/lib/cjs/BatchedTileTree.js +52 -52
  17. package/lib/cjs/BatchedTileTree.js.map +1 -1
  18. package/lib/cjs/BatchedTileTreeReference.d.ts +21 -21
  19. package/lib/cjs/BatchedTileTreeReference.js +73 -73
  20. package/lib/cjs/BatchedTileTreeReference.js.map +1 -1
  21. package/lib/cjs/BatchedTileTreeSupplier.d.ts +5 -5
  22. package/lib/cjs/BatchedTileTreeSupplier.js +38 -38
  23. package/lib/cjs/BatchedTileTreeSupplier.js.map +1 -1
  24. package/lib/cjs/BatchedTilesetReader.d.ts +13 -13
  25. package/lib/cjs/BatchedTilesetReader.js +88 -88
  26. package/lib/cjs/BatchedTilesetReader.js.map +1 -1
  27. package/lib/cjs/FrontendTiles.d.ts +32 -32
  28. package/lib/cjs/FrontendTiles.js +26 -26
  29. package/lib/cjs/FrontendTiles.js.map +1 -1
  30. package/lib/cjs/LoggerCategory.d.ts +2 -2
  31. package/lib/cjs/LoggerCategory.js +9 -9
  32. package/lib/cjs/LoggerCategory.js.map +1 -1
  33. package/lib/cjs/frontend-tiles.d.ts +1 -1
  34. package/lib/cjs/frontend-tiles.js +17 -17
  35. package/lib/cjs/frontend-tiles.js.map +1 -1
  36. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  37. package/lib/esm/BatchedSpatialTileTreeRefs.d.ts +4 -4
  38. package/lib/esm/BatchedSpatialTileTreeRefs.js +129 -129
  39. package/lib/esm/BatchedSpatialTileTreeRefs.js.map +1 -1
  40. package/lib/esm/BatchedTile.d.ts +24 -24
  41. package/lib/esm/BatchedTile.js +164 -164
  42. package/lib/esm/BatchedTile.js.map +1 -1
  43. package/lib/esm/BatchedTileContentReader.d.ts +22 -22
  44. package/lib/esm/BatchedTileContentReader.js +72 -72
  45. package/lib/esm/BatchedTileContentReader.js.map +1 -1
  46. package/lib/esm/BatchedTileTree.d.ts +22 -22
  47. package/lib/esm/BatchedTileTree.js +48 -48
  48. package/lib/esm/BatchedTileTree.js.map +1 -1
  49. package/lib/esm/BatchedTileTreeReference.d.ts +21 -21
  50. package/lib/esm/BatchedTileTreeReference.js +69 -69
  51. package/lib/esm/BatchedTileTreeReference.js.map +1 -1
  52. package/lib/esm/BatchedTileTreeSupplier.d.ts +5 -5
  53. package/lib/esm/BatchedTileTreeSupplier.js +34 -34
  54. package/lib/esm/BatchedTileTreeSupplier.js.map +1 -1
  55. package/lib/esm/BatchedTilesetReader.d.ts +13 -13
  56. package/lib/esm/BatchedTilesetReader.js +84 -84
  57. package/lib/esm/BatchedTilesetReader.js.map +1 -1
  58. package/lib/esm/FrontendTiles.d.ts +32 -32
  59. package/lib/esm/FrontendTiles.js +21 -21
  60. package/lib/esm/FrontendTiles.js.map +1 -1
  61. package/lib/esm/LoggerCategory.d.ts +2 -2
  62. package/lib/esm/LoggerCategory.js +6 -6
  63. package/lib/esm/LoggerCategory.js.map +1 -1
  64. package/lib/esm/frontend-tiles.d.ts +1 -1
  65. package/lib/esm/frontend-tiles.js +5 -5
  66. package/lib/esm/frontend-tiles.js.map +1 -1
  67. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +11 -11
  69. package/.rush/temp/package-deps_build_ci.json +0 -23
@@ -1,23 +1,23 @@
1
- import { ViewFlagOverrides } from "@itwin/core-common";
2
- import { Tile, TileDrawArgs, TileTree, TileTreeParams } from "@itwin/core-frontend";
3
- import { BatchedTile, BatchedTileParams } from "./BatchedTile";
4
- import { BatchedTilesetReader } from "./BatchedTilesetReader";
5
- /** @internal */
6
- export interface BatchedTileTreeParams extends TileTreeParams {
7
- rootTile: BatchedTileParams;
8
- reader: BatchedTilesetReader;
9
- }
10
- /** @internal */
11
- export declare class BatchedTileTree extends TileTree {
12
- private readonly _rootTile;
13
- readonly reader: BatchedTilesetReader;
14
- constructor(params: BatchedTileTreeParams);
15
- get rootTile(): BatchedTile;
16
- get is3d(): boolean;
17
- get maxDepth(): number | undefined;
18
- get viewFlagOverrides(): ViewFlagOverrides;
19
- _selectTiles(args: TileDrawArgs): Tile[];
20
- draw(args: TileDrawArgs): void;
21
- prune(): void;
22
- }
1
+ import { ViewFlagOverrides } from "@itwin/core-common";
2
+ import { Tile, TileDrawArgs, TileTree, TileTreeParams } from "@itwin/core-frontend";
3
+ import { BatchedTile, BatchedTileParams } from "./BatchedTile";
4
+ import { BatchedTilesetReader } from "./BatchedTilesetReader";
5
+ /** @internal */
6
+ export interface BatchedTileTreeParams extends TileTreeParams {
7
+ rootTile: BatchedTileParams;
8
+ reader: BatchedTilesetReader;
9
+ }
10
+ /** @internal */
11
+ export declare class BatchedTileTree extends TileTree {
12
+ private readonly _rootTile;
13
+ readonly reader: BatchedTilesetReader;
14
+ constructor(params: BatchedTileTreeParams);
15
+ get rootTile(): BatchedTile;
16
+ get is3d(): boolean;
17
+ get maxDepth(): number | undefined;
18
+ get viewFlagOverrides(): ViewFlagOverrides;
19
+ _selectTiles(args: TileDrawArgs): Tile[];
20
+ draw(args: TileDrawArgs): void;
21
+ prune(): void;
22
+ }
23
23
  //# sourceMappingURL=BatchedTileTree.d.ts.map
@@ -1,53 +1,53 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.BatchedTileTree = void 0;
8
- const core_bentley_1 = require("@itwin/core-bentley");
9
- const core_common_1 = require("@itwin/core-common");
10
- const core_frontend_1 = require("@itwin/core-frontend");
11
- const BatchedTile_1 = require("./BatchedTile");
12
- const viewFlagOverrides = {
13
- renderMode: core_common_1.RenderMode.SmoothShade,
14
- visibleEdges: false,
15
- };
16
- /** @internal */
17
- class BatchedTileTree extends core_frontend_1.TileTree {
18
- constructor(params) {
19
- super(params);
20
- this._rootTile = new BatchedTile_1.BatchedTile(params.rootTile, this);
21
- this.reader = params.reader;
22
- }
23
- get rootTile() {
24
- return this._rootTile;
25
- }
26
- get is3d() {
27
- return true;
28
- }
29
- get maxDepth() {
30
- return undefined;
31
- }
32
- get viewFlagOverrides() {
33
- return viewFlagOverrides;
34
- }
35
- // eslint-disable-next-line @typescript-eslint/naming-convention
36
- _selectTiles(args) {
37
- const selected = new Set();
38
- this.rootTile.selectTiles(selected, args, undefined);
39
- return Array.from(selected);
40
- }
41
- draw(args) {
42
- const tiles = this.selectTiles(args);
43
- for (const tile of tiles)
44
- tile.drawGraphics(args);
45
- args.drawGraphics();
46
- }
47
- prune() {
48
- const olderThan = core_bentley_1.BeTimePoint.now().minus(this.expirationTime);
49
- this.rootTile.prune(olderThan);
50
- }
51
- }
52
- exports.BatchedTileTree = BatchedTileTree;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BatchedTileTree = void 0;
8
+ const core_bentley_1 = require("@itwin/core-bentley");
9
+ const core_common_1 = require("@itwin/core-common");
10
+ const core_frontend_1 = require("@itwin/core-frontend");
11
+ const BatchedTile_1 = require("./BatchedTile");
12
+ const viewFlagOverrides = {
13
+ renderMode: core_common_1.RenderMode.SmoothShade,
14
+ visibleEdges: false,
15
+ };
16
+ /** @internal */
17
+ class BatchedTileTree extends core_frontend_1.TileTree {
18
+ constructor(params) {
19
+ super(params);
20
+ this._rootTile = new BatchedTile_1.BatchedTile(params.rootTile, this);
21
+ this.reader = params.reader;
22
+ }
23
+ get rootTile() {
24
+ return this._rootTile;
25
+ }
26
+ get is3d() {
27
+ return true;
28
+ }
29
+ get maxDepth() {
30
+ return undefined;
31
+ }
32
+ get viewFlagOverrides() {
33
+ return viewFlagOverrides;
34
+ }
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ _selectTiles(args) {
37
+ const selected = new Set();
38
+ this.rootTile.selectTiles(selected, args, undefined);
39
+ return Array.from(selected);
40
+ }
41
+ draw(args) {
42
+ const tiles = this.selectTiles(args);
43
+ for (const tile of tiles)
44
+ tile.drawGraphics(args);
45
+ args.drawGraphics();
46
+ }
47
+ prune() {
48
+ const olderThan = core_bentley_1.BeTimePoint.now().minus(this.expirationTime);
49
+ this.rootTile.prune(olderThan);
50
+ }
51
+ }
52
+ exports.BatchedTileTree = BatchedTileTree;
53
53
  //# sourceMappingURL=BatchedTileTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedTileTree.js","sourceRoot":"","sources":["../../src/BatchedTileTree.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,sDAAkD;AAClD,oDAAmE;AACnE,wDAE8B;AAC9B,+CAA+D;AAS/D,MAAM,iBAAiB,GAAsB;IAC3C,UAAU,EAAE,wBAAU,CAAC,WAAW;IAClC,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,gBAAgB;AAChB,MAAa,eAAgB,SAAQ,wBAAQ;IAI3C,YAAmB,MAA6B;QAC9C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAoB,QAAQ;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAoB,IAAI;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAoB,QAAQ;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAoB,iBAAiB;QACnC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,gEAAgE;IAChD,YAAY,CAAC,IAAkB;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAEe,IAAI,CAAC,IAAkB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEe,KAAK;QACnB,MAAM,SAAS,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACF;AA7CD,0CA6CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { BeTimePoint } from \"@itwin/core-bentley\";\r\nimport { RenderMode, ViewFlagOverrides } from \"@itwin/core-common\";\r\nimport {\r\n Tile, TileDrawArgs, TileTree, TileTreeParams,\r\n} from \"@itwin/core-frontend\";\r\nimport { BatchedTile, BatchedTileParams } from \"./BatchedTile\";\r\nimport { BatchedTilesetReader } from \"./BatchedTilesetReader\";\r\n\r\n/** @internal */\r\nexport interface BatchedTileTreeParams extends TileTreeParams {\r\n rootTile: BatchedTileParams;\r\n reader: BatchedTilesetReader;\r\n}\r\n\r\nconst viewFlagOverrides: ViewFlagOverrides = {\r\n renderMode: RenderMode.SmoothShade,\r\n visibleEdges: false,\r\n};\r\n\r\n/** @internal */\r\nexport class BatchedTileTree extends TileTree {\r\n private readonly _rootTile: BatchedTile;\r\n public readonly reader: BatchedTilesetReader;\r\n\r\n public constructor(params: BatchedTileTreeParams) {\r\n super(params);\r\n this._rootTile = new BatchedTile(params.rootTile, this);\r\n this.reader = params.reader;\r\n }\r\n\r\n public override get rootTile(): BatchedTile {\r\n return this._rootTile;\r\n }\r\n\r\n public override get is3d(): boolean {\r\n return true;\r\n }\r\n\r\n public override get maxDepth(): number | undefined {\r\n return undefined;\r\n }\r\n\r\n public override get viewFlagOverrides(): ViewFlagOverrides {\r\n return viewFlagOverrides;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n public override _selectTiles(args: TileDrawArgs): Tile[] {\r\n const selected = new Set<BatchedTile>();\r\n this.rootTile.selectTiles(selected, args, undefined);\r\n return Array.from(selected);\r\n }\r\n\r\n public override draw(args: TileDrawArgs): void {\r\n const tiles = this.selectTiles(args);\r\n for (const tile of tiles)\r\n tile.drawGraphics(args);\r\n\r\n args.drawGraphics();\r\n }\r\n\r\n public override prune(): void {\r\n const olderThan = BeTimePoint.now().minus(this.expirationTime);\r\n this.rootTile.prune(olderThan);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BatchedTileTree.js","sourceRoot":"","sources":["../../src/BatchedTileTree.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,sDAAkD;AAClD,oDAAmE;AACnE,wDAE8B;AAC9B,+CAA+D;AAS/D,MAAM,iBAAiB,GAAsB;IAC3C,UAAU,EAAE,wBAAU,CAAC,WAAW;IAClC,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,gBAAgB;AAChB,MAAa,eAAgB,SAAQ,wBAAQ;IAI3C,YAAmB,MAA6B;QAC9C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAoB,QAAQ;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAoB,IAAI;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAoB,QAAQ;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAoB,iBAAiB;QACnC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,gEAAgE;IAChD,YAAY,CAAC,IAAkB;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAEe,IAAI,CAAC,IAAkB;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK;YACtB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEe,KAAK;QACnB,MAAM,SAAS,GAAG,0BAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACF;AA7CD,0CA6CC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { BeTimePoint } from \"@itwin/core-bentley\";\nimport { RenderMode, ViewFlagOverrides } from \"@itwin/core-common\";\nimport {\n Tile, TileDrawArgs, TileTree, TileTreeParams,\n} from \"@itwin/core-frontend\";\nimport { BatchedTile, BatchedTileParams } from \"./BatchedTile\";\nimport { BatchedTilesetReader } from \"./BatchedTilesetReader\";\n\n/** @internal */\nexport interface BatchedTileTreeParams extends TileTreeParams {\n rootTile: BatchedTileParams;\n reader: BatchedTilesetReader;\n}\n\nconst viewFlagOverrides: ViewFlagOverrides = {\n renderMode: RenderMode.SmoothShade,\n visibleEdges: false,\n};\n\n/** @internal */\nexport class BatchedTileTree extends TileTree {\n private readonly _rootTile: BatchedTile;\n public readonly reader: BatchedTilesetReader;\n\n public constructor(params: BatchedTileTreeParams) {\n super(params);\n this._rootTile = new BatchedTile(params.rootTile, this);\n this.reader = params.reader;\n }\n\n public override get rootTile(): BatchedTile {\n return this._rootTile;\n }\n\n public override get is3d(): boolean {\n return true;\n }\n\n public override get maxDepth(): number | undefined {\n return undefined;\n }\n\n public override get viewFlagOverrides(): ViewFlagOverrides {\n return viewFlagOverrides;\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public override _selectTiles(args: TileDrawArgs): Tile[] {\n const selected = new Set<BatchedTile>();\n this.rootTile.selectTiles(selected, args, undefined);\n return Array.from(selected);\n }\n\n public override draw(args: TileDrawArgs): void {\n const tiles = this.selectTiles(args);\n for (const tile of tiles)\n tile.drawGraphics(args);\n\n args.drawGraphics();\n }\n\n public override prune(): void {\n const olderThan = BeTimePoint.now().minus(this.expirationTime);\n this.rootTile.prune(olderThan);\n }\n}\n"]}
@@ -1,22 +1,22 @@
1
- import { Range3d } from "@itwin/core-geometry";
2
- import { BatchType, FeatureAppearance, FeatureAppearanceProvider, FeatureAppearanceSource, GeometryClass } from "@itwin/core-common";
3
- import { AttachToViewportArgs, SpatialViewState, TileTreeOwner, TileTreeReference } from "@itwin/core-frontend";
4
- /** @internal */
5
- export declare class BatchedTileTreeReference extends TileTreeReference implements FeatureAppearanceProvider {
6
- private readonly _treeOwner;
7
- private readonly _view;
8
- private readonly _viewedModels;
9
- private readonly _modelRanges;
10
- private _modelRangePromise?;
11
- private _onModelSelectorChanged?;
12
- private constructor();
13
- static create(view: SpatialViewState, baseUrl: URL): BatchedTileTreeReference;
14
- get treeOwner(): TileTreeOwner;
15
- attachToViewport(args: AttachToViewportArgs): void;
16
- detachFromViewport(): void;
17
- updateViewedModels(): void;
18
- unionFitRange(union: Range3d): void;
19
- getAppearanceProvider(): FeatureAppearanceProvider | undefined;
20
- getFeatureAppearance(source: FeatureAppearanceSource, elemLo: number, elemHi: number, subcatLo: number, subcatHi: number, geomClass: GeometryClass, modelLo: number, modelHi: number, type: BatchType, animationNodeId: number): FeatureAppearance | undefined;
21
- }
1
+ import { Range3d } from "@itwin/core-geometry";
2
+ import { BatchType, FeatureAppearance, FeatureAppearanceProvider, FeatureAppearanceSource, GeometryClass } from "@itwin/core-common";
3
+ import { AttachToViewportArgs, SpatialViewState, TileTreeOwner, TileTreeReference } from "@itwin/core-frontend";
4
+ /** @internal */
5
+ export declare class BatchedTileTreeReference extends TileTreeReference implements FeatureAppearanceProvider {
6
+ private readonly _treeOwner;
7
+ private readonly _view;
8
+ private readonly _viewedModels;
9
+ private readonly _modelRanges;
10
+ private _modelRangePromise?;
11
+ private _onModelSelectorChanged?;
12
+ private constructor();
13
+ static create(view: SpatialViewState, baseUrl: URL): BatchedTileTreeReference;
14
+ get treeOwner(): TileTreeOwner;
15
+ attachToViewport(args: AttachToViewportArgs): void;
16
+ detachFromViewport(): void;
17
+ updateViewedModels(): void;
18
+ unionFitRange(union: Range3d): void;
19
+ getAppearanceProvider(): FeatureAppearanceProvider | undefined;
20
+ getFeatureAppearance(source: FeatureAppearanceSource, elemLo: number, elemHi: number, subcatLo: number, subcatHi: number, geomClass: GeometryClass, modelLo: number, modelHi: number, type: BatchType, animationNodeId: number): FeatureAppearance | undefined;
21
+ }
22
22
  //# sourceMappingURL=BatchedTileTreeReference.d.ts.map
@@ -1,74 +1,74 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.BatchedTileTreeReference = void 0;
8
- const core_bentley_1 = require("@itwin/core-bentley");
9
- const core_geometry_1 = require("@itwin/core-geometry");
10
- const core_frontend_1 = require("@itwin/core-frontend");
11
- const BatchedTileTreeSupplier_1 = require("./BatchedTileTreeSupplier");
12
- /** @internal */
13
- class BatchedTileTreeReference extends core_frontend_1.TileTreeReference {
14
- constructor(treeOwner, view) {
15
- super();
16
- this._viewedModels = new core_bentley_1.Id64.Uint32Set();
17
- this._modelRanges = new Map();
18
- this._treeOwner = treeOwner;
19
- this._view = view;
20
- }
21
- static create(view, baseUrl) {
22
- const owner = (0, BatchedTileTreeSupplier_1.getBatchedTileTreeOwner)(view.iModel, baseUrl);
23
- return new BatchedTileTreeReference(owner, view);
24
- }
25
- get treeOwner() {
26
- return this._treeOwner;
27
- }
28
- attachToViewport(args) {
29
- this._onModelSelectorChanged = () => args.invalidateSymbologyOverrides();
30
- this.updateViewedModels();
31
- }
32
- detachFromViewport() {
33
- this._onModelSelectorChanged = undefined;
34
- }
35
- updateViewedModels() {
36
- this._viewedModels.clear();
37
- this._viewedModels.addIds(this._view.modelSelector.models);
38
- if (!this._onModelSelectorChanged) {
39
- // Don't bother updating model ranges if we're not attached to a viewport.
40
- return;
41
- }
42
- this._onModelSelectorChanged();
43
- this._modelRangePromise = undefined;
44
- const modelIds = Array.from(this._view.modelSelector.models).filter((modelId) => !this._modelRanges.has(modelId));
45
- if (modelIds.length === 0)
46
- return;
47
- const modelRangePromise = this._modelRangePromise = this._treeOwner.iModel.models.queryExtents(modelIds).then((extents) => {
48
- if (modelRangePromise !== this._modelRangePromise)
49
- return;
50
- this._modelRangePromise = undefined;
51
- for (const extent of extents)
52
- this._modelRanges.set(extent.id, core_geometry_1.Range3d.fromJSON(extent.extents));
53
- }).catch(() => { });
54
- }
55
- unionFitRange(union) {
56
- this._viewedModels.forEach((low, high) => {
57
- const id = core_bentley_1.Id64.fromUint32Pair(low, high);
58
- const extent = this._modelRanges.get(id);
59
- if (extent)
60
- union.extendRange(extent);
61
- });
62
- }
63
- getAppearanceProvider() {
64
- return this._onModelSelectorChanged ? this : undefined;
65
- }
66
- getFeatureAppearance(source, elemLo, elemHi, subcatLo, subcatHi, geomClass, modelLo, modelHi, type, animationNodeId) {
67
- // ###TODO: Until MultiModelPackedFeatureTable is hooked up we'll always get the transient model Id - remove check after that.
68
- if (modelHi !== 0xffffff00 && !this._viewedModels.has(modelLo, modelHi))
69
- return undefined;
70
- return source.getAppearance(elemLo, elemHi, subcatLo, subcatHi, geomClass, modelLo, modelHi, type, animationNodeId);
71
- }
72
- }
73
- exports.BatchedTileTreeReference = BatchedTileTreeReference;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BatchedTileTreeReference = void 0;
8
+ const core_bentley_1 = require("@itwin/core-bentley");
9
+ const core_geometry_1 = require("@itwin/core-geometry");
10
+ const core_frontend_1 = require("@itwin/core-frontend");
11
+ const BatchedTileTreeSupplier_1 = require("./BatchedTileTreeSupplier");
12
+ /** @internal */
13
+ class BatchedTileTreeReference extends core_frontend_1.TileTreeReference {
14
+ constructor(treeOwner, view) {
15
+ super();
16
+ this._viewedModels = new core_bentley_1.Id64.Uint32Set();
17
+ this._modelRanges = new Map();
18
+ this._treeOwner = treeOwner;
19
+ this._view = view;
20
+ }
21
+ static create(view, baseUrl) {
22
+ const owner = (0, BatchedTileTreeSupplier_1.getBatchedTileTreeOwner)(view.iModel, baseUrl);
23
+ return new BatchedTileTreeReference(owner, view);
24
+ }
25
+ get treeOwner() {
26
+ return this._treeOwner;
27
+ }
28
+ attachToViewport(args) {
29
+ this._onModelSelectorChanged = () => args.invalidateSymbologyOverrides();
30
+ this.updateViewedModels();
31
+ }
32
+ detachFromViewport() {
33
+ this._onModelSelectorChanged = undefined;
34
+ }
35
+ updateViewedModels() {
36
+ this._viewedModels.clear();
37
+ this._viewedModels.addIds(this._view.modelSelector.models);
38
+ if (!this._onModelSelectorChanged) {
39
+ // Don't bother updating model ranges if we're not attached to a viewport.
40
+ return;
41
+ }
42
+ this._onModelSelectorChanged();
43
+ this._modelRangePromise = undefined;
44
+ const modelIds = Array.from(this._view.modelSelector.models).filter((modelId) => !this._modelRanges.has(modelId));
45
+ if (modelIds.length === 0)
46
+ return;
47
+ const modelRangePromise = this._modelRangePromise = this._treeOwner.iModel.models.queryExtents(modelIds).then((extents) => {
48
+ if (modelRangePromise !== this._modelRangePromise)
49
+ return;
50
+ this._modelRangePromise = undefined;
51
+ for (const extent of extents)
52
+ this._modelRanges.set(extent.id, core_geometry_1.Range3d.fromJSON(extent.extents));
53
+ }).catch(() => { });
54
+ }
55
+ unionFitRange(union) {
56
+ this._viewedModels.forEach((low, high) => {
57
+ const id = core_bentley_1.Id64.fromUint32Pair(low, high);
58
+ const extent = this._modelRanges.get(id);
59
+ if (extent)
60
+ union.extendRange(extent);
61
+ });
62
+ }
63
+ getAppearanceProvider() {
64
+ return this._onModelSelectorChanged ? this : undefined;
65
+ }
66
+ getFeatureAppearance(source, elemLo, elemHi, subcatLo, subcatHi, geomClass, modelLo, modelHi, type, animationNodeId) {
67
+ // ###TODO: Until MultiModelPackedFeatureTable is hooked up we'll always get the transient model Id - remove check after that.
68
+ if (modelHi !== 0xffffff00 && !this._viewedModels.has(modelLo, modelHi))
69
+ return undefined;
70
+ return source.getAppearance(elemLo, elemHi, subcatLo, subcatHi, geomClass, modelLo, modelHi, type, animationNodeId);
71
+ }
72
+ }
73
+ exports.BatchedTileTreeReference = BatchedTileTreeReference;
74
74
  //# sourceMappingURL=BatchedTileTreeReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedTileTreeReference.js","sourceRoot":"","sources":["../../src/BatchedTileTreeReference.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { Id64, Id64String } from \"@itwin/core-bentley\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport {\r\n BatchType, FeatureAppearance, FeatureAppearanceProvider, FeatureAppearanceSource, GeometryClass, ModelExtentsProps,\r\n} from \"@itwin/core-common\";\r\nimport {\r\n AttachToViewportArgs, SpatialViewState, TileTreeOwner, TileTreeReference,\r\n} from \"@itwin/core-frontend\";\r\nimport { getBatchedTileTreeOwner } from \"./BatchedTileTreeSupplier\";\r\n\r\n/** @internal */\r\nexport class BatchedTileTreeReference extends TileTreeReference implements FeatureAppearanceProvider {\r\n private readonly _treeOwner: TileTreeOwner;\r\n private readonly _view: SpatialViewState;\r\n private readonly _viewedModels = new Id64.Uint32Set();\r\n private readonly _modelRanges = new Map<Id64String, Range3d>();\r\n private _modelRangePromise?: Promise<void>;\r\n private _onModelSelectorChanged?: () => void;\r\n\r\n private constructor(treeOwner: TileTreeOwner, view: SpatialViewState) {\r\n super();\r\n this._treeOwner = treeOwner;\r\n this._view = view;\r\n }\r\n\r\n public static create(view: SpatialViewState, baseUrl: URL): BatchedTileTreeReference {\r\n const owner = getBatchedTileTreeOwner(view.iModel, baseUrl);\r\n return new BatchedTileTreeReference(owner, view);\r\n }\r\n\r\n public override get treeOwner(): TileTreeOwner {\r\n return this._treeOwner;\r\n }\r\n\r\n public attachToViewport(args: AttachToViewportArgs): void {\r\n this._onModelSelectorChanged = () => args.invalidateSymbologyOverrides();\r\n this.updateViewedModels();\r\n }\r\n\r\n public detachFromViewport(): void {\r\n this._onModelSelectorChanged = undefined;\r\n }\r\n\r\n public updateViewedModels(): void {\r\n this._viewedModels.clear();\r\n this._viewedModels.addIds(this._view.modelSelector.models);\r\n if (!this._onModelSelectorChanged) {\r\n // Don't bother updating model ranges if we're not attached to a viewport.\r\n return;\r\n }\r\n\r\n this._onModelSelectorChanged();\r\n\r\n this._modelRangePromise = undefined;\r\n const modelIds = Array.from(this._view.modelSelector.models).filter((modelId) => !this._modelRanges.has(modelId));\r\n if (modelIds.length === 0)\r\n return;\r\n\r\n const modelRangePromise = this._modelRangePromise = this._treeOwner.iModel.models.queryExtents(modelIds).then((extents: ModelExtentsProps[]) => {\r\n if (modelRangePromise !== this._modelRangePromise)\r\n return;\r\n\r\n this._modelRangePromise = undefined;\r\n for (const extent of extents)\r\n this._modelRanges.set(extent.id, Range3d.fromJSON(extent.extents));\r\n }).catch(() => { });\r\n }\r\n\r\n public override unionFitRange(union: Range3d): void {\r\n this._viewedModels.forEach((low: number, high: number) => {\r\n const id = Id64.fromUint32Pair(low, high);\r\n const extent = this._modelRanges.get(id);\r\n if (extent)\r\n union.extendRange(extent);\r\n });\r\n }\r\n\r\n public override getAppearanceProvider(): FeatureAppearanceProvider | undefined {\r\n return this._onModelSelectorChanged ? this : undefined;\r\n }\r\n\r\n public getFeatureAppearance(\r\n source: FeatureAppearanceSource,\r\n elemLo: number, elemHi: number,\r\n subcatLo: number, subcatHi: number,\r\n geomClass: GeometryClass,\r\n modelLo: number, modelHi: number,\r\n type: BatchType,\r\n animationNodeId: number\r\n ): FeatureAppearance | undefined {\r\n // ###TODO: Until MultiModelPackedFeatureTable is hooked up we'll always get the transient model Id - remove check after that.\r\n if (modelHi !== 0xffffff00 && !this._viewedModels.has(modelLo, modelHi))\r\n return undefined;\r\n\r\n return source.getAppearance(elemLo, elemHi, subcatLo, subcatHi, geomClass, modelLo, modelHi, type, animationNodeId);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BatchedTileTreeReference.js","sourceRoot":"","sources":["../../src/BatchedTileTreeReference.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { Id64, Id64String } from \"@itwin/core-bentley\";\nimport { Range3d } from \"@itwin/core-geometry\";\nimport {\n BatchType, FeatureAppearance, FeatureAppearanceProvider, FeatureAppearanceSource, GeometryClass, ModelExtentsProps,\n} from \"@itwin/core-common\";\nimport {\n AttachToViewportArgs, SpatialViewState, TileTreeOwner, TileTreeReference,\n} from \"@itwin/core-frontend\";\nimport { getBatchedTileTreeOwner } from \"./BatchedTileTreeSupplier\";\n\n/** @internal */\nexport class BatchedTileTreeReference extends TileTreeReference implements FeatureAppearanceProvider {\n private readonly _treeOwner: TileTreeOwner;\n private readonly _view: SpatialViewState;\n private readonly _viewedModels = new Id64.Uint32Set();\n private readonly _modelRanges = new Map<Id64String, Range3d>();\n private _modelRangePromise?: Promise<void>;\n private _onModelSelectorChanged?: () => void;\n\n private constructor(treeOwner: TileTreeOwner, view: SpatialViewState) {\n super();\n this._treeOwner = treeOwner;\n this._view = view;\n }\n\n public static create(view: SpatialViewState, baseUrl: URL): BatchedTileTreeReference {\n const owner = getBatchedTileTreeOwner(view.iModel, baseUrl);\n return new BatchedTileTreeReference(owner, view);\n }\n\n public override get treeOwner(): TileTreeOwner {\n return this._treeOwner;\n }\n\n public attachToViewport(args: AttachToViewportArgs): void {\n this._onModelSelectorChanged = () => args.invalidateSymbologyOverrides();\n this.updateViewedModels();\n }\n\n public detachFromViewport(): void {\n this._onModelSelectorChanged = undefined;\n }\n\n public updateViewedModels(): void {\n this._viewedModels.clear();\n this._viewedModels.addIds(this._view.modelSelector.models);\n if (!this._onModelSelectorChanged) {\n // Don't bother updating model ranges if we're not attached to a viewport.\n return;\n }\n\n this._onModelSelectorChanged();\n\n this._modelRangePromise = undefined;\n const modelIds = Array.from(this._view.modelSelector.models).filter((modelId) => !this._modelRanges.has(modelId));\n if (modelIds.length === 0)\n return;\n\n const modelRangePromise = this._modelRangePromise = this._treeOwner.iModel.models.queryExtents(modelIds).then((extents: ModelExtentsProps[]) => {\n if (modelRangePromise !== this._modelRangePromise)\n return;\n\n this._modelRangePromise = undefined;\n for (const extent of extents)\n this._modelRanges.set(extent.id, Range3d.fromJSON(extent.extents));\n }).catch(() => { });\n }\n\n public override unionFitRange(union: Range3d): void {\n this._viewedModels.forEach((low: number, high: number) => {\n const id = Id64.fromUint32Pair(low, high);\n const extent = this._modelRanges.get(id);\n if (extent)\n union.extendRange(extent);\n });\n }\n\n public override getAppearanceProvider(): FeatureAppearanceProvider | undefined {\n return this._onModelSelectorChanged ? this : undefined;\n }\n\n public getFeatureAppearance(\n source: FeatureAppearanceSource,\n elemLo: number, elemHi: number,\n subcatLo: number, subcatHi: number,\n geomClass: GeometryClass,\n modelLo: number, modelHi: number,\n type: BatchType,\n animationNodeId: number\n ): FeatureAppearance | undefined {\n // ###TODO: Until MultiModelPackedFeatureTable is hooked up we'll always get the transient model Id - remove check after that.\n if (modelHi !== 0xffffff00 && !this._viewedModels.has(modelLo, modelHi))\n return undefined;\n\n return source.getAppearance(elemLo, elemHi, subcatLo, subcatHi, geomClass, modelLo, modelHi, type, animationNodeId);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { IModelConnection, TileTreeOwner } from "@itwin/core-frontend";
2
- /** @internal */
3
- export declare type TreeId = URL;
4
- /** @internal */
5
- export declare function getBatchedTileTreeOwner(iModel: IModelConnection, baseUrl: URL): TileTreeOwner;
1
+ import { IModelConnection, TileTreeOwner } from "@itwin/core-frontend";
2
+ /** @internal */
3
+ export declare type TreeId = URL;
4
+ /** @internal */
5
+ export declare function getBatchedTileTreeOwner(iModel: IModelConnection, baseUrl: URL): TileTreeOwner;
6
6
  //# sourceMappingURL=BatchedTileTreeSupplier.d.ts.map
@@ -1,39 +1,39 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.getBatchedTileTreeOwner = void 0;
8
- const core_bentley_1 = require("@itwin/core-bentley");
9
- const LoggerCategory_1 = require("./LoggerCategory");
10
- const BatchedTilesetReader_1 = require("./BatchedTilesetReader");
11
- const BatchedTileTree_1 = require("./BatchedTileTree");
12
- class BatchedTileTreeSupplier {
13
- compareTileTreeIds(lhs, rhs) {
14
- // Currently each iModel has exactly 1 unique tile tree for all spatial models.
15
- return (0, core_bentley_1.compareStrings)(lhs.toString(), rhs.toString());
16
- }
17
- async createTileTree(baseUrl, iModel) {
18
- const url = new URL("tileset.json", baseUrl);
19
- url.search = baseUrl.search;
20
- try {
21
- const response = await fetch(url.toString());
22
- const json = await response.json();
23
- const reader = new BatchedTilesetReader_1.BatchedTilesetReader(json, iModel, baseUrl);
24
- const params = await reader.readTileTreeParams();
25
- return new BatchedTileTree_1.BatchedTileTree(params);
26
- }
27
- catch (err) {
28
- core_bentley_1.Logger.logException(LoggerCategory_1.loggerCategory, err);
29
- return undefined;
30
- }
31
- }
32
- }
33
- const batchedTileTreeSupplier = new BatchedTileTreeSupplier();
34
- /** @internal */
35
- function getBatchedTileTreeOwner(iModel, baseUrl) {
36
- return iModel.tiles.getTileTreeOwner(baseUrl, batchedTileTreeSupplier);
37
- }
38
- exports.getBatchedTileTreeOwner = getBatchedTileTreeOwner;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.getBatchedTileTreeOwner = void 0;
8
+ const core_bentley_1 = require("@itwin/core-bentley");
9
+ const LoggerCategory_1 = require("./LoggerCategory");
10
+ const BatchedTilesetReader_1 = require("./BatchedTilesetReader");
11
+ const BatchedTileTree_1 = require("./BatchedTileTree");
12
+ class BatchedTileTreeSupplier {
13
+ compareTileTreeIds(lhs, rhs) {
14
+ // Currently each iModel has exactly 1 unique tile tree for all spatial models.
15
+ return (0, core_bentley_1.compareStrings)(lhs.toString(), rhs.toString());
16
+ }
17
+ async createTileTree(baseUrl, iModel) {
18
+ const url = new URL("tileset.json", baseUrl);
19
+ url.search = baseUrl.search;
20
+ try {
21
+ const response = await fetch(url.toString());
22
+ const json = await response.json();
23
+ const reader = new BatchedTilesetReader_1.BatchedTilesetReader(json, iModel, baseUrl);
24
+ const params = await reader.readTileTreeParams();
25
+ return new BatchedTileTree_1.BatchedTileTree(params);
26
+ }
27
+ catch (err) {
28
+ core_bentley_1.Logger.logException(LoggerCategory_1.loggerCategory, err);
29
+ return undefined;
30
+ }
31
+ }
32
+ }
33
+ const batchedTileTreeSupplier = new BatchedTileTreeSupplier();
34
+ /** @internal */
35
+ function getBatchedTileTreeOwner(iModel, baseUrl) {
36
+ return iModel.tiles.getTileTreeOwner(baseUrl, batchedTileTreeSupplier);
37
+ }
38
+ exports.getBatchedTileTreeOwner = getBatchedTileTreeOwner;
39
39
  //# sourceMappingURL=BatchedTileTreeSupplier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedTileTreeSupplier.js","sourceRoot":"","sources":["../../src/BatchedTileTreeSupplier.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,sDAA6D;AAI7D,qDAAkD;AAClD,iEAA8D;AAC9D,uDAAoD;AAKpD,MAAM,uBAAuB;IACpB,kBAAkB,CAAC,GAAW,EAAE,GAAW;QAChD,+EAA+E;QAC/E,OAAO,IAAA,6BAAc,EAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAwB;QACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,2CAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjD,OAAO,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,qBAAM,CAAC,YAAY,CAAC,+BAAc,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AAED,MAAM,uBAAuB,GAAqB,IAAI,uBAAuB,EAAE,CAAC;AAEhF,gBAAgB;AAChB,SAAgB,uBAAuB,CAAC,MAAwB,EAAE,OAAY;IAC5E,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC;AAFD,0DAEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { compareStrings, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n IModelConnection, TileTree, TileTreeOwner, TileTreeSupplier,\r\n} from \"@itwin/core-frontend\";\r\nimport { loggerCategory } from \"./LoggerCategory\";\r\nimport { BatchedTilesetReader } from \"./BatchedTilesetReader\";\r\nimport { BatchedTileTree } from \"./BatchedTileTree\";\r\n\r\n/** @internal */\r\nexport type TreeId = URL;\r\n\r\nclass BatchedTileTreeSupplier implements TileTreeSupplier {\r\n public compareTileTreeIds(lhs: TreeId, rhs: TreeId): number {\r\n // Currently each iModel has exactly 1 unique tile tree for all spatial models.\r\n return compareStrings(lhs.toString(), rhs.toString());\r\n }\r\n\r\n public async createTileTree(baseUrl: TreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\r\n const url = new URL(\"tileset.json\", baseUrl);\r\n url.search = baseUrl.search;\r\n try {\r\n const response = await fetch(url.toString());\r\n const json = await response.json();\r\n\r\n const reader = new BatchedTilesetReader(json, iModel, baseUrl);\r\n const params = await reader.readTileTreeParams();\r\n return new BatchedTileTree(params);\r\n } catch (err) {\r\n Logger.logException(loggerCategory, err);\r\n return undefined;\r\n }\r\n }\r\n}\r\n\r\nconst batchedTileTreeSupplier: TileTreeSupplier = new BatchedTileTreeSupplier();\r\n\r\n/** @internal */\r\nexport function getBatchedTileTreeOwner(iModel: IModelConnection, baseUrl: URL): TileTreeOwner {\r\n return iModel.tiles.getTileTreeOwner(baseUrl, batchedTileTreeSupplier);\r\n}\r\n"]}
1
+ {"version":3,"file":"BatchedTileTreeSupplier.js","sourceRoot":"","sources":["../../src/BatchedTileTreeSupplier.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F,sDAA6D;AAI7D,qDAAkD;AAClD,iEAA8D;AAC9D,uDAAoD;AAKpD,MAAM,uBAAuB;IACpB,kBAAkB,CAAC,GAAW,EAAE,GAAW;QAChD,+EAA+E;QAC/E,OAAO,IAAA,6BAAc,EAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAwB;QACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,2CAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjD,OAAO,IAAI,iCAAe,CAAC,MAAM,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,qBAAM,CAAC,YAAY,CAAC,+BAAc,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AAED,MAAM,uBAAuB,GAAqB,IAAI,uBAAuB,EAAE,CAAC;AAEhF,gBAAgB;AAChB,SAAgB,uBAAuB,CAAC,MAAwB,EAAE,OAAY;IAC5E,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC;AAFD,0DAEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\nimport { compareStrings, Logger } from \"@itwin/core-bentley\";\nimport {\n IModelConnection, TileTree, TileTreeOwner, TileTreeSupplier,\n} from \"@itwin/core-frontend\";\nimport { loggerCategory } from \"./LoggerCategory\";\nimport { BatchedTilesetReader } from \"./BatchedTilesetReader\";\nimport { BatchedTileTree } from \"./BatchedTileTree\";\n\n/** @internal */\nexport type TreeId = URL;\n\nclass BatchedTileTreeSupplier implements TileTreeSupplier {\n public compareTileTreeIds(lhs: TreeId, rhs: TreeId): number {\n // Currently each iModel has exactly 1 unique tile tree for all spatial models.\n return compareStrings(lhs.toString(), rhs.toString());\n }\n\n public async createTileTree(baseUrl: TreeId, iModel: IModelConnection): Promise<TileTree | undefined> {\n const url = new URL(\"tileset.json\", baseUrl);\n url.search = baseUrl.search;\n try {\n const response = await fetch(url.toString());\n const json = await response.json();\n\n const reader = new BatchedTilesetReader(json, iModel, baseUrl);\n const params = await reader.readTileTreeParams();\n return new BatchedTileTree(params);\n } catch (err) {\n Logger.logException(loggerCategory, err);\n return undefined;\n }\n }\n}\n\nconst batchedTileTreeSupplier: TileTreeSupplier = new BatchedTileTreeSupplier();\n\n/** @internal */\nexport function getBatchedTileTreeOwner(iModel: IModelConnection, baseUrl: URL): TileTreeOwner {\n return iModel.tiles.getTileTreeOwner(baseUrl, batchedTileTreeSupplier);\n}\n"]}
@@ -1,14 +1,14 @@
1
- import { Tileset3dSchema as schema } from "@itwin/core-common";
2
- import { IModelConnection } from "@itwin/core-frontend";
3
- import { BatchedTileTreeParams } from "./BatchedTileTree";
4
- import { BatchedTile, BatchedTileParams } from "./BatchedTile";
5
- /** @internal */
6
- export declare class BatchedTilesetReader {
7
- private readonly _iModel;
8
- private readonly _tileset;
9
- readonly baseUrl: URL;
10
- constructor(json: unknown, iModel: IModelConnection, baseUrl: URL);
11
- readTileParams(json: schema.Tile, parent?: BatchedTile): BatchedTileParams;
12
- readTileTreeParams(): Promise<BatchedTileTreeParams>;
13
- }
1
+ import { Tileset3dSchema as schema } from "@itwin/core-common";
2
+ import { IModelConnection } from "@itwin/core-frontend";
3
+ import { BatchedTileTreeParams } from "./BatchedTileTree";
4
+ import { BatchedTile, BatchedTileParams } from "./BatchedTile";
5
+ /** @internal */
6
+ export declare class BatchedTilesetReader {
7
+ private readonly _iModel;
8
+ private readonly _tileset;
9
+ readonly baseUrl: URL;
10
+ constructor(json: unknown, iModel: IModelConnection, baseUrl: URL);
11
+ readTileParams(json: schema.Tile, parent?: BatchedTile): BatchedTileParams;
12
+ readTileTreeParams(): Promise<BatchedTileTreeParams>;
13
+ }
14
14
  //# sourceMappingURL=BatchedTilesetReader.d.ts.map