43#ifndef G4ClippablePolygon_hh
44#define G4ClippablePolygon_hh
57 typedef std::vector<G4ThreeVector> G4ThreeVectorList;
74 const EAxis IgnoreMe );
113 G4ThreeVectorList& outputPolygon,
126#include "G4ClippablePolygon.icc"
virtual G4bool GetPlanerExtent(const G4ThreeVector &pointOnPlane, const G4ThreeVector &planeNormal, G4double &min, G4double &max) const
virtual G4bool Clip(const G4VoxelLimits &voxelLimit)
virtual G4bool PartialClip(const G4VoxelLimits &voxelLimit, const EAxis IgnoreMe)
G4ThreeVectorList vertices
void ClipToSimpleLimits(G4ThreeVectorList &pPolygon, G4ThreeVectorList &outputPolygon, const G4VoxelLimits &pVoxelLimit)
virtual const G4ThreeVector * GetMinPoint(const EAxis axis) const
virtual ~G4ClippablePolygon()
G4int GetNumVertices() const
virtual void AddVertexInOrder(const G4ThreeVector vertex)
virtual G4bool GetExtent(const EAxis axis, G4double &min, G4double &max) const
virtual void ClearAllVertices()
virtual void ClipAlongOneAxis(const G4VoxelLimits &voxelLimit, const EAxis axis)
virtual G4bool InFrontOf(const G4ClippablePolygon &other, EAxis axis) const
virtual G4bool BehindOf(const G4ClippablePolygon &other, EAxis axis) const
const G4ThreeVector GetNormal() const
void SetNormal(const G4ThreeVector &newNormal)
virtual const G4ThreeVector * GetMaxPoint(const EAxis axis) const