34#ifndef G4CLIPPABLEPOLYGON_HH
35#define G4CLIPPABLEPOLYGON_HH
53 using G4ThreeVectorList = std::vector<G4ThreeVector>;
90 const EAxis IgnoreMe );
160 void ClipToSimpleLimits( G4ThreeVectorList& pPolygon,
161 G4ThreeVectorList& outputPolygon,
166 G4ThreeVectorList vertices;
171#include "G4ClippablePolygon.icc"
CLHEP::Hep3Vector G4ThreeVector
G4bool GetPlanerExtent(const G4ThreeVector &pointOnPlane, const G4ThreeVector &planeNormal, G4double &min, G4double &max) const
G4bool Clip(const G4VoxelLimits &voxelLimit)
~G4ClippablePolygon()=default
G4bool PartialClip(const G4VoxelLimits &voxelLimit, const EAxis IgnoreMe)
void AddVertexInOrder(const G4ThreeVector &vertex)
std::size_t GetNumVertices() const
const G4ThreeVector * GetMinPoint(const EAxis axis) const
G4bool GetExtent(const EAxis axis, G4double &min, G4double &max) const
void ClipAlongOneAxis(const G4VoxelLimits &voxelLimit, const EAxis axis)
G4bool InFrontOf(const G4ClippablePolygon &other, EAxis axis) const
G4bool BehindOf(const G4ClippablePolygon &other, EAxis axis) const
const G4ThreeVector GetNormal() const
void SetNormal(const G4ThreeVector &newNormal)
const G4ThreeVector * GetMaxPoint(const EAxis axis) const
G4VoxelLimits represents limitation/restrictions of space, where restrictions are only made perpendic...
const axis_t axis_to_type< N >::axis