File Polyhedron.hpp¶
-
namespace Acts
Set the Geometry Context PLUGIN.
Set the Calibration Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.
Set the Mangetic Field Context PLUGIN.
Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.
Currently implemented for the two most common formats: rz and xyz.
-
class Polyhedron
- #include <Acts/Geometry/Polyhedron.hpp>
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 theobjString
method to produce a ready-to-go obj output.Public Types
-
using FaceType = std::vector<size_t>
Public Functions
-
Polyhedron() = default
Default constructor.
-
inline 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.
Note
This creates copies of the input vectors
- Parameters
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 extent(const Transform3 &transform = Transform3::Identity()) const
Maximum extent of the polyhedron in space.
- Parameters
transform – An (optional) transform to apply to the vertices for estimation the extent with respect to a given coordinate frame
- Returns
ranges that describe the space taken by this surface
-
void merge(const Polyhedron &other)
Merge another Polyhedron into this one.
- Parameters
other – is the source representation
-
void move(const Transform3 &transform)
Move the polyhedron with a Transfrom3D.
- Parameters
transform – The additional transform applied
Public Members
-
bool exact = true
Is this an exact representation (approximating curved spaces)
-
std::vector<FaceType> faces
List of faces connecting the vertices.
each face is a list of vertices v corresponding to the vertex vector above
-
std::vector<FaceType> triangularMesh
List of faces connecting the vertices.
each face is a list of vertices v
in this case restricted to a triangular representation
-
std::vector<Vector3> vertices
List of 3D vertices as vectors.
-
using FaceType = std::vector<size_t>
-
class Polyhedron