@itwin/core-backend
Version:
iTwin.js backend components
148 lines • 7.35 kB
TypeScript
/** @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