@itwin/core-frontend 3.0.0-dev.90 → 3.0.0-dev.94

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/CheckpointConnection.js +1 -1
  2. package/lib/cjs/CheckpointConnection.js.map +1 -1
  3. package/lib/cjs/RealityDataConnection.d.ts +2 -2
  4. package/lib/cjs/RealityDataConnection.d.ts.map +1 -1
  5. package/lib/cjs/RealityDataConnection.js +2 -2
  6. package/lib/cjs/RealityDataConnection.js.map +1 -1
  7. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  8. package/lib/cjs/ViewCreator3d.js +7 -5
  9. package/lib/cjs/ViewCreator3d.js.map +1 -1
  10. package/lib/cjs/Viewport.d.ts.map +1 -1
  11. package/lib/cjs/Viewport.js +1 -1
  12. package/lib/cjs/Viewport.js.map +1 -1
  13. package/lib/cjs/render/webgl/Technique.js +1 -1
  14. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  15. package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
  16. package/lib/cjs/tile/RealityModelTileTree.js +10 -5
  17. package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
  18. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  19. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js +0 -1
  20. package/lib/cjs/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  21. package/lib/esm/CheckpointConnection.js +1 -1
  22. package/lib/esm/CheckpointConnection.js.map +1 -1
  23. package/lib/esm/RealityDataConnection.d.ts +2 -2
  24. package/lib/esm/RealityDataConnection.d.ts.map +1 -1
  25. package/lib/esm/RealityDataConnection.js +2 -2
  26. package/lib/esm/RealityDataConnection.js.map +1 -1
  27. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  28. package/lib/esm/ViewCreator3d.js +7 -5
  29. package/lib/esm/ViewCreator3d.js.map +1 -1
  30. package/lib/esm/Viewport.d.ts.map +1 -1
  31. package/lib/esm/Viewport.js +1 -1
  32. package/lib/esm/Viewport.js.map +1 -1
  33. package/lib/esm/render/webgl/Technique.js +1 -1
  34. package/lib/esm/render/webgl/Technique.js.map +1 -1
  35. package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
  36. package/lib/esm/tile/RealityModelTileTree.js +10 -5
  37. package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
  38. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.d.ts.map +1 -1
  39. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js +0 -1
  40. package/lib/esm/tile/map/ImageryProviders/BingImageryProvider.js.map +1 -1
  41. package/package.json +26 -27
