69 void Voxelize(std::vector<G4VSolid*>& solids,
70 std::vector<G4Transform3D>& transforms);
71 void Voxelize(std::vector<G4VFacet*>& facets);
85 std::vector<G4int>& list,
91 std::vector<G4int>& list,
94 std::vector<G4int>& list,
97 inline const std::vector<G4VoxelBox>&
GetBoxes()
const;
105 std::vector<G4int>& curVoxel)
const;
116 std::vector<G4int>& curVoxel)
const;
126 std::vector<G4int>& voxels)
const;
141 inline long long CountVoxels(std::vector<G4double> boundaries[])
const;
143 inline const std::vector<G4int>&
176 return (left == right) ? l < r : left < right;
196 std::vector<G4Transform3D>& transforms);
213 std::vector<G4int>& list,
G4int i);
static const G4int amax[]
static const G4int amin[]
G4bool operator()(const G4int &l, const G4int &r) const
G4VoxelComparator(std::vector< G4VoxelInfo > &voxels)
std::vector< G4VoxelInfo > & fVoxels
const G4SurfBits & Empty() const
G4ThreeVector fBoundingBoxSize
long long CountVoxels(std::vector< G4double > boundaries[]) const
G4double DistanceToBoundingBox(const G4ThreeVector &point) const
G4bool GetPointVoxel(const G4ThreeVector &p, std::vector< G4int > &voxels) const
long long GetCountOfVoxels() const
G4ThreeVector fBoundingBoxCenter
static void FindComponentsFastest(unsigned int mask, std::vector< G4int > &list, G4int i)
std::vector< G4VoxelBox > fBoxes
static G4ThreadLocal G4int fDefaultVoxelsCount
std::vector< G4double > fBoundaries[3]
const std::vector< G4double > & GetBoundary(G4int index) const
const std::vector< G4VoxelBox > & GetBoxes() const
std::vector< G4VoxelBox > fVoxelBoxes
void BuildReduceVoxels(std::vector< G4double > fBoundaries[], G4ThreeVector reductionRatio)
G4bool IsEmpty(G4int index) const
G4bool UpdateCurrentVoxel(const G4ThreeVector &point, const G4ThreeVector &direction, std::vector< G4int > &curVoxel) const
void DisplayListNodes() const
void GetVoxel(std::vector< G4int > &curVoxel, const G4ThreeVector &point) const
void DisplayVoxelLimits() const
void SetReductionRatio(G4int maxVoxels, G4ThreeVector &reductionRatio)
std::vector< std::vector< G4int > > fVoxelBoxesCandidates
G4ThreeVector fReductionRatio
G4int GetMaxVoxels(G4ThreeVector &ratioOfReduction)
static void SetDefaultVoxelsCount(G4int count)
void BuildVoxelLimits(std::vector< G4VSolid * > &solids, std::vector< G4Transform3D > &transforms)
void BuildReduceVoxels2(std::vector< G4double > fBoundaries[], G4ThreeVector reductionRatio)
G4int GetBitsPerSlice() const
G4double DistanceToFirst(const G4ThreeVector &point, const G4ThreeVector &direction) const
void TransformLimits(G4ThreeVector &min, G4ThreeVector &max, const G4Transform3D &transformation) const
std::map< G4int, std::vector< G4int > > fCandidates
G4int GetCandidatesVoxelArray(const G4ThreeVector &point, std::vector< G4int > &list, G4SurfBits *crossed=nullptr) const
G4int GetVoxelBoxesSize() const
std::vector< G4int > fCandidatesCounts[3]
static G4double MinDistanceToBox(const G4ThreeVector &aPoint, const G4ThreeVector &f)
void SetMaxVoxels(G4int max)
void BuildBitmasks(std::vector< G4double > fBoundaries[], G4SurfBits bitmasks[], G4bool countsOnly=false)
const G4VoxelBox & GetVoxelBox(G4int i) const
void GetCandidatesVoxel(std::vector< G4int > &voxels)
G4int GetPointIndex(const G4ThreeVector &p) const
G4int GetVoxelsIndex(const std::vector< G4int > &voxels) const
static G4int GetDefaultVoxelsCount()
static G4int BinarySearch(const std::vector< T > &vec, T value)
G4String GetCandidatesAsString(const G4SurfBits &bits) const
const std::vector< G4int > fNoCandidates
G4double DistanceToNext(const G4ThreeVector &point, const G4ThreeVector &direction, std::vector< G4int > &curVoxel) const
void CreateSortedBoundary(std::vector< G4double > &boundaryRaw, G4int axis)
void Voxelize(std::vector< G4VSolid * > &solids, std::vector< G4Transform3D > &transforms)
G4ThreeVector GetGlobalPoint(const G4Transform3D &trans, const G4ThreeVector &lpoint) const
const std::vector< G4int > & GetVoxelBoxCandidates(G4int i) const
G4int GetVoxelsIndex(G4int x, G4int y, G4int z) const
G4bool Contains(const G4ThreeVector &point) const
const std::vector< G4int > & GetCandidates(std::vector< G4int > &curVoxel) const
G4int GetTotalCandidates() const
void CreateMiniVoxels(std::vector< G4double > fBoundaries[], G4SurfBits bitmasks[])
T max(const T t1, const T t2)
brief Return the largest of the two arguments
T min(const T t1, const T t2)
brief Return the smallest of the two arguments