43 #if ( defined(G4GEOM_USE_USOLIDS) || defined(G4GEOM_USE_PARTIAL_USOLIDS) )
53 G4USolid(
const G4String& pName, VUSolid* shape);
93 const G4bool calcNorm =
false,
148 virtual std::ostream&
StreamInfo(std::ostream& os)
const;
170 G4USolid(
const G4USolid& rhs);
171 G4USolid&
operator=(
const G4USolid& rhs);
174 VUSolid* GetSolid()
const
186 mutable G4bool fRebuildPolyhedron;
190 #endif // G4GEOM_USE_USOLIDS
virtual G4Polyhedron * GetPolyhedron() const
virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
CLHEP::Hep3Vector G4ThreeVector
virtual void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
virtual G4double GetCubicVolume()
virtual G4GeometryType GetEntityType() const =0
virtual std::ostream & StreamInfo(std::ostream &os) const =0
virtual EInside Inside(const G4ThreeVector &p) const =0
virtual G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const =0
std::vector< G4ThreeVector > G4ThreeVectorList
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
virtual G4Polyhedron * CreatePolyhedron() const
virtual void DescribeYourselfTo(G4VGraphicsScene &scene) const =0
G4bool operator==(const G4VSolid &s) const
virtual G4VisExtent GetExtent() const
virtual G4ThreeVector GetPointOnSurface() const
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()