@@ -34,7 +34,7 @@ class CheckpointConnection extends IModelConnection_1.IModelConnection {
34
34
  core_bentley_1.Logger.logTrace(loggerCategory, "Attempting to reopen connection", () => iModelRpcProps);
35
35
  try {
36
36
  const openResponse = await CheckpointConnection.callOpen(iModelRpcProps, this.routingContext);
37
- // The new/reopened connection may have a new rpcKey and/or changeSetId, but the other IModelRpcTokenProps should be the same
37
+ // The new/reopened connection may have a new rpcKey and/or changesetId, but the other IModelRpcTokenProps should be the same
38
38
  this._fileKey = openResponse.key;
39
39
  this.changeset = openResponse.changeset;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CheckpointConnection.js","sourceRoot":"","sources":["../../src/CheckpointConnection.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 IModelConnection\r\n */\r\n\r\nimport { BentleyError, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n IModelConnectionProps, IModelError, IModelReadRpcInterface, IModelRpcOpenProps, IModelVersion, RpcManager, RpcNotFoundResponse, RpcOperation,\r\n RpcRequest, RpcRequestEvent,\r\n} from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./FrontendLoggerCategory\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IModelRoutingContext } from \"./IModelRoutingContext\";\r\n\r\nconst loggerCategory = FrontendLoggerCategory.IModelConnection;\r\n\r\n/**\r\n * An IModelConnection to a checkpoint of an iModel, hosted on a remote backend over RPC.\r\n * Due to the nature of RPC requests, the backend servicing this connection may change over time, and there may even be more than one backend\r\n * at servicing requests at the same time. For this reason, this type of connection may only be used with Checkpoint iModels that are\r\n * guaranteed to be the same on every backend. Obviously Checkpoint iModels only allow readonly access.\r\n * @public\r\n */\r\nexport class CheckpointConnection extends IModelConnection {\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; }\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed ? true : false; }\r\n protected _isClosed?: boolean;\r\n\r\n /** Type guard for instanceof [[CheckpointConnection]] */\r\n public override isCheckpointConnection(): this is CheckpointConnection { return true; }\r\n\r\n /**\r\n * Open a readonly IModelConnection to an iModel over RPC.\r\n */\r\n public static async openRemote(iTwinId: string, iModelId: string, version: IModelVersion = IModelVersion.latest()): Promise<CheckpointConnection> {\r\n const routingContext = IModelRoutingContext.current || IModelRoutingContext.default;\r\n const accessToken = await IModelApp.getAccessToken();\r\n\r\n if (undefined === IModelApp.hubAccess)\r\n throw new Error(\"Missing an implementation of FrontendHubAccess on IModelApp, it is required to open a remote iModel Connection. Please provide an implementation to the IModelApp.startup using IModelAppOptions.hubAccess.\");\r\n\r\n const changeset = { id: await IModelApp.hubAccess.getChangesetIdFromVersion({ accessToken, iModelId, version }) };\r\n\r\n const iModelRpcProps: IModelRpcOpenProps = { iTwinId, iModelId, changeset };\r\n const openResponse = await this.callOpen(iModelRpcProps, routingContext);\r\n\r\n const connection = new this(openResponse);\r\n RpcManager.setIModel(connection);\r\n connection.routingContext = routingContext;\r\n RpcRequest.notFoundHandlers.addListener(connection._reopenConnectionHandler);\r\n\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n private static async callOpen(iModelToken: IModelRpcOpenProps, routingContext: IModelRoutingContext): Promise<IModelConnectionProps> {\r\n // Try opening the iModel repeatedly accommodating any pending responses from the backend.\r\n // Waits for an increasing amount of time (but within a range) before checking on the pending request again.\r\n const connectionRetryIntervalRange = { min: 100, max: 5000 }; // in milliseconds\r\n let connectionRetryInterval = Math.min(connectionRetryIntervalRange.min, IModelConnection.connectionTimeout);\r\n\r\n const openForReadOperation = RpcOperation.lookup(IModelReadRpcInterface, \"getConnectionProps\");\r\n if (!openForReadOperation)\r\n throw new IModelError(BentleyStatus.ERROR, \"IModelReadRpcInterface.getConnectionProps() is not available\");\r\n openForReadOperation.policy.retryInterval = () => connectionRetryInterval;\r\n\r\n Logger.logTrace(loggerCategory, `IModelConnection.open`, iModelToken);\r\n const startTime = Date.now();\r\n\r\n const removeListener = RpcRequest.events.addListener((type: RpcRequestEvent, request: RpcRequest) => {\r\n if (type !== RpcRequestEvent.PendingUpdateReceived)\r\n return;\r\n if (!(openForReadOperation && request.operation === openForReadOperation))\r\n return;\r\n\r\n Logger.logTrace(loggerCategory, \"Received pending open notification in IModelConnection.open\", iModelToken);\r\n\r\n const connectionTimeElapsed = Date.now() - startTime;\r\n if (connectionTimeElapsed > IModelConnection.connectionTimeout) {\r\n Logger.logError(loggerCategory, `Timed out opening connection in IModelConnection.open (took longer than ${IModelConnection.connectionTimeout} milliseconds)`, iModelToken);\r\n throw new IModelError(BentleyStatus.ERROR, \"Opening a connection was timed out\"); // NEEDS_WORK: More specific error status\r\n }\r\n\r\n connectionRetryInterval = Math.min(connectionRetryIntervalRange.max, connectionRetryInterval * 2, IModelConnection.connectionTimeout - connectionTimeElapsed);\r\n if (request.retryInterval !== connectionRetryInterval) {\r\n request.retryInterval = connectionRetryInterval;\r\n Logger.logTrace(loggerCategory, `Adjusted open connection retry interval to ${request.retryInterval} milliseconds in IModelConnection.open`, iModelToken);\r\n }\r\n });\r\n\r\n const openPromise = IModelReadRpcInterface.getClientForRouting(routingContext.token).getConnectionProps(iModelToken);\r\n let openResponse: IModelConnectionProps;\r\n try {\r\n openResponse = await openPromise;\r\n } finally {\r\n Logger.logTrace(loggerCategory, \"Completed open request in IModelConnection.open\", iModelToken);\r\n removeListener();\r\n }\r\n\r\n return openResponse;\r\n }\r\n\r\n private _reopenConnectionHandler = async (request: RpcRequest<RpcNotFoundResponse>, response: any, resubmit: () => void, reject: (reason: any) => void) => {\r\n if (!response.hasOwnProperty(\"isIModelNotFoundResponse\"))\r\n return;\r\n\r\n const iModelRpcProps = request.parameters[0];\r\n if (this._fileKey !== iModelRpcProps.key)\r\n return; // The handler is called for a different connection than this\r\n\r\n Logger.logTrace(loggerCategory, \"Attempting to reopen connection\", () => iModelRpcProps);\r\n\r\n try {\r\n const openResponse = await CheckpointConnection.callOpen(iModelRpcProps, this.routingContext);\r\n // The new/reopened connection may have a new rpcKey and/or changeSetId, but the other IModelRpcTokenProps should be the same\r\n this._fileKey = openResponse.key;\r\n this.changeset = openResponse.changeset!;\r\n\r\n } catch (error) {\r\n reject(BentleyError.getErrorMessage(error));\r\n } finally {\r\n }\r\n\r\n Logger.logTrace(loggerCategory, \"Resubmitting original request after reopening connection\", iModelRpcProps);\r\n request.parameters[0] = this.getRpcProps(); // Modify the token of the original request before resubmitting it.\r\n resubmit();\r\n };\r\n\r\n /** Close this CheckpointConnection */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n this.beforeClose();\r\n RpcRequest.notFoundHandlers.removeListener(this._reopenConnectionHandler);\r\n this._isClosed = true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CheckpointConnection.js","sourceRoot":"","sources":["../../src/CheckpointConnection.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 IModelConnection\r\n */\r\n\r\nimport { BentleyError, BentleyStatus, GuidString, Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n IModelConnectionProps, IModelError, IModelReadRpcInterface, IModelRpcOpenProps, IModelVersion, RpcManager, RpcNotFoundResponse, RpcOperation,\r\n RpcRequest, RpcRequestEvent,\r\n} from \"@itwin/core-common\";\r\nimport { FrontendLoggerCategory } from \"./FrontendLoggerCategory\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { IModelRoutingContext } from \"./IModelRoutingContext\";\r\n\r\nconst loggerCategory = FrontendLoggerCategory.IModelConnection;\r\n\r\n/**\r\n * An IModelConnection to a checkpoint of an iModel, hosted on a remote backend over RPC.\r\n * Due to the nature of RPC requests, the backend servicing this connection may change over time, and there may even be more than one backend\r\n * at servicing requests at the same time. For this reason, this type of connection may only be used with Checkpoint iModels that are\r\n * guaranteed to be the same on every backend. Obviously Checkpoint iModels only allow readonly access.\r\n * @public\r\n */\r\nexport class CheckpointConnection extends IModelConnection {\r\n /** The Guid that identifies the iTwin that owns this iModel. */\r\n public override get iTwinId(): GuidString { return super.iTwinId!; }\r\n /** The Guid that identifies this iModel. */\r\n public override get iModelId(): GuidString { return super.iModelId!; }\r\n\r\n /** Returns `true` if [[close]] has already been called. */\r\n public get isClosed(): boolean { return this._isClosed ? true : false; }\r\n protected _isClosed?: boolean;\r\n\r\n /** Type guard for instanceof [[CheckpointConnection]] */\r\n public override isCheckpointConnection(): this is CheckpointConnection { return true; }\r\n\r\n /**\r\n * Open a readonly IModelConnection to an iModel over RPC.\r\n */\r\n public static async openRemote(iTwinId: string, iModelId: string, version: IModelVersion = IModelVersion.latest()): Promise<CheckpointConnection> {\r\n const routingContext = IModelRoutingContext.current || IModelRoutingContext.default;\r\n const accessToken = await IModelApp.getAccessToken();\r\n\r\n if (undefined === IModelApp.hubAccess)\r\n throw new Error(\"Missing an implementation of FrontendHubAccess on IModelApp, it is required to open a remote iModel Connection. Please provide an implementation to the IModelApp.startup using IModelAppOptions.hubAccess.\");\r\n\r\n const changeset = { id: await IModelApp.hubAccess.getChangesetIdFromVersion({ accessToken, iModelId, version }) };\r\n\r\n const iModelRpcProps: IModelRpcOpenProps = { iTwinId, iModelId, changeset };\r\n const openResponse = await this.callOpen(iModelRpcProps, routingContext);\r\n\r\n const connection = new this(openResponse);\r\n RpcManager.setIModel(connection);\r\n connection.routingContext = routingContext;\r\n RpcRequest.notFoundHandlers.addListener(connection._reopenConnectionHandler);\r\n\r\n IModelConnection.onOpen.raiseEvent(connection);\r\n return connection;\r\n }\r\n\r\n private static async callOpen(iModelToken: IModelRpcOpenProps, routingContext: IModelRoutingContext): Promise<IModelConnectionProps> {\r\n // Try opening the iModel repeatedly accommodating any pending responses from the backend.\r\n // Waits for an increasing amount of time (but within a range) before checking on the pending request again.\r\n const connectionRetryIntervalRange = { min: 100, max: 5000 }; // in milliseconds\r\n let connectionRetryInterval = Math.min(connectionRetryIntervalRange.min, IModelConnection.connectionTimeout);\r\n\r\n const openForReadOperation = RpcOperation.lookup(IModelReadRpcInterface, \"getConnectionProps\");\r\n if (!openForReadOperation)\r\n throw new IModelError(BentleyStatus.ERROR, \"IModelReadRpcInterface.getConnectionProps() is not available\");\r\n openForReadOperation.policy.retryInterval = () => connectionRetryInterval;\r\n\r\n Logger.logTrace(loggerCategory, `IModelConnection.open`, iModelToken);\r\n const startTime = Date.now();\r\n\r\n const removeListener = RpcRequest.events.addListener((type: RpcRequestEvent, request: RpcRequest) => {\r\n if (type !== RpcRequestEvent.PendingUpdateReceived)\r\n return;\r\n if (!(openForReadOperation && request.operation === openForReadOperation))\r\n return;\r\n\r\n Logger.logTrace(loggerCategory, \"Received pending open notification in IModelConnection.open\", iModelToken);\r\n\r\n const connectionTimeElapsed = Date.now() - startTime;\r\n if (connectionTimeElapsed > IModelConnection.connectionTimeout) {\r\n Logger.logError(loggerCategory, `Timed out opening connection in IModelConnection.open (took longer than ${IModelConnection.connectionTimeout} milliseconds)`, iModelToken);\r\n throw new IModelError(BentleyStatus.ERROR, \"Opening a connection was timed out\"); // NEEDS_WORK: More specific error status\r\n }\r\n\r\n connectionRetryInterval = Math.min(connectionRetryIntervalRange.max, connectionRetryInterval * 2, IModelConnection.connectionTimeout - connectionTimeElapsed);\r\n if (request.retryInterval !== connectionRetryInterval) {\r\n request.retryInterval = connectionRetryInterval;\r\n Logger.logTrace(loggerCategory, `Adjusted open connection retry interval to ${request.retryInterval} milliseconds in IModelConnection.open`, iModelToken);\r\n }\r\n });\r\n\r\n const openPromise = IModelReadRpcInterface.getClientForRouting(routingContext.token).getConnectionProps(iModelToken);\r\n let openResponse: IModelConnectionProps;\r\n try {\r\n openResponse = await openPromise;\r\n } finally {\r\n Logger.logTrace(loggerCategory, \"Completed open request in IModelConnection.open\", iModelToken);\r\n removeListener();\r\n }\r\n\r\n return openResponse;\r\n }\r\n\r\n private _reopenConnectionHandler = async (request: RpcRequest<RpcNotFoundResponse>, response: any, resubmit: () => void, reject: (reason: any) => void) => {\r\n if (!response.hasOwnProperty(\"isIModelNotFoundResponse\"))\r\n return;\r\n\r\n const iModelRpcProps = request.parameters[0];\r\n if (this._fileKey !== iModelRpcProps.key)\r\n return; // The handler is called for a different connection than this\r\n\r\n Logger.logTrace(loggerCategory, \"Attempting to reopen connection\", () => iModelRpcProps);\r\n\r\n try {\r\n const openResponse = await CheckpointConnection.callOpen(iModelRpcProps, this.routingContext);\r\n // The new/reopened connection may have a new rpcKey and/or changesetId, but the other IModelRpcTokenProps should be the same\r\n this._fileKey = openResponse.key;\r\n this.changeset = openResponse.changeset!;\r\n\r\n } catch (error) {\r\n reject(BentleyError.getErrorMessage(error));\r\n } finally {\r\n }\r\n\r\n Logger.logTrace(loggerCategory, \"Resubmitting original request after reopening connection\", iModelRpcProps);\r\n request.parameters[0] = this.getRpcProps(); // Modify the token of the original request before resubmitting it.\r\n resubmit();\r\n };\r\n\r\n /** Close this CheckpointConnection */\r\n public async close(): Promise<void> {\r\n if (this.isClosed)\r\n return;\r\n\r\n this.beforeClose();\r\n RpcRequest.notFoundHandlers.removeListener(this._reopenConnectionHandler);\r\n this._isClosed = true;\r\n }\r\n}\r\n"]}
