|
ACTS
Experiment-independent tracking
|
Struct which contains a cartesian approximation for any surface type. More...
#include <Acts/Geometry/Polyhedron.hpp>
Public Types | |
| using | FaceType = std::vector<std::size_t> |
| Type alias for face definition as vertex indices. | |
Public Member Functions | |
| Polyhedron ()=default | |
| Default constructor. | |
| Polyhedron (const std::vector< Vector3 > &verticesIn, const std::vector< FaceType > &facesIn, const std::vector< FaceType > &triangularMeshIn, bool isExact=true) | |
| Default constructor from a vector of vertices and a vector of faces. | |
| Extent | extent (const Transform3 &transform=Transform3::Identity()) const |
| Maximum extent of the polyhedron in space. | |
| void | merge (const Polyhedron &other) |
| Merge another Polyhedron into this one. | |
| void | move (const Transform3 &transform) |
| Move the polyhedron with a Transfrom3D. | |
| void | visualize (IVisualization3D &helper, const ViewConfig &viewConfig={}) const |
| Visualize the polyhedron using a visualization helper. | |
Public Attributes | |
| bool | exact = true |
| Is this an exact representation (approximating curved spaces). | |
| std::vector< FaceType > | faces |
| List of faces connecting the vertices. | |
| std::vector< FaceType > | triangularMesh |
| List of faces connecting the vertices. | |
| std::vector< Vector3 > | vertices |
| List of 3D vertices as vectors. | |
Struct which contains a cartesian approximation for any surface type.
It contains a list of cartesian vertices in the global frame, and additionally a list of lists of indices which indicate which vertices form a face. Each entry in faces is a face, which is in turn a list of vertices that need to be connected to form a face. This allows the objString method to produce a ready-to-go obj output.
| using Acts::Polyhedron::FaceType = std::vector<std::size_t> |
Type alias for face definition as vertex indices.
|
default |
Default constructor.
| Acts::Polyhedron::Polyhedron | ( | const std::vector< Vector3 > & | verticesIn, |
| const std::vector< FaceType > & | facesIn, | ||
| const std::vector< FaceType > & | triangularMeshIn, | ||
| bool | isExact = true ) |
Default constructor from a vector of vertices and a vector of faces.
| verticesIn | The 3D global vertices that make up the object |
| facesIn | List of lists of indices for faces. |
| triangularMeshIn | List of lists of indices for a triangular mesh |
| isExact | A dedicated flag if this is exact or not |
| Extent Acts::Polyhedron::extent | ( | const Transform3 & | transform = Transform3::Identity() | ) | const |
Maximum extent of the polyhedron in space.
| transform | An (optional) transform to apply to the vertices for estimation the extent with respect to a given coordinate frame |
| void Acts::Polyhedron::merge | ( | const Polyhedron & | other | ) |
Merge another Polyhedron into this one.
| other | is the source representation |
| void Acts::Polyhedron::move | ( | const Transform3 & | transform | ) |
Move the polyhedron with a Transfrom3D.
| transform | The additional transform applied |
| void Acts::Polyhedron::visualize | ( | IVisualization3D & | helper, |
| const ViewConfig & | viewConfig = {} ) const |
Visualize the polyhedron using a visualization helper.
| helper | The visualization interface to use for rendering |
| viewConfig | Configuration options for visualization appearance |
| bool Acts::Polyhedron::exact = true |
Is this an exact representation (approximating curved spaces).
| std::vector<FaceType> Acts::Polyhedron::faces |
List of faces connecting the vertices.
each face is a list of vertices v corresponding to the vertex vector above
| std::vector<FaceType> Acts::Polyhedron::triangularMesh |
List of faces connecting the vertices.
each face is a list of vertices v
| std::vector<Vector3> Acts::Polyhedron::vertices |
List of 3D vertices as vectors.