iTwin Platform APIs

Changed Elements
Compare ChangedElements between Version and colorizing them by operation.
Clash Review
Uses the validation REST api to get and visualize clash results.
Grouping Mapping Widget
Demonstrates iTwin Grouping & Mapping Widget with in-memory database
iModels API Sample Application
This is a simple React based application that demonstrates iModel management workflow that can be achieved using iModels API.
iModels OData
Access iModel data using OData interface
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.
Uses issues REST API to retrieve issues associated with project and display them.
iTwin API Sample App
An iTwin sample application that demonstrates how to create, query and update an iTwins using the iTwin API.
Library API Sample App
An iTwin sample application that demonstrates how to create, upload and query components in a catalog.
Mesh Export
Use the Mesh Export API to create GLTF files from the visible iModel elements in a viewport.
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.
Request and visualize the data in an insights report of iModel
Reporting API sample Console application
This is a simple command line app that illustrates the workflow of configuring a report using the Reporting platform APIs.
Saved Views
Uses the REST api to store, share, organize, and retrieve saved views.
Storage API Sample App
An iTwin sample application that demonstrates how to create, query and update files with folders saved in the Storage.
Synchronization Sample Using Manifest Connections
Sample portal that demonstrates synchronization workflow using the Manifest connections API.
Synchronization Sample Using Storage Connections
Sample portal that demonstrates synchronization workflow using the Storage connections API.
How use the Transformations API to transform an iModel into another, and display them.
Uses the validation REST API.
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

This sample demonstrates how to implement viewport images, single background colors with transparency, and 2 and 4 color sky gradients. background color transparency skybox image
Camera Path
Animates the camera along a path using setEyePoint. Also shows a tool to control the look direction using setupViewFromFrustum.
Camera Visualizer
Visualize the camera frustum by using multi-viewport setup. Also shows a tool to modify the view.
Car Particle Effect
Creates an traffic visualization from OpenStreetMap data and a Decorator using particles.
How to apply a classifier to a realitymodel. Also demonstrates how to adjust the display of classifier, in this case a spatial classifier
This sample demonstrates how to implement basic cross-probing between 2D and 3D elements given an iModel of a Plant
Display Styles
Customize the appearance of a 3d viewport using Display Styles
Emphasize Elements
How to emphasize, hide, isolate, and override the color of elements using the EmphasizeElements API.
Exploded View
Uses a TileTree to create an explode effect in the viewport.
Fire Particle Effect
Creates an fire effect using particles Decorator.
Heatmap Decorator
Uses a Decorator to show a heatmap as a WorldOverlay on top of the viewport.
Navigate between 2d and 3d views using hyper-modeling
Image Export
Exports visible viewport of iModel as PNG image. ImageExport
Image Manipulator
Resize, rotate, and change the transparency of images in the viewer!
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
Demonstrates displaying two viewports showing the same 3d model
Place glTF
Demonstrates way to place glTF on viewport using AccuDraw and PrimitiveTool
Road Network Decoration
Viszualizes a road network by combining OpenStreetMap data with a Decorator
Scientific Visualization
Shows scientific visualization and animation
Screen-space Effects
Demonstrates how to create and apply screen-space effects to a viewport
Selection Scope - Geometric Elements
Allows you to explore how SelectionScope works. Using an element id and various scopes, calculate what Geometric Element(s) would be selected/highlighted using Presentation and HiliteSetProvider.
Serialize View
How to serialize, deserialize and load a viewstate from JSON.
Shadow Study
Shows how to adjust the solar lighting by using setSunTime
Snow and Rain Particle Effect
Creates a snow overlay using particles Decorator.
Stadium Section Viewer
Select a section and check the view of stadium from selected section.
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.

Geometry Samples

UI Trees