@itwin/frontend-tiles 3.7.0-dev.6 → 3.7.0-dev.8

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 (78) hide show
  1. package/.rush/temp/66eda89ae927be7163ab4886bb1a316597deda28.log +10 -0
  2. package/.rush/temp/operation/build_ci/state.json +1 -1
  3. package/lib/cjs/BatchedSpatialTileTreeRefs.d.ts +4 -3
  4. package/lib/cjs/BatchedSpatialTileTreeRefs.d.ts.map +1 -1
  5. package/lib/cjs/BatchedSpatialTileTreeRefs.js +133 -34
  6. package/lib/cjs/BatchedSpatialTileTreeRefs.js.map +1 -1
  7. package/lib/cjs/BatchedTile.d.ts +23 -23
  8. package/lib/cjs/BatchedTile.d.ts.map +1 -1
  9. package/lib/cjs/BatchedTile.js +251 -250
  10. package/lib/cjs/BatchedTile.js.map +1 -1
  11. package/lib/cjs/BatchedTileContentReader.d.ts +22 -22
  12. package/lib/cjs/BatchedTileContentReader.js +76 -76
  13. package/lib/cjs/BatchedTileContentReader.js.map +1 -1
  14. package/lib/cjs/BatchedTileTree.d.ts +22 -22
  15. package/lib/cjs/BatchedTileTree.js +52 -52
  16. package/lib/cjs/BatchedTileTree.js.map +1 -1
  17. package/lib/cjs/BatchedTileTreeReference.d.ts +21 -17
  18. package/lib/cjs/BatchedTileTreeReference.d.ts.map +1 -1
  19. package/lib/cjs/BatchedTileTreeReference.js +73 -49
  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 -14
  28. package/lib/cjs/FrontendTiles.d.ts.map +1 -1
  29. package/lib/cjs/FrontendTiles.js +26 -16
  30. package/lib/cjs/FrontendTiles.js.map +1 -1
  31. package/lib/cjs/LoggerCategory.d.ts +2 -2
  32. package/lib/cjs/LoggerCategory.js +9 -9
  33. package/lib/cjs/LoggerCategory.js.map +1 -1
  34. package/lib/cjs/frontend-tiles.d.ts +1 -1
  35. package/lib/cjs/frontend-tiles.js +17 -17
  36. package/lib/cjs/frontend-tiles.js.map +1 -1
  37. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  38. package/lib/esm/BatchedSpatialTileTreeRefs.d.ts +4 -3
  39. package/lib/esm/BatchedSpatialTileTreeRefs.d.ts.map +1 -1
  40. package/lib/esm/BatchedSpatialTileTreeRefs.js +129 -30
  41. package/lib/esm/BatchedSpatialTileTreeRefs.js.map +1 -1
  42. package/lib/esm/BatchedTile.d.ts +23 -23
  43. package/lib/esm/BatchedTile.d.ts.map +1 -1
  44. package/lib/esm/BatchedTile.js +247 -246
  45. package/lib/esm/BatchedTile.js.map +1 -1
  46. package/lib/esm/BatchedTileContentReader.d.ts +22 -22
  47. package/lib/esm/BatchedTileContentReader.js +72 -72
  48. package/lib/esm/BatchedTileContentReader.js.map +1 -1
  49. package/lib/esm/BatchedTileTree.d.ts +22 -22
  50. package/lib/esm/BatchedTileTree.js +48 -48
  51. package/lib/esm/BatchedTileTree.js.map +1 -1
  52. package/lib/esm/BatchedTileTreeReference.d.ts +21 -17
  53. package/lib/esm/BatchedTileTreeReference.d.ts.map +1 -1
  54. package/lib/esm/BatchedTileTreeReference.js +69 -45
  55. package/lib/esm/BatchedTileTreeReference.js.map +1 -1
  56. package/lib/esm/BatchedTileTreeSupplier.d.ts +5 -5
  57. package/lib/esm/BatchedTileTreeSupplier.js +34 -34
  58. package/lib/esm/BatchedTileTreeSupplier.js.map +1 -1
  59. package/lib/esm/BatchedTilesetReader.d.ts +13 -13
  60. package/lib/esm/BatchedTilesetReader.js +84 -84
  61. package/lib/esm/BatchedTilesetReader.js.map +1 -1
  62. package/lib/esm/FrontendTiles.d.ts +32 -14
  63. package/lib/esm/FrontendTiles.d.ts.map +1 -1
  64. package/lib/esm/FrontendTiles.js +21 -12
  65. package/lib/esm/FrontendTiles.js.map +1 -1
  66. package/lib/esm/LoggerCategory.d.ts +2 -2
  67. package/lib/esm/LoggerCategory.js +6 -6
  68. package/lib/esm/LoggerCategory.js.map +1 -1
  69. package/lib/esm/frontend-tiles.d.ts +1 -1
  70. package/lib/esm/frontend-tiles.js +5 -5
  71. package/lib/esm/frontend-tiles.js.map +1 -1
  72. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +11 -11
  74. package/src/BatchedSpatialTileTreeRefs.ts +122 -5
  75. package/src/BatchedTile.ts +2 -1
  76. package/src/BatchedTileTreeReference.ts +36 -4
  77. package/src/FrontendTiles.ts +31 -3
  78. package/.rush/temp/package-deps_build_ci.json +0 -21
