@itwin/core-backend
Version:
iTwin.js backend components
86 lines • 3.91 kB
TypeScript
/** @packageDocumentation
* @module Elements
*/
import { Id64String } from "@itwin/core-bentley";
import { FunctionalElementProps, InformationPartitionElementProps, ModelProps, RelatedElement, TypeDefinitionElementProps } from "@itwin/core-common";
import { InformationPartitionElement, RoleElement, TypeDefinitionElement } from "../Element";
import { IModelDb } from "../IModelDb";
import { RoleModel } from "../Model";
import { DrawingGraphicRepresentsElement, ElementRefersToElements } from "../Relationship";
/** A FunctionalPartition element is a key part of the iModel information hierarchy and is always parented
* to a Subject and broken down by a FunctionalModel.
* @public
*/
export declare class FunctionalPartition extends InformationPartitionElement {
static get className(): string;
protected constructor(props: InformationPartitionElementProps, iModel: IModelDb);
}
/** A container for persisting FunctionalElements.
* @public
*/
export declare class FunctionalModel extends RoleModel {
static get className(): string;
constructor(props: ModelProps, iModel: IModelDb);
/** Insert a FunctionalPartition and a FunctionalModel that breaks it down.
* @param iModelDb Insert into this iModel
* @param parentSubjectId The FunctionalPartition will be inserted as a child of this Subject element.
* @param name The name of the FunctionalPartition that the new FunctionalModel will break down.
* @returns The Id of the newly inserted FunctionalPartition and FunctionalModel (same value).
* @throws [[IModelError]] if there is an insert problem.
*/
static insert(iModelDb: IModelDb, parentSubjectId: Id64String, name: string): Id64String;
}
/** A FunctionalElement captures functional requirements that will ultimately be fulfilled by a PhysicalElement.
* @public
*/
export declare abstract class FunctionalElement extends RoleElement {
static get className(): string;
protected constructor(props: FunctionalElementProps, iModel: IModelDb);
}
/** A FunctionalBreakdownElement is a *folder* node in the functional hierarchy.
* @public
*/
export declare abstract class FunctionalBreakdownElement extends FunctionalElement {
static get className(): string;
protected constructor(props: FunctionalElementProps, iModel: IModelDb);
}
/** @public */
export declare class FunctionalComposite extends FunctionalBreakdownElement {
static get className(): string;
protected constructor(props: FunctionalElementProps, iModel: IModelDb);
}
/** A FunctionalComponentElement is a *leaf* node in the functional hierarchy.
* @public
*/
export declare abstract class FunctionalComponentElement extends FunctionalElement {
static get className(): string;
protected constructor(props: FunctionalElementProps, iModel: IModelDb);
}
/** Defines a set of properties (the 'type') that can be associated with a Functional Element.
* @public
*/
export declare abstract class FunctionalType extends TypeDefinitionElement {
static get className(): string;
protected constructor(props: TypeDefinitionElementProps, iModel: IModelDb);
}
/** Relates a [[FunctionalElement]] to its [[FunctionalType]]
* @public
*/
export declare class FunctionalElementIsOfType extends RelatedElement {
static get className(): string;
static classFullName: string;
constructor(id: Id64String, relClassName?: string);
}
/** Relates a [[PhysicalElement]] to the [[FunctionalElement]] elements that it fulfills.
* @public
*/
export declare class PhysicalElementFulfillsFunction extends ElementRefersToElements {
static get className(): string;
}
/** Relates a [[DrawingGraphic]] to the [[FunctionalElement]] that it represents
* @public
*/
export declare class DrawingGraphicRepresentsFunctionalElement extends DrawingGraphicRepresentsElement {
static get className(): string;
}
//# sourceMappingURL=FunctionalElements.d.ts.map