Geant4_10
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
UVCSGfaceted Class Reference

#include <UVCSGfaceted.hh>

Inheritance diagram for UVCSGfaceted:
Inheritance graph
[legend]
Collaboration diagram for UVCSGfaceted:
Collaboration graph
[legend]

Public Member Functions

 UVCSGfaceted (const std::string &name)
 
virtual ~UVCSGfaceted ()
 
 UVCSGfaceted (const UVCSGfaceted &source)
 
UVCSGfacetedoperator= (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 VUSolidClone () 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
 

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
 

Detailed Description

Definition at line 33 of file UVCSGfaceted.hh.

Constructor & Destructor Documentation

UVCSGfaceted::UVCSGfaceted ( const std::string &  name)

Definition at line 31 of file UVCSGfaceted.cc.

UVCSGfaceted::~UVCSGfaceted ( )
virtual

Definition at line 41 of file UVCSGfaceted.cc.

Here is the call graph for this function:

UVCSGfaceted::UVCSGfaceted ( const UVCSGfaceted source)

Definition at line 49 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Member Function Documentation

double UVCSGfaceted::Capacity ( )
virtual

Implements VUSolid.

Definition at line 519 of file UVCSGfaceted.cc.

Here is the call graph for this function:

void UVCSGfaceted::CopyStuff ( const UVCSGfaceted source)
protected

Definition at line 91 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void UVCSGfaceted::DeleteStuff ( )
protected

Definition at line 124 of file UVCSGfaceted.cc.

Here is the caller graph for this function:

double UVCSGfaceted::DistanceTo ( const UVector3 p,
const bool  outgoing 
) const

Definition at line 399 of file UVCSGfaceted.cc.

Here is the caller graph for this function:

double UVCSGfaceted::DistanceToIn ( const UVector3 p,
const UVector3 v,
double  aPstep = UUtils::kInfinity 
) const
virtual

Implements VUSolid.

Reimplemented in UPolyhedra, and UGenericPolycone.

Definition at line 670 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UVCSGfaceted::DistanceToInNoVoxels ( const UVector3 p,
const UVector3 v 
) const
inline

Definition at line 272 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UVCSGfaceted::DistanceToOut ( const UVector3 p,
const UVector3 v,
UVector3 n,
bool &  aConvex,
double  aPstep = UUtils::kInfinity 
) const
virtual

Implements VUSolid.

Definition at line 755 of file UVCSGfaceted.cc.

Here is the call graph for this function:

double UVCSGfaceted::DistanceToOutNoVoxels ( const UVector3 p,
const UVector3 v,
UVector3 n,
bool &  aConvex 
) const
inline

Definition at line 325 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void UVCSGfaceted::FindCandidates ( double  z,
std::vector< int > &  candidates,
bool  sides = false 
)
protected

Definition at line 653 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UVCSGfaceted::GetAreaAccuracy ( ) const

Definition at line 490 of file UVCSGfaceted.cc.

int UVCSGfaceted::GetAreaStatistics ( ) const

Definition at line 481 of file UVCSGfaceted.cc.

double UVCSGfaceted::GetCubVolEpsilon ( ) const

Definition at line 452 of file UVCSGfaceted.cc.

int UVCSGfaceted::GetCubVolStatistics ( ) const

Definition at line 443 of file UVCSGfaceted.cc.

UGeometryType UVCSGfaceted::GetEntityType ( ) const
virtual

Implements VUSolid.

Reimplemented in UPolyhedra, and UGenericPolycone.

Definition at line 417 of file UVCSGfaceted.cc.

UVector3 UVCSGfaceted::GetPointOnSurfaceGeneric ( ) const
protected

Definition at line 553 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int UVCSGfaceted::GetSection ( double  z) const
inlineprotected

Definition at line 104 of file UVCSGfaceted.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

void UVCSGfaceted::InitVoxels ( UReduciblePolygon z,
double  radius 
)
protected

Definition at line 615 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

VUSolid::EnumInside UVCSGfaceted::Inside ( const UVector3 p) const
virtual

Implements VUSolid.

Reimplemented in UPolyhedra, and UGenericPolycone.

Definition at line 846 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

VUSolid::EnumInside UVCSGfaceted::InsideNoVoxels ( const UVector3 p) const
inline

Definition at line 179 of file UVCSGfaceted.cc.

Here is the caller graph for this function:

bool UVCSGfaceted::Normal ( const UVector3 p,
UVector3 n 
) const
virtual

Implements VUSolid.

Definition at line 209 of file UVCSGfaceted.cc.

Here is the call graph for this function:

UVCSGfaceted & UVCSGfaceted::operator= ( const UVCSGfaceted source)

Definition at line 63 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UVCSGfaceted::SafetyFromInside ( const UVector3 aPoint,
bool  aAccurate = false 
) const
virtual

Implements VUSolid.

Definition at line 921 of file UVCSGfaceted.cc.

Here is the call graph for this function:

double UVCSGfaceted::SafetyFromInsideNoVoxels ( const UVector3 aPoint,
bool  aAccurate = false 
) const
virtual

Definition at line 609 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UVCSGfaceted::SafetyFromInsideSection ( int  index,
const UVector3 p,
UBits bits 
) const
protected

Definition at line 900 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

double UVCSGfaceted::SafetyFromOutside ( const UVector3 aPoint,
bool  aAccurate = false 
) const
virtual

Implements VUSolid.

Reimplemented in UPolyhedra.

Definition at line 599 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void UVCSGfaceted::SetAreaAccuracy ( double  ep)

Definition at line 509 of file UVCSGfaceted.cc.

void UVCSGfaceted::SetAreaStatistics ( int  st)

Definition at line 499 of file UVCSGfaceted.cc.

void UVCSGfaceted::SetCubVolEpsilon ( double  ep)

Definition at line 471 of file UVCSGfaceted.cc.

void UVCSGfaceted::SetCubVolStatistics ( int  st)

Definition at line 461 of file UVCSGfaceted.cc.

std::ostream & UVCSGfaceted::StreamInfo ( std::ostream &  os) const
virtual

Implements VUSolid.

Reimplemented in UPolyhedra, and UGenericPolycone.

Definition at line 426 of file UVCSGfaceted.cc.

Here is the call graph for this function:

double UVCSGfaceted::SurfaceArea ( )
virtual

Implements VUSolid.

Definition at line 536 of file UVCSGfaceted.cc.

Here is the call graph for this function:

Member Data Documentation

UVCSGface** UVCSGfaceted::faces
protected

Definition at line 113 of file UVCSGfaceted.hh.

UBox UVCSGfaceted::fBox
mutableprotected

Definition at line 121 of file UVCSGfaceted.hh.

double UVCSGfaceted::fBoxShift
protected

Definition at line 122 of file UVCSGfaceted.hh.

std::vector<std::vector<int> > UVCSGfaceted::fCandidates
protected

Definition at line 119 of file UVCSGfaceted.hh.

double UVCSGfaceted::fCubicVolume
protected

Definition at line 114 of file UVCSGfaceted.hh.

int UVCSGfaceted::fMaxSection
protected

Definition at line 120 of file UVCSGfaceted.hh.

bool UVCSGfaceted::fNoVoxels
protected

Definition at line 123 of file UVCSGfaceted.hh.

double UVCSGfaceted::fSurfaceArea
protected

Definition at line 115 of file UVCSGfaceted.hh.

std::vector<double> UVCSGfaceted::fZs
protected

Definition at line 118 of file UVCSGfaceted.hh.

int UVCSGfaceted::numFace
protected

Definition at line 112 of file UVCSGfaceted.hh.


The documentation for this class was generated from the following files: