46 #ifndef G4MULTIUNION_HH
47 #define G4MULTIUNION_HH
97 const G4bool calcNorm=
false,
110 std::vector<G4int>& candidates)
const;
137 std::ostream&
StreamInfo(std::ostream& os)
const;
158 std::vector<G4int>& candidates,
T max(const T t1, const T t2)
brief Return the largest of the two arguments
void SetAccurateSafety(G4bool flag)
G4VSolid * GetSolid(G4int index) const
G4GeometryType GetEntityType() const
G4Polyhedron * CreatePolyhedron() const
std::vector< G4Transform3D > fTransformObjs
G4Voxelizer & GetVoxels() const
G4ThreeVector GetGlobalPoint(const G4Transform3D &trans, const G4ThreeVector &lpoint) const
void AddNode(G4VSolid &solid, G4Transform3D &trans)
G4ThreeVector SurfaceNormal(const G4ThreeVector &aPoint) const
std::ostream & StreamInfo(std::ostream &os) const
G4ThreeVector GetPointOnSurface() const
G4double DistanceToInNoVoxels(const G4ThreeVector &aPoint, const G4ThreeVector &aDirection) const
G4Polyhedron * GetPolyhedron() const
G4double DistanceToIn(const G4ThreeVector &aPoint) const
EInside InsideNoVoxels(const G4ThreeVector &aPoint) const
G4double GetSurfaceArea()
G4ThreeVector GetLocalPoint(const G4Transform3D &trans, const G4ThreeVector &gpoint) const
G4ThreeVector GetGlobalVector(const G4Transform3D &trans, const G4ThreeVector &lvec) const
G4double DistanceToOutVoxelsCore(const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, G4ThreeVector *aNormalVector, G4bool &aConvex, std::vector< G4int > &candidates) const
EInside InsideIterator(const G4ThreeVector &aPoint) const
G4double DistanceToOutNoVoxels(const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, G4ThreeVector *aNormalVector) const
void BoundingLimits(G4ThreeVector &aMin, G4ThreeVector &aMax) const
void TransformLimits(G4ThreeVector &min, G4ThreeVector &max, const G4Transform3D &transformation) const
const G4Transform3D & GetTransformation(G4int index) const
G4double GetCubicVolume()
HepGeom::Vector3D< G4double > G4Vector3D
G4bool fRebuildPolyhedron
EInside InsideWithExclusion(const G4ThreeVector &aPoint, G4SurfBits *bits=0) const
G4ThreeVector GetLocalVector(const G4Transform3D &trans, const G4ThreeVector &gvec) const
G4Polyhedron * fpPolyhedron
G4double DistanceToOutVoxels(const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, G4ThreeVector *aNormalVector) const
std::vector< G4VSolid * > fSolids
G4MultiUnion & operator=(const G4MultiUnion &rhs)
void DescribeYourselfTo(G4VGraphicsScene &scene) const
void Extent(EAxis aAxis, G4double &aMin, G4double &aMax) const
EInside Inside(const G4ThreeVector &aPoint) const
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
G4double DistanceToOut(const G4ThreeVector &aPoint) const
HepGeom::Point3D< G4double > G4Point3D
G4int GetNumberOfSolids() const
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4double DistanceToInCandidates(const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, std::vector< G4int > &candidates, G4SurfBits &bits) const
G4int SafetyFromOutsideNumberNode(const G4ThreeVector &aPoint, G4double &safety) const