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