G4TriangularFacet Class Reference

#include <G4TriangularFacet.hh>

Inheritance diagram for G4TriangularFacet:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 76 of file G4TriangularFacet.hh.

Public Member Functions

 G4TriangularFacet (const G4ThreeVector Pt0, const G4ThreeVector vt1, const G4ThreeVector vt2, G4FacetVertexType)
 ~G4TriangularFacet ()
 G4TriangularFacet (const G4TriangularFacet &right)
const G4TriangularFacetoperator= (G4TriangularFacet &right)
G4VFacetGetClone ()
G4TriangularFacetGetFlippedFacet ()
G4ThreeVector Distance (const G4ThreeVector &p)
G4double Distance (const G4ThreeVector &p, const G4double minDist)
G4double Distance (const G4ThreeVector &p, const G4double minDist, const G4bool outgoing)
G4double Extent (const G4ThreeVector axis)
G4bool Intersect (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool outgoing, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal)
G4double GetArea ()
G4ThreeVector GetPointOnFace () const
G4bool operator== (const G4VFacet &right) const
size_t GetNumberOfVertices () const
G4ThreeVector GetVertex (size_t i) const
G4GeometryType GetEntityType () const
G4ThreeVector GetSurfaceNormal () const
G4bool IsInside (const G4ThreeVector &p) const
G4bool IsDefined () const
void SetVertexIndex (const size_t i, const size_t j)
size_t GetVertexIndex (const size_t i) const
G4ThreeVector GetCircumcentre () const
G4double GetRadius () const
G4double GetRadiusSquared () const
void ApplyTranslation (const G4ThreeVector v)
std::ostream & StreamInfo (std::ostream &os) const

Protected Attributes

G4GeometryType geometryType
G4bool isDefined
size_t nVertices
G4ThreeVector P0
G4ThreeVectorList P
G4ThreeVectorList E
std::vector< size_t > I
G4ThreeVector surfaceNormal
G4ThreeVector circumcentre
G4double radius
G4double radiusSqr
G4double dirTolerance
G4double kCarTolerance
G4double area

Private Attributes

G4double a
G4double b
G4double c
G4double det
G4double sMin
G4double sMax
G4double tMin
G4double sqrDist
G4TessellatedGeometryAlgorithmstGeomAlg


Constructor & Destructor Documentation

G4TriangularFacet::G4TriangularFacet ( const G4ThreeVector  Pt0,
const G4ThreeVector  vt1,
const G4ThreeVector  vt2,
G4FacetVertexType   
)

Definition at line 72 of file G4TriangularFacet.cc.

References a, ABSOLUTE, G4VFacet::area, b, c, G4VFacet::circumcentre, det, G4VFacet::E, G4cerr, G4endl, G4Exception(), G4VFacet::geometryType, G4TessellatedGeometryAlgorithms::GetInstance(), G4VFacet::I, G4VFacet::isDefined, JustWarning, G4VFacet::kCarTolerance, G4VFacet::nVertices, G4VFacet::P, G4VFacet::P0, G4VFacet::radius, G4VFacet::radiusSqr, sMax, sMin, G4VFacet::surfaceNormal, tGeomAlg, and tMin.

Referenced by GetClone(), and GetFlippedFacet().

Here is the call graph for this function:

G4TriangularFacet::~G4TriangularFacet (  ) 

Definition at line 156 of file G4TriangularFacet.cc.

References G4VFacet::E, G4VFacet::I, and G4VFacet::P.

G4TriangularFacet::G4TriangularFacet ( const G4TriangularFacet right  ) 


Member Function Documentation

void G4VFacet::ApplyTranslation ( const G4ThreeVector  v  )  [inherited]

Definition at line 106 of file G4VFacet.cc.

References G4VFacet::P, and G4VFacet::P0.

G4double G4TriangularFacet::Distance ( const G4ThreeVector p,
const G4double  minDist,
const G4bool  outgoing 
) [virtual]

Reimplemented from G4VFacet.

Definition at line 408 of file G4TriangularFacet.cc.

References G4VFacet::circumcentre, Distance(), G4VFacet::kCarTolerance, kInfinity, G4VFacet::radius, sqrDist, and G4VFacet::surfaceNormal.

Here is the call graph for this function:

G4double G4TriangularFacet::Distance ( const G4ThreeVector p,
const G4double  minDist 
) [virtual]

Reimplemented from G4VFacet.

Definition at line 369 of file G4TriangularFacet.cc.

References G4VFacet::circumcentre, Distance(), kInfinity, and G4VFacet::radius.

Here is the call graph for this function:

G4ThreeVector G4TriangularFacet::Distance ( const G4ThreeVector p  ) 

Definition at line 204 of file G4TriangularFacet.cc.

References a, b, c, det, G4VFacet::E, G4VFacet::P0, s, and sqrDist.

