@itwin/core-frontend 5.9.0-dev.3 → 5.9.0-dev.5

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 (69) hide show
  1. package/lib/cjs/BriefcaseConnection.d.ts +4 -1
  2. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  3. package/lib/cjs/BriefcaseConnection.js +6 -3
  4. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  5. package/lib/cjs/ContextRealityModelState.d.ts +2 -0
  6. package/lib/cjs/ContextRealityModelState.d.ts.map +1 -1
  7. package/lib/cjs/ContextRealityModelState.js +4 -0
  8. package/lib/cjs/ContextRealityModelState.js.map +1 -1
  9. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  10. package/lib/cjs/SheetViewState.js +4 -3
  11. package/lib/cjs/SheetViewState.js.map +1 -1
  12. package/lib/cjs/Viewport.d.ts.map +1 -1
  13. package/lib/cjs/Viewport.js +14 -1
  14. package/lib/cjs/Viewport.js.map +1 -1
  15. package/lib/cjs/internal/SheetViewAttachments.d.ts +1 -1
  16. package/lib/cjs/internal/SheetViewAttachments.d.ts.map +1 -1
  17. package/lib/cjs/internal/SheetViewAttachments.js +2 -0
  18. package/lib/cjs/internal/SheetViewAttachments.js.map +1 -1
  19. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts +1 -0
  20. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  21. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js +19 -15
  22. package/lib/cjs/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  23. package/lib/cjs/internal/tile/PrimaryTileTree.d.ts +1 -0
  24. package/lib/cjs/internal/tile/PrimaryTileTree.d.ts.map +1 -1
  25. package/lib/cjs/internal/tile/PrimaryTileTree.js +32 -2
  26. package/lib/cjs/internal/tile/PrimaryTileTree.js.map +1 -1
  27. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts +1 -0
  28. package/lib/cjs/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  29. package/lib/cjs/internal/tile/RealityModelTileTree.js +3 -0
  30. package/lib/cjs/internal/tile/RealityModelTileTree.js.map +1 -1
  31. package/lib/cjs/tools/PrimitiveTool.d.ts +4 -1
  32. package/lib/cjs/tools/PrimitiveTool.d.ts.map +1 -1
  33. package/lib/cjs/tools/PrimitiveTool.js +5 -2
  34. package/lib/cjs/tools/PrimitiveTool.js.map +1 -1
  35. package/lib/esm/BriefcaseConnection.d.ts +4 -1
  36. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  37. package/lib/esm/BriefcaseConnection.js +6 -3
  38. package/lib/esm/BriefcaseConnection.js.map +1 -1
  39. package/lib/esm/ContextRealityModelState.d.ts +2 -0
  40. package/lib/esm/ContextRealityModelState.d.ts.map +1 -1
  41. package/lib/esm/ContextRealityModelState.js +4 -0
  42. package/lib/esm/ContextRealityModelState.js.map +1 -1
  43. package/lib/esm/SheetViewState.d.ts.map +1 -1
  44. package/lib/esm/SheetViewState.js +4 -3
  45. package/lib/esm/SheetViewState.js.map +1 -1
  46. package/lib/esm/Viewport.d.ts.map +1 -1
  47. package/lib/esm/Viewport.js +14 -1
  48. package/lib/esm/Viewport.js.map +1 -1
  49. package/lib/esm/internal/SheetViewAttachments.d.ts +1 -1
  50. package/lib/esm/internal/SheetViewAttachments.d.ts.map +1 -1
  51. package/lib/esm/internal/SheetViewAttachments.js +2 -0
  52. package/lib/esm/internal/SheetViewAttachments.js.map +1 -1
  53. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts +1 -0
  54. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.d.ts.map +1 -1
  55. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js +19 -15
  56. package/lib/esm/internal/tile/LayerTileTreeReferenceHandler.js.map +1 -1
  57. package/lib/esm/internal/tile/PrimaryTileTree.d.ts +1 -0
  58. package/lib/esm/internal/tile/PrimaryTileTree.d.ts.map +1 -1
  59. package/lib/esm/internal/tile/PrimaryTileTree.js +33 -3
  60. package/lib/esm/internal/tile/PrimaryTileTree.js.map +1 -1
  61. package/lib/esm/internal/tile/RealityModelTileTree.d.ts +1 -0
  62. package/lib/esm/internal/tile/RealityModelTileTree.d.ts.map +1 -1
  63. package/lib/esm/internal/tile/RealityModelTileTree.js +3 -0
  64. package/lib/esm/internal/tile/RealityModelTileTree.js.map +1 -1
  65. package/lib/esm/tools/PrimitiveTool.d.ts +4 -1
  66. package/lib/esm/tools/PrimitiveTool.d.ts.map +1 -1
  67. package/lib/esm/tools/PrimitiveTool.js +5 -2
  68. package/lib/esm/tools/PrimitiveTool.js.map +1 -1
  69. package/package.json +20 -20
@@ -144,9 +144,12 @@ export declare class BriefcaseConnection extends IModelConnection {
144
144
  hasPendingTxns(): Promise<boolean>;
145
145
  /** Commit pending changes to this briefcase.
146
146
  * @param description Optional description of the changes.
147
+ * @deprecated Use methods on EditCommand instead.
147
148
  */
148
149
  saveChanges(description?: string): Promise<void>;
149
- /** Abandon pending changes to this briefcase. */
150
+ /** Abandon pending changes to this briefcase.
151
+ * @deprecated Use methods on EditCommand instead.
152
+ */
150
153
  abandonChanges(): Promise<void>;
151
154
  /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase
152
155
  * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseConnection.d.ts","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BriefcaseConnection.d.ts","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"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"}
@@ -248,13 +248,16 @@ class BriefcaseConnection extends IModelConnection_1.IModelConnection {
248
248
  }
249
249
  /** Commit pending changes to this briefcase.
250
250
  * @param description Optional description of the changes.
251
+ * @deprecated Use methods on EditCommand instead.
251
252
  */
252
253
  async saveChanges(description) {
253
- await IpcApp_1.IpcApp.appFunctionIpc.saveChanges(this.key, description);
254
+ await IpcApp_1.IpcApp.appFunctionIpc.saveChanges(this.key, description); // eslint-disable-line @typescript-eslint/no-deprecated
254
255
  }
255
- /** Abandon pending changes to this briefcase. */
256
+ /** Abandon pending changes to this briefcase.
257
+ * @deprecated Use methods on EditCommand instead.
258
+ */
256
259
  async abandonChanges() {
257
- await IpcApp_1.IpcApp.appFunctionIpc.abandonChanges(this.key);
260
+ await IpcApp_1.IpcApp.appFunctionIpc.abandonChanges(this.key); // eslint-disable-line @typescript-eslint/no-deprecated
258
261
  }
259
262
  /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase
