@itwin/core-frontend 3.0.0-dev.160 → 3.0.0-dev.161

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 (33) hide show
  1. package/lib/cjs/Viewport.js +2 -2
  2. package/lib/cjs/Viewport.js.map +1 -1
  3. package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
  4. package/lib/cjs/tile/B3dmReader.js +5 -2
  5. package/lib/cjs/tile/B3dmReader.js.map +1 -1
  6. package/lib/cjs/tile/GltfReader.d.ts +29 -3
  7. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  8. package/lib/cjs/tile/GltfReader.js +25 -23
  9. package/lib/cjs/tile/GltfReader.js.map +1 -1
  10. package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
  11. package/lib/cjs/tile/I3dmReader.js +5 -2
  12. package/lib/cjs/tile/I3dmReader.js.map +1 -1
  13. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  14. package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  15. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
  16. package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  17. package/lib/esm/Viewport.js +2 -2
  18. package/lib/esm/Viewport.js.map +1 -1
  19. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  20. package/lib/esm/tile/B3dmReader.js +6 -3
  21. package/lib/esm/tile/B3dmReader.js.map +1 -1
  22. package/lib/esm/tile/GltfReader.d.ts +29 -3
  23. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  24. package/lib/esm/tile/GltfReader.js +25 -23
  25. package/lib/esm/tile/GltfReader.js.map +1 -1
  26. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  27. package/lib/esm/tile/I3dmReader.js +6 -3
  28. package/lib/esm/tile/I3dmReader.js.map +1 -1
  29. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  30. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  31. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
  32. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  33. package/package.json +22 -22