Referenced by Distance(), G4QuadrangularFacet::Distance(), and Intersect().

G4double G4TriangularFacet::Extent ( const G4ThreeVector  axis  )  [virtual]

Reimplemented from G4VFacet.

Definition at line 452 of file G4TriangularFacet.cc.

References G4VFacet::P, G4VFacet::P0, and s.

G4double G4TriangularFacet::GetArea (  )  [virtual]

Implements G4VFacet.

Definition at line 724 of file G4TriangularFacet.cc.

References G4VFacet::area.

Referenced by G4QuadrangularFacet::GetArea().

G4ThreeVector G4VFacet::GetCircumcentre (  )  const [inline, inherited]

Referenced by G4VFacet::operator==().

G4VFacet * G4TriangularFacet::GetClone (  )  [virtual]

Reimplemented from G4VFacet.

Definition at line 169 of file G4TriangularFacet.cc.

References ABSOLUTE, G4TriangularFacet(), G4VFacet::P, and G4VFacet::P0.

Here is the call graph for this function:

G4GeometryType G4VFacet::GetEntityType (  )  const [inline, inherited]

G4TriangularFacet * G4TriangularFacet::GetFlippedFacet (  ) 

Definition at line 184 of file G4TriangularFacet.cc.

References ABSOLUTE, G4TriangularFacet(), G4VFacet::P, and G4VFacet::P0.

Here is the call graph for this function:

size_t G4VFacet::GetNumberOfVertices (  )  const [inline, inherited]

Referenced by G4VFacet::operator==().

G4ThreeVector G4TriangularFacet::GetPointOnFace (  )  const [virtual]

Implements G4VFacet.

Definition at line 710 of file G4TriangularFacet.cc.

References G4VFacet::E, and G4VFacet::P0.

Referenced by G4QuadrangularFacet::GetPointOnFace().

G4double G4VFacet::GetRadius (  )  const [inline, inherited]

G4double G4VFacet::GetRadiusSquared (  )  const [inline, inherited]

G4ThreeVector G4VFacet::GetSurfaceNormal (  )  const [inline, inherited]

Referenced by G4VFacet::operator==().

G4ThreeVector G4VFacet::GetVertex ( size_t  i  )  const [inline, inherited]

Referenced by G4VFacet::operator==().

size_t G4VFacet::GetVertexIndex ( const size_t  i  )  const [inline, inherited]

G4bool G4TriangularFacet::Intersect ( const G4ThreeVector p,
const G4ThreeVector v,
const G4bool  outgoing,
G4double distance,
G4double distFromSurface,
G4ThreeVector normal 
) [virtual]

Reimplemented from G4VFacet.

Definition at line 490 of file G4TriangularFacet.cc.

References a, b, c, DBL_EPSILON, det, G4VFacet::dirTolerance, Distance(), G4VFacet::E, G4TessellatedGeometryAlgorithms::IntersectLineAndTriangle2D(), G4VFacet::kCarTolerance, kInfinity, G4VFacet::P0, s, sqrDist, G4VFacet::surfaceNormal, and tGeomAlg.

Referenced by G4QuadrangularFacet::Intersect().

Here is the call graph for this function:

G4bool G4VFacet::IsDefined (  )  const [inline, inherited]

Referenced by G4TessellatedSolid::AddFacet().

G4bool G4VFacet::IsInside ( const G4ThreeVector p  )  const [inline, inherited]

const G4TriangularFacet& G4TriangularFacet::operator= ( G4TriangularFacet right  ) 

G4bool G4VFacet::operator== ( const G4VFacet right  )  const [inherited]

Definition at line 79 of file G4VFacet.cc.

References G4VFacet::circumcentre, G4VFacet::GetCircumcentre(), G4VFacet::GetNumberOfVertices(), G4VFacet::GetSurfaceNormal(), G4VFacet::GetVertex(), G4VFacet::kCarTolerance, G4VFacet::nVertices, and G4VFacet::surfaceNormal.

Here is the call graph for this function:

void G4VFacet::SetVertexIndex ( const size_t  i,
const size_t  j 
) [inline, inherited]

std::ostream & G4VFacet::StreamInfo ( std::ostream &  os  )  const [inherited]

Definition at line 117 of file G4VFacet.cc.

References G4VFacet::E, G4endl, G4VFacet::geometryType, G4VFacet::P, and G4VFacet::P0.

Referenced by G4TessellatedSolid::AddFacet().


Member Data Documentation

G4double G4TriangularFacet::a [private]

Definition at line 103 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4double G4VFacet::area [protected, inherited]

Definition at line 121 of file G4VFacet.hh.

Referenced by G4TriangularFacet(), G4VFacet::G4VFacet(), GetArea(), and G4QuadrangularFacet::GetArea().

G4double G4TriangularFacet::b [private]

