@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.
Files changed (41) 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/cjs/tools/Tool.d.ts +29 -1
  18. package/lib/cjs/tools/Tool.d.ts.map +1 -1
  19. package/lib/cjs/tools/Tool.js +66 -0
  20. package/lib/cjs/tools/Tool.js.map +1 -1
  21. package/lib/esm/Viewport.js +2 -2
  22. package/lib/esm/Viewport.js.map +1 -1
  23. package/lib/esm/tile/B3dmReader.d.ts.map +1 -1
  24. package/lib/esm/tile/B3dmReader.js +6 -3
  25. package/lib/esm/tile/B3dmReader.js.map +1 -1
  26. package/lib/esm/tile/GltfReader.d.ts +29 -3
  27. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  28. package/lib/esm/tile/GltfReader.js +25 -23
  29. package/lib/esm/tile/GltfReader.js.map +1 -1
  30. package/lib/esm/tile/I3dmReader.d.ts.map +1 -1
  31. package/lib/esm/tile/I3dmReader.js +6 -3
  32. package/lib/esm/tile/I3dmReader.js.map +1 -1
  33. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +3 -3
  34. package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
  35. package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -6
  36. package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
  37. package/lib/esm/tools/Tool.d.ts +29 -1
  38. package/lib/esm/tools/Tool.d.ts.map +1 -1
  39. package/lib/esm/tools/Tool.js +66 -0
  40. package/lib/esm/tools/Tool.js.map +1 -1
  41. 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,EAAmC,mBAAmB,EAAyC,MAAM,oBAAoB,CAAC;AACjI,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;IAC5H,OAAO,CAAC,MAAM,CAAC;IAAoB,OAAO,CAAC,cAAc,CAAC;IAtChG,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;IAOM,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;cAiF3B,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG;CA+BxD"}
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"}
@@ -7,15 +7,18 @@
7
7
  */
8
8
  import { JsonUtils } from "@itwin/core-bentley";
9
9
  import { Transform, Vector3d } from "@itwin/core-geometry";
10
- import { B3dmHeader, BatchType, ColorDef, Feature, FeatureTable, TileReadStatus } from "@itwin/core-common";
10
+ import { B3dmHeader, ColorDef, Feature, FeatureTable, TileReadStatus } from "@itwin/core-common";
11
11
  import { GltfDataType, GltfReader, GltfReaderProps, } from "./internal";
12
12
  /**
13
13
  * Deserializes a tile in [b3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Batched3DModel) format.
14
14
  * @internal
15
15
  */