@@ -1 +1 @@
1
- {"version":3,"file":"I3dmReader.js","sourceRoot":"","sources":["../../../src/tile/I3dmReader.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/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { ByteStream, Id64String, JsonUtils, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { AxisOrder, Matrix3d, Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { BatchType, ElementAlignedBox3d, Feature, FeatureTable, I3dmHeader, TileReadStatus } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { InstancedGraphicParams } from \"../render/InstancedGraphicParams\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { BatchedTileIdMap, GltfReader, GltfReaderProps, GltfReaderResult, ShouldAbortReadGltf } from \"./internal\";\r\n\r\nfunction setTransform(transforms: Float32Array, index: number, rotation: Matrix3d, origin: Point3d): void {\r\n const i = index * 12;\r\n let rot = rotation.coffs;\r\n\r\n const ignoreRotation = false;\r\n if (ignoreRotation)\r\n rot = new Float64Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\r\n\r\n const ignoreOrigin = false;\r\n if (ignoreOrigin)\r\n origin.x = origin.y = origin.z = 0;\r\n\r\n transforms[i + 0] = rot[0];\r\n transforms[i + 1] = rot[1];\r\n transforms[i + 2] = rot[2];\r\n transforms[i + 3] = origin.x;\r\n\r\n transforms[i + 4] = rot[3];\r\n transforms[i + 5] = rot[4];\r\n transforms[i + 6] = rot[5];\r\n transforms[i + 7] = origin.y;\r\n\r\n transforms[i + 8] = rot[6];\r\n transforms[i + 9] = rot[7];\r\n transforms[i + 10] = rot[8];\r\n transforms[i + 11] = origin.z;\r\n}\r\n\r\n/**\r\n * Deserializes a tile in [i3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Instanced3DModel) format.\r\n * @internal\r\n */\r\nexport class I3dmReader extends GltfReader {\r\n private _instanceCount = 0;\r\n private _featureTable?: FeatureTable;\r\n private readonly _modelId: Id64String;\r\n\r\n public static create(stream: ByteStream, iModel: IModelConnection, modelId: Id64String, is3d: boolean, range: ElementAlignedBox3d,\r\n system: RenderSystem, yAxisUp: boolean, isLeaf: boolean, isCanceled?: ShouldAbortReadGltf, idMap?: BatchedTileIdMap, deduplicateVertices=false): I3dmReader | undefined {\r\n const header = new I3dmHeader(stream);\r\n if (!header.isValid)\r\n return undefined;\r\n\r\n const props = GltfReaderProps.create(stream, yAxisUp);\r\n if (undefined === props)\r\n return undefined;\r\n\r\n stream.curPos = header.featureTableJsonPosition;\r\n const featureStr = utf8ToString(stream.nextBytes(header.featureTableJsonLength));\r\n if (undefined === featureStr)\r\n return undefined;\r\n\r\n const featureBinary = new Uint8Array(stream.arrayBuffer, header.featureTableJsonPosition + header.featureTableJsonLength, header.featureTableBinaryLength);\r\n return new I3dmReader(featureBinary, JSON.parse(featureStr), header.batchTableJson, props, iModel, modelId, is3d, system,\r\n range, isLeaf, isCanceled, idMap, deduplicateVertices);\r\n }\r\n\r\n private constructor(private _featureBinary: Uint8Array, private _featureJson: any, private _batchTableJson: any, props: GltfReaderProps,\r\n iModel: IModelConnection, modelId: Id64String, is3d: boolean, system: RenderSystem, private _range: ElementAlignedBox3d,\r\n private _isLeaf: boolean, isCanceled?: ShouldAbortReadGltf, private _idMap?: BatchedTileIdMap, deduplicateVertices=false) {\r\n super(props, iModel, is3d, system, BatchType.Primary, isCanceled, deduplicateVertices);\r\n this._modelId = modelId;\r\n }\r\n\r\n public async read(): Promise<GltfReaderResult> {\r\n this._instanceCount = JsonUtils.asInt(this._featureJson.INSTANCES_LENGTH, 0);\r\n\r\n // NB: For reality models with no batch table, we want the model ID in the feature table\r\n this._featureTable = new FeatureTable(undefined === this._batchTableJson ? this._instanceCount : 1, this._modelId, this._type);\r\n if (this._idMap !== undefined && this._batchTableJson !== undefined) {\r\n for (let i = 0; i < this._instanceCount; i++) {\r\n const feature: any = {};\r\n for (const key in this._batchTableJson) // eslint-disable-line guard-for-in\r\n feature[key] = this._batchTableJson[key][i];\r\n\r\n this._featureTable.insert(new Feature(this._idMap.getBatchId(feature)));\r\n }\r\n } else {\r\n // NB: For reality models with no batch table, we want the model ID in the feature table\r\n const feature = new Feature(this._modelId);\r\n this._featureTable.insert(feature);\r\n }\r\n\r\n await this.loadTextures();\r\n if (this._isCanceled)\r\n return { readStatus: TileReadStatus.Canceled, isLeaf: this._isLeaf };\r\n\r\n const instances = this.readInstances();\r\n if (undefined === instances)\r\n return { readStatus: TileReadStatus.InvalidTileData, isLeaf: this._isLeaf };\r\n\r\n return this.readGltfAndCreateGraphics(this._isLeaf, this._featureTable, this._range, undefined, undefined, instances);\r\n }\r\n\r\n protected readFeatures(_features: Mesh.Features, _json: any): boolean {\r\n return false;\r\n }\r\n\r\n private readInstances(): InstancedGraphicParams | undefined {\r\n const count = JsonUtils.asInt(this._featureJson.INSTANCES_LENGTH, 0);\r\n if (count <= 0)\r\n return undefined;\r\n\r\n const json = this._featureJson;\r\n const binary = this._featureBinary;\r\n\r\n const batchIds = json.BATCH_ID ? new Int32Array(binary.buffer, binary.byteOffset + json.BATCH_ID.byteOffset, count) : undefined;\r\n const positions = json.POSITION ? new Float32Array(binary.buffer, binary.byteOffset + json.POSITION.byteOffset, count * 3) : undefined;\r\n const upNormals = json.NORMAL_UP ? new Float32Array(binary.buffer, binary.byteOffset + json.NORMAL_UP.byteOffset, count * 3) : undefined;\r\n const rightNormals = json.NORMAL_RIGHT ? new Float32Array(binary.buffer, binary.byteOffset + json.NORMAL_RIGHT.byteOffset, count * 3) : undefined;\r\n const scales = json.SCALE ? new Float32Array(binary.buffer, binary.byteOffset + json.SCALE.byteOffset, count) : undefined;\r\n const nonUniformScales = json.SCALE_NON_UNIFORM ? new Float32Array(binary.buffer, binary.byteOffset + json.SCALE_NON_UNIFORM.byteOffset, count * 3) : undefined;\r\n\r\n const matrix = Matrix3d.createIdentity();\r\n const position = Point3d.createZero();\r\n const upNormal = Vector3d.create(0, 0, 1);\r\n const rightNormal = Vector3d.create(1, 0, 0);\r\n const scale = Vector3d.create(1, 1, 1);\r\n\r\n const transformCenter = this._range.center;\r\n const transforms = new Float32Array(12 * count);\r\n for (let i = 0; i < count; i++) {\r\n const index = i * 3;\r\n if (positions)\r\n position.set(positions[index] - transformCenter.x, positions[index + 1] - transformCenter.y, positions[index + 2] - transformCenter.z);\r\n\r\n if (upNormals || rightNormals) {\r\n if (upNormals)\r\n upNormal.set(upNormals[index], upNormals[index + 1], upNormals[index + 2]);\r\n\r\n if (rightNormals)\r\n rightNormal.set(rightNormals[index], rightNormals[index + 1], rightNormals[index + 2]);\r\n\r\n if (scales)\r\n scale.x = scale.y = scale.z = scales[i];\r\n\r\n if (nonUniformScales) {\r\n scale.x *= nonUniformScales[index + 0];\r\n scale.y *= nonUniformScales[index + 1];\r\n scale.z *= nonUniformScales[index + 2];\r\n }\r\n\r\n Matrix3d.createRigidFromColumns(rightNormal, upNormal, AxisOrder.XYZ, matrix);\r\n if (scales || nonUniformScales)\r\n matrix.scaleColumnsInPlace(scale.x, scale.y, scale.z);\r\n\r\n setTransform(transforms, i, matrix, position);\r\n }\r\n }\r\n\r\n let featureIds;\r\n if (undefined !== batchIds) {\r\n featureIds = new Uint8Array(3 * batchIds.length);\r\n for (let i = 0, j = 0; i < batchIds.length; i++) {\r\n const batchId = batchIds[i];\r\n featureIds[j++] = batchId & 0x000000ff;\r\n featureIds[j++] = (batchId & 0x0000ff00) >> 8;\r\n featureIds[j++] = (batchId & 0x00ff0000) >> 16;\r\n }\r\n }\r\n const symbologyOverrides = undefined;\r\n\r\n return { count, transforms, symbologyOverrides, featureIds, transformCenter };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"I3dmReader.js","sourceRoot":"","sources":["../../../src/tile/I3dmReader.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/** @packageDocumentation\r\n * @module Tiles\r\n */\r\nimport { ByteStream, Id64String, JsonUtils, utf8ToString } from \"@itwin/core-bentley\";\r\nimport { AxisOrder, Matrix3d, Point3d, Vector3d } from \"@itwin/core-geometry\";\r\nimport { ElementAlignedBox3d, Feature, FeatureTable, I3dmHeader, TileReadStatus } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { InstancedGraphicParams } from \"../render/InstancedGraphicParams\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport { BatchedTileIdMap, GltfReader, GltfReaderProps, GltfReaderResult, ShouldAbortReadGltf } from \"./internal\";\r\n\r\nfunction setTransform(transforms: Float32Array, index: number, rotation: Matrix3d, origin: Point3d): void {\r\n const i = index * 12;\r\n let rot = rotation.coffs;\r\n\r\n const ignoreRotation = false;\r\n if (ignoreRotation)\r\n rot = new Float64Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\r\n\r\n const ignoreOrigin = false;\r\n if (ignoreOrigin)\r\n origin.x = origin.y = origin.z = 0;\r\n\r\n transforms[i + 0] = rot[0];\r\n transforms[i + 1] = rot[1];\r\n transforms[i + 2] = rot[2];\r\n transforms[i + 3] = origin.x;\r\n\r\n transforms[i + 4] = rot[3];\r\n transforms[i + 5] = rot[4];\r\n transforms[i + 6] = rot[5];\r\n transforms[i + 7] = origin.y;\r\n\r\n transforms[i + 8] = rot[6];\r\n transforms[i + 9] = rot[7];\r\n transforms[i + 10] = rot[8];\r\n transforms[i + 11] = origin.z;\r\n}\r\n\r\n/**\r\n * Deserializes a tile in [i3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Instanced3DModel) format.\r\n * @internal\r\n */\r\nexport class I3dmReader extends GltfReader {\r\n private _instanceCount = 0;\r\n private _featureTable?: FeatureTable;\r\n private readonly _modelId: Id64String;\r\n\r\n public static create(stream: ByteStream, iModel: IModelConnection, modelId: Id64String, is3d: boolean, range: ElementAlignedBox3d,\r\n system: RenderSystem, yAxisUp: boolean, isLeaf: boolean, isCanceled?: ShouldAbortReadGltf, idMap?: BatchedTileIdMap, deduplicateVertices=false): I3dmReader | undefined {\r\n const header = new I3dmHeader(stream);\r\n if (!header.isValid)\r\n return undefined;\r\n\r\n const props = GltfReaderProps.create(stream, yAxisUp);\r\n if (undefined === props)\r\n return undefined;\r\n\r\n stream.curPos = header.featureTableJsonPosition;\r\n const featureStr = utf8ToString(stream.nextBytes(header.featureTableJsonLength));\r\n if (undefined === featureStr)\r\n return undefined;\r\n\r\n const featureBinary = new Uint8Array(stream.arrayBuffer, header.featureTableJsonPosition + header.featureTableJsonLength, header.featureTableBinaryLength);\r\n return new I3dmReader(featureBinary, JSON.parse(featureStr), header.batchTableJson, props, iModel, modelId, is3d, system,\r\n range, isLeaf, isCanceled, idMap, deduplicateVertices);\r\n }\r\n\r\n private constructor(private _featureBinary: Uint8Array, private _featureJson: any, private _batchTableJson: any, props: GltfReaderProps,\r\n iModel: IModelConnection, modelId: Id64String, is3d: boolean, system: RenderSystem, private _range: ElementAlignedBox3d,\r\n private _isLeaf: boolean, shouldAbort?: ShouldAbortReadGltf, private _idMap?: BatchedTileIdMap, deduplicateVertices=false) {\r\n super({\r\n props, iModel, system, shouldAbort, deduplicateVertices,\r\n is2d: !is3d,\r\n });\r\n this._modelId = modelId;\r\n }\r\n\r\n public async read(): Promise<GltfReaderResult> {\r\n this._instanceCount = JsonUtils.asInt(this._featureJson.INSTANCES_LENGTH, 0);\r\n\r\n // NB: For reality models with no batch table, we want the model ID in the feature table\r\n this._featureTable = new FeatureTable(undefined === this._batchTableJson ? this._instanceCount : 1, this._modelId, this._type);\r\n if (this._idMap !== undefined && this._batchTableJson !== undefined) {\r\n for (let i = 0; i < this._instanceCount; i++) {\r\n const feature: any = {};\r\n for (const key in this._batchTableJson) // eslint-disable-line guard-for-in\r\n feature[key] = this._batchTableJson[key][i];\r\n\r\n this._featureTable.insert(new Feature(this._idMap.getBatchId(feature)));\r\n }\r\n } else {\r\n // NB: For reality models with no batch table, we want the model ID in the feature table\r\n const feature = new Feature(this._modelId);\r\n this._featureTable.insert(feature);\r\n }\r\n\r\n await this.loadTextures();\r\n if (this._isCanceled)\r\n return { readStatus: TileReadStatus.Canceled, isLeaf: this._isLeaf };\r\n\r\n const instances = this.readInstances();\r\n if (undefined === instances)\r\n return { readStatus: TileReadStatus.InvalidTileData, isLeaf: this._isLeaf };\r\n\r\n return this.readGltfAndCreateGraphics(this._isLeaf, this._featureTable, this._range, undefined, undefined, instances);\r\n }\r\n\r\n protected readFeatures(_features: Mesh.Features, _json: any): boolean {\r\n return false;\r\n }\r\n\r\n private readInstances(): InstancedGraphicParams | undefined {\r\n const count = JsonUtils.asInt(this._featureJson.INSTANCES_LENGTH, 0);\r\n if (count <= 0)\r\n return undefined;\r\n\r\n const json = this._featureJson;\r\n const binary = this._featureBinary;\r\n\r\n const batchIds = json.BATCH_ID ? new Int32Array(binary.buffer, binary.byteOffset + json.BATCH_ID.byteOffset, count) : undefined;\r\n const positions = json.POSITION ? new Float32Array(binary.buffer, binary.byteOffset + json.POSITION.byteOffset, count * 3) : undefined;\r\n const upNormals = json.NORMAL_UP ? new Float32Array(binary.buffer, binary.byteOffset + json.NORMAL_UP.byteOffset, count * 3) : undefined;\r\n const rightNormals = json.NORMAL_RIGHT ? new Float32Array(binary.buffer, binary.byteOffset + json.NORMAL_RIGHT.byteOffset, count * 3) : undefined;\r\n const scales = json.SCALE ? new Float32Array(binary.buffer, binary.byteOffset + json.SCALE.byteOffset, count) : undefined;\r\n const nonUniformScales = json.SCALE_NON_UNIFORM ? new Float32Array(binary.buffer, binary.byteOffset + json.SCALE_NON_UNIFORM.byteOffset, count * 3) : undefined;\r\n\r\n const matrix = Matrix3d.createIdentity();\r\n const position = Point3d.createZero();\r\n const upNormal = Vector3d.create(0, 0, 1);\r\n const rightNormal = Vector3d.create(1, 0, 0);\r\n const scale = Vector3d.create(1, 1, 1);\r\n\r\n const transformCenter = this._range.center;\r\n const transforms = new Float32Array(12 * count);\r\n for (let i = 0; i < count; i++) {\r\n const index = i * 3;\r\n if (positions)\r\n position.set(positions[index] - transformCenter.x, positions[index + 1] - transformCenter.y, positions[index + 2] - transformCenter.z);\r\n\r\n if (upNormals || rightNormals) {\r\n if (upNormals)\r\n upNormal.set(upNormals[index], upNormals[index + 1], upNormals[index + 2]);\r\n\r\n if (rightNormals)\r\n rightNormal.set(rightNormals[index], rightNormals[index + 1], rightNormals[index + 2]);\r\n\r\n if (scales)\r\n scale.x = scale.y = scale.z = scales[i];\r\n\r\n if (nonUniformScales) {\r\n scale.x *= nonUniformScales[index + 0];\r\n scale.y *= nonUniformScales[index + 1];\r\n scale.z *= nonUniformScales[index + 2];\r\n }\r\n\r\n Matrix3d.createRigidFromColumns(rightNormal, upNormal, AxisOrder.XYZ, matrix);\r\n if (scales || nonUniformScales)\r\n matrix.scaleColumnsInPlace(scale.x, scale.y, scale.z);\r\n\r\n setTransform(transforms, i, matrix, position);\r\n }\r\n }\r\n\r\n let featureIds;\r\n if (undefined !== batchIds) {\r\n featureIds = new Uint8Array(3 * batchIds.length);\r\n for (let i = 0, j = 0; i < batchIds.length; i++) {\r\n const batchId = batchIds[i];\r\n featureIds[j++] = batchId & 0x000000ff;\r\n featureIds[j++] = (batchId & 0x0000ff00) >> 8;\r\n featureIds[j++] = (batchId & 0x00ff0000) >> 16;\r\n }\r\n }\r\n const symbologyOverrides = undefined;\r\n\r\n return { count, transforms, symbologyOverrides, featureIds, transformCenter };\r\n }\r\n}\r\n"]}
@@ -3,18 +3,18 @@
3
3
  */
