|
Geant4
10.00.p02
|
#include <UVCSGfaceted.hh>
Inheritance diagram for UVCSGfaceted:
Collaboration diagram for UVCSGfaceted:Public Member Functions | |
| UVCSGfaceted (const std::string &name) | |
| virtual | ~UVCSGfaceted () |
| UVCSGfaceted (const UVCSGfaceted &source) | |
| UVCSGfaceted & | operator= (const UVCSGfaceted &source) |
| VUSolid::EnumInside | InsideNoVoxels (const UVector3 &p) const |
| virtual VUSolid::EnumInside | Inside (const UVector3 &p) const |
| virtual bool | Normal (const UVector3 &p, UVector3 &n) const |
| double | DistanceToInNoVoxels (const UVector3 &p, const UVector3 &v) const |
| virtual double | DistanceToIn (const UVector3 &p, const UVector3 &v, double aPstep=UUtils::kInfinity) const |
| virtual double | SafetyFromOutside (const UVector3 &aPoint, bool aAccurate=false) const |
| double | DistanceTo (const UVector3 &p, const bool outgoing) const |
| double | DistanceToOutNoVoxels (const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex) const |
| virtual double | DistanceToOut (const UVector3 &p, const UVector3 &v, UVector3 &n, bool &aConvex, double aPstep=UUtils::kInfinity) const |
| virtual double | SafetyFromInside (const UVector3 &aPoint, bool aAccurate=false) const |
| virtual double | SafetyFromInsideNoVoxels (const UVector3 &aPoint, bool aAccurate=false) const |
| virtual UGeometryType | GetEntityType () const |
| virtual std::ostream & | StreamInfo (std::ostream &os) const |
| int | GetCubVolStatistics () const |
| double | GetCubVolEpsilon () const |
| void | SetCubVolStatistics (int st) |
| void | SetCubVolEpsilon (double ep) |
| int | GetAreaStatistics () const |
| double | GetAreaAccuracy () const |
| void | SetAreaStatistics (int st) |
| void | SetAreaAccuracy (double ep) |
| virtual double | Capacity () |
| virtual double | SurfaceArea () |
Public Member Functions inherited from VUSolid | |
| VUSolid () | |
| VUSolid (const std::string &name) | |
| virtual | ~VUSolid () |
| double | GetCarTolerance () const |
| double | GetRadTolerance () const |
| double | GetAngTolerance () const |
| void | SetCarTolerance (double eps) |
| void | SetRadTolerance (double eps) |
| void | SetAngTolerance (double eps) |
| virtual void | ExtentAxis (EAxisType aAxis, double &aMin, double &aMax) const |
| virtual void | Extent (UVector3 &aMin, UVector3 &aMax) const =0 |
| const std::string & | GetName () const |
| void | SetName (const std::string &aName) |
| virtual void | SamplePointsInside (int, UVector3 *) const |
| virtual void | SamplePointsOnSurface (int, UVector3 *) const |
| virtual void | SamplePointsOnEdge (int, UVector3 *) const |
| virtual void | GetParametersList (int aNumber, double *aArray) const =0 |
| virtual VUSolid * | Clone () const =0 |
| virtual UVector3 | GetPointOnSurface () const =0 |
| double | EstimateCubicVolume (int nStat, double epsilon) const |
| double | EstimateSurfaceArea (int nStat, double ell) const |
Protected Member Functions | |
| double | SafetyFromInsideSection (int index, const UVector3 &p, UBits &bits) const |
| int | GetSection (double z) const |
| UVector3 | GetPointOnSurfaceGeneric () const |
| void | CopyStuff (const UVCSGfaceted &source) |
| void | DeleteStuff () |
| void | FindCandidates (double z, std::vector< int > &candidates, bool sides=false) |
| void | InitVoxels (UReduciblePolygon &z, double radius) |
Protected Member Functions inherited from VUSolid | |
| virtual void | ComputeBBox (UBBox *aBox, bool aStore=false)=0 |
Protected Attributes | |
| int | numFace |
| UVCSGface ** | faces |
| double | fCubicVolume |
| double | fSurfaceArea |
| std::vector< double > | fZs |
| std::vector< std::vector< int > > | fCandidates |
| int | fMaxSection |
| UBox | fBox |
| double | fBoxShift |
| bool | fNoVoxels |
Private Attributes | |
| int | fStatistics |
| double | fCubVolEpsilon |
| double | fAreaAccuracy |
Additional Inherited Members | |
Public Types inherited from VUSolid | |
| enum | EnumInside { eInside =0, eSurface =1, eOutside =2 } |
| enum | EAxisType { eXaxis =0, eYaxis =1, eZaxis =2 } |
Static Public Member Functions inherited from VUSolid | |
| static double | Tolerance () |
Static Protected Attributes inherited from VUSolid | |
| static double | fgTolerance = 1.0E-9 |
| static double | frTolerance = 1.0E-9 |
| static double | faTolerance = 1.0E-9 |
Definition at line 33 of file UVCSGfaceted.hh.
| UVCSGfaceted::UVCSGfaceted | ( | const std::string & | name | ) |
Definition at line 31 of file UVCSGfaceted.cc.
|
virtual |
Definition at line 41 of file UVCSGfaceted.cc.
References DeleteStuff().
Here is the call graph for this function:| UVCSGfaceted::UVCSGfaceted | ( | const UVCSGfaceted & | source | ) |
Definition at line 49 of file UVCSGfaceted.cc.
References CopyStuff(), fAreaAccuracy, fCubVolEpsilon, and fStatistics.
Here is the call graph for this function:
|
virtual |
Implements VUSolid.
Definition at line 520 of file UVCSGfaceted.cc.
References VUSolid::EstimateCubicVolume(), fCubicVolume, fCubVolEpsilon, and fStatistics.
Here is the call graph for this function:
|
protected |
Definition at line 91 of file UVCSGfaceted.cc.
References UVCSGface::Clone(), faces, fBox, fBoxShift, fCubicVolume, fMaxSection, fNoVoxels, fSurfaceArea, fZs, and numFace.
Referenced by operator=(), and UVCSGfaceted().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 124 of file UVCSGfaceted.cc.
References faces, and numFace.
Referenced by UPolyhedra::Reset(), and ~UVCSGfaceted().
Here is the caller graph for this function:| double UVCSGfaceted::DistanceTo | ( | const UVector3 & | p, |
| const bool | outgoing | ||
| ) | const |
Definition at line 400 of file UVCSGfaceted.cc.
References faces, VUSolid::fgTolerance, UUtils::kInfinity, and numFace.
Referenced by SafetyFromInsideNoVoxels(), and SafetyFromOutside().
Here is the caller graph for this function:
|
virtual |
Implements VUSolid.
Reimplemented in UPolyhedra, and UGenericPolycone.
Definition at line 671 of file UVCSGfaceted.cc.
References UVCSGface::Distance(), UBox::DistanceToIn(), DistanceToInNoVoxels(), faces, fBox, fBoxShift, fCandidates, VUSolid::fgTolerance, fMaxSection, fNoVoxels, fZs, GetSection(), UUtils::kInfinity, numFace, UVCSGface::Safety(), UBits::SetBitNumber(), UVector3::x, UVector3::y, z, and UVector3::z.
Referenced by UGenericPolycone::DistanceToIn(), and UPolyhedra::DistanceToIn().
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 272 of file UVCSGfaceted.cc.
References faces, VUSolid::fgTolerance, UUtils::kInfinity, numFace, and UVCSGface::Safety().
Referenced by DistanceToIn().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements VUSolid.
Definition at line 756 of file UVCSGfaceted.cc.
References UVCSGface::Distance(), DistanceToOutNoVoxels(), VUSolid::eSurface, faces, fCandidates, VUSolid::fgTolerance, fMaxSection, fNoVoxels, fZs, GetSection(), Inside(), UUtils::kInfinity, CLHEP::normal(), numFace, UVCSGface::Safety(), UBits::SetBitNumber(), and UVector3::z.
Here is the call graph for this function:| double UVCSGfaceted::DistanceToOutNoVoxels | ( | const UVector3 & | p, |
| const UVector3 & | v, | ||
| UVector3 & | n, | ||
| bool & | aConvex | ||
| ) | const |
Definition at line 325 of file UVCSGfaceted.cc.
References VUSolid::eSurface, faces, VUSolid::fgTolerance, Inside(), UUtils::kInfinity, CLHEP::normal(), numFace, and UVCSGface::Safety().
Referenced by DistanceToOut().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 654 of file UVCSGfaceted.cc.
References UVCSGface::Extent(), faces, VUSolid::fgTolerance, and numFace.
Referenced by InitVoxels().
Here is the call graph for this function:
Here is the caller graph for this function:| double UVCSGfaceted::GetAreaAccuracy | ( | ) | const |
Definition at line 491 of file UVCSGfaceted.cc.
References fAreaAccuracy.
| int UVCSGfaceted::GetAreaStatistics | ( | ) | const |
Definition at line 482 of file UVCSGfaceted.cc.
References fStatistics.
| double UVCSGfaceted::GetCubVolEpsilon | ( | ) | const |
Definition at line 453 of file UVCSGfaceted.cc.
References fCubVolEpsilon.
| int UVCSGfaceted::GetCubVolStatistics | ( | ) | const |
Definition at line 444 of file UVCSGfaceted.cc.
References fStatistics.
|
virtual |
Implements VUSolid.
Reimplemented in UPolyhedra, and UGenericPolycone.
Definition at line 418 of file UVCSGfaceted.cc.
|
protected |
Definition at line 554 of file UVCSGfaceted.cc.
References faces, numFace, UUtils::Random(), and UVCSGface::SurfaceArea().
Referenced by UGenericPolycone::GetPointOnSurface(), and UPolyhedra::GetPointOnSurface().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
Definition at line 104 of file UVCSGfaceted.hh.
References UVoxelizer::BinarySearch(), fMaxSection, and fZs.
Referenced by DistanceToIn(), DistanceToOut(), Inside(), and Normal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 616 of file UVCSGfaceted.cc.
References UReduciblePolygon::CopyVertices(), fBox, fBoxShift, fCandidates, FindCandidates(), fMaxSection, fZs, UBox::GetZHalfLength(), left, UReduciblePolygon::NumVertices(), right, UBox::Set(), and z.
Referenced by UGenericPolycone::Create(), and UPolyhedra::Create().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements VUSolid.
Reimplemented in UPolyhedra, and UGenericPolycone.
Definition at line 847 of file UVCSGfaceted.cc.
References VUSolid::eOutside, VUSolid::eSurface, faces, fCandidates, VUSolid::fgTolerance, fMaxSection, fNoVoxels, fZs, GetSection(), UVCSGface::Inside(), InsideNoVoxels(), UUtils::kInfinity, numFace, UBits::SetBitNumber(), and UVector3::z.
Referenced by DistanceToOut(), DistanceToOutNoVoxels(), UGenericPolycone::Inside(), and UPolyhedra::Inside().
Here is the call graph for this function:
Here is the caller graph for this function:| VUSolid::EnumInside UVCSGfaceted::InsideNoVoxels | ( | const UVector3 & | p | ) | const |
Definition at line 179 of file UVCSGfaceted.cc.
References VUSolid::eOutside, VUSolid::eSurface, faces, VUSolid::fgTolerance, UUtils::kInfinity, and numFace.
Referenced by Inside().
Here is the caller graph for this function:Implements VUSolid.
Definition at line 209 of file UVCSGfaceted.cc.
References faces, fCandidates, VUSolid::fgTolerance, GetSection(), UUtils::kInfinity, UVCSGface::Normal(), CLHEP::normal(), numFace, UBits::SetBitNumber(), and UVector3::z.
Here is the call graph for this function:| UVCSGfaceted & UVCSGfaceted::operator= | ( | const UVCSGfaceted & | source | ) |
Definition at line 63 of file UVCSGfaceted.cc.
References CopyStuff(), fAreaAccuracy, fCubVolEpsilon, and fStatistics.
Referenced by UGenericPolycone::operator=(), and UPolyhedra::operator=().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements VUSolid.
Definition at line 922 of file UVCSGfaceted.cc.
References UVoxelizer::BinarySearch(), VUSolid::fgTolerance, fMaxSection, fNoVoxels, fZs, UUtils::kInfinity, numFace, SafetyFromInsideNoVoxels(), SafetyFromInsideSection(), and UVector3::z.
Here is the call graph for this function:
|
virtual |
Definition at line 610 of file UVCSGfaceted.cc.
References DistanceTo().
Referenced by SafetyFromInside().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 901 of file UVCSGfaceted.cc.
References faces, fCandidates, UUtils::kInfinity, UVCSGface::Safety(), and UBits::SetBitNumber().
Referenced by SafetyFromInside().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Implements VUSolid.
Reimplemented in UPolyhedra.
Definition at line 600 of file UVCSGfaceted.cc.
References DistanceTo(), fBox, fBoxShift, UBox::SafetyFromOutside(), UVector3::x, UVector3::y, and UVector3::z.
Referenced by UPolyhedra::SafetyFromOutside().
Here is the call graph for this function:
Here is the caller graph for this function:| void UVCSGfaceted::SetAreaAccuracy | ( | double | ep | ) |
Definition at line 510 of file UVCSGfaceted.cc.
References fAreaAccuracy, and fSurfaceArea.
| void UVCSGfaceted::SetAreaStatistics | ( | int | st | ) |
Definition at line 500 of file UVCSGfaceted.cc.
References fStatistics, and fSurfaceArea.
| void UVCSGfaceted::SetCubVolEpsilon | ( | double | ep | ) |
Definition at line 472 of file UVCSGfaceted.cc.
References fCubicVolume, and fCubVolEpsilon.
| void UVCSGfaceted::SetCubVolStatistics | ( | int | st | ) |
Definition at line 462 of file UVCSGfaceted.cc.
References fCubicVolume, and fStatistics.
|
virtual |
Implements VUSolid.
Reimplemented in UPolyhedra, and UGenericPolycone.
Definition at line 427 of file UVCSGfaceted.cc.
References VUSolid::GetName(), and numFace.
Here is the call graph for this function:
|
virtual |
Implements VUSolid.
Definition at line 537 of file UVCSGfaceted.cc.
References VUSolid::EstimateSurfaceArea(), fAreaAccuracy, fStatistics, and fSurfaceArea.
Here is the call graph for this function:
|
protected |
Definition at line 113 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), UGenericPolycone::Create(), UPolyhedra::Create(), DeleteStuff(), DistanceTo(), DistanceToIn(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), FindCandidates(), GetPointOnSurfaceGeneric(), Inside(), InsideNoVoxels(), Normal(), and SafetyFromInsideSection().
|
private |
Definition at line 140 of file UVCSGfaceted.hh.
Referenced by GetAreaAccuracy(), operator=(), SetAreaAccuracy(), SurfaceArea(), and UVCSGfaceted().
|
mutableprotected |
Definition at line 121 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), DistanceToIn(), InitVoxels(), and SafetyFromOutside().
|
protected |
Definition at line 122 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), DistanceToIn(), InitVoxels(), and SafetyFromOutside().
|
protected |
Definition at line 119 of file UVCSGfaceted.hh.
Referenced by DistanceToIn(), DistanceToOut(), InitVoxels(), Inside(), Normal(), and SafetyFromInsideSection().
|
protected |
Definition at line 114 of file UVCSGfaceted.hh.
Referenced by Capacity(), CopyStuff(), SetCubVolEpsilon(), and SetCubVolStatistics().
|
private |
Definition at line 139 of file UVCSGfaceted.hh.
Referenced by Capacity(), GetCubVolEpsilon(), operator=(), SetCubVolEpsilon(), and UVCSGfaceted().
|
protected |
Definition at line 120 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), UGenericPolycone::Create(), UPolyhedra::Create(), DistanceToIn(), DistanceToOut(), GetSection(), InitVoxels(), Inside(), and SafetyFromInside().
|
protected |
Definition at line 123 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), UGenericPolycone::Create(), UPolyhedra::Create(), DistanceToIn(), UPolyhedra::DistanceToIn(), DistanceToOut(), Inside(), and SafetyFromInside().
|
private |
Definition at line 138 of file UVCSGfaceted.hh.
Referenced by Capacity(), GetAreaStatistics(), GetCubVolStatistics(), operator=(), SetAreaStatistics(), SetCubVolStatistics(), SurfaceArea(), and UVCSGfaceted().
|
protected |
Definition at line 115 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), SetAreaAccuracy(), SetAreaStatistics(), and SurfaceArea().
|
protected |
Definition at line 118 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), DistanceToIn(), DistanceToOut(), GetSection(), InitVoxels(), Inside(), and SafetyFromInside().
|
protected |
Definition at line 112 of file UVCSGfaceted.hh.
Referenced by CopyStuff(), UGenericPolycone::Create(), UPolyhedra::Create(), DeleteStuff(), DistanceTo(), DistanceToIn(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), FindCandidates(), GetPointOnSurfaceGeneric(), Inside(), InsideNoVoxels(), Normal(), SafetyFromInside(), and StreamInfo().