Definition at line 104 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4double G4TriangularFacet::c [private]

Definition at line 105 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4ThreeVector G4VFacet::circumcentre [protected, inherited]

Definition at line 115 of file G4VFacet.hh.

Referenced by Distance(), G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), G4VFacet::G4VFacet(), and G4VFacet::operator==().

G4double G4TriangularFacet::det [private]

Definition at line 106 of file G4TriangularFacet.hh.

Referenced by Distance(), G4TriangularFacet(), and Intersect().

G4double G4VFacet::dirTolerance [protected, inherited]

Definition at line 119 of file G4VFacet.hh.

Referenced by G4QuadrangularFacet::Distance(), G4VFacet::G4VFacet(), and Intersect().

G4ThreeVectorList G4VFacet::E [protected, inherited]

Definition at line 112 of file G4VFacet.hh.

Referenced by Distance(), G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), G4VFacet::G4VFacet(), GetPointOnFace(), Intersect(), G4VFacet::StreamInfo(), G4QuadrangularFacet::~G4QuadrangularFacet(), ~G4TriangularFacet(), and G4VFacet::~G4VFacet().

G4GeometryType G4VFacet::geometryType [protected, inherited]

Definition at line 107 of file G4VFacet.hh.

Referenced by G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), and G4VFacet::StreamInfo().

std::vector<size_t> G4VFacet::I [protected, inherited]

Definition at line 113 of file G4VFacet.hh.

Referenced by G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), G4QuadrangularFacet::~G4QuadrangularFacet(), and ~G4TriangularFacet().

G4bool G4VFacet::isDefined [protected, inherited]

Definition at line 108 of file G4VFacet.hh.

Referenced by G4QuadrangularFacet::G4QuadrangularFacet(), and G4TriangularFacet().

G4double G4VFacet::kCarTolerance [protected, inherited]

Definition at line 120 of file G4VFacet.hh.

Referenced by Distance(), G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), G4VFacet::G4VFacet(), Intersect(), and G4VFacet::operator==().

size_t G4VFacet::nVertices [protected, inherited]

Definition at line 109 of file G4VFacet.hh.

Referenced by G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), and G4VFacet::operator==().

G4ThreeVectorList G4VFacet::P [protected, inherited]

Definition at line 111 of file G4VFacet.hh.

Referenced by G4VFacet::ApplyTranslation(), Extent(), G4QuadrangularFacet::Extent(), G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), G4VFacet::G4VFacet(), GetClone(), G4QuadrangularFacet::GetClone(), GetFlippedFacet(), G4VFacet::StreamInfo(), G4QuadrangularFacet::~G4QuadrangularFacet(), ~G4TriangularFacet(), and G4VFacet::~G4VFacet().

G4ThreeVector G4VFacet::P0 [protected, inherited]

Definition at line 110 of file G4VFacet.hh.

Referenced by G4VFacet::ApplyTranslation(), Distance(), Extent(), G4QuadrangularFacet::Extent(), G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), GetClone(), G4QuadrangularFacet::GetClone(), GetFlippedFacet(), GetPointOnFace(), Intersect(), and G4VFacet::StreamInfo().

G4double G4VFacet::radius [protected, inherited]

Definition at line 116 of file G4VFacet.hh.

Referenced by Distance(), G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), and G4VFacet::G4VFacet().

G4double G4VFacet::radiusSqr [protected, inherited]

Definition at line 117 of file G4VFacet.hh.

Referenced by G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), and G4VFacet::G4VFacet().

G4double G4TriangularFacet::sMax [private]

Definition at line 108 of file G4TriangularFacet.hh.

Referenced by G4TriangularFacet().

G4double G4TriangularFacet::sMin [private]

Definition at line 108 of file G4TriangularFacet.hh.

Referenced by G4TriangularFacet().

G4double G4TriangularFacet::sqrDist [private]

Definition at line 111 of file G4TriangularFacet.hh.

Referenced by Distance(), and Intersect().

G4ThreeVector G4VFacet::surfaceNormal [protected, inherited]

Definition at line 114 of file G4VFacet.hh.

Referenced by Distance(), G4QuadrangularFacet::Distance(), G4QuadrangularFacet::G4QuadrangularFacet(), G4TriangularFacet(), Intersect(), and G4VFacet::operator==().

G4TessellatedGeometryAlgorithms* G4TriangularFacet::tGeomAlg [private]

Definition at line 113 of file G4TriangularFacet.hh.

Referenced by G4TriangularFacet(), and Intersect().

G4double G4TriangularFacet::tMin [private]

Definition at line 109 of file G4TriangularFacet.hh.

Referenced by G4TriangularFacet().


The documentation for this class was generated from the following files:
Generated on Sat Apr 12 06:51:40 2008 for Geant4 by  doxygen 1.4.7