visionforge/README.md

76 lines
2.3 KiB
Markdown
Raw Normal View History

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-02 15:18:26 +03:00
various scientific applications. Currently, the main application is 3D visualization for particle
physics experiments.
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
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`.