@itwin/core-backend 5.8.2 → 5.9.0-dev.10
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 +1 -1
- package/lib/cjs/BackendHubAccess.d.ts +38 -0
- package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.js +3 -3
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.d.ts +37 -7
- package/lib/cjs/Category.d.ts.map +1 -1
- package/lib/cjs/Category.js +33 -42
- 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.d.ts.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +253 -250
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.d.ts +29 -0
- package/lib/cjs/ChannelControl.d.ts.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js +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.d.ts +1 -1
- package/lib/cjs/CloudSqlite.d.ts.map +1 -1
- package/lib/cjs/CloudSqlite.js +68 -13
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.d.ts +32 -3
- package/lib/cjs/CodeSpecs.d.ts.map +1 -1
- package/lib/cjs/CodeSpecs.js +48 -20
- 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 +18 -3
- package/lib/cjs/DisplayStyle.d.ts.map +1 -1
- package/lib/cjs/DisplayStyle.js +10 -21
- 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/ECSqlRowExecutor.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/ECSqlSyncReader.js.map +1 -1
- package/lib/cjs/EditTxn.d.ts +262 -0
- package/lib/cjs/EditTxn.d.ts.map +1 -0
- package/lib/cjs/EditTxn.js +548 -0
- package/lib/cjs/EditTxn.js.map +1 -0
- package/lib/cjs/Element.d.ts +74 -5
- package/lib/cjs/Element.d.ts.map +1 -1
- package/lib/cjs/Element.js +63 -75
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.d.ts +10 -0
- package/lib/cjs/ElementAspect.d.ts.map +1 -1
- package/lib/cjs/ElementAspect.js +21 -12
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.d.ts +56 -3
- package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
- package/lib/cjs/ElementTreeWalker.js +53 -40
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.d.ts +11 -2
- package/lib/cjs/ExternalSource.d.ts.map +1 -1
- package/lib/cjs/ExternalSource.js +10 -8
- 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.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 +66 -22
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +183 -297
- 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 +58 -1
- package/lib/cjs/IModelHost.d.ts.map +1 -1
- package/lib/cjs/IModelHost.js +89 -0
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.d.ts.map +1 -1
- package/lib/cjs/IpcHost.js +15 -6
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.d.ts +47 -7
- package/lib/cjs/LineStyle.d.ts.map +1 -1
- package/lib/cjs/LineStyle.js +38 -33
- 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.d.ts +85 -1
- package/lib/cjs/LockControl.d.ts.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.d.ts +8 -1
- package/lib/cjs/Material.d.ts.map +1 -1
- package/lib/cjs/Material.js +6 -12
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.d.ts +59 -20
- package/lib/cjs/Model.d.ts.map +1 -1
- package/lib/cjs/Model.js +38 -80
- 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.d.ts +72 -7
- package/lib/cjs/Relationship.d.ts.map +1 -1
- package/lib/cjs/Relationship.js +39 -21
- 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 +4 -4
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.d.ts +9 -0
- package/lib/cjs/SheetIndex.d.ts.map +1 -1
- package/lib/cjs/SheetIndex.js +38 -35
- 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/StashManager.js +1 -1
- package/lib/cjs/StashManager.js.map +1 -1
- package/lib/cjs/Texture.d.ts +6 -0
- package/lib/cjs/Texture.d.ts.map +1 -1
- package/lib/cjs/Texture.js +6 -14
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +105 -9
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +194 -15
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.d.ts +21 -1
- package/lib/cjs/ViewDefinition.d.ts.map +1 -1
- package/lib/cjs/ViewDefinition.js +27 -66
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts +14 -6
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +33 -27
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js +6 -5
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
- 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 +1 -0
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +1 -0
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.d.ts +6 -2
- package/lib/cjs/domains/FunctionalElements.d.ts.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js +8 -13
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.d.ts +11 -4
- package/lib/cjs/domains/GenericElements.d.ts.map +1 -1
- package/lib/cjs/domains/GenericElements.js +13 -24
- 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.d.ts +15 -0
- package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js +5 -3
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.d.ts +2 -0
- package/lib/cjs/internal/HubMock.d.ts.map +1 -1
- package/lib/cjs/internal/HubMock.js +7 -0
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.d.ts.map +1 -1
- package/lib/cjs/internal/NoLocks.js +6 -0
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/OnlineStatus.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.d.ts +12 -0
- package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js +285 -4
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.d.ts +4 -0
- package/lib/cjs/internal/Symbols.d.ts.map +1 -1
- package/lib/cjs/internal/Symbols.js +5 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/annotations/fields.d.ts +3 -2
- package/lib/cjs/internal/annotations/fields.d.ts.map +1 -1
- package/lib/cjs/internal/annotations/fields.js +7 -6
- package/lib/cjs/internal/annotations/fields.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsEditorImpl.d.ts +18 -3
- package/lib/cjs/internal/workspace/SettingsEditorImpl.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/SettingsEditorImpl.js +49 -242
- package/lib/cjs/internal/workspace/SettingsEditorImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.d.ts.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.d.ts +0 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js +70 -41
- 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.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.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.d.ts +11 -5
- package/lib/cjs/workspace/Settings.d.ts.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsDb.d.ts +20 -99
- package/lib/cjs/workspace/SettingsDb.d.ts.map +1 -1
- package/lib/cjs/workspace/SettingsDb.js +23 -7
- package/lib/cjs/workspace/SettingsDb.js.map +1 -1
- package/lib/cjs/workspace/SettingsEditor.d.ts +40 -226
- package/lib/cjs/workspace/SettingsEditor.d.ts.map +1 -1
- package/lib/cjs/workspace/SettingsEditor.js +86 -25
- package/lib/cjs/workspace/SettingsEditor.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.d.ts +7 -11
- package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.d.ts +14 -0
- package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.d.ts +38 -0
- package/lib/esm/BackendHubAccess.d.ts.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.js +3 -3
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.d.ts +37 -7
- package/lib/esm/Category.d.ts.map +1 -1
- package/lib/esm/Category.js +33 -42
- 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.d.ts.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +253 -250
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.d.ts +29 -0
- package/lib/esm/ChannelControl.d.ts.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js +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.d.ts +1 -1
- package/lib/esm/CloudSqlite.d.ts.map +1 -1
- package/lib/esm/CloudSqlite.js +69 -14
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.d.ts +32 -3
- package/lib/esm/CodeSpecs.d.ts.map +1 -1
- package/lib/esm/CodeSpecs.js +49 -21
- 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 +18 -3
- package/lib/esm/DisplayStyle.d.ts.map +1 -1
- package/lib/esm/DisplayStyle.js +10 -21
- 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/ECSqlRowExecutor.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/ECSqlSyncReader.js.map +1 -1
- package/lib/esm/EditTxn.d.ts +262 -0
- package/lib/esm/EditTxn.d.ts.map +1 -0
- package/lib/esm/EditTxn.js +543 -0
- package/lib/esm/EditTxn.js.map +1 -0
- package/lib/esm/Element.d.ts +74 -5
- package/lib/esm/Element.d.ts.map +1 -1
- package/lib/esm/Element.js +64 -76
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.d.ts +10 -0
- package/lib/esm/ElementAspect.d.ts.map +1 -1
- package/lib/esm/ElementAspect.js +22 -13
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.d.ts +56 -3
- package/lib/esm/ElementTreeWalker.d.ts.map +1 -1
- package/lib/esm/ElementTreeWalker.js +53 -40
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.d.ts +11 -2
- package/lib/esm/ExternalSource.d.ts.map +1 -1
- package/lib/esm/ExternalSource.js +10 -8
- 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.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 +66 -22
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +185 -299
- 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 +58 -1
- package/lib/esm/IModelHost.d.ts.map +1 -1
- package/lib/esm/IModelHost.js +91 -2
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.d.ts.map +1 -1
- package/lib/esm/IpcHost.js +16 -7
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.d.ts +47 -7
- package/lib/esm/LineStyle.d.ts.map +1 -1
- package/lib/esm/LineStyle.js +38 -33
- 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.d.ts +85 -1
- package/lib/esm/LockControl.d.ts.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.d.ts +8 -1
- package/lib/esm/Material.d.ts.map +1 -1
- package/lib/esm/Material.js +6 -12
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.d.ts +59 -20
- package/lib/esm/Model.d.ts.map +1 -1
- package/lib/esm/Model.js +39 -81
- 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.d.ts +72 -7
- package/lib/esm/Relationship.d.ts.map +1 -1
- package/lib/esm/Relationship.js +40 -22
- 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 +5 -5
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.d.ts +9 -0
- package/lib/esm/SheetIndex.d.ts.map +1 -1
- package/lib/esm/SheetIndex.js +38 -35
- 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/StashManager.js +1 -1
- package/lib/esm/StashManager.js.map +1 -1
- package/lib/esm/Texture.d.ts +6 -0
- package/lib/esm/Texture.d.ts.map +1 -1
- package/lib/esm/Texture.js +6 -14
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +105 -9
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +194 -15
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.d.ts +21 -1
- package/lib/esm/ViewDefinition.d.ts.map +1 -1
- package/lib/esm/ViewDefinition.js +27 -66
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts +14 -6
- package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js +33 -27
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js +6 -5
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.d.ts +1 -0
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +1 -0
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.d.ts +6 -2
- package/lib/esm/domains/FunctionalElements.d.ts.map +1 -1
- package/lib/esm/domains/FunctionalElements.js +8 -13
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.d.ts +11 -4
- package/lib/esm/domains/GenericElements.d.ts.map +1 -1
- package/lib/esm/domains/GenericElements.js +13 -24
- 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.d.ts +15 -0
- package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js +6 -4
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.js.map +1 -1
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.d.ts +2 -0
- package/lib/esm/internal/HubMock.d.ts.map +1 -1
- package/lib/esm/internal/HubMock.js +7 -0
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/IntegrityCheck.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.d.ts.map +1 -1
- package/lib/esm/internal/NoLocks.js +6 -0
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/OnlineStatus.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.d.ts +12 -0
- package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js +286 -5
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.d.ts +4 -0
- package/lib/esm/internal/Symbols.d.ts.map +1 -1
- package/lib/esm/internal/Symbols.js +4 -0
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/annotations/fields.d.ts +3 -2
- package/lib/esm/internal/annotations/fields.d.ts.map +1 -1
- package/lib/esm/internal/annotations/fields.js +7 -6
- package/lib/esm/internal/annotations/fields.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsEditorImpl.d.ts +18 -3
- package/lib/esm/internal/workspace/SettingsEditorImpl.d.ts.map +1 -1
- package/lib/esm/internal/workspace/SettingsEditorImpl.js +52 -246
- package/lib/esm/internal/workspace/SettingsEditorImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.d.ts.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.d.ts +0 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js +71 -41
- 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.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.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/AnnotationTestUtils.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/ElementDrivesElement.test.d.ts +20 -19
- package/lib/esm/test/ElementDrivesElement.test.d.ts.map +1 -1
- package/lib/esm/test/ElementDrivesElement.test.js +134 -119
- package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js +56 -2
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.d.ts +23 -23
- package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
- package/lib/esm/test/IModelTestUtils.js +466 -449
- 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 +2 -2
- 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/SquashSchemaAndDataChanges.test.js +156 -147
- package/lib/esm/test/SquashSchemaAndDataChanges.test.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js +11 -7
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestEditTxn.d.ts +8 -0
- package/lib/esm/test/TestEditTxn.d.ts.map +1 -0
- package/lib/esm/test/TestEditTxn.js +34 -0
- package/lib/esm/test/TestEditTxn.js.map +1 -0
- package/lib/esm/test/TestUtils.d.ts +1 -0
- package/lib/esm/test/TestUtils.d.ts.map +1 -1
- package/lib/esm/test/TestUtils.js +8 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js +135 -143
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js +156 -99
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js +5 -3
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
- package/lib/esm/test/categories/Category.test.js +63 -3
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js +88 -5
- 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/ConcurrentQuery.test.js +19 -19
- package/lib/esm/test/ecdb/ConcurrentQuery.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 +72 -72
- 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 +68 -67
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js +6 -6
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -333
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/QueryReaders.test.js +47 -44
- package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js +2 -2
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +30 -28
- 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 +159 -143
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +90 -82
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js +51 -43
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +176 -177
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js +2 -2
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js +40 -38
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +23 -22
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/ProjectInformationRecord.test.js +5 -2
- package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
- package/lib/esm/test/element/SheetInformationAspect.test.js +43 -11
- package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js +2 -2
- 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 +87 -73
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js +194 -155
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js +2 -4
- 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/hubaccess/Rebase.test.js +369 -303
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
- package/lib/esm/test/hubaccess/SemanticRebase.test.js +467 -392
- package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/Code.test.js +31 -31
- package/lib/esm/test/imodel/Code.test.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js +57 -48
- 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 +463 -388
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js +2 -2
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js +13 -13
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js +2 -2
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -1
- package/lib/esm/test/index.d.ts +1 -0
- package/lib/esm/test/index.d.ts.map +1 -1
- package/lib/esm/test/index.js +1 -0
- 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.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 +122 -121
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js +36 -34
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js +114 -94
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js +11 -10
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js +226 -211
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +1 -3
- package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -247
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js +101 -82
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +242 -213
- 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 +43 -40
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js +4 -3
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/EditTxn.test.d.ts +2 -0
- package/lib/esm/test/standalone/EditTxn.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/EditTxn.test.js +219 -0
- package/lib/esm/test/standalone/EditTxn.test.js.map +1 -0
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js +16 -13
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +40 -34
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js +11 -15
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js +212 -165
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js +31 -25
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.js +11 -8
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.d.ts +2 -2
- package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js +211 -169
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/ITwinWorkspace.test.d.ts +2 -0
- package/lib/esm/test/standalone/ITwinWorkspace.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/ITwinWorkspace.test.js +236 -0
- package/lib/esm/test/standalone/ITwinWorkspace.test.js.map +1 -0
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +25 -22
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/IntegrityCheck.test.js +20 -18
- package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.d.ts +2 -2
- package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js +49 -33
- 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 +5 -5
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js +3 -2
- 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 +7 -7
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js +928 -22
- 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 +26 -4
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js +2 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js +3 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/StandaloneDb.test.js +27 -26
- package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js +5 -4
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js +5 -3
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js +35 -31
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js +700 -653
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js +295 -229
- 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 +72 -22
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/test/standalone/iModelDb.test.js.map +1 -1
- package/lib/esm/test/workspace/SettingsDb.test.js +28 -456
- package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -1
- package/lib/esm/workspace/Settings.d.ts +11 -5
- package/lib/esm/workspace/Settings.d.ts.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsDb.d.ts +20 -99
- package/lib/esm/workspace/SettingsDb.d.ts.map +1 -1
- package/lib/esm/workspace/SettingsDb.js +20 -6
- package/lib/esm/workspace/SettingsDb.js.map +1 -1
- package/lib/esm/workspace/SettingsEditor.d.ts +40 -226
- package/lib/esm/workspace/SettingsEditor.d.ts.map +1 -1
- package/lib/esm/workspace/SettingsEditor.js +85 -24
- package/lib/esm/workspace/SettingsEditor.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.d.ts +7 -11
- package/lib/esm/workspace/Workspace.d.ts.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.d.ts +14 -0
- package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +13 -13
- package/lib/cjs/internal/workspace/SettingsDbImpl.d.ts +0 -38
- package/lib/cjs/internal/workspace/SettingsDbImpl.d.ts.map +0 -1
- package/lib/cjs/internal/workspace/SettingsDbImpl.js +0 -108
- package/lib/cjs/internal/workspace/SettingsDbImpl.js.map +0 -1
- package/lib/cjs/internal/workspace/SettingsSqliteDb.d.ts +0 -14
- package/lib/cjs/internal/workspace/SettingsSqliteDb.d.ts.map +0 -1
- package/lib/cjs/internal/workspace/SettingsSqliteDb.js +0 -40
- package/lib/cjs/internal/workspace/SettingsSqliteDb.js.map +0 -1
- package/lib/esm/internal/workspace/SettingsDbImpl.d.ts +0 -38
- package/lib/esm/internal/workspace/SettingsDbImpl.d.ts.map +0 -1
- package/lib/esm/internal/workspace/SettingsDbImpl.js +0 -104
- package/lib/esm/internal/workspace/SettingsDbImpl.js.map +0 -1
- package/lib/esm/internal/workspace/SettingsSqliteDb.d.ts +0 -14
- package/lib/esm/internal/workspace/SettingsSqliteDb.d.ts.map +0 -1
- package/lib/esm/internal/workspace/SettingsSqliteDb.js +0 -36
- package/lib/esm/internal/workspace/SettingsSqliteDb.js.map +0 -1
|
@@ -4,12 +4,43 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { assert, expect } from "chai";
|
|
6
6
|
import { BentleyStatus, Id64, IModelStatus } from "@itwin/core-bentley";
|
|
7
|
+
import { EditTxn } from "../../EditTxn";
|
|
7
8
|
import { Angle, AngleSweep, Arc3d, Box, ClipMaskXYZRangePlanes, ClipPlane, ClipPlaneContainment, ClipPrimitive, ClipShape, ClipVector, ConvexClipPlaneSet, CurveCollection, CurvePrimitive, Geometry, IndexedPolyface, InterpolationCurve3d, InterpolationCurve3dOptions, LineSegment3d, LineString3d, Loop, Matrix3d, Plane3dByOriginAndUnitNormal, Point2d, Point3d, Point3dArray, PointString3d, PolyfaceBuilder, Range2d, Range3d, SolidPrimitive, Sphere, StrokeOptions, Transform, Vector3d, YawPitchRollAngles, } from "@itwin/core-geometry";
|
|
8
9
|
import { AreaPattern, BackgroundFill, BRepGeometryOperation, Code, ColorByName, ColorDef, ElementGeometry, ElementGeometryOpcode, FillDisplay, GeometryClass, GeometryParams, GeometryStreamBuilder, GeometryStreamFlags, GeometryStreamIterator, Gradient, ImageGraphicCorners, IModel, LinePixels, LineStyle, MassPropertiesOperation, Placement3d, TextString, ThematicGradientMode, ThematicGradientSettings, ViewFlags, } from "@itwin/core-common";
|
|
9
10
|
import { _nativeDb, DefinitionModel, deleteElementTree, GeometryPart, LineStyleDefinition, PhysicalObject, SubCategory, Subject } from "../../core-backend";
|
|
10
11
|
import { createBRepDataProps } from "../GeometryTestUtil";
|
|
11
12
|
import { IModelTestUtils } from "../IModelTestUtils";
|
|
12
13
|
import { Timer } from "../TestUtils";
|
|
14
|
+
let currentTxn;
|
|
15
|
+
function txnForCurrentTest(iModel, mode = "reuse") {
|
|
16
|
+
if (currentTxn && (!currentTxn.iModel.isOpen || currentTxn.iModel !== iModel)) {
|
|
17
|
+
if (currentTxn.isActive && currentTxn.iModel.isOpen)
|
|
18
|
+
currentTxn.end("abandon");
|
|
19
|
+
currentTxn = undefined;
|
|
20
|
+
}
|
|
21
|
+
if ("reuse" === mode && currentTxn?.isActive)
|
|
22
|
+
return currentTxn;
|
|
23
|
+
if (currentTxn?.isActive)
|
|
24
|
+
currentTxn.end("abandon");
|
|
25
|
+
currentTxn = new EditTxn(iModel, "geometry stream");
|
|
26
|
+
currentTxn.start();
|
|
27
|
+
return currentTxn;
|
|
28
|
+
}
|
|
29
|
+
function saveTestTxn(iModel, closeAfterSave = false) {
|
|
30
|
+
const txn = txnForCurrentTest(iModel);
|
|
31
|
+
txn.saveChanges();
|
|
32
|
+
if (closeAfterSave && txn.isActive) {
|
|
33
|
+
txn.end();
|
|
34
|
+
currentTxn = undefined;
|
|
35
|
+
if (iModel.isOpen)
|
|
36
|
+
txnForCurrentTest(iModel, "fresh");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function closeTestTxn(_iModel) {
|
|
40
|
+
if (currentTxn?.isActive)
|
|
41
|
+
currentTxn.end("abandon");
|
|
42
|
+
currentTxn = undefined;
|
|
43
|
+
}
|
|
13
44
|
function assertTrue(expr) {
|
|
14
45
|
assert.isTrue(expr);
|
|
15
46
|
}
|
|
@@ -35,12 +66,12 @@ function createPhysicalElementProps(seedElement, placement, geom, modelId) {
|
|
|
35
66
|
}
|
|
36
67
|
function createGeometryPart(geom, imodel) {
|
|
37
68
|
const partProps = createGeometryPartProps(geom);
|
|
38
|
-
return imodel.
|
|
69
|
+
return txnForCurrentTest(imodel).insertElement(partProps);
|
|
39
70
|
}
|
|
40
71
|
function createGeometricElem(geom, placement, imodel, seedElement) {
|
|
41
72
|
const elementProps = createPhysicalElementProps(seedElement, placement, geom);
|
|
42
73
|
const el = imodel.elements.createElement(elementProps);
|
|
43
|
-
return imodel.
|
|
74
|
+
return txnForCurrentTest(imodel).insertElement(el.toJSON());
|
|
44
75
|
}
|
|
45
76
|
function createPartElem(partId, origin, angles, imodel, seedElement, isRelative = false) {
|
|
46
77
|
const builder = new GeometryStreamBuilder();
|
|
@@ -94,7 +125,7 @@ function createStyledLineElem(imodel, seedElement, x, y, length, styleInfo, colo
|
|
|
94
125
|
builder.appendGeometryParamsChange(params);
|
|
95
126
|
builder.appendGeometry(LineSegment3d.create(Point3d.create(x, y, 0), Point3d.create(x + length, y, 0)));
|
|
96
127
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
97
|
-
return imodel.
|
|
128
|
+
return txnForCurrentTest(imodel).insertElement(elementProps);
|
|
98
129
|
}
|
|
99
130
|
function validateElementInfo(info, expected, isWorld) {
|
|
100
131
|
assert.isTrue(undefined !== info.entryArray && expected.length === info.entryArray.length);
|
|
@@ -245,9 +276,9 @@ function createGeometricElemFromSeed(imodel, seedId, entryArray, placement) {
|
|
|
245
276
|
assert.exists(seedElement);
|
|
246
277
|
const elementProps = createPhysicalElementProps(seedElement, placement);
|
|
247
278
|
elementProps.elementGeometryBuilderParams = { entryArray };
|
|
248
|
-
const newId = imodel.
|
|
279
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
249
280
|
assert.isTrue(Id64.isValidId64(newId));
|
|
250
|
-
imodel
|
|
281
|
+
saveTestTxn(imodel, true);
|
|
251
282
|
return newId;
|
|
252
283
|
}
|
|
253
284
|
describe("GeometryStream", () => {
|
|
@@ -258,9 +289,17 @@ describe("GeometryStream", () => {
|
|
|
258
289
|
imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, seedFileName);
|
|
259
290
|
});
|
|
260
291
|
after(() => {
|
|
292
|
+
closeTestTxn(imodel);
|
|
261
293
|
imodel.close();
|
|
262
294
|
});
|
|
295
|
+
beforeEach(() => {
|
|
296
|
+
txnForCurrentTest(imodel, "fresh");
|
|
297
|
+
});
|
|
298
|
+
afterEach(() => {
|
|
299
|
+
closeTestTxn(imodel);
|
|
300
|
+
});
|
|
263
301
|
it("create GeometricElement3d using line codes 1-7", async () => {
|
|
302
|
+
const txn = txnForCurrentTest(imodel);
|
|
264
303
|
// Set up element to be placed in iModel
|
|
265
304
|
const seedElement = imodel.elements.getElement("0x1d");
|
|
266
305
|
assert.exists(seedElement);
|
|
@@ -270,12 +309,12 @@ describe("GeometryStream", () => {
|
|
|
270
309
|
// create new line style definitions for line codes 1-7
|
|
271
310
|
const lsStyles = [];
|
|
272
311
|
lsCodes.forEach((linePixels) => {
|
|
273
|
-
lsStyles.push(LinePixels.Solid === linePixels ? Id64.invalid : LineStyleDefinition.Utils.getOrCreateLinePixelsStyle(imodel, IModel.dictionaryId, linePixels));
|
|
312
|
+
lsStyles.push(LinePixels.Solid === linePixels ? Id64.invalid : LineStyleDefinition.Utils.getOrCreateLinePixelsStyle(imodel, IModel.dictionaryId, linePixels, txn));
|
|
274
313
|
});
|
|
275
314
|
// get existing line style definitions for line codes 1-7
|
|
276
315
|
const lsStylesExist = [];
|
|
277
316
|
lsCodes.forEach((linePixels) => {
|
|
278
|
-
lsStylesExist.push(LinePixels.Solid === linePixels ? Id64.invalid : LineStyleDefinition.Utils.getOrCreateLinePixelsStyle(imodel, IModel.dictionaryId, linePixels));
|
|
317
|
+
lsStylesExist.push(LinePixels.Solid === linePixels ? Id64.invalid : LineStyleDefinition.Utils.getOrCreateLinePixelsStyle(imodel, IModel.dictionaryId, linePixels, txn));
|
|
279
318
|
});
|
|
280
319
|
// make sure we found existing styles and didn't create a second set
|
|
281
320
|
assert.isTrue(8 === lsStyles.length && lsStyles.length === lsStylesExist.length);
|
|
@@ -295,9 +334,9 @@ describe("GeometryStream", () => {
|
|
|
295
334
|
pointE.y += 0.5;
|
|
296
335
|
});
|
|
297
336
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
298
|
-
const newId = imodel.
|
|
337
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
299
338
|
assert.isTrue(Id64.isValidId64(newId));
|
|
300
|
-
imodel
|
|
339
|
+
saveTestTxn(imodel, true);
|
|
301
340
|
// Extract and test value returned...
|
|
302
341
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
303
342
|
assert.isDefined(value.geom);
|
|
@@ -324,21 +363,22 @@ describe("GeometryStream", () => {
|
|
|
324
363
|
}
|
|
325
364
|
});
|
|
326
365
|
it("create GeometricElement3d using continuous style", async () => {
|
|
366
|
+
const txn = txnForCurrentTest(imodel);
|
|
327
367
|
// Set up element to be placed in iModel
|
|
328
368
|
const seedElement = imodel.elements.getElement("0x1d");
|
|
329
369
|
assert.exists(seedElement);
|
|
330
370
|
assert.isTrue(seedElement.federationGuid === "18eb4650-b074-414f-b961-d9cfaa6c8746");
|
|
331
371
|
// create special "internal default" continuous style for drawing curves using width overrides
|
|
332
|
-
const styleId = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId);
|
|
372
|
+
const styleId = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId, undefined, txn);
|
|
333
373
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
334
374
|
// make sure we found existing style and didn't create a new one
|
|
335
|
-
const styleIdExists = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId);
|
|
375
|
+
const styleIdExists = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId, undefined, txn);
|
|
336
376
|
assert.isTrue(Id64.isValidId64(styleIdExists) && styleIdExists === (styleId));
|
|
337
377
|
// create continuous style with pre-defined constant width
|
|
338
|
-
const styleIdWidth = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId, 0.05);
|
|
378
|
+
const styleIdWidth = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId, 0.05, txn);
|
|
339
379
|
assert.isTrue(Id64.isValidId64(styleIdWidth));
|
|
340
380
|
// make sure we found existing style and didn't create a new one
|
|
341
|
-
const styleIdWidthExists = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId, 0.05);
|
|
381
|
+
const styleIdWidthExists = LineStyleDefinition.Utils.getOrCreateContinuousStyle(imodel, IModel.dictionaryId, 0.05, txn);
|
|
342
382
|
assert.isTrue(Id64.isValidId64(styleIdWidthExists) && styleIdWidthExists === (styleIdWidth));
|
|
343
383
|
const builder = new GeometryStreamBuilder();
|
|
344
384
|
const params = new GeometryParams(seedElement.category);
|
|
@@ -361,9 +401,9 @@ describe("GeometryStream", () => {
|
|
|
361
401
|
builder.appendGeometryParamsChange(params);
|
|
362
402
|
builder.appendGeometry(LineSegment3d.create(Point3d.create(1.5, 0, 0), Point3d.create(1.5, 5, 0)));
|
|
363
403
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
364
|
-
const newId = imodel.
|
|
404
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
365
405
|
assert.isTrue(Id64.isValidId64(newId));
|
|
366
|
-
imodel
|
|
406
|
+
saveTestTxn(imodel, true);
|
|
367
407
|
// Extract and test value returned...
|
|
368
408
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
369
409
|
assert.isDefined(value.geom);
|
|
@@ -398,16 +438,16 @@ describe("GeometryStream", () => {
|
|
|
398
438
|
partBuilder.appendGeometryParamsChange(partParams);
|
|
399
439
|
partBuilder.appendGeometry(Loop.create(LineString3d.create(Point3d.create(0.1, 0, 0), Point3d.create(0, -0.05, 0), Point3d.create(0, 0.05, 0), Point3d.create(0.1, 0, 0))));
|
|
400
440
|
const partProps = createGeometryPartProps(partBuilder.geometryStream, definitionModelId);
|
|
401
|
-
const partId = imodel.
|
|
441
|
+
const partId = txnForCurrentTest(imodel).insertElement(partProps);
|
|
402
442
|
assert.isTrue(Id64.isValidId64(partId));
|
|
403
|
-
const pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(imodel, { geomPartId: partId }); // base and size will be set automatically...
|
|
443
|
+
const pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(txnForCurrentTest(imodel), { geomPartId: partId }); // base and size will be set automatically...
|
|
404
444
|
assert.isTrue(undefined !== pointSymbolData);
|
|
405
445
|
// Use internal default instead of creating a stroke component for a solid line
|
|
406
|
-
const strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(imodel, { descr: "TestArrowHead", lcId: 0, lcType: LineStyleDefinition.ComponentType.Internal, symbols: [{ symId: pointSymbolData.compId, strokeNum: -1, mod1: LineStyleDefinition.SymbolOptions.CurveEnd }] });
|
|
446
|
+
const strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(txnForCurrentTest(imodel), { descr: "TestArrowHead", lcId: 0, lcType: LineStyleDefinition.ComponentType.Internal, symbols: [{ symId: pointSymbolData.compId, strokeNum: -1, mod1: LineStyleDefinition.SymbolOptions.CurveEnd }] });
|
|
407
447
|
assert.isTrue(undefined !== strokePointData);
|
|
408
|
-
const compoundData = LineStyleDefinition.Utils.createCompoundComponent(imodel, { comps: [{ id: strokePointData.compId, type: strokePointData.compType }, { id: 0, type: LineStyleDefinition.ComponentType.Internal }] });
|
|
448
|
+
const compoundData = LineStyleDefinition.Utils.createCompoundComponent(txnForCurrentTest(imodel), { comps: [{ id: strokePointData.compId, type: strokePointData.compType }, { id: 0, type: LineStyleDefinition.ComponentType.Internal }] });
|
|
409
449
|
assert.isTrue(undefined !== compoundData);
|
|
410
|
-
const styleId = LineStyleDefinition.Utils.createStyle(imodel, definitionModelId, "TestArrowStyle", compoundData);
|
|
450
|
+
const styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), definitionModelId, "TestArrowStyle", compoundData);
|
|
411
451
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
412
452
|
const builder = new GeometryStreamBuilder();
|
|
413
453
|
const params = new GeometryParams(seedElement.category);
|
|
@@ -415,9 +455,9 @@ describe("GeometryStream", () => {
|
|
|
415
455
|
builder.appendGeometryParamsChange(params);
|
|
416
456
|
builder.appendGeometry(LineSegment3d.create(Point3d.createZero(), Point3d.create(-1, -1, 0)));
|
|
417
457
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream, physicalModelId);
|
|
418
|
-
const newId = imodel.
|
|
458
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
419
459
|
assert.isTrue(Id64.isValidId64(newId));
|
|
420
|
-
imodel
|
|
460
|
+
saveTestTxn(imodel, true);
|
|
421
461
|
const usageInfo = imodel[_nativeDb].queryDefinitionElementUsage([partId, styleId]);
|
|
422
462
|
assert.isTrue(usageInfo.geometryPartIds.includes(partId));
|
|
423
463
|
assert.isTrue(usageInfo.lineStyleIds.includes(styleId));
|
|
@@ -428,19 +468,19 @@ describe("GeometryStream", () => {
|
|
|
428
468
|
createGeometricElem3dUsingArrowHeadNoStrokePattern();
|
|
429
469
|
});
|
|
430
470
|
it("create GeometricElement3d using arrow head style w/o using stroke pattern - deleteElementTree fails", async () => {
|
|
431
|
-
const mySubject = Subject.insert(imodel, IModel.rootSubjectId, "My Subject - fails");
|
|
432
|
-
const myDefModel = DefinitionModel.insert(imodel, mySubject, "My Definitions - fails");
|
|
433
|
-
const myPhysicalModel = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(imodel, Code.createEmpty(), false, mySubject)[0];
|
|
471
|
+
const mySubject = Subject.insert(txnForCurrentTest(imodel), IModel.rootSubjectId, "My Subject - fails");
|
|
472
|
+
const myDefModel = DefinitionModel.insert(txnForCurrentTest(imodel), mySubject, "My Definitions - fails");
|
|
473
|
+
const myPhysicalModel = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(txnForCurrentTest(imodel), Code.createEmpty(), false, mySubject)[0];
|
|
434
474
|
createGeometricElem3dUsingArrowHeadNoStrokePattern(myDefModel, myPhysicalModel);
|
|
435
|
-
deleteElementTree(
|
|
475
|
+
deleteElementTree(txnForCurrentTest(imodel), mySubject, 1);
|
|
436
476
|
expect(imodel.elements.tryGetElement(mySubject)).not.undefined;
|
|
437
477
|
});
|
|
438
478
|
it("create GeometricElement3d using arrow head style w/o using stroke pattern - deleteElementTree succeeds with 2 passes", async () => {
|
|
439
|
-
const mySubject = Subject.insert(imodel, IModel.rootSubjectId, "My Subject - success");
|
|
440
|
-
const myDefModel = DefinitionModel.insert(imodel, mySubject, "My Definitions - success");
|
|
441
|
-
const myPhysicalModel = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(imodel, Code.createEmpty(), false, mySubject)[0];
|
|
479
|
+
const mySubject = Subject.insert(txnForCurrentTest(imodel), IModel.rootSubjectId, "My Subject - success");
|
|
480
|
+
const myDefModel = DefinitionModel.insert(txnForCurrentTest(imodel), mySubject, "My Definitions - success");
|
|
481
|
+
const myPhysicalModel = IModelTestUtils.createAndInsertPhysicalPartitionAndModel(txnForCurrentTest(imodel), Code.createEmpty(), false, mySubject)[0];
|
|
442
482
|
createGeometricElem3dUsingArrowHeadNoStrokePattern(myDefModel, myPhysicalModel);
|
|
443
|
-
deleteElementTree(
|
|
483
|
+
deleteElementTree(txnForCurrentTest(imodel), mySubject, 2);
|
|
444
484
|
expect(imodel.elements.tryGetElement(mySubject)).undefined;
|
|
445
485
|
});
|
|
446
486
|
it("create GeometricElement3d using compound style with dash widths and symbol", async () => {
|
|
@@ -455,26 +495,26 @@ describe("GeometryStream", () => {
|
|
|
455
495
|
lsStrokes.push({ length: 0.1 });
|
|
456
496
|
lsStrokes.push({ length: 0.25, orgWidth: 0.025, endWidth: 0.0, strokeMode: LineStyleDefinition.StrokeMode.Dash, widthMode: LineStyleDefinition.StrokeWidth.Right });
|
|
457
497
|
lsStrokes.push({ length: 0.1 });
|
|
458
|
-
const strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(imodel, { descr: "TestDashDotDashLineCode", strokes: lsStrokes });
|
|
498
|
+
const strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(txnForCurrentTest(imodel), { descr: "TestDashDotDashLineCode", strokes: lsStrokes });
|
|
459
499
|
assert.isTrue(undefined !== strokePatternData);
|
|
460
500
|
const partBuilder = new GeometryStreamBuilder();
|
|
461
501
|
partBuilder.appendGeometry(Arc3d.createXY(Point3d.createZero(), 0.05));
|
|
462
502
|
const partProps = createGeometryPartProps(partBuilder.geometryStream);
|
|
463
|
-
const partId = imodel.
|
|
503
|
+
const partId = txnForCurrentTest(imodel).insertElement(partProps);
|
|
464
504
|
assert.isTrue(Id64.isValidId64(partId));
|
|
465
|
-
const pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(imodel, { geomPartId: partId }); // base and size will be set automatically...
|
|
505
|
+
const pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(txnForCurrentTest(imodel), { geomPartId: partId }); // base and size will be set automatically...
|
|
466
506
|
assert.isTrue(undefined !== pointSymbolData);
|
|
467
507
|
const lsSymbols = [];
|
|
468
508
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 1, mod1: LineStyleDefinition.SymbolOptions.Center });
|
|
469
509
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 3, mod1: LineStyleDefinition.SymbolOptions.Center });
|
|
470
|
-
const strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(imodel, { descr: "TestGapSymbolsLinePoint", lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
510
|
+
const strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(txnForCurrentTest(imodel), { descr: "TestGapSymbolsLinePoint", lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
471
511
|
assert.isTrue(undefined !== strokePointData);
|
|
472
512
|
const lsComponents = [];
|
|
473
513
|
lsComponents.push({ id: strokePointData.compId, type: strokePointData.compType });
|
|
474
514
|
lsComponents.push({ id: strokePatternData.compId, type: strokePatternData.compType });
|
|
475
|
-
const compoundData = LineStyleDefinition.Utils.createCompoundComponent(imodel, { comps: lsComponents });
|
|
515
|
+
const compoundData = LineStyleDefinition.Utils.createCompoundComponent(txnForCurrentTest(imodel), { comps: lsComponents });
|
|
476
516
|
assert.isTrue(undefined !== compoundData);
|
|
477
|
-
const styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, "TestDashCircleDotCircleDashStyle", compoundData);
|
|
517
|
+
const styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, "TestDashCircleDotCircleDashStyle", compoundData);
|
|
478
518
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
479
519
|
const builder = new GeometryStreamBuilder();
|
|
480
520
|
const params = new GeometryParams(seedElement.category);
|
|
@@ -482,9 +522,9 @@ describe("GeometryStream", () => {
|
|
|
482
522
|
builder.appendGeometryParamsChange(params);
|
|
483
523
|
builder.appendGeometry(LineSegment3d.create(Point3d.createZero(), Point3d.create(5, 5, 0)));
|
|
484
524
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
485
|
-
const newId = imodel.
|
|
525
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
486
526
|
assert.isTrue(Id64.isValidId64(newId));
|
|
487
|
-
imodel
|
|
527
|
+
saveTestTxn(imodel, true);
|
|
488
528
|
const usageInfo = imodel[_nativeDb].queryDefinitionElementUsage([partId, styleId, seedElement.category]);
|
|
489
529
|
assert.isTrue(usageInfo.geometryPartIds.includes(partId));
|
|
490
530
|
assert.isTrue(usageInfo.lineStyleIds.includes(styleId));
|
|
@@ -504,17 +544,17 @@ describe("GeometryStream", () => {
|
|
|
504
544
|
let unitDef = 1.0;
|
|
505
545
|
let widthDef = 0.0;
|
|
506
546
|
let name = `Continuous-${unitDef}-${widthDef}`;
|
|
507
|
-
let styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, { compId: 0, compType: LineStyleDefinition.ComponentType.Internal, flags: LineStyleDefinition.StyleFlags.Continuous | LineStyleDefinition.StyleFlags.NoSnap });
|
|
547
|
+
let styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, { compId: 0, compType: LineStyleDefinition.ComponentType.Internal, flags: LineStyleDefinition.StyleFlags.Continuous | LineStyleDefinition.StyleFlags.NoSnap });
|
|
508
548
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
509
549
|
// Expect no range padding...
|
|
510
550
|
let newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId));
|
|
511
551
|
assert.isTrue(Id64.isValidId64(newId));
|
|
512
|
-
imodel
|
|
552
|
+
saveTestTxn(imodel, true);
|
|
513
553
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.0));
|
|
514
554
|
// Expect range padded by 0.25...
|
|
515
555
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.25, physicalWidth: true })), ColorDef.red);
|
|
516
556
|
assert.isTrue(Id64.isValidId64(newId));
|
|
517
|
-
imodel
|
|
557
|
+
saveTestTxn(imodel, true);
|
|
518
558
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.25));
|
|
519
559
|
// LineStyleDefinition: create continuous style with both width and unit scale specified in definition...
|
|
520
560
|
x = 0.0;
|
|
@@ -522,23 +562,23 @@ describe("GeometryStream", () => {
|
|
|
522
562
|
unitDef = 2.0;
|
|
523
563
|
widthDef = 0.5;
|
|
524
564
|
name = `Continuous-${unitDef}-${widthDef}`;
|
|
525
|
-
let strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(imodel, { descr: name, strokes: [{ length: 1e37, orgWidth: widthDef, strokeMode: LineStyleDefinition.StrokeMode.Dash, widthMode: LineStyleDefinition.StrokeWidth.Full }] });
|
|
526
|
-
styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, { compId: strokePatternData.compId, compType: strokePatternData.compType, flags: LineStyleDefinition.StyleFlags.Continuous | LineStyleDefinition.StyleFlags.NoSnap, unitDef });
|
|
565
|
+
let strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(txnForCurrentTest(imodel), { descr: name, strokes: [{ length: 1e37, orgWidth: widthDef, strokeMode: LineStyleDefinition.StrokeMode.Dash, widthMode: LineStyleDefinition.StrokeWidth.Full }] });
|
|
566
|
+
styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, { compId: strokePatternData.compId, compType: strokePatternData.compType, flags: LineStyleDefinition.StyleFlags.Continuous | LineStyleDefinition.StyleFlags.NoSnap, unitDef });
|
|
527
567
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
528
568
|
// Expect no range padding...
|
|
529
569
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.0, physicalWidth: true })));
|
|
530
570
|
assert.isTrue(Id64.isValidId64(newId));
|
|
531
|
-
imodel
|
|
571
|
+
saveTestTxn(imodel, true);
|
|
532
572
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.0));
|
|
533
573
|
// Expect range padded by 1.0...
|
|
534
574
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId), ColorDef.red);
|
|
535
575
|
assert.isTrue(Id64.isValidId64(newId));
|
|
536
|
-
imodel
|
|
576
|
+
saveTestTxn(imodel, true);
|
|
537
577
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), widthDef * unitDef));
|
|
538
578
|
// Expect range padded by 0.25...
|
|
539
579
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.25, physicalWidth: true })), ColorDef.green);
|
|
540
580
|
assert.isTrue(Id64.isValidId64(newId));
|
|
541
|
-
imodel
|
|
581
|
+
saveTestTxn(imodel, true);
|
|
542
582
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.25));
|
|
543
583
|
// LineStyleDefinition: create stroke pattern with dash widths in definition...
|
|
544
584
|
x = 0.0;
|
|
@@ -553,18 +593,18 @@ describe("GeometryStream", () => {
|
|
|
553
593
|
lsStrokes.push({ length: 0.1 });
|
|
554
594
|
lsStrokes.push({ length: 0.25, orgWidth: widthDef, endWidth: widthDef, strokeMode: LineStyleDefinition.StrokeMode.Dash, widthMode: LineStyleDefinition.StrokeWidth.Right });
|
|
555
595
|
lsStrokes.push({ length: 0.1 });
|
|
556
|
-
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(imodel, { descr: name, strokes: lsStrokes });
|
|
557
|
-
styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, { compId: strokePatternData.compId, compType: strokePatternData.compType, flags: LineStyleDefinition.StyleFlags.NoSnap });
|
|
596
|
+
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(txnForCurrentTest(imodel), { descr: name, strokes: lsStrokes });
|
|
597
|
+
styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, { compId: strokePatternData.compId, compType: strokePatternData.compType, flags: LineStyleDefinition.StyleFlags.NoSnap });
|
|
558
598
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
559
599
|
// Expect range padded by 0.025...
|
|
560
600
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId));
|
|
561
601
|
assert.isTrue(Id64.isValidId64(newId));
|
|
562
|
-
imodel
|
|
602
|
+
saveTestTxn(imodel, true);
|
|
563
603
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), widthDef * unitDef));
|
|
564
604
|
// Expect range padded by 0.25...
|
|
565
605
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.25, physicalWidth: true })), ColorDef.red);
|
|
566
606
|
assert.isTrue(Id64.isValidId64(newId));
|
|
567
|
-
imodel
|
|
607
|
+
saveTestTxn(imodel, true);
|
|
568
608
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.25));
|
|
569
609
|
// LineStyleDefinition: create stroke pattern with dash widths and unit scale specified in definition...
|
|
570
610
|
x = 0.0;
|
|
@@ -572,27 +612,27 @@ describe("GeometryStream", () => {
|
|
|
572
612
|
unitDef = 2.0;
|
|
573
613
|
widthDef = 0.025;
|
|
574
614
|
name = `StrokePattern-${unitDef}-${widthDef}`;
|
|
575
|
-
styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, { compId: strokePatternData.compId, compType: strokePatternData.compType, flags: LineStyleDefinition.StyleFlags.NoSnap, unitDef });
|
|
615
|
+
styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, { compId: strokePatternData.compId, compType: strokePatternData.compType, flags: LineStyleDefinition.StyleFlags.NoSnap, unitDef });
|
|
576
616
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
577
617
|
// Expect range padded by 0.05...
|
|
578
618
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId));
|
|
579
619
|
assert.isTrue(Id64.isValidId64(newId));
|
|
580
|
-
imodel
|
|
620
|
+
saveTestTxn(imodel, true);
|
|
581
621
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), widthDef * unitDef));
|
|
582
622
|
// Expect range padded by 0.25...
|
|
583
623
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.25, physicalWidth: true })), ColorDef.red);
|
|
584
624
|
assert.isTrue(Id64.isValidId64(newId));
|
|
585
|
-
imodel
|
|
625
|
+
saveTestTxn(imodel, true);
|
|
586
626
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.25));
|
|
587
627
|
// Expect range padded by 0.25...
|
|
588
628
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.25, scale: 0.5, physicalWidth: true })), ColorDef.green);
|
|
589
629
|
assert.isTrue(Id64.isValidId64(newId));
|
|
590
|
-
imodel
|
|
630
|
+
saveTestTxn(imodel, true);
|
|
591
631
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.25));
|
|
592
632
|
// Expect range padded by 0.025...
|
|
593
633
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ scale: 0.5 })), ColorDef.blue);
|
|
594
634
|
assert.isTrue(Id64.isValidId64(newId));
|
|
595
|
-
imodel
|
|
635
|
+
saveTestTxn(imodel, true);
|
|
596
636
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), widthDef * unitDef * 0.5));
|
|
597
637
|
// LineStyleDefinition: create point symbol with internal default instead of a stroke pattern...
|
|
598
638
|
x = 0.0;
|
|
@@ -601,25 +641,25 @@ describe("GeometryStream", () => {
|
|
|
601
641
|
widthDef = 1.0;
|
|
602
642
|
name = `PointSymbol-${unitDef}-${widthDef}`;
|
|
603
643
|
const partId = createCirclePart(0.25, imodel);
|
|
604
|
-
let pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(imodel, { geomPartId: partId });
|
|
605
|
-
let strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(imodel, { descr: name, lcId: 0, lcType: LineStyleDefinition.ComponentType.Internal, symbols: [{ symId: pointSymbolData.compId, strokeNum: -1, mod1: LineStyleDefinition.SymbolOptions.CurveOrigin }] });
|
|
606
|
-
let compoundData = LineStyleDefinition.Utils.createCompoundComponent(imodel, { comps: [{ id: strokePointData.compId, type: strokePointData.compType }, { id: 0, type: LineStyleDefinition.ComponentType.Internal }] });
|
|
607
|
-
styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, compoundData);
|
|
644
|
+
let pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(txnForCurrentTest(imodel), { geomPartId: partId });
|
|
645
|
+
let strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(txnForCurrentTest(imodel), { descr: name, lcId: 0, lcType: LineStyleDefinition.ComponentType.Internal, symbols: [{ symId: pointSymbolData.compId, strokeNum: -1, mod1: LineStyleDefinition.SymbolOptions.CurveOrigin }] });
|
|
646
|
+
let compoundData = LineStyleDefinition.Utils.createCompoundComponent(txnForCurrentTest(imodel), { comps: [{ id: strokePointData.compId, type: strokePointData.compType }, { id: 0, type: LineStyleDefinition.ComponentType.Internal }] });
|
|
647
|
+
styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, compoundData);
|
|
608
648
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
609
649
|
// Expect range padded by 0.5 (circle radius)...
|
|
610
650
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId));
|
|
611
651
|
assert.isTrue(Id64.isValidId64(newId));
|
|
612
|
-
imodel
|
|
652
|
+
saveTestTxn(imodel, true);
|
|
613
653
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.5));
|
|
614
654
|
// Expect range padded by 0.25 (scaled circle radius)...
|
|
615
655
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ scale: 0.5 })), ColorDef.red);
|
|
616
656
|
assert.isTrue(Id64.isValidId64(newId));
|
|
617
|
-
imodel
|
|
657
|
+
saveTestTxn(imodel, true);
|
|
618
658
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.25));
|
|
619
659
|
// Expect range padded by 1.0 (width override > symbol size)...
|
|
620
660
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 1.0, scale: 0.5, physicalWidth: true })), ColorDef.green);
|
|
621
661
|
assert.isTrue(Id64.isValidId64(newId));
|
|
622
|
-
imodel
|
|
662
|
+
saveTestTxn(imodel, true);
|
|
623
663
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 1.0));
|
|
624
664
|
// LineStyleDefinition: create scaling point symbol with stroke pattern with width and unit scale specified in definition...
|
|
625
665
|
x = 0.0;
|
|
@@ -627,33 +667,33 @@ describe("GeometryStream", () => {
|
|
|
627
667
|
unitDef = 0.5;
|
|
628
668
|
widthDef = 0.025; // value used for lsStrokes...
|
|
629
669
|
name = `PointSymbol-${unitDef}-${widthDef}}`;
|
|
630
|
-
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(imodel, { descr: name, strokes: lsStrokes });
|
|
631
|
-
pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(imodel, { geomPartId: partId, scale: 2.0 });
|
|
670
|
+
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(txnForCurrentTest(imodel), { descr: name, strokes: lsStrokes });
|
|
671
|
+
pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(txnForCurrentTest(imodel), { geomPartId: partId, scale: 2.0 });
|
|
632
672
|
const lsSymbols = [];
|
|
633
673
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 1, mod1: LineStyleDefinition.SymbolOptions.Center });
|
|
634
674
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 3, mod1: LineStyleDefinition.SymbolOptions.Center });
|
|
635
|
-
strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(imodel, { descr: name, lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
675
|
+
strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(txnForCurrentTest(imodel), { descr: name, lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
636
676
|
const lsComponents = [];
|
|
637
677
|
lsComponents.push({ id: strokePointData.compId, type: strokePointData.compType });
|
|
638
678
|
lsComponents.push({ id: strokePatternData.compId, type: strokePatternData.compType });
|
|
639
|
-
compoundData = LineStyleDefinition.Utils.createCompoundComponent(imodel, { comps: lsComponents });
|
|
679
|
+
compoundData = LineStyleDefinition.Utils.createCompoundComponent(txnForCurrentTest(imodel), { comps: lsComponents });
|
|
640
680
|
compoundData.unitDef = unitDef;
|
|
641
|
-
styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, compoundData);
|
|
681
|
+
styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, compoundData);
|
|
642
682
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
643
683
|
// Expect range padded by 0.125 (symbol and unit scaled circle radius)......
|
|
644
684
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId));
|
|
645
685
|
assert.isTrue(Id64.isValidId64(newId));
|
|
646
|
-
imodel
|
|
686
|
+
saveTestTxn(imodel, true);
|
|
647
687
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.125));
|
|
648
688
|
// Expect range padded by 0.0625 (symbol and modifier scaled circle radius)...
|
|
649
689
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ scale: 0.5 })), ColorDef.red);
|
|
650
690
|
assert.isTrue(Id64.isValidId64(newId));
|
|
651
|
-
imodel
|
|
691
|
+
saveTestTxn(imodel, true);
|
|
652
692
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.0625));
|
|
653
693
|
// Expect range padded by 0.75 (width override > symbol and modifier scaled symbol size)...
|
|
654
694
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.75, scale: 0.5, physicalWidth: true })), ColorDef.green);
|
|
655
695
|
assert.isTrue(Id64.isValidId64(newId));
|
|
656
|
-
imodel
|
|
696
|
+
saveTestTxn(imodel, true);
|
|
657
697
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.75));
|
|
658
698
|
// LineStyleDefinition: create non-scaling point symbol with stroke pattern with width and unit scale specified in definition...
|
|
659
699
|
x = 0.0;
|
|
@@ -661,33 +701,33 @@ describe("GeometryStream", () => {
|
|
|
661
701
|
unitDef = 0.5;
|
|
662
702
|
widthDef = 0.025; // value used for lsStrokes...
|
|
663
703
|
name = `NonScalingPointSymbol-${unitDef}-${widthDef}}`;
|
|
664
|
-
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(imodel, { descr: name, strokes: lsStrokes });
|
|
665
|
-
pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(imodel, { geomPartId: partId, scale: 2.0, symFlags: LineStyleDefinition.PointSymbolFlags.NoScale });
|
|
704
|
+
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(txnForCurrentTest(imodel), { descr: name, strokes: lsStrokes });
|
|
705
|
+
pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(txnForCurrentTest(imodel), { geomPartId: partId, scale: 2.0, symFlags: LineStyleDefinition.PointSymbolFlags.NoScale });
|
|
666
706
|
lsSymbols.length = 0;
|
|
667
707
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 1, mod1: LineStyleDefinition.SymbolOptions.Center });
|
|
668
708
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 3, mod1: LineStyleDefinition.SymbolOptions.Center });
|
|
669
|
-
strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(imodel, { descr: name, lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
709
|
+
strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(txnForCurrentTest(imodel), { descr: name, lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
670
710
|
lsComponents.length = 0;
|
|
671
711
|
lsComponents.push({ id: strokePointData.compId, type: strokePointData.compType });
|
|
672
712
|
lsComponents.push({ id: strokePatternData.compId, type: strokePatternData.compType });
|
|
673
|
-
compoundData = LineStyleDefinition.Utils.createCompoundComponent(imodel, { comps: lsComponents });
|
|
713
|
+
compoundData = LineStyleDefinition.Utils.createCompoundComponent(txnForCurrentTest(imodel), { comps: lsComponents });
|
|
674
714
|
compoundData.unitDef = unitDef;
|
|
675
|
-
styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, compoundData);
|
|
715
|
+
styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, compoundData);
|
|
676
716
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
677
717
|
// Expect range padded by 0.5 (circle radius)......
|
|
678
718
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId));
|
|
679
719
|
assert.isTrue(Id64.isValidId64(newId));
|
|
680
|
-
imodel
|
|
720
|
+
saveTestTxn(imodel, true);
|
|
681
721
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.5));
|
|
682
722
|
// Expect range padded by 0.5 (unscaled circle radius)...
|
|
683
723
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ scale: 0.5 })), ColorDef.red);
|
|
684
724
|
assert.isTrue(Id64.isValidId64(newId));
|
|
685
|
-
imodel
|
|
725
|
+
saveTestTxn(imodel, true);
|
|
686
726
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.5));
|
|
687
727
|
// Expect range padded by 0.75 (width override > unscaled symbol size)...
|
|
688
728
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.75, scale: 0.5, physicalWidth: true })), ColorDef.green);
|
|
689
729
|
assert.isTrue(Id64.isValidId64(newId));
|
|
690
|
-
imodel
|
|
730
|
+
saveTestTxn(imodel, true);
|
|
691
731
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.75));
|
|
692
732
|
// LineStyleDefinition: create scaling point symbol with offsets with stroke pattern with width and unit scale specified in definition...
|
|
693
733
|
x = 0.0;
|
|
@@ -695,33 +735,33 @@ describe("GeometryStream", () => {
|
|
|
695
735
|
unitDef = 0.5;
|
|
696
736
|
widthDef = 0.025; // value used for lsStrokes...
|
|
697
737
|
name = `OffsetPointSymbol-${unitDef}-${widthDef}}`;
|
|
698
|
-
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(imodel, { descr: name, strokes: lsStrokes });
|
|
699
|
-
pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(imodel, { geomPartId: partId, scale: 2.0 });
|
|
738
|
+
strokePatternData = LineStyleDefinition.Utils.createStrokePatternComponent(txnForCurrentTest(imodel), { descr: name, strokes: lsStrokes });
|
|
739
|
+
pointSymbolData = LineStyleDefinition.Utils.createPointSymbolComponent(txnForCurrentTest(imodel), { geomPartId: partId, scale: 2.0 });
|
|
700
740
|
lsSymbols.length = 0;
|
|
701
741
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 1, mod1: LineStyleDefinition.SymbolOptions.Center, yOffset: -0.1 });
|
|
702
742
|
lsSymbols.push({ symId: pointSymbolData.compId, strokeNum: 3, mod1: LineStyleDefinition.SymbolOptions.Center, yOffset: 0.1 });
|
|
703
|
-
strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(imodel, { descr: name, lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
743
|
+
strokePointData = LineStyleDefinition.Utils.createStrokePointComponent(txnForCurrentTest(imodel), { descr: name, lcId: strokePatternData.compId, symbols: lsSymbols });
|
|
704
744
|
lsComponents.length = 0;
|
|
705
745
|
lsComponents.push({ id: strokePointData.compId, type: strokePointData.compType });
|
|
706
746
|
lsComponents.push({ id: strokePatternData.compId, type: strokePatternData.compType });
|
|
707
|
-
compoundData = LineStyleDefinition.Utils.createCompoundComponent(imodel, { comps: lsComponents });
|
|
747
|
+
compoundData = LineStyleDefinition.Utils.createCompoundComponent(txnForCurrentTest(imodel), { comps: lsComponents });
|
|
708
748
|
compoundData.unitDef = unitDef;
|
|
709
|
-
styleId = LineStyleDefinition.Utils.createStyle(imodel, IModel.dictionaryId, name, compoundData);
|
|
749
|
+
styleId = LineStyleDefinition.Utils.createStyle(txnForCurrentTest(imodel), IModel.dictionaryId, name, compoundData);
|
|
710
750
|
assert.isTrue(Id64.isValidId64(styleId));
|
|
711
751
|
// Expect range padded by 0.225 (offset symbol and unit scaled circle radius)......
|
|
712
752
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId));
|
|
713
753
|
assert.isTrue(Id64.isValidId64(newId));
|
|
714
|
-
imodel
|
|
754
|
+
saveTestTxn(imodel, true);
|
|
715
755
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.225));
|
|
716
756
|
// Expect range padded by 0.1125 (offset symbol and modifier scaled circle radius)...
|
|
717
757
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ scale: 0.5 })), ColorDef.red);
|
|
718
758
|
assert.isTrue(Id64.isValidId64(newId));
|
|
719
|
-
imodel
|
|
759
|
+
saveTestTxn(imodel, true);
|
|
720
760
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.1125));
|
|
721
761
|
// Expect range padded by 0.75 (width override > symbol and modifier scaled symbol size)...
|
|
722
762
|
newId = createStyledLineElem(imodel, seedElement, x++, y, 1.0, new LineStyle.Info(styleId, new LineStyle.Modifier({ startWidth: 0.75, scale: 0.5, physicalWidth: true })), ColorDef.green);
|
|
723
763
|
assert.isTrue(Id64.isValidId64(newId));
|
|
724
|
-
imodel
|
|
764
|
+
saveTestTxn(imodel, true);
|
|
725
765
|
assert.isTrue(Geometry.isSameCoordinate(Placement3d.fromJSON(imodel.elements.getElementProps({ id: newId, wantGeometry: true }).placement).bbox.yLength(), 0.75));
|
|
726
766
|
});
|
|
727
767
|
it("create GeometricElement3d using shapes with fill/gradient", async () => {
|
|
@@ -783,9 +823,9 @@ describe("GeometryStream", () => {
|
|
|
783
823
|
shape.tryTransformInPlace(xOffset);
|
|
784
824
|
builder.appendGeometry(shape);
|
|
785
825
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
786
|
-
const newId = imodel.
|
|
826
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
787
827
|
assert.isTrue(Id64.isValidId64(newId));
|
|
788
|
-
imodel
|
|
828
|
+
saveTestTxn(imodel, true);
|
|
789
829
|
// Extract and test value returned...
|
|
790
830
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
791
831
|
assert.isDefined(value.geom);
|
|
@@ -860,7 +900,7 @@ describe("GeometryStream", () => {
|
|
|
860
900
|
const partBuilder = new GeometryStreamBuilder();
|
|
861
901
|
partBuilder.appendGeometry(Arc3d.createXY(Point3d.createZero(), 0.05));
|
|
862
902
|
const partProps = createGeometryPartProps(partBuilder.geometryStream);
|
|
863
|
-
const partId = imodel.
|
|
903
|
+
const partId = txnForCurrentTest(imodel).insertElement(partProps);
|
|
864
904
|
assert.isTrue(Id64.isValidId64(partId));
|
|
865
905
|
// Area pattern w/o overrides
|
|
866
906
|
params.pattern = new AreaPattern.Params();
|
|
@@ -896,9 +936,9 @@ describe("GeometryStream", () => {
|
|
|
896
936
|
shape.tryTransformInPlace(xOffset);
|
|
897
937
|
builder.appendGeometry(shape);
|
|
898
938
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
899
|
-
const newId = imodel.
|
|
939
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
900
940
|
assert.isTrue(Id64.isValidId64(newId));
|
|
901
|
-
imodel
|
|
941
|
+
saveTestTxn(imodel, true);
|
|
902
942
|
// Extract and test value returned...
|
|
903
943
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
904
944
|
assert.isDefined(value.geom);
|
|
@@ -937,8 +977,8 @@ describe("GeometryStream", () => {
|
|
|
937
977
|
const seedElement = imodel.elements.getElement("0x1d");
|
|
938
978
|
assert.exists(seedElement);
|
|
939
979
|
const subCategory = SubCategory.create(imodel, seedElement.category, "testSubCat", { weight: 2 });
|
|
940
|
-
const subCategoryId = imodel.
|
|
941
|
-
imodel
|
|
980
|
+
const subCategoryId = txnForCurrentTest(imodel).insertElement(subCategory.toJSON());
|
|
981
|
+
saveTestTxn(imodel, true);
|
|
942
982
|
const params = new GeometryParams(seedElement.category);
|
|
943
983
|
params.subCategoryId = subCategoryId;
|
|
944
984
|
params.materialId = "0x5";
|
|
@@ -949,9 +989,9 @@ describe("GeometryStream", () => {
|
|
|
949
989
|
builderF.appendGeometryQuery(shape);
|
|
950
990
|
const elementPropsF = createPhysicalElementProps(seedElement);
|
|
951
991
|
elementPropsF.elementGeometryBuilderParams = { entryArray: builderF.entries };
|
|
952
|
-
const newIdF = imodel.
|
|
992
|
+
const newIdF = txnForCurrentTest(imodel).insertElement(elementPropsF);
|
|
953
993
|
assert.isTrue(Id64.isValidId64(newIdF));
|
|
954
|
-
imodel
|
|
994
|
+
saveTestTxn(imodel, true);
|
|
955
995
|
const onGeometry = (info) => {
|
|
956
996
|
assert.isTrue(undefined !== info.entryArray);
|
|
957
997
|
const it = new ElementGeometry.Iterator(info);
|
|
@@ -970,9 +1010,9 @@ describe("GeometryStream", () => {
|
|
|
970
1010
|
builderJ.appendGeometry(shape);
|
|
971
1011
|
const elementPropsJ = createPhysicalElementProps(seedElement);
|
|
972
1012
|
elementPropsJ.geom = builderJ.geometryStream;
|
|
973
|
-
const newIdJ = imodel.
|
|
1013
|
+
const newIdJ = txnForCurrentTest(imodel).insertElement(elementPropsJ);
|
|
974
1014
|
assert.isTrue(Id64.isValidId64(newIdJ));
|
|
975
|
-
imodel
|
|
1015
|
+
saveTestTxn(imodel, true);
|
|
976
1016
|
const value = imodel.elements.getElementProps({ id: newIdJ, wantGeometry: true });
|
|
977
1017
|
assert.isDefined(value.geom);
|
|
978
1018
|
const itLocal = new GeometryStreamIterator(value.geom, value.category);
|
|
@@ -1005,8 +1045,8 @@ describe("GeometryStream", () => {
|
|
|
1005
1045
|
assert.isTrue(status);
|
|
1006
1046
|
const elementProps = createPhysicalElementProps(seedElement, { origin: testOrigin, angles: testAngles }, builder.geometryStream);
|
|
1007
1047
|
const testElem = imodel.elements.createElement(elementProps);
|
|
1008
|
-
const newId = imodel.
|
|
1009
|
-
imodel
|
|
1048
|
+
const newId = txnForCurrentTest(imodel).insertElement(testElem.toJSON());
|
|
1049
|
+
saveTestTxn(imodel, true);
|
|
1010
1050
|
// Extract and test value returned, text transform should now be identity as it is accounted for by element's placement...
|
|
1011
1051
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
1012
1052
|
assert.isDefined(value.geom);
|
|
@@ -1054,8 +1094,8 @@ describe("GeometryStream", () => {
|
|
|
1054
1094
|
}
|
|
1055
1095
|
const partProps = createGeometryPartProps(partBuilder.geometryStream);
|
|
1056
1096
|
const testPart = imodel.elements.createElement(partProps);
|
|
1057
|
-
const partId = imodel.
|
|
1058
|
-
imodel
|
|
1097
|
+
const partId = txnForCurrentTest(imodel).insertElement(testPart.toJSON());
|
|
1098
|
+
saveTestTxn(imodel, true);
|
|
1059
1099
|
// Extract and test value returned
|
|
1060
1100
|
const value = imodel.elements.getElementProps({ id: partId, wantGeometry: true });
|
|
1061
1101
|
assert.isDefined(value.geom);
|
|
@@ -1090,8 +1130,8 @@ describe("GeometryStream", () => {
|
|
|
1090
1130
|
}
|
|
1091
1131
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
1092
1132
|
const testElem = imodel.elements.createElement(elementProps);
|
|
1093
|
-
const newId = imodel.
|
|
1094
|
-
imodel
|
|
1133
|
+
const newId = txnForCurrentTest(imodel).insertElement(testElem.toJSON());
|
|
1134
|
+
saveTestTxn(imodel, true);
|
|
1095
1135
|
// Extract and test value returned
|
|
1096
1136
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
1097
1137
|
assert.isDefined(value.geom);
|
|
@@ -1117,8 +1157,8 @@ describe("GeometryStream", () => {
|
|
|
1117
1157
|
partBuilder.appendGeometry(arc);
|
|
1118
1158
|
const partProps = createGeometryPartProps(partBuilder.geometryStream);
|
|
1119
1159
|
const testPart = imodel.elements.createElement(partProps);
|
|
1120
|
-
const partId = imodel.
|
|
1121
|
-
imodel
|
|
1160
|
+
const partId = txnForCurrentTest(imodel).insertElement(testPart.toJSON());
|
|
1161
|
+
saveTestTxn(imodel, true);
|
|
1122
1162
|
const builder = new GeometryStreamBuilder();
|
|
1123
1163
|
const shapePts = [Point3d.create(1, 1, 0), Point3d.create(2, 1, 0), Point3d.create(2, 2, 0), Point3d.create(1, 2, 0)];
|
|
1124
1164
|
const testOrigin = Point3d.create(0.5, 0.5, 0);
|
|
@@ -1128,8 +1168,8 @@ describe("GeometryStream", () => {
|
|
|
1128
1168
|
shapePts.forEach((pt) => builder.appendGeometryPart3d(partId, pt, undefined, 0.25)); // Position part (arc center) at each vertex...
|
|
1129
1169
|
const elementProps = createPhysicalElementProps(seedElement, { origin: testOrigin, angles: testAngles }, builder.geometryStream);
|
|
1130
1170
|
const testElem = imodel.elements.createElement(elementProps);
|
|
1131
|
-
const newId = imodel.
|
|
1132
|
-
imodel
|
|
1171
|
+
const newId = txnForCurrentTest(imodel).insertElement(testElem.toJSON());
|
|
1172
|
+
saveTestTxn(imodel, true);
|
|
1133
1173
|
// Extract and test value returned
|
|
1134
1174
|
const valueElem = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
1135
1175
|
assert.isDefined(valueElem.geom);
|
|
@@ -1165,9 +1205,9 @@ describe("GeometryStream", () => {
|
|
|
1165
1205
|
builder.appendGeometryParamsChange(params);
|
|
1166
1206
|
builder.appendGeometry(shape);
|
|
1167
1207
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
1168
|
-
const newId = imodel.
|
|
1208
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1169
1209
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1170
|
-
imodel
|
|
1210
|
+
saveTestTxn(imodel, true);
|
|
1171
1211
|
// Extract and test value returned...
|
|
1172
1212
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
1173
1213
|
assert.isDefined(value.geom);
|
|
@@ -1205,8 +1245,8 @@ describe("GeometryStream", () => {
|
|
|
1205
1245
|
builder.appendBRepData(brepProps);
|
|
1206
1246
|
const elementProps = createPhysicalElementProps(seedElement, { origin: testOrigin, angles: testAngles }, builder.geometryStream);
|
|
1207
1247
|
const testElem = imodel.elements.createElement(elementProps);
|
|
1208
|
-
const newId = imodel.
|
|
1209
|
-
imodel
|
|
1248
|
+
const newId = txnForCurrentTest(imodel).insertElement(testElem.toJSON());
|
|
1249
|
+
saveTestTxn(imodel, true);
|
|
1210
1250
|
// Extract and test value returned
|
|
1211
1251
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true, wantBRepData: true });
|
|
1212
1252
|
assert.isDefined(value.geom);
|
|
@@ -1241,7 +1281,7 @@ describe("GeometryStream", () => {
|
|
|
1241
1281
|
const newId = createGeometricElem(builder.geometryStream, { origin: testOrigin, angles: testAngles }, imodel, seedElement);
|
|
1242
1282
|
timer.end();
|
|
1243
1283
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1244
|
-
imodel
|
|
1284
|
+
saveTestTxn(imodel, true);
|
|
1245
1285
|
timer = new Timer("queryGeometricElem");
|
|
1246
1286
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
1247
1287
|
assert.isDefined(value.geom);
|
|
@@ -1266,8 +1306,8 @@ describe("GeometryStream", () => {
|
|
|
1266
1306
|
expect((iter.flags === GeometryStreamFlags.ViewIndependent)).to.equal(builder.isViewIndependent);
|
|
1267
1307
|
const partProps = createGeometryPartProps(builder.geometryStream);
|
|
1268
1308
|
const part = imodel.elements.createElement(partProps);
|
|
1269
|
-
const partId = imodel.
|
|
1270
|
-
imodel
|
|
1309
|
+
const partId = txnForCurrentTest(imodel).insertElement(part.toJSON());
|
|
1310
|
+
saveTestTxn(imodel, true);
|
|
1271
1311
|
const json = imodel.elements.getElementProps({ id: partId, wantGeometry: true });
|
|
1272
1312
|
expect(json.geom).not.to.be.undefined;
|
|
1273
1313
|
expect(json.geom.length).to.equal(2);
|
|
@@ -1301,8 +1341,15 @@ describe("ElementGeometry", () => {
|
|
|
1301
1341
|
imodel = IModelTestUtils.createSnapshotFromSeed(testFileName, seedFileName);
|
|
1302
1342
|
});
|
|
1303
1343
|
after(() => {
|
|
1344
|
+
closeTestTxn(imodel);
|
|
1304
1345
|
imodel.close();
|
|
1305
1346
|
});
|
|
1347
|
+
beforeEach(() => {
|
|
1348
|
+
txnForCurrentTest(imodel, "fresh");
|
|
1349
|
+
});
|
|
1350
|
+
afterEach(() => {
|
|
1351
|
+
closeTestTxn(imodel);
|
|
1352
|
+
});
|
|
1306
1353
|
it("Exercise using builder/iterator in world coordinates with flatbuffer data", async () => {
|
|
1307
1354
|
const testOrigin = Point3d.create(5, 10, 0);
|
|
1308
1355
|
const testAngles = YawPitchRollAngles.createDegrees(90, 0, 0);
|
|
@@ -1374,9 +1421,9 @@ describe("ElementGeometry", () => {
|
|
|
1374
1421
|
newEntries.push(entryEL);
|
|
1375
1422
|
expected.push({ opcode: ElementGeometryOpcode.ArcPrimitive, geometryCategory: "curveCollection", geometrySubCategory: "loop" });
|
|
1376
1423
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1377
|
-
const newId = imodel.
|
|
1424
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1378
1425
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1379
|
-
imodel
|
|
1426
|
+
saveTestTxn(imodel, true);
|
|
1380
1427
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1381
1428
|
});
|
|
1382
1429
|
it("create GeometricElement3d from local coordinate interpolation curve flatbuffer data", async () => {
|
|
@@ -1403,9 +1450,9 @@ describe("ElementGeometry", () => {
|
|
|
1403
1450
|
newEntries.push(entry1);
|
|
1404
1451
|
expected.push({ opcode: ElementGeometryOpcode.CurvePrimitive, geometryCategory: "curvePrimitive" });
|
|
1405
1452
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1406
|
-
const newId = imodel.
|
|
1453
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1407
1454
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1408
|
-
imodel
|
|
1455
|
+
saveTestTxn(imodel, true);
|
|
1409
1456
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1410
1457
|
});
|
|
1411
1458
|
it("create GeometricElement3d with local coordinate indexed polyface flatbuffer data", async () => {
|
|
@@ -1429,9 +1476,9 @@ describe("ElementGeometry", () => {
|
|
|
1429
1476
|
const testAngles = YawPitchRollAngles.createDegrees(90, 0, 0);
|
|
1430
1477
|
const elementProps = createPhysicalElementProps(seedElement, { origin: testOrigin, angles: testAngles });
|
|
1431
1478
|
elementProps.elementGeometryBuilderParams = { entryArray: builder.entries };
|
|
1432
|
-
const newId = imodel.
|
|
1479
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1433
1480
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1434
|
-
imodel
|
|
1481
|
+
saveTestTxn(imodel, true);
|
|
1435
1482
|
timer.end();
|
|
1436
1483
|
const onGeometry = (info) => {
|
|
1437
1484
|
assert.isTrue(6 === info.entryArray.length); // 3 pairs of sub-range + polyface...
|
|
@@ -1478,9 +1525,9 @@ describe("ElementGeometry", () => {
|
|
|
1478
1525
|
expectedFacet.push({ opcode: ElementGeometryOpcode.BasicSymbology });
|
|
1479
1526
|
expectedFacet.push({ opcode: ElementGeometryOpcode.Polyface, geometryCategory: "polyface" });
|
|
1480
1527
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1481
|
-
const newId = imodel.
|
|
1528
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1482
1529
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1483
|
-
imodel
|
|
1530
|
+
saveTestTxn(imodel, true);
|
|
1484
1531
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1485
1532
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expectedFacet, false, undefined, 1));
|
|
1486
1533
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expectedSkip, false, undefined, 2));
|
|
@@ -1514,9 +1561,9 @@ describe("ElementGeometry", () => {
|
|
|
1514
1561
|
expectedFacet.push({ opcode: ElementGeometryOpcode.BasicSymbology });
|
|
1515
1562
|
expectedFacet.push({ opcode: ElementGeometryOpcode.Polyface, geometryCategory: "polyface" });
|
|
1516
1563
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1517
|
-
const newId = imodel.
|
|
1564
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1518
1565
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1519
|
-
imodel
|
|
1566
|
+
saveTestTxn(imodel, true);
|
|
1520
1567
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expectedFacet, false, undefined, 1));
|
|
1521
1568
|
});
|
|
1522
1569
|
it("test BRep entity transform", async () => {
|
|
@@ -1594,9 +1641,9 @@ describe("ElementGeometry", () => {
|
|
|
1594
1641
|
assert.deepEqual(entry ? ElementGeometry.toTextStringGlyphData(entry) : undefined, glyphData);
|
|
1595
1642
|
expected.push({ opcode: ElementGeometryOpcode.TextString, originalEntry: entry });
|
|
1596
1643
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1597
|
-
const newId = imodel.
|
|
1644
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1598
1645
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1599
|
-
imodel
|
|
1646
|
+
saveTestTxn(imodel, true);
|
|
1600
1647
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1601
1648
|
});
|
|
1602
1649
|
it("create GeometricElement3d from local coordinate image flatbuffer data", async () => {
|
|
@@ -1619,9 +1666,9 @@ describe("ElementGeometry", () => {
|
|
|
1619
1666
|
newEntries.push(entry);
|
|
1620
1667
|
expected.push({ opcode: ElementGeometryOpcode.Image, originalEntry: entry });
|
|
1621
1668
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1622
|
-
const newId = imodel.
|
|
1669
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1623
1670
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1624
|
-
imodel
|
|
1671
|
+
saveTestTxn(imodel, true);
|
|
1625
1672
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1626
1673
|
});
|
|
1627
1674
|
it("create GeometricElement3d with sub-graphic ranges flatbuffer data", async () => {
|
|
@@ -1652,9 +1699,9 @@ describe("ElementGeometry", () => {
|
|
|
1652
1699
|
newEntries.push(entryL2);
|
|
1653
1700
|
expected.push({ opcode: ElementGeometryOpcode.PointPrimitive, geometryCategory: "curvePrimitive", geometrySubCategory: "lineString" });
|
|
1654
1701
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1655
|
-
const newId = imodel.
|
|
1702
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1656
1703
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1657
|
-
imodel
|
|
1704
|
+
saveTestTxn(imodel, true);
|
|
1658
1705
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1659
1706
|
});
|
|
1660
1707
|
it("create GeometricElement3d with part reference flatbuffer data", async () => {
|
|
@@ -1670,9 +1717,9 @@ describe("ElementGeometry", () => {
|
|
|
1670
1717
|
newPartEntries.push(entryAR);
|
|
1671
1718
|
expectedPart.push({ opcode: ElementGeometryOpcode.ArcPrimitive, geometryCategory: "curvePrimitive", geometrySubCategory: "arc" });
|
|
1672
1719
|
partProps.elementGeometryBuilderParams = { entryArray: newPartEntries };
|
|
1673
|
-
const partId = imodel.
|
|
1720
|
+
const partId = txnForCurrentTest(imodel).insertElement(partProps);
|
|
1674
1721
|
assert.isTrue(Id64.isValidId64(partId));
|
|
1675
|
-
imodel
|
|
1722
|
+
saveTestTxn(imodel, true);
|
|
1676
1723
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, partId, expectedPart, false));
|
|
1677
1724
|
const testOrigin = Point3d.create(5, 10, 0);
|
|
1678
1725
|
const testAngles = YawPitchRollAngles.createDegrees(90, 0, 0);
|
|
@@ -1715,9 +1762,9 @@ describe("ElementGeometry", () => {
|
|
|
1715
1762
|
newEntries.push(entryPA);
|
|
1716
1763
|
expected.push({ opcode: ElementGeometryOpcode.PartReference, originalEntry: entryPA });
|
|
1717
1764
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1718
|
-
const newId = imodel.
|
|
1765
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1719
1766
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1720
|
-
imodel
|
|
1767
|
+
saveTestTxn(imodel, true);
|
|
1721
1768
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1722
1769
|
});
|
|
1723
1770
|
it("create GeometricElement3d with appearance flatbuffer data", async () => {
|
|
@@ -1822,9 +1869,9 @@ describe("ElementGeometry", () => {
|
|
|
1822
1869
|
newEntries.push(entryLN);
|
|
1823
1870
|
expected.push({ opcode: ElementGeometryOpcode.PointPrimitive, geometryCategory: "curvePrimitive", geometrySubCategory: "lineString" });
|
|
1824
1871
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1825
|
-
const newId = imodel.
|
|
1872
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1826
1873
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1827
|
-
imodel
|
|
1874
|
+
saveTestTxn(imodel, true);
|
|
1828
1875
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1829
1876
|
});
|
|
1830
1877
|
it("create GeometricElement3d with pattern flatbuffer data", async () => {
|
|
@@ -1916,9 +1963,9 @@ describe("ElementGeometry", () => {
|
|
|
1916
1963
|
newEntries.push(entrySH);
|
|
1917
1964
|
expected.push({ opcode: ElementGeometryOpcode.PointPrimitive, geometryCategory: "curveCollection", geometrySubCategory: "loop" });
|
|
1918
1965
|
elementProps.elementGeometryBuilderParams = { entryArray: newEntries };
|
|
1919
|
-
const newId = imodel.
|
|
1966
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
1920
1967
|
assert.isTrue(Id64.isValidId64(newId));
|
|
1921
|
-
imodel
|
|
1968
|
+
saveTestTxn(imodel, true);
|
|
1922
1969
|
assert(IModelStatus.Success === doElementGeometryValidate(imodel, newId, expected, false, elementProps));
|
|
1923
1970
|
});
|
|
1924
1971
|
it("should transform PatternParams", () => {
|
|
@@ -1953,7 +2000,7 @@ describe("ElementGeometry", () => {
|
|
|
1953
2000
|
// geom: geomBuilder.geometryStream,
|
|
1954
2001
|
elementGeometryBuilderParams: { entryArray: [entryLN], viewIndependent: false },
|
|
1955
2002
|
};
|
|
1956
|
-
const spatialElementId = imodel.
|
|
2003
|
+
const spatialElementId = txnForCurrentTest(imodel).insertElement(elemProps);
|
|
1957
2004
|
let persistentProps = imodel.elements.getElementProps({ id: spatialElementId, wantGeometry: true });
|
|
1958
2005
|
assert.isDefined(persistentProps.geom);
|
|
1959
2006
|
assert.isTrue(persistentProps.placement !== undefined);
|
|
@@ -1969,12 +2016,12 @@ describe("ElementGeometry", () => {
|
|
|
1969
2016
|
}
|
|
1970
2017
|
// Insert - various failure cases
|
|
1971
2018
|
elemProps.elementGeometryBuilderParams = { entryArray: [{ opcode: 9999 }] };
|
|
1972
|
-
expect(() => imodel.
|
|
2019
|
+
expect(() => txnForCurrentTest(imodel).insertElement(elemProps)).to.throw(); // TODO: check error message
|
|
1973
2020
|
elemProps.elementGeometryBuilderParams = { entryArray: [{ opcode: ElementGeometryOpcode.ArcPrimitive, data: undefined }] };
|
|
1974
|
-
expect(() => imodel.
|
|
2021
|
+
expect(() => txnForCurrentTest(imodel).insertElement(elemProps)).to.throw(); // TODO: check error message
|
|
1975
2022
|
// Update
|
|
1976
2023
|
persistentProps.elementGeometryBuilderParams = { entryArray: [entryAR] };
|
|
1977
|
-
imodel.
|
|
2024
|
+
txnForCurrentTest(imodel).updateElement(persistentProps);
|
|
1978
2025
|
persistentProps = imodel.elements.getElementProps({ id: spatialElementId, wantGeometry: true });
|
|
1979
2026
|
assert.isDefined(persistentProps.geom);
|
|
1980
2027
|
assert.isTrue(persistentProps.placement !== undefined);
|
|
@@ -1998,7 +2045,7 @@ describe("ElementGeometry", () => {
|
|
|
1998
2045
|
code: Code.createEmpty(),
|
|
1999
2046
|
elementGeometryBuilderParams: { entryArray: [entryLN], is2dPart: false },
|
|
2000
2047
|
};
|
|
2001
|
-
const partId = imodel.
|
|
2048
|
+
const partId = txnForCurrentTest(imodel).insertElement(partProps);
|
|
2002
2049
|
let persistentPartProps = imodel.elements.getElementProps({ id: partId, wantGeometry: true });
|
|
2003
2050
|
assert.isDefined(persistentPartProps.geom);
|
|
2004
2051
|
for (const entry of new GeometryStreamIterator(persistentPartProps.geom)) {
|
|
@@ -2010,7 +2057,7 @@ describe("ElementGeometry", () => {
|
|
|
2010
2057
|
}
|
|
2011
2058
|
// Update
|
|
2012
2059
|
persistentPartProps.elementGeometryBuilderParams = { entryArray: [entryAR] };
|
|
2013
|
-
imodel.
|
|
2060
|
+
txnForCurrentTest(imodel).updateElement(persistentPartProps);
|
|
2014
2061
|
persistentPartProps = imodel.elements.getElementProps({ id: partId, wantGeometry: true });
|
|
2015
2062
|
assert.isDefined(persistentPartProps.geom);
|
|
2016
2063
|
for (const entry of new GeometryStreamIterator(persistentPartProps.geom)) {
|
|
@@ -2026,13 +2073,13 @@ describe("ElementGeometry", () => {
|
|
|
2026
2073
|
assert.exists(seedElement);
|
|
2027
2074
|
assert.isTrue(seedElement.federationGuid === "18eb4650-b074-414f-b961-d9cfaa6c8746");
|
|
2028
2075
|
const newId = createCircleElem(1.0, Point3d.create(5, 5, 0), YawPitchRollAngles.createDegrees(90, 0, 0), imodel, seedElement);
|
|
2029
|
-
imodel
|
|
2076
|
+
saveTestTxn(imodel, true);
|
|
2030
2077
|
const newElemProps = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
2031
2078
|
assert.isDefined(newElemProps.geom);
|
|
2032
2079
|
assert.isTrue(newElemProps.placement !== undefined);
|
|
2033
2080
|
newElemProps.elementGeometryBuilderParams = { entryArray: [] };
|
|
2034
|
-
imodel.
|
|
2035
|
-
imodel
|
|
2081
|
+
txnForCurrentTest(imodel).updateElement(newElemProps);
|
|
2082
|
+
saveTestTxn(imodel, true);
|
|
2036
2083
|
const updateElemProps = imodel.elements.getElementProps({ id: newId, wantGeometry: true });
|
|
2037
2084
|
assert.isUndefined(updateElemProps.geom);
|
|
2038
2085
|
assert.isTrue(updateElemProps.placement !== undefined);
|
|
@@ -2108,9 +2155,9 @@ describe("BRepGeometry", () => {
|
|
|
2108
2155
|
const testAngles = YawPitchRollAngles.createDegrees(90, 0, 0);
|
|
2109
2156
|
const elementProps = createPhysicalElementProps(seedElement, { origin: testOrigin, angles: testAngles });
|
|
2110
2157
|
elementProps.elementGeometryBuilderParams = { entryArray: builder.entries };
|
|
2111
|
-
const newId = imodel.
|
|
2158
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
2112
2159
|
assert.isTrue(Id64.isValidId64(newId));
|
|
2113
|
-
imodel
|
|
2160
|
+
saveTestTxn(imodel, true);
|
|
2114
2161
|
});
|
|
2115
2162
|
it("create GeometricElement3d using half-space boolean test", async () => {
|
|
2116
2163
|
const seedElement = imodel.elements.getElement("0x1d");
|
|
@@ -2160,9 +2207,9 @@ describe("BRepGeometry", () => {
|
|
|
2160
2207
|
const testAngles = YawPitchRollAngles.createDegrees(90, 0, 0);
|
|
2161
2208
|
const elementProps = createPhysicalElementProps(seedElement, { origin: testOrigin, angles: testAngles });
|
|
2162
2209
|
elementProps.elementGeometryBuilderParams = { entryArray: builder.entries };
|
|
2163
|
-
const newId = imodel.
|
|
2210
|
+
const newId = txnForCurrentTest(imodel).insertElement(elementProps);
|
|
2164
2211
|
assert.isTrue(Id64.isValidId64(newId));
|
|
2165
|
-
imodel
|
|
2212
|
+
saveTestTxn(imodel, true);
|
|
2166
2213
|
});
|
|
2167
2214
|
it("create multiple GeometricElement3d from local coordinate disjoint body result test", async () => {
|
|
2168
2215
|
const builder = new ElementGeometry.Builder();
|
|
@@ -2525,8 +2572,8 @@ describe("BRepGeometry", () => {
|
|
|
2525
2572
|
gsBuilder.appendBRepData(brep);
|
|
2526
2573
|
const elementProps = createPhysicalElementProps(seedElement, { origin: Point3d.create(5, 10, 0), angles: YawPitchRollAngles.createDegrees(45, 0, 0) }, gsBuilder.geometryStream);
|
|
2527
2574
|
const testElem = imodel.elements.createElement(elementProps);
|
|
2528
|
-
const newId = imodel.
|
|
2529
|
-
imodel
|
|
2575
|
+
const newId = txnForCurrentTest(imodel).insertElement(testElem.toJSON());
|
|
2576
|
+
saveTestTxn(imodel, true);
|
|
2530
2577
|
// Extract and test value returned
|
|
2531
2578
|
const value = imodel.elements.getElementProps({ id: newId, wantGeometry: true, wantBRepData: true });
|
|
2532
2579
|
assert.isDefined(value.geom);
|
|
@@ -2570,8 +2617,8 @@ describe("Mass Properties", () => {
|
|
|
2570
2617
|
builder.appendGeometry(box);
|
|
2571
2618
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
2572
2619
|
const testElem = imodel.elements.createElement(elementProps);
|
|
2573
|
-
const newId = imodel.
|
|
2574
|
-
imodel
|
|
2620
|
+
const newId = txnForCurrentTest(imodel).insertElement(testElem.toJSON());
|
|
2621
|
+
saveTestTxn(imodel, true);
|
|
2575
2622
|
const requestProps = {
|
|
2576
2623
|
operation: MassPropertiesOperation.AccumulateVolumes,
|
|
2577
2624
|
candidates: [newId],
|
|
@@ -2592,8 +2639,8 @@ describe("Mass Properties", () => {
|
|
|
2592
2639
|
builder.appendGeometry(shape);
|
|
2593
2640
|
const elementProps = createPhysicalElementProps(seedElement, undefined, builder.geometryStream);
|
|
2594
2641
|
const testElem = imodel.elements.createElement(elementProps);
|
|
2595
|
-
const newId = imodel.
|
|
2596
|
-
imodel
|
|
2642
|
+
const newId = txnForCurrentTest(imodel).insertElement(testElem.toJSON());
|
|
2643
|
+
saveTestTxn(imodel, true);
|
|
2597
2644
|
const requestProps = {
|
|
2598
2645
|
operation: MassPropertiesOperation.AccumulateAreas,
|
|
2599
2646
|
candidates: [newId],
|
|
@@ -2626,7 +2673,7 @@ describe("Geometry Containment", () => {
|
|
|
2626
2673
|
const cornerOverlapId = createCircleElem(1.0, Point3d.create(10, 10, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2627
2674
|
const rangeOvrGeomOutId = createCircleElem(1.25, Point3d.create(11, -1, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2628
2675
|
const rangeOvrGeomInId = createCircleElem(0.85, Point3d.create(5, 9, 0), YawPitchRollAngles.createDegrees(45, 0, 0), imodel, seedElement);
|
|
2629
|
-
imodel
|
|
2676
|
+
saveTestTxn(imodel, true);
|
|
2630
2677
|
const range = Range3d.create(Point3d.create(0, 0, -5), Point3d.create(10, 10, 5));
|
|
2631
2678
|
const clip = ClipVector.createEmpty();
|
|
2632
2679
|
const block = ClipShape.createBlock(range, ClipMaskXYZRangePlanes.All, false, false);
|
|
@@ -2663,7 +2710,7 @@ describe("Geometry Containment", () => {
|
|
|
2663
2710
|
const cornerOverlapId = createSphereElem(1.0, Point3d.create(10, 10, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2664
2711
|
const rangeOvrGeomOutId = createSphereElem(1.25, Point3d.create(11, -1, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2665
2712
|
const rangeOvrGeomInId = createSphereElem(0.85, Point3d.create(5, 9, 0), YawPitchRollAngles.createDegrees(45, 0, 0), imodel, seedElement);
|
|
2666
|
-
imodel
|
|
2713
|
+
saveTestTxn(imodel, true);
|
|
2667
2714
|
const range = Range3d.create(Point3d.create(0, 0, -5), Point3d.create(10, 10, 5));
|
|
2668
2715
|
const clip = ClipVector.createEmpty();
|
|
2669
2716
|
const block = ClipShape.createBlock(range, ClipMaskXYZRangePlanes.All, false, false);
|
|
@@ -2711,7 +2758,7 @@ describe("Geometry Containment", () => {
|
|
|
2711
2758
|
const cornerOverlapRId = createPartElem(partAId, Point3d.create(10, 10, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement, true);
|
|
2712
2759
|
const rangeOvrGeomOutRId = createPartElem(partBId, Point3d.create(11, -1, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement, true);
|
|
2713
2760
|
const rangeOvrGeomInRId = createPartElem(partCId, Point3d.create(5, 9, 0), YawPitchRollAngles.createDegrees(45, 0, 0), imodel, seedElement, true);
|
|
2714
|
-
imodel
|
|
2761
|
+
saveTestTxn(imodel, true);
|
|
2715
2762
|
const range = Range3d.create(Point3d.create(0, 0, -5), Point3d.create(10, 10, 5));
|
|
2716
2763
|
const clip = ClipVector.createEmpty();
|
|
2717
2764
|
const block = ClipShape.createBlock(range, ClipMaskXYZRangePlanes.All, false, false);
|
|
@@ -2746,7 +2793,7 @@ describe("Geometry Containment", () => {
|
|
|
2746
2793
|
const primOutConsInId = createDisjointCirclesElem(1.0, Point3d.create(0, 5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2747
2794
|
const primInConsInId = createDisjointCirclesElem(1.0, Point3d.create(5, 5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2748
2795
|
const primOvrConsOvrId = createDisjointCirclesElem(1.0, Point3d.create(5, 10, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2749
|
-
imodel
|
|
2796
|
+
saveTestTxn(imodel, true);
|
|
2750
2797
|
const range = Range3d.create(Point3d.create(0, 0, -5), Point3d.create(10, 10, 5));
|
|
2751
2798
|
const clip = ClipVector.createEmpty();
|
|
2752
2799
|
const block = ClipShape.createBlock(range, ClipMaskXYZRangePlanes.All, false, false);
|
|
@@ -2795,7 +2842,7 @@ describe("Geometry Containment", () => {
|
|
|
2795
2842
|
const rangeInsideXId = createCircleElem(1.0, Point3d.create(7.5, 2.5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2796
2843
|
const rangeOutsideId = createCircleElem(1.0, Point3d.create(7.5, 7.5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2797
2844
|
const rangeOvrGeomOvrId = createCircleElem(1.0, Point3d.create(5, 5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2798
|
-
imodel
|
|
2845
|
+
saveTestTxn(imodel, true);
|
|
2799
2846
|
const clipShapePts = [];
|
|
2800
2847
|
clipShapePts.push(Point3d.create(0, 0, 0));
|
|
2801
2848
|
clipShapePts.push(Point3d.create(10, 0, 0));
|
|
@@ -2830,7 +2877,7 @@ describe("Geometry Containment", () => {
|
|
|
2830
2877
|
const rangeInsideXId = createSphereElem(1.0, Point3d.create(7.5, 2.5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2831
2878
|
const rangeOutsideId = createSphereElem(1.0, Point3d.create(7.5, 7.5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2832
2879
|
const rangeOvrGeomOvrId = createSphereElem(1.0, Point3d.create(5, 5, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2833
|
-
imodel
|
|
2880
|
+
saveTestTxn(imodel, true);
|
|
2834
2881
|
const clipShapePts = [];
|
|
2835
2882
|
clipShapePts.push(Point3d.create(0, 0, 0));
|
|
2836
2883
|
clipShapePts.push(Point3d.create(10, 0, 0));
|
|
@@ -2863,7 +2910,7 @@ describe("Geometry Containment", () => {
|
|
|
2863
2910
|
const rangeInsideId = createCircleElem(1.0, Point3d.create(0, 0, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2864
2911
|
const rangeOutsideId = createCircleElem(1.0, Point3d.create(10, 0, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2865
2912
|
const rangeOverlapId = createCircleElem(1.0, Point3d.create(5, 0, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2866
|
-
imodel
|
|
2913
|
+
saveTestTxn(imodel, true);
|
|
2867
2914
|
const plane = Plane3dByOriginAndUnitNormal.create(Point3d.create(5, 0, 0), Vector3d.create(-1, 0, 0)); // inward normal...
|
|
2868
2915
|
const planeSet = ConvexClipPlaneSet.createEmpty();
|
|
2869
2916
|
planeSet.addPlaneToConvexSet(ClipPlane.createPlane(plane));
|
|
@@ -2892,7 +2939,7 @@ describe("Geometry Containment", () => {
|
|
|
2892
2939
|
const rangeInsideId = createSphereElem(1.0, Point3d.create(0, 0, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2893
2940
|
const rangeOutsideId = createSphereElem(1.0, Point3d.create(10, 0, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2894
2941
|
const rangeOverlapId = createSphereElem(1.0, Point3d.create(5, 0, 0), YawPitchRollAngles.createDegrees(0, 0, 0), imodel, seedElement);
|
|
2895
|
-
imodel
|
|
2942
|
+
saveTestTxn(imodel, true);
|
|
2896
2943
|
const plane = Plane3dByOriginAndUnitNormal.create(Point3d.create(5, 0, 0), Vector3d.create(-1, 0, 0)); // inward normal...
|
|
2897
2944
|
const planeSet = ConvexClipPlaneSet.createEmpty();
|
|
2898
2945
|
planeSet.addPlaneToConvexSet(ClipPlane.createPlane(plane));
|