42#ifndef G4BOUNDINGENVELOPE_HH
43#define G4BOUNDINGENVELOPE_HH
73 const std::vector<const G4ThreeVectorList*>& polygons);
97 void CheckBoundingBox();
100 void CheckBoundingPolygons();
107 std::vector<G4Point3D>& pVertices,
108 std::vector<std::pair<G4int,G4int>>& pBases)
const;
118 std::vector<G4Segment3D>& pEdges)
const;
123 std::vector<G4Plane3D>& pPlanes)
const;
126 G4bool ClipEdgesByVoxel(
const std::vector<G4Segment3D>& pEdges,
131 void ClipVoxelByPlanes(
G4int pBits,
133 const std::vector<G4Plane3D>& pPlanes,
143 const std::vector<const G4ThreeVectorList*>* fPolygons =
nullptr;
std::pair< G4Point3D, G4Point3D > G4Segment3D
std::vector< G4Point3D > G4Polygon3D
std::vector< G4ThreeVector > G4ThreeVectorList
G4bool BoundingBoxVsVoxelLimits(const EAxis pAxis, const G4VoxelLimits &pVoxelLimits, const G4Transform3D &pTransform3D, G4double &pMin, G4double &pMax) const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimits, const G4Transform3D &pTransform3D, G4double &pMin, G4double &pMax) const
~G4BoundingEnvelope()=default
G4BoundingEnvelope(const G4ThreeVector &pMin, const G4ThreeVector &pMax)