@@ -1,35 +1,35 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { compareStrings, Logger } from "@itwin/core-bentley";
6
- import { loggerCategory } from "./LoggerCategory";
7
- import { BatchedTilesetReader } from "./BatchedTilesetReader";
8
- import { BatchedTileTree } from "./BatchedTileTree";
9
- class BatchedTileTreeSupplier {
10
- compareTileTreeIds(lhs, rhs) {
11
- // Currently each iModel has exactly 1 unique tile tree for all spatial models.
12
- return compareStrings(lhs.toString(), rhs.toString());
13
- }
14
- async createTileTree(baseUrl, iModel) {
15
- const url = new URL("tileset.json", baseUrl);
16
- url.search = baseUrl.search;
17
- try {
18
- const response = await fetch(url.toString());
19
- const json = await response.json();
20
- const reader = new BatchedTilesetReader(json, iModel, baseUrl);
21
- const params = await reader.readTileTreeParams();
22
- return new BatchedTileTree(params);
23
- }
24
- catch (err) {
25
- Logger.logException(loggerCategory, err);
26
- return undefined;
27
- }
28
- }
29
- }
30
- const batchedTileTreeSupplier = new BatchedTileTreeSupplier();
31
- /** @internal */
32
- export function getBatchedTileTreeOwner(iModel, baseUrl) {
33
- return iModel.tiles.getTileTreeOwner(baseUrl, batchedTileTreeSupplier);
34
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { compareStrings, Logger } from "@itwin/core-bentley";
6
+ import { loggerCategory } from "./LoggerCategory";
7
+ import { BatchedTilesetReader } from "./BatchedTilesetReader";
8
+ import { BatchedTileTree } from "./BatchedTileTree";
9
+ class BatchedTileTreeSupplier {
10
+ compareTileTreeIds(lhs, rhs) {
11
+ // Currently each iModel has exactly 1 unique tile tree for all spatial models.
12
+ return compareStrings(lhs.toString(), rhs.toString());
13
+ }
14
+ async createTileTree(baseUrl, iModel) {
15
+ const url = new URL("tileset.json", baseUrl);
16
+ url.search = baseUrl.search;
17
+ try {
18
+ const response = await fetch(url.toString());
19
+ const json = await response.json();
20
+ const reader = new BatchedTilesetReader(json, iModel, baseUrl);
21
+ const params = await reader.readTileTreeParams();
22
+ return new BatchedTileTree(params);
23
+ }
24
+ catch (err) {
25
+ Logger.logException(loggerCategory, err);
26
+ return undefined;
27
+ }
28
+ }
29
+ }
30
+ const batchedTileTreeSupplier = new BatchedTileTreeSupplier();
31
+ /** @internal */
32
+ export function getBatchedTileTreeOwner(iModel, baseUrl) {
33
+ return iModel.tiles.getTileTreeOwner(baseUrl, batchedTileTreeSupplier);
34
+ }
35
35
  //# sourceMappingURL=BatchedTileTreeSupplier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedTileTreeSupplier.js","sourceRoot":"","sources":["../../src/BatchedTileTreeSupplier.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,MAAM,uBAAuB;IACpB,kBAAkB,CAAC,GAAW,EAAE,GAAW;QAChD,+EAA+E;QAC/E,OAAO,cAAc,CAAC,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,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjD,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AAED,MAAM,uBAAuB,GAAqB,IAAI,uBAAuB,EAAE,CAAC;AAEhF,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,MAAwB,EAAE,OAAY;IAC5E,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC","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,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,MAAM,uBAAuB;IACpB,kBAAkB,CAAC,GAAW,EAAE,GAAW;QAChD,+EAA+E;QAC/E,OAAO,cAAc,CAAC,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,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjD,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AAED,MAAM,uBAAuB,GAAqB,IAAI,uBAAuB,EAAE,CAAC;AAEhF,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAC,MAAwB,EAAE,OAAY;IAC5E,OAAO,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC","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
@@ -1,85 +1,85 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { Matrix3d, Point3d, Range3d, Transform, Vector3d, } from "@itwin/core-geometry";
6
- import { RealityModelTileUtils, TileLoadPriority } from "@itwin/core-frontend";
7
- function isTileset3d(json) {
8
- if (typeof json !== "object")
9
- return false;
10
- const props = json;
11
- if (!props.root || !props.asset)
12
- return false;
13
- // ###TODO spec requires geometricError to be present on tileset and all tiles; exporter is omitting from tileset.
14
- if (undefined === props.geometricError)
15
- props.geometricError = props.root.geometricError;
16
- return true;
17
- }
18
- function rangeFromBoundingVolume(vol) {
19
- if (vol.box) {
20
- const center = new Point3d(vol.box[0], vol.box[1], vol.box[2]);
21
- const ux = new Vector3d(vol.box[3], vol.box[4], vol.box[5]);
22
- const uy = new Vector3d(vol.box[6], vol.box[7], vol.box[8]);
23
- const uz = new Vector3d(vol.box[9], vol.box[10], vol.box[11]);
24
- const range = Range3d.createNull();
25
- for (let i = -1; i <= 1; i += 2)
26
- for (let j = -1; j <= 1; j += 2)
27
- for (let k = -1; k <= 1; k += 2)
28
- range.extendPoint(center.plus3Scaled(ux, i, uy, j, uz, k));
29
- return range;
30
- }
31
- else if (vol.sphere) {
32
- const center = new Point3d(vol.sphere[0], vol.sphere[1], vol.sphere[2]);
33
- const radius = vol.sphere[3];
34
- return Range3d.createXYZXYZ(center.x - radius, center.y - radius, center.z - radius, center.x + radius, center.y + radius, center.z + radius);
35
- }
36
- // We won't get region bounding volumes in our tiles.
37
- throw new Error("region bounding volume unimplemented");
38
- }
39
- function transformFromJSON(json) {
40
- const translation = new Point3d(json[12], json[13], json[14]);
41
- const matrix = Matrix3d.createRowValues(json[0], json[4], json[8], json[1], json[5], json[9], json[2], json[6], json[10]);
42
- return Transform.createOriginAndMatrix(translation, matrix);
43
- }
44
- /** @internal */
45
- export class BatchedTilesetReader {
46
- constructor(json, iModel, baseUrl) {
47
- if (!isTileset3d(json))
48
- throw new Error("Invalid tileset JSON");
49
- this._iModel = iModel;
50
- this._tileset = json;
51
- this.baseUrl = baseUrl;
52
- }
53
- readTileParams(json, parent) {
54
- var _a;
55
- const content = json.content;
56
- const geometricError = json.geometricError;
57
- const range = rangeFromBoundingVolume(json.boundingVolume);
58
- const isLeaf = undefined === json.children || json.children.length === 0;
59
- // ###TODO evaluate this. The geometric errors in the tiles seem far too small.
60
- const maximumSizeScale = 8;
61
- return {
62
- parent,
63
- contentId: (_a = content === null || content === void 0 ? void 0 : content.uri) !== null && _a !== void 0 ? _a : "",
64
- range,
65
- contentRange: (content === null || content === void 0 ? void 0 : content.boundingVolume) ? rangeFromBoundingVolume(content.boundingVolume) : undefined,
66
- isLeaf,
67
- maximumSize: maximumSizeScale * RealityModelTileUtils.maximumSizeFromGeometricTolerance(range, geometricError),
68
- childrenProps: isLeaf ? undefined : json.children,
69
- };
70
- }
71
- async readTileTreeParams() {
72
- const root = this._tileset.root;
73
- const location = root.transform ? transformFromJSON(root.transform) : Transform.createIdentity();
74
- return {
75
- id: "spatial-models",
76
- modelId: this._iModel.transientIds.getNext(),
77
- iModel: this._iModel,
78
- location,
79
- priority: TileLoadPriority.Primary,
80
- rootTile: this.readTileParams(root),
81
- reader: this,
82
- };
83
- }
84
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { Matrix3d, Point3d, Range3d, Transform, Vector3d, } from "@itwin/core-geometry";
6
+ import { RealityModelTileUtils, TileLoadPriority } from "@itwin/core-frontend";
7
+ function isTileset3d(json) {
8
+ if (typeof json !== "object")
9
+ return false;
10
+ const props = json;
11
+ if (!props.root || !props.asset)
12
+ return false;
13
+ // ###TODO spec requires geometricError to be present on tileset and all tiles; exporter is omitting from tileset.
14
+ if (undefined === props.geometricError)
15
+ props.geometricError = props.root.geometricError;
16
+ return true;
17
+ }
18
+ function rangeFromBoundingVolume(vol) {
19
+ if (vol.box) {
20
+ const center = new Point3d(vol.box[0], vol.box[1], vol.box[2]);
21
+ const ux = new Vector3d(vol.box[3], vol.box[4], vol.box[5]);
22
+ const uy = new Vector3d(vol.box[6], vol.box[7], vol.box[8]);
23
+ const uz = new Vector3d(vol.box[9], vol.box[10], vol.box[11]);
24
+ const range = Range3d.createNull();
25
+ for (let i = -1; i <= 1; i += 2)
26
+ for (let j = -1; j <= 1; j += 2)
27
+ for (let k = -1; k <= 1; k += 2)
28
+ range.extendPoint(center.plus3Scaled(ux, i, uy, j, uz, k));
29
+ return range;
30
+ }
31
+ else if (vol.sphere) {
32
+ const center = new Point3d(vol.sphere[0], vol.sphere[1], vol.sphere[2]);
33
+ const radius = vol.sphere[3];
34
+ return Range3d.createXYZXYZ(center.x - radius, center.y - radius, center.z - radius, center.x + radius, center.y + radius, center.z + radius);
35
+ }
36
+ // We won't get region bounding volumes in our tiles.
37
+ throw new Error("region bounding volume unimplemented");
38
+ }
39
+ function transformFromJSON(json) {
40
+ const translation = new Point3d(json[12], json[13], json[14]);
41
+ const matrix = Matrix3d.createRowValues(json[0], json[4], json[8], json[1], json[5], json[9], json[2], json[6], json[10]);
42
+ return Transform.createOriginAndMatrix(translation, matrix);
43
+ }
44
+ /** @internal */
45
+ export class BatchedTilesetReader {
46
+ constructor(json, iModel, baseUrl) {
47
+ if (!isTileset3d(json))
48
+ throw new Error("Invalid tileset JSON");
49
+ this._iModel = iModel;
50
+ this._tileset = json;
51
+ this.baseUrl = baseUrl;
52
+ }
53
+ readTileParams(json, parent) {
54
+ var _a;
55
+ const content = json.content;
56
+ const geometricError = json.geometricError;
57
+ const range = rangeFromBoundingVolume(json.boundingVolume);
58
+ const isLeaf = undefined === json.children || json.children.length === 0;
59
+ // ###TODO evaluate this. The geometric errors in the tiles seem far too small.
60
+ const maximumSizeScale = 8;
61
+ return {
62
+ parent,
63
+ contentId: (_a = content === null || content === void 0 ? void 0 : content.uri) !== null && _a !== void 0 ? _a : "",
64
+ range,
65
+ contentRange: (content === null || content === void 0 ? void 0 : content.boundingVolume) ? rangeFromBoundingVolume(content.boundingVolume) : undefined,
66
+ isLeaf,
67
+ maximumSize: maximumSizeScale * RealityModelTileUtils.maximumSizeFromGeometricTolerance(range, geometricError),
68
+ childrenProps: isLeaf ? undefined : json.children,
69
+ };
70
+ }
71
+ async readTileTreeParams() {
72
+ const root = this._tileset.root;
73
+ const location = root.transform ? transformFromJSON(root.transform) : Transform.createIdentity();
74
+ return {
75
+ id: "spatial-models",
76
+ modelId: this._iModel.transientIds.getNext(),
77
+ iModel: this._iModel,
78
+ location,
79
+ priority: TileLoadPriority.Primary,
80
+ rootTile: this.readTileParams(root),
81
+ reader: this,
82
+ };
83
+ }
84
+ }
85
85
  //# sourceMappingURL=BatchedTilesetReader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchedTilesetReader.js","sourceRoot":"","sources":["../../src/BatchedTilesetReader.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 {\r\n Matrix3d, Point3d, Range3d, Transform, Vector3d,\r\n} from \"@itwin/core-geometry\";\r\nimport { Tileset3dSchema as schema } from \"@itwin/core-common\";\r\nimport { IModelConnection, RealityModelTileUtils, TileLoadPriority } from \"@itwin/core-frontend\";\r\nimport { BatchedTileTreeParams } from \"./BatchedTileTree\";\r\nimport { BatchedTile, BatchedTileParams } from \"./BatchedTile\";\r\n\r\nfunction isTileset3d(json: unknown): json is schema.Tileset {\r\n if (typeof json !== \"object\")\r\n return false;\r\n\r\n const props = json as schema.Tileset;\r\n\r\n if (!props.root || !props.asset)\r\n return false;\r\n\r\n // ###TODO spec requires geometricError to be present on tileset and all tiles; exporter is omitting from tileset.\r\n if (undefined === props.geometricError)\r\n props.geometricError = props.root.geometricError;\r\n\r\n return true;\r\n}\r\n\r\nfunction rangeFromBoundingVolume(vol: schema.BoundingVolume): Range3d {\r\n if (vol.box) {\r\n const center = new Point3d(vol.box[0], vol.box[1], vol.box[2]);\r\n const ux = new Vector3d(vol.box[3], vol.box[4], vol.box[5]);\r\n const uy = new Vector3d(vol.box[6], vol.box[7], vol.box[8]);\r\n const uz = new Vector3d(vol.box[9], vol.box[10], vol.box[11]);\r\n\r\n const range = Range3d.createNull();\r\n for (let i = -1; i <= 1; i += 2)\r\n for (let j = -1; j <= 1; j += 2)\r\n for (let k = -1; k <= 1; k += 2)\r\n range.extendPoint(center.plus3Scaled(ux, i, uy, j, uz, k));\r\n\r\n return range;\r\n } else if (vol.sphere) {\r\n const center = new Point3d(vol.sphere[0], vol.sphere[1], vol.sphere[2]);\r\n const radius = vol.sphere[3];\r\n return Range3d.createXYZXYZ(center.x - radius, center.y - radius, center.z - radius, center.x + radius, center.y + radius, center.z + radius);\r\n }\r\n\r\n // We won't get region bounding volumes in our tiles.\r\n throw new Error(\"region bounding volume unimplemented\");\r\n}\r\n\r\nfunction transformFromJSON(json: schema.Transform): Transform {\r\n const translation = new Point3d(json[12], json[13], json[14]);\r\n const matrix = Matrix3d.createRowValues(\r\n json[0], json[4], json[8],\r\n json[1], json[5], json[9],\r\n json[2], json[6], json[10]\r\n );\r\n\r\n return Transform.createOriginAndMatrix(translation, matrix);\r\n}\r\n\r\n/** @internal */\r\nexport class BatchedTilesetReader {\r\n private readonly _iModel: IModelConnection;\r\n private readonly _tileset: schema.Tileset;\r\n public readonly baseUrl: URL;\r\n\r\n public constructor(json: unknown, iModel: IModelConnection, baseUrl: URL) {\r\n if (!isTileset3d(json))\r\n throw new Error(\"Invalid tileset JSON\");\r\n\r\n this._iModel = iModel;\r\n this._tileset = json;\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n public readTileParams(json: schema.Tile, parent?: BatchedTile): BatchedTileParams {\r\n const content = json.content;\r\n const geometricError = json.geometricError;\r\n const range = rangeFromBoundingVolume(json.boundingVolume);\r\n const isLeaf = undefined === json.children || json.children.length === 0;\r\n\r\n // ###TODO evaluate this. The geometric errors in the tiles seem far too small.\r\n const maximumSizeScale = 8;\r\n return {\r\n parent,\r\n contentId: content?.uri ?? \"\",\r\n range,\r\n contentRange: content?.boundingVolume ? rangeFromBoundingVolume(content.boundingVolume) : undefined,\r\n isLeaf,\r\n maximumSize: maximumSizeScale * RealityModelTileUtils.maximumSizeFromGeometricTolerance(range, geometricError),\r\n childrenProps: isLeaf ? undefined : json.children,\r\n };\r\n }\r\n\r\n public async readTileTreeParams(): Promise<BatchedTileTreeParams> {\r\n const root = this._tileset.root;\r\n const location = root.transform ? transformFromJSON(root.transform) : Transform.createIdentity();\r\n\r\n return {\r\n id: \"spatial-models\",\r\n modelId: this._iModel.transientIds.getNext(),\r\n iModel: this._iModel,\r\n location,\r\n priority: TileLoadPriority.Primary,\r\n rootTile: this.readTileParams(root),\r\n reader: this,\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BatchedTilesetReader.js","sourceRoot":"","sources":["../../src/BatchedTilesetReader.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 {\n Matrix3d, Point3d, Range3d, Transform, Vector3d,\n} from \"@itwin/core-geometry\";\nimport { Tileset3dSchema as schema } from \"@itwin/core-common\";\nimport { IModelConnection, RealityModelTileUtils, TileLoadPriority } from \"@itwin/core-frontend\";\nimport { BatchedTileTreeParams } from \"./BatchedTileTree\";\nimport { BatchedTile, BatchedTileParams } from \"./BatchedTile\";\n\nfunction isTileset3d(json: unknown): json is schema.Tileset {\n if (typeof json !== \"object\")\n return false;\n\n const props = json as schema.Tileset;\n\n if (!props.root || !props.asset)\n return false;\n\n // ###TODO spec requires geometricError to be present on tileset and all tiles; exporter is omitting from tileset.\n if (undefined === props.geometricError)\n props.geometricError = props.root.geometricError;\n\n return true;\n}\n\nfunction rangeFromBoundingVolume(vol: schema.BoundingVolume): Range3d {\n if (vol.box) {\n const center = new Point3d(vol.box[0], vol.box[1], vol.box[2]);\n const ux = new Vector3d(vol.box[3], vol.box[4], vol.box[5]);\n const uy = new Vector3d(vol.box[6], vol.box[7], vol.box[8]);\n const uz = new Vector3d(vol.box[9], vol.box[10], vol.box[11]);\n\n const range = Range3d.createNull();\n for (let i = -1; i <= 1; i += 2)\n for (let j = -1; j <= 1; j += 2)\n for (let k = -1; k <= 1; k += 2)\n range.extendPoint(center.plus3Scaled(ux, i, uy, j, uz, k));\n\n return range;\n } else if (vol.sphere) {\n const center = new Point3d(vol.sphere[0], vol.sphere[1], vol.sphere[2]);\n const radius = vol.sphere[3];\n return Range3d.createXYZXYZ(center.x - radius, center.y - radius, center.z - radius, center.x + radius, center.y + radius, center.z + radius);\n }\n\n // We won't get region bounding volumes in our tiles.\n throw new Error(\"region bounding volume unimplemented\");\n}\n\nfunction transformFromJSON(json: schema.Transform): Transform {\n const translation = new Point3d(json[12], json[13], json[14]);\n const matrix = Matrix3d.createRowValues(\n json[0], json[4], json[8],\n json[1], json[5], json[9],\n json[2], json[6], json[10]\n );\n\n return Transform.createOriginAndMatrix(translation, matrix);\n}\n\n/** @internal */\nexport class BatchedTilesetReader {\n private readonly _iModel: IModelConnection;\n private readonly _tileset: schema.Tileset;\n public readonly baseUrl: URL;\n\n public constructor(json: unknown, iModel: IModelConnection, baseUrl: URL) {\n if (!isTileset3d(json))\n throw new Error(\"Invalid tileset JSON\");\n\n this._iModel = iModel;\n this._tileset = json;\n this.baseUrl = baseUrl;\n }\n\n public readTileParams(json: schema.Tile, parent?: BatchedTile): BatchedTileParams {\n const content = json.content;\n const geometricError = json.geometricError;\n const range = rangeFromBoundingVolume(json.boundingVolume);\n const isLeaf = undefined === json.children || json.children.length === 0;\n\n // ###TODO evaluate this. The geometric errors in the tiles seem far too small.\n const maximumSizeScale = 8;\n return {\n parent,\n contentId: content?.uri ?? \"\",\n range,\n contentRange: content?.boundingVolume ? rangeFromBoundingVolume(content.boundingVolume) : undefined,\n isLeaf,\n maximumSize: maximumSizeScale * RealityModelTileUtils.maximumSizeFromGeometricTolerance(range, geometricError),\n childrenProps: isLeaf ? undefined : json.children,\n };\n }\n\n public async readTileTreeParams(): Promise<BatchedTileTreeParams> {\n const root = this._tileset.root;\n const location = root.transform ? transformFromJSON(root.transform) : Transform.createIdentity();\n\n return {\n id: \"spatial-models\",\n modelId: this._iModel.transientIds.getNext(),\n iModel: this._iModel,\n location,\n priority: TileLoadPriority.Primary,\n rootTile: this.readTileParams(root),\n reader: this,\n };\n }\n}\n"]}
@@ -1,15 +1,33 @@
1
- import { IModelConnection } from "@itwin/core-frontend";
2
- /** Options supplied to [[initializeFrontendTiles]].
3
- * @alpha
4
- */
5
- export interface FrontendTilesOptions {
6
- /** Given an iModel, provide the base URL where the tiles are stored representing all of the spatial models in the iModel.
7
- * It is expected that baseUrl/tileset.json exists and contains a 3d tileset in which all relative URLs are relative to baseUrl.
8
- */
9
- computeSpatialTilesetBaseUrl: (iModel: IModelConnection) => URL;
10
- }
11
- /** Initialize the frontend-tiles package to obtain tiles for spatial views.
12
- * @alpha
13
- */
14
- export declare function initializeFrontendTiles(options: FrontendTilesOptions): void;
1
+ import { IModelConnection, SpatialTileTreeReferences } from "@itwin/core-frontend";
2
+ /** A function that can provide the base URL where a tileset representing all of the spatial models in a given iModel are stored.
3
+ * The tileset is expected to reside at "baseUrl/tileset.json" and to have been produced by the [mesh export service](https://developer.bentley.com/apis/mesh-export/).
4
+ * If no such tileset exists for the given iModel, return `undefined`.
5
+ * @see [[FrontendTilesOptions.computeSpatialTilesetBaseUrl]].
6
+ * @alpha
7
+ */
8
+ export declare type ComputeSpatialTilesetBaseUrl = (iModel: IModelConnection) => Promise<URL | undefined>;
9
+ /** Options supplied to [[initializeFrontendTiles]].
10
+ * @alpha
11
+ */
12
+ export interface FrontendTilesOptions {
13
+ /** Provide the base URL for the pre-published tileset for a given iModel. */
14
+ computeSpatialTilesetBaseUrl: ComputeSpatialTilesetBaseUrl;
15
+ /** The maximum number of levels in the tile tree to skip loading if they do not provide the desired level of detail for the current view.
16
+ * Default: 4.
17
+ * Reducing this value will load more intermediate tiles, which causes more gradual refinement: low-resolution tiles will display quickly, followed more gradually by
18
+ * successively higher-resolution ones.
19
+ * Increasing the value jumps more directly to tiles of the exact level of detail desired, which may load more, smaller tiles up-front, leaving some areas of the view
20
+ * vacant for longer; and when zooming out some newly-exposed areas of the view may remain vacant for longer because no lower-resolution tiles are initially available to
21
+ * fill them. However, tiles close to the viewer (and therefore likely of most interest to them) will refine to an appropriate level of detail more quickly.
22
+ */
23
+ maxLevelsToSkip?: number;
24
+ }
25
+ /** @internal */
26
+ export declare const createFallbackSpatialTileTreeReferences: typeof SpatialTileTreeReferences.create;
27
+ /** @internal */
28
+ export declare function getMaxLevelsToSkip(): number;
29
+ /** Initialize the frontend-tiles package to obtain tiles for spatial views.
30
+ * @alpha
31
+ */
32
+ export declare function initializeFrontendTiles(options: FrontendTilesOptions): void;
15
33
  //# sourceMappingURL=FrontendTiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendTiles.d.ts","sourceRoot":"","sources":["../../src/FrontendTiles.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAA+C,MAAM,sBAAsB,CAAC;AAGrG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,4BAA4B,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,GAAG,CAAC;CACjE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAE3E"}
1
+ {"version":3,"file":"FrontendTiles.d.ts","sourceRoot":"","sources":["../../src/FrontendTiles.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAoB,MAAM,sBAAsB,CAAC;AAGrG;;;;;GAKG;AACH,oBAAY,4BAA4B,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;AAElG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,4BAA4B,EAAE,4BAA4B,CAAC;IAC3D;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,gBAAgB;AAChB,eAAO,MAAM,uCAAuC,yCAAmC,CAAC;AAIxF,gBAAgB;AAChB,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAK3E"}
@@ -1,13 +1,22 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- import { SpatialTileTreeReferences } from "@itwin/core-frontend";
6
- import { createBatchedSpatialTileTreeReferences } from "./BatchedSpatialTileTreeRefs";
7
- /** Initialize the frontend-tiles package to obtain tiles for spatial views.
8
- * @alpha
9
- */
10
- export function initializeFrontendTiles(options) {
11
- SpatialTileTreeReferences.create = (view) => createBatchedSpatialTileTreeReferences(view, options.computeSpatialTilesetBaseUrl);
12
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { SpatialTileTreeReferences } from "@itwin/core-frontend";
6
+ import { createBatchedSpatialTileTreeReferences } from "./BatchedSpatialTileTreeRefs";
7
+ /** @internal */
8
+ export const createFallbackSpatialTileTreeReferences = SpatialTileTreeReferences.create;
9
+ let maxLevelsToSkip = 4;
10
+ /** @internal */
11
+ export function getMaxLevelsToSkip() {
12
+ return maxLevelsToSkip;
13
+ }
14
+ /** Initialize the frontend-tiles package to obtain tiles for spatial views.
15
+ * @alpha
16
+ */
17
+ export function initializeFrontendTiles(options) {
18
+ if (undefined !== options.maxLevelsToSkip && options.maxLevelsToSkip >= 0)
19
+ maxLevelsToSkip = options.maxLevelsToSkip;
20
+ SpatialTileTreeReferences.create = (view) => createBatchedSpatialTileTreeReferences(view, options.computeSpatialTilesetBaseUrl);
21
+ }
13
22
  //# sourceMappingURL=FrontendTiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FrontendTiles.js","sourceRoot":"","sources":["../../src/FrontendTiles.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAoB,yBAAyB,EAAoB,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,sCAAsC,EAAE,MAAM,8BAA8B,CAAC;AAYtF;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA6B;IACnE,yBAAyB,CAAC,MAAM,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,sCAAsC,CAAC,IAAI,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACpJ,CAAC","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 { IModelConnection, SpatialTileTreeReferences, SpatialViewState } from \"@itwin/core-frontend\";\r\nimport { createBatchedSpatialTileTreeReferences } from \"./BatchedSpatialTileTreeRefs\";\r\n\r\n/** Options supplied to [[initializeFrontendTiles]].\r\n * @alpha\r\n */\r\nexport interface FrontendTilesOptions {\r\n /** Given an iModel, provide the base URL where the tiles are stored representing all of the spatial models in the iModel.\r\n * It is expected that baseUrl/tileset.json exists and contains a 3d tileset in which all relative URLs are relative to baseUrl.\r\n */\r\n computeSpatialTilesetBaseUrl: (iModel: IModelConnection) => URL;\r\n}\r\n\r\n/** Initialize the frontend-tiles package to obtain tiles for spatial views.\r\n * @alpha\r\n */\r\nexport function initializeFrontendTiles(options: FrontendTilesOptions): void {\r\n SpatialTileTreeReferences.create = (view: SpatialViewState) => createBatchedSpatialTileTreeReferences(view, options.computeSpatialTilesetBaseUrl);\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontendTiles.js","sourceRoot":"","sources":["../../src/FrontendTiles.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAoB,yBAAyB,EAAoB,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,sCAAsC,EAAE,MAAM,8BAA8B,CAAC;AA2BtF,gBAAgB;AAChB,MAAM,CAAC,MAAM,uCAAuC,GAAG,yBAAyB,CAAC,MAAM,CAAC;AAExF,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,gBAAgB;AAChB,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA6B;IACnE,IAAI,SAAS,KAAK,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC;QACvE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAE5C,yBAAyB,CAAC,MAAM,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,sCAAsC,CAAC,IAAI,EAAE,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACpJ,CAAC","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 { IModelConnection, SpatialTileTreeReferences, SpatialViewState } from \"@itwin/core-frontend\";\nimport { createBatchedSpatialTileTreeReferences } from \"./BatchedSpatialTileTreeRefs\";\n\n/** A function that can provide the base URL where a tileset representing all of the spatial models in a given iModel are stored.\n * The tileset is expected to reside at \"baseUrl/tileset.json\" and to have been produced by the [mesh export service](https://developer.bentley.com/apis/mesh-export/).\n * If no such tileset exists for the given iModel, return `undefined`.\n * @see [[FrontendTilesOptions.computeSpatialTilesetBaseUrl]].\n * @alpha\n */\nexport type ComputeSpatialTilesetBaseUrl = (iModel: IModelConnection) => Promise<URL | undefined>;\n\n/** Options supplied to [[initializeFrontendTiles]].\n * @alpha\n */\nexport interface FrontendTilesOptions {\n /** Provide the base URL for the pre-published tileset for a given iModel. */\n computeSpatialTilesetBaseUrl: ComputeSpatialTilesetBaseUrl;\n /** The maximum number of levels in the tile tree to skip loading if they do not provide the desired level of detail for the current view.\n * Default: 4.\n * Reducing this value will load more intermediate tiles, which causes more gradual refinement: low-resolution tiles will display quickly, followed more gradually by\n * successively higher-resolution ones.\n * Increasing the value jumps more directly to tiles of the exact level of detail desired, which may load more, smaller tiles up-front, leaving some areas of the view\n * vacant for longer; and when zooming out some newly-exposed areas of the view may remain vacant for longer because no lower-resolution tiles are initially available to\n * fill them. However, tiles close to the viewer (and therefore likely of most interest to them) will refine to an appropriate level of detail more quickly.\n */\n maxLevelsToSkip?: number;\n}\n\n/** @internal */\nexport const createFallbackSpatialTileTreeReferences = SpatialTileTreeReferences.create;\n\nlet maxLevelsToSkip = 4;\n\n/** @internal */\nexport function getMaxLevelsToSkip(): number {\n return maxLevelsToSkip;\n}\n\n/** Initialize the frontend-tiles package to obtain tiles for spatial views.\n * @alpha\n */\nexport function initializeFrontendTiles(options: FrontendTilesOptions): void {\n if (undefined !== options.maxLevelsToSkip && options.maxLevelsToSkip >= 0)\n maxLevelsToSkip = options.maxLevelsToSkip;\n\n SpatialTileTreeReferences.create = (view: SpatialViewState) => createBatchedSpatialTileTreeReferences(view, options.computeSpatialTilesetBaseUrl);\n}\n"]}
@@ -1,3 +1,3 @@
1
- /** @internal */
2
- export declare const loggerCategory = "frontend-tiles";
1
+ /** @internal */
2
+ export declare const loggerCategory = "frontend-tiles";
3
3
  //# sourceMappingURL=LoggerCategory.d.ts.map
@@ -1,7 +1,7 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @internal */
6
- export const loggerCategory = "frontend-tiles";
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @internal */
6
+ export const loggerCategory = "frontend-tiles";
7
7
  //# sourceMappingURL=LoggerCategory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoggerCategory.js","sourceRoot":"","sources":["../../src/LoggerCategory.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC","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\n/** @internal */\r\nexport const loggerCategory = \"frontend-tiles\";\r\n\r\n"]}
1
+ {"version":3,"file":"LoggerCategory.js","sourceRoot":"","sources":["../../src/LoggerCategory.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC","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\n/** @internal */\nexport const loggerCategory = \"frontend-tiles\";\n\n"]}
@@ -1,2 +1,2 @@
1
- export * from "./FrontendTiles";
1
+ export * from "./FrontendTiles";
2
2
  //# sourceMappingURL=frontend-tiles.d.ts.map
@@ -1,6 +1,6 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- export * from "./FrontendTiles";
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export * from "./FrontendTiles";
6
6
  //# sourceMappingURL=frontend-tiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-tiles.js","sourceRoot":"","sources":["../../src/frontend-tiles.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,cAAc,iBAAiB,CAAC","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\nexport * from \"./FrontendTiles\";\r\n"]}
1
+ {"version":3,"file":"frontend-tiles.js","sourceRoot":"","sources":["../../src/frontend-tiles.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,cAAc,iBAAiB,CAAC","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\nexport * from \"./FrontendTiles\";\n"]}