2019-12-22 20:56:19 +03:00
|
|
|
[![JetBrains Research](https://jb.gg/badges/research.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
|
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
# DataForge Visualisation Platform
|
2019-07-10 11:49:21 +03:00
|
|
|
|
2019-10-09 18:26:14 +03:00
|
|
|
This repository contains [DataForge](http://npm.mipt.ru/dataforge/)
|
2019-10-06 21:29:04 +03:00
|
|
|
(also [here](https://github.com/mipt-npm/dataforge-core)) components useful for visualization in
|
2020-01-31 13:42:58 +03:00
|
|
|
various scientific applications. The main application for now is 3D visualization for particle
|
|
|
|
physics experiments. Other applications including 2D plots are planned for future.
|
2019-07-10 11:49:21 +03:00
|
|
|
|
2019-10-06 21:29:04 +03:00
|
|
|
The project is developed as a Kotlin multiplatform application, currently
|
|
|
|
targeting browser JavaScript and JVM.
|
2019-07-10 11:49:21 +03:00
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2019-10-06 21:29:04 +03:00
|
|
|
## Modules contained in this repository:
|
2019-07-10 11:49:21 +03:00
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
|
2019-10-06 21:29:04 +03:00
|
|
|
### dataforge-vis-common
|
|
|
|
|
|
|
|
Common visualisation objects such as VisualObject and VisualGroup.
|
|
|
|
|
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
### 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).
|
|
|
|
|
2019-10-06 21:29:04 +03:00
|
|
|
|
|
|
|
### dataforge-vis-jsroot
|
|
|
|
|
|
|
|
Some JSROOT bindings.
|
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
Note: Currently, this part is experimental and put here for completeness. This module may not build.
|
2019-10-06 21:29:04 +03:00
|
|
|
|
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
### demo
|
2019-10-06 21:29:04 +03:00
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
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](http://npm.mipt.ru/projects/physics.html#mounMonitor) experiment set-up.
|
2019-10-06 21:29:04 +03:00
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
Includes server back-end generating events, as well as visualization front-end.
|
2019-10-06 21:29:04 +03:00
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
To run full-stack app (both server and browser front-end), run
|
|
|
|
`demo/muon-monitor/application/run` task.
|
2019-10-06 21:29:04 +03:00
|
|
|
|
2020-01-02 15:18:26 +03:00
|
|
|
##### gdml
|
2019-07-10 11:49:21 +03:00
|
|
|
|
2020-01-02 16:24:52 +03:00
|
|
|
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`.
|