Visualization module for dataforge
Go to file
2020-01-31 13:42:58 +03:00
.github/workflows Raytracing and automatic highlight for JS back-end. Partial solution for #10 2020-01-03 22:12:12 +03:00
dataforge-vis-common Merge remote-tracking branch 'origin/dev' into dev 2020-01-03 22:12:59 +03:00
dataforge-vis-jsroot Moved to DF 0.1.4 2019-10-30 17:22:29 +03:00
dataforge-vis-spatial Implement Sphere.toGeometry #11 2020-01-31 13:42:58 +03:00
dataforge-vis-spatial-gdml Muon monitor full-stack 2019-12-30 17:14:42 +03:00
demo Merge branch 'dev' into doc 2020-01-30 09:59:40 +03:00
gradle/wrapper Update DataForge to 0.1.5-dev 2019-12-11 11:46:28 +03:00
wrappers Moved to DF 0.1.4 2019-10-30 16:39:01 +03:00
.gitattributes Create .gitattributes 2019-04-05 15:45:59 +03:00
.gitignore initial commit 2019-03-08 11:55:01 +03:00
build.gradle.kts Muon monitor full-stack 2019-12-30 17:14:42 +03:00
gradlew Update DataForge to 0.1.5-dev 2019-12-11 11:46:28 +03:00
gradlew.bat Separate modules for jsroot and gdml 2019-07-08 22:11:15 +03:00
LICENSE Geometry update 2019-07-14 22:08:15 +03:00
README.md Implement Sphere.toGeometry #11 2020-01-31 13:42:58 +03:00
settings.gradle.kts Muon monitor front-end demo 2019-12-26 22:21:10 +03:00

JetBrains Research

DataForge Visualisation Platform

This repository contains DataForge (also here) components useful for visualization in various scientific applications. The main application for now is 3D visualization for particle physics experiments. Other applications including 2D plots are planned for future.

The project is developed as a Kotlin multiplatform application, currently targeting browser JavaScript and JVM.

Main features:

  • 3D visualization of complex experimental set-ups
  • Event display such as particle tracks, etc.
  • Scales up to few hundred thousands of elements
  • Camera move, rotate, zoom-in and zoom-out
  • Object tree with property editor
  • Settings export and import
  • Multiple platform support

Modules contained in this repository:

dataforge-vis-common

Common visualisation objects such as VisualObject and VisualGroup.

dataforge-vis-spatial

Includes common description and serializers for 3D visualisation, JavaFX and Three.js implementations.

dataforge-vis-spatial-gdml

GDML bindings for 3D visualisation (to be moved to gdml project).

dataforge-vis-jsroot

Some JSROOT bindings.

Note: Currently, this part is experimental and put here for completeness. This module may not build.

demo

Several demonstrations of using the dataforge-vis framework:

spatial-showcase

Contains a simple demonstration (grid with a few shapes that you can rotate, move camera, etc.).

To see the demo: run demo/spatial-showcase/distribution/installJsDist Gradle task, then open build/distribuions/spatial-showcase-js-0.1.0-dev/index.html file in your browser.

Other demos can be built similarly.

muon-monitor

A full-stack application example, showing the Muon Monitor experiment set-up.

Includes server back-end generating events, as well as visualization front-end.

To run full-stack app (both server and browser front-end), run demo/muon-monitor/application/run task.

gdml

Visualization example for geometry defined as GDML file. Once you open Web application, drag-and-drop GDML file to the window to see visualization. For example file, use demo\gdml\src\jsMain\resources\cubes.gdml.