4
4
  import { Id64String } from "@itwin/core-bentley";
5
5
  import { MapLayerSettings } from "@itwin/core-common";
6
- import { Viewport } from "../../Viewport";
6
+ import { DisplayStyleState } from "../../DisplayStyleState";
7
7
  import { ViewState } from "../../ViewState";
8
+ import { Viewport } from "../../Viewport";
8
9
  import { MapLayerImageryProvider, MapTileTreeReference, TiledGraphicsProvider, TileTreeReference } from "../internal";
9
10
  /** @internal */
10
11
  export declare class MapTiledGraphicsProvider implements TiledGraphicsProvider {
11
- private readonly _vp;
12
12
  readonly backgroundMap: MapTileTreeReference;
13
13
  readonly overlayMap: MapTileTreeReference;
14
14
  readonly backgroundDrapeMap: MapTileTreeReference;
15
15
  private readonly _detachFromDisplayStyle;
16
16
  forEachTileTreeRef(viewport: Viewport, func: (ref: TileTreeReference) => void): void;
17
- constructor(_vp: Viewport);
17
+ constructor(viewportId: number, displayStyle: DisplayStyleState);
18
18
  setView(newView: ViewState): void;
19
19
  detachFromDisplayStyle(): void;
20
20
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"MapTiledGraphicsProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapTiledGraphicsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtH,gBAAgB;AAChB,qBAAa,wBAAyB,YAAW,qBAAqB;IAYxD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAXhC,SAAgB,aAAa,EAAE,oBAAoB,CAAC;IACpD,SAAgB,UAAU,EAAE,oBAAoB,CAAC;IACjD,SAAgB,kBAAkB,EAAE,oBAAoB,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAsB;IAEvD,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI;gBAM9D,GAAG,EAAE,QAAQ;IA0BnC,OAAO,CAAC,OAAO,EAAE,SAAS;IAsB1B,sBAAsB,IAAI,IAAI;IAIrC,gBAAgB;IACT,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,uBAAuB,GAAG,SAAS;IAKzG,gBAAgB;IACT,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS;CAOrG"}
1
+ {"version":3,"file":"MapTiledGraphicsProvider.d.ts","sourceRoot":"","sources":["../../../../src/tile/map/MapTiledGraphicsProvider.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAsB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtH,gBAAgB;AAChB,qBAAa,wBAAyB,YAAW,qBAAqB;IACpE,SAAgB,aAAa,EAAE,oBAAoB,CAAC;IACpD,SAAgB,UAAU,EAAE,oBAAoB,CAAC;IACjD,SAAgB,kBAAkB,EAAE,oBAAoB,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAsB;IAEvD,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI;gBAM/E,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB;IAyBxD,OAAO,CAAC,OAAO,EAAE,SAAS;IAsB1B,sBAAsB,IAAI,IAAI;IAIrC,gBAAgB;IACT,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,uBAAuB,GAAG,SAAS;IAKzG,gBAAgB;IACT,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS;CAOrG"}
@@ -9,15 +9,13 @@ import { MapLayerSettings } from "@itwin/core-common";
9
9
  import { MapTileTreeReference } from "../internal";
10
10
  /** @internal */
11
11
  export class MapTiledGraphicsProvider {
12
- constructor(_vp) {
13
- this._vp = _vp;
12
+ constructor(viewportId, displayStyle) {
14
13
  this._detachFromDisplayStyle = [];
15
- const displayStyle = _vp.displayStyle;
16
14
  const mapSettings = displayStyle.backgroundMapSettings;
17
15
  const mapImagery = displayStyle.settings.mapImagery;
18
- this.backgroundMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, _vp.viewportId, false, false, () => displayStyle.overrideTerrainDisplay());
19
- this.overlayMap = new MapTileTreeReference(mapSettings, undefined, mapImagery.overlayLayers, displayStyle.iModel, _vp.viewportId, true, false);
20
- this.backgroundDrapeMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, _vp.viewportId, false, true);
16
+ this.backgroundMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, viewportId, false, false, () => displayStyle.overrideTerrainDisplay());
17
+ this.overlayMap = new MapTileTreeReference(mapSettings, undefined, mapImagery.overlayLayers, displayStyle.iModel, viewportId, true, false);
18
+ this.backgroundDrapeMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, viewportId, false, true);
21
19
  const removals = this._detachFromDisplayStyle;