260
263
  * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseConnection.js","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelConnection\n */\n\nimport { assert, BeEvent, CompressedId64Set, Guid, GuidString, Id64Set, Id64String, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\nimport {\n BriefcaseConnectionProps, ChangesetIndex, ChangesetIndexAndId, getPullChangesIpcChannel, IModelError,\n PullChangesOptions as IpcAppPullChangesOptions, LockState, OpenBriefcaseProps, StandaloneOpenOptions,\n} from \"@itwin/core-common\";\nimport { BriefcaseTxns } from \"./BriefcaseTxns\";\nimport { GraphicalEditingScope } from \"./GraphicalEditingScope\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { IpcApp } from \"./IpcApp\";\nimport { disposeTileTreesForGeometricModels } from \"./tile/internal\";\nimport { Viewport } from \"./Viewport\";\n\n/**\n * Download progress information.\n * @public\n */\nexport interface DownloadProgressInfo {\n /** Bytes downloaded. */\n loaded: number;\n /** Total size of the download in bytes. */\n total: number;\n}\n\n/**\n * Called to show progress during a download.\n * @public\n */\nexport type OnDownloadProgress = (progress: DownloadProgressInfo) => void;\n\n/**\n * Partial interface of AbortSignal.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal\n * @beta\n */\nexport interface GenericAbortSignal {\n /** Add Listener for abort signal. */\n addEventListener: (type: \"abort\", listener: (this: GenericAbortSignal, ev: any) => any) => void;\n /** Remove Listener for abort signal. */\n removeEventListener: (type: \"abort\", listener: (this: GenericAbortSignal, ev: any) => any) => void;\n}\n\n/**\n * Options for pulling iModel changes.\n * @public\n */\nexport interface PullChangesOptions {\n /** Function called regularly to report progress of changes download. */\n downloadProgressCallback?: OnDownloadProgress;\n /** Interval for calling progress callback (in milliseconds). */\n progressInterval?: number;\n /** Signal for cancelling the download.\n * @beta\n */\n abortSignal?: GenericAbortSignal;\n}\n\n/** Keeps track of changes to models, buffering them until synchronization points.\n * While a GraphicalEditingScope is open, the changes are buffered until the scope exits, at which point they are processed.\n * Otherwise, the buffered changes are processed after undo/redo, commit, or pull+merge changes.\n */\nclass ModelChangeMonitor {\n private _editingScope?: GraphicalEditingScope;\n private readonly _briefcase: BriefcaseConnection;\n private readonly _deletedModels = new Set<string>();\n private readonly _modelIdToGuid = new Map<string, string>();\n private readonly _removals: VoidFunction[] = [];\n\n public constructor(briefcase: BriefcaseConnection) {\n this._briefcase = briefcase;\n\n // Buffer updated geometry guids.\n this._removals.push(briefcase.txns.onModelGeometryChanged.addListener((changes) => {\n for (const change of changes) {\n this._deletedModels.delete(change.id);\n this._modelIdToGuid.set(change.id, change.guid);\n }\n }));\n\n // Buffer deletions of models.\n this._removals.push(briefcase.txns.onModelsChanged.addListener((changes) => {\n if (changes.deleted) {\n for (const id of CompressedId64Set.iterable(changes.deleted)) {\n this._modelIdToGuid.delete(id);\n this._deletedModels.add(id);\n }\n }\n }));\n\n // Outside of an editing scope, we want to update viewport contents after commit, undo/redo, or merging changes.\n const maybeProcess = async () => {\n if (this.editingScope)\n return;\n\n const modelIds = Array.from(this._modelIdToGuid.keys());\n if (modelIds.length > 0)\n await IModelApp.tileAdmin.purgeTileTrees(this._briefcase, modelIds);\n\n this.processBuffered();\n };\n\n this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));\n this._removals.push(briefcase.txns.onReplayedExternalTxns.addListener(maybeProcess));\n this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));\n this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));\n }\n\n public async close(): Promise<void> {\n for (const removal of this._removals)\n removal();\n\n this._removals.length = 0;\n\n if (this._editingScope) {\n await this._editingScope.exit();\n this._editingScope = undefined;\n }\n }\n\n public get editingScope(): GraphicalEditingScope | undefined {\n return this._editingScope;\n }\n\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\n if (this._editingScope)\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\n\n this._editingScope = await GraphicalEditingScope.enter(this._briefcase);\n\n const removeGeomListener = this._editingScope.onGeometryChanges.addListener((changes) => {\n const modelIds = [];\n for (const change of changes)\n modelIds.push(change.id);\n\n this.invalidateScenes(modelIds);\n });\n\n this._editingScope.onExited.addOnce((scope) => {\n assert(scope === this._editingScope);\n this._editingScope = undefined;\n removeGeomListener();\n this.processBuffered();\n });\n\n return this._editingScope;\n }\n\n private processBuffered(): void {\n const models = this._briefcase.models;\n for (const [id, guid] of this._modelIdToGuid) {\n const model = models.getLoaded(id)?.asGeometricModel;\n if (model)\n model.geometryGuid = guid;\n }\n\n const modelIds = new Set<string>(this._modelIdToGuid.keys());\n for (const deleted of this._deletedModels) {\n modelIds.add(deleted);\n models.unload(deleted);\n }\n\n this.invalidateScenes(modelIds);\n disposeTileTreesForGeometricModels(modelIds, this._briefcase);\n\n this._briefcase.onBufferedModelChanges.raiseEvent(modelIds);\n\n this._modelIdToGuid.clear();\n this._deletedModels.clear();\n }\n\n private invalidateScenes(changedModels: Iterable<Id64String>): void {\n for (const user of IModelApp.tileAdmin.tileUsers) {\n if (user instanceof Viewport && user.iModel === this._briefcase) {\n for (const modelId of changedModels) {\n if (user.view.viewsModel(modelId)) {\n user.invalidateScene();\n user.setFeatureOverrideProviderChanged();\n break;\n }\n }\n }\n }\n }\n}\n\n/**\n * Provides access to lock information in the iModel.\n * @see [[BriefcaseConnection.locks]]\n * @alpha\n */\nexport interface LockService {\n /** Get all elements with exclusive locks owned by other briefcases. */\n getExclusiveForeignLocks(): Promise<Id64Set>;\n /** Get all elements with shared locks owned by other briefcases. */\n getSharedForeignLocks(): Promise<Id64Set>;\n /** Check whether it's possible to acquire a lock for the element. */\n checkElementLockAvailability(elementId: Id64String, lock: LockState): Promise<boolean>;\n}\n\n/** Function for creating a [[LockService]] for a [[BriefcaseConnection]].\n * @alpha\n */\nexport type LockServiceFactory = (iModel: BriefcaseConnection) => Promise<LockService>;\n\n/** Settings that can be used to control the behavior of [[Tool]]s that modify a [[BriefcaseConnection]].\n * For example, tools that want to create new elements can consult the briefcase's editor tool settings to\n * determine into which model and category to insert the elements.\n * Specialized tools are free to ignore these settings.\n * @see [[BriefcaseConnection.editorToolSettings]] to query or modify the current settings for a briefcase.\n * @see [CreateElementTool]($editor-frontend) for an example of a tool that uses these settings.\n * @beta\n */\nexport class BriefcaseEditorToolSettings {\n private _category?: Id64String;\n private _model?: Id64String;\n\n /** An event raised just after the default [[category]] is changed. */\n public readonly onCategoryChanged = new BeEvent<(previousCategory: Id64String | undefined) => void>();\n\n /** An event raised just after the default [[model]] is changed. */\n public readonly onModelChanged = new BeEvent<(previousModel: Id64String | undefined) => void>();\n\n /** The [Category]($backend) into which new elements should be inserted by default.\n * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate category.\n * @see [[onCategoryChanged]] to be notified when this property is modified.\n * @see [CreateElementTool.targetCategory]($editor-frontend) for an example of a tool that uses this setting.\n */\n public get category(): Id64String | undefined {\n return this._category;\n }\n public set category(category: Id64String | undefined) {\n const previousCategory = this.category;\n if (category !== this.category) {\n this._category = category;\n this.onCategoryChanged.raiseEvent(previousCategory);\n }\n }\n\n /** The [Model]($backend) into which new elements should be inserted by default.\n * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate model.\n * @see [[onModelChanged]] to be notified when this property is modified.\n * @see [CreateElementTool.targetModelId]($editor-frontend) for an example of a tool that uses this setting.\n */\n public get model(): Id64String | undefined {\n return this._model;\n }\n public set model(model: Id64String | undefined) {\n const previousModel = this.model;\n if (model !== this.model) {\n this._model = model;\n this.onModelChanged.raiseEvent(previousModel);\n }\n }\n}\n\n/** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate\n * to the backend and may only be used by [[IpcApp]]s.\n * @public\n */\nexport class BriefcaseConnection extends IModelConnection {\n protected _isClosed?: boolean;\n private readonly _modelsMonitor: ModelChangeMonitor;\n private _locks?: LockService;\n\n /** The ID of the briefcase.\n * @beta\n */\n public readonly briefcaseId?: number;\n\n /** Default settings that can be used to control the behavior of [[Tool]]s that modify this briefcase.\n * @beta\n */\n public readonly editorToolSettings = new BriefcaseEditorToolSettings();\n\n /** Manages local changes to the briefcase via [Txns]($docs/learning/InteractiveEditing.md). */\n public readonly txns: BriefcaseTxns;\n\n /** Information about locks held on this iModel.\n * @note This is intended to be used by tools and other UI elements, to provide information about the current lock state. Implementations are expected to cache lock information and so may not reflect changes to locks immediately.\n * @alpha\n */\n public get locks(): LockService | undefined { return this._locks; }\n\n public override isBriefcaseConnection(): this is BriefcaseConnection { return true; }\n\n /** The Guid that identifies the iTwin that owns this iModel. */\n public override get iTwinId(): GuidString { return super.iTwinId ?? Guid.empty; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\n\n /** The Guid that identifies this iModel. */\n public override get iModelId(): GuidString { return super.iModelId ?? Guid.empty; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\n\n protected constructor(props: BriefcaseConnectionProps, openMode: OpenMode) {\n super(props);\n this._openMode = openMode;\n this.briefcaseId = props.briefcaseId;\n this.txns = new BriefcaseTxns(this);\n this._modelsMonitor = new ModelChangeMonitor(this);\n if (OpenMode.ReadWrite === this._openMode)\n this.txns.onAfterUndoRedo.addListener(async () => { await IModelApp.toolAdmin.restartPrimitiveTool(); });\n\n this.categories.cache.attachToBriefcase(this);\n }\n\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend). */\n public static async openFile(briefcaseProps: OpenBriefcaseProps): Promise<BriefcaseConnection>;\n\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend).\n * @alpha\n */\n public static async openFile(briefcaseProps: OpenBriefcaseProps, lockServiceFactory?: LockServiceFactory): Promise<BriefcaseConnection>\n\n public static async openFile(briefcaseProps: OpenBriefcaseProps, lockServiceFactory?: LockServiceFactory): Promise<BriefcaseConnection> {\n const iModelProps = await IpcApp.appFunctionIpc.openBriefcase(briefcaseProps);\n const connection = new this({ ...briefcaseProps, ...iModelProps }, briefcaseProps.readonly ? OpenMode.Readonly : OpenMode.ReadWrite);\n if (lockServiceFactory)\n connection._locks = await lockServiceFactory(connection);\n\n IModelConnection.onOpen.raiseEvent(connection);\n return connection;\n }\n\n /** Open a BriefcaseConnection to a [StandaloneDb]($backend)\n * @note StandaloneDbs, by definition, may not push or pull changes. Attempting to do so will throw exceptions.\n */\n public static async openStandalone(filePath: string, openMode: OpenMode = OpenMode.ReadWrite, opts?: StandaloneOpenOptions): Promise<BriefcaseConnection> {\n const openResponse = await IpcApp.appFunctionIpc.openStandalone(filePath, openMode, opts);\n const connection = new this(openResponse, openMode);\n IModelConnection.onOpen.raiseEvent(connection);\n return connection;\n }\n\n /** Returns `true` if [[close]] has already been called. */\n public get isClosed(): boolean { return this._isClosed === true; }\n\n /**\n * Close this BriefcaseConnection.\n * @note make sure to call [[saveChanges]] before calling this method. Unsaved local changes are abandoned.\n */\n public async close(): Promise<void> {\n if (this.isClosed)\n return;\n\n await this._modelsMonitor.close();\n\n this.beforeClose();\n this.txns[Symbol.dispose]();\n\n this._isClosed = true;\n await IpcApp.appFunctionIpc.closeIModel(this._fileKey);\n }\n\n protected requireTimeline() {\n if (this.iTwinId === Guid.empty)\n throw new IModelError(IModelStatus.WrongIModel, \"iModel has no timeline\");\n }\n\n /** Query if there are any pending Txns in this briefcase that are waiting to be pushed. */\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\n return this.txns.hasPendingTxns();\n }\n\n /** Commit pending changes to this briefcase.\n * @param description Optional description of the changes.\n */\n public async saveChanges(description?: string): Promise<void> {\n await IpcApp.appFunctionIpc.saveChanges(this.key, description);\n }\n\n /** Abandon pending changes to this briefcase. */\n public async abandonChanges(): Promise<void> {\n await IpcApp.appFunctionIpc.abandonChanges(this.key);\n }\n\n /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase\n * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.\n * @param options Options for pulling changes.\n * @see [[BriefcaseTxns.onChangesPulled]] for the event dispatched after changes are pulled.\n */\n public async pullChanges(toIndex?: ChangesetIndex, options?: PullChangesOptions): Promise<void> {\n const removeListeners: VoidFunction[] = [];\n const shouldReportProgress = !!options?.downloadProgressCallback;\n\n if (shouldReportProgress) {\n const handleProgress = (_evt: Event, data: { loaded: number, total: number }) => {\n options?.downloadProgressCallback?.(data);\n };\n\n const removeProgressListener = IpcApp.addListener(\n getPullChangesIpcChannel(this.iModelId),\n handleProgress,\n );\n removeListeners.push(removeProgressListener);\n }\n\n if (options?.abortSignal) {\n const abort = () => void IpcApp.appFunctionIpc.cancelPullChangesRequest(this.key);\n options?.abortSignal.addEventListener(\"abort\", abort);\n removeListeners.push(() => options?.abortSignal?.removeEventListener(\"abort\", abort));\n }\n\n this.requireTimeline();\n const ipcAppOptions: IpcAppPullChangesOptions = {\n reportProgress: shouldReportProgress,\n progressInterval: options?.progressInterval,\n enableCancellation: !!options?.abortSignal,\n };\n try {\n this.changeset = await IpcApp.appFunctionIpc.pullChanges(this.key, toIndex, ipcAppOptions);\n } finally {\n removeListeners.forEach((remove) => remove());\n }\n }\n\n /** Create a changeset from local Txns and push to iModelHub. On success, clear Txn table.\n * @param description The description for the changeset\n * @returns the changesetId of the pushed changes\n * @see [[BriefcaseTxns.onChangesPushed]] for the event dispatched after changes are pushed.\n */\n public async pushChanges(description: string): Promise<ChangesetIndexAndId> {\n this.requireTimeline();\n return IpcApp.appFunctionIpc.pushChanges(this.key, description);\n }\n\n /** The current graphical editing scope, if one is in progress.\n * @see [[enterEditingScope]] to begin graphical editing.\n */\n public get editingScope(): GraphicalEditingScope | undefined {\n return this._modelsMonitor.editingScope;\n }\n\n /** Return whether graphical editing is supported for this briefcase. It is not supported if the briefcase is read-only, or the briefcase contains a version of\n * the BisCore ECSchema older than v0.1.11.\n * @see [[enterEditingScope]] to enable graphical editing.\n */\n public async supportsGraphicalEditing(): Promise<boolean> {\n return IpcApp.appFunctionIpc.isGraphicalEditingSupported(this.key);\n }\n\n /** Begin a new graphical editing scope.\n * @throws Error if an editing scope already exists or one could not be created.\n * @see [[GraphicalEditingScope.exit]] to exit the scope.\n * @see [[supportsGraphicalEditing]] to determine whether this method should be expected to succeed.\n * @see [[editingScope]] to obtain the current editing scope, if one is in progress.\n */\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\n return this._modelsMonitor.enterEditingScope();\n }\n\n /** Strictly for tests - dispatched from ModelChangeMonitor.processBuffered.\n * @internal\n */\n public readonly onBufferedModelChanges = new BeEvent<(changedModelIds: Set<string>) => void>();\n}\n"]}
