@itwin/core-backend 5.1.0-dev.3 → 5.1.0-dev.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.d.ts +10 -2
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
- package/lib/cjs/BriefcaseManager.js +12 -0
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.d.ts +41 -4
- package/lib/cjs/Category.d.ts.map +1 -1
- package/lib/cjs/Category.js +77 -4
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +2 -2
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +242 -242
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +5 -5
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.d.ts +1 -1
- package/lib/cjs/CodeSpecs.js +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.d.ts +9 -4
- package/lib/cjs/DisplayStyle.d.ts.map +1 -1
- package/lib/cjs/DisplayStyle.js +30 -3
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.d.ts +216 -60
- package/lib/cjs/Element.d.ts.map +1 -1
- package/lib/cjs/Element.js +560 -59
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.d.ts +7 -7
- package/lib/cjs/ElementAspect.d.ts.map +1 -1
- package/lib/cjs/ElementAspect.js +7 -7
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.d.ts +43 -3
- package/lib/cjs/Entity.d.ts.map +1 -1
- package/lib/cjs/Entity.js +59 -1
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.d.ts +54 -8
- package/lib/cjs/ExportGraphics.d.ts.map +1 -1
- package/lib/cjs/ExportGraphics.js +158 -59
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/FontFile.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeographicCRSServices.d.ts +6 -2
- package/lib/cjs/GeographicCRSServices.d.ts.map +1 -1
- package/lib/cjs/GeographicCRSServices.js +1 -1
- package/lib/cjs/GeographicCRSServices.js.map +1 -1
- package/lib/cjs/GeometrySummary.js +47 -47
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +28 -43
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +177 -92
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.d.ts +13 -0
- package/lib/cjs/IModelHost.d.ts.map +1 -1
- package/lib/cjs/IModelHost.js +6 -0
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.js +1 -1
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.d.ts +19 -0
- package/lib/cjs/Material.d.ts.map +1 -1
- package/lib/cjs/Material.js +29 -0
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.d.ts +64 -28
- package/lib/cjs/Model.d.ts.map +1 -1
- package/lib/cjs/Model.js +115 -27
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/Texture.d.ts +1 -1
- package/lib/cjs/Texture.js +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +4 -4
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +2 -1
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.d.ts +140 -14
- package/lib/cjs/ViewDefinition.d.ts.map +1 -1
- package/lib/cjs/ViewDefinition.js +250 -14
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js +3 -3
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.d.ts +52 -0
- package/lib/cjs/annotations/FrameGeometry.d.ts.map +1 -0
- package/lib/cjs/annotations/FrameGeometry.js +250 -0
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -0
- package/lib/cjs/{TextAnnotationElement.d.ts → annotations/TextAnnotationElement.d.ts} +6 -11
- package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -0
- package/lib/cjs/{TextAnnotationElement.js → annotations/TextAnnotationElement.js} +20 -26
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -0
- package/lib/cjs/annotations/TextAnnotationGeometry.d.ts +31 -0
- package/lib/cjs/annotations/TextAnnotationGeometry.d.ts.map +1 -0
- package/lib/cjs/annotations/TextAnnotationGeometry.js +83 -0
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -0
- package/lib/cjs/annotations/TextBlockGeometry.d.ts +16 -0
- package/lib/cjs/annotations/TextBlockGeometry.d.ts.map +1 -0
- package/lib/cjs/{TextAnnotationGeometry.js → annotations/TextBlockGeometry.js} +11 -68
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -0
- package/lib/cjs/{TextAnnotationLayout.d.ts → annotations/TextBlockLayout.d.ts} +19 -7
- package/lib/cjs/annotations/TextBlockLayout.d.ts.map +1 -0
- package/lib/cjs/{TextAnnotationLayout.js → annotations/TextBlockLayout.js} +19 -7
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -0
- package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
- package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.d.ts +5 -3
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +5 -6
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.d.ts +28 -0
- package/lib/cjs/internal/ElementLRUCache.d.ts.map +1 -0
- package/lib/cjs/internal/ElementLRUCache.js +120 -0
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -0
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.d.ts +1 -0
- package/lib/cjs/internal/Symbols.d.ts.map +1 -1
- package/lib/cjs/internal/Symbols.js +2 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +2 -2
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.d.ts +10 -2
- package/lib/esm/BriefcaseManager.d.ts.map +1 -1
- package/lib/esm/BriefcaseManager.js +12 -0
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.d.ts +41 -4
- package/lib/esm/Category.d.ts.map +1 -1
- package/lib/esm/Category.js +77 -4
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +242 -242
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +5 -5
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.d.ts +1 -1
- package/lib/esm/CodeSpecs.js +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.d.ts +9 -4
- package/lib/esm/DisplayStyle.d.ts.map +1 -1
- package/lib/esm/DisplayStyle.js +30 -3
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.d.ts +216 -60
- package/lib/esm/Element.d.ts.map +1 -1
- package/lib/esm/Element.js +563 -62
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.d.ts +7 -7
- package/lib/esm/ElementAspect.d.ts.map +1 -1
- package/lib/esm/ElementAspect.js +7 -7
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.d.ts +43 -3
- package/lib/esm/Entity.d.ts.map +1 -1
- package/lib/esm/Entity.js +59 -1
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.d.ts +54 -8
- package/lib/esm/ExportGraphics.d.ts.map +1 -1
- package/lib/esm/ExportGraphics.js +156 -58
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.js.map +1 -1
- package/lib/esm/FontFile.js.map +1 -1
- package/lib/esm/GeoCoordConfig.js.map +1 -1
- package/lib/esm/GeographicCRSServices.d.ts +6 -2
- package/lib/esm/GeographicCRSServices.d.ts.map +1 -1
- package/lib/esm/GeographicCRSServices.js +1 -1
- package/lib/esm/GeographicCRSServices.js.map +1 -1
- package/lib/esm/GeometrySummary.js +47 -47
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +28 -43
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +180 -95
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.d.ts +13 -0
- package/lib/esm/IModelHost.d.ts.map +1 -1
- package/lib/esm/IModelHost.js +6 -0
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.js +1 -1
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.d.ts +19 -0
- package/lib/esm/Material.d.ts.map +1 -1
- package/lib/esm/Material.js +30 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.d.ts +64 -28
- package/lib/esm/Model.d.ts.map +1 -1
- package/lib/esm/Model.js +116 -28
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/Texture.d.ts +1 -1
- package/lib/esm/Texture.js +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +4 -4
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +2 -1
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.d.ts +140 -14
- package/lib/esm/ViewDefinition.d.ts.map +1 -1
- package/lib/esm/ViewDefinition.js +251 -15
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js +3 -3
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.d.ts +52 -0
- package/lib/esm/annotations/FrameGeometry.d.ts.map +1 -0
- package/lib/esm/annotations/FrameGeometry.js +245 -0
- package/lib/esm/annotations/FrameGeometry.js.map +1 -0
- package/lib/esm/{TextAnnotationElement.d.ts → annotations/TextAnnotationElement.d.ts} +6 -11
- package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -0
- package/lib/esm/{TextAnnotationElement.js → annotations/TextAnnotationElement.js} +22 -28
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -0
- package/lib/esm/annotations/TextAnnotationGeometry.d.ts +31 -0
- package/lib/esm/annotations/TextAnnotationGeometry.d.ts.map +1 -0
- package/lib/esm/annotations/TextAnnotationGeometry.js +80 -0
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -0
- package/lib/esm/annotations/TextBlockGeometry.d.ts +16 -0
- package/lib/esm/annotations/TextBlockGeometry.d.ts.map +1 -0
- package/lib/esm/{TextAnnotationGeometry.js → annotations/TextBlockGeometry.js} +11 -68
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -0
- package/lib/esm/{TextAnnotationLayout.d.ts → annotations/TextBlockLayout.d.ts} +19 -7
- package/lib/esm/annotations/TextBlockLayout.d.ts.map +1 -0
- package/lib/esm/{TextAnnotationLayout.js → annotations/TextBlockLayout.js} +19 -7
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -0
- package/lib/esm/core-backend.d.ts +5 -3
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +5 -3
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.d.ts +28 -0
- package/lib/esm/internal/ElementLRUCache.d.ts.map +1 -0
- package/lib/esm/internal/ElementLRUCache.js +116 -0
- package/lib/esm/internal/ElementLRUCache.js.map +1 -0
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.d.ts +1 -0
- package/lib/esm/internal/Symbols.d.ts.map +1 -1
- package/lib/esm/internal/Symbols.js +1 -0
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js +2 -2
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js +11 -11
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.d.ts +2 -0
- package/lib/esm/test/ElementLRUCache.test.d.ts.map +1 -0
- package/lib/esm/test/ElementLRUCache.test.js +212 -0
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -0
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js +25 -25
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js +190 -1025
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.d.ts +2 -0
- package/lib/esm/test/annotations/TextBlock.test.d.ts.map +1 -0
- package/lib/esm/test/annotations/TextBlock.test.js +969 -0
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -0
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
- package/lib/esm/test/ecdb/CTE.test.js +88 -88
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js +86 -65
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js +7 -30
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +292 -292
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +22 -22
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +68 -16
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js +23 -9
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js +71 -71
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +28 -28
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +67 -15
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.d.ts +2 -0
- package/lib/esm/test/standalone/IModelLimits.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/IModelLimits.test.js +103 -0
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -0
- package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js +20 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +12 -12
- package/lib/cjs/TextAnnotationElement.d.ts.map +0 -1
- package/lib/cjs/TextAnnotationElement.js.map +0 -1
- package/lib/cjs/TextAnnotationGeometry.d.ts +0 -32
- package/lib/cjs/TextAnnotationGeometry.d.ts.map +0 -1
- package/lib/cjs/TextAnnotationGeometry.js.map +0 -1
- package/lib/cjs/TextAnnotationLayout.d.ts.map +0 -1
- package/lib/cjs/TextAnnotationLayout.js.map +0 -1
- package/lib/esm/TextAnnotationElement.d.ts.map +0 -1
- package/lib/esm/TextAnnotationElement.js.map +0 -1
- package/lib/esm/TextAnnotationGeometry.d.ts +0 -32
- package/lib/esm/TextAnnotationGeometry.d.ts.map +0 -1
- package/lib/esm/TextAnnotationGeometry.js.map +0 -1
- package/lib/esm/TextAnnotationLayout.d.ts.map +0 -1
- package/lib/esm/TextAnnotationLayout.js.map +0 -1
package/lib/cjs/Element.js
CHANGED
|
@@ -38,7 +38,7 @@ const Symbols_1 = require("./internal/Symbols");
|
|
|
38
38
|
* * [Element Fundamentals]($docs/bis/guide/fundamentals/element-fundamentals.md)
|
|
39
39
|
* * [Working with schemas and elements in TypeScript]($docs/learning/backend/SchemasAndElementsInTypeScript.md)
|
|
40
40
|
* * [Creating elements]($docs/learning/backend/CreateElements.md)
|
|
41
|
-
* @public
|
|
41
|
+
* @public @preview
|
|
42
42
|
*/
|
|
43
43
|
class Element extends Entity_1.Entity {
|
|
44
44
|
static get className() { return "Element"; }
|
|
@@ -65,6 +65,51 @@ class Element extends Entity_1.Entity {
|
|
|
65
65
|
this.userLabel = props.userLabel;
|
|
66
66
|
this.jsonProperties = { ...props.jsonProperties }; // make sure we have our own copy
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Element custom HandledProps include 'codeValue', 'codeSpec', 'codeScope', 'model', 'parent', 'federationGuid', and 'lastMod'.
|
|
70
|
+
* @inheritdoc
|
|
71
|
+
* @beta
|
|
72
|
+
*/
|
|
73
|
+
static _customHandledProps = [
|
|
74
|
+
{ propertyName: "codeValue", source: "Class" },
|
|
75
|
+
{ propertyName: "codeSpec", source: "Class" },
|
|
76
|
+
{ propertyName: "codeScope", source: "Class" },
|
|
77
|
+
{ propertyName: "model", source: "Class" },
|
|
78
|
+
{ propertyName: "parent", source: "Class" },
|
|
79
|
+
{ propertyName: "federationGuid", source: "Class" },
|
|
80
|
+
{ propertyName: "lastMod", source: "Class" },
|
|
81
|
+
];
|
|
82
|
+
/**
|
|
83
|
+
* Element deserializes 'codeValue', 'codeSpec', 'codeScope', 'model', 'parent', and 'federationGuid'.
|
|
84
|
+
* @inheritdoc
|
|
85
|
+
* @beta
|
|
86
|
+
*/
|
|
87
|
+
static deserialize(props) {
|
|
88
|
+
const elProps = super.deserialize(props);
|
|
89
|
+
const instance = props.row;
|
|
90
|
+
elProps.code = { value: instance.codeValue ?? "", spec: instance.codeSpec.id, scope: instance.codeScope.id };
|
|
91
|
+
elProps.model = instance.model.id;
|
|
92
|
+
if (instance.parent)
|
|
93
|
+
elProps.parent = instance.parent;
|
|
94
|
+
if (instance.federationGuid)
|
|
95
|
+
elProps.federationGuid = instance.federationGuid;
|
|
96
|
+
return elProps;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Element serialize 'codeValue', 'codeSpec', 'codeScope', 'model', 'parent', and 'federationGuid'.
|
|
100
|
+
* @inheritdoc
|
|
101
|
+
* @beta
|
|
102
|
+
*/
|
|
103
|
+
static serialize(props, iModel) {
|
|
104
|
+
const inst = super.serialize(props, iModel);
|
|
105
|
+
inst.codeValue = props.code.value;
|
|
106
|
+
inst.codeSpec = { id: props.code.spec };
|
|
107
|
+
inst.codeScope = { id: props.code.scope };
|
|
108
|
+
inst.model = { id: props.model };
|
|
109
|
+
inst.parent = props.parent;
|
|
110
|
+
inst.federationGuid = props.federationGuid ?? iModel[Symbols_1._nativeDb].newBeGuid();
|
|
111
|
+
return inst;
|
|
112
|
+
}
|
|
68
113
|
/** Called before a new Element is inserted.
|
|
69
114
|
* @note throw an exception to disallow the insert
|
|
70
115
|
* @note If you override this method, you must call super.
|
|
@@ -89,6 +134,7 @@ class Element extends Entity_1.Entity {
|
|
|
89
134
|
const locks = arg.iModel.locks;
|
|
90
135
|
if (locks && !locks.holdsExclusiveLock(arg.model))
|
|
91
136
|
locks[Symbols_1._elementWasCreated](arg.id);
|
|
137
|
+
arg.iModel.models[Symbols_1._cache].delete(arg.model);
|
|
92
138
|
}
|
|
93
139
|
/** Called before an Element is updated.
|
|
94
140
|
* @note throw an exception to disallow the update
|
|
@@ -107,7 +153,10 @@ class Element extends Entity_1.Entity {
|
|
|
107
153
|
* @note `this` is the class of the Element that was updated
|
|
108
154
|
* @beta
|
|
109
155
|
*/
|
|
110
|
-
static onUpdated(
|
|
156
|
+
static onUpdated(arg) {
|
|
157
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id: arg.id });
|
|
158
|
+
arg.iModel.models[Symbols_1._cache].delete(arg.model);
|
|
159
|
+
}
|
|
111
160
|
/** Called before an Element is deleted.
|
|
112
161
|
* @note throw an exception to disallow the delete
|
|
113
162
|
* @note If you override this method, you must call super.
|
|
@@ -123,7 +172,10 @@ class Element extends Entity_1.Entity {
|
|
|
123
172
|
* @note `this` is the class of the Element that was deleted
|
|
124
173
|
* @beta
|
|
125
174
|
*/
|
|
126
|
-
static onDeleted(
|
|
175
|
+
static onDeleted(arg) {
|
|
176
|
+
arg.iModel.elements[Symbols_1._cache].delete(arg);
|
|
177
|
+
arg.iModel.models[Symbols_1._cache].delete(arg.model);
|
|
178
|
+
}
|
|
127
179
|
/** Called when an element with an instance of this class as its parent is about to be deleted.
|
|
128
180
|
* @note throw an exception if the element should not be deleted
|
|
129
181
|
* @note implementers should not presume that the element was deleted if this method does not throw,
|
|
@@ -136,7 +188,10 @@ class Element extends Entity_1.Entity {
|
|
|
136
188
|
* @note `this` is the class of the parent Element whose child was deleted
|
|
137
189
|
* @beta
|
|
138
190
|
*/
|
|
139
|
-
static onChildDeleted(
|
|
191
|
+
static onChildDeleted(arg) {
|
|
192
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id: arg.parentId });
|
|
193
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id: arg.childId });
|
|
194
|
+
}
|
|
140
195
|
/** Called when a *new element* with an instance of this class as its parent is about to be inserted.
|
|
141
196
|
* @note throw an exception if the element should not be inserted
|
|
142
197
|
* @note `this` is the class of the prospective parent Element.
|
|
@@ -147,7 +202,9 @@ class Element extends Entity_1.Entity {
|
|
|
147
202
|
* @note `this` is the class of the parent Element.
|
|
148
203
|
* @beta
|
|
149
204
|
*/
|
|
150
|
-
static onChildInserted(
|
|
205
|
+
static onChildInserted(arg) {
|
|
206
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id: arg.parentId });
|
|
207
|
+
}
|
|
151
208
|
/** Called when an element with an instance of this class as its parent is about to be updated.
|
|
152
209
|
* @note throw an exception if the element should not be updated
|
|
153
210
|
* @note `this` is the class of the parent Element.
|
|
@@ -158,7 +215,9 @@ class Element extends Entity_1.Entity {
|
|
|
158
215
|
* @note `this` is the class of the parent Element.
|
|
159
216
|
* @beta
|
|
160
217
|
*/
|
|
161
|
-
static onChildUpdated(
|
|
218
|
+
static onChildUpdated(arg) {
|
|
219
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id: arg.parentId });
|
|
220
|
+
}
|
|
162
221
|
/** Called when an *existing element* is about to be updated so that an instance of this class will become its new parent.
|
|
163
222
|
* @note throw an exception if the element should not be added
|
|
164
223
|
* @note `this` is the class of the prospective parent Element.
|
|
@@ -169,7 +228,9 @@ class Element extends Entity_1.Entity {
|
|
|
169
228
|
* @note `this` is the class of the new parent Element.
|
|
170
229
|
* @beta
|
|
171
230
|
*/
|
|
172
|
-
static onChildAdded(
|
|
231
|
+
static onChildAdded(arg) {
|
|
232
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id: arg.parentId });
|
|
233
|
+
}
|
|
173
234
|
/** Called when an element with an instance of this class as its parent is about to be updated change to a different parent.
|
|
174
235
|
* @note throw an exception if the element should not be dropped
|
|
175
236
|
* @note `this` is the class of the parent Element.
|
|
@@ -180,7 +241,9 @@ class Element extends Entity_1.Entity {
|
|
|
180
241
|
* @note `this` is the class of the previous parent Element.
|
|
181
242
|
* @beta
|
|
182
243
|
*/
|
|
183
|
-
static onChildDropped(
|
|
244
|
+
static onChildDropped(arg) {
|
|
245
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id: arg.parentId });
|
|
246
|
+
}
|
|
184
247
|
/** Called when an instance of this class is being *sub-modeled* by a new Model.
|
|
185
248
|
* @note throw an exception if model should not be inserted
|
|
186
249
|
* @note `this` is the class of Element to be sub-modeled.
|
|
@@ -191,7 +254,11 @@ class Element extends Entity_1.Entity {
|
|
|
191
254
|
* @note `this` is the class of Element that is now sub-modeled.
|
|
192
255
|
* @beta
|
|
193
256
|
*/
|
|
194
|
-
static onSubModelInserted(
|
|
257
|
+
static onSubModelInserted(arg) {
|
|
258
|
+
const id = arg.subModelId;
|
|
259
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id });
|
|
260
|
+
arg.iModel.models[Symbols_1._cache].delete(id);
|
|
261
|
+
}
|
|
195
262
|
/** Called when a sub-model of an instance of this class is being deleted.
|
|
196
263
|
* @note throw an exception if model should not be deleted
|
|
197
264
|
* @note `this` is the class of Element that is sub-modeled.
|
|
@@ -202,7 +269,11 @@ class Element extends Entity_1.Entity {
|
|
|
202
269
|
* @note `this` is the class of Element that was sub-modeled.
|
|
203
270
|
* @beta
|
|
204
271
|
*/
|
|
205
|
-
static onSubModelDeleted(
|
|
272
|
+
static onSubModelDeleted(arg) {
|
|
273
|
+
const id = arg.subModelId;
|
|
274
|
+
arg.iModel.elements[Symbols_1._cache].delete({ id });
|
|
275
|
+
arg.iModel.models[Symbols_1._cache].delete(id);
|
|
276
|
+
}
|
|
206
277
|
/** Called during the iModel transformation process after an Element from the source iModel was *cloned* for the target iModel.
|
|
207
278
|
* The transformation process automatically handles remapping BisCore properties and those that are properly described in ECSchema.
|
|
208
279
|
* This callback is only meant to be overridden if there are other Ids in non-standard locations that need to be remapped or other data that needs to be fixed up after the clone.
|
|
@@ -332,7 +403,7 @@ class Element extends Entity_1.Entity {
|
|
|
332
403
|
}
|
|
333
404
|
exports.Element = Element;
|
|
334
405
|
/** An abstract base class to model real world entities that intrinsically have geometry.
|
|
335
|
-
* @public
|
|
406
|
+
* @public @preview
|
|
336
407
|
*/
|
|
337
408
|
class GeometricElement extends Element {
|
|
338
409
|
static get className() { return "GeometricElement"; }
|
|
@@ -371,11 +442,35 @@ class GeometricElement extends Element {
|
|
|
371
442
|
...super.requiredReferenceKeyTypeMap,
|
|
372
443
|
category: core_common_1.ConcreteEntityTypes.Element,
|
|
373
444
|
};
|
|
445
|
+
/**
|
|
446
|
+
* GeometricElement custom HandledProps includes 'inSpatialIndex'.
|
|
447
|
+
* @inheritdoc
|
|
448
|
+
* @beta
|
|
449
|
+
*/
|
|
450
|
+
static _customHandledProps = [
|
|
451
|
+
{ propertyName: "inSpatialIndex", source: "Class" },
|
|
452
|
+
];
|
|
453
|
+
/**
|
|
454
|
+
* GeometricElement deserializes 'inSpatialIndex'.
|
|
455
|
+
* @inheritdoc
|
|
456
|
+
* @beta
|
|
457
|
+
*/
|
|
458
|
+
static deserialize(props) {
|
|
459
|
+
return super.deserialize(props);
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* GeometricElement serialize 'inSpatialIndex'.
|
|
463
|
+
* @inheritdoc
|
|
464
|
+
* @beta
|
|
465
|
+
*/
|
|
466
|
+
static serialize(props, iModel) {
|
|
467
|
+
return super.serialize(props, iModel);
|
|
468
|
+
}
|
|
374
469
|
}
|
|
375
470
|
exports.GeometricElement = GeometricElement;
|
|
376
471
|
/** An abstract base class to model real world entities that intrinsically have 3d geometry.
|
|
377
472
|
* See [how to create a GeometricElement3d]($docs/learning/backend/CreateElements.md#GeometricElement3d).
|
|
378
|
-
* @public
|
|
473
|
+
* @public @preview
|
|
379
474
|
*/
|
|
380
475
|
class GeometricElement3d extends GeometricElement {
|
|
381
476
|
static get className() { return "GeometricElement3d"; }
|
|
@@ -399,10 +494,127 @@ class GeometricElement3d extends GeometricElement {
|
|
|
399
494
|
if (undefined !== this.typeDefinition)
|
|
400
495
|
referenceIds.addElement(this.typeDefinition.id);
|
|
401
496
|
}
|
|
497
|
+
/**
|
|
498
|
+
* GeometricElement3d custom HandledProps includes 'category', 'geometryStream', 'origin', 'yaw', 'pitch', 'roll',
|
|
499
|
+
* 'bBoxLow', 'bBoxHigh', and 'typeDefinition'.
|
|
500
|
+
* @inheritdoc
|
|
501
|
+
* @beta
|
|
502
|
+
*/
|
|
503
|
+
static _customHandledProps = [
|
|
504
|
+
{ propertyName: "category", source: "Class" },
|
|
505
|
+
{ propertyName: "geometryStream", source: "Class" },
|
|
506
|
+
{ propertyName: "origin", source: "Class" },
|
|
507
|
+
{ propertyName: "yaw", source: "Class" },
|
|
508
|
+
{ propertyName: "pitch", source: "Class" },
|
|
509
|
+
{ propertyName: "roll", source: "Class" },
|
|
510
|
+
{ propertyName: "bBoxLow", source: "Class" },
|
|
511
|
+
{ propertyName: "bBoxHigh", source: "Class" },
|
|
512
|
+
{ propertyName: "typeDefinition", source: "Class" }
|
|
513
|
+
];
|
|
514
|
+
/**
|
|
515
|
+
* GeometricElement3d deserializes 'category', 'geometryStream', 'origin', 'yaw', 'pitch', 'roll',
|
|
516
|
+
* 'bBoxLow', 'bBoxHigh', and 'typeDefinition'.
|
|
517
|
+
* @inheritdoc
|
|
518
|
+
* @beta
|
|
519
|
+
*/
|
|
520
|
+
static deserialize(props) {
|
|
521
|
+
const elProps = super.deserialize(props);
|
|
522
|
+
const instance = props.row;
|
|
523
|
+
elProps.category = instance.category.id;
|
|
524
|
+
const origin = instance.origin ? [instance.origin.x, instance.origin.y, instance.origin.z] : [0, 0, 0];
|
|
525
|
+
let bbox;
|
|
526
|
+
if ("bBoxHigh" in instance && instance.bBoxHigh !== undefined && "bBoxLow" in instance && instance.bBoxLow !== undefined) {
|
|
527
|
+
bbox = {
|
|
528
|
+
low: [instance.bBoxLow.x, instance.bBoxLow.y, instance.bBoxLow.z],
|
|
529
|
+
high: [instance.bBoxHigh.x, instance.bBoxHigh.y, instance.bBoxHigh.z],
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
elProps.placement = {
|
|
533
|
+
origin,
|
|
534
|
+
angles: core_geometry_1.YawPitchRollAngles.createDegrees(instance.yaw ?? 0, instance.pitch ?? 0, instance.roll ?? 0).toJSON(),
|
|
535
|
+
bbox
|
|
536
|
+
};
|
|
537
|
+
if (instance.geometryStream) {
|
|
538
|
+
elProps.geom = props.iModel[Symbols_1._nativeDb].convertOrUpdateGeometrySource({
|
|
539
|
+
is2d: false,
|
|
540
|
+
geom: instance.geometryStream,
|
|
541
|
+
placement: elProps.placement,
|
|
542
|
+
categoryId: elProps.category
|
|
543
|
+
}, "GeometryStreamProps", props.options?.element ?? {}).geom;
|
|
544
|
+
}
|
|
545
|
+
if (instance.typeDefinition) {
|
|
546
|
+
elProps.typeDefinition = instance.typeDefinition;
|
|
547
|
+
}
|
|
548
|
+
return elProps;
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* GeometricElement3d serializes 'category', 'geometryStream', 'origin', 'yaw', 'pitch', 'roll',
|
|
552
|
+
* 'bBoxLow', 'bBoxHigh', and 'typeDefinition'.
|
|
553
|
+
* @inheritdoc
|
|
554
|
+
* @beta
|
|
555
|
+
*/
|
|
556
|
+
static serialize(props, iModel) {
|
|
557
|
+
const inst = super.serialize(props, iModel);
|
|
558
|
+
inst.category = { id: props.category };
|
|
559
|
+
const assignPlacement = (placement) => {
|
|
560
|
+
if (Array.isArray(placement.origin)) {
|
|
561
|
+
inst.origin = { x: placement.origin[0], y: placement.origin[1], z: placement.origin[2] };
|
|
562
|
+
}
|
|
563
|
+
else {
|
|
564
|
+
inst.origin = placement.origin;
|
|
565
|
+
}
|
|
566
|
+
inst.yaw = placement.angles.yaw;
|
|
567
|
+
inst.pitch = placement.angles.pitch;
|
|
568
|
+
inst.roll = placement.angles.roll;
|
|
569
|
+
if (placement.bbox) {
|
|
570
|
+
if (Array.isArray(placement.bbox.low)) {
|
|
571
|
+
inst.bBoxLow = { x: placement.bbox.low[0], y: placement.bbox.low[1], z: placement.bbox.low[2] };
|
|
572
|
+
}
|
|
573
|
+
else {
|
|
574
|
+
inst.bBoxLow = placement.bbox.low;
|
|
575
|
+
}
|
|
576
|
+
if (Array.isArray(placement.bbox.high)) {
|
|
577
|
+
inst.bBoxHigh = { x: placement.bbox.high[0], y: placement.bbox.high[1], z: placement.bbox.high[2] };
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
inst.bBoxHigh = placement.bbox.high;
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
if (props.placement) {
|
|
585
|
+
assignPlacement(props.placement);
|
|
586
|
+
}
|
|
587
|
+
if (props.elementGeometryBuilderParams) {
|
|
588
|
+
const source = iModel[Symbols_1._nativeDb].convertOrUpdateGeometrySource({
|
|
589
|
+
builder: props.elementGeometryBuilderParams,
|
|
590
|
+
is2d: true,
|
|
591
|
+
placement: props.placement,
|
|
592
|
+
categoryId: props.category,
|
|
593
|
+
}, "BinaryStream", {});
|
|
594
|
+
inst.geometryStream = source.geom;
|
|
595
|
+
if (source.placement) {
|
|
596
|
+
assignPlacement(source.placement);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
if (props.geom) {
|
|
600
|
+
const source = iModel[Symbols_1._nativeDb].convertOrUpdateGeometrySource({
|
|
601
|
+
geom: props.geom,
|
|
602
|
+
is2d: false,
|
|
603
|
+
placement: props.placement,
|
|
604
|
+
categoryId: props.category,
|
|
605
|
+
}, "BinaryStream", {});
|
|
606
|
+
inst.geometryStream = source.geom;
|
|
607
|
+
if (source.placement) {
|
|
608
|
+
assignPlacement(source.placement);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
inst.typeDefinition = props.typeDefinition;
|
|
612
|
+
return inst;
|
|
613
|
+
}
|
|
402
614
|
}
|
|
403
615
|
exports.GeometricElement3d = GeometricElement3d;
|
|
404
616
|
/** A 3d Graphical Element
|
|
405
|
-
* @public
|
|
617
|
+
* @public @preview
|
|
406
618
|
*/
|
|
407
619
|
class GraphicalElement3d extends GeometricElement3d {
|
|
408
620
|
static get className() { return "GraphicalElement3d"; }
|
|
@@ -410,7 +622,7 @@ class GraphicalElement3d extends GeometricElement3d {
|
|
|
410
622
|
}
|
|
411
623
|
exports.GraphicalElement3d = GraphicalElement3d;
|
|
412
624
|
/** An abstract base class to model information entities that intrinsically have 2d geometry.
|
|
413
|
-
* @public
|
|
625
|
+
* @public @preview
|
|
414
626
|
*/
|
|
415
627
|
class GeometricElement2d extends GeometricElement {
|
|
416
628
|
static get className() { return "GeometricElement2d"; }
|
|
@@ -429,6 +641,123 @@ class GeometricElement2d extends GeometricElement {
|
|
|
429
641
|
val.typeDefinition = this.typeDefinition;
|
|
430
642
|
return val;
|
|
431
643
|
}
|
|
644
|
+
/**
|
|
645
|
+
* GeometricElement2d custom HandledProps includes 'category', 'geometryStream', 'origin', 'rotation',
|
|
646
|
+
* 'bBoxLow', 'bBoxHigh', and 'typeDefinition'.
|
|
647
|
+
* @inheritdoc
|
|
648
|
+
* @beta
|
|
649
|
+
*/
|
|
650
|
+
static _customHandledProps = [
|
|
651
|
+
{ propertyName: "category", source: "Class" },
|
|
652
|
+
{ propertyName: "geometryStream", source: "Class" },
|
|
653
|
+
{ propertyName: "origin", source: "Class" },
|
|
654
|
+
{ propertyName: "rotation", source: "Class" },
|
|
655
|
+
{ propertyName: "bBoxLow", source: "Class" },
|
|
656
|
+
{ propertyName: "bBoxHigh", source: "Class" },
|
|
657
|
+
{ propertyName: "typeDefinition", source: "Class" }
|
|
658
|
+
];
|
|
659
|
+
/**
|
|
660
|
+
* GeometricElement2d deserialize 'category', 'geometryStream', 'origin', 'rotation',
|
|
661
|
+
* 'bBoxLow', 'bBoxHigh', and 'typeDefinition'.
|
|
662
|
+
* @inheritdoc
|
|
663
|
+
* @beta
|
|
664
|
+
*/
|
|
665
|
+
static deserialize(props) {
|
|
666
|
+
const elProps = super.deserialize(props);
|
|
667
|
+
const instance = props.row;
|
|
668
|
+
elProps.category = instance.category.id;
|
|
669
|
+
const origin = instance.origin ? [instance.origin.x, instance.origin.y] : [0, 0];
|
|
670
|
+
let bbox;
|
|
671
|
+
if ("bBoxHigh" in instance && instance.bBoxHigh !== undefined && "bBoxLow" in instance && instance.bBoxLow !== undefined) {
|
|
672
|
+
bbox = {
|
|
673
|
+
low: [instance.bBoxLow.x, instance.bBoxLow.y],
|
|
674
|
+
high: [instance.bBoxHigh.x, instance.bBoxHigh.y],
|
|
675
|
+
};
|
|
676
|
+
}
|
|
677
|
+
elProps.placement = {
|
|
678
|
+
origin,
|
|
679
|
+
angle: instance.rotation,
|
|
680
|
+
bbox,
|
|
681
|
+
};
|
|
682
|
+
if (instance.geometryStream) {
|
|
683
|
+
const source = props.iModel[Symbols_1._nativeDb].convertOrUpdateGeometrySource({
|
|
684
|
+
is2d: true,
|
|
685
|
+
geom: instance.geometryStream,
|
|
686
|
+
placement: elProps.placement,
|
|
687
|
+
categoryId: elProps.category
|
|
688
|
+
}, "GeometryStreamProps", props.options?.element ?? {});
|
|
689
|
+
elProps.geom = source.geom;
|
|
690
|
+
if (source.placement) {
|
|
691
|
+
elProps.placement = source.placement;
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
if (instance.typeDefinition) {
|
|
695
|
+
elProps.typeDefinition = instance.typeDefinition;
|
|
696
|
+
}
|
|
697
|
+
return elProps;
|
|
698
|
+
}
|
|
699
|
+
/**
|
|
700
|
+
* GeometricElement2d serializes 'category', 'geometryStream', 'origin', 'rotation',
|
|
701
|
+
* 'bBoxLow', 'bBoxHigh', and 'typeDefinition'.
|
|
702
|
+
* @inheritdoc
|
|
703
|
+
* @beta
|
|
704
|
+
*/
|
|
705
|
+
static serialize(props, iModel) {
|
|
706
|
+
const inst = super.serialize(props, iModel);
|
|
707
|
+
inst.category = { id: props.category };
|
|
708
|
+
const assignPlacement = (placement) => {
|
|
709
|
+
if (Array.isArray(placement.origin)) {
|
|
710
|
+
inst.origin = { x: placement.origin[0], y: placement.origin[1] };
|
|
711
|
+
}
|
|
712
|
+
else {
|
|
713
|
+
inst.origin = placement.origin;
|
|
714
|
+
}
|
|
715
|
+
inst.rotation = placement.angle;
|
|
716
|
+
if (placement.bbox) {
|
|
717
|
+
if (Array.isArray(placement.bbox.low)) {
|
|
718
|
+
inst.bBoxLow = { x: placement.bbox.low[0], y: placement.bbox.low[1] };
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
inst.bBoxLow = placement.bbox.low;
|
|
722
|
+
}
|
|
723
|
+
if (Array.isArray(placement.bbox.high)) {
|
|
724
|
+
inst.bBoxHigh = { x: placement.bbox.high[0], y: placement.bbox.high[1] };
|
|
725
|
+
}
|
|
726
|
+
else {
|
|
727
|
+
inst.bBoxHigh = placement.bbox.high;
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
};
|
|
731
|
+
if (props.placement) {
|
|
732
|
+
assignPlacement(props.placement);
|
|
733
|
+
}
|
|
734
|
+
if (props.elementGeometryBuilderParams) {
|
|
735
|
+
const source = iModel[Symbols_1._nativeDb].convertOrUpdateGeometrySource({
|
|
736
|
+
builder: props.elementGeometryBuilderParams,
|
|
737
|
+
is2d: true,
|
|
738
|
+
placement: props.placement,
|
|
739
|
+
categoryId: props.category,
|
|
740
|
+
}, "BinaryStream", {});
|
|
741
|
+
inst.geometryStream = source.geom;
|
|
742
|
+
if (source.placement) {
|
|
743
|
+
assignPlacement(source.placement);
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
if (props.geom) {
|
|
747
|
+
const source = iModel[Symbols_1._nativeDb].convertOrUpdateGeometrySource({
|
|
748
|
+
geom: props.geom,
|
|
749
|
+
is2d: true,
|
|
750
|
+
placement: props.placement,
|
|
751
|
+
categoryId: props.category,
|
|
752
|
+
}, "BinaryStream", {});
|
|
753
|
+
inst.geometryStream = source.geom;
|
|
754
|
+
if (source.placement) {
|
|
755
|
+
assignPlacement(source.placement);
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
inst.typeDefinition = props.typeDefinition;
|
|
759
|
+
return inst;
|
|
760
|
+
}
|
|
432
761
|
collectReferenceIds(referenceIds) {
|
|
433
762
|
super.collectReferenceIds(referenceIds);
|
|
434
763
|
if (undefined !== this.typeDefinition)
|
|
@@ -437,7 +766,7 @@ class GeometricElement2d extends GeometricElement {
|
|
|
437
766
|
}
|
|
438
767
|
exports.GeometricElement2d = GeometricElement2d;
|
|
439
768
|
/** An abstract base class for 2d Geometric Elements that are used to convey information within graphical presentations (like drawings).
|
|
440
|
-
* @public
|
|
769
|
+
* @public @preview
|
|
441
770
|
*/
|
|
442
771
|
class GraphicalElement2d extends GeometricElement2d {
|
|
443
772
|
static get className() { return "GraphicalElement2d"; }
|
|
@@ -445,7 +774,7 @@ class GraphicalElement2d extends GeometricElement2d {
|
|
|
445
774
|
}
|
|
446
775
|
exports.GraphicalElement2d = GraphicalElement2d;
|
|
447
776
|
/** 2d element used to annotate drawings and sheets.
|
|
448
|
-
* @public
|
|
777
|
+
* @public @preview
|
|
449
778
|
*/
|
|
450
779
|
class AnnotationElement2d extends GraphicalElement2d {
|
|
451
780
|
static get className() { return "AnnotationElement2d"; }
|
|
@@ -453,7 +782,7 @@ class AnnotationElement2d extends GraphicalElement2d {
|
|
|
453
782
|
}
|
|
454
783
|
exports.AnnotationElement2d = AnnotationElement2d;
|
|
455
784
|
/** 2d element used to persist graphics for use in drawings.
|
|
456
|
-
* @public
|
|
785
|
+
* @public @preview
|
|
457
786
|
*/
|
|
458
787
|
class DrawingGraphic extends GraphicalElement2d {
|
|
459
788
|
static get className() { return "DrawingGraphic"; }
|
|
@@ -461,7 +790,7 @@ class DrawingGraphic extends GraphicalElement2d {
|
|
|
461
790
|
}
|
|
462
791
|
exports.DrawingGraphic = DrawingGraphic;
|
|
463
792
|
/** An Element that occupies real world space. Its coordinates are in the project space of its iModel.
|
|
464
|
-
* @public
|
|
793
|
+
* @public @preview
|
|
465
794
|
*/
|
|
466
795
|
class SpatialElement extends GeometricElement3d {
|
|
467
796
|
static get className() { return "SpatialElement"; }
|
|
@@ -469,7 +798,7 @@ class SpatialElement extends GeometricElement3d {
|
|
|
469
798
|
}
|
|
470
799
|
exports.SpatialElement = SpatialElement;
|
|
471
800
|
/** An Element that is spatially located, has mass, and can be *touched*.
|
|
472
|
-
* @public
|
|
801
|
+
* @public @preview
|
|
473
802
|
*/
|
|
474
803
|
class PhysicalElement extends SpatialElement {
|
|
475
804
|
static get className() { return "PhysicalElement"; }
|
|
@@ -487,7 +816,7 @@ class PhysicalElement extends SpatialElement {
|
|
|
487
816
|
}
|
|
488
817
|
exports.PhysicalElement = PhysicalElement;
|
|
489
818
|
/** Identifies a *tracked* real world location but has no mass and cannot be *touched*.
|
|
490
|
-
* @public
|
|
819
|
+
* @public @preview
|
|
491
820
|
*/
|
|
492
821
|
class SpatialLocationElement extends SpatialElement {
|
|
493
822
|
static get className() { return "SpatialLocationElement"; }
|
|
@@ -495,7 +824,7 @@ class SpatialLocationElement extends SpatialElement {
|
|
|
495
824
|
}
|
|
496
825
|
exports.SpatialLocationElement = SpatialLocationElement;
|
|
497
826
|
/** A Volume Element is a Spatial Location Element that is restricted to defining a volume.
|
|
498
|
-
* @public
|
|
827
|
+
* @public @preview
|
|
499
828
|
*/
|
|
500
829
|
class VolumeElement extends SpatialLocationElement {
|
|
501
830
|
static get className() { return "VolumeElement"; }
|
|
@@ -505,7 +834,7 @@ exports.VolumeElement = VolumeElement;
|
|
|
505
834
|
/** A SectionDrawingLocation element identifies the location of a [[SectionDrawing]] in the context of a [[SpatialModel]],
|
|
506
835
|
* enabling [HyperModeling]($hypermodeling).
|
|
507
836
|
* @note The associated ECClass was added to the BisCore schema in version 1.0.11.
|
|
508
|
-
* @public
|
|
837
|
+
* @public @preview
|
|
509
838
|
*/
|
|
510
839
|
class SectionDrawingLocation extends SpatialLocationElement {
|
|
511
840
|
/** The Id of the [[ViewDefinition]] to which this location refers. */
|
|
@@ -526,7 +855,7 @@ exports.SectionDrawingLocation = SectionDrawingLocation;
|
|
|
526
855
|
/** Information Content Element is an abstract base class for modeling pure information entities. Only the
|
|
527
856
|
* core framework should directly subclass from Information Content Element. Domain and application developers
|
|
528
857
|
* should start with the most appropriate subclass of Information Content Element.
|
|
529
|
-
* @public
|
|
858
|
+
* @public @preview
|
|
530
859
|
*/
|
|
531
860
|
class InformationContentElement extends Element {
|
|
532
861
|
static get className() { return "InformationContentElement"; }
|
|
@@ -543,7 +872,7 @@ class DriverBundleElement extends InformationContentElement {
|
|
|
543
872
|
}
|
|
544
873
|
exports.DriverBundleElement = DriverBundleElement;
|
|
545
874
|
/** Information Reference is an abstract base class for modeling entities whose main purpose is to reference something else.
|
|
546
|
-
* @public
|
|
875
|
+
* @public @preview
|
|
547
876
|
*/
|
|
548
877
|
class InformationReferenceElement extends InformationContentElement {
|
|
549
878
|
static get className() { return "InformationReferenceElement"; }
|
|
@@ -551,7 +880,7 @@ class InformationReferenceElement extends InformationContentElement {
|
|
|
551
880
|
}
|
|
552
881
|
exports.InformationReferenceElement = InformationReferenceElement;
|
|
553
882
|
/** A Subject is an information element that describes what this repository (or part thereof) is about.
|
|
554
|
-
* @public
|
|
883
|
+
* @public @preview
|
|
555
884
|
*/
|
|
556
885
|
class Subject extends InformationReferenceElement {
|
|
557
886
|
static get className() { return "Subject"; }
|
|
@@ -609,7 +938,7 @@ exports.Subject = Subject;
|
|
|
609
938
|
* For example, a will is a legal document. The will published into a PDF file is an ElectronicDocumentCopy.
|
|
610
939
|
* The will printed onto paper is a PrintedDocumentCopy.
|
|
611
940
|
* In this example, the Document only identifies, names, and tracks the content of the will.
|
|
612
|
-
* @public
|
|
941
|
+
* @public @preview
|
|
613
942
|
*/
|
|
614
943
|
class Document extends InformationContentElement {
|
|
615
944
|
static get className() { return "Document"; }
|
|
@@ -617,7 +946,7 @@ class Document extends InformationContentElement {
|
|
|
617
946
|
}
|
|
618
947
|
exports.Document = Document;
|
|
619
948
|
/** A document that represents a drawing, that is, a two-dimensional graphical representation of engineering data. A Drawing element is usually modelled by a [[DrawingModel]].
|
|
620
|
-
* @public
|
|
949
|
+
* @public @preview
|
|
621
950
|
*/
|
|
622
951
|
class Drawing extends Document {
|
|
623
952
|
_scaleFactor;
|
|
@@ -625,7 +954,7 @@ class Drawing extends Document {
|
|
|
625
954
|
* size of the [ViewAttachment]($backend) created when attaching the [Drawing]($backend) to a [Sheet]($backend).
|
|
626
955
|
* Default: 1.
|
|
627
956
|
* @note Attempting to set this property to a value less than or equal to zero will produce an exception.
|
|
628
|
-
* @public
|
|
957
|
+
* @public @preview
|
|
629
958
|
*/
|
|
630
959
|
get scaleFactor() { return this._scaleFactor; }
|
|
631
960
|
set scaleFactor(factor) {
|
|
@@ -696,7 +1025,7 @@ exports.Drawing = Drawing;
|
|
|
696
1025
|
/** A document that represents a section drawing, that is, a graphical documentation derived from a planar
|
|
697
1026
|
* section of a spatial view. A SectionDrawing element is modelled by a [[SectionDrawingModel]] or a [[GraphicalModel3d]].
|
|
698
1027
|
* A [[SectionDrawingLocation]] can associate the drawing with a spatial location, enabling [HyperModeling]($hypermodeling).
|
|
699
|
-
* @public
|
|
1028
|
+
* @public @preview
|
|
700
1029
|
*/
|
|
701
1030
|
class SectionDrawing extends Drawing {
|
|
702
1031
|
/** The type of section used to generate the drawing. */
|
|
@@ -748,7 +1077,7 @@ class SectionDrawing extends Drawing {
|
|
|
748
1077
|
}
|
|
749
1078
|
exports.SectionDrawing = SectionDrawing;
|
|
750
1079
|
/** The template for a SheetBorder
|
|
751
|
-
* @public
|
|
1080
|
+
* @public @preview
|
|
752
1081
|
*/
|
|
753
1082
|
class SheetBorderTemplate extends Document {
|
|
754
1083
|
static get className() { return "SheetBorderTemplate"; }
|
|
@@ -762,7 +1091,7 @@ class SheetBorderTemplate extends Document {
|
|
|
762
1091
|
}
|
|
763
1092
|
exports.SheetBorderTemplate = SheetBorderTemplate;
|
|
764
1093
|
/** The template for a [[Sheet]]
|
|
765
|
-
* @public
|
|
1094
|
+
* @public @preview
|
|
766
1095
|
*/
|
|
767
1096
|
class SheetTemplate extends Document {
|
|
768
1097
|
static get className() { return "SheetTemplate"; }
|
|
@@ -783,7 +1112,7 @@ class SheetTemplate extends Document {
|
|
|
783
1112
|
}
|
|
784
1113
|
exports.SheetTemplate = SheetTemplate;
|
|
785
1114
|
/** A digital representation of a *sheet of paper*. Modeled by a [[SheetModel]].
|
|
786
|
-
* @public
|
|
1115
|
+
* @public @preview
|
|
787
1116
|
*/
|
|
788
1117
|
class Sheet extends Document {
|
|
789
1118
|
static get className() { return "Sheet"; }
|
|
@@ -816,7 +1145,7 @@ class Sheet extends Document {
|
|
|
816
1145
|
exports.Sheet = Sheet;
|
|
817
1146
|
/** Information Record Element is an abstract base class for modeling information records. Information Record
|
|
818
1147
|
* Element is the default choice if no other subclass of Information Content Element makes sense.
|
|
819
|
-
* @public
|
|
1148
|
+
* @public @preview
|
|
820
1149
|
*/
|
|
821
1150
|
class InformationRecordElement extends InformationContentElement {
|
|
822
1151
|
static get className() { return "InformationRecordElement"; }
|
|
@@ -824,7 +1153,7 @@ class InformationRecordElement extends InformationContentElement {
|
|
|
824
1153
|
}
|
|
825
1154
|
exports.InformationRecordElement = InformationRecordElement;
|
|
826
1155
|
/** A Definition Element holds configuration-related information that is meant to be referenced / shared.
|
|
827
|
-
* @public
|
|
1156
|
+
* @public @preview
|
|
828
1157
|
*/
|
|
829
1158
|
class DefinitionElement extends InformationContentElement {
|
|
830
1159
|
static get className() { return "DefinitionElement"; }
|
|
@@ -834,6 +1163,37 @@ class DefinitionElement extends InformationContentElement {
|
|
|
834
1163
|
super(props, iModel);
|
|
835
1164
|
this.isPrivate = true === props.isPrivate;
|
|
836
1165
|
}
|
|
1166
|
+
/**
|
|
1167
|
+
* DefinitionElement custom HandledProps includes 'isPrivate'.
|
|
1168
|
+
* @inheritdoc
|
|
1169
|
+
* @beta
|
|
1170
|
+
*/
|
|
1171
|
+
static _customHandledProps = [
|
|
1172
|
+
{ propertyName: "isPrivate", source: "Class" },
|
|
1173
|
+
];
|
|
1174
|
+
/**
|
|
1175
|
+
* DefinitionElement deserializes 'isPrivate'.
|
|
1176
|
+
* @inheritdoc
|
|
1177
|
+
* @beta
|
|
1178
|
+
*/
|
|
1179
|
+
static deserialize(props) {
|
|
1180
|
+
const elProps = super.deserialize(props);
|
|
1181
|
+
if (props.row.isPrivate !== undefined)
|
|
1182
|
+
elProps.isPrivate = props.row.isPrivate;
|
|
1183
|
+
return elProps;
|
|
1184
|
+
}
|
|
1185
|
+
/**
|
|
1186
|
+
* DefinitionElement serialize 'isPrivate'.
|
|
1187
|
+
* @inheritdoc
|
|
1188
|
+
* @beta
|
|
1189
|
+
*/
|
|
1190
|
+
static serialize(props, iModel) {
|
|
1191
|
+
const inst = super.serialize(props, iModel);
|
|
1192
|
+
if (undefined !== props.isPrivate) {
|
|
1193
|
+
inst.isPrivate = props.isPrivate;
|
|
1194
|
+
}
|
|
1195
|
+
return inst;
|
|
1196
|
+
}
|
|
837
1197
|
toJSON() {
|
|
838
1198
|
const val = super.toJSON();
|
|
839
1199
|
val.isPrivate = this.isPrivate;
|
|
@@ -843,7 +1203,7 @@ class DefinitionElement extends InformationContentElement {
|
|
|
843
1203
|
exports.DefinitionElement = DefinitionElement;
|
|
844
1204
|
/** This abstract class unifies DefinitionGroup and DefinitionContainer for relationship endpoint purposes.
|
|
845
1205
|
* @note The associated ECClass was added to the BisCore schema in version 1.0.10
|
|
846
|
-
* @public
|
|
1206
|
+
* @public @preview
|
|
847
1207
|
*/
|
|
848
1208
|
class DefinitionSet extends DefinitionElement {
|
|
849
1209
|
static get className() { return "DefinitionSet"; }
|
|
@@ -851,7 +1211,7 @@ class DefinitionSet extends DefinitionElement {
|
|
|
851
1211
|
exports.DefinitionSet = DefinitionSet;
|
|
852
1212
|
/** A DefinitionContainer exclusively owns a set of DefinitionElements contained within its sub-model (of type DefinitionModel).
|
|
853
1213
|
* @note The associated ECClass was added to the BisCore schema in version 1.0.10
|
|
854
|
-
* @public
|
|
1214
|
+
* @public @preview
|
|
855
1215
|
*/
|
|
856
1216
|
class DefinitionContainer extends DefinitionSet {
|
|
857
1217
|
static get className() { return "DefinitionContainer"; }
|
|
@@ -897,7 +1257,7 @@ class DefinitionContainer extends DefinitionSet {
|
|
|
897
1257
|
exports.DefinitionContainer = DefinitionContainer;
|
|
898
1258
|
/** A non-exclusive set of DefinitionElements grouped using the DefinitionGroupGroupsDefinitions relationship.
|
|
899
1259
|
* @note The associated ECClass was added to the BisCore schema in version 1.0.10
|
|
900
|
-
* @public
|
|
1260
|
+
* @public @preview
|
|
901
1261
|
*/
|
|
902
1262
|
class DefinitionGroup extends DefinitionSet {
|
|
903
1263
|
static get className() { return "DefinitionGroup"; }
|
|
@@ -922,7 +1282,7 @@ class DefinitionGroup extends DefinitionSet {
|
|
|
922
1282
|
}
|
|
923
1283
|
exports.DefinitionGroup = DefinitionGroup;
|
|
924
1284
|
/** Defines a set of properties (the *type*) that may be associated with an element.
|
|
925
|
-
* @public
|
|
1285
|
+
* @public @preview
|
|
926
1286
|
*/
|
|
927
1287
|
class TypeDefinitionElement extends DefinitionElement {
|
|
928
1288
|
static get className() { return "TypeDefinitionElement"; }
|
|
@@ -949,7 +1309,7 @@ exports.RecipeDefinitionElement = RecipeDefinitionElement;
|
|
|
949
1309
|
/** Defines a set of properties (the *type*) that can be associated with a Physical Element. A Physical
|
|
950
1310
|
* Type has a strong correlation with something that can be ordered from a catalog since all instances
|
|
951
1311
|
* share a common set of properties.
|
|
952
|
-
* @public
|
|
1312
|
+
* @public @preview
|
|
953
1313
|
*/
|
|
954
1314
|
class PhysicalType extends TypeDefinitionElement {
|
|
955
1315
|
static get className() { return "PhysicalType"; }
|
|
@@ -976,7 +1336,7 @@ class PhysicalType extends TypeDefinitionElement {
|
|
|
976
1336
|
}
|
|
977
1337
|
exports.PhysicalType = PhysicalType;
|
|
978
1338
|
/** Defines a set of properties (the *type*) that can be associated with a spatial location.
|
|
979
|
-
* @public
|
|
1339
|
+
* @public @preview
|
|
980
1340
|
*/
|
|
981
1341
|
class SpatialLocationType extends TypeDefinitionElement {
|
|
982
1342
|
static get className() { return "SpatialLocationType"; }
|
|
@@ -1043,7 +1403,7 @@ class TemplateRecipe3d extends RecipeDefinitionElement {
|
|
|
1043
1403
|
}
|
|
1044
1404
|
exports.TemplateRecipe3d = TemplateRecipe3d;
|
|
1045
1405
|
/** Defines a set of properties (the *type*) that can be associated with a 2D Graphical Element.
|
|
1046
|
-
* @public
|
|
1406
|
+
* @public @preview
|
|
1047
1407
|
*/
|
|
1048
1408
|
class GraphicalType2d extends TypeDefinitionElement {
|
|
1049
1409
|
static get className() { return "GraphicalType2d"; }
|
|
@@ -1112,7 +1472,7 @@ exports.TemplateRecipe2d = TemplateRecipe2d;
|
|
|
1112
1472
|
/** An abstract base class for elements that establishes a particular modeling perspective for its parent Subject.
|
|
1113
1473
|
* Instances are always sub-modeled by a specialization of Model of the appropriate modeling perspective.
|
|
1114
1474
|
* @see [iModel Information Hierarchy]($docs/bis/guide/data-organization/top-of-the-world), [[Subject]], [[Model]]
|
|
1115
|
-
* @public
|
|
1475
|
+
* @public @preview
|
|
1116
1476
|
*/
|
|
1117
1477
|
class InformationPartitionElement extends InformationContentElement {
|
|
1118
1478
|
static get className() { return "InformationPartitionElement"; }
|
|
@@ -1139,7 +1499,7 @@ exports.InformationPartitionElement = InformationPartitionElement;
|
|
|
1139
1499
|
/** A DefinitionPartition element establishes a *Definition* modeling perspective for its parent Subject.
|
|
1140
1500
|
* A DefinitionPartition is always sub-modeled by a DefinitionModel.
|
|
1141
1501
|
* @see [[DefinitionModel]]
|
|
1142
|
-
* @public
|
|
1502
|
+
* @public @preview
|
|
1143
1503
|
*/
|
|
1144
1504
|
class DefinitionPartition extends InformationPartitionElement {
|
|
1145
1505
|
static get className() { return "DefinitionPartition"; }
|
|
@@ -1148,7 +1508,7 @@ exports.DefinitionPartition = DefinitionPartition;
|
|
|
1148
1508
|
/** A DocumentPartition element establishes a *Document* modeling perspective for its parent Subject.
|
|
1149
1509
|
* A DocumentPartition is always sub-modeled by a DocumentListModel.
|
|
1150
1510
|
* @see [[DocumentListModel]]
|
|
1151
|
-
* @public
|
|
1511
|
+
* @public @preview
|
|
1152
1512
|
*/
|
|
1153
1513
|
class DocumentPartition extends InformationPartitionElement {
|
|
1154
1514
|
static get className() { return "DocumentPartition"; }
|
|
@@ -1157,7 +1517,7 @@ exports.DocumentPartition = DocumentPartition;
|
|
|
1157
1517
|
/** A GroupInformationPartition element establishes a *Group Information* modeling perspective for its parent Subject.
|
|
1158
1518
|
* A GroupInformationPartition is always sub-modeled by a GroupInformationModel.
|
|
1159
1519
|
* @see [[GroupInformationModel]]
|
|
1160
|
-
* @public
|
|
1520
|
+
* @public @preview
|
|
1161
1521
|
*/
|
|
1162
1522
|
class GroupInformationPartition extends InformationPartitionElement {
|
|
1163
1523
|
static get className() { return "GroupInformationPartition"; }
|
|
@@ -1167,7 +1527,7 @@ exports.GroupInformationPartition = GroupInformationPartition;
|
|
|
1167
1527
|
* A GraphicalPartition3d is always sub-modeled by a GraphicalModel3d.
|
|
1168
1528
|
* @note The associated ECClass was added to the BisCore schema in version 1.0.8
|
|
1169
1529
|
* @see [[GraphicalModel3d]]
|
|
1170
|
-
* @public
|
|
1530
|
+
* @public @preview
|
|
1171
1531
|
*/
|
|
1172
1532
|
class GraphicalPartition3d extends InformationPartitionElement {
|
|
1173
1533
|
static get className() { return "GraphicalPartition3d"; }
|
|
@@ -1176,7 +1536,7 @@ exports.GraphicalPartition3d = GraphicalPartition3d;
|
|
|
1176
1536
|
/** An InformationRecordPartition element establishes a *Information Record* modeling perspective for its parent Subject.
|
|
1177
1537
|
* A InformationRecordPartition is always sub-modeled by an InformationRecordModel.
|
|
1178
1538
|
* @see [[InformationRecordModel]]
|
|
1179
|
-
* @public
|
|
1539
|
+
* @public @preview
|
|
1180
1540
|
*/
|
|
1181
1541
|
class InformationRecordPartition extends InformationPartitionElement {
|
|
1182
1542
|
static get className() { return "InformationRecordPartition"; }
|
|
@@ -1184,7 +1544,7 @@ class InformationRecordPartition extends InformationPartitionElement {
|
|
|
1184
1544
|
exports.InformationRecordPartition = InformationRecordPartition;
|
|
1185
1545
|
/** A LinkPartition element establishes a *Link* modeling perspective for its parent Subject. A LinkPartition is always sub-modeled by a LinkModel.
|
|
1186
1546
|
* @see [[LinkModel]]
|
|
1187
|
-
* @public
|
|
1547
|
+
* @public @preview
|
|
1188
1548
|
*/
|
|
1189
1549
|
class LinkPartition extends InformationPartitionElement {
|
|
1190
1550
|
static get className() { return "LinkPartition"; }
|
|
@@ -1192,7 +1552,7 @@ class LinkPartition extends InformationPartitionElement {
|
|
|
1192
1552
|
exports.LinkPartition = LinkPartition;
|
|
1193
1553
|
/** A PhysicalPartition element establishes a *Physical* modeling perspective for its parent Subject. A PhysicalPartition is always sub-modeled by a PhysicalModel.
|
|
1194
1554
|
* @see [[PhysicalModel]]
|
|
1195
|
-
* @public
|
|
1555
|
+
* @public @preview
|
|
1196
1556
|
*/
|
|
1197
1557
|
class PhysicalPartition extends InformationPartitionElement {
|
|
1198
1558
|
static get className() { return "PhysicalPartition"; }
|
|
@@ -1201,7 +1561,7 @@ exports.PhysicalPartition = PhysicalPartition;
|
|
|
1201
1561
|
/** A SpatialLocationPartition element establishes a *SpatialLocation* modeling perspective for its parent Subject.
|
|
1202
1562
|
* A SpatialLocationPartition is always sub-modeled by a SpatialLocationModel.
|
|
1203
1563
|
* @see [[SpatialLocationModel]]
|
|
1204
|
-
* @public
|
|
1564
|
+
* @public @preview
|
|
1205
1565
|
*/
|
|
1206
1566
|
class SpatialLocationPartition extends InformationPartitionElement {
|
|
1207
1567
|
static get className() { return "SpatialLocationPartition"; }
|
|
@@ -1216,14 +1576,14 @@ class SheetIndexPartition extends InformationPartitionElement {
|
|
|
1216
1576
|
}
|
|
1217
1577
|
exports.SheetIndexPartition = SheetIndexPartition;
|
|
1218
1578
|
/** Group Information is an abstract base class for modeling entities whose main purpose is to reference a group of related elements.
|
|
1219
|
-
* @public
|
|
1579
|
+
* @public @preview
|
|
1220
1580
|
*/
|
|
1221
1581
|
class GroupInformationElement extends InformationReferenceElement {
|
|
1222
1582
|
static get className() { return "GroupInformationElement"; }
|
|
1223
1583
|
}
|
|
1224
1584
|
exports.GroupInformationElement = GroupInformationElement;
|
|
1225
1585
|
/** An information element that specifies a link.
|
|
1226
|
-
* @public
|
|
1586
|
+
* @public @preview
|
|
1227
1587
|
*/
|
|
1228
1588
|
class LinkElement extends InformationReferenceElement {
|
|
1229
1589
|
static get className() { return "LinkElement"; }
|
|
@@ -1239,7 +1599,7 @@ class LinkElement extends InformationReferenceElement {
|
|
|
1239
1599
|
}
|
|
1240
1600
|
exports.LinkElement = LinkElement;
|
|
1241
1601
|
/** An information element that specifies a URL link.
|
|
1242
|
-
* @public
|
|
1602
|
+
* @public @preview
|
|
1243
1603
|
*/
|
|
1244
1604
|
class UrlLink extends LinkElement {
|
|
1245
1605
|
static get className() { return "UrlLink"; }
|
|
@@ -1250,6 +1610,36 @@ class UrlLink extends LinkElement {
|
|
|
1250
1610
|
this.description = props.description;
|
|
1251
1611
|
this.url = props.url;
|
|
1252
1612
|
}
|
|
1613
|
+
/**
|
|
1614
|
+
* UrlLink custom HandledProps includes 'description', and 'url'.
|
|
1615
|
+
* @inheritdoc
|
|
1616
|
+
* @beta
|
|
1617
|
+
*/
|
|
1618
|
+
static _customHandledProps = [
|
|
1619
|
+
{ propertyName: "description", source: "Class" },
|
|
1620
|
+
{ propertyName: "url", source: "Class" },
|
|
1621
|
+
];
|
|
1622
|
+
/**
|
|
1623
|
+
* UrlLink deserializes 'description', and 'url'.
|
|
1624
|
+
* @inheritdoc
|
|
1625
|
+
* @beta
|
|
1626
|
+
*/
|
|
1627
|
+
static deserialize(props) {
|
|
1628
|
+
const elProps = super.deserialize(props);
|
|
1629
|
+
elProps.description = props.row.description ?? "";
|
|
1630
|
+
elProps.url = props.row.url;
|
|
1631
|
+
return elProps;
|
|
1632
|
+
}
|
|
1633
|
+
/**
|
|
1634
|
+
* UrlLink serializes 'description', and 'url'.
|
|
1635
|
+
* @inheritdoc
|
|
1636
|
+
* @beta
|
|
1637
|
+
*/
|
|
1638
|
+
static serialize(props, iModel) {
|
|
1639
|
+
const inst = super.serialize(props, iModel);
|
|
1640
|
+
inst.description = props.description;
|
|
1641
|
+
return inst;
|
|
1642
|
+
}
|
|
1253
1643
|
toJSON() {
|
|
1254
1644
|
const val = super.toJSON();
|
|
1255
1645
|
val.description = this.description;
|
|
@@ -1267,7 +1657,7 @@ class FolderLink extends UrlLink {
|
|
|
1267
1657
|
}
|
|
1268
1658
|
exports.FolderLink = FolderLink;
|
|
1269
1659
|
/** An information element that links to a repository.
|
|
1270
|
-
* @public
|
|
1660
|
+
* @public @preview
|
|
1271
1661
|
*/
|
|
1272
1662
|
class RepositoryLink extends UrlLink {
|
|
1273
1663
|
static get className() { return "RepositoryLink"; }
|
|
@@ -1288,7 +1678,7 @@ class RepositoryLink extends UrlLink {
|
|
|
1288
1678
|
}
|
|
1289
1679
|
exports.RepositoryLink = RepositoryLink;
|
|
1290
1680
|
/** An information element that links to an embedded file.
|
|
1291
|
-
* @public
|
|
1681
|
+
* @public @preview
|
|
1292
1682
|
*/
|
|
1293
1683
|
class EmbeddedFileLink extends LinkElement {
|
|
1294
1684
|
static get className() { return "EmbeddedFileLink"; }
|
|
@@ -1297,7 +1687,7 @@ exports.EmbeddedFileLink = EmbeddedFileLink;
|
|
|
1297
1687
|
/** A real world entity is modeled as a Role Element when a set of external circumstances define an important
|
|
1298
1688
|
* role (one that is worth tracking) that is not intrinsic to the entity playing the role. For example,
|
|
1299
1689
|
* a person can play the role of a teacher or a rock can play the role of a boundary marker.
|
|
1300
|
-
* @public
|
|
1690
|
+
* @public @preview
|
|
1301
1691
|
*/
|
|
1302
1692
|
class RoleElement extends Element {
|
|
1303
1693
|
static get className() { return "RoleElement"; }
|
|
@@ -1305,7 +1695,7 @@ class RoleElement extends Element {
|
|
|
1305
1695
|
exports.RoleElement = RoleElement;
|
|
1306
1696
|
/** A Definition Element that specifies a collection of geometry that is meant to be reused across Geometric
|
|
1307
1697
|
* Element instances. Leveraging Geometry Parts can help reduce file size and improve display performance.
|
|
1308
|
-
* @public
|
|
1698
|
+
* @public @preview
|
|
1309
1699
|
*/
|
|
1310
1700
|
class GeometryPart extends DefinitionElement {
|
|
1311
1701
|
static get className() { return "GeometryPart"; }
|
|
@@ -1316,6 +1706,73 @@ class GeometryPart extends DefinitionElement {
|
|
|
1316
1706
|
this.geom = props.geom;
|
|
1317
1707
|
this.bbox = core_geometry_1.Range3d.fromJSON(props.bbox);
|
|
1318
1708
|
}
|
|
1709
|
+
/**
|
|
1710
|
+
* GeometryPart custom HandledProps includes 'geometryStream', 'bBoxHigh', and 'bBoxLow'.
|
|
1711
|
+
* @inheritdoc
|
|
1712
|
+
* @beta
|
|
1713
|
+
*/
|
|
1714
|
+
static _customHandledProps = [
|
|
1715
|
+
{ propertyName: "geometryStream", source: "Class" },
|
|
1716
|
+
{ propertyName: "bBoxLow", source: "Class" },
|
|
1717
|
+
{ propertyName: "bBoxHigh", source: "Class" },
|
|
1718
|
+
];
|
|
1719
|
+
/**
|
|
1720
|
+
* GeometryPart deserializes 'geometryStream', 'bBoxHigh', and 'bBoxLow'.
|
|
1721
|
+
* @inheritdoc
|
|
1722
|
+
* @beta
|
|
1723
|
+
*/
|
|
1724
|
+
static deserialize(props) {
|
|
1725
|
+
const elProps = super.deserialize(props);
|
|
1726
|
+
const instance = props.row;
|
|
1727
|
+
if ("bBoxHigh" in instance && instance.bBoxHigh !== undefined && "bBoxLow" in instance && instance.bBoxLow !== undefined) {
|
|
1728
|
+
elProps.bbox = {
|
|
1729
|
+
low: [instance.bBoxLow.x, instance.bBoxLow.y, instance.bBoxLow.z],
|
|
1730
|
+
high: [instance.bBoxHigh.x, instance.bBoxHigh.y, instance.bBoxHigh.z],
|
|
1731
|
+
};
|
|
1732
|
+
}
|
|
1733
|
+
if (instance.geometryStream) {
|
|
1734
|
+
elProps.geom = props.iModel[Symbols_1._nativeDb].convertOrUpdateGeometryPart({
|
|
1735
|
+
geom: instance.geometryStream,
|
|
1736
|
+
is2d: false,
|
|
1737
|
+
bbox: elProps.bbox,
|
|
1738
|
+
}, "GeometryStreamProps", props.options?.element ?? {}).geom;
|
|
1739
|
+
}
|
|
1740
|
+
return elProps;
|
|
1741
|
+
}
|
|
1742
|
+
/**
|
|
1743
|
+
* GeometryPart serialize 'geometryStream', 'bBoxHigh', and 'bBoxLow'.
|
|
1744
|
+
* @inheritdoc
|
|
1745
|
+
* @beta
|
|
1746
|
+
*/
|
|
1747
|
+
static serialize(props, iModel) {
|
|
1748
|
+
const inst = super.serialize(props, iModel);
|
|
1749
|
+
if (undefined !== props.geom) {
|
|
1750
|
+
const source = inst.geometryStream = iModel[Symbols_1._nativeDb].convertOrUpdateGeometryPart({
|
|
1751
|
+
geom: props.geom,
|
|
1752
|
+
is2d: false,
|
|
1753
|
+
bbox: props.bbox,
|
|
1754
|
+
}, "BinaryStream", {});
|
|
1755
|
+
inst.geometryStream = source.geom;
|
|
1756
|
+
if (source.bbox) {
|
|
1757
|
+
props.bbox = source.bbox;
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
if (undefined !== props.bbox) {
|
|
1761
|
+
if (Array.isArray(props.bbox.low)) {
|
|
1762
|
+
inst.bBoxLow = { x: props.bbox.low[0], y: props.bbox.low[1], z: props.bbox.low[2] };
|
|
1763
|
+
}
|
|
1764
|
+
else {
|
|
1765
|
+
inst.bBoxLow = props.bbox.low;
|
|
1766
|
+
}
|
|
1767
|
+
if (Array.isArray(props.bbox.high)) {
|
|
1768
|
+
inst.bBoxHigh = { x: props.bbox.high[0], y: props.bbox.high[1], z: props.bbox.high[2] };
|
|
1769
|
+
}
|
|
1770
|
+
else {
|
|
1771
|
+
inst.bBoxHigh = props.bbox.high;
|
|
1772
|
+
}
|
|
1773
|
+
}
|
|
1774
|
+
return inst;
|
|
1775
|
+
}
|
|
1319
1776
|
toJSON() {
|
|
1320
1777
|
const val = super.toJSON();
|
|
1321
1778
|
val.geom = this.geom;
|
|
@@ -1335,7 +1792,7 @@ class GeometryPart extends DefinitionElement {
|
|
|
1335
1792
|
}
|
|
1336
1793
|
exports.GeometryPart = GeometryPart;
|
|
1337
1794
|
/** The definition element for a line style
|
|
1338
|
-
* @public
|
|
1795
|
+
* @public @preview
|
|
1339
1796
|
*/
|
|
1340
1797
|
class LineStyle extends DefinitionElement {
|
|
1341
1798
|
static get className() { return "LineStyle"; }
|
|
@@ -1346,6 +1803,35 @@ class LineStyle extends DefinitionElement {
|
|
|
1346
1803
|
this.description = props.description;
|
|
1347
1804
|
this.data = props.data;
|
|
1348
1805
|
}
|
|
1806
|
+
/**
|
|
1807
|
+
* LineStyle custom HandledProps includes 'data'.
|
|
1808
|
+
* @inheritdoc
|
|
1809
|
+
* @beta
|
|
1810
|
+
*/
|
|
1811
|
+
static _customHandledProps = [
|
|
1812
|
+
{ propertyName: "data", source: "Class" },
|
|
1813
|
+
];
|
|
1814
|
+
/**
|
|
1815
|
+
* LineStyle deserializes 'data'.
|
|
1816
|
+
* @inheritdoc
|
|
1817
|
+
* @beta
|
|
1818
|
+
*/
|
|
1819
|
+
static deserialize(props) {
|
|
1820
|
+
const elProps = super.deserialize(props);
|
|
1821
|
+
const instance = props.row;
|
|
1822
|
+
elProps.data = instance.data ?? "";
|
|
1823
|
+
return elProps;
|
|
1824
|
+
}
|
|
1825
|
+
/**
|
|
1826
|
+
* LineStyle serializes 'data'.
|
|
1827
|
+
* @inheritdoc
|
|
1828
|
+
* @beta
|
|
1829
|
+
*/
|
|
1830
|
+
static serialize(props, iModel) {
|
|
1831
|
+
const inst = super.serialize(props, iModel);
|
|
1832
|
+
inst.data = props.data;
|
|
1833
|
+
return inst;
|
|
1834
|
+
}
|
|
1349
1835
|
/** Create a Code for a LineStyle definition given a name that is meant to be unique within the scope of the specified model.
|
|
1350
1836
|
* @param iModel The IModel
|
|
1351
1837
|
* @param scopeModelId The Id of the DefinitionModel that contains the LineStyle and provides the scope for its name.
|
|
@@ -1359,7 +1845,7 @@ class LineStyle extends DefinitionElement {
|
|
|
1359
1845
|
exports.LineStyle = LineStyle;
|
|
1360
1846
|
/** Describes how to animate a view of a [[GeometricModel]] to show change over time using a [RenderSchedule.Script]($common).
|
|
1361
1847
|
* @note This class was introduced in version 01.00.13 of the BisCore ECSchema. It should only be used with [[IModelDb]]s containing that version or newer.
|
|
1362
|
-
* @public
|
|
1848
|
+
* @public @preview
|
|
1363
1849
|
*/
|
|
1364
1850
|
class RenderTimeline extends InformationRecordElement {
|
|
1365
1851
|
static get className() { return "RenderTimeline"; }
|
|
@@ -1384,6 +1870,21 @@ class RenderTimeline extends InformationRecordElement {
|
|
|
1384
1870
|
props.script = JSON.stringify(this.scriptProps);
|
|
1385
1871
|
return props;
|
|
1386
1872
|
}
|
|
1873
|
+
/**
|
|
1874
|
+
* RenderTimeline deserialize checks if Schedule Script Element Ids need to be omitted, and if so, removes them.
|
|
1875
|
+
* @inheritdoc
|
|
1876
|
+
* @beta
|
|
1877
|
+
*/
|
|
1878
|
+
static deserialize(props) {
|
|
1879
|
+
const elProps = super.deserialize(props);
|
|
1880
|
+
const options = props.options?.element?.renderTimeline;
|
|
1881
|
+
// Omit Schedule Script Element Ids if the option is set
|
|
1882
|
+
if (options?.omitScriptElementIds && elProps.script) {
|
|
1883
|
+
const scriptProps = RenderTimeline.parseScriptProps(elProps.script);
|
|
1884
|
+
elProps.script = JSON.stringify(core_common_1.RenderSchedule.Script.removeScheduleScriptElementIds(scriptProps));
|
|
1885
|
+
}
|
|
1886
|
+
return elProps;
|
|
1887
|
+
}
|
|
1387
1888
|
static parseScriptProps(json) {
|
|
1388
1889
|
try {
|
|
1389
1890
|
return JSON.parse(json);
|