@@ -7,7 +7,7 @@ import { RealityDataSource } from "./RealityDataSource";
7
7
  * @internal
8
8
  */
9
9
  export interface RealityDataConnection {
10
- /** Metatdata on the reality data source */
10
+ /** Metadata on the reality data source */
11
11
  readonly realityData: RealityData | undefined;
12
12
  /** The reality data type (e.g.: "RealityMesh3DTiles", OPC, Terrain3DTiles, Cesium3DTiles, ... )*/
13
13
  readonly realityDataType: string | undefined;
@@ -23,7 +23,7 @@ export interface RealityDataConnection {
23
23
  /** @internal */
24
24
  export declare namespace RealityDataConnection {
25
25
  /** Return an instance of a RealityDataConnection from a source key.
26
- * There will aways be only one reality data connection for a corresponding reality data source key.
26
+ * There will always be only one reality data connection for a corresponding reality data source key.
27
27
  * @internal
28
28
  */
29
29
  function fromSourceKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataConnection | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"RealityDataConnection.d.ts","sourceRoot":"","sources":["../../src/RealityDataConnection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9C,kGAAkG;IAClG,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7E;AAED,gBAAgB;AAChB,yBAAiB,qBAAqB,CAAC;IACrC;;;OAGG;IACH,SAAsB,aAAa,CAAC,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAElJ;CACF"}
1
+ {"version":3,"file":"RealityDataConnection.d.ts","sourceRoot":"","sources":["../../src/RealityDataConnection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9C,kGAAkG;IAClG,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7E;AAED,gBAAgB;AAChB,yBAAiB,qBAAqB,CAAC;IACrC;;;OAGG;IACH,SAAsB,aAAa,CAAC,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAElJ;CACF"}
@@ -11,7 +11,7 @@ const RealityDataSource_1 = require("./RealityDataSource");
11
11
  var RealityDataConnection;
12
12
  (function (RealityDataConnection) {
13
13
  /** Return an instance of a RealityDataConnection from a source key.
14
- * There will aways be only one reality data connection for a corresponding reality data source key.
14
+ * There will always be only one reality data connection for a corresponding reality data source key.
15
15
  * @internal
16
16
  */
17
17
  async function fromSourceKey(rdSourceKey, iTwinId) {
@@ -34,7 +34,7 @@ class RealityDataConnectionImpl {
34
34
  let rdConnection = RealityDataConnectionImpl._realityDataConnections.get(rdSourceKeyString);
35
35
  if (rdConnection)
36
36
  return rdConnection;
37
- // If not already in our list, create and add it to our list before returing it.
37
+ // If not already in our list, create and add it to our list before returning it.
38
38
  rdConnection = await RealityDataConnectionImpl.createFromSourceKey(rdSourceKey, iTwinId);
39
39
  if (rdConnection)
40
40
  RealityDataConnectionImpl._realityDataConnections.set(rdSourceKeyString, rdConnection);
@@ -1 +1 @@
1
- {"version":3,"file":"RealityDataConnection.js","sourceRoot":"","sources":["../../src/RealityDataConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { GuidString } from \"@itwin/core-bentley\";\r\nimport { RealityDataSourceKey, RealityDataSourceProps } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { RealityData } from \"./RealityDataAccessProps\";\r\nimport { RealityDataSource, realityDataSourceKeyToString } from \"./RealityDataSource\";\r\n\r\n/**\r\n * This interface provide methods used to access a reality data from ContextShare\r\n * @internal\r\n */\r\nexport interface RealityDataConnection {\r\n /** Metatdata on the reality data source */\r\n readonly realityData: RealityData | undefined;\r\n /** The reality data type (e.g.: \"RealityMesh3DTiles\", OPC, Terrain3DTiles, Cesium3DTiles, ... )*/\r\n readonly realityDataType: string | undefined;\r\n /** The source provides access to the reality data provider services.*/\r\n readonly source: RealityDataSource;\r\n /**\r\n * This method returns the URL to obtain the Reality Data properties.\r\n * @param iTwinId id of associated iTwin project\r\n * @returns string containing the URL to reality data.\r\n */\r\n getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined>;\r\n}\r\n\r\n/** @internal */\r\nexport namespace RealityDataConnection {\r\n /** Return an instance of a RealityDataConnection from a source key.\r\n * There will aways be only one reality data connection for a corresponding reality data source key.\r\n * @internal\r\n */\r\n export async function fromSourceKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataConnection | undefined> {\r\n return RealityDataConnectionImpl.fromSourceKey(rdSourceKey, iTwinId);\r\n }\r\n}\r\n\r\n/**\r\n * This class encapsulates access to a reality data from ContextShare\r\n * There is a one to one relationship between a reality data and the instances of present class.\r\n * @internal\r\n */\r\nclass RealityDataConnectionImpl implements RealityDataConnection {\r\n private static _realityDataConnections = new Map<string, RealityDataConnection>();\r\n private _rd: RealityData | undefined;\r\n private _rdSource: RealityDataSource;\r\n\r\n private constructor(props: RealityDataSourceProps) {\r\n this._rdSource = RealityDataSource.fromProps(props);\r\n }\r\n public static async fromSourceKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataConnection | undefined> {\r\n // search to see if it was already created\r\n const rdSourceKeyString = realityDataSourceKeyToString(rdSourceKey);\r\n let rdConnection = RealityDataConnectionImpl._realityDataConnections.get(rdSourceKeyString);\r\n if (rdConnection)\r\n return rdConnection;\r\n // If not already in our list, create and add it to our list before returing it.\r\n rdConnection = await RealityDataConnectionImpl.createFromSourceKey(rdSourceKey, iTwinId);\r\n if (rdConnection)\r\n RealityDataConnectionImpl._realityDataConnections.set(rdSourceKeyString,rdConnection);\r\n return rdConnection;\r\n }\r\n /**\r\n * Create an instance of this class from a source key and iTwin context/\r\n * @alpha\r\n */\r\n public static async createFromSourceKey(sk: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataConnection | undefined> {\r\n const props: RealityDataSourceProps = {sourceKey: sk};\r\n const rdConnection = new RealityDataConnectionImpl(props);\r\n let tilesetUrl: string | undefined;\r\n try {\r\n await rdConnection.queryRealityData(iTwinId);\r\n tilesetUrl = await rdConnection._rdSource.getServiceUrl(iTwinId);\r\n } catch (e) {\r\n }\r\n\r\n return (tilesetUrl !== undefined) ? rdConnection : undefined;\r\n }\r\n /**\r\n * Query Reality Data from provider\r\n */\r\n private async queryRealityData(iTwinId: GuidString | undefined) {\r\n if (this._rdSource.isContextShare && !this._rd) {\r\n const token = await IModelApp.getAccessToken();\r\n if (token && this._rdSource.realityDataId) {\r\n if (undefined === IModelApp.realityDataAccess)\r\n throw new Error(\"Missing an implementation of RealityDataAccess on IModelApp, it is required to access reality data. Please provide an implementation to the IModelApp.startup using IModelAppOptions.realityDataAccess.\");\r\n this._rd = await IModelApp.realityDataAccess.getRealityData(token, iTwinId, this._rdSource.realityDataId);\r\n }\r\n }\r\n }\r\n /**\r\n * Returns Reality Data if available\r\n */\r\n public get realityData(): RealityData | undefined {\r\n return this._rd;\r\n }\r\n /**\r\n * Returns Reality Data type if available\r\n */\r\n public get realityDataType(): string | undefined {\r\n return this._rd?.type;\r\n }\r\n /**\r\n * This method returns the URL to obtain the Reality Data details.\r\n * @param iTwinId id of associated iTwin project\r\n * @returns string containing the URL to reality data.\r\n */\r\n public async getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined> {\r\n return this._rdSource.getServiceUrl(iTwinId);\r\n }\r\n /**\r\n * Returns the source implementation associated to this reality data connection\r\n */\r\n public get source(): RealityDataSource {\r\n return this._rdSource;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RealityDataConnection.js","sourceRoot":"","sources":["../../src/RealityDataConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { GuidString } from \"@itwin/core-bentley\";\r\nimport { RealityDataSourceKey, RealityDataSourceProps } from \"@itwin/core-common\";\r\nimport { IModelApp } from \"./IModelApp\";\r\nimport { RealityData } from \"./RealityDataAccessProps\";\r\nimport { RealityDataSource, realityDataSourceKeyToString } from \"./RealityDataSource\";\r\n\r\n/**\r\n * This interface provide methods used to access a reality data from ContextShare\r\n * @internal\r\n */\r\nexport interface RealityDataConnection {\r\n /** Metadata on the reality data source */\r\n readonly realityData: RealityData | undefined;\r\n /** The reality data type (e.g.: \"RealityMesh3DTiles\", OPC, Terrain3DTiles, Cesium3DTiles, ... )*/\r\n readonly realityDataType: string | undefined;\r\n /** The source provides access to the reality data provider services.*/\r\n readonly source: RealityDataSource;\r\n /**\r\n * This method returns the URL to obtain the Reality Data properties.\r\n * @param iTwinId id of associated iTwin project\r\n * @returns string containing the URL to reality data.\r\n */\r\n getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined>;\r\n}\r\n\r\n/** @internal */\r\nexport namespace RealityDataConnection {\r\n /** Return an instance of a RealityDataConnection from a source key.\r\n * There will always be only one reality data connection for a corresponding reality data source key.\r\n * @internal\r\n */\r\n export async function fromSourceKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataConnection | undefined> {\r\n return RealityDataConnectionImpl.fromSourceKey(rdSourceKey, iTwinId);\r\n }\r\n}\r\n\r\n/**\r\n * This class encapsulates access to a reality data from ContextShare\r\n * There is a one to one relationship between a reality data and the instances of present class.\r\n * @internal\r\n */\r\nclass RealityDataConnectionImpl implements RealityDataConnection {\r\n private static _realityDataConnections = new Map<string, RealityDataConnection>();\r\n private _rd: RealityData | undefined;\r\n private _rdSource: RealityDataSource;\r\n\r\n private constructor(props: RealityDataSourceProps) {\r\n this._rdSource = RealityDataSource.fromProps(props);\r\n }\r\n public static async fromSourceKey(rdSourceKey: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataConnection | undefined> {\r\n // search to see if it was already created\r\n const rdSourceKeyString = realityDataSourceKeyToString(rdSourceKey);\r\n let rdConnection = RealityDataConnectionImpl._realityDataConnections.get(rdSourceKeyString);\r\n if (rdConnection)\r\n return rdConnection;\r\n // If not already in our list, create and add it to our list before returning it.\r\n rdConnection = await RealityDataConnectionImpl.createFromSourceKey(rdSourceKey, iTwinId);\r\n if (rdConnection)\r\n RealityDataConnectionImpl._realityDataConnections.set(rdSourceKeyString,rdConnection);\r\n return rdConnection;\r\n }\r\n /**\r\n * Create an instance of this class from a source key and iTwin context/\r\n * @alpha\r\n */\r\n public static async createFromSourceKey(sk: RealityDataSourceKey, iTwinId: GuidString | undefined): Promise<RealityDataConnection | undefined> {\r\n const props: RealityDataSourceProps = {sourceKey: sk};\r\n const rdConnection = new RealityDataConnectionImpl(props);\r\n let tilesetUrl: string | undefined;\r\n try {\r\n await rdConnection.queryRealityData(iTwinId);\r\n tilesetUrl = await rdConnection._rdSource.getServiceUrl(iTwinId);\r\n } catch (e) {\r\n }\r\n\r\n return (tilesetUrl !== undefined) ? rdConnection : undefined;\r\n }\r\n /**\r\n * Query Reality Data from provider\r\n */\r\n private async queryRealityData(iTwinId: GuidString | undefined) {\r\n if (this._rdSource.isContextShare && !this._rd) {\r\n const token = await IModelApp.getAccessToken();\r\n if (token && this._rdSource.realityDataId) {\r\n if (undefined === IModelApp.realityDataAccess)\r\n throw new Error(\"Missing an implementation of RealityDataAccess on IModelApp, it is required to access reality data. Please provide an implementation to the IModelApp.startup using IModelAppOptions.realityDataAccess.\");\r\n this._rd = await IModelApp.realityDataAccess.getRealityData(token, iTwinId, this._rdSource.realityDataId);\r\n }\r\n }\r\n }\r\n /**\r\n * Returns Reality Data if available\r\n */\r\n public get realityData(): RealityData | undefined {\r\n return this._rd;\r\n }\r\n /**\r\n * Returns Reality Data type if available\r\n */\r\n public get realityDataType(): string | undefined {\r\n return this._rd?.type;\r\n }\r\n /**\r\n * This method returns the URL to obtain the Reality Data details.\r\n * @param iTwinId id of associated iTwin project\r\n * @returns string containing the URL to reality data.\r\n */\r\n public async getServiceUrl(iTwinId: GuidString | undefined): Promise<string | undefined> {\r\n return this._rdSource.getServiceUrl(iTwinId);\r\n }\r\n /**\r\n * Returns the source implementation associated to this reality data connection\r\n */\r\n public get source(): RealityDataSource {\r\n return this._rdSource;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator3d.d.ts","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"AAKA;;GAEG;AAOH,OAAO,EAAa,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;EAEE;AACF,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAMZ,OAAO,CAAC,OAAO;IAJ3B;;;OAGG;gBACiB,OAAO,EAAE,gBAAgB;IAE7C;;;;;OAKG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAkB3G;;;;OAIG;YACW,qBAAqB;IA2GnC;;;OAGG;YACW,cAAc;IAwB5B;;OAEG;YACW,iBAAiB;IAwB/B;;OAEG;YACW,iBAAiB;IAQ/B;;OAEG;YACW,aAAa;IAc3B;;OAEG;IACH,OAAO,CAAC,aAAa,CAMnB;CACH"}
1
+ {"version":3,"file":"ViewCreator3d.d.ts","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"AAKA;;GAEG;AAOH,OAAO,EAAa,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;EAEE;AACF,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAMZ,OAAO,CAAC,OAAO;IAJ3B;;;OAGG;gBACiB,OAAO,EAAE,gBAAgB;IAE7C;;;;;OAKG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAkB3G;;;;OAIG;YACW,qBAAqB;IA2GnC;;;OAGG;YACW,cAAc;IAwB5B;;OAEG;YACW,iBAAiB;IAwB/B;;OAEG;YACW,iBAAiB;IAQ/B;;OAEG;YACW,aAAa;IAgB3B;;OAEG;IACH,OAAO,CAAC,aAAa,CAMnB;CACH"}
@@ -216,15 +216,17 @@ class ViewCreator3d {
216
216
  * Get all PhysicalModel ids in the connection
217
217
  */
218
218
  async _getAllModels() {
219
- let query = "SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false AND isNotSpatiallyLocated = false";
219
+ // Note: IsNotSpatiallyLocated was introduced in a later version of the BisCore ECSchema.
220
+ // If the iModel has an earlier version, the statement will throw because the property does not exist.
221
+ // If the iModel was created from an earlier version and later upgraded to a newer version, the property may be NULL for models created prior to the upgrade.
222
+ const select = "SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false";
223
+ const spatialCriterion = "AND (IsNotSpatiallyLocated IS NULL OR IsNotSpatiallyLocated = false)";
220
224
  let models = [];
221
225
  try {
222
- models = await this._executeQuery(query);
226
+ models = await this._executeQuery(`${select} ${spatialCriterion}`);
223
227
  }
224
228
  catch {
225
- // possible that the isNotSpatiallyLocated property is not available in the iModel's schema
226
- query = "SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false";
227
- models = await this._executeQuery(query);
229
+ models = await this._executeQuery(select);
228
230
  }
229
231
  return models;
230
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ViewCreator3d.js","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 3D default view for an iModel.\r\nEither takes in a list of modelIds, or displays all 3D models by default.\r\n*/\r\n\r\nimport { Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n Camera, CategorySelectorProps, Code, DisplayStyle3dProps, IModel, IModelReadRpcInterface, ModelSelectorProps, QueryRowFormat, RenderMode,\r\n ViewDefinition3dProps, ViewQueryParams, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { Environment } from \"./DisplayStyleState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { SpatialViewState } from \"./SpatialViewState\";\r\nimport { StandardViewId } from \"./StandardView\";\r\nimport { ViewState } from \"./ViewState\";\r\n\r\n/** Options for creating a [[ViewState3d]] via [[ViewCreator3d]].\r\n * @public\r\n*/\r\nexport interface ViewCreator3dOptions {\r\n /** Turn [[Camera]] on when generating the view. */\r\n cameraOn?: boolean;\r\n /** Turn [[SkyBox]] on when generating the view. */\r\n skyboxOn?: boolean;\r\n /** [[StandardViewId]] for the view state. */\r\n standardViewId?: StandardViewId;\r\n /** Merge in props from the seed view (default spatial view) of the iModel. */\r\n useSeedView?: boolean;\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model(s) in the initial state of the view. */\r\n vpAspect?: number;\r\n}\r\n\r\n/**\r\n * API for creating a 3D default [[ViewState3d]] for an iModel. @see [[ViewCreator2d]] to create a view for a 2d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator3d(imodel);\r\n * const defaultView = await viewCreator.createDefaultView({skyboxOn: true});\r\n * ```\r\n * @public\r\n */\r\nexport class ViewCreator3d {\r\n\r\n /**\r\n * Constructs a ViewCreator3d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates a default [[ViewState3d]] based on the model ids passed in. If no model ids are passed in, all 3D models in the iModel are used.\r\n * @param [options] Options for creating the view.\r\n * @param [modelIds] Ids of models to display in the view.\r\n * @throws [IModelError]($common) If no 3d models are found in the iModel.\r\n */\r\n public async createDefaultView(options?: ViewCreator3dOptions, modelIds?: Id64String[]): Promise<ViewState> {\r\n const models = modelIds ?? await this._getAllModels();\r\n const props = await this._createViewStateProps(models, options);\r\n const viewState = SpatialViewState.createFromProps(props, this._imodel);\r\n try {\r\n await viewState.load();\r\n } catch {\r\n }\r\n\r\n if (options?.standardViewId)\r\n viewState.setStandardRotation(options.standardViewId);\r\n\r\n const range = viewState.computeFitRange();\r\n viewState.lookAtVolume(range, options?.vpAspect);\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Generates a view state props object for creating a view. Merges display styles with a seed view if the options.useSeedView is true\r\n * @param models Models to put in view props\r\n * @param options view creation options like camera On and skybox On\r\n */\r\n private async _createViewStateProps(models: Id64String[], options?: ViewCreator3dOptions): Promise<ViewStateProps> {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories: Id64Array = await this._getAllCategories();\r\n\r\n // model extents\r\n const modelExtents = new Range3d();\r\n if (models.length > 0) {\r\n const modelProps = await this._imodel.models.queryModelRanges(models);\r\n for (const props of modelProps)\r\n modelExtents.union(Range3d.fromJSON(props), modelExtents);\r\n }\r\n\r\n if (modelExtents.isNull)\r\n modelExtents.setFrom(this._imodel.projectExtents);\r\n\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n const originZ = modelExtents.low.z;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n const deltaZ = modelExtents.zLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const cameraData = new Camera();\r\n const cameraOn = options?.cameraOn ? options.cameraOn : false;\r\n const viewDefinitionProps: ViewDefinition3dProps = {\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n origin: { x: originX, y: originY, z: originZ },\r\n extents: { x: deltaX, y: deltaY, z: deltaZ },\r\n classFullName: \"BisCore:SpatialViewDefinition\",\r\n cameraOn,\r\n camera: {\r\n lens: cameraData.lens.toJSON(),\r\n focusDist: cameraData.focusDist,\r\n eye: cameraData.eye.toJSON(),\r\n },\r\n };\r\n\r\n const displayStyleProps: DisplayStyle3dProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle\",\r\n jsonProperties: {\r\n styles: {\r\n viewflags: {\r\n renderMode: RenderMode.SmoothShade,\r\n noSourceLights: false,\r\n noCameraLights: false,\r\n noSolarLight: false,\r\n noConstruct: true,\r\n noTransp: false,\r\n visEdges: false,\r\n backgroundMap: this._imodel.isGeoLocated,\r\n },\r\n environment:\r\n options !== undefined &&\r\n options.skyboxOn !== undefined &&\r\n options.skyboxOn\r\n ? new Environment({ sky: { display: true } }).toJSON()\r\n : undefined,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(viewStateProps) : viewStateProps;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no default 3D views in the iModel\r\n * @param viewStateProps Input view props to be merged\r\n */\r\n private async _mergeSeedView(viewStateProps: ViewStateProps): Promise<ViewStateProps> {\r\n const viewId = await this._getDefaultViewId();\r\n // Handle iModels without any default view id\r\n if (viewId === undefined)\r\n return viewStateProps;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewId) as SpatialViewState);\r\n const seedViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n modelSelectorProps: seedViewState.modelSelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...viewStateProps.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...viewStateProps, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get ID of default view.\r\n */\r\n private async _getDefaultViewId(): Promise<Id64String | undefined> {\r\n const viewId = await this._imodel.views.queryDefaultViewId();\r\n const params: ViewQueryParams = {};\r\n params.from = SpatialViewState.classFullName;\r\n params.where = `ECInstanceId=${viewId}`;\r\n\r\n // Check validity of default view\r\n const viewProps = await IModelReadRpcInterface.getClient().queryElementProps(this._imodel.getRpcProps(), params);\r\n if (viewProps.length === 0) {\r\n // Return the first view we can find\r\n const viewList = await this._imodel.views.getViewList({ wantPrivate: false });\r\n if (viewList.length === 0)\r\n return undefined;\r\n\r\n const spatialViewList = viewList.filter((value: IModelConnection.ViewSpec) => value.class.indexOf(\"Spatial\") !== -1);\r\n if (spatialViewList.length === 0)\r\n return undefined;\r\n\r\n return spatialViewList[0].id;\r\n }\r\n\r\n return viewId;\r\n }\r\n\r\n /**\r\n * Get all categories containing elements\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n // Only use categories with elements in them\r\n const query = `SELECT DISTINCT Category.Id AS id FROM BisCore.GeometricElement3d WHERE Category.Id IN (SELECT ECInstanceId FROM BisCore.SpatialCategory)`;\r\n const categories: Id64Array = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all PhysicalModel ids in the connection\r\n */\r\n private async _getAllModels(): Promise<Id64Array> {\r\n let query = \"SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false AND isNotSpatiallyLocated = false\";\r\n let models = [];\r\n try {\r\n models = await this._executeQuery(query);\r\n } catch {\r\n // possible that the isNotSpatiallyLocated property is not available in the iModel's schema\r\n query = \"SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false\";\r\n models = await this._executeQuery(query);\r\n }\r\n\r\n return models;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, QueryRowFormat.UseJsPropertyNames))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ViewCreator3d.js","sourceRoot":"","sources":["../../src/ViewCreator3d.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Views\r\n */\r\n\r\n/*\r\nAPI for creating a 3D default view for an iModel.\r\nEither takes in a list of modelIds, or displays all 3D models by default.\r\n*/\r\n\r\nimport { Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport {\r\n Camera, CategorySelectorProps, Code, DisplayStyle3dProps, IModel, IModelReadRpcInterface, ModelSelectorProps, QueryRowFormat, RenderMode,\r\n ViewDefinition3dProps, ViewQueryParams, ViewStateProps,\r\n} from \"@itwin/core-common\";\r\nimport { Range3d } from \"@itwin/core-geometry\";\r\nimport { Environment } from \"./DisplayStyleState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { SpatialViewState } from \"./SpatialViewState\";\r\nimport { StandardViewId } from \"./StandardView\";\r\nimport { ViewState } from \"./ViewState\";\r\n\r\n/** Options for creating a [[ViewState3d]] via [[ViewCreator3d]].\r\n * @public\r\n*/\r\nexport interface ViewCreator3dOptions {\r\n /** Turn [[Camera]] on when generating the view. */\r\n cameraOn?: boolean;\r\n /** Turn [[SkyBox]] on when generating the view. */\r\n skyboxOn?: boolean;\r\n /** [[StandardViewId]] for the view state. */\r\n standardViewId?: StandardViewId;\r\n /** Merge in props from the seed view (default spatial view) of the iModel. */\r\n useSeedView?: boolean;\r\n /** Aspect ratio of [[Viewport]]. Required to fit contents of the model(s) in the initial state of the view. */\r\n vpAspect?: number;\r\n}\r\n\r\n/**\r\n * API for creating a 3D default [[ViewState3d]] for an iModel. @see [[ViewCreator2d]] to create a view for a 2d model.\r\n * Example usage:\r\n * ```ts\r\n * const viewCreator = new ViewCreator3d(imodel);\r\n * const defaultView = await viewCreator.createDefaultView({skyboxOn: true});\r\n * ```\r\n * @public\r\n */\r\nexport class ViewCreator3d {\r\n\r\n /**\r\n * Constructs a ViewCreator3d using an [[IModelConnection]].\r\n * @param _imodel [[IModelConnection]] to query for categories and/or models.\r\n */\r\n constructor(private _imodel: IModelConnection) { }\r\n\r\n /**\r\n * Creates a default [[ViewState3d]] based on the model ids passed in. If no model ids are passed in, all 3D models in the iModel are used.\r\n * @param [options] Options for creating the view.\r\n * @param [modelIds] Ids of models to display in the view.\r\n * @throws [IModelError]($common) If no 3d models are found in the iModel.\r\n */\r\n public async createDefaultView(options?: ViewCreator3dOptions, modelIds?: Id64String[]): Promise<ViewState> {\r\n const models = modelIds ?? await this._getAllModels();\r\n const props = await this._createViewStateProps(models, options);\r\n const viewState = SpatialViewState.createFromProps(props, this._imodel);\r\n try {\r\n await viewState.load();\r\n } catch {\r\n }\r\n\r\n if (options?.standardViewId)\r\n viewState.setStandardRotation(options.standardViewId);\r\n\r\n const range = viewState.computeFitRange();\r\n viewState.lookAtVolume(range, options?.vpAspect);\r\n\r\n return viewState;\r\n }\r\n\r\n /**\r\n * Generates a view state props object for creating a view. Merges display styles with a seed view if the options.useSeedView is true\r\n * @param models Models to put in view props\r\n * @param options view creation options like camera On and skybox On\r\n */\r\n private async _createViewStateProps(models: Id64String[], options?: ViewCreator3dOptions): Promise<ViewStateProps> {\r\n // Use dictionary model in all props\r\n const dictionaryId = IModel.dictionaryId;\r\n const categories: Id64Array = await this._getAllCategories();\r\n\r\n // model extents\r\n const modelExtents = new Range3d();\r\n if (models.length > 0) {\r\n const modelProps = await this._imodel.models.queryModelRanges(models);\r\n for (const props of modelProps)\r\n modelExtents.union(Range3d.fromJSON(props), modelExtents);\r\n }\r\n\r\n if (modelExtents.isNull)\r\n modelExtents.setFrom(this._imodel.projectExtents);\r\n\r\n let originX = modelExtents.low.x;\r\n let originY = modelExtents.low.y;\r\n const originZ = modelExtents.low.z;\r\n let deltaX = modelExtents.xLength();\r\n let deltaY = modelExtents.yLength();\r\n const deltaZ = modelExtents.zLength();\r\n\r\n // if vp aspect given, update model extents to fit view\r\n if (options?.vpAspect) {\r\n const modelAspect = deltaY / deltaX;\r\n\r\n if (modelAspect > options.vpAspect) {\r\n const xFix = deltaY / options.vpAspect;\r\n originX = originX - xFix / 2;\r\n deltaX = deltaX + xFix;\r\n } else if (modelAspect < options.vpAspect) {\r\n const yFix = deltaX * options.vpAspect;\r\n originY = originY - yFix / 2;\r\n deltaY = deltaY + yFix;\r\n }\r\n }\r\n\r\n const categorySelectorProps: CategorySelectorProps = {\r\n categories,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:CategorySelector\",\r\n };\r\n\r\n const modelSelectorProps: ModelSelectorProps = {\r\n models,\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:ModelSelector\",\r\n };\r\n\r\n const cameraData = new Camera();\r\n const cameraOn = options?.cameraOn ? options.cameraOn : false;\r\n const viewDefinitionProps: ViewDefinition3dProps = {\r\n categorySelectorId: \"\",\r\n displayStyleId: \"\",\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n origin: { x: originX, y: originY, z: originZ },\r\n extents: { x: deltaX, y: deltaY, z: deltaZ },\r\n classFullName: \"BisCore:SpatialViewDefinition\",\r\n cameraOn,\r\n camera: {\r\n lens: cameraData.lens.toJSON(),\r\n focusDist: cameraData.focusDist,\r\n eye: cameraData.eye.toJSON(),\r\n },\r\n };\r\n\r\n const displayStyleProps: DisplayStyle3dProps = {\r\n code: Code.createEmpty(),\r\n model: dictionaryId,\r\n classFullName: \"BisCore:DisplayStyle\",\r\n jsonProperties: {\r\n styles: {\r\n viewflags: {\r\n renderMode: RenderMode.SmoothShade,\r\n noSourceLights: false,\r\n noCameraLights: false,\r\n noSolarLight: false,\r\n noConstruct: true,\r\n noTransp: false,\r\n visEdges: false,\r\n backgroundMap: this._imodel.isGeoLocated,\r\n },\r\n environment:\r\n options !== undefined &&\r\n options.skyboxOn !== undefined &&\r\n options.skyboxOn\r\n ? new Environment({ sky: { display: true } }).toJSON()\r\n : undefined,\r\n },\r\n },\r\n };\r\n\r\n const viewStateProps: ViewStateProps = {\r\n displayStyleProps,\r\n categorySelectorProps,\r\n modelSelectorProps,\r\n viewDefinitionProps,\r\n };\r\n\r\n // merge seed view props if needed\r\n return options?.useSeedView ? this._mergeSeedView(viewStateProps) : viewStateProps;\r\n }\r\n\r\n /**\r\n * Merges a seed view in the iModel with the passed view state props. It will be a no-op if there are no default 3D views in the iModel\r\n * @param viewStateProps Input view props to be merged\r\n */\r\n private async _mergeSeedView(viewStateProps: ViewStateProps): Promise<ViewStateProps> {\r\n const viewId = await this._getDefaultViewId();\r\n // Handle iModels without any default view id\r\n if (viewId === undefined)\r\n return viewStateProps;\r\n\r\n const seedViewState = (await this._imodel.views.load(viewId) as SpatialViewState);\r\n const seedViewStateProps = {\r\n categorySelectorProps: seedViewState.categorySelector.toJSON(),\r\n modelSelectorProps: seedViewState.modelSelector.toJSON(),\r\n viewDefinitionProps: seedViewState.toJSON(),\r\n displayStyleProps: seedViewState.displayStyle.toJSON(),\r\n };\r\n const mergedDisplayProps = seedViewStateProps.displayStyleProps;\r\n if (mergedDisplayProps.jsonProperties !== undefined) {\r\n mergedDisplayProps.jsonProperties.styles = {\r\n ...mergedDisplayProps.jsonProperties.styles,\r\n ...viewStateProps.displayStyleProps.jsonProperties!.styles,\r\n };\r\n }\r\n\r\n return { ...seedViewStateProps, ...viewStateProps, displayStyleProps: mergedDisplayProps };\r\n }\r\n\r\n /**\r\n * Get ID of default view.\r\n */\r\n private async _getDefaultViewId(): Promise<Id64String | undefined> {\r\n const viewId = await this._imodel.views.queryDefaultViewId();\r\n const params: ViewQueryParams = {};\r\n params.from = SpatialViewState.classFullName;\r\n params.where = `ECInstanceId=${viewId}`;\r\n\r\n // Check validity of default view\r\n const viewProps = await IModelReadRpcInterface.getClient().queryElementProps(this._imodel.getRpcProps(), params);\r\n if (viewProps.length === 0) {\r\n // Return the first view we can find\r\n const viewList = await this._imodel.views.getViewList({ wantPrivate: false });\r\n if (viewList.length === 0)\r\n return undefined;\r\n\r\n const spatialViewList = viewList.filter((value: IModelConnection.ViewSpec) => value.class.indexOf(\"Spatial\") !== -1);\r\n if (spatialViewList.length === 0)\r\n return undefined;\r\n\r\n return spatialViewList[0].id;\r\n }\r\n\r\n return viewId;\r\n }\r\n\r\n /**\r\n * Get all categories containing elements\r\n */\r\n private async _getAllCategories(): Promise<Id64Array> {\r\n // Only use categories with elements in them\r\n const query = `SELECT DISTINCT Category.Id AS id FROM BisCore.GeometricElement3d WHERE Category.Id IN (SELECT ECInstanceId FROM BisCore.SpatialCategory)`;\r\n const categories: Id64Array = await this._executeQuery(query);\r\n\r\n return categories;\r\n }\r\n\r\n /**\r\n * Get all PhysicalModel ids in the connection\r\n */\r\n private async _getAllModels(): Promise<Id64Array> {\r\n // Note: IsNotSpatiallyLocated was introduced in a later version of the BisCore ECSchema.\r\n // If the iModel has an earlier version, the statement will throw because the property does not exist.\r\n // If the iModel was created from an earlier version and later upgraded to a newer version, the property may be NULL for models created prior to the upgrade.\r\n const select = \"SELECT ECInstanceId FROM Bis.GeometricModel3D WHERE IsPrivate = false AND IsTemplate = false\";\r\n const spatialCriterion = \"AND (IsNotSpatiallyLocated IS NULL OR IsNotSpatiallyLocated = false)\";\r\n let models = [];\r\n try {\r\n models = await this._executeQuery(`${select} ${spatialCriterion}`);\r\n } catch {\r\n models = await this._executeQuery(select);\r\n }\r\n\r\n return models;\r\n }\r\n\r\n /**\r\n * Helper function to execute ECSql queries.\r\n */\r\n private _executeQuery = async (query: string) => {\r\n const rows = [];\r\n for await (const row of this._imodel.query(query, undefined, QueryRowFormat.UseJsPropertyNames))\r\n rows.push(row.id);\r\n\r\n return rows;\r\n };\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/Viewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/Viewport.ts"],"names":[],"mappings":"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"}
@@ -1810,7 +1810,6 @@ class Viewport {
1810
1810
  }
1811
1811
  if (!this._timePointValid) {
1812
1812
  isRedrawNeeded = true;
1813
- this._timePointValid = true;
1814
1813
  const scheduleScript = view.displayStyle.scheduleState;
1815
1814
  if (scheduleScript) {
1816
1815
  target.animationBranches = scheduleScript.getAnimationBranches((_a = this.timePoint) !== null && _a !== void 0 ? _a : scheduleScript.duration.low);
@@ -1819,6 +1818,7 @@ class Viewport {
1819
1818
  if (scheduleScript.script.containsTransform && !this._freezeScene)
1820
1819
  this.invalidateScene();
1821
1820
  }
1821
+ this._timePointValid = true;
1822
1822
  }
1823
1823
  if (overridesNeeded) {
1824
1824
  const ovr = new FeatureSymbology_1.FeatureSymbology.Overrides(this);