Geant4-11
|
#include <G4MultiUnion.hh>
Data Structures | |
struct | G4MultiUnionSurface |
Protected Member Functions | |
void | CalculateClippedPolygonExtent (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipBetweenSections (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipCrossSection (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipPolygon (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis) const |
Protected Attributes | |
G4double | kCarTolerance |
Private Member Functions | |
void | ClipPolygonToSimpleLimits (G4ThreeVectorList &pPolygon, G4ThreeVectorList &outputPolygon, const G4VoxelLimits &pVoxelLimit) const |
G4double | DistanceToInCandidates (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, std::vector< G4int > &candidates, G4SurfBits &bits) const |
G4ThreeVector | GetGlobalPoint (const G4Transform3D &trans, const G4ThreeVector &lpoint) const |
G4ThreeVector | GetGlobalVector (const G4Transform3D &trans, const G4ThreeVector &lvec) const |
G4ThreeVector | GetLocalPoint (const G4Transform3D &trans, const G4ThreeVector &gpoint) const |
G4ThreeVector | GetLocalVector (const G4Transform3D &trans, const G4ThreeVector &gvec) const |
EInside | InsideWithExclusion (const G4ThreeVector &aPoint, G4SurfBits *bits=0) const |
G4int | SafetyFromOutsideNumberNode (const G4ThreeVector &aPoint, G4double &safety) const |
void | TransformLimits (G4ThreeVector &min, G4ThreeVector &max, const G4Transform3D &transformation) const |
Private Attributes | |
G4bool | fAccurate = false |
G4double | fCubicVolume = 0.0 |
G4Polyhedron * | fpPolyhedron = nullptr |
G4bool | fRebuildPolyhedron = false |
G4String | fshapeName |
std::vector< G4VSolid * > | fSolids |
G4double | fSurfaceArea = 0.0 |
std::vector< G4Transform3D > | fTransformObjs |
G4Voxelizer | fVoxels |
G4double | kRadTolerance |
Friends | |
class | G4Voxelizer |
Definition at line 53 of file G4MultiUnion.hh.
|
inline |
G4MultiUnion::G4MultiUnion | ( | const G4String & | name | ) |
Definition at line 54 of file G4MultiUnion.cc.
References fSolids, fTransformObjs, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetRadialTolerance(), kRadTolerance, G4InuclParticleNames::name(), and G4VSolid::SetName().
G4MultiUnion::~G4MultiUnion | ( | ) |
Definition at line 64 of file G4MultiUnion.cc.
G4MultiUnion::G4MultiUnion | ( | const G4MultiUnion & | rhs | ) |
Definition at line 90 of file G4MultiUnion.cc.
G4MultiUnion::G4MultiUnion | ( | __void__ & | a | ) |
Definition at line 99 of file G4MultiUnion.cc.
void G4MultiUnion::AddNode | ( | G4VSolid & | solid, |
const G4Transform3D & | trans | ||
) |
Definition at line 69 of file G4MultiUnion.cc.
References fSolids, and fTransformObjs.
Referenced by G4tgbVolume::FindOrConstructG4Solid(), and G4GDMLReadSolids::MultiUnionNodeRead().
void G4MultiUnion::AddNode | ( | G4VSolid * | solid, |
const G4Transform3D & | trans | ||
) |
Definition at line 76 of file G4MultiUnion.cc.
References fSolids, and fTransformObjs.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 616 of file G4MultiUnion.cc.
References Extent(), kXAxis, kYAxis, and kZAxis.
Referenced by CalculateExtent(), and GetCubicVolume().
|
protectedinherited |
Definition at line 489 of file G4VSolid.cc.
References G4VSolid::ClipPolygon(), pMax, and pMin.
Referenced by G4VSolid::ClipBetweenSections(), and G4VSolid::ClipCrossSection().
|
virtual |
Implements G4VSolid.
Definition at line 626 of file G4MultiUnion.cc.
References BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), pMax, and pMin.
|
protectedinherited |
Definition at line 444 of file G4VSolid.cc.
References G4VSolid::CalculateClippedPolygonExtent(), pMax, and pMin.
|
protectedinherited |
Definition at line 414 of file G4VSolid.cc.
References G4VSolid::CalculateClippedPolygonExtent(), pMax, and pMin.
|
protectedinherited |
Definition at line 539 of file G4VSolid.cc.
References G4VoxelLimits::AddLimit(), G4VSolid::ClipPolygonToSimpleLimits(), G4VoxelLimits::GetMaxXExtent(), G4VoxelLimits::GetMaxYExtent(), G4VoxelLimits::GetMaxZExtent(), G4VoxelLimits::GetMinXExtent(), G4VoxelLimits::GetMinYExtent(), G4VoxelLimits::GetMinZExtent(), G4VoxelLimits::IsLimited(), G4VoxelLimits::IsXLimited(), G4VoxelLimits::IsYLimited(), G4VoxelLimits::IsZLimited(), kInfinity, kXAxis, kYAxis, and kZAxis.
Referenced by G4VSolid::CalculateClippedPolygonExtent().
|
privateinherited |
Definition at line 612 of file G4VSolid.cc.
References G4VoxelLimits::ClipToLimits(), and G4VoxelLimits::Inside().
Referenced by G4VSolid::ClipPolygon().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 83 of file G4MultiUnion.cc.
References G4MultiUnion().
|
virtualinherited |
Reimplemented in G4TwistedTubs, G4VTwistedFaceted, G4ReflectedSolid, G4DisplacedSolid, G4IntersectionSolid, G4ScaledSolid, G4SubtractionSolid, G4UnionSolid, G4Box, G4Cons, G4Orb, G4Para, G4Sphere, G4Torus, G4Trap, G4Trd, G4Tubs, G4Ellipsoid, G4Hype, G4Polycone, G4Polyhedra, and G4Tet.
Definition at line 137 of file G4VSolid.cc.
References FatalException, G4endl, and G4Exception().
Referenced by G4SmartVoxelHeader::BuildNodes(), G4PVParameterised::CheckOverlaps(), G4VPrimitiveScorer::ComputeSolid(), G4ScoreSplittingProcess::CreateTouchableForSubStep(), G4LogicalVolumeModel::DescribeYourselfTo(), G4VFieldModel::DescribeYourselfTo(), G4LogicalVolume::GetMass(), G4Navigator::GetMotherToDaughterTransform(), G4ITNavigator1::GetMotherToDaughterTransform(), G4ITNavigator2::GetMotherToDaughterTransform(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointAndSetup(), G4PSFlatSurfaceCurrent::ProcessHits(), G4PSFlatSurfaceFlux::ProcessHits(), G4PSSphereSurfaceFlux::ProcessHits(), G4PSVolumeFlux::ProcessHits(), G4Navigator::SetupHierarchy(), G4ITNavigator1::SetupHierarchy(), and G4ITNavigator2::SetupHierarchy().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 968 of file G4MultiUnion.cc.
References GetNumberOfSolids(), G4DisplacedSolid::GetPolyhedron(), GetSolid(), GetTransformation(), operand(), processor, G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform(), and HepPolyhedronProcessor::UNION.
Referenced by GetPolyhedron().
|
virtual |
Implements G4VSolid.
Definition at line 962 of file G4MultiUnion.cc.
References G4VGraphicsScene::AddSolid().
|
virtual |
Implements G4VSolid.
Definition at line 760 of file G4MultiUnion.cc.
References G4Voxelizer::DistanceToBoundingBox(), G4VSolid::DistanceToIn(), fAccurate, fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetBoxes(), GetLocalPoint(), kInfinity, pos, and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
|
virtual |
Implements G4VSolid.
Definition at line 212 of file G4MultiUnion.cc.
References G4Voxelizer::DistanceToFirst(), DistanceToInCandidates(), G4Voxelizer::DistanceToNext(), fVoxels, G4Voxelizer::GetBitsPerSlice(), G4Voxelizer::GetCandidatesVoxelArray(), G4Voxelizer::GetVoxel(), kInfinity, and CLHEP::Hep3Vector::unit().
|
private |
Definition at line 176 of file G4MultiUnion.cc.
References G4VSolid::DistanceToIn(), fSolids, fTransformObjs, GetLocalPoint(), GetLocalVector(), kInfinity, G4SurfBits::SetBitNumber(), and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
Referenced by DistanceToIn().
G4double G4MultiUnion::DistanceToInNoVoxels | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection | ||
) | const |
Definition at line 153 of file G4MultiUnion.cc.
References G4VSolid::DistanceToIn(), fSolids, fTransformObjs, GetLocalPoint(), GetLocalVector(), kInfinity, G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform(), and CLHEP::Hep3Vector::unit().
|
virtual |
Implements G4VSolid.
Definition at line 723 of file G4MultiUnion.cc.
References G4VSolid::DistanceToOut(), fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetCandidatesVoxelArray(), GetLocalPoint(), G4VSolid::Inside(), kInfinity, kInside, and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
|
virtual |
Implements G4VSolid.
Definition at line 297 of file G4MultiUnion.cc.
References DistanceToOutVoxels().
G4double G4MultiUnion::DistanceToOutNoVoxels | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection, | ||
G4ThreeVector * | aNormalVector | ||
) | const |
Definition at line 246 of file G4MultiUnion.cc.
References G4VSolid::DistanceToOut(), fSolids, fTransformObjs, GetGlobalPoint(), GetLocalPoint(), GetLocalVector(), G4VSolid::Inside(), kInfinity, kOutside, G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform(), and CLHEP::Hep3Vector::unit().
G4double G4MultiUnion::DistanceToOutVoxels | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection, | ||
G4ThreeVector * | aNormalVector | ||
) | const |
Definition at line 307 of file G4MultiUnion.cc.
References G4VSolid::DistanceToOut(), fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetBitsPerSlice(), G4Voxelizer::GetCandidatesVoxelArray(), GetGlobalVector(), GetLocalPoint(), GetLocalVector(), G4VSolid::Inside(), InsideWithExclusion(), kInfinity, kOutside, G4SurfBits::ResetBitNumber(), G4SurfBits::SetBitNumber(), G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform(), and CLHEP::Hep3Vector::unit().
Referenced by DistanceToOut().
G4double G4MultiUnion::DistanceToOutVoxelsCore | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection, | ||
G4ThreeVector * | aNormalVector, | ||
G4bool & | aConvex, | ||
std::vector< G4int > & | candidates | ||
) | const |
|
inlineinherited |
Referenced by G4Cons::ApproxSurfaceNormal(), G4CutTubs::ApproxSurfaceNormal(), G4Sphere::ApproxSurfaceNormal(), G4Torus::ApproxSurfaceNormal(), G4Tubs::ApproxSurfaceNormal(), G4ReflectedSolid::BoundingLimits(), G4DisplacedSolid::BoundingLimits(), G4IntersectionSolid::BoundingLimits(), G4ScaledSolid::BoundingLimits(), G4SubtractionSolid::BoundingLimits(), G4UnionSolid::BoundingLimits(), G4Box::BoundingLimits(), G4Cons::BoundingLimits(), G4CutTubs::BoundingLimits(), G4Orb::BoundingLimits(), G4Para::BoundingLimits(), G4Sphere::BoundingLimits(), G4Torus::BoundingLimits(), G4Trap::BoundingLimits(), G4Trd::BoundingLimits(), G4Tubs::BoundingLimits(), G4EllipticalCone::BoundingLimits(), G4ExtrudedSolid::BoundingLimits(), G4GenericPolycone::BoundingLimits(), G4GenericTrap::BoundingLimits(), G4Hype::BoundingLimits(), G4Paraboloid::BoundingLimits(), G4Polycone::BoundingLimits(), G4Polyhedra::BoundingLimits(), G4TessellatedSolid::BoundingLimits(), G4TwistedTubs::BoundingLimits(), G4ParameterisationBoxX::ComputeDimensions(), G4ParameterisationBoxY::ComputeDimensions(), G4ParameterisationBoxZ::ComputeDimensions(), G4ParameterisationConsRho::ComputeDimensions(), G4ParameterisationConsPhi::ComputeDimensions(), G4ParameterisationConsZ::ComputeDimensions(), G4ParameterisationParaX::ComputeDimensions(), G4ParameterisationParaY::ComputeDimensions(), G4ParameterisationParaZ::ComputeDimensions(), G4ParameterisationPolyconeRho::ComputeDimensions(), G4ParameterisationPolyconePhi::ComputeDimensions(), G4ParameterisationPolyconeZ::ComputeDimensions(), G4ParameterisationPolyhedraRho::ComputeDimensions(), G4ParameterisationPolyhedraPhi::ComputeDimensions(), G4ParameterisationPolyhedraZ::ComputeDimensions(), G4ParameterisationTrdX::ComputeDimensions(), G4ParameterisationTrdY::ComputeDimensions(), G4ParameterisationTrdZ::ComputeDimensions(), G4ParameterisationTubsRho::ComputeDimensions(), G4ParameterisationTubsPhi::ComputeDimensions(), G4ParameterisationTubsZ::ComputeDimensions(), G4ReflectedSolid::ComputeDimensions(), G4DisplacedSolid::ComputeDimensions(), G4ScaledSolid::ComputeDimensions(), G4ParameterisedNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4DisplacedSolid::CreatePolyhedron(), G4ScaledSolid::CreatePolyhedron(), G4SubtractionSolid::DistanceToIn(), G4Box::DistanceToOut(), G4Orb::DistanceToOut(), G4Para::DistanceToOut(), G4Trap::DistanceToOut(), G4Trd::DistanceToOut(), G4Paraboloid::DistanceToOut(), G4VTwistedFaceted::DistanceToOut(), G4Cons::DistanceToOut(), G4CutTubs::DistanceToOut(), G4Sphere::DistanceToOut(), G4Torus::DistanceToOut(), G4Tubs::DistanceToOut(), G4Ellipsoid::DistanceToOut(), G4EllipticalCone::DistanceToOut(), G4EllipticalTube::DistanceToOut(), G4GenericTrap::DistanceToOut(), export_G4VSolid(), G4Polycone::G4Polycone(), G4Polyhedra::G4Polyhedra(), G4BooleanSolid::GetConstituentSolid(), G4NavigationLogger::PostComputeStepLog(), G4Box::SurfaceNormal(), G4Para::SurfaceNormal(), G4Trap::SurfaceNormal(), G4Trd::SurfaceNormal(), G4Ellipsoid::SurfaceNormal(), G4EllipticalCone::SurfaceNormal(), G4EllipticalTube::SurfaceNormal(), G4ExtrudedSolid::SurfaceNormal(), and G4Tet::SurfaceNormal().
Definition at line 203 of file G4VSolid.cc.
References G4VSolid::CalculateExtent(), epsilon(), G4QuickRand(), G4VSolid::Inside(), kOutside, kXAxis, kYAxis, kZAxis, and maxZ.
Referenced by G4VSolid::GetCubicVolume(), G4BooleanSolid::GetCubicVolume(), and G4VCSGfaceted::GetCubicVolume().
Definition at line 265 of file G4VSolid.cc.
References G4VSolid::BoundingLimits(), G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), CLHEP::Hep3Vector::dot(), eps, G4QuickRand(), G4VSolid::Inside(), kInfinity, kInside, kOutside, G4INCL::Math::min(), CLHEP::detail::n, G4VSolid::SurfaceNormal(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by G4VSolid::GetSurfaceArea(), GetSurfaceArea(), and G4VCSGfaceted::GetSurfaceArea().
Definition at line 551 of file G4MultiUnion.cc.
References G4VSolid::BoundingLimits(), fSolids, GetTransformation(), kXAxis, kYAxis, kZAxis, G4INCL::Math::max(), G4INCL::Math::min(), G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform(), and TransformLimits().
Referenced by BoundingLimits().
Reimplemented in G4BooleanSolid.
Definition at line 167 of file G4VSolid.cc.
Referenced by G4BooleanSolid::StackPolyhedron().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 123 of file G4MultiUnion.cc.
References BoundingLimits(), fCubicVolume, G4UniformRand, Inside(), kOutside, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
virtualinherited |
Reimplemented in G4DisplacedSolid.
Definition at line 176 of file G4VSolid.cc.
|
virtualinherited |
Reimplemented in G4DisplacedSolid.
Definition at line 173 of file G4VSolid.cc.
|
inlinevirtual |
|
virtualinherited |
Reimplemented in G4Box, G4Orb, G4Sphere, G4Ellipsoid, G4EllipticalCone, G4EllipticalTube, G4GenericTrap, G4Hype, G4TessellatedSolid, G4Tet, G4TwistedTubs, G4VCSGfaceted, and G4VTwistedFaceted.
Definition at line 682 of file G4VSolid.cc.
References G4VSolid::CalculateExtent(), kXAxis, kYAxis, kZAxis, G4VisExtent::SetXmax(), G4VisExtent::SetXmin(), G4VisExtent::SetYmax(), G4VisExtent::SetYmin(), G4VisExtent::SetZmax(), and G4VisExtent::SetZmin().
Referenced by G4tgbVolume::BuildSolidForDivision(), G4BoundingExtentScene::ProcessVolume(), G4BoundingSphereScene::ProcessVolume(), and G4VisCommandsTouchable::SetNewValue().
|
inlineprivate |
Definition at line 246 of file G4MultiUnion.hh.
References local.
Referenced by DistanceToOutNoVoxels(), GetPointOnSurface(), and TransformLimits().
|
inlineprivate |
Definition at line 258 of file G4MultiUnion.hh.
References HepGeom::Transform3D::getDecomposition(), and local.
Referenced by DistanceToOutVoxels(), and SurfaceNormal().
|
inlineprivate |
Definition at line 217 of file G4MultiUnion.hh.
References HepGeom::Transform3D::inverse().
Referenced by DistanceToIn(), DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), DistanceToOutVoxels(), InsideNoVoxels(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), and SurfaceNormal().
|
inlineprivate |
Definition at line 229 of file G4MultiUnion.hh.
References HepGeom::Transform3D::getDecomposition(), and HepGeom::Transform3D::inverse().
Referenced by DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOutNoVoxels(), and DistanceToOutVoxels().
|
inlineinherited |
Referenced by G4GMocrenFileSceneHandler::AddDetector(), G4HepRepFileSceneHandler::AddHepRepInstance(), G4GMocrenFileSceneHandler::AddPrimitive(), G4HepRepFileSceneHandler::AddSolid(), G4GMocrenFileSceneHandler::AddSolid(), G4VtkSceneHandler::AddSolid(), G4GDMLWriteSolids::AddSolid(), G4NavigationLogger::AlongComputeStepLog(), G4GDMLWriteSolids::BooleanWrite(), G4ReflectedSolid::BoundingLimits(), G4DisplacedSolid::BoundingLimits(), G4IntersectionSolid::BoundingLimits(), G4ScaledSolid::BoundingLimits(), G4SubtractionSolid::BoundingLimits(), G4UnionSolid::BoundingLimits(), G4Box::BoundingLimits(), G4Cons::BoundingLimits(), G4CutTubs::BoundingLimits(), G4Orb::BoundingLimits(), G4Para::BoundingLimits(), G4Sphere::BoundingLimits(), G4Torus::BoundingLimits(), G4Trap::BoundingLimits(), G4Trd::BoundingLimits(), G4Tubs::BoundingLimits(), G4EllipticalCone::BoundingLimits(), G4ExtrudedSolid::BoundingLimits(), G4GenericPolycone::BoundingLimits(), G4GenericTrap::BoundingLimits(), G4Hype::BoundingLimits(), G4Paraboloid::BoundingLimits(), G4Polycone::BoundingLimits(), G4Polyhedra::BoundingLimits(), G4TessellatedSolid::BoundingLimits(), G4TwistedTubs::BoundingLimits(), G4GDMLWriteSolids::BoxWrite(), G4ExtrudedSolid::CalculateExtent(), G4GenericPolycone::CalculateExtent(), G4Polycone::CalculateExtent(), G4Polyhedra::CalculateExtent(), G4NavigationLogger::CheckDaughterEntryPoint(), G4VDivisionParameterisation::CheckNDivAndWidth(), G4VDivisionParameterisation::CheckOffset(), G4GenericTrap::CheckOrder(), G4Para::CheckParameters(), G4Trap::CheckParameters(), G4Trd::CheckParameters(), G4Ellipsoid::CheckParameters(), G4EllipticalTube::CheckParameters(), G4ParameterisationPolyconeRho::CheckParametersValidity(), G4ParameterisationPolyconeZ::CheckParametersValidity(), G4ParameterisationPolyhedraRho::CheckParametersValidity(), G4ParameterisationPolyhedraPhi::CheckParametersValidity(), G4ParameterisationPolyhedraZ::CheckParametersValidity(), G4PhantomParameterisation::CheckVoxelsFillContainer(), G4GenericTrap::ComputeIsTwisted(), G4VoxelNavigation::ComputeSafety(), G4VoxelSafety::ComputeSafety(), G4NavigationLogger::ComputeSafetyLog(), G4ParameterisedNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4GDMLWriteSolids::ConeWrite(), G4Polyhedra::Create(), G4GenericPolycone::Create(), G4Polycone::Create(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4ReflectedSolid::CreatePolyhedron(), G4ReflectionFactory::CreateReflectedLV(), G4GenericTrap::CreateTessellatedSolid(), G4GDMLWriteSolids::CutTubeWrite(), G4SolidStore::DeRegister(), G4PhysicalVolumeModel::DescribeSolid(), G4SubtractionSolid::DistanceToIn(), G4Paraboloid::DistanceToIn(), G4TessellatedSolid::DistanceToIn(), G4Box::DistanceToOut(), G4Orb::DistanceToOut(), G4Para::DistanceToOut(), G4Trap::DistanceToOut(), G4Trd::DistanceToOut(), G4EllipticalCone::DistanceToOut(), G4TessellatedSolid::DistanceToOut(), G4Ellipsoid::DistanceToOut(), G4EllipticalTube::DistanceToOut(), G4tgbGeometryDumper::DumpMultiUnionVolume(), G4tgbGeometryDumper::DumpScaledVolume(), G4tgbGeometryDumper::DumpSolid(), G4GDMLWriteSolids::ElconeWrite(), G4GDMLWriteSolids::EllipsoidWrite(), G4GDMLWriteSolids::EltubeWrite(), G4PVDivision::ErrorInAxis(), G4ReplicatedSlice::ErrorInAxis(), export_G4VSolid(), G4Box::G4Box(), G4Cons::G4Cons(), G4CutTubs::G4CutTubs(), G4EllipticalCone::G4EllipticalCone(), G4Hype::G4Hype(), G4Para::G4Para(), G4Paraboloid::G4Paraboloid(), G4Polycone::G4Polycone(), G4Polyhedra::G4Polyhedra(), G4Sphere::G4Sphere(), G4Tet::G4Tet(), G4Trap::G4Trap(), G4Tubs::G4Tubs(), G4VParameterisationCons::G4VParameterisationCons(), G4VParameterisationPara::G4VParameterisationPara(), G4VParameterisationPolycone::G4VParameterisationPolycone(), G4VParameterisationPolyhedra::G4VParameterisationPolyhedra(), G4VParameterisationTrd::G4VParameterisationTrd(), G4VTwistedFaceted::G4VTwistedFaceted(), G4GDMLWriteSolids::GenericPolyconeWrite(), G4GDMLWriteSolids::GenTrapWrite(), G4Navigator::GetGlobalExitNormal(), G4Navigator::GetLocalExitNormal(), G4ITNavigator1::GetLocalExitNormal(), G4ITNavigator2::GetLocalExitNormal(), G4BooleanSolid::GetPointOnSurface(), G4PhantomParameterisation::GetReplicaNo(), G4GDMLWriteSolids::HypeWrite(), G4TessellatedSolid::InsideNoVoxels(), G4TessellatedSolid::InsideVoxels(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointAndSetup(), G4GenericTrap::MakeDownFacet(), G4Trap::MakePlanes(), G4GenericTrap::MakeUpFacet(), G4GDMLWriteSolids::MultiUnionWrite(), G4GDMLWriteSolids::OrbWrite(), G4GDMLWriteSolids::ParaboloidWrite(), G4GDMLWriteParamvol::ParametersWrite(), G4GDMLWriteSolids::ParaWrite(), G4GDMLWriteSolids::PolyconeWrite(), G4GDMLWriteSolids::PolyhedraWrite(), G4NavigationLogger::PostComputeStepLog(), G4NavigationLogger::PreComputeStepLog(), G4NavigationLogger::PrintDaughterLog(), G4PseudoScene::ProcessVolume(), G4SolidStore::Register(), G4tgbVolumeMgr::RegisterMe(), G4NavigationLogger::ReportOutsideMother(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4VSceneHandler::RequestPrimitives(), G4GenericPolycone::Reset(), G4Polyhedra::Reset(), G4VoxelSafety::SafetyForVoxelNode(), G4GDMLWriteSolids::ScaledWrite(), G4Torus::SetAllParameters(), G4Tet::SetBoundingLimits(), G4Polycone::SetOriginalParameters(), G4Polyhedra::SetOriginalParameters(), G4TessellatedSolid::SetSolidClosed(), G4Tet::SetVertices(), G4Box::SetXHalfLength(), G4Box::SetYHalfLength(), G4Box::SetZHalfLength(), G4GDMLWriteSolids::SphereWrite(), G4BooleanSolid::StackPolyhedron(), G4ReflectedSolid::StreamInfo(), G4BooleanSolid::StreamInfo(), G4DisplacedSolid::StreamInfo(), StreamInfo(), G4ScaledSolid::StreamInfo(), G4Box::StreamInfo(), G4Cons::StreamInfo(), G4CSGSolid::StreamInfo(), G4CutTubs::StreamInfo(), G4Orb::StreamInfo(), G4Para::StreamInfo(), G4Sphere::StreamInfo(), G4Torus::StreamInfo(), G4Trap::StreamInfo(), G4Trd::StreamInfo(), G4Tubs::StreamInfo(), G4Ellipsoid::StreamInfo(), G4EllipticalCone::StreamInfo(), G4EllipticalTube::StreamInfo(), G4ExtrudedSolid::StreamInfo(), G4GenericPolycone::StreamInfo(), G4GenericTrap::StreamInfo(), G4Hype::StreamInfo(), G4Paraboloid::StreamInfo(), G4Polycone::StreamInfo(), G4Polyhedra::StreamInfo(), G4TessellatedSolid::StreamInfo(), G4Tet::StreamInfo(), G4TwistedBox::StreamInfo(), G4TwistedTrap::StreamInfo(), G4TwistedTrd::StreamInfo(), G4TwistedTubs::StreamInfo(), G4VCSGfaceted::StreamInfo(), G4VTwistedFaceted::StreamInfo(), G4GDMLRead::StripNames(), SubstractSolids(), G4UnionSolid::SurfaceNormal(), G4Box::SurfaceNormal(), G4Para::SurfaceNormal(), G4Trap::SurfaceNormal(), G4Trd::SurfaceNormal(), G4Ellipsoid::SurfaceNormal(), G4EllipticalCone::SurfaceNormal(), G4EllipticalTube::SurfaceNormal(), G4ExtrudedSolid::SurfaceNormal(), G4Tet::SurfaceNormal(), G4GDMLWriteSolids::TessellatedWrite(), G4GDMLWriteSolids::TetWrite(), G4GDMLWriteSolids::TorusWrite(), G4GDMLWriteSolids::TrapWrite(), G4GDMLWriteStructure::TraverseVolumeTree(), G4GDMLWriteSolids::TrdWrite(), G4GDMLWriteSolids::TubeWrite(), G4GDMLWriteSolids::TwistedboxWrite(), G4GDMLWriteSolids::TwistedtrapWrite(), G4GDMLWriteSolids::TwistedtrdWrite(), G4GDMLWriteSolids::TwistedtubsWrite(), G4PhysicalVolumeModel::VisitGeometryAndGetVisReps(), and G4GDMLWriteSolids::XtruWrite().
|
inline |
Definition at line 204 of file G4MultiUnion.hh.
References fSolids.
Referenced by CreatePolyhedron(), G4tgbGeometryDumper::DumpMultiUnionVolume(), and G4GDMLWriteSolids::MultiUnionWrite().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 941 of file G4MultiUnion.cc.
References fSolids, fTransformObjs, GetGlobalPoint(), G4VSolid::GetPointOnSurface(), Inside(), kSurface, and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 993 of file G4MultiUnion.cc.
References CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, HepPolyhedron::GetNumberOfRotationSteps(), G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), anonymous_namespace{G4MultiUnion.cc}::polyhedronMutex, and G4TemplateAutoLock< _Mutex_t >::unlock().
Definition at line 198 of file G4MultiUnion.hh.
References fSolids.
Referenced by CreatePolyhedron(), G4tgbGeometryDumper::DumpMultiUnionVolume(), and G4GDMLWriteSolids::MultiUnionWrite().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 811 of file G4MultiUnion.cc.
References G4VSolid::EstimateSurfaceArea(), and fSurfaceArea.
|
inlineinherited |
|
inline |
Definition at line 192 of file G4MultiUnion.hh.
References fTransformObjs.
Referenced by CreatePolyhedron(), G4tgbGeometryDumper::DumpMultiUnionVolume(), Extent(), InsideNoVoxels(), and G4GDMLWriteSolids::MultiUnionWrite().
|
inline |
Definition at line 186 of file G4MultiUnion.hh.
References fVoxels.
|
virtual |
Implements G4VSolid.
Definition at line 503 of file G4MultiUnion.cc.
References InsideWithExclusion().
Referenced by GetCubicVolume(), and GetPointOnSurface().
EInside G4MultiUnion::InsideIterator | ( | const G4ThreeVector & | aPoint | ) | const |
EInside G4MultiUnion::InsideNoVoxels | ( | const G4ThreeVector & | aPoint | ) | const |
Definition at line 523 of file G4MultiUnion.cc.
References fSolids, GetLocalPoint(), GetTransformation(), G4VSolid::Inside(), kInside, kOutside, kSurface, and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
|
private |
Definition at line 429 of file G4MultiUnion.cc.
References fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetCandidatesVoxelArray(), GetLocalPoint(), G4VSolid::Inside(), kInside, kOutside, kRadTolerance, kSurface, CLHEP::detail::n, G4MultiUnion::G4MultiUnionSurface::point, G4MultiUnion::G4MultiUnionSurface::solid, G4VSolid::SurfaceNormal(), and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
Referenced by DistanceToOutVoxels(), and Inside().
G4MultiUnion & G4MultiUnion::operator= | ( | const G4MultiUnion & | rhs | ) |
Definition at line 106 of file G4MultiUnion.cc.
References G4VSolid::operator=().
|
private |
Definition at line 827 of file G4MultiUnion.cc.
References G4VSolid::DistanceToIn(), fAccurate, fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetBoxes(), GetLocalPoint(), kInfinity, G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by SurfaceNormal().
|
inline |
Definition at line 210 of file G4MultiUnion.hh.
References fAccurate.
|
inherited |
Definition at line 127 of file G4VSolid.cc.
References G4VSolid::fshapeName, G4SolidStore::GetInstance(), G4InuclParticleNames::name(), and G4SolidStore::SetMapValid().
Referenced by export_G4VSolid(), G4MultiUnion(), and G4GDMLRead::StripNames().
|
virtual |
Implements G4VSolid.
Definition at line 915 of file G4MultiUnion.cc.
References fSolids, fTransformObjs, G4VSolid::GetName(), G4VSolid::StreamInfo(), and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
|
virtual |
Implements G4VSolid.
Definition at line 642 of file G4MultiUnion.cc.
References G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetCandidatesVoxelArray(), GetGlobalVector(), GetLocalPoint(), G4VSolid::Inside(), kInfinity, kInside, kSurface, CLHEP::normal(), s, SafetyFromOutsideNumberNode(), G4VSolid::SurfaceNormal(), and G4coutFormatters::anonymous_namespace{G4coutFormatters.cc}::transform().
|
private |
Definition at line 871 of file G4MultiUnion.cc.
References GetGlobalPoint(), kInfinity, G4INCL::Math::max(), G4INCL::Math::min(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by Extent().
void G4MultiUnion::Voxelize | ( | ) |
Definition at line 821 of file G4MultiUnion.cc.
References fSolids, fTransformObjs, fVoxels, and G4Voxelizer::Voxelize().
Referenced by G4tgbVolume::FindOrConstructG4Solid(), and G4GDMLReadSolids::MultiUnionRead().
|
friend |
Definition at line 55 of file G4MultiUnion.hh.
|
mutableprivate |
Definition at line 179 of file G4MultiUnion.hh.
Referenced by DistanceToIn(), SafetyFromOutsideNumberNode(), and SetAccurateSafety().
|
private |
Definition at line 176 of file G4MultiUnion.hh.
Referenced by GetCubicVolume().
|
mutableprivate |
Definition at line 182 of file G4MultiUnion.hh.
Referenced by GetPolyhedron().
|
mutableprivate |
Definition at line 181 of file G4MultiUnion.hh.
Referenced by GetPolyhedron().
|
privateinherited |
Definition at line 312 of file G4VSolid.hh.
Referenced by G4VSolid::operator=(), and G4VSolid::SetName().
|
private |
Definition at line 173 of file G4MultiUnion.hh.
Referenced by AddNode(), DistanceToIn(), DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), DistanceToOutVoxels(), Extent(), G4MultiUnion(), GetNumberOfSolids(), GetPointOnSurface(), GetSolid(), InsideNoVoxels(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), StreamInfo(), SurfaceNormal(), and Voxelize().
|
private |
Definition at line 177 of file G4MultiUnion.hh.
Referenced by GetSurfaceArea().
|
private |
Definition at line 174 of file G4MultiUnion.hh.
Referenced by AddNode(), DistanceToIn(), DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), DistanceToOutVoxels(), G4MultiUnion(), GetPointOnSurface(), GetTransformation(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), StreamInfo(), SurfaceNormal(), and Voxelize().
|
private |
Definition at line 175 of file G4MultiUnion.hh.
Referenced by DistanceToIn(), DistanceToOut(), DistanceToOutVoxels(), GetVoxels(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), SurfaceNormal(), and Voxelize().
|
protectedinherited |
Definition at line 299 of file G4VSolid.hh.
Referenced by G4TessellatedSolid::AddFacet(), G4Polycone::CalculateExtent(), G4Polyhedra::CalculateExtent(), G4Tet::CheckDegeneracy(), G4Para::CheckParameters(), G4Trd::CheckParameters(), G4Ellipsoid::CheckParameters(), G4EllipticalTube::CheckParameters(), G4GenericTrap::ComputeIsTwisted(), G4Polyhedra::Create(), G4GenericPolycone::Create(), G4Polycone::Create(), G4CutTubs::CreatePolyhedron(), G4TessellatedSolid::CreateVertexList(), G4VCSGfaceted::DistanceTo(), G4Sphere::DistanceToIn(), G4Ellipsoid::DistanceToIn(), G4Hype::DistanceToIn(), G4Paraboloid::DistanceToIn(), G4VCSGfaceted::DistanceToIn(), G4TessellatedSolid::DistanceToInCore(), G4Cons::DistanceToOut(), G4CutTubs::DistanceToOut(), G4Sphere::DistanceToOut(), G4Torus::DistanceToOut(), G4Tubs::DistanceToOut(), G4GenericTrap::DistanceToOut(), G4Hype::DistanceToOut(), G4Paraboloid::DistanceToOut(), G4VCSGfaceted::DistanceToOut(), G4TessellatedSolid::DistanceToOutCandidates(), G4TessellatedSolid::DistanceToOutCore(), G4TessellatedSolid::DistanceToOutNoVoxels(), G4GenericTrap::DistToPlane(), G4GenericTrap::DistToTriangle(), G4Box::G4Box(), G4Cons::G4Cons(), G4CutTubs::G4CutTubs(), G4EllipticalCone::G4EllipticalCone(), G4ExtrudedSolid::G4ExtrudedSolid(), G4GenericTrap::G4GenericTrap(), G4Hype::G4Hype(), G4Para::G4Para(), G4Sphere::G4Sphere(), G4Tet::G4Tet(), G4Trap::G4Trap(), G4Tubs::G4Tubs(), G4UnionSolid::G4UnionSolid(), G4VSolid::G4VSolid(), G4VTwistedFaceted::G4VTwistedFaceted(), G4GenericPolycone::GetPointOnSurface(), G4Polycone::GetPointOnSurface(), G4UnionSolid::Init(), G4Orb::Initialize(), G4TessellatedSolid::Initialize(), G4SubtractionSolid::Inside(), G4Hype::Inside(), G4Paraboloid::Inside(), G4VCSGfaceted::Inside(), G4VTwistedFaceted::Inside(), G4TessellatedSolid::InsideNoVoxels(), G4GenericTrap::InsidePolygone(), G4TessellatedSolid::InsideVoxels(), G4CutTubs::IsCrossingCutPlanes(), G4GenericTrap::IsSegCrossingZ(), G4Trap::MakePlane(), G4GenericTrap::NormalToPlane(), G4VSolid::operator=(), G4TessellatedSolid::SafetyFromInside(), G4TessellatedSolid::SafetyFromOutside(), G4Torus::SetAllParameters(), G4Polycone::SetOriginalParameters(), G4Polyhedra::SetOriginalParameters(), G4Box::SetXHalfLength(), G4Box::SetYHalfLength(), G4Box::SetZHalfLength(), G4Torus::SurfaceNormal(), G4GenericTrap::SurfaceNormal(), and G4Paraboloid::SurfaceNormal().
|
private |
Definition at line 178 of file G4MultiUnion.hh.
Referenced by G4MultiUnion(), and InsideWithExclusion().