99 #ifndef G4TessellatedSolid_hh 
  100 #define G4TessellatedSolid_hh 1 
  165                                              G4bool aAccurate=
false) 
const;
 
  167                                              G4bool aAccurate=
false) 
const;
 
  170     virtual std::ostream &
StreamInfo(std::ostream &os) 
const;
 
  217     G4double DistanceToInCandidates(
const std::vector<G4int> &candidates,
 
  220     void DistanceToOutCandidates(
const std::vector<G4int> &candidates,
 
  225                                        G4int &minCandidate) 
const;
 
  229     void SetExtremeFacets();
 
  236     void CreateVertexList();
 
  238     void PrecalculateInsides();
 
  240     void SetRandomVectors();
 
  249     G4int SetAllUsingStack(
const std::vector<G4int> &voxel,
 
  250                            const std::vector<G4int> &max,
 
  253     void DeleteObjects ();
 
  256     static G4bool CompareSortedVoxel(
const std::pair<G4int, G4double> &l,
 
  257                                      const std::pair<G4int, G4double> &r);
 
  271     mutable G4bool fRebuildPolyhedron;
 
  274     std::vector<G4VFacet *>  fFacets;
 
  275     std::set<G4VFacet *> fExtremeFacets; 
 
  282     std::vector<G4ThreeVector>  fVertexList;
 
  284     std::set<G4VertexInfo,G4VertexComparator> fFacetList;
 
  290     std::vector<G4ThreeVector> fRandir;
 
  321   return ( p.
x() < fMinExtent.
x() - tolerance
 
  322         || p.
x() > fMaxExtent.
x() + tolerance
 
  323         || p.
y() < fMinExtent.
y() - tolerance
 
  324         || p.
y() > fMaxExtent.
y() + tolerance
 
  325         || p.
z() < fMinExtent.
z() - tolerance
 
  326         || p.
z() > fMaxExtent.
z() + tolerance);
 
void SetMaxVoxels(G4int max)
 
void SetSolidClosed(const G4bool t)
 
static const G4double kInfinity
 
G4SurfaceVoxelizer & GetVoxels()
 
virtual void DescribeYourselfTo(G4VGraphicsScene &scene) const 
 
virtual G4VisExtent GetExtent() const 
 
G4double GetMaxXExtent() const 
 
virtual G4double GetCubicVolume()
 
G4double GetMinXExtent() const 
 
virtual G4double GetSurfaceArea()
 
G4double GetMaxZExtent() const 
 
G4VFacet * GetFacet(G4int i) const 
 
G4double kCarToleranceHalf
 
G4double GetMinZExtent() const 
 
virtual G4double DistanceToOut(const G4ThreeVector &p) const 
 
virtual G4Polyhedron * CreatePolyhedron() const 
 
virtual EInside Inside(const G4ThreeVector &p) const 
 
G4bool AddFacet(G4VFacet *aFacet)
 
void SetMaxVoxels(G4int max)
 
G4TessellatedSolid & operator+=(const G4TessellatedSolid &right)
 
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const 
 
virtual G4VSolid * Clone() const 
 
G4int AllocatedMemoryWithoutVoxels()
 
virtual G4Polyhedron * GetPolyhedron() const 
 
G4bool operator()(const G4VertexInfo &l, const G4VertexInfo &r) const 
 
G4int GetNumberOfFacets() const 
 
virtual std::ostream & StreamInfo(std::ostream &os) const 
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
virtual G4double SafetyFromInside(const G4ThreeVector &p, G4bool aAccurate=false) const 
 
virtual ~G4TessellatedSolid()
 
virtual G4GeometryType GetEntityType() const 
 
void DisplayAllocatedMemory()
 
virtual G4bool Normal(const G4ThreeVector &p, G4ThreeVector &n) const 
 
virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const 
 
G4double GetMaxYExtent() const 
 
virtual G4ThreeVector GetPointOnSurface() const 
 
virtual G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const 
 
virtual G4double SafetyFromOutside(const G4ThreeVector &p, G4bool aAccurate=false) const 
 
void Extent(G4ThreeVector &pMin, G4ThreeVector &pMax) const 
 
G4double GetMinYExtent() const 
 
G4TessellatedSolid & operator=(const G4TessellatedSolid &right)
 
G4bool GetSolidClosed() const