imodeljs-frontend

Classes

Name Description
AccuDrawHintBuilder AccuDrawHintBuilder is a Tool helper class that facilitates AccuDraw interaction. Beta,
AccuSnap AccuSnap is an aide for snapping to interesting points on elements or decorations as the cursor moves over them.
AccuSnap.Settings
AccuSnap.ToolState
ActivityMessageDetails Specifies the details of an activity message to be displayed to the user.
AngleDescription Angle Property Description Beta,
AuthorizedFrontendRequestContext Provides some generic context for downstream server applications to get details of a request that
AuxCoordSystem2dState The state of an AuxCoordSystem2d element in the frontend
AuxCoordSystem3dState The state of an AuxCoordSystem3d element in the frontend
AuxCoordSystemSpatialState The state of an AuxCoordSystemSpatial element in the frontend
AuxCoordSystemState The state of an AuxCoordSystem element in the frontend
BeButtonEvent Object sent to Tools that holds information about button/touch/wheel events.
BeButtonState
BeTouchEvent A ButtonEvent generated by touch input.
BeWheelEvent A BeButtonEvent generated by movement of a mouse wheel.
BlankConnection A connection that exists without an iModel. Beta,
BlankConnection.CodeSpecs The collection of CodeSpec entities for an IModelConnection.
BlankConnection.Elements The collection of Elements for an IModelConnection.
BlankConnection.Models The collection of loaded ModelState objects for an IModelConnection.
BlankConnection.Views The collection of views for an IModelConnection.
BriefcaseConnection Base class for connections to a BriefcaseDb hosted on the backend.
BriefcaseConnection.CodeSpecs The collection of CodeSpec entities for an IModelConnection.
BriefcaseConnection.Elements The collection of Elements for an IModelConnection.
BriefcaseConnection.Models The collection of loaded ModelState objects for an IModelConnection.
BriefcaseConnection.Views The collection of views for an IModelConnection.
CategorySelectorState A set of Categories to be displayed in a ViewState.
ChangeFlags Viewport event synchronization flags. Beta,
Cluster A cluster of one or more Markers that overlap one another in the view.
ContextRealityModelState A reference to a TileTree obtained from a reality data service and associated to a ViewState by way of its DisplayStyleState. Beta,
DecorateContext Provides context for a ViewportDecorator to add Decorations to be rendered within a Viewport.
Decorations A set of RenderGraphics and CanvasDecorations produced by Tools and Decorators, used to decorate the contents of a Viewport.
DisplayStyle2dState A display style that can be applied to 2d views.
DisplayStyle3dState A DisplayStyleState that can be applied to spatial views.
DisplayStyleState A DisplayStyle defines the parameters for 'styling' the contents of a ViewState
DrawingModelState Represents the front-end state of a DrawingModel.
DrawingViewState A view of a DrawingModel
DynamicsContext Provides context for an InteractiveTool to display decorations representing its current state.
ElementLocateManager
ElementPicker
ElementState The "state" of an Element as represented in a web browser.
EmphasizeElements An implementation of EmphasizeElements.FeatureOverrideProvider for emphasizing selected elements through simple color/transparency appearance overrides.
EngineeringLengthDescription Engineering Length Property Description Beta,
EntityState The "state" of an Entity as represented in a web browser.
Environment Describes the SkyBox and Environment.GroundPlane associated with a DisplayStyle3dState.
EventController An EventController maps user input events from a Viewport to the ToolAdmin so that tools can process them.
EventSource Provides access to push events emitted by the backend. Beta,
Extension Base Extension class for writing a demand-loaded module. Beta,
ExtensionAdmin Handles the loading of Extensions, and maintains a list of registered, currently loaded, and currently being downloaded extensions. Beta,
ExtensionServiceExtensionLoader Downloads extensions from Extension Service Beta,
ExtensionTool An Immediate Tool that starts the process of loading an iModel.js extension.
ExternalServerExtensionLoader Reads the extension from a plain server assuming that the extension is a set of files in a directory formatted as: Beta,
FitViewTool A tool that performs a fit view
FlyViewTool A tool that performs the fly operation
FormattedQuantityDescription Base Quantity Property Description Beta,
FrontendRequestContext Provides generic context for downstream server applications to get details of a request that
FuzzySearch
FuzzySearchResults This class is used to return the results of FuzzySearch.search.
GeometricModel2dState Represents the front-end state of a GeometricModel2d.
GeometricModel3dState Represents the front-end state of a GeometricModel3d.
GeometricModelState Represents the front-end state of a GeometricModel.
GraphicBranch A node in a scene graph.
GraphicBuilder Provides methods for constructing a RenderGraphic from geometric primitives.
HiliteSet A set of hilited elements for an IModelConnection, by element id. Beta,
HitDetail A HitDetail stores the result when locating geometry displayed in a view.
HitList The result of a "locate" is a sorted list of objects that satisfied the search criteria (a HitList).
IconSprites Icon sprites are loaded from .png files in the assets directory of imodeljs-native.
IdleTool The default "idle" tool.
IModelApp Global singleton that connects the user interface with the iModel.js services.
IModelConnection A connection to a IModelDb hosted on the backend.
IModelConnection.CodeSpecs The collection of CodeSpec entities for an IModelConnection.
IModelConnection.Elements The collection of Elements for an IModelConnection.
IModelConnection.Models The collection of loaded ModelState objects for an IModelConnection.
IModelConnection.Views The collection of views for an IModelConnection.
IModelRoutingContext Controls the RPC routing for an iModel connection.
InputCollector The InputCollector class can be used to implement a command for gathering input (ex.
InteractiveTool A Tool that may be installed, via ToolAdmin, to handle user input.
IntersectDetail
LengthDescription Length Property Description Beta,
LocateOptions Options that customize the way element location (i.e.
LocateResponse
LookAndMoveTool A tool that performs the walk operation using mouse+keyboard or touch controls Beta,
LookViewTool A tool that performs the look operation
MarginPercent Margins for white space to be left around view volumes for ViewState.lookAtVolume.
Marker A Marker is a CanvasDecoration, whose position follows a fixed location in world space.
MarkerSet A set of Markers that are logically related, such that they cluster when they overlap one another in screen space.
ModelSelectorState The state of a ModelSelector.
ModelState Represents the front-end state of a Model.
NotificationManager The NotificationManager controls the interaction with the user for prompts, error messages, and alert dialogs.
NotifyMessageDetails Describes a message to be displayed to the user.
OidcBrowserClient Utility to generate OIDC/OAuth tokens for Single Page Applications (running in the Browser) Beta,Deprecated,
OrthographicViewState Defines a spatial view that displays geometry on the image plane using a parallel orthographic projection.
PanViewTool The tool that performs a Pan view operation
PendingExtension Represents an Extension that we are attempting to load. Beta,
PhysicalModelState Represents the front-end state of a PhysicalModel.
PrimitiveTool The PrimitiveTool class can be used to implement tools to create or modify geometric elements.
RemoteBriefcaseConnection A connection to a BriefcaseDb hosted on a remote backend, and is typically used in web applications.
RenderClipVolume An opaque representation of a clip volume applied to geometry within a Viewport. Beta,
RenderContext Provides context for producing RenderGraphics for drawing within a Viewport.
RenderGraphic Abstract representation of an object which can be rendered by a RenderSystem.
RenderGraphicOwner A graphic that owns another graphic.
RenderSystem A RenderSystem provides access to resources used by the internal WebGL-based rendering system.
RotateViewTool A tool that performs a Rotate view operation
Scene Holds a collection of objects comprising a Viewport's scene. Beta,
SceneContext Context used to create the scene for a Viewport. Beta,
ScreenViewport An interactive Viewport that exists within an HTMLDivElement.
ScrollViewTool A tool that performs the scroll operation
SectionDrawingModelState Represents the front-end state of a SectionDrawingModel.
SelectionSet A set of currently selected elements for an IModelConnection.
SelectionTool Tool for picking a set of elements of interest, selected by the user.
SetupWalkCameraTool A tool that sets a walk tool starting position by a floor point and look direction. Beta,
SheetModelState Represents the front-end state of a SheetModel.
SheetViewState A view of a SheetModel.
SkyBox The SkyBox is part of an Environment drawn in the background of spatial views to provide context.
SkyBox.CreateParams Parameters used by the RenderSystem to instantiate a SkyBox.
SkyBox.SphereParams Parameters defining a spherical SkyBox.
SkyCube A SkyBox drawn as a cube with an image mapped to each of its interior faces.
SkyCube.CreateParams Parameters used by the RenderSystem to instantiate a SkyBox.
SkyCube.SphereParams Parameters defining a spherical SkyBox.
SkyGradient A SkyBox drawn as a sphere with a gradient mapped to its interior surface.
SkyGradient.CreateParams Parameters used by the RenderSystem to instantiate a SkyBox.
SkyGradient.SphereParams Parameters defining a spherical SkyBox.
SkySphere A SkyBox drawn as a sphere with an image mapped to its interior surface.
SkySphere.CreateParams Parameters used by the RenderSystem to instantiate a SkyBox.
SkySphere.SphereParams Parameters defining a spherical SkyBox.
SnapDetail A SnapDetail is generated from the result of IModelDb.requestSnap call.
SnapshotConnection A connection to a SnapshotDb hosted on the backend.
SnapshotConnection.CodeSpecs The collection of CodeSpec entities for an IModelConnection.
SnapshotConnection.Elements The collection of Elements for an IModelConnection.
SnapshotConnection.Models The collection of loaded ModelState objects for an IModelConnection.
SnapshotConnection.Views The collection of views for an IModelConnection.
SpatialClassifiers Exposes a list of classifiers that allow one ModelState to classify another SpatialModel or reality model. Beta,
SpatialLocationModelState Represents the front-end state of a SpatialLocationModel.
SpatialModelState Represents the front-end state of a SpatialModel.
SpatialViewState Defines a view of one or more SpatialModels.
Sprite Sprites are small raster images that are drawn on top of Viewports by a ViewDecoration.
SpriteLocation A Sprite location.
StandardView Supplies access to a set of commonly-used view rotations.
StandardViewTool A tool that rotates the view to one of the standard views.
SurveyLengthDescription Survey Length Property Description Beta,
TentativePoint
Tile A 3d tile within a TileTree. Beta,
TileDrawArgs Arguments used when selecting and drawing Tiles. Beta,
TileRequest Represents a pending or active request to load the contents of a Tile. Beta,Beta,
Tiles Provides access to TileTrees associated with an IModelConnection. Beta,
TileTree A hierarchical level-of-detail tree of 3d Tiles to be rendered in a Viewport. Beta,
TileTreeReference A reference to a TileTree suitable for drawing within a Viewport. Beta,
TileTreeSet A set of TileTrees, populated by a call to a discloseTileTrees function on an object like a Viewport, ViewState, or TileTreeReference. Beta,
TileUsageMarker A marker associated with a Tile to track usage of that tile by any number of viewports. Beta,
Tool A Tool that performs an action.
ToolAdmin Controls operation of Tools.
ToolAssistance Tool Assistance helper methods.
ToolRegistry The ToolRegistry holds a mapping between toolIds and their corresponding Tool class.
ToolSettings Settings that control the behavior of built-in tools.
TwoWayViewportSync Forms a 2-way connection between 2 Viewports of the same iModel, such that any change of the parameters in one will be reflected in the other. Beta,
ViewCreator2d Beta,
ViewCreator3d Beta,
ViewGlobeBirdTool A tool that views a location on the background map from a bird's eye perspective; the viewed location is derived from the position of the current camera's eye above the background map. Beta,
ViewGlobeIModelTool A tool that views the current iModel on the background map so that the extent of the project is visible. Beta,
ViewGlobeLocationTool A tool that views a location on the background map corresponding to a specified string. Beta,
ViewGlobeSatelliteTool A tool that views a location on the background map from a satellite's perspective; the viewed location is derived from the position of the current camera's eye above the background map. Beta,
ViewingSpace Describes a Viewport's viewing volume, plus its size on the screen. Beta,
ViewManager The ViewManager holds the list of opened views, plus the selected view.
ViewManip Base class for tools that manipulate the frustum of a Viewport.
Viewport A Viewport renders the contents of one or more Models onto an HTMLCanvasElement.
ViewPose The "pose" for a view.
ViewRect A rectangle in integer view coordinates with (0,0) corresponding to the top-left corner of the view.
ViewRedoTool A tool that performs view redo operation.
ViewState The front-end state of a ViewDefinition element.
ViewState2d Defines the state of a view of a single 2d model.
ViewState3d Defines the state of a view of 3d models.
ViewToggleCameraTool A tool that toggles the camera on/off in a spatial view
ViewTool An InteractiveTool that manipulates a view.
ViewUndoTool A tool that performs view undo operation.
WalkViewTool A tool that performs the walk operation
WindowAreaTool A tool that performs a Window-area view operation
ZoomViewTool A tool that performs the zoom operation

Enumerations

Name Description
ACSDisplayOptions
ACSType
ActivityMessageEndReason Reason for ending the activity message via endActivityMessage
BeButton
BeModifierKeys Numeric mask for a set of modifier keys (control, shift, and alt).
ChangeFlag Beta,
CoordinateLockOverrides
CoordSource The source that generated a coordinate.
CoordSystem Coordinate system types
EventHandled
FeatureOverrideType Options for overriding element appearance.
FrontendLoggerCategory Logger categories used by this package
GraphicType Describes the type of a GraphicBuilder, which defines the coordinate system in which the builder's geometry is defined and
HitDetailType
HitGeomType What was being tested to generate this hit.
HitParentGeomType Classification of GeometricPrimitive that generated the Hit.
HitPriority
HitSource The procedure that generated this Hit.
InputSource The source that generated an event.
KeyinParseError Possible errors resulting from ToolRegistry.parseKeyin. Beta,
LocateAction The possible actions for which a locate filter can be called.
LocateFilterStatus Values to return from a locate filter.
MessageBoxIconType Describes the icon displayed in a messagebox opened using NotificationManager.openMessageBox.
MessageBoxType Describes the set of buttons displayed in a message box opened using NotificationManager.openMessageBox.
MessageBoxValue Describes the possible return values produced when the user clicks a button in a messagebox opened using NotificationManager.openMessageBox.
OutputMessageAlert Describes the alert behavior of a NotifyMessageDetails.
OutputMessagePriority Classifies a NotifyMessageDetails by its level of importance.
OutputMessageType Describes the type and behavior of a NotifyMessageDetails.
ParseAndRunResult The result type of ToolRegistry.parseAndRun. Beta,
QuantityType Defines standard format types for tools that need to display measurements to user. Beta,
SelectionMethod The method for choosing elements with the SelectionTool
SelectionMode The mode for choosing elements with the SelectionTool
SelectionProcessing The processing method to use to update the current selection.
SelectionSetEventType Identifies the type of changes made to the SelectionSet to produce a SelectionSetEvent.
SnapHeat
SnapMode
SnapStatus
StandardViewId Describes a set of commonly-used view rotations.
StartOrResume
TileGraphicType Describes the type of graphics produced by a TileTreeReference. Beta,
TileLoadPriority Loosely describes the "importance" of a tile. Beta,
TileLoadStatus Describes the current status of a Tile's content. Beta,
TileTreeLoadStatus Describes the current state of a TileTree. Beta,
TileVisibility Describes the visibility of a tile based on its size and a view frustum. Beta,
ToolAssistanceImage Tool Assistance known images
ToolAssistanceInputMethod Input Method for Tool Assistance instruction
ViewStatus Describes the result of a viewing operation such as those exposed by ViewState and Viewport.
ViewUndoEvent Beta,

Global Functions

Name Description
canvasToImageBuffer Create an ImageBuffer in the specified format with the same dimensions and contents as a canvas.
canvasToResizedCanvasWithBars Resize a canvas to a desired size.
extractImageSourceDimensions Extract the dimensions of the jpeg or png data encoded in an ImageSource.
getCenteredViewRect Determine maximum ViewRect that can be fitted and centered in specified ViewRect given a required aspect ratio. Beta,
getCompressedJpegFromCanvas Produce a jpeg compressed to no more than specified bytes and of no less than specified quality. Beta,
getImageSourceFormatForMimeType Get the ImageSourceFormat corresponding to the mime type string, or undefined if the string does not identify a supported ImageSourceFormat.
getImageSourceMimeType Get a string describing the mime type associated with an ImageSource format.
imageBufferToBase64EncodedPng Converts the contents of an ImageBuffer to PNG format.
imageBufferToCanvas Create a canvas element with the same dimensions and contents as an image buffer.
imageBufferToPngDataUrl Produces a data url in "image/png" format from the contents of an ImageBuffer.
imageElementFromImageSource Extract an html Image element from a binary jpeg or png.
imageElementFromUrl Create an html Image element from a URL.
isIOidcFrontendClient IOidcFrontendClient type guard. Beta,Deprecated,
openImageDataUrlInNewWindow Open an image specified as a data URL in a new window/tab. Beta,
tryImageElementFromUrl Try to create an html Image element from a URL.

Interfaces

Name Description
Animator An object to animate a transition of a Viewport. Beta,
AppearanceOverrideProps JSON representation of an appearance override in an EmphasizeElementsProps.
BeButtonEventProps Properties for constructing a BeButtonEvent
BeTouchEventProps Properties for initializing a BeTouchEvent
BeWheelEventProps Properties for constructing a BeWheelEvent
BlankConnection.ViewSpec The id/name/class of a ViewDefinition.
BlankConnectionProps The properties for creating a Blank IModelConnection Beta,
BriefcaseConnection.ViewSpec The id/name/class of a ViewDefinition.
CanvasDecoration A Decoration that is drawn onto the
ChangeViewedModel2dOptions Options for changing the viewed Model of a 2d view via Viewport.changeViewedModel2d
Decorator Interface for drawing Decorations into, or on top of, the active ScreenViewports managed by ViewManager.
DepthRangeNpc The minimum and maximum values for the z-depth of a rectangle of screen space.
EmphasizeElementsProps JSON representation of an EmphasizeElements.
ExtensionAdminProps Describes configuration options to the ExtensionAdmin Beta,
ExtensionLoader Implement this interface, then register it using IModelApp.extensionAdmin.addExtensionLoader to load extensions from a different source. Beta,
ExtentLimits Describes the largest and smallest values allowed for the extents of a ViewState.
FeatureOverrideProvider An object that customizes the appearance of Features within a Viewport.
FrontendSecurityOptions Options that can be supplied with IModelAppOptions to customize frontend security.
FuzzySearchResult Interface implemented by objects returned while iterating through FuzzySearchResults
HitListHolder
IModelAppOptions Options that can be supplied to IModelApp.startup to customize frontend behavior.
IModelConnection.ViewSpec The id/name/class of a ViewDefinition.
IOidcFrontendClient Interface to implement a typical frontend client Beta,Deprecated,
MapLayerOptions Options to be passed to the IModelApp on startup which contain access keys for various layer formats Beta,
OidcFrontendClientConfiguration Client configuration to generate OIDC/OAuth tokens for browser applications Beta,Deprecated,
ParsedKeyin Successful result from ToolRegistry.parseKeyin. Beta,
ParseKeyinError Possible errors form ToolRegistry.parseKeyin. Beta,
RenderSystem.Options Options passed to IModelApp.supplyRenderSystem to configure the RenderSystem on startup. Beta,
RenderSystemDebugControl An interface optionally exposed by a RenderSystem that allows control of various debugging features. Beta,
RenderTargetDebugControl An interface optionally exposed by a RenderTarget that allows control of various debugging features. Beta,
SelectAddEvent Passed to SelectionSet.onChanged event listeners when elements are added to the selection set.
SelectedViewportChangedArgs Argument for ViewManager.onSelectedViewportChanged
SelectRemoveEvent Passed to SelectionSet.onChanged event listeners when elements are removed from the selection set.
SelectReplaceEvent Passed to SelectionSet.onChanged event listeners when elements are simultaneously added to and removed from the selection set.
SnapshotConnection.ViewSpec The id/name/class of a ViewDefinition.
TileContent Describes the contents of a Tile. Beta,
TiledGraphicsProvider Provides a way for applications to inject additional non-decorative graphics into a Viewport by supplying one or more TileTreeReferences capable of loading and drawing the graphics. Beta,
TileDrawArgParams Parameters used to construct TileDrawArgs Beta,
TileParams Parameters used to construct a Tile. Beta,
TileTreeDiscloser Interface adopted by an object that contains references to TileTrees, to expose those trees. Beta,
TileTreeOwner Owns and manages the lifecycle of a TileTree. Beta,
TileTreeParams Parameters used to construct a TileTree Beta,
TileTreeSupplier Interface adopted by an object which can supply a TileTree for rendering. Beta,
ToolAssistanceInstruction Interface used to describe a Tool Assistance instruction.
ToolAssistanceInstructions Interface used to describe Tool Assistance for a tool's state.
ToolAssistanceKeyboardInfo Tool Assistance image keyboard keys
ToolAssistanceSection Interface used to describe a Tool Assistance section with a label and a set of instructions.
ToolTipOptions Describes the behavior of a tooltip created using NotificationManager.openToolTip.
ViewAnimationOptions Options that control how an Viewport animation behaves.
ViewChangeOptions Options that control how operations that change a viewport behave.
ViewCreator2dOptions Beta,
ViewCreator3dOptions Beta,
ViewportDecorator Interface for drawing Decorations into, or on top of, a ScreenViewport.
ZoomToOptions Options to allow changing the view rotation with zoomTo methods.

Namespaces

Name Description
EditManipulator A manipulator maintains a set of controls used to modify element(s) or pickable decorations.
FeatureSymbology Contains types that enable an application to customize how Features are drawn within a Viewport.
Frustum2d Constants and functions for working with two-dimensions Frustums.
PerModelCategoryVisibility Allows the visibility of categories within a Viewport to be controlled on a per-ModelState basis. Beta,
Pixel Describes aspects of a pixel as read from a Viewport. Beta,

Type Aliases

Name Description
CanvasDecorationList An array of CanvasDecorations.
EventListener A function that can respond to events originating from an EventSource. Beta,
GraphicList An array of RenderGraphics.
MarkerFillStyle
MarkerImage The types that may be used for Markers
MarkerTextAlign
MarkerTextBaseline
ParseKeyinResult The result type of ToolRegistry.parseKeyin. Beta,
RemoveEventListener A function returned from EventSource.on that can be invoked to remove the EventListener. Beta,
SelectionSetEvent Payload sent to SelectionSet.onChanged event listeners to describe how the contents of the set have changed.
TileRequest.Response The type of a raw response to a request for tile content. Beta,
TileRequest.ResponseData The input to Tile.readContent, to be converted into a Tile.Content. Beta,
ToolList
ToolType

Last Updated: 10 November, 2020