Geant4  10.00.p01
UReduciblePolygon Class Reference

#include <UReduciblePolygon.hh>

+ Collaboration diagram for UReduciblePolygon:

Classes

struct  ABVertex
 

Public Member Functions

 UReduciblePolygon (const double a[], const double b[], int n)
 
 UReduciblePolygon (const double rmin[], const double rmax[], const double z[], int n)
 
virtual ~UReduciblePolygon ()
 
int NumVertices () const
 
double Amin () const
 
double Amax () const
 
double Bmin () const
 
double Bmax () const
 
void CopyVertices (double a[], double b[]) const
 
void ScaleA (double scale)
 
void ScaleB (double scale)
 
bool RemoveDuplicateVertices (double tolerance)
 
bool RemoveRedundantVertices (double tolerance)
 
void ReverseOrder ()
 
void StartWithZMin ()
 
double Area ()
 
bool CrossesItself (double tolerance)
 
bool BisectedBy (double a1, double b1, double a2, double b2, double tolerance)
 
void Print ()
 

Protected Member Functions

void Create (const double a[], const double b[], int n)
 
void CalculateMaxMin ()
 

Protected Attributes

double aMin
 
double aMax
 
double bMin
 
double bMax
 
int numVertices
 
ABVertexvertexHead
 

Private Member Functions

 UReduciblePolygon (const UReduciblePolygon &)
 
UReduciblePolygonoperator= (const UReduciblePolygon &)
 

Friends

class UReduciblePolygonIterator
 
struct ABVertex
 

Detailed Description

Definition at line 39 of file UReduciblePolygon.hh.

Constructor & Destructor Documentation

UReduciblePolygon::UReduciblePolygon ( const double  a[],
const double  b[],
int  n 
)

Definition at line 28 of file UReduciblePolygon.cc.

References Create().

+ Here is the call graph for this function:

UReduciblePolygon::UReduciblePolygon ( const double  rmin[],
const double  rmax[],
const double  z[],
int  n 
)

Definition at line 44 of file UReduciblePolygon.cc.

References a, Create(), and n.

+ Here is the call graph for this function:

UReduciblePolygon::~UReduciblePolygon ( )
virtual

Definition at line 121 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::next, and vertexHead.

UReduciblePolygon::UReduciblePolygon ( const UReduciblePolygon )
private

Member Function Documentation

double UReduciblePolygon::Amax ( ) const
inline

Definition at line 71 of file UReduciblePolygon.hh.

References aMax.

Referenced by UGenericPolycone::Create(), UPolyhedra::Create(), UPolycone::Init(), and UPolyPhiFace::UPolyPhiFace().

+ Here is the caller graph for this function:

double UReduciblePolygon::Amin ( ) const
inline

Definition at line 67 of file UReduciblePolygon.hh.

References aMin.

Referenced by UGenericPolycone::Create(), UPolyhedra::Create(), UPolycone::Init(), and UPolyPhiFace::UPolyPhiFace().

+ Here is the caller graph for this function:

double UReduciblePolygon::Area ( )

Definition at line 537 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::a, UReduciblePolygon::ABVertex::b, UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by UGenericPolycone::Create(), and UPolyhedra::Create().

+ Here is the caller graph for this function:

bool UReduciblePolygon::BisectedBy ( double  a1,
double  b1,
double  a2,
double  b2,
double  tolerance 
)

Definition at line 490 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::a, a1, UReduciblePolygon::ABVertex::b, b1, UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by UGenericPolycone::Create().

+ Here is the caller graph for this function:

double UReduciblePolygon::Bmax ( ) const
inline

Definition at line 79 of file UReduciblePolygon.hh.

References bMax.

Referenced by UGenericPolycone::Create(), UPolyhedra::Create(), UPolycone::Init(), UPolycone::SetOriginalParameters(), and UPolyPhiFace::UPolyPhiFace().

+ Here is the caller graph for this function:

double UReduciblePolygon::Bmin ( ) const
inline

Definition at line 75 of file UReduciblePolygon.hh.

References bMin.

Referenced by UGenericPolycone::Create(), UPolyhedra::Create(), UPolycone::Init(), and UPolyPhiFace::UPolyPhiFace().

+ Here is the caller graph for this function:

