ViewState Class
The front-end state of a ViewDefinition element. A ViewState is typically associated with a Viewport to display the contents of the view on the screen. A ViewState being displayed by a Viewport is considered to be "attached" to that viewport; a "detached" viewport is not being displayed by any viewport. Because the Viewport modifies the state of its attached ViewState, a ViewState can only be attached to one Viewport at a time. Technically, two Viewports can display two different ViewStates that both use the same DisplayStyleState, but this is discouraged - changes made to the style by one Viewport will affect the contents of the other Viewport. *
@see Views
Extends
Extended by
Methods
| Name | Description | |
|---|---|---|
| _updateMaxGlobalScopeFactor(): void Protected | ||
| adjustAspectRatio(aspect: number): void | Adjust the aspect ratio of this ViewState so it matches the supplied value. | |
| allow3dManipulations(): boolean Abstract | Returns true if ViewTools are allowed to operate in three dimensions on this view. | |
| applyPose(props: ViewPose): this Abstract | Apply a pose to this view to change the viewed volume. | |
| attachToViewport(_args: Viewport): void | Invoked when this view becomes the view displayed by the specified Viewport. | |
| calculateFocusCorners(): Point3d[] | ||
| calculateFrustum(result?: Frustum): undefined | Frustum | Calculate the world coordinate Frustum from the parameters of this ViewState. | |
| computeDisplayTransform(args: ComputeDisplayTransformArgs): undefined | Transform | Compute the transform applied to a model or element at display time, if any. | |
| computeFitRange(): Range3d Abstract | Compute a range in CoordSystem.World coordinates that tightly encloses the contents of this view. | |
| detachFromViewport(): void | Invoked when this view, previously attached to the specified Viewport via attachToViewport, is no longer the view displayed by that Viewport. | |
| equals(other: this): boolean | Determine whether this ViewState exactly matches another. | |
| forEachModel(func: (model: GeometricModelState) => void): void Abstract | Execute a function on each viewed model | |
| forEachTileTreeRef(func: (treeRef: TileTreeReference) => void): void | Execute a function against each TileTreeReference associated with this view. | Deprecated |
| getAspectRatio(): number | Get the aspect ratio (width/height) of this view | |
| getAspectRatioSkew(): number | Get the aspect ratio skew (x/y, usually 1.0) that is used to exaggerate the y axis of the view. | |
| getAuxiliaryCoordinateSystemId(): string | Get the Id of the auxiliary coordinate system for this ViewState | |
| getCenter(result?: Point3d): Point3d | Get the point at the geometric center of the view. | |
| getExtents(): Vector3d Abstract | Get the extents of this view in CoordSystem.World coordinates. | |
| getGlobeRotation(): undefined | Matrix3d | If the view is not of the project as determined by getIsViewingProject then return | |
| getGridOrientation(): GridOrientationType | Get the grid settings for this view | |
| getGridSettings(vp: Viewport, origin: Point3d, rMatrix: Matrix3d, orientation: GridOrientationType): void | Populate the given origin and rotation with information from the grid settings from the grid orientation. | |
| getGridSpacing(): Readonly<WritableXAndY> | ||
| getGridsPerRef(): number | ||
| getIsViewingProject(): boolean | Return true if the view is looking at the current iModel project extents or | |
| getModelAppearanceOverride(id: string): undefined | FeatureAppearance | Query the symbology overrides applied to a model when rendered using this ViewState. | |
| getOrigin(): Point3d Abstract | Get the origin of this view in CoordSystem.World coordinates. | |
| getRotation(): Matrix3d Abstract | Get the 3x3 ortho-normal Matrix3d for this view. | |
| getSubCategoryOverride(id: string): undefined | SubCategoryOverride | Query the symbology overrides applied to geometry belonging to a specific subcategory when rendered using this ViewState. | |
| getTargetPoint(result?: Point3d): Point3d | Get the target point of the view. | |
| getTileTreeRefs(): Iterable<TileTreeReference, any, any> | ||
| getUpVector(point: Point3d): Vector3d | Compute the vector in the "up" direction of a specific point in world space. | |
| getViewClip(): undefined | ClipVector | Get the clipping volume for this view, if defined | |
| getViewedExtents(): Range3d Abstract | Get the extents of this view in CoordSystem.World coordinates. | |
| getXVector(result?: Vector3d): Vector3d | Get the unit vector that points in the view X (left-to-right) direction. | |
| getYVector(result?: Vector3d): Vector3d | Get the unit vector that points in the view Y (bottom-to-top) direction. | |
| getZVector(result?: Vector3d): Vector3d | Get the unit vector that points in the view Z (front-to-back) direction. | |
| hasSameCoordinates(other: ViewState): boolean | Determine whether this ViewState has the same coordinate system as another one. | |
| is2d(): this is ViewState2d | Returns true if this ViewState is-a ViewState2d | |
| is3d(): this is ViewState3d Abstract | Returns true if this ViewState is-a ViewState3d | |
| isDrawingView(): this is DrawingViewState Abstract | Returns true if this ViewState is-a DrawingViewState | |
| isSheetView(): this is SheetViewState | Returns true if this ViewState is-a SheetViewState | |
| isSpatialView(): this is SpatialViewState Abstract | Returns true if this ViewState is-a SpatialViewState | |
| load(): Promise<void> | Asynchronously load any required data for this ViewState from the backend. | |
| lookAtViewAlignedVolume(volume: Range3d, aspect?: number, options?: MarginOptions & OnViewExtentsError): void | Look at a volume of space defined by a range in view local coordinates, keeping its current rotation. | |
| lookAtVolume(volume: Readonly<WritableLowAndHighXYZ> | Readonly<WritableLowAndHighXY>, aspect?: number, options?: MarginOptions & OnViewExtentsError): void | Change the volume that this view displays, keeping its current rotation. | |
| postload(hydrateResponse: HydrateViewStateResponseProps): Promise<void> Protected | ||
| preload(hydrateRequest: HydrateViewStateRequestProps): void Protected | Populates the hydrateRequest object stored on the ViewState with: | |
| resetExtentLimits(): void | Resets the largest and smallest values allowed for the extents of this ViewState to their default values. | |
| savePose(): ViewPose Abstract | Capture a copy of this view's viewed volume. | |
| setAspectRatioSkew(val: number): void | Set the aspect ratio skew (x/y) for this view. | |
| setAuxiliaryCoordinateSystem(acs?: AuxCoordSystemState): void | Set or clear the AuxiliaryCoordinateSystem for this view. | |
| setCategorySelector(categories: CategorySelectorState): void | Set the CategorySelector for this view. | |
| setCenter(center: Point3d): void | set the center of this view to a new position. | |
| setDisplayStyle(style: DisplayStyleState): void | ||
| setExtents(viewDelta: Vector3d): void Abstract | Set the extents of this view in CoordSystem.World coordinates. | |
| setGridSettings(orientation: GridOrientationType, spacing: Point2d, gridsPerRef: number): void | Set the grid settings for this view | |
| setOrigin(viewOrg: Readonly<WritableXYAndZ>): void Abstract | Set the origin of this view in CoordSystem.World coordinates. | |
| setRotation(viewRot: Matrix3d): void Abstract | Change the rotation of the view. | |
| setRotationAboutPoint(rotation: Matrix3d, point?: Point3d): void | Set the rotation of this ViewState to the supplied rotation, by rotating it about a point. | |
| setStandardGlobalRotation(id: StandardViewId): void | Orient this view to one of the StandardView rotations, if the the view is not viewing the project then the | |
| setStandardRotation(id: StandardViewId): void | Orient this view to one of the StandardView rotations. | |
| setupFromFrustum(inFrustum: Frustum, opts?: OnViewExtentsError): ViewStatus | Initialize the origin, extents, and rotation from an existing Frustum | |
| setViewClip(clip?: ClipVector): void | Set or clear the clipping volume for this view. | |
| toJSON(): ViewDefinitionProps | Convert to JSON representation. | |
| toProps(): ViewStateProps | Serialize this ViewState as a set of properties that can be used to recreate it via createFromProps. | |
| viewsCategory(id: string): boolean | Determine whether the specified Category is displayed in this view | |
| viewsModel(modelId: string): boolean Abstract | Returns true if this view displays the contents of a Model specified by Id. | |
| createFromProps(_props: ViewStateProps, _iModel: IModelConnection): undefined | ViewState Static | Create a new ViewState object from a set of properties. |
Inherited methods
| Name | Inherited from | Description |
|---|---|---|
| clone(iModel?: IModelConnection): this Inherited | ElementState | Make an independent copy of this EntityState |
Properties
| Name | Type | Description | |
|---|---|---|---|
| analysisStyle Accessor ReadOnly | undefined | AnalysisStyle | See DisplayStyleSettings.analysisStyle. | |
| areAllTileTreesLoaded Accessor ReadOnly | boolean | Returns true if all TileTrees required by this view have been loaded. | |
| auxiliaryCoordinateSystem Accessor ReadOnly | AuxCoordSystemState | get the auxiliary coordinate system state object for this ViewState. | |
| backgroundColor Accessor ReadOnly | ColorDef | Get this view's background color. | |
| categorySelector Accessor | CategorySelectorState | Selects the categories that are display by this ViewState. | |
| categorySelector Setter | categorySelector(selector: CategorySelectorState): void | ||
| className Accessor Static ReadOnly | string | The name of the BIS class associated with this class. | |
| defaultExtentLimits Accessor Abstract ReadOnly | ExtentLimits | Returns the default extent limits for this ViewState. | |
| description | string | undefined | ||
| details Accessor Abstract ReadOnly | ViewDetails | Provides access to optional detail settings for this view. | |
| displayStyle Accessor | DisplayStyleState | The style that controls how the contents of the view are displayed. | |
| displayStyle Setter | displayStyle(style: DisplayStyleState): void | ||
| extentLimits Accessor | ExtentLimits | Get or set the largest and smallest values allowed for the extents for this ViewState | |
| extentLimits Setter | extentLimits(limits: ExtentLimits): void | ||
| globalScopeFactor Accessor ReadOnly | number | A value that represents the global scope of the view -- a value greater than one indicates that the scope of this view is global (viewing most of Earth). | |
| isAttachedToViewport Accessor ReadOnly | boolean | Returns whether this view is currently being displayed by a Viewport. | |
| isPrivate | boolean | undefined | ||
| modelDisplayTransformProvider Accessor | undefined | ModelDisplayTransformProvider | An object that can provide per-model transforms to be applied at display time. | |
| modelDisplayTransformProvider Setter | modelDisplayTransformProvider(provider: ModelDisplayTransformProvider): void | ||
| name Accessor ReadOnly | string | Get the name of the ViewDefinition from which this ViewState originated. | |
| onDisplayStyleChanged Readonly | BeEvent<(newStyle: DisplayStyleState) => void> | An event raised just before assignment to the displayStyle property, only if the view is attached to a Viewport. | |
| onModelDisplayTransformProviderChanged Readonly | BeEvent<(newProvider: ModelDisplayTransformProvider) => void> | Event raised just before assignment to the modelDisplayTransformProvider property, only if the view is attached to a Viewport. | |
| onViewedCategoriesChanged Readonly | BeEvent<() => void> | An event raised when the set of categories viewed by this view changes, only if the view is attached to a Viewport. | |
| scheduleScript Accessor ReadOnly | undefined | RenderSchedule.Script | The RenderSchedule.Script that animates the contents of the view, if any. | |
| viewFlags Accessor | ViewFlags | Flags controlling various aspects of this view's DisplayStyleState. | |
| viewFlags Setter | viewFlags(flags: ViewFlags): void |
Inherited properties
| Name | Type | Inherited from | Description |
|---|---|---|---|
| classFullName Accessor Static Inherited ReadOnly | string | ElementState | Get full BIS class name of this Entity in the form "SchemaName:ClassName". |
| classFullName Readonly Inherited | string | ElementState | The full class name in the form "schema:class". |
| className Accessor Inherited ReadOnly | string | ElementState | The name of the BIS class associated with this class. |
| code Readonly Inherited | Code | ElementState | The Code for this element |
| federationGuid Readonly Inherited | string | undefined | ElementState | A FederationGuid assigned to this element by some other federated database |
| id Readonly Inherited | string | ElementState | The Id of this Entity. |
| iModel Readonly Inherited | IModelConnection | ElementState | The iModel from which this Entity was loaded |
| jsonProperties Readonly Inherited | [key: string]: any | ElementState | Optional json properties of this Entity. |
| model Readonly Inherited | string | ElementState | The ModelId of the Model containing this element |
| parent Readonly Inherited | RelatedElement | undefined | ElementState | The parent Element of this, or undefined if no parent. |
| schemaName Accessor Static Inherited ReadOnly | string | ElementState | The name of the BIS schema for this class. |
| userLabel Readonly Inherited | string | undefined | ElementState | A user-assigned label for this element. |
Defined in
- core/frontend/src/ViewState.ts Line 221
Last Updated: 28 October, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.