Class Polyhedron¶
Defined in File Polyhedron.hpp
Class Documentation¶
-
class
Acts
::
Polyhedron
¶ 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.
-
Polyhedron
(const std::vector<Vector3D> &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 objectfacesIn
: List of lists of indices for faces.triangularMeshIn
: List of lists of indices for a triangular meshisExact
: A dedicated flag if this is exact or not
-
Extent
extent
(const Transform3D &transform = Transform3D::Identity()) const¶ Maximum extent of the polyhedron in space.
- Return
ranges that describe the space taken by this surface
- Parameters
transform
: An (optional) transform to apply to the vertices for estimation the extent with respect to a given coordinate frame
-
void
merge
(const Polyhedron &other)¶ Merge another Polyhedron into this one.
- Parameters
other
: is the source representation
-
void
move
(const Transform3D &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
-
using