Name Description
AccuDraw Accudraw is an aide for entering coordinate data.
AccuDrawHintBuilder AccuDrawHintBuilder is a Tool helper class that facilitates AccuDraw interaction.
AccuDrawShortcuts A shortcut may require no user input (immediate) or it may install a viewing tool.Tool implementors should not use
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.
AnimationBranchState Clip/Transform for a branch that are varied over time.
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
BeTouchEvent Specialization of ButtonEvent for touch input.
BeWheelEvent Information about movement of the mouse wheel.
CategorySelectorState A set of Categories to be displayed in a ViewState.
Cluster A cluster of one or more Markers that overlap one another in the view.
ConversionData Class that implements the minimum UnitConversion interface to provide information needed to convert unit values.
DecorateContext Provides context for a Decorator to add Decorations to be rendered within a Viewport.
DecorationAnimator A ViewportAnimator that animates decorations.
Decorations A set of RenderGraphics and CanvasDecorations produced by Tools and Decorators, used to decorate the contents of a Viewport.
DepthRangeNpc The minimum and maximum values for the z-depth of a rectangle of screen space.
DisplayStyle2dState A DisplayStyle for 2d views
DisplayStyle3dState A {{DisplayStyle]] for 3d 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 FeatureOverrideProvider for emphasizing selected elements through simple color/transparency appearance overrides.
EntityState The "state" of an Entity as represented in a web browser.
Environment Describes the SkyBox and GroundPlane associated with a DisplayStyle3dState.
EventController An EventController maps user input events from the canvas of a Viewport to the ToolAdmin so that tools can process them.
FenceParams Class for finding elements that are inside or overlap a volume defined by an
FitViewTool A tool that performs a fit view
FlyViewTool A tool that performs the fly operation
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.
GeoServices The Geographic Services available for an IModelConnection.
GraphicBranch A node in a scene graph.
GraphicBuilder Provides methods for constructing a RenderGraphic from geometric primitives.
HilitedSet A set of hilited elements for an IModelConnection, by element id.
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 Creates an Application to show an iModel in a web browser.
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.
LocateOptions Options that customize the way element location (i.e.
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.
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 frontend applications
OidcIOSClient Utility to provide OIDC/OAuth tokens from native ios app to frontend
OrthographicViewState Defines a spatial view that displays geometry on the image plane using a parallel orthographic projection.
PackedFeatureTable An immutable, packed representation of a FeatureTable.
PanViewTool The tool that performs a Pan view operation
Plugin Base Plugin class for writing a demand-loaded module.
PluginAdmin Controls loading of Plugins and calls methods on newly loaded or reloaded Plugins
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
QuantityFormatter Formats quantity values into strings.
RenderClipVolume An opaque representation of a clip volume applied to geometry within a Viewport.
RenderContext Provides context for producing RenderGraphics for drawing within a Viewport.
RenderGraphic Abstract representation of an object which can be rendered by a RenderSystem.
RenderSystem A RenderSystem provides access to resources used by the internal WebGL-based rendering system.
RenderTarget A RenderTarget connects a Viewport to a WebGLRenderingContext to enable the viewport's contents to be displayed on the screen.
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.
SheetBorder Describes the geometry and styling of a sheet border decoration.
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.
SkyCube A SkyBox drawn as a cube with an image mapped to each of its interior faces.
SkyGradient ###TODO Document me...
SkySphere A SkyBox drawn as a sphere with an image mapped to its interior surface.
SnapDetail A SnapDetail is generated from the result of IModelDb.requestSnap call.
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.
Tool Base Tool class for writing an immediate tool that executes it's assigned task immediately without further input.
ToolAdmin Controls operation of Tools.
ToolRegistry The ToolRegistry holds a mapping between toolIds and their corresponding Tool class.
ToolSettings Settings that control the behavior of built-in tools.
ToolSettingsPropertyRecord Property Record to specify an editor in Tool Settings zone.
ToolSettingsPropertySyncItem Class used to identify a specific ToolSettings property value.
ToolSettingsValue Primitive ToolSettings Value.
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.
Unit Class that implements the UnitProps interface so that it can be used by the UnitProvider to retrieve unit information.
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.
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).
ClippingType Describes the type of a RenderClipVolume.
ClipResult Helps determine the action ModifyAgenda will take on the agenda elements after calling doFenceClip.
CoordSource The source that generated a coordinate.
CoordSystem Coordinate system types
ElemMethod The method that will be used to update the tool's ElementAgenda.
ElemSource The requested source for the elements to modify.
ErrorNums ElemSource specific failures.
FeatureOverrideType Whether override includes both color and alpha, only color, or only alpha.
FenceClipMode The fence clip mode controls element acceptance criteria.
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.
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 messagebox 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 Enumeration for Property Editor Param Types
PropertyValueFormat Enumeration for Format of the property value.
QuantityType Defines standard format types for tools that need to display measurements to user.
RelativePosition Relative Position for setPointerTypeDetails
RemoveMe Status for ViewportAnimator.animate.
SelectEventType event types for SelectionSet.onChanged
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.
SelectOptions The selection options to display in the tool settings.
StandardViewId Describes a set of commonly-used view rotations.
UsesDragSelect Should ElemSource::Pick allow a drag select to identify elements.
UsesFence Should the active fence be used, required, or ignored as a possible ElemSource.
UsesSelection Should the active selection set be used, required, or ignored as a possible ElemSource.
ViewStatus Describes the result of a viewing operation such as those exposed by ViewState and Viewport.

