67 #include "G4String.hh"
142 const G4bool calcNorm=
false,
199 virtual std::ostream&
StreamInfo(std::ostream& os)
const = 0;
254 const G4int pSectionIndex,
269 const G4int pSectionIndex,
286 const EAxis pAxis )
const;
virtual G4Polyhedron * GetPolyhedron() const
void ClipCrossSection(G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
CLHEP::Hep3Vector G4ThreeVector
void ClipPolygonToSimpleLimits(G4ThreeVectorList &pPolygon, G4ThreeVectorList &outputPolygon, const G4VoxelLimits &pVoxelLimit) const
virtual void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
G4double EstimateCubicVolume(G4int nStat, G4double epsilon) const
virtual G4double GetCubicVolume()
G4double GetTolerance() const
virtual G4GeometryType GetEntityType() const =0
void SetName(const G4String &name)
virtual std::ostream & StreamInfo(std::ostream &os) const =0
void CalculateClippedPolygonExtent(G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
virtual EInside Inside(const G4ThreeVector &p) const =0
virtual G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const =0
std::vector< G4ThreeVector > G4ThreeVectorList
friend std::ostream & operator<<(std::ostream &os, const G4VSolid &e)
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
virtual G4Polyhedron * CreatePolyhedron() const
G4double EstimateSurfaceArea(G4int nStat, G4double ell) const
virtual void DescribeYourselfTo(G4VGraphicsScene &scene) const =0
G4bool operator==(const G4VSolid &s) const
virtual G4VisExtent GetExtent() const
virtual G4ThreeVector GetPointOnSurface() const
virtual const G4VSolid * GetConstituentSolid(G4int no) const
G4VSolid(const G4String &name)
G4VSolid & operator=(const G4VSolid &rhs)
virtual G4VSolid * Clone() const
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
virtual G4double GetSurfaceArea()
void ClipBetweenSections(G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
virtual const G4DisplacedSolid * GetDisplacedSolidPtr() const
void ClipPolygon(G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis) const