IModelDb Class
An iModel database file. The database file is either a local copy (briefcase) of an iModel managed by iModelHub or a read-only snapshot used for archival and data transfer purposes.
IModelDb raises a set of events to allow apps and subsystems to track IModelDb object life cycle, including IModelDb.onOpen and IModelDb.onOpened.
see About IModelDb
Extends
Implements
Methods
Name | Description | |
---|---|---|
abandonChanges(): void | Abandon pending changes in this iModel | |
cancelSnap(sessionId: string): void | Cancel a previously requested snap. | |
clearSqliteStatementCache(): void | Empty the SqliteStatementCache for this iModel. | |
clearStatementCache(): void | Empty the ECSqlStatementCache for this iModel. | |
close(requestContext: AuthorizedClientRequestContext, keepBriefcase: KeepBriefcase = KeepBriefcase.Yes): Promise<void> | Close this iModel, if it is currently open. | |
closeSnapshot(): void | Close this local read-only iModel snapshot, if it is currently open. | Beta |
constructEntity<T extends Entity>(props: EntityProps): T extends Entity | Construct an entity (Element or Model) from an iModel. | |
containsClass(classFullName: string): boolean | Query if this iModel contains the definition of the specified class. | |
createSnapshot(snapshotFile: string): IModelDb | Create a local Snapshot iModel file, using this iModel as a seed or starting point. | Beta |
deleteFileProperty(prop: FilePropertyProps): DbResult | delete a "file property" from this iModel | |
embedFont(prop: FontProps): FontProps | ||
executeQuery(ecsql: string, bindings?: any[] | object): any[] | Execute a query against this IModelDb. | Deprecated |
exportGraphics(exportProps: ExportGraphicsOptions): DbResult | Export meshes suitable for graphics APIs from arbitrary geometry in elements in this IModelDb. | |
exportPartGraphics(exportProps: ExportPartGraphicsOptions): DbResult | Exports meshes suitable for graphics APIs from a specified GeometryPart | |
getBriefcaseId(): BriefcaseId | Get the briefcase Id of this iModel | |
getGeoCoordinatesFromIModelCoordinates(requestContext: ClientRequestContext, props: string): Promise<GeoCoordinatesResponseProps> | Get the GeoCoordinate (longitude, latitude, elevation) corresponding to each IModel Coordinate point in the input | |
getGuid(): GuidString | Get the GUID of this iModel. | |
getIModelCoordinatesFromGeoCoordinates(requestContext: ClientRequestContext, props: string): Promise<IModelCoordinatesResponseProps> | Get the IModel coordinate corresponding to each GeoCoordinate point in the input | |
getJsClass<T extends undefined>(classFullName: string): T extends undefined | Get the JavaScript class that handles a given entity class. | |
getMassProperties(requestContext: ClientRequestContext, props: MassPropertiesRequestProps): Promise<MassPropertiesResponseProps> | Get the mass properties for the supplied elements | Beta |
getMetaData(classFullName: string): EntityMetaData | Get metadata for a class. | |
importSchema(requestContext: ClientRequestContext | AuthorizedClientRequestContext, schemaFileName: string): Promise<void> | Import a single ECSchema. | Deprecated |
importSchemas(requestContext: ClientRequestContext | AuthorizedClientRequestContext, schemaFileNames: string[]): Promise<void> | Import an ECSchema. | |
prepareStatement(sql: string): ECSqlStatement | Prepare an ECSQL statement. | |
pullAndMergeChanges(requestContext: AuthorizedClientRequestContext, version: IModelVersion = IModelVersion.latest()): Promise<void> | Pull and Merge changes from iModelHub | Beta |
pushChanges(requestContext: AuthorizedClientRequestContext, describer?: ChangeSetDescriber): Promise<void> | Push changes to iModelHub. | Beta |
query(ecsql: string, bindings?: any[] | object, limitRows?: number, quota?: QueryQuota, priority?: QueryPriority): AsyncIterableIterator<any> | Execute a query and stream its results | |
queryEntityIds(params: EntityQueryParams): Id64Set | Query for a set of entity ids, given an EntityQueryParams | |
queryFilePropertyBlob(prop: FilePropertyProps): Uint8Array | undefined | Query a "file property" from this iModel, as a blob. | |
queryFilePropertyString(prop: FilePropertyProps): string | undefined | Query a "file property" from this iModel, as a string. | |
queryNextAvailableFileProperty(prop: FilePropertyProps): number | Query for the next available major id for a "file property" from this iModel. | |
queryRowCount(ecsql: string, bindings?: any[] | object): Promise<number> | Compute number of rows that would be returned by the ECSQL. | |
querySchemaVersion(schemaName: string): string | undefined | Query for a schema of the specified name in this iModel. | |
readFontJson(): string | ||
reinstateChanges(requestContext: AuthorizedClientRequestContext, version: IModelVersion = IModelVersion.latest()): Promise<void> | Reinstate a previously reversed set of changes | Beta |
requestSnap(requestContext: ClientRequestContext, sessionId: string, props: SnapRequestProps): Promise<SnapResponseProps> | ||
reverseChanges(requestContext: AuthorizedClientRequestContext, version: IModelVersion = IModelVersion.latest()): Promise<void> | Reverse a previously merged set of changes | Beta |
saveChanges(description?: string): void | Commit pending changes to this iModel. | |
saveFileProperty(prop: FilePropertyProps, strValue: string | undefined, blobVal?: Uint8Array): DbResult | Save a "file property" to this iModel | |
setAsMaster(guid?: GuidString): void | Set iModel as Master copy. | |
setGuid(guid: GuidString): DbResult | Set the GUID of this iModel. | |
updateEcefLocation(ecef: EcefLocation): void | Update the EcefLocation of this iModel. | |
updateIModelProps(): void | Update the IModelProps of this iModel in the database. | |
updateProjectExtents(newExtents: AxisAlignedBox3d): void | Update the project extents for this iModel. | |
withPreparedStatement<T>(ecsql: string, callback: (stmt: ECSqlStatement) => T): T | Use a prepared ECSQL statement. | |
create(requestContext: AuthorizedClientRequestContext, contextId: string, iModelName: string, args: CreateIModelProps): Promise<IModelDb> Static | Create an iModel on iModelHub | |
createSnapshot(snapshotFile: string, args: CreateIModelProps): IModelDb Static | Create an empty local Snapshot iModel file. | Beta |
find(iModelToken: IModelToken): IModelDb Static | Find an already open IModelDb. | |
forEachMetaData(iModel: IModelDb, classFullName: string, wantSuper: boolean, func: PropertyCallback, includeCustom: boolean): void Static | Invoke a callback on each property of the specified class, optionally including superclass properties. | |
open(requestContext: AuthorizedClientRequestContext, contextId: string, iModelId: string, openParams: OpenParams = OpenParams.pullAndPush(), version: IModelVersion = IModelVersion.latest()): Promise<IModelDb> Static | Open an iModel from iModelHub. | |
openSnapshot(filePath: string): IModelDb Static | Open a local iModel snapshot. | Beta |
performUpgrade(pathname: string): DbResult Static | Deprecated |
Inherited methods
Name | Inherited from | Description |
---|---|---|
cartographicToSpatialFromEcef(cartographic: Cartographic, result?: Point3d): Point3d | IModel | Convert a Cartographic to a point in this iModel's Spatial coordinates using its ecefLocation. |
ecefToSpatial(ecef: XYAndZ, result?: Point3d): Point3d | IModel | Convert a point in ECEF coordinates to a point in this iModel's Spatial coordinates using its ecefLocation. |
getEcefTransform(): Transform | IModel | Get the Transform from this iModel's Spatial coordinates to ECEF coordinates using its ecefLocation. |
setEcefLocation(ecef: EcefLocationProps): void | IModel | Set the EcefLocation for this iModel. |
spatialToCartographicFromEcef(spatial: XYAndZ, result?: Cartographic): Cartographic | IModel | Convert a point in this iModel's Spatial coordinates to a Cartographic using its ecefLocation. |
spatialToEcef(spatial: XYAndZ, result?: Point3d): Point3d | IModel | Convert a point in this iModel's Spatial coordinates to an ECEF point using its ecefLocation. |
getDefaultSubCategoryId(categoryId: Id64String): Id64String Static | IModel | Get the default subCategoryId for the supplied categoryId |
Properties
Name | Type | Description | |
---|---|---|---|
_fontMap Protected | undefined | FontMap | ||
codeSpecs Accessor ReadOnly | CodeSpecs | Get the CodeSpecs in this IModel. | |
concurrencyControl Accessor ReadOnly | ConcurrencyControl | Get the ConcurrencyControl for this IModel. | Beta |
defaultLimit Static | 1000 | ||
elements | IModelDb.Elements | ||
fontMap Accessor ReadOnly | FontMap | ||
isBriefcase Accessor ReadOnly | boolean | Returns true if this is an iModel from iModelHub (briefcase) | |
isReadonly Accessor ReadOnly | boolean | Check if this iModel has been opened read-only or not. | |
isSnapshot Accessor ReadOnly | boolean | Returns true if this is a snapshot iModel | |
isStandalone Accessor ReadOnly | boolean | Returns true if this is a standalone iModel | Deprecated |
maxLimit Static | 10000 | ||
models | IModelDb.Models | ||
needsConcurrencyControl Accessor ReadOnly | boolean | Does this briefcase require concurrency control? | Beta |
onBeforeClose | BeEvent<() => void> | Event called when the iModel is about to be closed | |
onChangesetApplied | BeEvent<() => void> | Event called after a changeset is applied to this IModelDb. | |
onCreate Static | BeEvent<(_requestContext: AuthorizedClientRequestContext, _contextId: string, _args: CreateIModelProps) => void> | Event raised just before an IModelDb is created in iModelHub. | |
onCreated Static | BeEvent<(_imodelDb: IModelDb) => void> | Event raised just after an IModelDb is created in iModelHub. | |
onOpen Static | BeEvent<(_requestContext: AuthorizedClientRequestContext, _contextId: string, _iModelId: string, _openParams: OpenParams, _version: IModelVersion) => void> | Event raised just before an IModelDb is opened. | |
onOpened Static | BeEvent<(_requestContext: AuthorizedClientRequestContext, _imodelDb: IModelDb) => void> | Event raised just after an IModelDb is opened. | |
openParams | OpenParams | Get the parameters used to open this iModel | |
relationships Accessor ReadOnly | Relationships | Get the linkTableRelationships for this IModel | |
tiles | IModelDb.Tiles | ||
txns | TxnManager | Beta |
|
views | IModelDb.Views |
Inherited properties
Name | Type | Inherited from | Description |
---|---|---|---|
dictionaryId Static | Id64String | IModel | The Id of the dictionary model. |
ecefLocation Accessor ReadOnly | EcefLocation | undefined | IModel | The EcefLocation of the iModel in Earth Centered Earth Fixed coordinates. |
globalOrigin Accessor | Point3d | IModel | An offset to be applied to all spatial coordinates. |
iModelToken Accessor ReadOnly | IModelToken | IModel | The token that can be used to find this iModel instance. |
isGeoLocated Accessor ReadOnly | boolean | IModel | True if this iModel has an EcefLocation. |
name | string | IModel | Name of the iModel |
projectExtents Accessor | AxisAlignedBox3d | IModel | The volume, in spatial coordinates, inside which the entire project is contained. |
repositoryModelId Static | Id64String | IModel | The Id of the repository model. |
rootSubject | RootSubjectProps | IModel | The name and description of the root subject of this iModel |
rootSubjectId Static | Id64String | IModel | The Id of the root subject element. |
Defined in
Last Updated: 05 June, 2020