void UReduciblePolygon::CalculateMaxMin ( )
protected

Definition at line 577 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::a, aMax, aMin, UReduciblePolygon::ABVertex::b, bMax, bMin, UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by Create(), RemoveDuplicateVertices(), and RemoveRedundantVertices().

+ Here is the caller graph for this function:

void UReduciblePolygon::CopyVertices ( double  a[],
double  b[] 
) const

Definition at line 140 of file UReduciblePolygon.cc.

References a, UReduciblePolygon::ABVertex::a, UReduciblePolygon::ABVertex::b, UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by UVCSGfaceted::InitVoxels().

+ Here is the caller graph for this function:

void UReduciblePolygon::Create ( const double  a[],
const double  b[],
int  n 
)
protected

Definition at line 82 of file UReduciblePolygon.cc.

References a, UReduciblePolygon::ABVertex::a, ABVertex, UReduciblePolygon::ABVertex::b, CalculateMaxMin(), UUtils::Exception(), FatalErrorInArguments, n, UReduciblePolygon::ABVertex::next, numVertices, and vertexHead.

Referenced by UReduciblePolygon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool UReduciblePolygon::CrossesItself ( double  tolerance)

Definition at line 432 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::a, UReduciblePolygon::ABVertex::b, UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by UGenericPolycone::Create(), and UPolyhedra::Create().

+ Here is the caller graph for this function:

int UReduciblePolygon::NumVertices ( ) const
inline

Definition at line 62 of file UReduciblePolygon.hh.

References numVertices.

Referenced by UGenericPolycone::Create(), UPolyhedra::Create(), UVCSGfaceted::InitVoxels(), and UPolyPhiFace::UPolyPhiFace().

+ Here is the caller graph for this function:

UReduciblePolygon& UReduciblePolygon::operator= ( const UReduciblePolygon )
private
void UReduciblePolygon::Print ( void  )
bool UReduciblePolygon::RemoveDuplicateVertices ( double  tolerance)

Definition at line 191 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::a, UReduciblePolygon::ABVertex::b, CalculateMaxMin(), UReduciblePolygon::ABVertex::next, numVertices, and vertexHead.

Referenced by UGenericPolycone::Create(), and UPolyhedra::Create().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool UReduciblePolygon::RemoveRedundantVertices ( double  tolerance)

Definition at line 246 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::a, UReduciblePolygon::ABVertex::b, CalculateMaxMin(), UReduciblePolygon::ABVertex::next, numVertices, and vertexHead.

Referenced by UGenericPolycone::Create(), and UPolyhedra::Create().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void UReduciblePolygon::ReverseOrder ( )

Definition at line 343 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by UGenericPolycone::Create(), and UPolyhedra::Create().

+ Here is the caller graph for this function:

void UReduciblePolygon::ScaleA ( double  scale)

Definition at line 158 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::a, UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by UPolyhedra::Init().

+ Here is the caller graph for this function:

void UReduciblePolygon::ScaleB ( double  scale)
void UReduciblePolygon::StartWithZMin ( )

Definition at line 395 of file UReduciblePolygon.cc.

References UReduciblePolygon::ABVertex::b, UReduciblePolygon::ABVertex::next, and vertexHead.

Referenced by UPolycone::SetOriginalParameters().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend struct ABVertex
friend

Definition at line 127 of file UReduciblePolygon.hh.

Referenced by Create().

friend class UReduciblePolygonIterator
friend

Definition at line 41 of file UReduciblePolygon.hh.

Member Data Documentation

double UReduciblePolygon::aMax
protected

Definition at line 118 of file UReduciblePolygon.hh.

Referenced by Amax(), and CalculateMaxMin().

double UReduciblePolygon::aMin
protected

Definition at line 118 of file UReduciblePolygon.hh.

Referenced by Amin(), and CalculateMaxMin().

double UReduciblePolygon::bMax
protected

Definition at line 118 of file UReduciblePolygon.hh.

Referenced by Bmax(), and CalculateMaxMin().

double UReduciblePolygon::bMin
protected

Definition at line 118 of file UReduciblePolygon.hh.

Referenced by Bmin(), and CalculateMaxMin().

int UReduciblePolygon::numVertices
protected

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