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.
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
BaseQuantityDescription Base Quantity Property Description Beta
BeButtonEvent Object sent to Tools that holds information about button/touch/wheel events.
BeTouchEvent A ButtonEvent generated by touch input.
BeWheelEvent A BeButtonEvent generated by movement of a mouse wheel.
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.
DecorateContext Provides context for a Decorator 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.
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. Beta
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.
FitViewTool A tool that performs a fit view
FlyViewTool A tool that performs the fly operation
FrontendRequestContext Provides generic context for downstream server applications to get details of a request that
FuzzySearchResults This class is used to return the results of
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.
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 an iModel database 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.
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.
LengthDescription Length Property Description Beta
LocateOptions Options that customize the way element location (i.e.
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
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
PhysicalModelState Represents the front-end state of a PhysicalModel.
Plugin Base Plugin class for writing a demand-loaded module. Beta
PluginAdmin Controls loading of Plugins and calls methods on newly loaded or reloaded Plugins Beta
PluginTool An Immediate Tool that starts the process of loading an iModelJs plugin.
PrimitiveTool The PrimitiveTool class can be used to implement tools to create or modify geometric elements.
PropertyRecord PropertyRecord contains instance information about a Property, including a Beta
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
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.
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.
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
Tool A Tool that performs an action.
ToolAdmin Controls operation of Tools.
ToolAssistance Tool Assistance helper methods. Beta
ToolRegistry The ToolRegistry holds a mapping between toolIds and their corresponding Tool class.
ToolSettings Settings that control the behavior of built-in tools.
ToolSettingsPropertyItem Class used to identify a specific ToolSettings property value. Beta
ToolSettingsPropertyRecord Property Record to specify an editor in Tool Settings zone. Beta
ToolSettingsPropertySyncItem Class used to identify a specific ToolSettings property value that can be enabled/disabled in UI. Beta
ToolSettingsValue Primitive ToolSettings Value. 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


Name Description
ActivityMessageEndReason Reason for ending the activity message via endActivityMessage
BeModifierKeys Numeric mask for a set of modifier keys (control, shift, and alt).
ChangeFlag Beta
ClippingType Describes the type of a RenderClipVolume. Beta
CoordSource The source that generated a coordinate.
CoordSystem Coordinate system types
FeatureOverrideType Whether override includes both color and alpha, only color, or only alpha. Beta
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
GridOrientationType Describes the orientation of the grid displayed within a Viewport. Deprecated
HitGeomType What was being tested to generate this hit.
HitParentGeomType Classification of GeometricPrimitive that generated the Hit.
HitSource The procedure that generated this Hit.
InputSource The source that generated an event.
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.
PropertyEditorParamTypes Enum for Property Editor Param Types Beta
PropertyValueFormat Enumeration for Format of the property value. Beta
QuantityType Defines standard format types for tools that need to display measurements to user. Beta
RelativePosition Relative Position for setPointerTypeDetails. Deprecated
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.
StandardViewId Describes a set of commonly-used view rotations.
ToolAssistanceImage Tool Assistance known images Beta
ToolAssistanceInputMethod Input Method for Tool Assistance instruction Beta
ViewStatus Describes the result of a viewing operation such as those exposed by ViewState and Viewport.
ViewUndoEvent Beta
WebGLFeature Describes the required and optional WebGL features used by the RenderSystem. Beta
WebGLRenderCompatibilityStatus Describes the state of render compatibility. Beta

Global Functions

Name Description
calculateSolarAngles Beta
calculateSolarDirection Beta
calculateSunriseOrSunset Beta
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.
openImageDataUrlInNewWindow Open an image specified as a data URL in a new window/tab. Beta


Name Description
Animator An object to animate a transition of a Viewport. Beta
AppearanceOverrideProps Beta
ArrayValue Array property value Beta
BasePropertyEditorParams Base interface for Property Editor Params Beta
BasePropertyValue Base interface for a property value Beta
BeButtonEventProps Properties for constructing a BeButtonEvent
BeTouchEventProps Properties for initializing a BeTouchEvent
BeWheelEventProps Properties for constructing a BeWheelEvent
BlankConnectionProps The properties for creating a Blank IModelConnection Beta
ButtonGroupEditorParams Parameters used by EnumButtonGroupEditor to define icons in button group. Beta
CanvasDecoration A Decoration that is drawn onto the
ChangeViewedModel2dOptions Options for changing the viewed Model of a 2d view via Viewport.changeViewedModel2d
ColorEditorParams Parameters used to populate color type editor with a specific set of colors. Beta
CustomFormattedNumberParams Parameters used with properties that want to control parsing and formatting. Beta
Decorator Interface for drawing "decorations" into, or on top of, the active Viewports.
DepthRangeNpc The minimum and maximum values for the z-depth of a rectangle of screen space.
EditorPosition Interface used to identify the location of the UI control to manipulate a ToolSettings property value. Beta
EmphasizeElementsProps Beta
EnumerationChoice Information about an enumeration choice Beta
EnumerationChoicesInfo Information about a set of enumeration choices 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.
FuzzySearchResult Interface implemented by objects returned while iterating through FuzzySearchResults
IconDefinition Information about an icon displayed next to a property editor. Beta
IconEditorParams Parameters used to display an icon next to property editor. Beta
IconListEditorParams Parameters used to populate icon type editor with a specific set of icons. Beta
IModelAppOptions Options that can be supplied to IModelApp.startup to customize frontend behavior.
IModelConnection.ViewSpec The id/name/class of a ViewDefinition.
InputEditorSizeParams Parameters used by PropertyEditors that use HTML element. Beta
LinkElementsInfo Properties for the PropertyRecord with link info supplied Beta
ParseResults defines Results of parsing a string input by a user into its desired value type Beta
PrimitiveValue Primitive property value Beta
PropertyDescription PropertyDescription contains metadata about a Property Beta
PropertyEditorInfo Information about a Property Editor 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.
StructValue Struct property value Beta
SuppressLabelEditorParams Parameters used to suppress the label for a type editor in the ToolSettings widget. Beta
ToolAssistanceInstruction Interface used to describe a Tool Assistance instruction. Beta
ToolAssistanceInstructions Interface used to describe Tool Assistance for a tool's state. Beta
ToolAssistanceKeyboardInfo Tool Assistance image keyboard keys Beta
ToolAssistanceSection Interface used to describe a Tool Assistance section with a label and a set of instructions. Beta
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.
WebGLRenderCompatibilityInfo WebGL rendering compatibility information returned by IModelApp.queryRenderCompatibility. Beta
ZoomToOptions Options to allow changing the view rotation with zoomTo methods.


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.
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
Primitives Primitive Property Value Types. Beta

Type Aliases

Name Description
CanvasDecorationList An array of CanvasDecorations.
GraphicList An array of RenderGraphics.
MarkerImage The types that may be used for Markers
PluginLoadResults Returns Plugin load results Beta
PropertyEditorParams Type definition for Property Editor params Beta
PropertyValue Type for all property values Beta
SelectionSetEvent Payload sent to SelectionSet.onChanged event listeners to describe how the contents of the set have changed.

Last Updated: 05 June, 2020