ViewDefinition Class @preview
The definition element for a view. ViewDefinitions specify the area/volume that is viewed, the Ids of a DisplayStyle and a CategorySelector, plus additional view-specific parameters in their jsonProperties. Subclasses of ViewDefinition determine which model(s) are viewed.
@note ViewDefinition is only available in the backend. See ViewState for usage in the frontend.
Extends
Extended by
Methods
| Name | Description | |
|---|---|---|
| constructor(props: ViewDefinitionProps, iModel: IModelDb): ViewDefinition Protected | ||
| collectReferenceIds(referenceIds: EntityReferenceSet): void Protected | Collect the Ids of this entity's references at this level of the class hierarchy. | |
| getAuxiliaryCoordinateSystemId(): string | The Id of the AuxiliaryCoordinateSystem for this ViewDefinition, or an invalid Id if no ACS is defined. | |
| isDrawingView(): this is DrawingViewDefinition | Type guard for 'instanceof DrawingViewDefinition' | |
| isSpatialView(): this is SpatialViewDefinition | Type guard for instanceof SpatialViewDefinition |
|
| isView2d(): this is ViewDefinition2d | Type guard for 'instanceof ViewDefinition2d` | |
| isView3d(): this is ViewDefinition3d | Type guard for instanceof ViewDefinition3d |
|
| loadCategorySelector(): CategorySelector | Load this view's CategorySelector from the IModelDb. | |
| loadDisplayStyle(): DisplayStyle | Load this view's DisplayStyle from the IModelDb. | |
| setAuxiliaryCoordinateSystemId(acsId: string): void | Set or clear the AuxiliaryCoordinateSystem for this ViewDefinition. | |
| toJSON(): ViewDefinitionProps | Obtain the JSON representation of this Entity. | |
| createCode(iModel: IModelDb, scopeModelId: string, codeValue: string): Code Static | Create a Code for a ViewDefinition given a name that is meant to be unique within the scope of the specified DefinitionModel. | |
| deserialize(props: DeserializeEntityArgs): ViewDefinitionProps Static | Converts an ECSqlRow of an Entity to an EntityProps. | |
| onCloned(context: IModelElementCloneContext, sourceElementProps: ViewDefinitionProps, targetElementProps: ViewDefinitionProps): Promise<void> Protected Static | ||
| serialize(props: ViewDefinitionProps, _iModel: IModelDb): ECSqlRow Static | Converts an EntityProps to an ECSqlRow. |
Inherited methods
| Name | Inherited from | Description |
|---|---|---|
| delete(): void Inherited | DefinitionElement | Delete this Element from the iModel. |
| forEach(func: PropertyHandler, includeCustom: boolean = true): void Inherited | DefinitionElement | Call a function for each property of this Entity. |
| forEachProperty(func: PropertyCallback, includeCustom: boolean = true): void Inherited | DefinitionElement | Call a function for each property of this Entity. |
| getClassMetaData(): undefined | EntityMetaData Inherited | DefinitionElement | Get the class metadata for this element. |
| getDisplayLabel(): string Inherited | DefinitionElement | Get a display label for this Element. |
| getJsonProperty(nameSpace: string): any Inherited | DefinitionElement | Get a JSON property of this element, by namespace |
| getMetaData(): Promise<EntityClass> Inherited | DefinitionElement | Query metadata for this entity class from the iModel's schema. |
| getReferenceIds(): EntityReferenceSet Inherited | DefinitionElement | Get the set of this entity's entity references, EntityReferenceSet. |
| DefinitionElement | Get a list of HTML strings that describe this Element for the tooltip. | |
| getUserProperties(namespace: string): any Inherited | DefinitionElement | Get a set of JSON user properties by namespace |
| insert(): string Inherited | DefinitionElement | Insert this Element into the iModel. |
| removeUserProperties(nameSpace: string): void Inherited | DefinitionElement | Remove a set of JSON user properties, specified by namespace, from this Element |
| setJsonProperty(nameSpace: string, value: any): void Inherited | DefinitionElement | |
| setUserProperties(nameSpace: string, value: any): void Inherited | DefinitionElement | Change a set of user JSON properties of this Element by namespace. |
| update(): void Inherited | DefinitionElement | Update this Element in the iModel. |
| is(otherClass: Entity): boolean Static Inherited | DefinitionElement | return whether this Entity class is a subclass of another Entity class |
| onAllInputsHandled(_id: string, _iModel: IModelDb): void Protected Static Inherited | DefinitionElement | Called on an element in a graph after all of its inputs have been processed and before its outputs are processed. |
| onBeforeOutputsHandled(_id: string, _iModel: IModelDb): void Protected Static Inherited | DefinitionElement | Called when a root element in a subgraph is changed and before its outputs are processed. |
| onChildAdd(_arg: OnChildElementPropsArg): void Protected Static Inherited | DefinitionElement | Called when an existing element is about to be updated so that an instance of this class will become its new parent. |
| onChildAdded(arg: OnChildElementIdArg): void Protected Static Inherited | DefinitionElement | Called after an existing element has been updated so that an instance of this class is its new parent. |
| onChildDelete(_arg: OnChildElementIdArg): void Protected Static Inherited | DefinitionElement | Called when an element with an instance of this class as its parent is about to be deleted. |
| onChildDeleted(arg: OnChildElementIdArg): void Protected Static Inherited | DefinitionElement | Called after an element with an instance of this class as its parent was successfully deleted. |
| onChildDrop(_arg: OnChildElementIdArg): void Protected Static Inherited | DefinitionElement | Called when an element with an instance of this class as its parent is about to be updated change to a different parent. |
| onChildDropped(arg: OnChildElementIdArg): void Protected Static Inherited | DefinitionElement | Called after an element with an instance of this class as its previous parent was updated to have a new parent. |
| onChildInsert(_arg: OnChildElementPropsArg): void Protected Static Inherited | DefinitionElement | Called when a new element with an instance of this class as its parent is about to be inserted. |
| onChildInserted(arg: OnChildElementIdArg): void Protected Static Inherited | DefinitionElement | Called after a new element with an instance of this class as its parent was inserted. |
| onChildUpdate(_arg: OnChildElementPropsArg): void Protected Static Inherited | DefinitionElement | Called when an element with an instance of this class as its parent is about to be updated. |
| onChildUpdated(arg: OnChildElementIdArg): void Protected Static Inherited | DefinitionElement | Called after an element with an instance of this the class as its parent was updated. |
| onDelete(arg: OnElementIdArg): void Protected Static Inherited | DefinitionElement | Called before an Element is deleted. |
| onDeleted(arg: OnElementIdArg): void Protected Static Inherited | DefinitionElement | Called after an Element was deleted. |
| onInsert(arg: OnElementPropsArg): void Protected Static Inherited | DefinitionElement | Called before a new Element is inserted. |
| onInserted(arg: OnElementIdArg): void Protected Static Inherited | DefinitionElement | Called after a new Element was inserted. |
| onSubModelDelete(_arg: OnSubModelIdArg): void Protected Static Inherited | DefinitionElement | Called when a sub-model of an instance of this class is being deleted. |
| onSubModelDeleted(arg: OnSubModelIdArg): void Protected Static Inherited | DefinitionElement | Called after a sub-model of an instance of this class was deleted. |
| onSubModelInsert(_arg: OnSubModelPropsArg): void Protected Static Inherited | DefinitionElement | Called when an instance of this class is being sub-modeled by a new Model. |
| onSubModelInserted(arg: OnSubModelIdArg): void Protected Static Inherited | DefinitionElement | Called after an instance of this class was sub-modeled by a new Model. |
| onUpdate(arg: OnElementPropsArg): void Protected Static Inherited | DefinitionElement | Called before an Element is updated. |
| onUpdated(arg: OnElementIdArg): void Protected Static Inherited | DefinitionElement | Called after an Element was updated. |
Properties
| Name | Type | Description | |
|---|---|---|---|
| _customHandledProps Protected Static Readonly | CustomHandledProperty[] | List of properties that are need to be custom handled during deserialization and serialization. | |
| categorySelectorId | string | The element Id of the CategorySelector for this ViewDefinition | |
| className Accessor Static ReadOnly | string | The name of the BIS class associated with this class. | |
| details Accessor Abstract ReadOnly | ViewDetails | Provides access to optional detail settings for this view. | |
| displayStyleId | string | The element Id of the DisplayStyle for this ViewDefinition | |
| requiredReferenceKeys Static Readonly | ReadonlyArray |
Inherited properties
| Name | Type | Inherited from | Description |
|---|---|---|---|
| _metadata Protected Inherited | EntityClass | RelationshipClass | DefinitionElement | Cached Metadata for the ECClass |
| classFullName Accessor Inherited ReadOnly | string | DefinitionElement | Get the full BIS class name of this Entity in the form "schema:class". |
| classFullName Accessor Static Inherited ReadOnly | string | DefinitionElement | Get the full BIS class name of this Entity in the form "schema:class" |
| className Accessor Inherited ReadOnly | string | DefinitionElement | The name of the BIS class associated with this class. |
| code Inherited | Code | DefinitionElement | The Code for this element |
| federationGuid Inherited | string | undefined | DefinitionElement | A FederationGuid assigned to this element by some other federated database |
| id Inherited | string | DefinitionElement | The Id of this Entity. |
| iModel Inherited | IModelDb | DefinitionElement | The IModelDb that contains this Entity |
| isInstanceOfEntity Readonly Inherited | "true" | DefinitionElement | An immutable property used to discriminate between Entity and EntityProps, used to inform the TypeScript compiler that these two types |
| isPrivate Inherited | boolean | DefinitionElement | If true, don't show this DefinitionElement in user interface lists. |
| jsonProperties Readonly Inherited | [key: string]: any | DefinitionElement | Optional json properties of this element. |
| model Readonly Inherited | string | DefinitionElement | The ModelId of the Model containing this element |
| parent Inherited | RelatedElement | undefined | DefinitionElement | The parent element, if present, of this element. |
| schema Static Inherited | Schema | DefinitionElement | The Schema that defines this class. |
| schemaItemKey Accessor Inherited ReadOnly | SchemaItemKey | DefinitionElement | Get the item key used by the ecschema-metadata package to identify this entity class |
| schemaItemKey Accessor Static Inherited ReadOnly | SchemaItemKey | DefinitionElement | Serves as a unique identifier for this class. Typed variant of classFullName. |
| schemaName Accessor Inherited ReadOnly | string | DefinitionElement | The name of the BIS Schema that defines this class |
| userLabel Inherited | string | undefined | DefinitionElement | A user-assigned label for this element. |
Defined in
- core/backend/src/ViewDefinition.ts Line 232
Last Updated: 28 October, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.