![]() |
EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Core/include/Acts/Geometry/Polyhedron.hpp>
Collaboration diagram for Acts::Polyhedron:Public Types | |
| using | FaceType = std::vector< size_t > |
Public Member Functions | |
| Polyhedron ()=default | |
| Default constructor. | |
| Polyhedron (const std::vector< Vector3D > &verticesIn, const std::vector< FaceType > &facesIn, const std::vector< FaceType > &triangularMeshIn, bool isExact=true) | |
| void | merge (const Polyhedron &other) |
| void | move (const Transform3D &transform) |
| Extent | extent (const Transform3D &transform=Transform3D::Identity()) const |
Public Attributes | |
| std::vector< Vector3D > | vertices |
| List of 3D vertices as vectors. | |
| std::vector< FaceType > | faces |
| std::vector< FaceType > | triangularMesh |
| bool | exact = true |
| Is this an exact representation (approximating curved spaces) | |
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.
Definition at line 31 of file Polyhedron.hpp.
View newest version in sPHENIX GitHub at line 31 of file Polyhedron.hpp
| using Acts::Polyhedron::FaceType = std::vector<size_t> |
Definition at line 32 of file Polyhedron.hpp.
View newest version in sPHENIX GitHub at line 32 of file Polyhedron.hpp
|
default |
Default constructor.
|
inline |
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 |
Definition at line 43 of file Polyhedron.hpp.
View newest version in sPHENIX GitHub at line 43 of file Polyhedron.hpp
| Acts::Extent Acts::Polyhedron::extent | ( | const Transform3D & | transform = Transform3D::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 |
Definition at line 39 of file Polyhedron.cpp.
View newest version in sPHENIX GitHub at line 39 of file Polyhedron.cpp
References Acts::binPhi, Acts::binR, Acts::binZ, Acts::Extent::check(), Acts::UnitConstants::e, Acts::detail::VerticesHelper::isInsidePolygon(), Acts::IntegrationTest::L, M_PI, max, Acts::Extent::medium(), min, Acts::detail::VerticesHelper::onHyperPlane(), Acts::Test::origin(), Acts::Extent::ranges, Acts::Test::transform, and v.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::SurfaceBinningMatcher::operator()().
Here is the call graph for this function:
Here is the caller graph for this function:| void Acts::Polyhedron::merge | ( | const Polyhedron & | other | ) |
Merge another Polyhedron into this one
| other | is the source representation |
Add the new faces with offsets
Definition at line 16 of file Polyhedron.cpp.
View newest version in sPHENIX GitHub at line 16 of file Polyhedron.cpp
References faces, Acts::Test::transform, triangularMesh, vertices, and x.
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
Here is the caller graph for this function:| void Acts::Polyhedron::move | ( | const Transform3D & | transform | ) |
Move the polyhedron with a Transfrom3D
| transform | The additional transform applied |
Definition at line 34 of file Polyhedron.cpp.
View newest version in sPHENIX GitHub at line 34 of file Polyhedron.cpp
References v.
Referenced by Acts::GeometryView3D::drawSurface(), pygaga(), pyptfs(), pyrget(), pyrset(), rluget(), and rluset().
Here is the caller graph for this function:| bool Acts::Polyhedron::exact = true |
Is this an exact representation (approximating curved spaces)
Definition at line 65 of file Polyhedron.hpp.
View newest version in sPHENIX GitHub at line 65 of file Polyhedron.hpp
| 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
Definition at line 57 of file Polyhedron.hpp.
View newest version in sPHENIX GitHub at line 57 of file Polyhedron.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::GeometryView3D::drawPolyhedron(), and merge().
| std::vector<FaceType> Acts::Polyhedron::triangularMesh |
List of faces connecting the vertices. each face is a list of vertices v
Definition at line 62 of file Polyhedron.hpp.
View newest version in sPHENIX GitHub at line 62 of file Polyhedron.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::GeometryView3D::drawPolyhedron(), and merge().
| std::vector<Vector3D> Acts::Polyhedron::vertices |
List of 3D vertices as vectors.
Definition at line 52 of file Polyhedron.hpp.
View newest version in sPHENIX GitHub at line 52 of file Polyhedron.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::GeometryView3D::drawPolyhedron(), merge(), and Acts::PlaneSurface::polyhedronRepresentation().