Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/docs/core/visualization/3d.md is written in an unsupported language. File is not indexed.

0001 # 3D Visualization
0002 
0003 A very lightweight layer for visualizing ACTS geometry objects and event data model is provided within the Core component.
0004 ACTS does not provide a viewer per se, but instead it was chosen to plug a visitor that can then be used for visualizing the given objects.
0005 The visitor has to implement the `IVisualization3D` interface and can then straight forwardly used with the visualization helper structs.
0006 Two visualization helpers that implement industry standard 3D formats can be used from this component,
0007 but evidently any other visitor can be plugged in as long as it satisfies the `IVisualization` interface.
0008 
0009 The two provided visualization visitors are:
0010  * `ObjVisualization3D` writing the `.obj` format, and an associated `.mtl` file for the color and material definitions
0011  * `PlyVisualization3D` writing the `.ply` format, which contains already the color/material information
0012 
0013 ## Behind the scenes
0014 
0015 All display actions rely on the `Polyhedron` representation of Surfaces,
0016 i.e. each surface can be at least approximated by a list of vertices and a definition of faces connecting these vertices.
0017 As a special feature, the `Polyhedron` can be displayed as a triangulated mesh of surfaces, i.e. each surface is divided into triangles
0018 that build up the object to display.
0019 
0020 
0021 ## Convenience helper functions
0022 
0023 The visualization package also contains `static` helper functions for displaying complicated objects; these helper functions are provided by the `GeometryView3D` and `EventDataView3D` structs, that receive:
0024  * A visualization visitor
0025  * The object to be written
0026  * A geometry context where needed
0027  * Some view configuration, which is simply handled by the `ViewConfig` struct.
0028 
0029  The `ViewConfig` struct contains a number of parameters, such as the `visibility` flag, the RGB color definition of the object (or its contained objects),
0030  and some other view parameters that can be changed.
0031 
0032  The `Tests/UnitsTests/Core/Visualization` package contains a certain number of tests that produce output files to be visualized with any standard 3D viewer.
0033 
0034 Example of an angular error cone:
0035 
0036 :::{image} figures/AngularError.png
0037 :width: 800
0038 :alt: Display of an angular error.
0039 :::
0040 
0041 Example of a 2D cartesian error on a plane:
0042 
0043 :::{image} figures/CartesianError.png
0044 :width: 800
0045 :alt: Display of a cartesian error.
0046 :::
0047 
0048 Example of track parameters on a plane:
0049 
0050 :::{image} figures/Parameters.png
0051 :width: 800
0052 :alt: Display of a track parameter object.
0053 :::
0054 
0055 Example of a cylindrical layer with sensitive volumes and a surface grid:
0056 
0057 :::{image} figures/CylinderLayer.png
0058 :width: 800
0059 :alt: Display of a track parameter object.
0060 :::