99 #ifndef G4TessellatedSolid_hh 100 #define G4TessellatedSolid_hh 1 149 G4int GetNumberOfFacets ()
const;
165 G4bool aAccurate=
false)
const;
167 G4bool aAccurate=
false)
const;
170 virtual std::ostream &StreamInfo(std::ostream &os)
const;
178 void SetSolidClosed (
const G4bool t);
179 G4bool GetSolidClosed ()
const;
181 inline void SetMaxVoxels(
G4int max);
206 G4int AllocatedMemoryWithoutVoxels();
207 G4int AllocatedMemory();
208 void DisplayAllocatedMemory();
219 G4double DistanceToInCandidates(
const std::vector<G4int> &candidates,
222 void DistanceToOutCandidates(
const std::vector<G4int> &candidates,
227 G4int &minCandidate)
const;
231 void SetExtremeFacets();
238 void CreateVertexList();
240 void PrecalculateInsides();
242 void SetRandomVectors();
251 G4int SetAllUsingStack(
const std::vector<G4int> &voxel,
252 const std::vector<G4int> &max,
255 void DeleteObjects ();
258 static G4bool CompareSortedVoxel(
const std::pair<G4int, G4double> &l,
259 const std::pair<G4int, G4double> &
r);
312 fVoxels.SetMaxVoxels(max);
323 return ( p.
x() < fMinExtent.x() - tolerance
324 || p.
x() > fMaxExtent.x() + tolerance
325 || p.
y() < fMinExtent.y() - tolerance
326 || p.
y() > fMaxExtent.y() + tolerance
327 || p.
z() < fMinExtent.z() - tolerance
void SetMaxVoxels(G4int max)
static const G4double kInfinity
G4SurfaceVoxelizer & GetVoxels()
std::vector< G4ThreeVector > fVertexList
static const G4double tolerance
std::vector< G4ThreeVector > fRandir
G4VFacet * GetFacet(G4int i) const
G4double kCarToleranceHalf
G4bool OutsideOfExtent(const G4ThreeVector &p, G4double tolerance=0) const
G4bool fRebuildPolyhedron
std::vector< G4ThreeVector > G4ThreeVectorList
G4SurfaceVoxelizer fVoxels
std::set< G4VertexInfo, G4VertexComparator > fFacetList
G4Polyhedron * fpPolyhedron
G4GeometryType fGeometryType
std::set< G4VFacet * > fExtremeFacets
std::vector< G4VFacet * > fFacets