22
20
  removals.push(displayStyle.settings.onBackgroundMapChanged.addListener((settings) => {
23
21
  this.backgroundMap.settings = settings;
@@ -1 +1 @@
1
- {"version":3,"file":"MapTiledGraphicsProvider.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTiledGraphicsProvider.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAsB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EAA2B,oBAAoB,EAA4C,MAAM,aAAa,CAAC;AAEtH,gBAAgB;AAChB,MAAM,OAAO,wBAAwB;IAYnC,YAA6B,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;QARzB,4BAAuB,GAAmB,EAAE,CAAC;QAS5D,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,MAAM,WAAW,GAAG,YAAY,CAAC,qBAAqB,CAAC;QACvD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,WAAW,EAAE,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC,CAAC;QACnN,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/I,IAAI,CAAC,kBAAkB,GAAG,IAAI,oBAAoB,CAAC,WAAW,EAAE,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE1K,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClF,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACpC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC;QAEJ,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,OAAqC,EAAE,EAAE;YAC5G,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC9D,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACxE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IA5BM,kBAAkB,CAAC,QAAkB,EAAE,IAAsC;QAClF,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACvB;IACH,CAAC;IAyBD,oGAAoG;IACpG,gGAAgG;IACzF,OAAO,CAAC,OAAkB;QAC/B,MAAM,WAAW,GAAG,CAAC,CAAC,OAA2B,EAAE,OAA2B,EAAW,EAAE;YACzF,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBACnC,OAAO,KAAK,CAAC;YAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;gBACrC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACxC,OAAO,KAAK,CAAC;YAEjB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;eAC9E,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;eAC3E,CAAC,UAAU,CAAC,cAAc,YAAY,gBAAgB,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAAE;YAChJ,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEM,sBAAsB;QAC3B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,gBAAgB;IACT,0BAA0B,CAAC,KAAa,EAAE,SAAkB;QACjE,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACpI,OAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,CAAC;IACzC,CAAC;IAED,gBAAgB;IACT,eAAe,CAAC,SAAqB,EAAE,WAAuB;QACnE,IAAI,QAAQ,CAAC;QACb,IAAI,SAAS,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC7F,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE3E,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF","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/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { MapImagerySettings, MapLayerSettings } from \"@itwin/core-common\";\r\nimport { Viewport } from \"../../Viewport\";\r\nimport { ViewState } from \"../../ViewState\";\r\nimport { MapLayerImageryProvider, MapTileTreeReference, TiledGraphicsProvider, TileTreeReference } from \"../internal\";\r\n\r\n/** @internal */\r\nexport class MapTiledGraphicsProvider implements TiledGraphicsProvider {\r\n public readonly backgroundMap: MapTileTreeReference;\r\n public readonly overlayMap: MapTileTreeReference;\r\n public readonly backgroundDrapeMap: MapTileTreeReference;\r\n private readonly _detachFromDisplayStyle: VoidFunction[] = [];\r\n\r\n public forEachTileTreeRef(viewport: Viewport, func: (ref: TileTreeReference) => void): void {\r\n if (viewport.viewFlags.backgroundMap) {\r\n func(this.backgroundMap);\r\n func(this.overlayMap);\r\n }\r\n }\r\n constructor(private readonly _vp: Viewport) {\r\n const displayStyle = _vp.displayStyle;\r\n const mapSettings = displayStyle.backgroundMapSettings;\r\n const mapImagery = displayStyle.settings.mapImagery;\r\n this.backgroundMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, _vp.viewportId, false, false, () => displayStyle.overrideTerrainDisplay());\r\n this.overlayMap = new MapTileTreeReference(mapSettings, undefined, mapImagery.overlayLayers, displayStyle.iModel, _vp.viewportId, true, false);\r\n this.backgroundDrapeMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, _vp.viewportId, false, true);\r\n\r\n const removals = this._detachFromDisplayStyle;\r\n removals.push(displayStyle.settings.onBackgroundMapChanged.addListener((settings) => {\r\n this.backgroundMap.settings = settings;\r\n this.overlayMap.settings = settings;\r\n this.backgroundDrapeMap.settings = settings;\r\n }));\r\n\r\n removals.push(displayStyle.settings.onMapImageryChanged.addListener((imagery: Readonly<MapImagerySettings>) => {\r\n this.backgroundMap.setBaseLayerSettings(imagery.backgroundBase);\r\n this.backgroundMap.setLayerSettings(imagery.backgroundLayers);\r\n this.backgroundDrapeMap.setBaseLayerSettings(mapImagery.backgroundBase);\r\n this.backgroundDrapeMap.setLayerSettings(mapImagery.backgroundLayers);\r\n this.overlayMap.setLayerSettings(imagery.overlayLayers);\r\n }));\r\n }\r\n\r\n // This is used in inital view setup and when views are synchronized. If view is being synchronized\r\n // we need to clear the layers which purges tile graphics if the settings or layers are changed.\r\n public setView(newView: ViewState) {\r\n const layersMatch = ((layers1: MapLayerSettings[], layers2: MapLayerSettings[]): boolean => {\r\n if (layers1.length !== layers2.length)\r\n return false;\r\n\r\n for (let i = 0; i < layers1.length; i++)\r\n if (!layers1[i].displayMatches(layers2[i]))\r\n return false;\r\n\r\n return true;\r\n });\r\n const mapImagery = newView.displayStyle.settings.mapImagery;\r\n if (!newView.displayStyle.backgroundMapSettings.equals(this.backgroundMap.settings)\r\n || !layersMatch(mapImagery.backgroundLayers, this.backgroundMap.layerSettings)\r\n || (mapImagery.backgroundBase instanceof MapLayerSettings && !layersMatch([mapImagery.backgroundBase], this.backgroundDrapeMap.layerSettings))) {\r\n this.backgroundMap.clearLayers();\r\n this.backgroundDrapeMap.clearLayers();\r\n }\r\n if (!layersMatch(mapImagery.overlayLayers, this.overlayMap.layerSettings))\r\n this.overlayMap.clearLayers();\r\n }\r\n\r\n public detachFromDisplayStyle(): void {\r\n this._detachFromDisplayStyle.forEach((f) => f());\r\n this._detachFromDisplayStyle.length = 0;\r\n }\r\n /** @internal */\r\n public getMapLayerImageryProvider(index: number, isOverlay: boolean): MapLayerImageryProvider | undefined {\r\n const imageryTreeRef = isOverlay ? this.overlayMap.getLayerImageryTreeRef(index) : this.backgroundMap.getLayerImageryTreeRef(index);\r\n return imageryTreeRef?.imageryProvider;\r\n }\r\n\r\n /** @internal */\r\n public mapLayerFromIds(mapTreeId: Id64String, layerTreeId: Id64String): MapLayerSettings | undefined {\r\n let mapLayer;\r\n if (undefined === (mapLayer = this.backgroundMap.layerFromTreeModelIds(mapTreeId, layerTreeId)))\r\n mapLayer = this.overlayMap.layerFromTreeModelIds(mapTreeId, layerTreeId);\r\n\r\n return mapLayer;\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"MapTiledGraphicsProvider.js","sourceRoot":"","sources":["../../../../src/tile/map/MapTiledGraphicsProvider.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/** @packageDocumentation\r\n * @module Tiles\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { MapImagerySettings, MapLayerSettings } from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"../../DisplayStyleState\";\r\nimport { ViewState } from \"../../ViewState\";\r\nimport { Viewport } from \"../../Viewport\";\r\nimport { MapLayerImageryProvider, MapTileTreeReference, TiledGraphicsProvider, TileTreeReference } from \"../internal\";\r\n\r\n/** @internal */\r\nexport class MapTiledGraphicsProvider implements TiledGraphicsProvider {\r\n public readonly backgroundMap: MapTileTreeReference;\r\n public readonly overlayMap: MapTileTreeReference;\r\n public readonly backgroundDrapeMap: MapTileTreeReference;\r\n private readonly _detachFromDisplayStyle: VoidFunction[] = [];\r\n\r\n public forEachTileTreeRef(viewport: Viewport, func: (ref: TileTreeReference) => void): void {\r\n if (viewport.viewFlags.backgroundMap) {\r\n func(this.backgroundMap);\r\n func(this.overlayMap);\r\n }\r\n }\r\n constructor(viewportId: number, displayStyle: DisplayStyleState) {\r\n const mapSettings = displayStyle.backgroundMapSettings;\r\n const mapImagery = displayStyle.settings.mapImagery;\r\n this.backgroundMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, viewportId, false, false, () => displayStyle.overrideTerrainDisplay());\r\n this.overlayMap = new MapTileTreeReference(mapSettings, undefined, mapImagery.overlayLayers, displayStyle.iModel, viewportId, true, false);\r\n this.backgroundDrapeMap = new MapTileTreeReference(mapSettings, mapImagery.backgroundBase, mapImagery.backgroundLayers, displayStyle.iModel, viewportId, false, true);\r\n\r\n const removals = this._detachFromDisplayStyle;\r\n removals.push(displayStyle.settings.onBackgroundMapChanged.addListener((settings) => {\r\n this.backgroundMap.settings = settings;\r\n this.overlayMap.settings = settings;\r\n this.backgroundDrapeMap.settings = settings;\r\n }));\r\n\r\n removals.push(displayStyle.settings.onMapImageryChanged.addListener((imagery: Readonly<MapImagerySettings>) => {\r\n this.backgroundMap.setBaseLayerSettings(imagery.backgroundBase);\r\n this.backgroundMap.setLayerSettings(imagery.backgroundLayers);\r\n this.backgroundDrapeMap.setBaseLayerSettings(mapImagery.backgroundBase);\r\n this.backgroundDrapeMap.setLayerSettings(mapImagery.backgroundLayers);\r\n this.overlayMap.setLayerSettings(imagery.overlayLayers);\r\n }));\r\n }\r\n\r\n // This is used in inital view setup and when views are synchronized. If view is being synchronized\r\n // we need to clear the layers which purges tile graphics if the settings or layers are changed.\r\n public setView(newView: ViewState) {\r\n const layersMatch = ((layers1: MapLayerSettings[], layers2: MapLayerSettings[]): boolean => {\r\n if (layers1.length !== layers2.length)\r\n return false;\r\n\r\n for (let i = 0; i < layers1.length; i++)\r\n if (!layers1[i].displayMatches(layers2[i]))\r\n return false;\r\n\r\n return true;\r\n });\r\n const mapImagery = newView.displayStyle.settings.mapImagery;\r\n if (!newView.displayStyle.backgroundMapSettings.equals(this.backgroundMap.settings)\r\n || !layersMatch(mapImagery.backgroundLayers, this.backgroundMap.layerSettings)\r\n || (mapImagery.backgroundBase instanceof MapLayerSettings && !layersMatch([mapImagery.backgroundBase], this.backgroundDrapeMap.layerSettings))) {\r\n this.backgroundMap.clearLayers();\r\n this.backgroundDrapeMap.clearLayers();\r\n }\r\n if (!layersMatch(mapImagery.overlayLayers, this.overlayMap.layerSettings))\r\n this.overlayMap.clearLayers();\r\n }\r\n\r\n public detachFromDisplayStyle(): void {\r\n this._detachFromDisplayStyle.forEach((f) => f());\r\n this._detachFromDisplayStyle.length = 0;\r\n }\r\n /** @internal */\r\n public getMapLayerImageryProvider(index: number, isOverlay: boolean): MapLayerImageryProvider | undefined {\r\n const imageryTreeRef = isOverlay ? this.overlayMap.getLayerImageryTreeRef(index) : this.backgroundMap.getLayerImageryTreeRef(index);\r\n return imageryTreeRef?.imageryProvider;\r\n }\r\n\r\n /** @internal */\r\n public mapLayerFromIds(mapTreeId: Id64String, layerTreeId: Id64String): MapLayerSettings | undefined {\r\n let mapLayer;\r\n if (undefined === (mapLayer = this.backgroundMap.layerFromTreeModelIds(mapTreeId, layerTreeId)))\r\n mapLayer = this.overlayMap.layerFromTreeModelIds(mapTreeId, layerTreeId);\r\n\r\n return mapLayer;\r\n }\r\n}\r\n\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/core-frontend",
3
- "version": "3.0.0-dev.160",
3
+ "version": "3.0.0-dev.161",
4
4
  "description": "iTwin.js frontend components",
5
5
  "main": "lib/cjs/core-frontend.js",
6
6
  "module": "lib/esm/core-frontend.js",
@@ -23,31 +23,31 @@
23
23
  "url": "http://www.bentley.com"
24
24
  },
25
25
  "peerDependencies": {
26
- "@bentley/itwin-client": "^3.0.0-dev.160",
27
- "@itwin/appui-abstract": "^3.0.0-dev.160",
28
- "@itwin/core-bentley": "^3.0.0-dev.160",
29
- "@itwin/core-common": "^3.0.0-dev.160",
30
- "@itwin/core-geometry": "^3.0.0-dev.160",
31
- "@itwin/core-orbitgt": "^3.0.0-dev.160",
32
- "@itwin/core-quantity": "^3.0.0-dev.160",
33
- "@itwin/webgl-compatibility": "^3.0.0-dev.160"
26
+ "@bentley/itwin-client": "^3.0.0-dev.161",
27
+ "@itwin/appui-abstract": "^3.0.0-dev.161",
28
+ "@itwin/core-bentley": "^3.0.0-dev.161",
29
+ "@itwin/core-common": "^3.0.0-dev.161",
30
+ "@itwin/core-geometry": "^3.0.0-dev.161",
31
+ "@itwin/core-orbitgt": "^3.0.0-dev.161",
32
+ "@itwin/core-quantity": "^3.0.0-dev.161",
33
+ "@itwin/webgl-compatibility": "^3.0.0-dev.161"
34
34
  },
35
35
  "//devDependencies": [
36
36
  "NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
37
37
  "NOTE: All tools used by scripts in this package must be listed as devDependencies"
38
38
  ],
39
39
  "devDependencies": {
40
- "@bentley/itwin-client": "3.0.0-dev.160",
41
- "@itwin/appui-abstract": "3.0.0-dev.160",
42
- "@itwin/build-tools": "3.0.0-dev.160",
43
- "@itwin/core-bentley": "3.0.0-dev.160",
44
- "@itwin/core-common": "3.0.0-dev.160",
45
- "@itwin/core-geometry": "3.0.0-dev.160",
46
- "@itwin/core-orbitgt": "3.0.0-dev.160",
47
- "@itwin/core-quantity": "3.0.0-dev.160",
48
- "@itwin/certa": "3.0.0-dev.160",
49
- "@itwin/eslint-plugin": "3.0.0-dev.160",
50
- "@itwin/webgl-compatibility": "3.0.0-dev.160",
40
+ "@bentley/itwin-client": "3.0.0-dev.161",
41
+ "@itwin/appui-abstract": "3.0.0-dev.161",
42
+ "@itwin/build-tools": "3.0.0-dev.161",
43
+ "@itwin/core-bentley": "3.0.0-dev.161",
44
+ "@itwin/core-common": "3.0.0-dev.161",
45
+ "@itwin/core-geometry": "3.0.0-dev.161",
46
+ "@itwin/core-orbitgt": "3.0.0-dev.161",
47
+ "@itwin/core-quantity": "3.0.0-dev.161",
48
+ "@itwin/certa": "3.0.0-dev.161",
49
+ "@itwin/eslint-plugin": "3.0.0-dev.161",
50
+ "@itwin/webgl-compatibility": "3.0.0-dev.161",
51
51
  "@types/chai": "^4.1.4",
52
52
  "@types/chai-as-promised": "^7",
53
53
  "@types/mocha": "^8.2.2",
@@ -72,8 +72,8 @@
72
72
  "NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"
73
73
  ],
74
74
  "dependencies": {
75
- "@itwin/core-i18n": "3.0.0-dev.160",
76
- "@itwin/core-telemetry": "3.0.0-dev.160",
75
+ "@itwin/core-i18n": "3.0.0-dev.161",
76
+ "@itwin/core-telemetry": "3.0.0-dev.161",
77
77
  "fuse.js": "^3.3.0",
78
78
  "semver": "^5.5.0",
79
79
  "wms-capabilities": "0.4.0",