1
+ {"version":3,"file":"BriefcaseConnection.js","sourceRoot":"","sources":["../../src/BriefcaseConnection.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module IModelConnection\n */\n\nimport { assert, BeEvent, CompressedId64Set, Guid, GuidString, Id64Set, Id64String, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\nimport {\n BriefcaseConnectionProps, ChangesetIndex, ChangesetIndexAndId, getPullChangesIpcChannel, IModelError,\n PullChangesOptions as IpcAppPullChangesOptions, LockState, OpenBriefcaseProps, StandaloneOpenOptions,\n} from \"@itwin/core-common\";\nimport { BriefcaseTxns } from \"./BriefcaseTxns\";\nimport { GraphicalEditingScope } from \"./GraphicalEditingScope\";\nimport { IModelApp } from \"./IModelApp\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { IpcApp } from \"./IpcApp\";\nimport { disposeTileTreesForGeometricModels } from \"./tile/internal\";\nimport { Viewport } from \"./Viewport\";\n\n/**\n * Download progress information.\n * @public\n */\nexport interface DownloadProgressInfo {\n /** Bytes downloaded. */\n loaded: number;\n /** Total size of the download in bytes. */\n total: number;\n}\n\n/**\n * Called to show progress during a download.\n * @public\n */\nexport type OnDownloadProgress = (progress: DownloadProgressInfo) => void;\n\n/**\n * Partial interface of AbortSignal.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal\n * @beta\n */\nexport interface GenericAbortSignal {\n /** Add Listener for abort signal. */\n addEventListener: (type: \"abort\", listener: (this: GenericAbortSignal, ev: any) => any) => void;\n /** Remove Listener for abort signal. */\n removeEventListener: (type: \"abort\", listener: (this: GenericAbortSignal, ev: any) => any) => void;\n}\n\n/**\n * Options for pulling iModel changes.\n * @public\n */\nexport interface PullChangesOptions {\n /** Function called regularly to report progress of changes download. */\n downloadProgressCallback?: OnDownloadProgress;\n /** Interval for calling progress callback (in milliseconds). */\n progressInterval?: number;\n /** Signal for cancelling the download.\n * @beta\n */\n abortSignal?: GenericAbortSignal;\n}\n\n/** Keeps track of changes to models, buffering them until synchronization points.\n * While a GraphicalEditingScope is open, the changes are buffered until the scope exits, at which point they are processed.\n * Otherwise, the buffered changes are processed after undo/redo, commit, or pull+merge changes.\n */\nclass ModelChangeMonitor {\n private _editingScope?: GraphicalEditingScope;\n private readonly _briefcase: BriefcaseConnection;\n private readonly _deletedModels = new Set<string>();\n private readonly _modelIdToGuid = new Map<string, string>();\n private readonly _removals: VoidFunction[] = [];\n\n public constructor(briefcase: BriefcaseConnection) {\n this._briefcase = briefcase;\n\n // Buffer updated geometry guids.\n this._removals.push(briefcase.txns.onModelGeometryChanged.addListener((changes) => {\n for (const change of changes) {\n this._deletedModels.delete(change.id);\n this._modelIdToGuid.set(change.id, change.guid);\n }\n }));\n\n // Buffer deletions of models.\n this._removals.push(briefcase.txns.onModelsChanged.addListener((changes) => {\n if (changes.deleted) {\n for (const id of CompressedId64Set.iterable(changes.deleted)) {\n this._modelIdToGuid.delete(id);\n this._deletedModels.add(id);\n }\n }\n }));\n\n // Outside of an editing scope, we want to update viewport contents after commit, undo/redo, or merging changes.\n const maybeProcess = async () => {\n if (this.editingScope)\n return;\n\n const modelIds = Array.from(this._modelIdToGuid.keys());\n if (modelIds.length > 0)\n await IModelApp.tileAdmin.purgeTileTrees(this._briefcase, modelIds);\n\n this.processBuffered();\n };\n\n this._removals.push(briefcase.txns.onCommitted.addListener(maybeProcess));\n this._removals.push(briefcase.txns.onReplayedExternalTxns.addListener(maybeProcess));\n this._removals.push(briefcase.txns.onAfterUndoRedo.addListener(maybeProcess));\n this._removals.push(briefcase.txns.onChangesPulled.addListener(maybeProcess));\n }\n\n public async close(): Promise<void> {\n for (const removal of this._removals)\n removal();\n\n this._removals.length = 0;\n\n if (this._editingScope) {\n await this._editingScope.exit();\n this._editingScope = undefined;\n }\n }\n\n public get editingScope(): GraphicalEditingScope | undefined {\n return this._editingScope;\n }\n\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\n if (this._editingScope)\n throw new Error(\"Cannot create an editing scope for an iModel that already has one\");\n\n this._editingScope = await GraphicalEditingScope.enter(this._briefcase);\n\n const removeGeomListener = this._editingScope.onGeometryChanges.addListener((changes) => {\n const modelIds = [];\n for (const change of changes)\n modelIds.push(change.id);\n\n this.invalidateScenes(modelIds);\n });\n\n this._editingScope.onExited.addOnce((scope) => {\n assert(scope === this._editingScope);\n this._editingScope = undefined;\n removeGeomListener();\n this.processBuffered();\n });\n\n return this._editingScope;\n }\n\n private processBuffered(): void {\n const models = this._briefcase.models;\n for (const [id, guid] of this._modelIdToGuid) {\n const model = models.getLoaded(id)?.asGeometricModel;\n if (model)\n model.geometryGuid = guid;\n }\n\n const modelIds = new Set<string>(this._modelIdToGuid.keys());\n for (const deleted of this._deletedModels) {\n modelIds.add(deleted);\n models.unload(deleted);\n }\n\n this.invalidateScenes(modelIds);\n disposeTileTreesForGeometricModels(modelIds, this._briefcase);\n\n this._briefcase.onBufferedModelChanges.raiseEvent(modelIds);\n\n this._modelIdToGuid.clear();\n this._deletedModels.clear();\n }\n\n private invalidateScenes(changedModels: Iterable<Id64String>): void {\n for (const user of IModelApp.tileAdmin.tileUsers) {\n if (user instanceof Viewport && user.iModel === this._briefcase) {\n for (const modelId of changedModels) {\n if (user.view.viewsModel(modelId)) {\n user.invalidateScene();\n user.setFeatureOverrideProviderChanged();\n break;\n }\n }\n }\n }\n }\n}\n\n/**\n * Provides access to lock information in the iModel.\n * @see [[BriefcaseConnection.locks]]\n * @alpha\n */\nexport interface LockService {\n /** Get all elements with exclusive locks owned by other briefcases. */\n getExclusiveForeignLocks(): Promise<Id64Set>;\n /** Get all elements with shared locks owned by other briefcases. */\n getSharedForeignLocks(): Promise<Id64Set>;\n /** Check whether it's possible to acquire a lock for the element. */\n checkElementLockAvailability(elementId: Id64String, lock: LockState): Promise<boolean>;\n}\n\n/** Function for creating a [[LockService]] for a [[BriefcaseConnection]].\n * @alpha\n */\nexport type LockServiceFactory = (iModel: BriefcaseConnection) => Promise<LockService>;\n\n/** Settings that can be used to control the behavior of [[Tool]]s that modify a [[BriefcaseConnection]].\n * For example, tools that want to create new elements can consult the briefcase's editor tool settings to\n * determine into which model and category to insert the elements.\n * Specialized tools are free to ignore these settings.\n * @see [[BriefcaseConnection.editorToolSettings]] to query or modify the current settings for a briefcase.\n * @see [CreateElementTool]($editor-frontend) for an example of a tool that uses these settings.\n * @beta\n */\nexport class BriefcaseEditorToolSettings {\n private _category?: Id64String;\n private _model?: Id64String;\n\n /** An event raised just after the default [[category]] is changed. */\n public readonly onCategoryChanged = new BeEvent<(previousCategory: Id64String | undefined) => void>();\n\n /** An event raised just after the default [[model]] is changed. */\n public readonly onModelChanged = new BeEvent<(previousModel: Id64String | undefined) => void>();\n\n /** The [Category]($backend) into which new elements should be inserted by default.\n * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate category.\n * @see [[onCategoryChanged]] to be notified when this property is modified.\n * @see [CreateElementTool.targetCategory]($editor-frontend) for an example of a tool that uses this setting.\n */\n public get category(): Id64String | undefined {\n return this._category;\n }\n public set category(category: Id64String | undefined) {\n const previousCategory = this.category;\n if (category !== this.category) {\n this._category = category;\n this.onCategoryChanged.raiseEvent(previousCategory);\n }\n }\n\n /** The [Model]($backend) into which new elements should be inserted by default.\n * Specialized tools are free to ignore this setting and instead use their own logic to select an appropriate model.\n * @see [[onModelChanged]] to be notified when this property is modified.\n * @see [CreateElementTool.targetModelId]($editor-frontend) for an example of a tool that uses this setting.\n */\n public get model(): Id64String | undefined {\n return this._model;\n }\n public set model(model: Id64String | undefined) {\n const previousModel = this.model;\n if (model !== this.model) {\n this._model = model;\n this.onModelChanged.raiseEvent(previousModel);\n }\n }\n}\n\n/** A connection to an editable briefcase on the backend. This class uses [Ipc]($docs/learning/IpcInterface.md) to communicate\n * to the backend and may only be used by [[IpcApp]]s.\n * @public\n */\nexport class BriefcaseConnection extends IModelConnection {\n protected _isClosed?: boolean;\n private readonly _modelsMonitor: ModelChangeMonitor;\n private _locks?: LockService;\n\n /** The ID of the briefcase.\n * @beta\n */\n public readonly briefcaseId?: number;\n\n /** Default settings that can be used to control the behavior of [[Tool]]s that modify this briefcase.\n * @beta\n */\n public readonly editorToolSettings = new BriefcaseEditorToolSettings();\n\n /** Manages local changes to the briefcase via [Txns]($docs/learning/InteractiveEditing.md). */\n public readonly txns: BriefcaseTxns;\n\n /** Information about locks held on this iModel.\n * @note This is intended to be used by tools and other UI elements, to provide information about the current lock state. Implementations are expected to cache lock information and so may not reflect changes to locks immediately.\n * @alpha\n */\n public get locks(): LockService | undefined { return this._locks; }\n\n public override isBriefcaseConnection(): this is BriefcaseConnection { return true; }\n\n /** The Guid that identifies the iTwin that owns this iModel. */\n public override get iTwinId(): GuidString { return super.iTwinId ?? Guid.empty; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\n\n /** The Guid that identifies this iModel. */\n public override get iModelId(): GuidString { return super.iModelId ?? Guid.empty; } // GuidString | undefined for IModelConnection, but required for BriefcaseConnection\n\n protected constructor(props: BriefcaseConnectionProps, openMode: OpenMode) {\n super(props);\n this._openMode = openMode;\n this.briefcaseId = props.briefcaseId;\n this.txns = new BriefcaseTxns(this);\n this._modelsMonitor = new ModelChangeMonitor(this);\n if (OpenMode.ReadWrite === this._openMode)\n this.txns.onAfterUndoRedo.addListener(async () => { await IModelApp.toolAdmin.restartPrimitiveTool(); });\n\n this.categories.cache.attachToBriefcase(this);\n }\n\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend). */\n public static async openFile(briefcaseProps: OpenBriefcaseProps): Promise<BriefcaseConnection>;\n\n /** Open a BriefcaseConnection to a [BriefcaseDb]($backend).\n * @alpha\n */\n public static async openFile(briefcaseProps: OpenBriefcaseProps, lockServiceFactory?: LockServiceFactory): Promise<BriefcaseConnection>\n\n public static async openFile(briefcaseProps: OpenBriefcaseProps, lockServiceFactory?: LockServiceFactory): Promise<BriefcaseConnection> {\n const iModelProps = await IpcApp.appFunctionIpc.openBriefcase(briefcaseProps);\n const connection = new this({ ...briefcaseProps, ...iModelProps }, briefcaseProps.readonly ? OpenMode.Readonly : OpenMode.ReadWrite);\n if (lockServiceFactory)\n connection._locks = await lockServiceFactory(connection);\n\n IModelConnection.onOpen.raiseEvent(connection);\n return connection;\n }\n\n /** Open a BriefcaseConnection to a [StandaloneDb]($backend)\n * @note StandaloneDbs, by definition, may not push or pull changes. Attempting to do so will throw exceptions.\n */\n public static async openStandalone(filePath: string, openMode: OpenMode = OpenMode.ReadWrite, opts?: StandaloneOpenOptions): Promise<BriefcaseConnection> {\n const openResponse = await IpcApp.appFunctionIpc.openStandalone(filePath, openMode, opts);\n const connection = new this(openResponse, openMode);\n IModelConnection.onOpen.raiseEvent(connection);\n return connection;\n }\n\n /** Returns `true` if [[close]] has already been called. */\n public get isClosed(): boolean { return this._isClosed === true; }\n\n /**\n * Close this BriefcaseConnection.\n * @note make sure to call [[saveChanges]] before calling this method. Unsaved local changes are abandoned.\n */\n public async close(): Promise<void> {\n if (this.isClosed)\n return;\n\n await this._modelsMonitor.close();\n\n this.beforeClose();\n this.txns[Symbol.dispose]();\n\n this._isClosed = true;\n await IpcApp.appFunctionIpc.closeIModel(this._fileKey);\n }\n\n protected requireTimeline() {\n if (this.iTwinId === Guid.empty)\n throw new IModelError(IModelStatus.WrongIModel, \"iModel has no timeline\");\n }\n\n /** Query if there are any pending Txns in this briefcase that are waiting to be pushed. */\n public async hasPendingTxns(): Promise<boolean> { // eslint-disable-line @itwin/prefer-get\n return this.txns.hasPendingTxns();\n }\n\n /** Commit pending changes to this briefcase.\n * @param description Optional description of the changes.\n * @deprecated Use methods on EditCommand instead.\n */\n public async saveChanges(description?: string): Promise<void> {\n await IpcApp.appFunctionIpc.saveChanges(this.key, description); // eslint-disable-line @typescript-eslint/no-deprecated\n }\n\n /** Abandon pending changes to this briefcase.\n * @deprecated Use methods on EditCommand instead.\n */\n public async abandonChanges(): Promise<void> {\n await IpcApp.appFunctionIpc.abandonChanges(this.key); // eslint-disable-line @typescript-eslint/no-deprecated\n }\n\n /** Pull (and potentially merge if there are local changes) up to a specified changeset from iModelHub into this briefcase\n * @param toIndex The changeset index to pull changes to. If `undefined`, pull all changes.\n * @param options Options for pulling changes.\n * @see [[BriefcaseTxns.onChangesPulled]] for the event dispatched after changes are pulled.\n */\n public async pullChanges(toIndex?: ChangesetIndex, options?: PullChangesOptions): Promise<void> {\n const removeListeners: VoidFunction[] = [];\n const shouldReportProgress = !!options?.downloadProgressCallback;\n\n if (shouldReportProgress) {\n const handleProgress = (_evt: Event, data: { loaded: number, total: number }) => {\n options?.downloadProgressCallback?.(data);\n };\n\n const removeProgressListener = IpcApp.addListener(\n getPullChangesIpcChannel(this.iModelId),\n handleProgress,\n );\n removeListeners.push(removeProgressListener);\n }\n\n if (options?.abortSignal) {\n const abort = () => void IpcApp.appFunctionIpc.cancelPullChangesRequest(this.key);\n options?.abortSignal.addEventListener(\"abort\", abort);\n removeListeners.push(() => options?.abortSignal?.removeEventListener(\"abort\", abort));\n }\n\n this.requireTimeline();\n const ipcAppOptions: IpcAppPullChangesOptions = {\n reportProgress: shouldReportProgress,\n progressInterval: options?.progressInterval,\n enableCancellation: !!options?.abortSignal,\n };\n try {\n this.changeset = await IpcApp.appFunctionIpc.pullChanges(this.key, toIndex, ipcAppOptions);\n } finally {\n removeListeners.forEach((remove) => remove());\n }\n }\n\n /** Create a changeset from local Txns and push to iModelHub. On success, clear Txn table.\n * @param description The description for the changeset\n * @returns the changesetId of the pushed changes\n * @see [[BriefcaseTxns.onChangesPushed]] for the event dispatched after changes are pushed.\n */\n public async pushChanges(description: string): Promise<ChangesetIndexAndId> {\n this.requireTimeline();\n return IpcApp.appFunctionIpc.pushChanges(this.key, description);\n }\n\n /** The current graphical editing scope, if one is in progress.\n * @see [[enterEditingScope]] to begin graphical editing.\n */\n public get editingScope(): GraphicalEditingScope | undefined {\n return this._modelsMonitor.editingScope;\n }\n\n /** Return whether graphical editing is supported for this briefcase. It is not supported if the briefcase is read-only, or the briefcase contains a version of\n * the BisCore ECSchema older than v0.1.11.\n * @see [[enterEditingScope]] to enable graphical editing.\n */\n public async supportsGraphicalEditing(): Promise<boolean> {\n return IpcApp.appFunctionIpc.isGraphicalEditingSupported(this.key);\n }\n\n /** Begin a new graphical editing scope.\n * @throws Error if an editing scope already exists or one could not be created.\n * @see [[GraphicalEditingScope.exit]] to exit the scope.\n * @see [[supportsGraphicalEditing]] to determine whether this method should be expected to succeed.\n * @see [[editingScope]] to obtain the current editing scope, if one is in progress.\n */\n public async enterEditingScope(): Promise<GraphicalEditingScope> {\n return this._modelsMonitor.enterEditingScope();\n }\n\n /** Strictly for tests - dispatched from ModelChangeMonitor.processBuffered.\n * @internal\n */\n public readonly onBufferedModelChanges = new BeEvent<(changedModelIds: Set<string>) => void>();\n}\n"]}
@@ -25,6 +25,8 @@ export declare class ContextRealityModelState extends ContextRealityModel {
25
25
  constructor(props: ContextRealityModelProps, iModel: IModelConnection, displayStyle: DisplayStyleState);
26
26
  /** The tile tree reference responsible for drawing the reality model into a [[Viewport]]. */
27
27
  get treeRef(): TileTreeReference;
28
+ /** @internal */
29
+ detachLayerListeners(): void;
28
30
  /** The set of available [[ActiveSpatialClassifier]]s that can be used to classify the reality model. */
29
31
  get classifiers(): SpatialClassifiersState;
30
32
  /** The transient Id assigned to this reality model at run-time. */
@@ -1 +1 @@
1
- {"version":3,"file":"ContextRealityModelState.d.ts","sourceRoot":"","sources":["../../src/ContextRealityModelState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAwC,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/I,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAwF,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1I;;;;;;;GAOG;AACH,qBAAa,wBAAyB,SAAQ,mBAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,6DAA6D;IAC7D,SAAgB,MAAM,EAAE,gBAAgB,CAAC;IACzC,8EAA8E;IAC9E,SAAyB,WAAW,EAAE,oBAAoB,CAAC;IAE3D,gBAAgB;gBACG,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB;IAsC7G,6FAA6F;IAC7F,IAAW,OAAO,IAAI,iBAAiB,CAA0B;IAEjE,wGAAwG;IACxG,IAAoB,WAAW,IAAI,uBAAuB,CAGzD;IAED,mEAAmE;IACnE,IAAW,OAAO,IAAI,UAAU,GAAG,SAAS,CAE3C;IAED,kEAAkE;IAClE,IAAW,QAAQ,IAAI,OAAO,CAE7B;CACF"}
1
+ {"version":3,"file":"ContextRealityModelState.d.ts","sourceRoot":"","sources":["../../src/ContextRealityModelState.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAwC,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/I,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAwF,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE1I;;;;;;;GAOG;AACH,qBAAa,wBAAyB,SAAQ,mBAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,6DAA6D;IAC7D,SAAgB,MAAM,EAAE,gBAAgB,CAAC;IACzC,8EAA8E;IAC9E,SAAyB,WAAW,EAAE,oBAAoB,CAAC;IAE3D,gBAAgB;gBACG,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB;IAsC7G,6FAA6F;IAC7F,IAAW,OAAO,IAAI,iBAAiB,CAA0B;IAEjE,gBAAgB;IACT,oBAAoB,IAAI,IAAI;IAInC,wGAAwG;IACxG,IAAoB,WAAW,IAAI,uBAAuB,CAGzD;IAED,mEAAmE;IACnE,IAAW,OAAO,IAAI,UAAU,GAAG,SAAS,CAE3C;IAED,kEAAkE;IAClE,IAAW,QAAQ,IAAI,OAAO,CAE7B;CACF"}
@@ -68,6 +68,10 @@ class ContextRealityModelState extends core_common_1.ContextRealityModel {
68
68
  }
69
69
  /** The tile tree reference responsible for drawing the reality model into a [[Viewport]]. */
70
70
  get treeRef() { return this._treeRef; }
71
+ /** @internal */
72
+ detachLayerListeners() {
73
+ this._treeRef.detachLayerListeners();
74
+ }
71
75
  /** The set of available [[ActiveSpatialClassifier]]s that can be used to classify the reality model. */
72
76
  get classifiers() {
73
77
  (0, core_bentley_1.assert)(super.classifiers instanceof SpatialClassifiersState_1.SpatialClassifiersState);
@@ -1 +1 @@
1
- {"version":3,"file":"ContextRealityModelState.js","sourceRoot":"","sources":["../../src/ContextRealityModelState.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\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { ContextRealityModel, ContextRealityModelProps, FeatureAppearance, RealityDataFormat, RealityDataSourceKey } from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"./DisplayStyleState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { PlanarClipMaskState } from \"./PlanarClipMaskState\";\r\nimport { RealityDataSource } from \"./RealityDataSource\";\r\nimport { SpatialClassifiersState } from \"./SpatialClassifiersState\";\r\nimport { createOrbitGtTileTreeReference, createRealityTileTreeReference, RealityModelTileTree, TileTreeReference } from \"./tile/internal\";\r\n\r\n/** A [ContextRealityModel]($common) attached to a [[DisplayStyleState]] supplying a [[TileTreeReference]] used to draw the\r\n * reality model in a [[Viewport]].\r\n * @see [DisplayStyleSettings.contextRealityModels]($common).\r\n * @see [[DisplayStyleState.contextRealityModelStates]].\r\n * @see [[DisplayStyleState.attachRealityModel]].\r\n * @public\r\n * @extensions\r\n */\r\nexport class ContextRealityModelState extends ContextRealityModel {\r\n private readonly _treeRef: RealityModelTileTree.Reference;\r\n /** The iModel with which the reality model is associated. */\r\n public readonly iModel: IModelConnection;\r\n /** The reality data source key with which the reality model is associated. */\r\n public override readonly rdSourceKey: RealityDataSourceKey;\r\n\r\n /** @internal */\r\n public constructor(props: ContextRealityModelProps, iModel: IModelConnection, displayStyle: DisplayStyleState) {\r\n super(props, { createClassifiers: (container) => SpatialClassifiersState.create(container) });\r\n this.iModel = iModel;\r\n this._appearanceOverrides = props.appearanceOverrides ? FeatureAppearance.fromJSON(props.appearanceOverrides) : undefined;\r\n if (undefined === props.orbitGtBlob) {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createKeyFromUrl(props.tilesetUrl);\r\n } else {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createKeyFromOrbitGtBlobProps(props.orbitGtBlob);\r\n }\r\n const useOrbitGtTileTreeReference = this.rdSourceKey.format === RealityDataFormat.OPC;\r\n this._treeRef = (!useOrbitGtTileTreeReference) ?\r\n createRealityTileTreeReference({\r\n iModel,\r\n source: displayStyle,\r\n rdSourceKey: this.rdSourceKey,\r\n url: props.tilesetUrl,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n planarClipMask: this.planarClipMaskSettings,\r\n getDisplaySettings: () => this.displaySettings,\r\n getBackgroundBase: () => displayStyle.settings.mapImagery.backgroundBase,\r\n getBackgroundLayers: () => displayStyle.settings.mapImagery.backgroundLayers,\r\n }) :\r\n createOrbitGtTileTreeReference({\r\n iModel,\r\n orbitGtBlob: props.orbitGtBlob,\r\n rdSourceKey: this.rdSourceKey,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n source: displayStyle,\r\n getDisplaySettings: () => this.displaySettings,\r\n });\r\n\r\n this.onPlanarClipMaskChanged.addListener((newSettings) => {\r\n this._treeRef.planarClipMask = newSettings ? PlanarClipMaskState.create(newSettings) : undefined;\r\n });\r\n }\r\n\r\n /** The tile tree reference responsible for drawing the reality model into a [[Viewport]]. */\r\n public get treeRef(): TileTreeReference { return this._treeRef; }\r\n\r\n /** The set of available [[ActiveSpatialClassifier]]s that can be used to classify the reality model. */\r\n public override get classifiers(): SpatialClassifiersState {\r\n assert(super.classifiers instanceof SpatialClassifiersState);\r\n return super.classifiers;\r\n }\r\n\r\n /** The transient Id assigned to this reality model at run-time. */\r\n public get modelId(): Id64String | undefined {\r\n return (this._treeRef instanceof RealityModelTileTree.Reference) ? this._treeRef.modelId : undefined;\r\n }\r\n\r\n /** Whether the reality model spans the entire globe ellipsoid. */\r\n public get isGlobal(): boolean {\r\n return this.treeRef.isGlobal;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ContextRealityModelState.js","sourceRoot":"","sources":["../../src/ContextRealityModelState.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\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { ContextRealityModel, ContextRealityModelProps, FeatureAppearance, RealityDataFormat, RealityDataSourceKey } from \"@itwin/core-common\";\r\nimport { DisplayStyleState } from \"./DisplayStyleState\";\r\nimport { IModelConnection } from \"./IModelConnection\";\r\nimport { PlanarClipMaskState } from \"./PlanarClipMaskState\";\r\nimport { RealityDataSource } from \"./RealityDataSource\";\r\nimport { SpatialClassifiersState } from \"./SpatialClassifiersState\";\r\nimport { createOrbitGtTileTreeReference, createRealityTileTreeReference, RealityModelTileTree, TileTreeReference } from \"./tile/internal\";\r\n\r\n/** A [ContextRealityModel]($common) attached to a [[DisplayStyleState]] supplying a [[TileTreeReference]] used to draw the\r\n * reality model in a [[Viewport]].\r\n * @see [DisplayStyleSettings.contextRealityModels]($common).\r\n * @see [[DisplayStyleState.contextRealityModelStates]].\r\n * @see [[DisplayStyleState.attachRealityModel]].\r\n * @public\r\n * @extensions\r\n */\r\nexport class ContextRealityModelState extends ContextRealityModel {\r\n private readonly _treeRef: RealityModelTileTree.Reference;\r\n /** The iModel with which the reality model is associated. */\r\n public readonly iModel: IModelConnection;\r\n /** The reality data source key with which the reality model is associated. */\r\n public override readonly rdSourceKey: RealityDataSourceKey;\r\n\r\n /** @internal */\r\n public constructor(props: ContextRealityModelProps, iModel: IModelConnection, displayStyle: DisplayStyleState) {\r\n super(props, { createClassifiers: (container) => SpatialClassifiersState.create(container) });\r\n this.iModel = iModel;\r\n this._appearanceOverrides = props.appearanceOverrides ? FeatureAppearance.fromJSON(props.appearanceOverrides) : undefined;\r\n if (undefined === props.orbitGtBlob) {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createKeyFromUrl(props.tilesetUrl);\r\n } else {\r\n this.rdSourceKey = props.rdSourceKey ? props.rdSourceKey : RealityDataSource.createKeyFromOrbitGtBlobProps(props.orbitGtBlob);\r\n }\r\n const useOrbitGtTileTreeReference = this.rdSourceKey.format === RealityDataFormat.OPC;\r\n this._treeRef = (!useOrbitGtTileTreeReference) ?\r\n createRealityTileTreeReference({\r\n iModel,\r\n source: displayStyle,\r\n rdSourceKey: this.rdSourceKey,\r\n url: props.tilesetUrl,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n planarClipMask: this.planarClipMaskSettings,\r\n getDisplaySettings: () => this.displaySettings,\r\n getBackgroundBase: () => displayStyle.settings.mapImagery.backgroundBase,\r\n getBackgroundLayers: () => displayStyle.settings.mapImagery.backgroundLayers,\r\n }) :\r\n createOrbitGtTileTreeReference({\r\n iModel,\r\n orbitGtBlob: props.orbitGtBlob,\r\n rdSourceKey: this.rdSourceKey,\r\n name: props.name,\r\n classifiers: this.classifiers,\r\n source: displayStyle,\r\n getDisplaySettings: () => this.displaySettings,\r\n });\r\n\r\n this.onPlanarClipMaskChanged.addListener((newSettings) => {\r\n this._treeRef.planarClipMask = newSettings ? PlanarClipMaskState.create(newSettings) : undefined;\r\n });\r\n }\r\n\r\n /** The tile tree reference responsible for drawing the reality model into a [[Viewport]]. */\r\n public get treeRef(): TileTreeReference { return this._treeRef; }\r\n\r\n /** @internal */\r\n public detachLayerListeners(): void {\r\n this._treeRef.detachLayerListeners();\r\n }\r\n\r\n /** The set of available [[ActiveSpatialClassifier]]s that can be used to classify the reality model. */\r\n public override get classifiers(): SpatialClassifiersState {\r\n assert(super.classifiers instanceof SpatialClassifiersState);\r\n return super.classifiers;\r\n }\r\n\r\n /** The transient Id assigned to this reality model at run-time. */\r\n public get modelId(): Id64String | undefined {\r\n return (this._treeRef instanceof RealityModelTileTree.Reference) ? this._treeRef.modelId : undefined;\r\n }\r\n\r\n /** Whether the reality model spans the entire globe ellipsoid. */\r\n public get isGlobal(): boolean {\r\n return this.treeRef.isGlobal;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SheetViewState.d.ts","sourceRoot":"","sources":["../../src/SheetViewState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SheetViewState.d.ts","sourceRoot":"","sources":["../../src/SheetViewState.ts"],"names":[],"mappings":"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"}
@@ -167,9 +167,10 @@ class SheetViewState extends ViewState_1.ViewState2d {
167
167
  }
168
168
  }
169
169
  if (reload) {
170
- await this._viewAttachments.reload(this.baseModelId, iModel);
171
- this._onViewAttachmentsReloaded();
172
- this.onViewAttachmentsReloaded.raiseEvent();
170
+ if (await this._viewAttachments.reload(this.baseModelId, iModel)) {
171
+ this._onViewAttachmentsReloaded();
172
+ this.onViewAttachmentsReloaded.raiseEvent();
173
+ }
173
174
  }
174
175
  });
175
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SheetViewState.js","sourceRoot":"","sources":["../../src/SheetViewState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { BeEvent, dispose, expectDefined, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { Angle, Constant, Point2d, Point3d, Range2d, Range3d, Transform } from \"@itwin/core-geometry\";\nimport {\n AxisAlignedBox3d, ColorDef, Gradient, GraphicParams, HydrateViewStateRequestProps, HydrateViewStateResponseProps, SheetProps,\n ViewAttachmentProps, ViewDefinition2dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { CategorySelectorState } from \"./CategorySelectorState\";\nimport { DisplayStyle2dState } from \"./DisplayStyleState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\nimport { RenderGraphic } from \"./render/RenderGraphic\";\nimport { Frustum2d } from \"./Frustum2d\";\nimport { RenderMemory } from \"./render/RenderMemory\";\nimport { DecorateContext, SceneContext } from \"./ViewContext\";\nimport { Viewport } from \"./Viewport\";\nimport { AttachToViewportArgs, ComputeDisplayTransformArgs, GetAttachmentViewportArgs, ViewState, ViewState2d } from \"./ViewState\";\nimport { DrawingViewState } from \"./DrawingViewState\";\nimport { DisclosedTileTreeSet } from \"./tile/internal\";\nimport { GraphicType } from \"./common/render/GraphicType\";\nimport { SheetViewAttachments } from \"./internal/SheetViewAttachments\";\n\n// cSpell:ignore ovrs\n\n/** Describes the geometry and styling of a sheet border decoration.\n * The sheet border decoration mimics a sheet of paper with a drop shadow.\n */\nclass SheetBorder {\n private _rect: Point2d[];\n private _shadow: Point2d[];\n private _gradient: Gradient.Symb;\n\n private constructor(rect: Point2d[], shadow: Point2d[], gradient: Gradient.Symb) {\n this._rect = rect;\n this._shadow = shadow;\n this._gradient = gradient;\n }\n\n /** Create a new sheet border. If a context is supplied, points are transformed to view coordinates. */\n public static create(width: number, height: number, context?: DecorateContext) {\n // Rect\n const rect: Point3d[] = [\n Point3d.create(0, height),\n Point3d.create(0, 0),\n Point3d.create(width, 0),\n Point3d.create(width, height),\n Point3d.create(0, height)];\n if (context) {\n context.viewport.worldToViewArray(rect);\n }\n\n // Shadow\n const shadowWidth = .01 * Math.sqrt(width * width + height * height);\n const shadow: Point3d[] = [\n Point3d.create(shadowWidth, 0),\n Point3d.create(shadowWidth, -shadowWidth),\n Point3d.create(width + shadowWidth, -shadowWidth),\n Point3d.create(width + shadowWidth, height - shadowWidth),\n Point3d.create(width, height - shadowWidth),\n Point3d.create(width, 0),\n Point3d.create(shadowWidth, 0),\n ];\n if (context) {\n context.viewport.worldToViewArray(shadow);\n }\n\n // Gradient\n const gradient = new Gradient.Symb();\n gradient.mode = Gradient.Mode.Linear;\n gradient.angle = Angle.createDegrees(-45);\n gradient.keys = [{ value: 0, color: ColorDef.from(25, 25, 25) }, { value: 0.5, color: ColorDef.from(150, 150, 150) }];\n\n // Copy over points\n const rect2d: Point2d[] = [];\n for (const point of rect)\n rect2d.push(Point2d.createFrom(point));\n const shadow2d: Point2d[] = [];\n for (const point of shadow)\n shadow2d.push(Point2d.createFrom(point));\n\n return new SheetBorder(rect2d, shadow2d, gradient);\n }\n\n public getRange(): Range2d {\n const range = Range2d.createArray(this._rect);\n const shadowRange = Range2d.createArray(this._shadow);\n range.extendRange(shadowRange);\n return range;\n }\n\n /** Add this border to the given GraphicBuilder. */\n public addToBuilder(builder: GraphicBuilder) {\n const lineColor = ColorDef.black;\n const fillColor = ColorDef.black;\n\n const params = new GraphicParams();\n params.fillColor = fillColor;\n params.gradient = this._gradient;\n\n builder.activateGraphicParams(params);\n builder.addShape2d(this._shadow, Frustum2d.minimumZDistance);\n\n builder.setSymbology(lineColor, fillColor, 2);\n builder.addLineString2d(this._rect, 0);\n }\n}\n\n/** A view of a [SheetModel]($backend).\n * @public\n * @extensions\n */\nexport class SheetViewState extends ViewState2d {\n /** The width and height of the sheet in world coordinates. */\n public readonly sheetSize: Point2d;\n private _viewAttachments: SheetViewAttachments;\n private readonly _viewedExtents: AxisAlignedBox3d;\n private _onViewAttachmentsReloaded: () => void = () => undefined;\n\n /** Strictly for tests. */\n public readonly onViewAttachmentsReloaded = new BeEvent<() => void>();\n\n public get attachmentIds(): readonly string[] {\n return this._viewAttachments.attachmentIds;\n }\n\n public static override get className() { return \"SheetViewDefinition\"; }\n\n public static override createFromProps(viewStateData: ViewStateProps, iModel: IModelConnection): SheetViewState {\n const cat = new CategorySelectorState(viewStateData.categorySelectorProps, iModel);\n const displayStyleState = new DisplayStyle2dState(viewStateData.displayStyleProps, iModel);\n\n // use \"new this\" so subclasses are correct\n return new this(viewStateData.viewDefinitionProps as ViewDefinition2dProps, iModel, cat, displayStyleState, expectDefined(viewStateData.sheetProps), expectDefined(viewStateData.sheetAttachments));\n }\n\n public override toProps(): ViewStateProps {\n const props = super.toProps();\n\n props.sheetAttachments = [...this.attachmentIds];\n\n // For sheetProps all that is actually used is the size, so just null out everything else.\n const codeProps = { spec: \"\", scope: \"\", value: \"\" };\n props.sheetProps = {\n model: \"\",\n code: codeProps,\n classFullName: \"\",\n width: this.sheetSize.x,\n height: this.sheetSize.y,\n scale: 1,\n };\n\n return props;\n }\n\n /** Strictly for testing. @internal */\n public get viewAttachmentProps(): Array<Readonly<ViewAttachmentProps>> {\n return this._viewAttachments.attachmentProps;\n }\n\n /** Strictly for testing. @internal */\n public get viewAttachmentInfos(): readonly Id64String[] | Array<{ attachedView: ViewState }> {\n return this._viewAttachments.attachmentInfos;\n }\n\n /** Strictly for testing. @internal */\n public get attachments(): object[] | undefined {\n return this._viewAttachments.attachments;\n }\n\n public override isDrawingView(): this is DrawingViewState { return false; }\n public override isSheetView(): this is SheetViewState { return true; }\n\n public constructor(props: ViewDefinition2dProps, iModel: IModelConnection, categories: CategorySelectorState, displayStyle: DisplayStyle2dState, sheetProps: SheetProps, attachments: Id64Array) {\n super(props, iModel, categories, displayStyle);\n if (categories instanceof SheetViewState) {\n // we are coming from clone...\n this.sheetSize = categories.sheetSize.clone();\n this._viewAttachments = categories._viewAttachments.clone(iModel);\n this._viewedExtents = categories._viewedExtents.clone();\n } else {\n this.sheetSize = Point2d.create(sheetProps.width, sheetProps.height);\n this._viewAttachments = SheetViewAttachments.create(attachments);\n\n const extents = new Range3d(0, 0, 0, this.sheetSize.x, this.sheetSize.y, 0);\n const margin = 1.1;\n extents.scaleAboutCenterInPlace(margin);\n this._viewedExtents = extents;\n }\n\n if (iModel.isBriefcaseConnection()) {\n iModel.txns.onElementsChanged.addListener(async (changes) => {\n let reload = false;\n for (const change of changes.filter({ includeMetadata: (meta) => meta.is(\"BisCore:ViewAttachment\")})) {\n if (change.type === \"inserted\" || this._viewAttachments.attachmentIds.includes(change.id)) {\n reload = true;\n break;\n }\n }\n\n if (reload) {\n await this._viewAttachments.reload(this.baseModelId, iModel);\n this._onViewAttachmentsReloaded();\n this.onViewAttachmentsReloaded.raiseEvent();\n }\n });\n }\n }\n\n public override getOrigin() {\n const origin = super.getOrigin();\n origin.z = -this._viewAttachments.maxDepth;\n return origin;\n }\n\n public override getExtents() {\n const extents = super.getExtents();\n extents.z = this._viewAttachments.maxDepth + Frustum2d.minimumZDistance;\n return extents;\n }\n\n /** Overrides [[ViewState.discloseTileTrees]] to include tile trees associated with [ViewAttachment]($backend)s displayed on this sheet. */\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\n super.discloseTileTrees(trees);\n trees.disclose(this._viewAttachments);\n }\n\n /** @internal */\n public override collectNonTileTreeStatistics(stats: RenderMemory.Statistics): void {\n super.collectNonTileTreeStatistics(stats);\n this._viewAttachments.collectStatistics(stats);\n }\n\n public override get defaultExtentLimits() {\n return { min: Constant.oneMillimeter, max: this.sheetSize.magnitude() * 10 };\n }\n\n public override getViewedExtents(): AxisAlignedBox3d {\n return this._viewedExtents;\n }\n\n /** @internal */\n protected override preload(hydrateRequest: HydrateViewStateRequestProps): void {\n super.preload(hydrateRequest);\n this._viewAttachments.preload(hydrateRequest);\n }\n\n /** @internal */\n protected override async postload(hydrateResponse: HydrateViewStateResponseProps): Promise<void> {\n const promises = [];\n promises.push(super.postload(hydrateResponse));\n promises.push(this._viewAttachments.postload(hydrateResponse, this.iModel));\n await Promise.all(promises);\n }\n\n /** @internal */\n public override createScene(context: SceneContext): void {\n super.createScene(context);\n this._viewAttachments.addToScene(context);\n }\n\n /** @internal */\n public override get secondaryViewports(): Iterable<Viewport> {\n return this._viewAttachments.getSecondaryViewports();\n }\n\n /** @internal */\n private async queryAttachmentIds(): Promise<Id64Array> {\n const ecsql = `SELECT ECInstanceId as attachmentId FROM bis.ViewAttachment WHERE model.Id=${this.baseModelId}`;\n const ids: string[] = [];\n for await (const row of this.iModel.createQueryReader(ecsql))\n ids.push(row[0]);\n\n return ids;\n }\n\n public override async changeViewedModel(modelId: Id64String): Promise<void> {\n await super.changeViewedModel(modelId);\n\n const attachmentIds = await this.queryAttachmentIds();\n\n dispose(this._viewAttachments);\n this._viewAttachments = SheetViewAttachments.create(attachmentIds);\n }\n\n /** See [[ViewState.attachToViewport]]. */\n public override attachToViewport(args: AttachToViewportArgs): void {\n super.attachToViewport(args);\n this._viewAttachments.attachToViewport({\n backgroundColor: this.displayStyle.backgroundColor,\n sheetModelId: this.baseModelId,\n });\n\n this._onViewAttachmentsReloaded = () => args.invalidateController();\n }\n\n /** See [[ViewState.detachFromViewport]]. */\n public override detachFromViewport(): void {\n super.detachFromViewport();\n this._viewAttachments.detachFromViewport();\n this._onViewAttachmentsReloaded = () => undefined;\n }\n\n public override get areAllTileTreesLoaded(): boolean {\n if (!super.areAllTileTreesLoaded) {\n return false;\n }\n\n let displayedExtents = this._viewedExtents;\n const frustum = this.calculateFrustum();\n if (frustum) {\n displayedExtents = frustum.toRange();\n }\n\n return this._viewAttachments.areAllTileTreesLoaded(displayedExtents);\n }\n\n /** @internal Strictly for testing */\n public areAllAttachmentsLoaded(): boolean {\n return this._viewAttachments.areAllAttachmentsLoaded();\n }\n\n /** Create a sheet border decoration graphic. */\n private createBorder(width: number, height: number, context: DecorateContext): RenderGraphic {\n const border = SheetBorder.create(width, height, context);\n const builder = context.createGraphicBuilder(GraphicType.ViewBackground);\n border.addToBuilder(builder);\n return builder.finish();\n }\n\n /** @internal */\n public override decorate(context: DecorateContext): void {\n super.decorate(context);\n if (this.sheetSize !== undefined) {\n const border = this.createBorder(this.sheetSize.x, this.sheetSize.y, context);\n context.setViewBackground(border);\n }\n }\n\n public override computeFitRange(): Range3d {\n const size = this.sheetSize;\n if (0 >= size.x || 0 >= size.y)\n return super.computeFitRange();\n return new Range3d(0, 0, -1, size.x, size.y, 1);\n }\n\n /** @internal */\n public override getAttachmentViewport(args: GetAttachmentViewportArgs): Viewport | undefined {\n return this._viewAttachments.getAttachmentViewport(args);\n }\n\n /** @beta */\n public override computeDisplayTransform(args: ComputeDisplayTransformArgs): Transform | undefined {\n // ###TODO we're currently ignoring model and element Id in args, assuming irrelevant for sheets.\n // Should probably call super or have super call us.\n return this._viewAttachments.computeDisplayTransform(args);\n }\n}\n"]}
1
+ {"version":3,"file":"SheetViewState.js","sourceRoot":"","sources":["../../src/SheetViewState.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Views\n */\n\nimport { BeEvent, dispose, expectDefined, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { Angle, Constant, Point2d, Point3d, Range2d, Range3d, Transform } from \"@itwin/core-geometry\";\nimport {\n AxisAlignedBox3d, ColorDef, Gradient, GraphicParams, HydrateViewStateRequestProps, HydrateViewStateResponseProps, SheetProps,\n ViewAttachmentProps, ViewDefinition2dProps, ViewStateProps,\n} from \"@itwin/core-common\";\nimport { CategorySelectorState } from \"./CategorySelectorState\";\nimport { DisplayStyle2dState } from \"./DisplayStyleState\";\nimport { IModelConnection } from \"./IModelConnection\";\nimport { GraphicBuilder } from \"./render/GraphicBuilder\";\nimport { RenderGraphic } from \"./render/RenderGraphic\";\nimport { Frustum2d } from \"./Frustum2d\";\nimport { RenderMemory } from \"./render/RenderMemory\";\nimport { DecorateContext, SceneContext } from \"./ViewContext\";\nimport { Viewport } from \"./Viewport\";\nimport { AttachToViewportArgs, ComputeDisplayTransformArgs, GetAttachmentViewportArgs, ViewState, ViewState2d } from \"./ViewState\";\nimport { DrawingViewState } from \"./DrawingViewState\";\nimport { DisclosedTileTreeSet } from \"./tile/internal\";\nimport { GraphicType } from \"./common/render/GraphicType\";\nimport { SheetViewAttachments } from \"./internal/SheetViewAttachments\";\n\n// cSpell:ignore ovrs\n\n/** Describes the geometry and styling of a sheet border decoration.\n * The sheet border decoration mimics a sheet of paper with a drop shadow.\n */\nclass SheetBorder {\n private _rect: Point2d[];\n private _shadow: Point2d[];\n private _gradient: Gradient.Symb;\n\n private constructor(rect: Point2d[], shadow: Point2d[], gradient: Gradient.Symb) {\n this._rect = rect;\n this._shadow = shadow;\n this._gradient = gradient;\n }\n\n /** Create a new sheet border. If a context is supplied, points are transformed to view coordinates. */\n public static create(width: number, height: number, context?: DecorateContext) {\n // Rect\n const rect: Point3d[] = [\n Point3d.create(0, height),\n Point3d.create(0, 0),\n Point3d.create(width, 0),\n Point3d.create(width, height),\n Point3d.create(0, height)];\n if (context) {\n context.viewport.worldToViewArray(rect);\n }\n\n // Shadow\n const shadowWidth = .01 * Math.sqrt(width * width + height * height);\n const shadow: Point3d[] = [\n Point3d.create(shadowWidth, 0),\n Point3d.create(shadowWidth, -shadowWidth),\n Point3d.create(width + shadowWidth, -shadowWidth),\n Point3d.create(width + shadowWidth, height - shadowWidth),\n Point3d.create(width, height - shadowWidth),\n Point3d.create(width, 0),\n Point3d.create(shadowWidth, 0),\n ];\n if (context) {\n context.viewport.worldToViewArray(shadow);\n }\n\n // Gradient\n const gradient = new Gradient.Symb();\n gradient.mode = Gradient.Mode.Linear;\n gradient.angle = Angle.createDegrees(-45);\n gradient.keys = [{ value: 0, color: ColorDef.from(25, 25, 25) }, { value: 0.5, color: ColorDef.from(150, 150, 150) }];\n\n // Copy over points\n const rect2d: Point2d[] = [];\n for (const point of rect)\n rect2d.push(Point2d.createFrom(point));\n const shadow2d: Point2d[] = [];\n for (const point of shadow)\n shadow2d.push(Point2d.createFrom(point));\n\n return new SheetBorder(rect2d, shadow2d, gradient);\n }\n\n public getRange(): Range2d {\n const range = Range2d.createArray(this._rect);\n const shadowRange = Range2d.createArray(this._shadow);\n range.extendRange(shadowRange);\n return range;\n }\n\n /** Add this border to the given GraphicBuilder. */\n public addToBuilder(builder: GraphicBuilder) {\n const lineColor = ColorDef.black;\n const fillColor = ColorDef.black;\n\n const params = new GraphicParams();\n params.fillColor = fillColor;\n params.gradient = this._gradient;\n\n builder.activateGraphicParams(params);\n builder.addShape2d(this._shadow, Frustum2d.minimumZDistance);\n\n builder.setSymbology(lineColor, fillColor, 2);\n builder.addLineString2d(this._rect, 0);\n }\n}\n\n/** A view of a [SheetModel]($backend).\n * @public\n * @extensions\n */\nexport class SheetViewState extends ViewState2d {\n /** The width and height of the sheet in world coordinates. */\n public readonly sheetSize: Point2d;\n private _viewAttachments: SheetViewAttachments;\n private readonly _viewedExtents: AxisAlignedBox3d;\n private _onViewAttachmentsReloaded: () => void = () => undefined;\n\n /** Strictly for tests. */\n public readonly onViewAttachmentsReloaded = new BeEvent<() => void>();\n\n public get attachmentIds(): readonly string[] {\n return this._viewAttachments.attachmentIds;\n }\n\n public static override get className() { return \"SheetViewDefinition\"; }\n\n public static override createFromProps(viewStateData: ViewStateProps, iModel: IModelConnection): SheetViewState {\n const cat = new CategorySelectorState(viewStateData.categorySelectorProps, iModel);\n const displayStyleState = new DisplayStyle2dState(viewStateData.displayStyleProps, iModel);\n\n // use \"new this\" so subclasses are correct\n return new this(viewStateData.viewDefinitionProps as ViewDefinition2dProps, iModel, cat, displayStyleState, expectDefined(viewStateData.sheetProps), expectDefined(viewStateData.sheetAttachments));\n }\n\n public override toProps(): ViewStateProps {\n const props = super.toProps();\n\n props.sheetAttachments = [...this.attachmentIds];\n\n // For sheetProps all that is actually used is the size, so just null out everything else.\n const codeProps = { spec: \"\", scope: \"\", value: \"\" };\n props.sheetProps = {\n model: \"\",\n code: codeProps,\n classFullName: \"\",\n width: this.sheetSize.x,\n height: this.sheetSize.y,\n scale: 1,\n };\n\n return props;\n }\n\n /** Strictly for testing. @internal */\n public get viewAttachmentProps(): Array<Readonly<ViewAttachmentProps>> {\n return this._viewAttachments.attachmentProps;\n }\n\n /** Strictly for testing. @internal */\n public get viewAttachmentInfos(): readonly Id64String[] | Array<{ attachedView: ViewState }> {\n return this._viewAttachments.attachmentInfos;\n }\n\n /** Strictly for testing. @internal */\n public get attachments(): object[] | undefined {\n return this._viewAttachments.attachments;\n }\n\n public override isDrawingView(): this is DrawingViewState { return false; }\n public override isSheetView(): this is SheetViewState { return true; }\n\n public constructor(props: ViewDefinition2dProps, iModel: IModelConnection, categories: CategorySelectorState, displayStyle: DisplayStyle2dState, sheetProps: SheetProps, attachments: Id64Array) {\n super(props, iModel, categories, displayStyle);\n if (categories instanceof SheetViewState) {\n // we are coming from clone...\n this.sheetSize = categories.sheetSize.clone();\n this._viewAttachments = categories._viewAttachments.clone(iModel);\n this._viewedExtents = categories._viewedExtents.clone();\n } else {\n this.sheetSize = Point2d.create(sheetProps.width, sheetProps.height);\n this._viewAttachments = SheetViewAttachments.create(attachments);\n\n const extents = new Range3d(0, 0, 0, this.sheetSize.x, this.sheetSize.y, 0);\n const margin = 1.1;\n extents.scaleAboutCenterInPlace(margin);\n this._viewedExtents = extents;\n }\n\n if (iModel.isBriefcaseConnection()) {\n iModel.txns.onElementsChanged.addListener(async (changes) => {\n let reload = false;\n for (const change of changes.filter({ includeMetadata: (meta) => meta.is(\"BisCore:ViewAttachment\")})) {\n if (change.type === \"inserted\" || this._viewAttachments.attachmentIds.includes(change.id)) {\n reload = true;\n break;\n }\n }\n\n if (reload) {\n if (await this._viewAttachments.reload(this.baseModelId, iModel)) {\n this._onViewAttachmentsReloaded();\n this.onViewAttachmentsReloaded.raiseEvent();\n }\n }\n });\n }\n }\n\n public override getOrigin() {\n const origin = super.getOrigin();\n origin.z = -this._viewAttachments.maxDepth;\n return origin;\n }\n\n public override getExtents() {\n const extents = super.getExtents();\n extents.z = this._viewAttachments.maxDepth + Frustum2d.minimumZDistance;\n return extents;\n }\n\n /** Overrides [[ViewState.discloseTileTrees]] to include tile trees associated with [ViewAttachment]($backend)s displayed on this sheet. */\n public override discloseTileTrees(trees: DisclosedTileTreeSet): void {\n super.discloseTileTrees(trees);\n trees.disclose(this._viewAttachments);\n }\n\n /** @internal */\n public override collectNonTileTreeStatistics(stats: RenderMemory.Statistics): void {\n super.collectNonTileTreeStatistics(stats);\n this._viewAttachments.collectStatistics(stats);\n }\n\n public override get defaultExtentLimits() {\n return { min: Constant.oneMillimeter, max: this.sheetSize.magnitude() * 10 };\n }\n\n public override getViewedExtents(): AxisAlignedBox3d {\n return this._viewedExtents;\n }\n\n /** @internal */\n protected override preload(hydrateRequest: HydrateViewStateRequestProps): void {\n super.preload(hydrateRequest);\n this._viewAttachments.preload(hydrateRequest);\n }\n\n /** @internal */\n protected override async postload(hydrateResponse: HydrateViewStateResponseProps): Promise<void> {\n const promises = [];\n promises.push(super.postload(hydrateResponse));\n promises.push(this._viewAttachments.postload(hydrateResponse, this.iModel));\n await Promise.all(promises);\n }\n\n /** @internal */\n public override createScene(context: SceneContext): void {\n super.createScene(context);\n this._viewAttachments.addToScene(context);\n }\n\n /** @internal */\n public override get secondaryViewports(): Iterable<Viewport> {\n return this._viewAttachments.getSecondaryViewports();\n }\n\n /** @internal */\n private async queryAttachmentIds(): Promise<Id64Array> {\n const ecsql = `SELECT ECInstanceId as attachmentId FROM bis.ViewAttachment WHERE model.Id=${this.baseModelId}`;\n const ids: string[] = [];\n for await (const row of this.iModel.createQueryReader(ecsql))\n ids.push(row[0]);\n\n return ids;\n }\n\n public override async changeViewedModel(modelId: Id64String): Promise<void> {\n await super.changeViewedModel(modelId);\n\n const attachmentIds = await this.queryAttachmentIds();\n\n dispose(this._viewAttachments);\n this._viewAttachments = SheetViewAttachments.create(attachmentIds);\n }\n\n /** See [[ViewState.attachToViewport]]. */\n public override attachToViewport(args: AttachToViewportArgs): void {\n super.attachToViewport(args);\n this._viewAttachments.attachToViewport({\n backgroundColor: this.displayStyle.backgroundColor,\n sheetModelId: this.baseModelId,\n });\n\n this._onViewAttachmentsReloaded = () => args.invalidateController();\n }\n\n /** See [[ViewState.detachFromViewport]]. */\n public override detachFromViewport(): void {\n super.detachFromViewport();\n this._viewAttachments.detachFromViewport();\n this._onViewAttachmentsReloaded = () => undefined;\n }\n\n public override get areAllTileTreesLoaded(): boolean {\n if (!super.areAllTileTreesLoaded) {\n return false;\n }\n\n let displayedExtents = this._viewedExtents;\n const frustum = this.calculateFrustum();\n if (frustum) {\n displayedExtents = frustum.toRange();\n }\n\n return this._viewAttachments.areAllTileTreesLoaded(displayedExtents);\n }\n\n /** @internal Strictly for testing */\n public areAllAttachmentsLoaded(): boolean {\n return this._viewAttachments.areAllAttachmentsLoaded();\n }\n\n /** Create a sheet border decoration graphic. */\n private createBorder(width: number, height: number, context: DecorateContext): RenderGraphic {\n const border = SheetBorder.create(width, height, context);\n const builder = context.createGraphicBuilder(GraphicType.ViewBackground);\n border.addToBuilder(builder);\n return builder.finish();\n }\n\n /** @internal */\n public override decorate(context: DecorateContext): void {\n super.decorate(context);\n if (this.sheetSize !== undefined) {\n const border = this.createBorder(this.sheetSize.x, this.sheetSize.y, context);\n context.setViewBackground(border);\n }\n }\n\n public override computeFitRange(): Range3d {\n const size = this.sheetSize;\n if (0 >= size.x || 0 >= size.y)\n return super.computeFitRange();\n return new Range3d(0, 0, -1, size.x, size.y, 1);\n }\n\n /** @internal */\n public override getAttachmentViewport(args: GetAttachmentViewportArgs): Viewport | undefined {\n return this._viewAttachments.getAttachmentViewport(args);\n }\n\n /** @beta */\n public override computeDisplayTransform(args: ComputeDisplayTransformArgs): Transform | undefined {\n // ###TODO we're currently ignoring model and element Id in args, assuming irrelevant for sheets.\n // Should probably call super or have super call us.\n return this._viewAttachments.computeDisplayTransform(args);\n }\n}\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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"}
@@ -12,6 +12,7 @@ const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_geometry_1 = require("@itwin/core-geometry");
13
13
  const core_common_1 = require("@itwin/core-common");
14
14
  const ChangeFlags_1 = require("./ChangeFlags");
15
+ const ContextRealityModelState_1 = require("./ContextRealityModelState");
15
16
  const CoordSystem_1 = require("./CoordSystem");
16
17
  const DecorationsCache_1 = require("./DecorationsCache");
17
18
  const ElementLocateManager_1 = require("./ElementLocateManager");
@@ -952,7 +953,12 @@ class Viewport {
952
953
  removals.push(settings.contextRealityModels.onDisplaySettingsChanged.addListener(displayStyleChanged));
953
954
  removals.push(settings.contextRealityModels.onInvisibleChanged.addListener(invalidateControllerAndDisplayStyleChanged));
954
955
  removals.push(settings.onRealityModelDisplaySettingsChanged.addListener(displayStyleChanged));
955
- removals.push(settings.contextRealityModels.onChanged.addListener(displayStyleChanged));
956
+ removals.push(settings.contextRealityModels.onChanged.addListener((previousModel, _newModel) => {
957
+ displayStyleChanged();
958
+ // When a reality model is removed or replaced, detach its layer listeners to prevent leaks.
959
+ if (previousModel instanceof ContextRealityModelState_1.ContextRealityModelState)
960
+ previousModel.detachLayerListeners();
961
+ }));
956
962
  removals.push(style.onOSMBuildingDisplayChanged.addListener(() => {
957
963
  displayStyleChanged();
958
964
  this.synchWithView({ noSaveInUndo: true }); // May change frustum depth.
@@ -1043,6 +1049,13 @@ class Viewport {
1043
1049
  detachFromDisplayStyle() {
1044
1050
  this._detachFromDisplayStyle.forEach((f) => f());
1045
1051
  this._detachFromDisplayStyle.length = 0;
1052
+ // Detach layer listeners from reality model tree refs to prevent leaks.
1053
+ if (this._view) {
1054
+ for (const model of this.displayStyle.settings.contextRealityModels.models) {
1055
+ if (model instanceof ContextRealityModelState_1.ContextRealityModelState)
1056
+ model.detachLayerListeners();
1057
+ }
1058
+ }
1046
1059
  if (this._mapTiledGraphicsProvider) {
1047
1060
  this._mapTiledGraphicsProvider.detachFromDisplayStyle();
1048
1061
  this._mapTiledGraphicsProvider = undefined;