iTwin Platform APIs

Changed Elements
This sample demonstrates calling Changed Elements APIs to request and visualize the changes made between named versions.
Clash Review
Uses the validation REST api to get and visualize clash results.
iModels API Sample Application
This is a simple React based application that demonstrates iModel management workflow that can be achieved using iModels API.
Import and Copy Project Team Members
This sample demonstrates importing users into a project along with a list of project role assignments per user and copying project roles, users, and user project role assignments from one project to another.
This sample demonstrates calling Issues APIs to retrieve issue data and present in a viewer app.
Project API Sample App
An iTwin sample application that demonstrates how to create, query and update an iTwin Project using the Project API. It also demonstrates how to create a project role and add a user to the project with that role.
Sample synchronization portal application
This is a code sample application that demonstrates usage of Synchronization API at Bentley iTwin developer platform.
Storage API Sample App
An iTwin sample application that demonstrates how to create, query and update files with folders saved in the Storage.
This sample demonstrates how to use the Transformations API by displaying the changes in two viewports. The result of the transformation is being displayed side by side to the original.
This sample demonstrates calling Validation APIs to retrieve validation rules and the elements that violate them and present it for review in a viewer app.
Webhooks API sample application
Node.js (Express) application that shows the basic examples of consuming Webhooks API and reacting to iTwin Platform events.
Webhooks event polling sample application
Node.js (Express) application that can capture webhook events, store the events in Azure Queue and provide an API endpoint for event polling.

Viewer Features

Camera Path
Animates the camera along a path using setEyePoint. Also shows a tool to control the look direction using setupViewFromFrustum.
How to apply a classifier to a realitymodel. Also demonstrates how to adjust the display of classifier, in this case a spatial classifier
Display Styles
Emphasize Elements
How to emphasize, hide, isolate, and override the color of elements using the EmphasizeElements API.
Exploded View
Heatmap Decorator
Uses a Decorator to show a heatmap as a WorldOverlay on top of the viewport.
Image Export
Exports visible viewport of iModel as PNG image. ImageExport
IoT Alerts
How to simulate out-of-bound condition from a sensor and trigger IotAlert, blinking effect
Marker Pins
Uses a Decorator and a MarkerSet to display markers that indicate important locations in a model.
Multiple Viewports
Particle Effect (Fire)
Creates an fire effect using particles Decorator.
Particle Effect (Snow & Rain)
Property Formatting
Uses the Presentation API to display element properties.
Screen-space Effects
Serialize View
How to serialize, deserialize and load a viewstate from JSON.
Shadow Study
Sample showing how to adjust the solar lighting by using setSunTime.
Swiping Comparison
Compare models and reality data using a clip and a TileGraphicsProvider in a single viewport.
Thematic Display
Renders using thematic display by changing the styles.
Tooltip Customize
Shows customized element tooltips by supplying a ToolAdmin that overrides the getToolTip method.
View Clipping
How to add a ClipVolume, ClipPlane, and ViewClipDecorationProvider to a view to clip the geometry
Volume Query
Query SpatialElements using SpatialQueries. Elements are classified using getGeometryContainment. To color and represent elements EmphasizeElements and PresentationLabelsProvider are being used.
Zoom to Elements
Uses zoomToElement, ZoomToOptions, and ViewChangeOptions to center the view on element(s) of interest.

UI Components

UI Trees

Geometry Samples