Geant4  10.01.p02
VUFacet Class Referenceabstract

#include <VUFacet.hh>

+ Inheritance diagram for VUFacet:

Public Member Functions

virtual ~VUFacet ()
 
virtual int GetNumberOfVertices () const =0
 
virtual UVector3 GetVertex (int i) const =0
 
virtual void SetVertex (int i, const UVector3 &val)=0
 
virtual UGeometryType GetEntityType () const =0
 
virtual UVector3 GetSurfaceNormal () const =0
 
virtual bool IsDefined () const =0
 
virtual UVector3 GetCircumcentre () const =0
 
virtual double GetRadius () const =0
 
virtual VUFacetGetClone ()=0
 
virtual double Distance (const UVector3 &, const double)=0
 
virtual double Distance (const UVector3 &, const double, const bool)=0
 
virtual double Extent (const UVector3)=0
 
virtual bool Intersect (const UVector3 &, const UVector3 &, const bool, double &, double &, UVector3 &)=0
 
virtual double GetArea ()=0
 
virtual UVector3 GetPointOnFace () const =0
 
bool operator== (const VUFacet &right) const
 
void ApplyTranslation (const UVector3 v)
 
std::ostream & StreamInfo (std::ostream &os) const
 
bool IsInside (const UVector3 &p) const
 
virtual int AllocatedMemory ()=0
 
virtual void SetVertexIndex (const int i, const int j)=0
 
virtual int GetVertexIndex (const int i) const =0
 
virtual void SetVertices (std::vector< UVector3 > *vertices)=0
 

Static Protected Attributes

static const double dirTolerance = 1.0E-14
 
static const double kCarTolerance = VUSolid::Tolerance()
 

Detailed Description

Definition at line 53 of file VUFacet.hh.

Constructor & Destructor Documentation

virtual VUFacet::~VUFacet ( )
inlinevirtual

Definition at line 57 of file VUFacet.hh.

Member Function Documentation

virtual int VUFacet::AllocatedMemory ( )
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

Referenced by UTessellatedSolid::AllocatedMemoryWithoutVoxels().

+ Here is the caller graph for this function:

void VUFacet::ApplyTranslation ( const UVector3  v)

Definition at line 70 of file VUFacet.cc.

References n.

virtual double VUFacet::Distance ( const UVector3 ,
const double   
)
pure virtual
virtual double VUFacet::Distance ( const UVector3 ,
const double  ,
const bool   
)
pure virtual

Implemented in UTriangularFacet, and UQuadrangularFacet.

virtual double VUFacet::Extent ( const UVector3  )
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

Referenced by UVoxelizer::BuildVoxelLimits().

+ Here is the caller graph for this function:

virtual double VUFacet::GetArea ( )
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

Referenced by UTessellatedSolid::GetSurfaceArea().

+ Here is the caller graph for this function:

virtual UVector3 VUFacet::GetCircumcentre ( ) const
pure virtual

Implemented in UTriangularFacet, and UQuadrangularFacet.

Referenced by UTessellatedSolid::AddFacet(), and operator==().

+ Here is the caller graph for this function:

virtual VUFacet* VUFacet::GetClone ( )
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

virtual UGeometryType VUFacet::GetEntityType ( ) const
pure virtual

Implemented in UTriangularFacet, and UQuadrangularFacet.

virtual int VUFacet::GetNumberOfVertices ( ) const
pure virtual

Implemented in UTriangularFacet, and UQuadrangularFacet.

Referenced by UTessellatedSolid::CreateVertexList(), and operator==().

+ Here is the caller graph for this function:

virtual UVector3 VUFacet::GetPointOnFace ( ) const
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

virtual double VUFacet::GetRadius ( ) const
pure virtual

Implemented in UTriangularFacet, and UQuadrangularFacet.

virtual UVector3 VUFacet::GetSurfaceNormal ( ) const
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

Referenced by UTessellatedSolid::Normal(), and operator==().

+ Here is the caller graph for this function:

virtual UVector3 VUFacet::GetVertex ( int  i) const
pure virtual

Implemented in UTriangularFacet, and UQuadrangularFacet.

Referenced by UTessellatedSolid::CreateVertexList(), and operator==().

+ Here is the caller graph for this function:

virtual int VUFacet::GetVertexIndex ( const int  i) const
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

virtual bool VUFacet::Intersect ( const UVector3 ,
const UVector3 ,
const bool  ,
double &  ,
double &  ,
UVector3  
)
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

Referenced by UTessellatedSolid::DistanceToInCandidates(), UTessellatedSolid::DistanceToInNoVoxels(), UTessellatedSolid::DistanceToOutCandidates(), UTessellatedSolid::DistanceToOutNoVoxels(), and UTessellatedSolid::InsideVoxels().

+ Here is the caller graph for this function:

virtual bool VUFacet::IsDefined ( ) const
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

Referenced by UTessellatedSolid::AddFacet().

+ Here is the caller graph for this function:

bool VUFacet::IsInside ( const UVector3 p) const

Definition at line 100 of file VUFacet.cc.

References UVector3::Dot().

Referenced by UTessellatedSolid::SetExtremeFacets().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool VUFacet::operator== ( const VUFacet right) const

Definition at line 42 of file VUFacet.cc.

References GetCircumcentre(), GetNumberOfVertices(), GetSurfaceNormal(), GetVertex(), and tolerance.

+ Here is the call graph for this function:

virtual void VUFacet::SetVertex ( int  i,
const UVector3 val 
)
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

virtual void VUFacet::SetVertexIndex ( const int  i,
const int  j 
)
pure virtual

Implemented in UQuadrangularFacet, and UTriangularFacet.

Referenced by UTessellatedSolid::CreateVertexList().

+ Here is the caller graph for this function:

virtual void VUFacet::SetVertices ( std::vector< UVector3 > *  vertices)
pure virtual

Implemented in UTriangularFacet, and UQuadrangularFacet.

Referenced by UTessellatedSolid::CreateVertexList().

+ Here is the caller graph for this function:

std::ostream & VUFacet::StreamInfo ( std::ostream &  os) const

Definition at line 79 of file VUFacet.cc.

References n.

Referenced by UTessellatedSolid::AddFacet(), and UTessellatedSolid::StreamInfo().

+ Here is the caller graph for this function:

Member Data Documentation

const double VUFacet::dirTolerance = 1.0E-14
staticprotected

Definition at line 88 of file VUFacet.hh.

Referenced by UQuadrangularFacet::Distance(), and UTriangularFacet::Intersect().

const double VUFacet::kCarTolerance = VUSolid::Tolerance()
staticprotected

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