@itwin/core-frontend 3.0.0-dev.160 → 3.0.0-dev.167
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/Viewport.js +2 -2
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/tile/B3dmReader.d.ts.map +1 -1
- package/lib/cjs/tile/B3dmReader.js +5 -2
- package/lib/cjs/tile/B3dmReader.js.map +1 -1
- package/lib/cjs/tile/GltfReader.d.ts +29 -3
- package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
- package/lib/cjs/tile/GltfReader.js +25 -23
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/I3dmReader.d.ts.map +1 -1
- package/lib/cjs/tile/I3dmReader.js +5 -2
- package/lib/cjs/tile/I3dmReader.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -6
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tools/Tool.d.ts +29 -1
- package/lib/cjs/tools/Tool.d.ts.map +1 -1
- package/lib/cjs/tools/Tool.js +66 -0
- package/lib/cjs/tools/Tool.js.map +1 -1
- package/lib/esm/Viewport.js +2 -2
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
- package/lib/esm/tile/B3dmReader.js +6 -3
- package/lib/esm/tile/B3dmReader.js.map +1 -1
- package/lib/esm/tile/GltfReader.d.ts +29 -3
- package/lib/esm/tile/GltfReader.d.ts.map +1 -1
- package/lib/esm/tile/GltfReader.js +25 -23
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
- package/lib/esm/tile/I3dmReader.js +6 -3
- package/lib/esm/tile/I3dmReader.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
- package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tools/Tool.d.ts +29 -1
- package/lib/esm/tools/Tool.d.ts.map +1 -1
- package/lib/esm/tools/Tool.js +66 -0
- package/lib/esm/tools/Tool.js.map +1 -1
- package/package.json +22 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"B3dmReader.d.ts","sourceRoot":"","sources":["../../../src/tile/B3dmReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAa,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"B3dmReader.d.ts","sourceRoot":"","sources":["../../../src/tile/B3dmReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAa,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAwB,mBAAmB,EAAyC,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,gBAAgB,EAAgC,UAAU,EAAmB,gBAAgB,EAAE,mBAAmB,EACnH,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,UAAW,SAAQ,UAAU;IAsCtC,OAAO,CAAC,MAAM;IAAuB,OAAO,CAAC,OAAO;IAAW,OAAO,CAAC,iBAAiB;IAAU,OAAO,CAAC,gBAAgB,CAAC;IAAa,OAAO,CAAC,eAAe,CAAC;IAC3H,OAAO,CAAC,MAAM,CAAC;IAAoB,OAAO,CAAC,cAAc,CAAC;IAtCjG,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;WAExB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAC/H,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,EACzG,UAAU,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,mBAAmB,UAAM,GAAG,UAAU,GAAG,SAAS;IA8BhH,OAAO;IAUM,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;cAiF3B,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG;CA+BxD"}
|
|
@@ -17,8 +17,11 @@ const internal_1 = require("./internal");
|
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
19
|
class B3dmReader extends internal_1.GltfReader {
|
|
20
|
-
constructor(props, iModel, modelId, is3d, system, _range, _isLeaf, _batchTableLength, _transformToRoot, _batchTableJson,
|
|
21
|
-
super(
|
|
20
|
+
constructor(props, iModel, modelId, is3d, system, _range, _isLeaf, _batchTableLength, _transformToRoot, _batchTableJson, shouldAbort, _idMap, _pseudoRtcBias, deduplicateVertices = false) {
|
|
21
|
+
super({
|
|
22
|
+
props, iModel, system, shouldAbort, deduplicateVertices,
|
|
23
|
+
is2d: !is3d,
|
|
24
|
+
});
|
|
22
25
|
this._range = _range;
|
|
23
26
|
this._isLeaf = _isLeaf;
|
|
24
27
|
this._batchTableLength = _batchTableLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"B3dmReader.js","sourceRoot":"","sources":["../../../src/tile/B3dmReader.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 { ByteStream, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { Point3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { B3dmHeader, BatchType, ColorDef, ElementAlignedBox3d, Feature, FeatureTable, TileReadStatus } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport {\r\n BatchedTileIdMap, GltfBufferData, GltfDataType, GltfReader, GltfReaderProps, GltfReaderResult, ShouldAbortReadGltf,\r\n} from \"./internal\";\r\n\r\n/**\r\n * Deserializes a tile in [b3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Batched3DModel) format.\r\n * @internal\r\n */\r\nexport class B3dmReader extends GltfReader {\r\n private _batchIdRemap = new Map<number, number>();\r\n private _colors?: Array<number>;\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, tileCenter: Point3d, transformToRoot?: Transform,\r\n isCanceled?: ShouldAbortReadGltf, idMap?: BatchedTileIdMap, deduplicateVertices=false): B3dmReader | undefined {\r\n const header = new B3dmHeader(stream);\r\n if (!header.isValid)\r\n return undefined;\r\n\r\n let returnToCenterTransform, pseudoRtcBias;\r\n if (header.featureTableJson && Array.isArray(header.featureTableJson.RTC_CENTER)) {\r\n returnToCenterTransform = Transform.createTranslationXYZ(header.featureTableJson.RTC_CENTER[0], header.featureTableJson.RTC_CENTER[1], header.featureTableJson.RTC_CENTER[2]);\r\n } else {\r\n /**\r\n * This is a workaround for tiles generated by\r\n * context capture which have a large offset from the tileset origin that exceeds the\r\n * capacity of 32 bit integers. It is essentially an ad hoc RTC applied at read time only if the tile is far from the\r\n * origin and there is no RTC supplied either with the B3DM of the GLTF.\r\n * as the vertices are supplied in a quantized format, applying the RTC bias to\r\n * quantization origin will make these tiles work correctly.\r\n */\r\n pseudoRtcBias = Vector3d.create(tileCenter.x, tileCenter.y, tileCenter.z);\r\n }\r\n\r\n if (undefined !== returnToCenterTransform)\r\n transformToRoot = transformToRoot ? transformToRoot.multiplyTransformTransform(returnToCenterTransform) : returnToCenterTransform;\r\n\r\n const props = GltfReaderProps.create(stream, yAxisUp);\r\n const batchTableLength = header.featureTableJson ? JsonUtils.asInt(header.featureTableJson.BATCH_LENGTH, 0) : 0;\r\n\r\n return undefined !== props ? new B3dmReader(props, iModel, modelId, is3d, system, range, isLeaf, batchTableLength,\r\n transformToRoot, header.batchTableJson, isCanceled, idMap, pseudoRtcBias, deduplicateVertices) : undefined;\r\n }\r\n\r\n private constructor(props: GltfReaderProps, iModel: IModelConnection, modelId: Id64String, is3d: boolean, system: RenderSystem,\r\n private _range: ElementAlignedBox3d, private _isLeaf: boolean, private _batchTableLength: number, private _transformToRoot?: Transform, private _batchTableJson?: any\r\n , isCanceled?: ShouldAbortReadGltf, private _idMap?: BatchedTileIdMap, private _pseudoRtcBias?: Vector3d, 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 // NB: For reality models with no batch table, we want the model ID in the feature table\r\n const featureTable: FeatureTable = new FeatureTable(this._batchTableLength ? this._batchTableLength : 1, this._modelId, this._type);\r\n if (this._batchTableLength > 0 && this._idMap !== undefined && this._batchTableJson !== undefined) {\r\n if (this._batchTableJson.extensions && this._batchTableJson.extensions[\"3DTILES_batch_table_hierarchy\"]) {\r\n const hierarchy = this._batchTableJson.extensions[\"3DTILES_batch_table_hierarchy\"];\r\n const { classIds, classes, parentIds, parentCounts, instancesLength } = hierarchy;\r\n if (classes !== undefined && classIds !== undefined && instancesLength !== 0) {\r\n const classCounts = new Array<number>(classes.length);\r\n classCounts.fill(0);\r\n const classIndexes = new Uint16Array(instancesLength);\r\n for (let i = 0; i < instancesLength; ++i) {\r\n const classId = classIds[i];\r\n classIndexes[i] = classCounts[classId]++;\r\n }\r\n\r\n let parentMap: [][] | undefined;\r\n if (parentIds) {\r\n parentMap = new Array<[]>();\r\n for (let i = 0, parentIndex = 0; i < instancesLength; i++) {\r\n const parentCount = parentCounts === undefined ? 1 : parentCounts[i];\r\n parentMap[i] = parentIds.slice(parentIndex, parentIndex += parentCount);\r\n }\r\n }\r\n\r\n const getProperties = (instance: any, instanceIndex: number) => {\r\n const classId = classIds[instanceIndex];\r\n const instanceClass = classes[classId];\r\n const instances = instanceClass.instances;\r\n const indexInClass = classIndexes[instanceIndex];\r\n for (const key in instances) { // eslint-disable-line guard-for-in\r\n const value = instances[key][indexInClass];\r\n if (value !== undefined && value !== null)\r\n instance[key] = value;\r\n }\r\n if (parentIds !== undefined) {\r\n const thisParents = parentMap![instanceIndex];\r\n for (const parentId of thisParents) {\r\n if (parentId !== instanceIndex)\r\n getProperties(instance, parentId);\r\n }\r\n }\r\n };\r\n for (let batchId = 0; batchId < instancesLength; batchId++) {\r\n const instance: any = {};\r\n getProperties(instance, batchId);\r\n this._batchIdRemap.set(batchId, featureTable.insert(new Feature(this._idMap.getBatchId(instance))));\r\n const cesiumColor = instance[\"cesium#color\"];\r\n if (undefined !== cesiumColor) {\r\n if (!this._colors) {\r\n this._colors = new Array<number>(instancesLength);\r\n this._colors.fill(ColorDef.white.tbgr);\r\n }\r\n this._colors[batchId] = ColorDef.create(cesiumColor).tbgr;\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < this._batchTableLength; 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._batchIdRemap.set(i, featureTable.insert(new Feature(this._idMap.getBatchId(feature))));\r\n }\r\n }\r\n }\r\n\r\n if (featureTable.isEmpty) {\r\n this._batchIdRemap.set(0, 0);\r\n const feature = new Feature(this._modelId);\r\n 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 return this.readGltfAndCreateGraphics(this._isLeaf, featureTable, this._range, this._transformToRoot, this._pseudoRtcBias);\r\n }\r\n\r\n protected override readBatchTable(mesh: Mesh, json: any) {\r\n if (mesh.features !== undefined) {\r\n if (this._batchTableLength > 0 && undefined !== this._batchTableJson && undefined !== json.attributes) {\r\n const view = this.getBufferView(json.attributes, \"_BATCHID\");\r\n let batchIds: undefined | GltfBufferData;\r\n if (undefined !== view && (undefined !== (batchIds = view.toBufferData(GltfDataType.UInt32)) || undefined !== (batchIds = view.toBufferData(GltfDataType.Float)))) {\r\n const indices = [];\r\n const { colors, colorMap } = mesh;\r\n let colorRemap: Uint32Array | undefined;\r\n if (this._colors && this._colors.length === this._batchTableLength) {\r\n colorRemap = new Uint32Array(this._batchTableLength);\r\n\r\n for (let i = 0; i < this._batchTableLength; i++)\r\n colorRemap[i] = colorMap.insert(this._colors[i]);\r\n }\r\n\r\n for (let i = 0; i < batchIds.count; i++) {\r\n const batchId = batchIds.buffer[i * view.stride];\r\n const remapId = this._batchIdRemap.get(batchId);\r\n indices.push(remapId === undefined ? 0 : remapId);\r\n if (colorRemap)\r\n colors.push(colorRemap[batchId]);\r\n }\r\n mesh.features.setIndices(indices);\r\n\r\n }\r\n } else {\r\n mesh.features.add(new Feature(this._modelId), 1);\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"B3dmReader.js","sourceRoot":"","sources":["../../../src/tile/B3dmReader.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 { ByteStream, Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { Point3d, Transform, Vector3d } from \"@itwin/core-geometry\";\r\nimport { B3dmHeader, ColorDef, ElementAlignedBox3d, Feature, FeatureTable, TileReadStatus } from \"@itwin/core-common\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { Mesh } from \"../render/primitives/mesh/MeshPrimitives\";\r\nimport { RenderSystem } from \"../render/RenderSystem\";\r\nimport {\r\n BatchedTileIdMap, GltfBufferData, GltfDataType, GltfReader, GltfReaderProps, GltfReaderResult, ShouldAbortReadGltf,\r\n} from \"./internal\";\r\n\r\n/**\r\n * Deserializes a tile in [b3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Batched3DModel) format.\r\n * @internal\r\n */\r\nexport class B3dmReader extends GltfReader {\r\n private _batchIdRemap = new Map<number, number>();\r\n private _colors?: Array<number>;\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, tileCenter: Point3d, transformToRoot?: Transform,\r\n isCanceled?: ShouldAbortReadGltf, idMap?: BatchedTileIdMap, deduplicateVertices=false): B3dmReader | undefined {\r\n const header = new B3dmHeader(stream);\r\n if (!header.isValid)\r\n return undefined;\r\n\r\n let returnToCenterTransform, pseudoRtcBias;\r\n if (header.featureTableJson && Array.isArray(header.featureTableJson.RTC_CENTER)) {\r\n returnToCenterTransform = Transform.createTranslationXYZ(header.featureTableJson.RTC_CENTER[0], header.featureTableJson.RTC_CENTER[1], header.featureTableJson.RTC_CENTER[2]);\r\n } else {\r\n /**\r\n * This is a workaround for tiles generated by\r\n * context capture which have a large offset from the tileset origin that exceeds the\r\n * capacity of 32 bit integers. It is essentially an ad hoc RTC applied at read time only if the tile is far from the\r\n * origin and there is no RTC supplied either with the B3DM of the GLTF.\r\n * as the vertices are supplied in a quantized format, applying the RTC bias to\r\n * quantization origin will make these tiles work correctly.\r\n */\r\n pseudoRtcBias = Vector3d.create(tileCenter.x, tileCenter.y, tileCenter.z);\r\n }\r\n\r\n if (undefined !== returnToCenterTransform)\r\n transformToRoot = transformToRoot ? transformToRoot.multiplyTransformTransform(returnToCenterTransform) : returnToCenterTransform;\r\n\r\n const props = GltfReaderProps.create(stream, yAxisUp);\r\n const batchTableLength = header.featureTableJson ? JsonUtils.asInt(header.featureTableJson.BATCH_LENGTH, 0) : 0;\r\n\r\n return undefined !== props ? new B3dmReader(props, iModel, modelId, is3d, system, range, isLeaf, batchTableLength,\r\n transformToRoot, header.batchTableJson, isCanceled, idMap, pseudoRtcBias, deduplicateVertices) : undefined;\r\n }\r\n\r\n private constructor(props: GltfReaderProps, iModel: IModelConnection, modelId: Id64String, is3d: boolean, system: RenderSystem,\r\n private _range: ElementAlignedBox3d, private _isLeaf: boolean, private _batchTableLength: number, private _transformToRoot?: Transform, private _batchTableJson?: any\r\n , shouldAbort?: ShouldAbortReadGltf, private _idMap?: BatchedTileIdMap, private _pseudoRtcBias?: Vector3d, 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 // NB: For reality models with no batch table, we want the model ID in the feature table\r\n const featureTable: FeatureTable = new FeatureTable(this._batchTableLength ? this._batchTableLength : 1, this._modelId, this._type);\r\n if (this._batchTableLength > 0 && this._idMap !== undefined && this._batchTableJson !== undefined) {\r\n if (this._batchTableJson.extensions && this._batchTableJson.extensions[\"3DTILES_batch_table_hierarchy\"]) {\r\n const hierarchy = this._batchTableJson.extensions[\"3DTILES_batch_table_hierarchy\"];\r\n const { classIds, classes, parentIds, parentCounts, instancesLength } = hierarchy;\r\n if (classes !== undefined && classIds !== undefined && instancesLength !== 0) {\r\n const classCounts = new Array<number>(classes.length);\r\n classCounts.fill(0);\r\n const classIndexes = new Uint16Array(instancesLength);\r\n for (let i = 0; i < instancesLength; ++i) {\r\n const classId = classIds[i];\r\n classIndexes[i] = classCounts[classId]++;\r\n }\r\n\r\n let parentMap: [][] | undefined;\r\n if (parentIds) {\r\n parentMap = new Array<[]>();\r\n for (let i = 0, parentIndex = 0; i < instancesLength; i++) {\r\n const parentCount = parentCounts === undefined ? 1 : parentCounts[i];\r\n parentMap[i] = parentIds.slice(parentIndex, parentIndex += parentCount);\r\n }\r\n }\r\n\r\n const getProperties = (instance: any, instanceIndex: number) => {\r\n const classId = classIds[instanceIndex];\r\n const instanceClass = classes[classId];\r\n const instances = instanceClass.instances;\r\n const indexInClass = classIndexes[instanceIndex];\r\n for (const key in instances) { // eslint-disable-line guard-for-in\r\n const value = instances[key][indexInClass];\r\n if (value !== undefined && value !== null)\r\n instance[key] = value;\r\n }\r\n if (parentIds !== undefined) {\r\n const thisParents = parentMap![instanceIndex];\r\n for (const parentId of thisParents) {\r\n if (parentId !== instanceIndex)\r\n getProperties(instance, parentId);\r\n }\r\n }\r\n };\r\n for (let batchId = 0; batchId < instancesLength; batchId++) {\r\n const instance: any = {};\r\n getProperties(instance, batchId);\r\n this._batchIdRemap.set(batchId, featureTable.insert(new Feature(this._idMap.getBatchId(instance))));\r\n const cesiumColor = instance[\"cesium#color\"];\r\n if (undefined !== cesiumColor) {\r\n if (!this._colors) {\r\n this._colors = new Array<number>(instancesLength);\r\n this._colors.fill(ColorDef.white.tbgr);\r\n }\r\n this._colors[batchId] = ColorDef.create(cesiumColor).tbgr;\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < this._batchTableLength; 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._batchIdRemap.set(i, featureTable.insert(new Feature(this._idMap.getBatchId(feature))));\r\n }\r\n }\r\n }\r\n\r\n if (featureTable.isEmpty) {\r\n this._batchIdRemap.set(0, 0);\r\n const feature = new Feature(this._modelId);\r\n 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 return this.readGltfAndCreateGraphics(this._isLeaf, featureTable, this._range, this._transformToRoot, this._pseudoRtcBias);\r\n }\r\n\r\n protected override readBatchTable(mesh: Mesh, json: any) {\r\n if (mesh.features !== undefined) {\r\n if (this._batchTableLength > 0 && undefined !== this._batchTableJson && undefined !== json.attributes) {\r\n const view = this.getBufferView(json.attributes, \"_BATCHID\");\r\n let batchIds: undefined | GltfBufferData;\r\n if (undefined !== view && (undefined !== (batchIds = view.toBufferData(GltfDataType.UInt32)) || undefined !== (batchIds = view.toBufferData(GltfDataType.Float)))) {\r\n const indices = [];\r\n const { colors, colorMap } = mesh;\r\n let colorRemap: Uint32Array | undefined;\r\n if (this._colors && this._colors.length === this._batchTableLength) {\r\n colorRemap = new Uint32Array(this._batchTableLength);\r\n\r\n for (let i = 0; i < this._batchTableLength; i++)\r\n colorRemap[i] = colorMap.insert(this._colors[i]);\r\n }\r\n\r\n for (let i = 0; i < batchIds.count; i++) {\r\n const batchId = batchIds.buffer[i * view.stride];\r\n const remapId = this._batchIdRemap.get(batchId);\r\n indices.push(remapId === undefined ? 0 : remapId);\r\n if (colorRemap)\r\n colors.push(colorRemap[batchId]);\r\n }\r\n mesh.features.setIndices(indices);\r\n\r\n }\r\n } else {\r\n mesh.features.add(new Feature(this._modelId), 1);\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -418,7 +418,6 @@ export interface GltfReaderResult extends TileContent {
|
|
|
418
418
|
* @internal
|
|
419
419
|
*/
|
|
420
420
|
export declare class GltfReaderProps {
|
|
421
|
-
readonly buffer: ByteStream;
|
|
422
421
|
readonly binaryData: Uint8Array;
|
|
423
422
|
readonly glTF: Gltf;
|
|
424
423
|
readonly yAxisUp: boolean;
|
|
@@ -448,11 +447,37 @@ export declare class GltfMeshData {
|
|
|
448
447
|
* @internal
|
|
449
448
|
*/
|
|
450
449
|
export declare type ShouldAbortReadGltf = (reader: GltfReader) => boolean;
|
|
450
|
+
/** Arguments to [[GltfReader]] constructor.
|
|
451
|
+
* @internal
|
|
452
|
+
*/
|
|
453
|
+
export interface GltfReaderArgs {
|
|
454
|
+
/** Properties of the glTF source. */
|
|
455
|
+
props: GltfReaderProps;
|
|
456
|
+
/** The iModel with which the graphics are to be associated. */
|
|
457
|
+
iModel: IModelConnection;
|
|
458
|
+
/** If true, create 2d graphics. */
|
|
459
|
+
is2d?: boolean;
|
|
460
|
+
/** The render system that will produce the graphics. Defaults to [[IModelApp.renderSystem]]. */
|
|
461
|
+
system?: RenderSystem;
|
|
462
|
+
/** The type of batch to create. Defaults to [BatchType.Primary]($common).
|
|
463
|
+
* @see [[RenderSystem.createBatch]].
|
|
464
|
+
*/
|
|
465
|
+
type?: BatchType;
|
|
466
|
+
/** An optional function that, if supplied, is invoked periodically to determine if the process of producing graphics from the glTF should terminate early. */
|
|
467
|
+
shouldAbort?: ShouldAbortReadGltf;
|
|
468
|
+
/** If true, each vertex in the graphics should belong to exactly one triangle. This is less efficient than sharing vertices between adjoining triangles, but
|
|
469
|
+
* sometimes required - for example, for [ViewFlags.wiremesh]($common).
|
|
470
|
+
*/
|
|
471
|
+
deduplicateVertices?: boolean;
|
|
472
|
+
/** If true, the graphics produced will always use a [[VertexTable]]; otherwise, where possible a [[RealityMeshPrimitive]] will be used instead.
|
|
473
|
+
* Reality meshes are simpler but do not support some features like lighting.
|
|
474
|
+
*/
|
|
475
|
+
vertexTableRequired?: boolean;
|
|
476
|
+
}
|
|
451
477
|
/** Deserializes [glTF](https://www.khronos.org/gltf/).
|
|
452
478
|
* @internal
|
|
453
479
|
*/
|
|
454
480
|
export declare abstract class GltfReader {
|
|
455
|
-
protected readonly _buffer: ByteStream;
|
|
456
481
|
protected readonly _binaryData: Uint8Array;
|
|
457
482
|
protected readonly _glTF: Gltf;
|
|
458
483
|
protected readonly _iModel: IModelConnection;
|
|
@@ -462,6 +487,7 @@ export declare abstract class GltfReader {
|
|
|
462
487
|
protected readonly _yAxisUp: boolean;
|
|
463
488
|
protected readonly _type: BatchType;
|
|
464
489
|
protected readonly _deduplicateVertices: boolean;
|
|
490
|
+
protected readonly _vertexTableRequired: boolean;
|
|
465
491
|
private readonly _canceled?;
|
|
466
492
|
protected readonly _sceneNodes: GltfId[];
|
|
467
493
|
protected _computedContentRange?: ElementAlignedBox3d;
|
|
@@ -482,7 +508,7 @@ export declare abstract class GltfReader {
|
|
|
482
508
|
readBufferData16(json: any, accessorName: string): GltfBufferData | undefined;
|
|
483
509
|
readBufferData8(json: any, accessorName: string): GltfBufferData | undefined;
|
|
484
510
|
readBufferDataFloat(json: any, accessorName: string): GltfBufferData | undefined;
|
|
485
|
-
protected constructor(
|
|
511
|
+
protected constructor(args: GltfReaderArgs);
|
|
486
512
|
protected readBufferData(json: any, accessorName: string, type: GltfDataType): GltfBufferData | undefined;
|
|
487
513
|
protected readFeatureIndices(_json: any): number[] | undefined;
|
|
488
514
|
private extractTextureId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAA4B,OAAO,EAAW,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzH,OAAO,EACL,SAAS,EAAY,mBAAmB,EAAW,YAAY,EACtC,gBAAgB,EAAwC,SAAS,EAAE,SAAS,EACzE,aAAa,EAAE,cAAc,EAAE,cAAc,EAC1E,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAmB,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,gEAAgE;AAChE,aAAK,YAAY;IACf,MAAM,IAAI;IACV,KAAK,IAAI;IACT,SAAS,IAAI;IACb,SAAS,IAAI;IACb,+BAA+B;IAC/B,aAAa,IAAI;IACjB,+BAA+B;IAC/B,WAAW,IAAI;CAChB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,UAAU,OAAS;IACnB,YAAY,OAAS;IACrB,WAAW,OAAO;IAClB,aAAa,OAAO;IACpB,MAAM,OAAO;IACb,KAAK,OAAO;IACZ,GAAG,OAAO;IACV,IAAI,OAAO;IACX,OAAO,QAAS;IAChB,OAAO,QAAS;IAChB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;IACjB,SAAS,QAAQ;CAClB;AAED,gBAAgB;AAChB,aAAK,aAAa;IAChB,OAAO,OAAO;IACd,MAAM,OAAO;CACd;AAED,gBAAgB;AAChB,aAAK,aAAa;IAChB,OAAO,OAAwB;IAC/B,MAAM,OAAuB;IAC7B,oBAAoB,OAAO;IAC3B,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,kBAAkB,OAAO;CAC1B;AAED,iFAAiF;AACjF,aAAK,YAAY;IACf,WAAW,QAAQ;IACnB,cAAc,QAAQ;IACtB,MAAM,QAAQ;CACf;AAED,kEAAkE;AAClE,aAAK,gBAAgB;IACnB,WAAW,QAAQ;IACnB,kBAAkB,QAAQ;CAC3B;AAED,sFAAsF;AACtF,aAAK,OAAO,GAAG,MAAM,CAAC;AACtB,sFAAsF;AACtF,aAAK,OAAO,GAAG,MAAM,CAAC;AACtB,kEAAkE;AAClE,aAAK,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhC;;;GAGG;AACH,UAAU,cAAc,CAAC,CAAC,SAAS,uBAAuB;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;CAC9B;AAED,kHAAkH;AAClH,UAAU,cAAc;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,gIAAgI;AAChI,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,+EAA+E;AAC/E,UAAU,uBAAwB,SAAQ,YAAY;IACpD,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,sHAAsH;IACtH,UAAU,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAChD,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,6CAA6C;IAC7C,OAAO,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;CAC/C;AAED;;GAEG;AACH,UAAU,QAAS,SAAQ,uBAAuB;IAChD,mDAAmD;IACnD,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,4DAA4D;AAC5D,UAAU,iBAAiB;IACzB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sHAAsH;IACtH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,gIAAgI;AAChI,UAAU,SAAU,SAAQ,uBAAuB,EAAE,iBAAiB;IACpE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,4HAA4H;AAC5H,UAAU,SAAU,SAAQ,uBAAuB,EAAE,iBAAiB;IACpE,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,aAAK,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAWtC;;GAEG;AACH,UAAU,SAAU,SAAQ,uBAAuB;IACjD,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,gDAAgD;AAChD,UAAU,SAAU,SAAQ,YAAY;IACtC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gHAAgH;IAChH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+HAA+H;AAC/H,UAAU,SAAU,SAAQ,uBAAuB;IACjD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,QAAQ,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACtC,wGAAwG;IACxG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,UAAU,eAAgB,SAAQ,YAAY;IAC5C,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2CAA2C;AAC3C,UAAU,WAAY,SAAQ,uBAAuB;IACnD;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wFAAwF;AACxF,UAAU,WAAY,SAAS,uBAAuB;IACpD,4BAA4B;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,aAAc,SAAQ,uBAAuB;IACrD,uDAAuD;IACvD,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,UAAU,aAAc,SAAQ,uBAAuB;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH;AAED,UAAU,gCAAiC,SAAQ,YAAY;IAC7D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,eAAe,CAAC;CAC5C;AAED,UAAU,aAAc,SAAQ,uBAAuB;IACrD,oBAAoB,CAAC,EAAE,gCAAgC,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;;WAGG;QAEH,oBAAoB,CAAC,EAAE;YACrB,SAAS,CAAC,EAAE,MAAM,CAAC;YAGnB,MAAM,CAAC,EAAE;gBAEP,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;gBAErB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;gBAGnB,SAAS,CAAC,EAAE;oBAAE,KAAK,EAAE,MAAM,CAAC;oBAAC,QAAQ,EAAE,MAAM,CAAA;iBAAE,CAAC;gBAChD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;aAClC,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,aAAK,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC;AAOlD,UAAU,UAAW,SAAQ,uBAAuB;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAoB,SAAQ,uBAAuB;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,YAAa,SAAQ,uBAAuB;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IACvK,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACrE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,UAAU,IAAK,SAAQ,YAAY;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,cAAc,GAAG;QAC5B;;WAEG;QAEH,UAAU,CAAC,EAAE;YACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;QACF;;;WAGG;QAEH,oBAAoB,CAAC,EAAE;YACrB,UAAU,CAAC,EAAE,KAAK,CAAC;gBACjB,QAAQ,CAAC,EAAE;oBACT,CAAC,GAAG,EAAE,MAAM,GAAG;wBAAE,IAAI,EAAE,YAAY,CAAC;wBAAC,KAAK,CAAC,EAAE,GAAG,CAAA;qBAAE,GAAG,SAAS,CAAC;iBAChE,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;IACF,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAClD,0BAA0B;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC,+BAA+B;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACvC,wEAAwE;IACxE,UAAU,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,gBAAgB;AAChB,oBAAY,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAEnF;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAEX,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM;IAKxD;;;;OAIG;WACW,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAsBxI,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAgBhC;AAED;;;;;;;;GAQG;AACH,cAAM,cAAc;IAClB,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,QAAQ,EAAE,YAAY,CAAC;IACvC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,IAAW,UAAU,IAAI,MAAM,CAA6B;gBAEzC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAQvG,YAAY,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;CAG3E;AAOD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,eAAe;aAER,MAAM,EAAE,UAAU;aAClB,UAAU,EAAE,UAAU;aACtB,IAAI,EAAE,IAAI;aACV,OAAO,EAAE,OAAO;IAJlC,OAAO;IAMP,gIAAgI;WAClH,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,OAAe,GAAG,eAAe,GAAG,SAAS;CA0ChG;AAED;;;;;IAKI;AACJ,qBAAa,YAAY;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;gBAExB,KAAK,EAAE,IAAI;CAG/B;AAED;;GAEG;AACH,oBAAY,mBAAmB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;AAiFlE;;GAEG;AACH,8BAAsB,UAAU;IAC9B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IACjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IACzC,SAAS,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IAEtD,SAAS,KAAK,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA0C;IAC1F,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA2C;IAC5F,SAAS,KAAK,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IACtG,SAAS,KAAK,YAAY,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAgD;IACjH,SAAS,KAAK,eAAe,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IAa3G,sEAAsE;aACtD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAEjD,SAAS,KAAK,WAAW,IAAI,OAAO,CAAiE;IACrG,SAAS,KAAK,mBAAmB,IAAI,OAAO,CAAsD;IAElG,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,EAAE,YAAY,EAAE,mBAAmB,GAAG,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,sBAAsB,GAAG,gBAAgB;IAqExP,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,yBAAyB;IA+E1B,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAgD1E,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC7E,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC7E,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC5E,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAEvF,SAAS,aAAa,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,SAA6B,EAAE,UAAU,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,UAAM;IAgC7M,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAKzG,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,SAAS;IAE9D,OAAO,CAAC,gBAAgB;IAqCxB,SAAS,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS;IAOtG,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,SAAS;IA+H5H,OAAO,CAAC,mBAAmB;IAuC3B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAmEpB,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAY5E,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG;IAGhD,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAUjE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAyCnF,OAAO,CAAC,YAAY;IAgEpB,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;cA6BjG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cA8B7B,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;cAqD9G,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrF,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CAK5E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,IAAI,EAAE,UAAU,CAAC;IACjB,sIAAsI;IACtI,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;CACrE;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CASrG"}
|
|
1
|
+
{"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,6 @@ const DisplayParams_1 = require("../render/primitives/DisplayParams");
|
|
|
18
18
|
const MeshPrimitives_1 = require("../render/primitives/mesh/MeshPrimitives");
|
|
19
19
|
const RealityMeshPrimitive_1 = require("../render/primitives/mesh/RealityMeshPrimitive");
|
|
20
20
|
const RenderTexture_1 = require("../render/RenderTexture");
|
|
21
|
-
// eslint-disable-next-line prefer-const
|
|
22
|
-
let forceLUT = false;
|
|
23
21
|
/* eslint-disable no-restricted-syntax */
|
|
24
22
|
/** Enumerates the types of [[GltfMeshPrimitive]] topologies. */
|
|
25
23
|
var GltfMeshMode;
|
|
@@ -175,8 +173,7 @@ class GltfBufferView {
|
|
|
175
173
|
* @internal
|
|
176
174
|
*/
|
|
177
175
|
class GltfReaderProps {
|
|
178
|
-
constructor(
|
|
179
|
-
this.buffer = buffer;
|
|
176
|
+
constructor(binaryData, glTF, yAxisUp) {
|
|
180
177
|
this.binaryData = binaryData;
|
|
181
178
|
this.glTF = glTF;
|
|
182
179
|
this.yAxisUp = yAxisUp;
|
|
@@ -215,7 +212,7 @@ class GltfReaderProps {
|
|
|
215
212
|
textures: core_bentley_1.JsonUtils.asObject(json.textures),
|
|
216
213
|
techniques: core_bentley_1.JsonUtils.asObject(json.techniques),
|
|
217
214
|
};
|
|
218
|
-
return glTF.meshes ? new GltfReaderProps(
|
|
215
|
+
return glTF.meshes ? new GltfReaderProps(binaryData, glTF, yAxisUp) : undefined;
|
|
219
216
|
}
|
|
220
217
|
catch (e) {
|
|
221
218
|
return undefined;
|
|
@@ -307,29 +304,29 @@ class TransformStack {
|
|
|
307
304
|
* @internal
|
|
308
305
|
*/
|
|
309
306
|
class GltfReader {
|
|
310
|
-
constructor(
|
|
311
|
-
var _a, _b, _c;
|
|
312
|
-
this.
|
|
313
|
-
this.
|
|
314
|
-
this.
|
|
315
|
-
|
|
316
|
-
const rtcCenter = (_b = (_a = props.glTF.extensions) === null || _a === void 0 ? void 0 : _a.CESIUM_RTC) === null || _b === void 0 ? void 0 : _b.center;
|
|
307
|
+
constructor(args) {
|
|
308
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
309
|
+
this._binaryData = args.props.binaryData;
|
|
310
|
+
this._glTF = args.props.glTF;
|
|
311
|
+
this._yAxisUp = args.props.yAxisUp;
|
|
312
|
+
const rtcCenter = (_b = (_a = args.props.glTF.extensions) === null || _a === void 0 ? void 0 : _a.CESIUM_RTC) === null || _b === void 0 ? void 0 : _b.center;
|
|
317
313
|
if (rtcCenter && 3 === rtcCenter.length)
|
|
318
314
|
if (0 !== rtcCenter[0] || 0 !== rtcCenter[1] || 0 !== rtcCenter[2])
|
|
319
315
|
this._returnToCenter = core_geometry_1.Point3d.fromJSON(rtcCenter);
|
|
320
|
-
this._iModel = iModel;
|
|
321
|
-
this._is3d =
|
|
322
|
-
this._system = system;
|
|
323
|
-
this._type = type;
|
|
324
|
-
this._canceled =
|
|
325
|
-
this._deduplicateVertices = deduplicateVertices;
|
|
316
|
+
this._iModel = args.iModel;
|
|
317
|
+
this._is3d = true !== args.is2d;
|
|
318
|
+
this._system = (_c = args.system) !== null && _c !== void 0 ? _c : IModelApp_1.IModelApp.renderSystem;
|
|
319
|
+
this._type = (_d = args.type) !== null && _d !== void 0 ? _d : core_common_1.BatchType.Primary;
|
|
320
|
+
this._canceled = args.shouldAbort;
|
|
321
|
+
this._deduplicateVertices = (_e = args.deduplicateVertices) !== null && _e !== void 0 ? _e : false;
|
|
322
|
+
this._vertexTableRequired = (_f = args.vertexTableRequired) !== null && _f !== void 0 ? _f : false;
|
|
326
323
|
// The original implementation of GltfReader would process and produce graphics for every node in glTF.nodes.
|
|
327
324
|
// What it's *supposed* to do is process the nodes in glTF.scenes[glTF.scene].nodes
|
|
328
325
|
// Some nodes may not be referenced by the configured scene, or only indirectly via GltfNode.children.
|
|
329
326
|
// Perhaps some faulty tiles existed that didn't define their scenes properly?
|
|
330
327
|
let sceneNodes;
|
|
331
328
|
if (this._glTF.scenes && undefined !== this._glTF.scene)
|
|
332
|
-
sceneNodes = (
|
|
329
|
+
sceneNodes = (_g = this._glTF.scenes[this._glTF.scene]) === null || _g === void 0 ? void 0 : _g.nodes;
|
|
333
330
|
if (!sceneNodes)
|
|
334
331
|
sceneNodes = Object.keys(this._nodes);
|
|
335
332
|
this._sceneNodes = sceneNodes;
|
|
@@ -401,7 +398,7 @@ class GltfReader {
|
|
|
401
398
|
graphicFromMeshData(gltfMesh, meshGraphicArgs, instances) {
|
|
402
399
|
if (!gltfMesh.points || !gltfMesh.pointRange)
|
|
403
400
|
return;
|
|
404
|
-
const realityMeshPrimitive = (
|
|
401
|
+
const realityMeshPrimitive = (this._vertexTableRequired || instances) ? undefined : RealityMeshPrimitive_1.RealityMeshPrimitive.createFromGltfMesh(gltfMesh);
|
|
405
402
|
if (realityMeshPrimitive) {
|
|
406
403
|
const realityMesh = this._system.createRealityMesh(realityMeshPrimitive);
|
|
407
404
|
if (realityMesh)
|
|
@@ -951,10 +948,11 @@ class GltfReader {
|
|
|
951
948
|
await Promise.all(promises);
|
|
952
949
|
}
|
|
953
950
|
async loadTextureImage(imageJson, samplerJson, isTransparent) {
|
|
951
|
+
var _a;
|
|
954
952
|
try {
|
|
955
953
|
const binaryImageJson = (imageJson.extensions && imageJson.extensions.KHR_binary_glTF) ? core_bentley_1.JsonUtils.asObject(imageJson.extensions.KHR_binary_glTF) : imageJson;
|
|
956
954
|
const bufferView = this._bufferViews[binaryImageJson.bufferView];
|
|
957
|
-
if (!
|
|
955
|
+
if (!bufferView || undefined === bufferView.byteLength || bufferView.byteLength <= 0)
|
|
958
956
|
return undefined;
|
|
959
957
|
const mimeType = core_bentley_1.JsonUtils.asString(binaryImageJson.mimeType);
|
|
960
958
|
const format = (0, ImageUtil_1.getImageSourceFormatForMimeType)(mimeType);
|
|
@@ -964,7 +962,7 @@ class GltfReader {
|
|
|
964
962
|
if (undefined !== samplerJson &&
|
|
965
963
|
(undefined !== samplerJson.wrapS || undefined !== samplerJson.wrapT))
|
|
966
964
|
textureType = core_common_1.RenderTexture.Type.TileSection;
|
|
967
|
-
const offset = bufferView.byteOffset;
|
|
965
|
+
const offset = (_a = bufferView.byteOffset) !== null && _a !== void 0 ? _a : 0;
|
|
968
966
|
/* -----------------------------------
|
|
969
967
|
const jpegArray = this._binaryData.slice(offset, offset + bufferView.byteLength);
|
|
970
968
|
const jpegArrayBuffer = jpegArray.buffer;
|
|
@@ -1036,7 +1034,11 @@ exports.readGltfGraphics = readGltfGraphics;
|
|
|
1036
1034
|
class Reader extends GltfReader {
|
|
1037
1035
|
constructor(props, args) {
|
|
1038
1036
|
var _a, _b, _c;
|
|
1039
|
-
super(
|
|
1037
|
+
super({
|
|
1038
|
+
props,
|
|
1039
|
+
iModel: args.iModel,
|
|
1040
|
+
vertexTableRequired: true,
|
|
1041
|
+
});
|
|
1040
1042
|
const pickableId = (_a = args.pickableOptions) === null || _a === void 0 ? void 0 : _a.id;
|
|
1041
1043
|
if (pickableId) {
|
|
1042
1044
|
this._featureTable = new core_common_1.FeatureTable(1, (_c = (_b = args.pickableOptions) === null || _b === void 0 ? void 0 : _b.modelId) !== null && _c !== void 0 ? _c : pickableId, core_common_1.BatchType.Primary);
|