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 :::