@itwin/core-frontend 5.7.0-dev.13 → 5.7.0-dev.15

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.
@@ -38,6 +38,14 @@ export declare class CategorySelectorState extends ElementState {
38
38
  addCategories(arg: Id64Arg): void;
39
39
  /** Remove one or more categories from this CategorySelector */
40
40
  dropCategories(arg: Id64Arg): void;
41
+ /** Add one or more categories to this CategorySelector, raising a single batch event instead of one event per category.
42
+ * This is more efficient than [[addCategories]] when adding many categories at once.
43
+ */
44
+ addCategoriesBatched(arg: Id64Arg): void;
45
+ /** Remove one or more categories from this CategorySelector, raising a single batch event instead of one event per category.
46
+ * This is more efficient than [[dropCategories]] when dropping many categories at once.
47
+ */
48
+ dropCategoriesBatched(arg: Id64Arg): void;
41
49
  /** Add or remove categories from this CategorySelector.
42
50
  * @param arg The categories to add or remove
43
51
  * @param add If true, categories will be added; otherwise they will be removed.
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelectorState.d.ts","sourceRoot":"","sources":["../../src/CategorySelectorState.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAQ,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,WAA2B,SAAS,WAAiC;IAErE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAE/C,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB;IAMlE,IAAW,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAEnC;IAED,IAAW,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAI5C;IAED,gBAAgB;IAChB,IAAW,oBAAoB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEvD;IAEe,MAAM,IAAI,qBAAqB;IAO/C;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAWxD,wCAAwC;IACxC,IAAW,IAAI,IAAI,MAAM,CAA4B;IAErD,uFAAuF;IAChF,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAEnC,8EAA8E;IACvE,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAExD,0DAA0D;IACnD,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxC,+DAA+D;IACxD,cAAc,CAAC,GAAG,EAAE,OAAO;IAKlC;;;OAGG;IACI,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;CAM/D"}
1
+ {"version":3,"file":"CategorySelectorState.d.ts","sourceRoot":"","sources":["../../src/CategorySelectorState.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAQ,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,WAA2B,SAAS,WAAiC;IAErE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAE/C,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB;IAMlE,IAAW,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAEnC;IAED,IAAW,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAI5C;IAED,gBAAgB;IAChB,IAAW,oBAAoB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEvD;IAEe,MAAM,IAAI,qBAAqB;IAO/C;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAWxD,wCAAwC;IACxC,IAAW,IAAI,IAAI,MAAM,CAA4B;IAErD,uFAAuF;IAChF,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAEnC,8EAA8E;IACvE,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAExD,0DAA0D;IACnD,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxC,+DAA+D;IACxD,cAAc,CAAC,GAAG,EAAE,OAAO;IAKlC;;OAEG;IACI,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI/C;;OAEG;IACI,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIhD;;;OAGG;IACI,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;CAM/D"}
@@ -70,6 +70,18 @@ export class CategorySelectorState extends ElementState {
70
70
  for (const id of Id64.iterable(arg))
71
71
  this.categories.delete(id);
72
72
  }
73
+ /** Add one or more categories to this CategorySelector, raising a single batch event instead of one event per category.
74
+ * This is more efficient than [[addCategories]] when adding many categories at once.
75
+ */
76
+ addCategoriesBatched(arg) {
77
+ this._categories.addAll(Id64.iterable(arg));
78
+ }
79
+ /** Remove one or more categories from this CategorySelector, raising a single batch event instead of one event per category.
80
+ * This is more efficient than [[dropCategories]] when dropping many categories at once.
81
+ */
82
+ dropCategoriesBatched(arg) {
83
+ this._categories.deleteAll(Id64.iterable(arg));
84
+ }
73
85
  /** Add or remove categories from this CategorySelector.
74
86
  * @param arg The categories to add or remove
75
87
  * @param add If true, categories will be added; otherwise they will be removed.
@@ -1 +1 @@
1
- {"version":3,"file":"CategorySelectorState.js","sourceRoot":"","sources":["../../src/CategorySelectorState.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 Views\r\n */\r\nimport { Id64, Id64Arg, Id64String, ObservableSet } from \"@itwin/core-bentley\";\r\nimport { CategorySelectorProps } from \"@itwin/core-common\";\r\nimport { ElementState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** A set of Categories to be displayed in a [[ViewState]].\r\n * Elements belonging to categories not specified in the category selector will not be drawn in the view.\r\n * By default, geometry belonging to any [[SubCategory]] of a visible Category is also visible in the view,\r\n * unless the [[SubCategoryAppearance]] or [[SubCategoryOverride]] specifies that it should be invisible.\r\n * @note To change the set of categories visible in a [[ViewState]] currently associated with a [[Viewport]],\r\n * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.\r\n * @see [[Category]]\r\n * @public\r\n * @extensions\r\n */\r\nexport class CategorySelectorState extends ElementState {\r\n public static override get className() { return \"CategorySelector\"; }\r\n\r\n private readonly _categories = new ObservableSet<string>();\r\n\r\n constructor(props: CategorySelectorProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n if (props.categories)\r\n props.categories.forEach((cat) => this.categories.add(cat));\r\n }\r\n\r\n public get categories(): Set<string> {\r\n return this._categories;\r\n }\r\n\r\n public set categories(categories: Set<string>) {\r\n this._categories.clear();\r\n for (const category of categories)\r\n this._categories.add(category);\r\n }\r\n\r\n /** @internal */\r\n public get observableCategories(): ObservableSet<string> {\r\n return this._categories;\r\n }\r\n\r\n public override toJSON(): CategorySelectorProps {\r\n const val = super.toJSON() as CategorySelectorProps;\r\n val.categories = [];\r\n this.categories.forEach((cat) => val.categories.push(cat));\r\n return val;\r\n }\r\n\r\n /** Returns true if this category selector is logically equivalent to the specified category selector.\r\n * Two category selectors are logically equivalent if they have the same name and Id and contain the same set of category Ids.\r\n */\r\n public equalState(other: CategorySelectorState): boolean {\r\n if (this.categories.size !== other.categories.size || this.name !== other.name || this.id !== other.id)\r\n return false;\r\n\r\n for (const cat of this.categories)\r\n if (!other.categories.has(cat))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n /** The name of this CategorySelector */\r\n public get name(): string { return this.code.value; }\r\n\r\n /** Determine whether this CategorySelector includes the specified categoryId string */\r\n public has(id: Id64String): boolean { return this.categories.has(id); }\r\n\r\n /** Determine whether this CategorySelector includes the specified category */\r\n public isCategoryViewed(categoryId: Id64String): boolean { return this.has(categoryId); }\r\n\r\n /** Add one or more categories to this CategorySelector */\r\n public addCategories(arg: Id64Arg): void {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.add(id);\r\n }\r\n\r\n /** Remove one or more categories from this CategorySelector */\r\n public dropCategories(arg: Id64Arg) {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.delete(id);\r\n }\r\n\r\n /** Add or remove categories from this CategorySelector.\r\n * @param arg The categories to add or remove\r\n * @param add If true, categories will be added; otherwise they will be removed.\r\n */\r\n public changeCategoryDisplay(arg: Id64Arg, add: boolean): void {\r\n if (add)\r\n this.addCategories(arg);\r\n else\r\n this.dropCategories(arg);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CategorySelectorState.js","sourceRoot":"","sources":["../../src/CategorySelectorState.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 Views\r\n */\r\nimport { Id64, Id64Arg, Id64String, ObservableSet } from \"@itwin/core-bentley\";\r\nimport { CategorySelectorProps } from \"@itwin/core-common\";\r\nimport { ElementState } from \"./EntityState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\n\r\n/** A set of Categories to be displayed in a [[ViewState]].\r\n * Elements belonging to categories not specified in the category selector will not be drawn in the view.\r\n * By default, geometry belonging to any [[SubCategory]] of a visible Category is also visible in the view,\r\n * unless the [[SubCategoryAppearance]] or [[SubCategoryOverride]] specifies that it should be invisible.\r\n * @note To change the set of categories visible in a [[ViewState]] currently associated with a [[Viewport]],\r\n * use [[ViewState.changeCategoryDisplay]] to ensure the view updates appropriately on screen.\r\n * @see [[Category]]\r\n * @public\r\n * @extensions\r\n */\r\nexport class CategorySelectorState extends ElementState {\r\n public static override get className() { return \"CategorySelector\"; }\r\n\r\n private readonly _categories = new ObservableSet<string>();\r\n\r\n constructor(props: CategorySelectorProps, iModel: IModelConnection) {\r\n super(props, iModel);\r\n if (props.categories)\r\n props.categories.forEach((cat) => this.categories.add(cat));\r\n }\r\n\r\n public get categories(): Set<string> {\r\n return this._categories;\r\n }\r\n\r\n public set categories(categories: Set<string>) {\r\n this._categories.clear();\r\n for (const category of categories)\r\n this._categories.add(category);\r\n }\r\n\r\n /** @internal */\r\n public get observableCategories(): ObservableSet<string> {\r\n return this._categories;\r\n }\r\n\r\n public override toJSON(): CategorySelectorProps {\r\n const val = super.toJSON() as CategorySelectorProps;\r\n val.categories = [];\r\n this.categories.forEach((cat) => val.categories.push(cat));\r\n return val;\r\n }\r\n\r\n /** Returns true if this category selector is logically equivalent to the specified category selector.\r\n * Two category selectors are logically equivalent if they have the same name and Id and contain the same set of category Ids.\r\n */\r\n public equalState(other: CategorySelectorState): boolean {\r\n if (this.categories.size !== other.categories.size || this.name !== other.name || this.id !== other.id)\r\n return false;\r\n\r\n for (const cat of this.categories)\r\n if (!other.categories.has(cat))\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n /** The name of this CategorySelector */\r\n public get name(): string { return this.code.value; }\r\n\r\n /** Determine whether this CategorySelector includes the specified categoryId string */\r\n public has(id: Id64String): boolean { return this.categories.has(id); }\r\n\r\n /** Determine whether this CategorySelector includes the specified category */\r\n public isCategoryViewed(categoryId: Id64String): boolean { return this.has(categoryId); }\r\n\r\n /** Add one or more categories to this CategorySelector */\r\n public addCategories(arg: Id64Arg): void {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.add(id);\r\n }\r\n\r\n /** Remove one or more categories from this CategorySelector */\r\n public dropCategories(arg: Id64Arg) {\r\n for (const id of Id64.iterable(arg))\r\n this.categories.delete(id);\r\n }\r\n\r\n /** Add one or more categories to this CategorySelector, raising a single batch event instead of one event per category.\r\n * This is more efficient than [[addCategories]] when adding many categories at once.\r\n */\r\n public addCategoriesBatched(arg: Id64Arg): void {\r\n this._categories.addAll(Id64.iterable(arg));\r\n }\r\n\r\n /** Remove one or more categories from this CategorySelector, raising a single batch event instead of one event per category.\r\n * This is more efficient than [[dropCategories]] when dropping many categories at once.\r\n */\r\n public dropCategoriesBatched(arg: Id64Arg): void {\r\n this._categories.deleteAll(Id64.iterable(arg));\r\n }\r\n\r\n /** Add or remove categories from this CategorySelector.\r\n * @param arg The categories to add or remove\r\n * @param add If true, categories will be added; otherwise they will be removed.\r\n */\r\n public changeCategoryDisplay(arg: Id64Arg, add: boolean): void {\r\n if (add)\r\n this.addCategories(arg);\r\n else\r\n this.dropCategories(arg);\r\n }\r\n}\r\n"]}
@@ -390,8 +390,6 @@ export declare namespace IModelConnection {
390
390
  /** The collection of loaded ModelState objects for an [[IModelConnection]]. */
391
391
  class Models implements Iterable<ModelState> {
392
392
  private _iModel;
393
- private readonly _modelExtentsQuery;
394
- private readonly _modelExistenceQuery;
395
393
  private _loadedExtents;
396
394
  private _geometryChangedListener?;
397
395
  private _loaded;
@@ -1 +1 @@
1
- {"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelConnection.d.ts","sourceRoot":"","sources":["../../src/IModelConnection.ts"],"names":[],"mappings":"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"}
@@ -628,72 +628,7 @@ export class SnapshotConnection extends IModelConnection {
628
628
  /** The collection of loaded ModelState objects for an [[IModelConnection]]. */
629
629
  class Models {
630
630
  _iModel;
631
- _modelExtentsQuery = `
632
- SELECT
633
- Model.Id AS ECInstanceId,
634
- iModel_bbox_union(
635
- iModel_placement_aabb(
636
- iModel_placement(
637
- iModel_point(Origin.X, Origin.Y, 0),
638
- iModel_angles(Rotation, 0, 0),
639
- iModel_bbox(
640
- BBoxLow.X, BBoxLow.Y, -1,
641
- BBoxHigh.X, BBoxHigh.Y, 1
642
- )
643
- )
644
- )
645
- ) AS bbox
646
- FROM bis.GeometricElement2d
647
- WHERE InVirtualSet(:ids64, Model.Id) AND Origin.X IS NOT NULL
648
- GROUP BY Model.Id
649
- UNION
650
- SELECT
651
- ge.Model.Id AS ECInstanceId,
652
- iModel_bbox(
653
- min(i.MinX), min(i.MinY), min(i.MinZ),
654
- max(i.MaxX), max(i.MaxY), max(i.MaxZ)
655
- ) AS bbox
656
- FROM bis.SpatialIndex AS i, bis.GeometricElement3d AS ge, bis.GeometricModel3d AS gm
657
- WHERE InVirtualSet(:ids64, ge.Model.Id) AND ge.ECInstanceId=i.ECInstanceId AND InVirtualSet(:ids64, gm.ECInstanceId) AND (gm.$->isNotSpatiallyLocated?=false OR gm.$->isNotSpatiallyLocated? IS NULL)
658
- GROUP BY ge.Model.Id
659
- UNION
660
- SELECT
661
- ge.Model.Id AS ECInstanceId,
662
- iModel_bbox_union(
663
- iModel_placement_aabb(
664
- iModel_placement(
665
- iModel_point(ge.Origin.X, ge.Origin.Y, ge.Origin.Z),
666
- iModel_angles(ge.Yaw, ge.Pitch, ge.Roll),
667
- iModel_bbox(
668
- ge.BBoxLow.X, ge.BBoxLow.Y, ge.BBoxLow.Z,
669
- ge.BBoxHigh.X, ge.BBoxHigh.Y, ge.BBoxHigh.Z
670
- )
671
- )
672
- )
673
- ) AS bbox
674
- FROM bis.GeometricElement3d AS ge, bis.GeometricModel3d as gm
675
- WHERE InVirtualSet(:ids64, ge.Model.Id) AND ge.Origin.X IS NOT NULL AND InVirtualSet(:ids64, gm.ECInstanceId) AND gm.$->isNotSpatiallyLocated?=true
676
- GROUP BY ge.Model.Id`;
677
- _modelExistenceQuery = `
678
- WITH
679
- GeometricModels AS(
680
- SELECT
681
- ECInstanceId
682
- FROM bis.GeometricModel
683
- WHERE InVirtualSet(: ids64, ECInstanceId)
684
- )
685
- SELECT
686
- ECInstanceId,
687
- true AS isGeometricModel
688
- FROM GeometricModels
689
- UNION ALL
690
- SELECT
691
- ECInstanceId,
692
- false AS isGeometricModel
693
- FROM bis.Model
694
- WHERE InVirtualSet(: ids64, ECInstanceId)
695
- AND ECInstanceId NOT IN(SELECT ECInstanceId FROM GeometricModels)`;
696
- _loadedExtents = [];
631
+ _loadedExtents = new Map();
697
632
  _geometryChangedListener;
698
633
  _loaded = new Map();
699
634
  /** @internal */
@@ -708,7 +643,9 @@ export class SnapshotConnection extends IModelConnection {
708
643
  IModelConnection.onOpen.addListener(() => {
709
644
  if (this._iModel.isBriefcaseConnection()) {
710
645
  this._geometryChangedListener = (changes) => {
711
- this._loadedExtents = this._loadedExtents.filter((extent) => !changes.some((change) => change.id === extent.id));
646
+ changes.forEach((change) => {
647
+ this._loadedExtents.delete(change.id);
648
+ });
712
649
  };
713
650
  this._iModel.txns.onModelGeometryChanged.addListener(this._geometryChangedListener);
714
651
  }
@@ -812,64 +749,132 @@ export class SnapshotConnection extends IModelConnection {
812
749
  return [];
813
750
  if (typeof modelIds === "string")
814
751
  modelIds = [modelIds];
815
- const modelExtents = [];
752
+ const resolvedExtents = new Map();
753
+ const uncachedModelIds = [];
754
+ // Add the cached model ids and the invalid ids
816
755
  for (const modelId of modelIds) {
817
- if (!Id64.isValidId64(modelId)) {
818
- modelExtents.push({ id: modelId, extents: Range3d.createNull(), status: IModelStatus.InvalidId });
756
+ if (this._loadedExtents.has(modelId)) {
757
+ resolvedExtents.set(modelId, this._loadedExtents.get(modelId));
819
758
  }
820
- }
821
- const getUnloadedModelIds = () => modelIds.filter((modelId) => !modelExtents.some((loadedExtent) => loadedExtent.id === modelId));
822
- let remainingModelIds = getUnloadedModelIds();
823
- for (const modelId of remainingModelIds) {
824
- const modelExtent = this._loadedExtents.find((extent) => modelId === extent.id);
825
- if (modelExtent) {
826
- modelExtents.push(modelExtent);
759
+ else if (!Id64.isValidId64(modelId)) {
760
+ resolvedExtents.set(modelId, { id: modelId, extents: Range3d.createNull(), status: IModelStatus.InvalidId });
761
+ }
762
+ else {
763
+ uncachedModelIds.push(modelId);
827
764
  }
828
765
  }
829
- remainingModelIds = getUnloadedModelIds();
830
- if (remainingModelIds.length > 0) {
831
- const params = new QueryBinder();
832
- params.bindIdSet("ids64", remainingModelIds);
833
- const extentsQueryReader = this._iModel.createQueryReader(this._modelExtentsQuery, params, {
766
+ // Run the ECSql to get uncached model extents
767
+ if (uncachedModelIds.length > 0) {
768
+ const modelList = uncachedModelIds.join(",");
769
+ const useSingleModelQuery = uncachedModelIds.length === 1;
770
+ const modelExtentsQuery = `
771
+ SELECT
772
+ Model.Id AS ECInstanceId,
773
+ iModel_bbox_union(
774
+ iModel_placement_aabb(
775
+ iModel_placement(
776
+ iModel_point(Origin.X, Origin.Y, 0),
777
+ iModel_angles(Rotation, 0, 0),
778
+ iModel_bbox(
779
+ BBoxLow.X, BBoxLow.Y, -1,
780
+ BBoxHigh.X, BBoxHigh.Y, 1
781
+ )
782
+ )
783
+ )
784
+ ) AS bbox
785
+ FROM bis.GeometricElement2d
786
+ WHERE Model.Id ${useSingleModelQuery ? `= ${uncachedModelIds[0]}` : `IN (${modelList})`}
787
+ AND Origin.X IS NOT NULL
788
+ GROUP BY Model.Id
789
+
790
+ UNION
791
+
792
+ SELECT
793
+ ge.Model.Id AS ECInstanceId,
794
+ iModel_bbox(
795
+ min(i.MinX), min(i.MinY), min(i.MinZ),
796
+ max(i.MaxX), max(i.MaxY), max(i.MaxZ)
797
+ ) AS bbox
798
+ FROM bis.SpatialIndex AS i
799
+ INNER JOIN bis.GeometricElement3d AS ge
800
+ ON ge.ECInstanceId = i.ECInstanceId
801
+ INNER JOIN bis.GeometricModel3d AS gm
802
+ ON ge.Model.Id = gm.ECInstanceId
803
+ WHERE ge.Model.Id ${useSingleModelQuery ? `= ${uncachedModelIds[0]}` : `IN (${modelList})`}
804
+ AND (gm.$->IsNotSpatiallyLocated? IS NULL OR gm.$->IsNotSpatiallyLocated? IS FALSE)
805
+ GROUP BY ge.Model.Id
806
+
807
+ UNION
808
+
809
+ SELECT
810
+ ge.Model.Id AS ECInstanceId,
811
+ iModel_bbox_union(
812
+ iModel_placement_aabb(
813
+ iModel_placement(
814
+ iModel_point(ge.Origin.X, ge.Origin.Y, ge.Origin.Z),
815
+ iModel_angles(ge.Yaw, ge.Pitch, ge.Roll),
816
+ iModel_bbox(
817
+ ge.BBoxLow.X, ge.BBoxLow.Y, ge.BBoxLow.Z,
818
+ ge.BBoxHigh.X, ge.BBoxHigh.Y, ge.BBoxHigh.Z
819
+ )
820
+ )
821
+ )
822
+ ) AS bbox
823
+ FROM bis.GeometricElement3d ge
824
+ INNER JOIN bis.GeometricModel3d gm
825
+ ON ge.Model.Id = gm.ECInstanceId
826
+ WHERE ge.Model.Id ${useSingleModelQuery ? `= ${uncachedModelIds[0]}` : `IN (${modelList})`}
827
+ AND gm.$->IsNotSpatiallyLocated? IS TRUE
828
+ AND ge.Origin.X IS NOT NULL
829
+ GROUP BY ge.Model.Id
830
+ `;
831
+ const extentsQueryReader = this._iModel.createQueryReader(modelExtentsQuery, undefined, {
834
832
  rowFormat: QueryRowFormat.UseECSqlPropertyNames,
835
833
  });
836
834
  for await (const row of extentsQueryReader) {
837
835
  const byteArray = new Uint8Array(Object.values(row.bbox));
838
836
  const extents = Range3d.fromArrayBuffer(byteArray.buffer);
839
837
  const extent = { id: row.ECInstanceId, extents, status: IModelStatus.Success };
840
- modelExtents.push(extent);
841
- this._loadedExtents.push(extent);
838
+ resolvedExtents.set(extent.id, extent);
839
+ this._loadedExtents.set(extent.id, extent);
842
840
  }
843
841
  }
844
- remainingModelIds = getUnloadedModelIds();
845
- if (remainingModelIds.length > 0) {
846
- const params = new QueryBinder();
847
- params.bindIdSet("ids64", remainingModelIds);
848
- const modelExistenceQueryReader = this._iModel.createQueryReader(this._modelExistenceQuery, params, {
842
+ // Check if there still are any unresolved model IDs
843
+ const unresolvedModelIds = uncachedModelIds.filter((id) => !resolvedExtents.has(id));
844
+ if (unresolvedModelIds.length > 0) {
845
+ const modelList = unresolvedModelIds.join(",");
846
+ const modelExistenceQuery = `
847
+ SELECT
848
+ m.ECInstanceId,
849
+ CASE WHEN g.ECInstanceId IS NOT NULL THEN 1 ELSE 0 END AS isGeometricModel
850
+ FROM bis.Model m
851
+ LEFT JOIN bis.GeometricModel g
852
+ ON m.ECInstanceId = g.ECInstanceId
853
+ WHERE m.ECInstanceId ${unresolvedModelIds.length === 1 ? `= ${unresolvedModelIds[0]}` : `IN (${modelList})`}
854
+ `;
855
+ const modelExistenceQueryReader = this._iModel.createQueryReader(modelExistenceQuery, undefined, {
849
856
  rowFormat: QueryRowFormat.UseECSqlPropertyNames,
850
857
  });
851
858
  for await (const row of modelExistenceQueryReader) {
852
- let extent;
853
- if (row.isGeometricModel) {
854
- extent = { id: row.ECInstanceId, extents: Range3d.createNull(), status: IModelStatus.Success };
855
- }
856
- else {
857
- extent = { id: row.ECInstanceId, extents: Range3d.createNull(), status: IModelStatus.WrongModel };
858
- }
859
- modelExtents.push(extent);
860
- this._loadedExtents.push(extent);
859
+ const extent = {
860
+ id: row.ECInstanceId,
861
+ extents: Range3d.createNull(),
862
+ status: row.isGeometricModel ? IModelStatus.Success : IModelStatus.WrongModel,
863
+ };
864
+ resolvedExtents.set(extent.id, extent);
865
+ this._loadedExtents.set(extent.id, extent);
861
866
  }
862
867
  }
868
+ // Return the results while maintaining the same order
863
869
  return modelIds.map((modelId) => {
864
- let extent = modelExtents.find((loadedExtent) => loadedExtent.id === modelId);
870
+ const extent = resolvedExtents.get(modelId);
865
871
  if (extent === undefined) {
866
- extent = { id: modelId, extents: Range3d.createNull(), status: IModelStatus.NotFound };
867
- this._loadedExtents.push(extent);
868
- return extent;
872
+ const notFound = { id: modelId, extents: Range3d.createNull(), status: IModelStatus.NotFound };
873
+ this._loadedExtents.set(notFound.id, notFound);
874
+ return notFound;
869
875
  }
870
- else if (extent.status === IModelStatus.InvalidId) {
871
- extent.id = "0";
872
- return extent;
876
+ if (extent.status === IModelStatus.InvalidId) {
877
+ return { ...extent, id: "0" };
873
878
  }
874
879
  return extent;
875
880
  });