16
16
  export class B3dmReader extends GltfReader {
17
- constructor(props, iModel, modelId, is3d, system, _range, _isLeaf, _batchTableLength, _transformToRoot, _batchTableJson, isCanceled, _idMap, _pseudoRtcBias, deduplicateVertices = false) {
18
- super(props, iModel, is3d, system, BatchType.Primary, isCanceled, deduplicateVertices);
17
+ constructor(props, iModel, modelId, is3d, system, _range, _isLeaf, _batchTableLength, _transformToRoot, _batchTableJson, shouldAbort, _idMap, _pseudoRtcBias, deduplicateVertices = false) {
18
+ super({
19
+ props, iModel, system, shouldAbort, deduplicateVertices,
20
+ is2d: !is3d,
21
+ });
19
22
  this._range = _range;
20
23
  this._isLeaf = _isLeaf;
21
24
  this._batchTableLength = _batchTableLength;
@@ -1 +1 @@
1
- {"version":3,"file":"B3dmReader.js","sourceRoot":"","sources":["../../../src/tile/B3dmReader.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAA0B,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAW,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAuB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIjI,OAAO,EAC6B,YAAY,EAAE,UAAU,EAAE,eAAe,GAC5E,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAqCxC,YAAoB,KAAsB,EAAE,MAAwB,EAAE,OAAmB,EAAE,IAAa,EAAE,MAAoB,EACpH,MAA2B,EAAU,OAAgB,EAAU,iBAAyB,EAAU,gBAA4B,EAAU,eAAqB,EACnK,UAAgC,EAAU,MAAyB,EAAU,cAAyB,EAAE,mBAAmB,GAAC,KAAK;QACnI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAF/E,WAAM,GAAN,MAAM,CAAqB;QAAU,YAAO,GAAP,OAAO,CAAS;QAAU,sBAAiB,GAAjB,iBAAiB,CAAQ;QAAU,qBAAgB,GAAhB,gBAAgB,CAAY;QAAU,oBAAe,GAAf,eAAe,CAAM;QACzH,WAAM,GAAN,MAAM,CAAmB;QAAU,mBAAc,GAAd,cAAc,CAAW;QAtClG,kBAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;QAwChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IArCM,MAAM,CAAC,MAAM,CAAC,MAAkB,EAAE,MAAwB,EAAE,OAAmB,EAAE,IAAa,EAAE,KAA0B,EAC/H,MAAoB,EAAE,OAAgB,EAAE,MAAe,EAAE,UAAmB,EAAE,eAA2B,EACzG,UAAgC,EAAE,KAAwB,EAAE,mBAAmB,GAAC,KAAK;QACrF,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO;YACjB,OAAO,SAAS,CAAC;QAEnB,IAAI,uBAAuB,EAAE,aAAa,CAAC;QAC3C,IAAI,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;YAChF,uBAAuB,GAAG,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/K;aAAM;YACL;;;;;;;eAOG;YACH,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;SAC3E;QAED,IAAI,SAAS,KAAK,uBAAuB;YACvC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,0BAA0B,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;QAEpI,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhH,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAC/G,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/G,CAAC;IASM,KAAK,CAAC,IAAI;QACf,wFAAwF;QACxF,MAAM,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpI,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;YACjG,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE;gBACvG,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;gBACnF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;gBAClF,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,eAAe,KAAK,CAAC,EAAE;oBAC5E,MAAM,WAAW,GAAG,IAAI,KAAK,CAAS,OAAO,CAAC,MAAM,CAAC,CAAC;oBACtD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;oBACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,EAAE,CAAC,EAAE;wBACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC5B,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;qBAC1C;oBAED,IAAI,SAA2B,CAAC;oBAChC,IAAI,SAAS,EAAE;wBACb,SAAS,GAAG,IAAI,KAAK,EAAM,CAAC;wBAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;4BACzD,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;4BACrE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,IAAI,WAAW,CAAC,CAAC;yBACzE;qBACF;oBAED,MAAM,aAAa,GAAG,CAAC,QAAa,EAAE,aAAqB,EAAE,EAAE;wBAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;wBACxC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;wBACvC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;wBAC1C,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;wBACjD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,EAAE,mCAAmC;4BAChE,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;4BAC3C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gCACvC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBACzB;wBACD,IAAI,SAAS,KAAK,SAAS,EAAE;4BAC3B,MAAM,WAAW,GAAG,SAAU,CAAC,aAAa,CAAC,CAAC;4BAC9C,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE;gCAClC,IAAI,QAAQ,KAAK,aAAa;oCAC5B,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;6BACrC;yBACF;oBACH,CAAC,CAAC;oBACF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,eAAe,EAAE,OAAO,EAAE,EAAE;wBAC1D,MAAM,QAAQ,GAAQ,EAAE,CAAC;wBACzB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpG,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;wBAC7C,IAAI,SAAS,KAAK,WAAW,EAAE;4BAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gCACjB,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAS,eAAe,CAAC,CAAC;gCAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;6BACxC;4BACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;yBAC3D;qBACF;iBACF;aACF;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;oBAC/C,MAAM,OAAO,GAAQ,EAAE,CAAC;oBACxB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,mCAAmC;wBACzE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE9C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC9F;aACF;SACF;QAED,IAAI,YAAY,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC9B;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,WAAW;YAClB,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAEvE,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7H,CAAC;IAEkB,cAAc,CAAC,IAAU,EAAE,IAAS;QACrD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,SAAS,KAAK,IAAI,CAAC,eAAe,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,EAAE;gBACrG,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC7D,IAAI,QAAoC,CAAC;gBACzC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACjK,MAAM,OAAO,GAAG,EAAE,CAAC;oBACnB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;oBAClC,IAAI,UAAmC,CAAC;oBACxC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE;wBAClE,UAAU,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;wBAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE;4BAC7C,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;qBACpD;oBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAChD,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAClD,IAAI,UAAU;4BACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;qBACpC;oBACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBAEnC;aACF;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aAClD;SACF;IACH,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 { 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(props: GltfReaderProps, iModel: IModelConnection, is3d: boolean, system: RenderSystem, type?: BatchType, isCanceled?: ShouldAbortReadGltf, deduplicateVertices?: boolean);
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":"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"}
1
+ {"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,6 @@ import { DisplayParams } from "../render/primitives/DisplayParams";
15
15
  import { Mesh, MeshGraphicArgs } from "../render/primitives/mesh/MeshPrimitives";
16
16
  import { RealityMeshPrimitive } from "../render/primitives/mesh/RealityMeshPrimitive";
17
17
  import { TextureTransparency } from "../render/RenderTexture";
18
- // eslint-disable-next-line prefer-const
19
- let forceLUT = false;
20
18
  /* eslint-disable no-restricted-syntax */
21
19
  /** Enumerates the types of [[GltfMeshPrimitive]] topologies. */
22
20
  var GltfMeshMode;
@@ -171,8 +169,7 @@ class GltfBufferView {
171
169
  * @internal
172
170
  */
173
171
  export class GltfReaderProps {
174
- constructor(buffer, binaryData, glTF, yAxisUp) {
175
- this.buffer = buffer;
172
+ constructor(binaryData, glTF, yAxisUp) {
176
173
  this.binaryData = binaryData;
177
174
  this.glTF = glTF;
178
175
  this.yAxisUp = yAxisUp;
@@ -211,7 +208,7 @@ export class GltfReaderProps {
211
208
  textures: JsonUtils.asObject(json.textures),
212
209
  techniques: JsonUtils.asObject(json.techniques),
213
210
  };
214
- return glTF.meshes ? new GltfReaderProps(buffer, binaryData, glTF, yAxisUp) : undefined;
211
+ return glTF.meshes ? new GltfReaderProps(binaryData, glTF, yAxisUp) : undefined;
215
212
  }
216
213
  catch (e) {
217
214
  return undefined;
@@ -301,29 +298,29 @@ class TransformStack {
301
298
  * @internal
302
299
  */
303
300
  export class GltfReader {
304
- constructor(props, iModel, is3d, system, type = BatchType.Primary, isCanceled, deduplicateVertices = false) {
305
- var _a, _b, _c;
306
- this._buffer = props.buffer;
307
- this._binaryData = props.binaryData;
308
- this._glTF = props.glTF;
309
- this._yAxisUp = props.yAxisUp;
310
- const rtcCenter = (_b = (_a = props.glTF.extensions) === null || _a === void 0 ? void 0 : _a.CESIUM_RTC) === null || _b === void 0 ? void 0 : _b.center;
301
+ constructor(args) {
302
+ var _a, _b, _c, _d, _e, _f, _g;
303
+ this._binaryData = args.props.binaryData;
304
+ this._glTF = args.props.glTF;
305
+ this._yAxisUp = args.props.yAxisUp;
306
+ 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;
311
307
  if (rtcCenter && 3 === rtcCenter.length)
312
308
  if (0 !== rtcCenter[0] || 0 !== rtcCenter[1] || 0 !== rtcCenter[2])
313
309
  this._returnToCenter = Point3d.fromJSON(rtcCenter);
314
- this._iModel = iModel;
315
- this._is3d = is3d;
316
- this._system = system;
317
- this._type = type;
318
- this._canceled = isCanceled;
319
- this._deduplicateVertices = deduplicateVertices;
310
+ this._iModel = args.iModel;
311
+ this._is3d = true !== args.is2d;
312
+ this._system = (_c = args.system) !== null && _c !== void 0 ? _c : IModelApp.renderSystem;
313
+ this._type = (_d = args.type) !== null && _d !== void 0 ? _d : BatchType.Primary;
314
+ this._canceled = args.shouldAbort;
315
+ this._deduplicateVertices = (_e = args.deduplicateVertices) !== null && _e !== void 0 ? _e : false;
316
+ this._vertexTableRequired = (_f = args.vertexTableRequired) !== null && _f !== void 0 ? _f : false;
320
317
  // The original implementation of GltfReader would process and produce graphics for every node in glTF.nodes.
321
318
  // What it's *supposed* to do is process the nodes in glTF.scenes[glTF.scene].nodes
322
319
  // Some nodes may not be referenced by the configured scene, or only indirectly via GltfNode.children.
323
320
  // Perhaps some faulty tiles existed that didn't define their scenes properly?
324
321
  let sceneNodes;
325
322
  if (this._glTF.scenes && undefined !== this._glTF.scene)
326
- sceneNodes = (_c = this._glTF.scenes[this._glTF.scene]) === null || _c === void 0 ? void 0 : _c.nodes;
323
+ sceneNodes = (_g = this._glTF.scenes[this._glTF.scene]) === null || _g === void 0 ? void 0 : _g.nodes;
327
324
  if (!sceneNodes)
328
325
  sceneNodes = Object.keys(this._nodes);
329
326
  this._sceneNodes = sceneNodes;
@@ -395,7 +392,7 @@ export class GltfReader {
395
392
  graphicFromMeshData(gltfMesh, meshGraphicArgs, instances) {
396
393
  if (!gltfMesh.points || !gltfMesh.pointRange)
397
394
  return;
398
- const realityMeshPrimitive = (forceLUT || instances) ? undefined : RealityMeshPrimitive.createFromGltfMesh(gltfMesh);
395
+ const realityMeshPrimitive = (this._vertexTableRequired || instances) ? undefined : RealityMeshPrimitive.createFromGltfMesh(gltfMesh);
399
396
  if (realityMeshPrimitive) {
400
397
  const realityMesh = this._system.createRealityMesh(realityMeshPrimitive);
401
398
  if (realityMesh)
@@ -945,10 +942,11 @@ export class GltfReader {
945
942
  await Promise.all(promises);
946
943
  }
947
944
  async loadTextureImage(imageJson, samplerJson, isTransparent) {
945
+ var _a;
948
946
  try {
949
947
  const binaryImageJson = (imageJson.extensions && imageJson.extensions.KHR_binary_glTF) ? JsonUtils.asObject(imageJson.extensions.KHR_binary_glTF) : imageJson;
950
948
  const bufferView = this._bufferViews[binaryImageJson.bufferView];
951
- if (!(bufferView === null || bufferView === void 0 ? void 0 : bufferView.byteOffset) || !(bufferView === null || bufferView === void 0 ? void 0 : bufferView.byteLength))
949
+ if (!bufferView || undefined === bufferView.byteLength || bufferView.byteLength <= 0)
952
950
  return undefined;
953
951
  const mimeType = JsonUtils.asString(binaryImageJson.mimeType);
954
952
  const format = getImageSourceFormatForMimeType(mimeType);
@@ -958,7 +956,7 @@ export class GltfReader {
958
956
  if (undefined !== samplerJson &&
959
957
  (undefined !== samplerJson.wrapS || undefined !== samplerJson.wrapT))
960
958
  textureType = RenderTexture.Type.TileSection;
961
- const offset = bufferView.byteOffset;
959
+ const offset = (_a = bufferView.byteOffset) !== null && _a !== void 0 ? _a : 0;
962
960
  /* -----------------------------------
963
961
  const jpegArray = this._binaryData.slice(offset, offset + bufferView.byteLength);
964
962
  const jpegArrayBuffer = jpegArray.buffer;
@@ -1028,7 +1026,11 @@ export async function readGltfGraphics(args) {
1028
1026
  class Reader extends GltfReader {
1029
1027
  constructor(props, args) {
1030
1028
  var _a, _b, _c;
1031
- super(props, args.iModel, false, IModelApp.renderSystem);
1029
+ super({
1030
+ props,
1031
+ iModel: args.iModel,
1032
+ vertexTableRequired: true,
1033
+ });
1032
1034
  const pickableId = (_a = args.pickableOptions) === null || _a === void 0 ? void 0 : _a.id;
1033
1035
  if (pickableId) {
1034
1036
  this._featureTable = new FeatureTable(1, (_c = (_b = args.pickableOptions) === null || _b === void 0 ? void 0 : _b.modelId) !== null && _c !== void 0 ? _c : pickableId, BatchType.Primary);