49 #ifndef G4BOUNDINGENVELOPE_HH
50 #define G4BOUNDINGENVELOPE_HH
80 const std::vector<const G4ThreeVectorList*>& polygons);
114 std::vector<G4Polygon3D*>& pBases)
const;
124 std::vector<G4Segment3D>& pEdges)
const;
129 std::vector<G4Plane3D>& pPlanes)
const;
139 const std::vector<G4Plane3D>& pPlanes,
153 #endif // G4BOUNDINGENVELOPE_HH
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimits, const G4Transform3D &pTransform3D, G4double &pMin, G4double &pMax) const
std::vector< G4Point3D > G4Polygon3D
G4BoundingEnvelope(const G4ThreeVector &pMin, const G4ThreeVector &pMax)
void CheckBoundingPolygons()
G4bool BoundingBoxVsVoxelLimits(const EAxis pAxis, const G4VoxelLimits &pVoxelLimits, const G4Transform3D &pTransform3D, G4double &pMin, G4double &pMax) const
std::vector< G4ThreeVector > G4ThreeVectorList
void CreateListOfEdges(const G4Polygon3D &baseA, const G4Polygon3D &baseB, std::vector< G4Segment3D > &pEdges) const
void TransformVertices(const G4Transform3D &pTransform3D, std::vector< G4Polygon3D * > &pBases) const
void ClipVoxelByPlanes(G4int pBits, const G4VoxelLimits &pLimits, const std::vector< G4Plane3D > &pPlanes, const G4Segment3D &pAABB, G4Segment3D &pExtent) const
void GetPrismAABB(const G4Polygon3D &pBaseA, const G4Polygon3D &pBaseB, G4Segment3D &pAABB) const
G4bool ClipEdgesByVoxel(const std::vector< G4Segment3D > &pEdges, const G4VoxelLimits &pLimits, G4Segment3D &pExtent) const
void CreateListOfPlanes(const G4Polygon3D &baseA, const G4Polygon3D &baseB, std::vector< G4Plane3D > &pPlanes) const
const std::vector< const G4ThreeVectorList * > * fPolygons
G4double FindScaleFactor(const G4Transform3D &pTransform3D) const
std::pair< G4Point3D, G4Point3D > G4Segment3D