UNPKG

@itwin/core-backend

Version:
148 lines 7.35 kB
/** @packageDocumentation * @module Elements */ import { Code, CodeScopeProps, EntityReferenceSet, RelatedElementProps, SheetIndexEntryProps, SheetIndexReferenceProps, SheetReferenceProps } from "@itwin/core-common"; import { InformationReferenceElement } from "./Element"; import { IModelDb } from "./IModelDb"; import { Id64String } from "@itwin/core-bentley"; import { SheetIndexReferenceRefersToSheetIndex, SheetReferenceRefersToSheet } from "./NavigationRelationship"; /** Arguments used to create a [[SheetIndexEntry]]. * @beta */ export interface SheetIndexEntryCreateArgs { /** The iModel that will contain the sheet index entry. */ iModelDb: IModelDb; /** The Id of the [[SheetIndexModel]] that will contain the sheet index entry. */ sheetIndexModelId: Id64String; /** The [[SheetIndex]] or [[SheetIndexFolder]] that is parent to this SheetIndexEntry */ parentId: Id64String; /** The name of the SheetIndexEntry */ name: string; /** The priority of the SheetIndexEntry */ priority: number; } /** Arguments supplied when creating a [[SheetIndexReference]]. * @beta */ export interface SheetIndexReferenceCreateArgs extends SheetIndexEntryCreateArgs { /** The [[SheetIndex]] to which the reference refers. */ sheetIndexId?: Id64String; } /** Arguments supplied when creating a [[SheetReference]]. * @beta */ export interface SheetReferenceCreateArgs extends SheetIndexEntryCreateArgs { /** The [[Sheet]] to which the reference refers. */ sheetId?: Id64String; } /** A [structured collection]($docs/bis/domains/drawings-sheets#sheet-index) of [[SheetIndexEntry]]s. * The sheet index is a tree whose leaf nodes refer to [[Sheet]]s, optionally grouped by [[SheetIndexFolder]]s and/or incorporating * sub-trees via [[SheetIndexReference]]s. * @beta */ export declare class SheetIndex extends InformationReferenceElement { static get className(): string; /** Create a Code for a SheetIndex given a name that is meant to be unique within the scope of the specified SheetIndexModel. * @param iModel The IModelDb * @param scopeSheetIndexModelId The Id of the Model that contains the LinkElement and provides the scope for its name. * @param codeValue The SheetIndex name */ static createCode(iModel: IModelDb, scopeSheetIndexModelId: CodeScopeProps, codeValue: string): Code; /** Create a SheetIndex * @param iModelDb The IModelDb * @param modelId The Id of the Model that contains the SheetIndex and provides the scope for its name. * @param name The name (codeValue) of the SheetIndex * @returns The newly constructed SheetIndex * @throws [[IModelError]] if there is a problem creating the SheetIndex */ static create(iModelDb: IModelDb, modelId: Id64String, name: string): SheetIndex; /** Insert a SheetIndex * @param iModelDb The IModelDb * @param modelId The Id of the Model that contains the SheetIndex and provides the scope for its name. * @param name The name (codeValue) of the SheetIndex * @returns The Id of the newly inserted SheetIndex * @throws [[IModelError]] if there is a problem inserting the SheetIndex */ static insert(iModelDb: IModelDb, modelId: Id64String, name: string): Id64String; } /** The base class for all elements that can participate in a [[SheetIndex]] hierarchy. * @beta */ export declare abstract class SheetIndexEntry extends InformationReferenceElement { static get className(): string; /** Can be used to prioritize or order members within a SheetIndex or SheetIndexFolder. */ entryPriority: number; protected constructor(props: SheetIndexEntryProps, iModel: IModelDb); toJSON(): SheetIndexEntryProps; /** Create a Code for a Sheet Index Entry given a name that is meant to be unique within the scope of the specified SheetIndexModel. * @param iModel The IModel * @param scopeModelId The Id of the [[SheetIndexModel]] that contains the [[SheetIndexEntry]] and provides the scope for its name. * @param codeValue The name of the entry */ static createCode(iModelDb: IModelDb, scopeModelId: CodeScopeProps, codeValue: string): Code; protected static createParentRelationshipProps(iModelDb: IModelDb, id: Id64String): RelatedElementProps; protected static createProps(arg: SheetIndexEntryCreateArgs): SheetIndexEntryProps; } /** A container used to group [[SheetIndexEntry]]s within a [[SheetIndex]]. * @beta */ export declare class SheetIndexFolder extends SheetIndexEntry { static get className(): string; /** Create a new SheetIndexFolder * @returns The newly constructed SheetIndexFolder element. * @throws [[IModelError]] if unable to create the element. */ static create(arg: SheetIndexEntryCreateArgs): SheetIndexFolder; /** Create a new SheetIndexFolder * @returns The Id of the newly inserted SheetIndexFolder element. * @throws [[IModelError]] if unable to create the element. */ static insert(arg: SheetIndexEntryCreateArgs): Id64String; } /** A node within one [[SheetIndex]] that incorporates another [[SheetIndex]] as a sub-tree. * @beta */ export declare class SheetIndexReference extends SheetIndexEntry { static get className(): string; /** The bis:SheetIndex that this bis:SheetIndexReference is pointing to. */ sheetIndex?: SheetIndexReferenceRefersToSheetIndex; protected constructor(props: SheetIndexReferenceProps, iModel: IModelDb); protected static createReferenceRelationshipProps(id: Id64String): RelatedElementProps; toJSON(): SheetIndexReferenceProps; /** Create a new SheetIndexReference * @returns The newly constructed SheetIndexReference element. * @throws [[IModelError]] if unable to create the element. */ static create(arg: SheetIndexReferenceCreateArgs): SheetIndexReference; /** Create a new SheetIndexReference * @returns The Id of the newly inserted SheetIndexReference element. * @throws [[IModelError]] if unable to create the element. */ static insert(arg: SheetIndexReferenceCreateArgs): Id64String; /** @alpha */ protected collectReferenceIds(referenceIds: EntityReferenceSet): void; } /** A leaf node in a [[SheetIndex]] that refers to a specific [[Sheet]]. * @beta */ export declare class SheetReference extends SheetIndexEntry { static get className(): string; /** The bis:Sheet that this bis:SheetReference is pointing to. */ sheet: SheetReferenceRefersToSheet | undefined; protected constructor(props: SheetReferenceProps, iModel: IModelDb); protected static createReferenceRelationshipProps(id: Id64String): RelatedElementProps; toJSON(): SheetReferenceProps; /** Create a new SheetReference * @returns The newly constructed SheetReference element. * @throws [[IModelError]] if unable to create the element. */ static create(arg: SheetReferenceCreateArgs): SheetReference; /** Insert a new SheetReference * @returns The Id of the newly inserted SheetReference element. * @throws [[IModelError]] if unable to create the element. */ static insert(arg: SheetReferenceCreateArgs): Id64String; /** @alpha */ protected collectReferenceIds(referenceIds: EntityReferenceSet): void; } //# sourceMappingURL=SheetIndex.d.ts.map