Global Functions

Name Description
extractImageSourceDimensions Extract the dimensions of the jpeg or png data encoded in an ImageSource.
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.
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.


Name Description
ArrayValue Array property value
BasePropertyEditorParams Base interface for Property Editor Params
BasePropertyValue Base interface for a property value
ButtonGroupEditorParams Parameters used by EnumButtonGroupEditor to define icons in button group.
CanvasDecoration A Decoration)] that is drawn onto the
CheckBoxIconsEditorParams Parameters used with boolean properties to indicate icon overrides.
Decorator Interface for drawing "decorations" into, or on top of, the active Viewports.
EditorPosition Interface used to identify the location of the UI control to manipulate a ToolSettings property value.
EnumerationChoice Information about an enumeration choice
EnumerationChoicesInfo Information about a set of enumeration choices
FeatureOverrideProvider An object which 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.
IconEditorParams Parameters used to display an icon next to property editor.
IModelConnection.ViewSpec The id/name/class of a ViewDefinition.
InputEditorSizeParams Parameters used by PropertyEditors that use HTML element.
InstancedGraphicParams Parameters for creating a RenderGraphic representing a collection of instances of shared geometry.
JsonEditorParams Parameters used by PropertyEditors that support JSON.
LinkElementsInfo Properties for the PropertyRecord with link info supplied
MultilineTextEditorParams Parameter that is used to indicate that a multiline text editor should be created.
PrimitiveValue Primitive property value
PropertyDescription PropertyDescription contains metadata about a Property
PropertyEditorInfo Information about a Property Editor
RangeEditorParams Parameters used by PropertyEditors that support defining a minimum and maximum value.
SelectedViewportChangedArgs Argument for ViewManager.onSelectedViewportChanged
SliderEditorParams Parameters used to indicate that a Slider should be presented for the property
StructValue Struct property value
SuppressLabelEditorParams Parameters used to suppress the label for a type editor in the ToolSettings widget.
SuppressUnitLabelEditorParams Parameter used to suppress Unit labels
TextureImage Describes a texture loaded from an HTMLImageElement
ToolTipOptions Describes the behavior of a tooltip created using NotificationManager.openToolTip.
ViewChangeOptions Options that control how operations that change a view work.
ViewportAnimator An object to animate a transition of a Viewport.
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 FeatureSymbology.Features are drawn within a Viewport.
GltfTileIO Provides facilities for deserializing tiles in the glTF tile format.
Pixel Describes aspects of a pixel as read from a Viewport.
TileIO Provides facilities for deserializing 3d tiles

Type Aliases

Name Description
AnimationBranchStates Mapping from node/branch IDs to animation branch state
CanvasDecorationList An array of CanvasDecorations
GraphicList An array of RenderGraphics.
MarkerImage The types that may be used
PropertyEditorParams Type definition for all Property Editor params
PropertyValue Type for all property values

Last Updated: 19 February, 2019