Geant4
10.01.p02
|
#include <UTriangularFacet.hh>
Public Member Functions | |
UTriangularFacet (const UVector3 &vt0, const UVector3 &vt1, const UVector3 &vt2, UFacetVertexType) | |
UTriangularFacet () | |
~UTriangularFacet () | |
UTriangularFacet (const UTriangularFacet &right) | |
UTriangularFacet & | operator= (const UTriangularFacet &right) |
VUFacet * | GetClone () |
UTriangularFacet * | GetFlippedFacet () |
UVector3 | Distance (const UVector3 &p) |
double | Distance (const UVector3 &p, const double minDist) |
double | Distance (const UVector3 &p, const double minDist, const bool outgoing) |
double | Extent (const UVector3 axis) |
bool | Intersect (const UVector3 &p, const UVector3 &v, const bool outgoing, double &distance, double &distFromSurface, UVector3 &normal) |
double | GetArea () |
UVector3 | GetPointOnFace () const |
UVector3 | GetSurfaceNormal () const |
bool | IsDefined () const |
UGeometryType | GetEntityType () const |
int | GetNumberOfVertices () const |
UVector3 | GetVertex (int i) const |
void | SetVertex (int i, const UVector3 &val) |
UVector3 | GetCircumcentre () const |
double | GetRadius () const |
void | SetSurfaceNormal (UVector3 normal) |
int | AllocatedMemory () |
int | GetVertexIndex (int i) const |
void | SetVertexIndex (int i, int j) |
void | SetVertices (std::vector< UVector3 > *v) |
Public Member Functions inherited from VUFacet | |
virtual | ~VUFacet () |
bool | operator== (const VUFacet &right) const |
void | ApplyTranslation (const UVector3 v) |
std::ostream & | StreamInfo (std::ostream &os) const |
bool | IsInside (const UVector3 &p) const |
Private Member Functions | |
void | CopyFrom (const UTriangularFacet &rhs) |
Private Attributes | |
UVector3 | fSurfaceNormal |
double | fArea |
UVector3 | fCircumcentre |
double | fRadius |
int | fIndices [3] |
std::vector< UVector3 > * | fVertices |
double | fA |
double | fB |
double | fC |
double | fDet |
double | fSqrDist |
UVector3 | fE1 |
UVector3 | fE2 |
bool | fIsDefined |
Additional Inherited Members | |
Static Protected Attributes inherited from VUFacet | |
static const double | dirTolerance = 1.0E-14 |
static const double | kCarTolerance = VUSolid::Tolerance() |
Definition at line 42 of file UTriangularFacet.hh.
UTriangularFacet::UTriangularFacet | ( | const UVector3 & | vt0, |
const UVector3 & | vt1, | ||
const UVector3 & | vt2, | ||
UFacetVertexType | vertexType | ||
) |
Definition at line 35 of file UTriangularFacet.cc.
References UVector3::Cross(), UVector3::Dot(), UUtils::Exception(), fA, fArea, fB, fC, fCircumcentre, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSurfaceNormal, fVertices, GetVertex(), VUFacet::kCarTolerance, UVector3::Mag(), UVector3::Mag2(), p0, UVector3::Set(), SetVertex(), UABSOLUTE, UVector3::Unit(), and UWarning.
UTriangularFacet::UTriangularFacet | ( | ) |
Definition at line 123 of file UTriangularFacet.cc.
References fA, fArea, fB, fC, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSurfaceNormal, fVertices, UVector3::Set(), and SetVertex().
Referenced by GetClone(), and GetFlippedFacet().
UTriangularFacet::~UTriangularFacet | ( | ) |
Definition at line 141 of file UTriangularFacet.cc.
References SetVertices().
UTriangularFacet::UTriangularFacet | ( | const UTriangularFacet & | right | ) |
Definition at line 168 of file UTriangularFacet.cc.
References CopyFrom().
|
inlinevirtual |
Implements VUFacet.
Definition at line 105 of file UTriangularFacet.hh.
Referenced by UQuadrangularFacet::AllocatedMemory().
|
private |
Definition at line 147 of file UTriangularFacet.cc.
References copy(), fA, fArea, fB, fC, fDet, fE1, fE2, fIndices, fIsDefined, fRadius, fSqrDist, fSurfaceNormal, and fVertices.
Referenced by operator=(), and UTriangularFacet().
Definition at line 222 of file UTriangularFacet.cc.
References UVector3::Dot(), fA, fB, fC, fDet, fE1, fE2, fSqrDist, GetVertex(), and UVector3::Mag2().
Referenced by UQuadrangularFacet::Distance(), and Distance().
|
virtual |
Implements VUFacet.
Definition at line 488 of file UTriangularFacet.cc.
References Distance(), fCircumcentre, fRadius, UUtils::kInfinity, and UVector3::Mag().
|
virtual |
Implements VUFacet.
Definition at line 523 of file UTriangularFacet.cc.
References Distance(), UVector3::Dot(), fCircumcentre, fRadius, fSqrDist, fSurfaceNormal, VUFacet::kCarTolerance, and UUtils::kInfinity.
|
virtual |
Implements VUFacet.
Definition at line 562 of file UTriangularFacet.cc.
References UVector3::Dot(), GetVertex(), and G4InuclParticleNames::sp.
|
virtual |
Implements VUFacet.
Definition at line 827 of file UTriangularFacet.cc.
References fArea.
Referenced by UQuadrangularFacet::GetArea().
|
inlinevirtual |
|
virtual |
Implements VUFacet.
Definition at line 189 of file UTriangularFacet.cc.
References GetVertex(), UABSOLUTE, and UTriangularFacet().
|
virtual |
Implements VUFacet.
Definition at line 832 of file UTriangularFacet.cc.
UTriangularFacet * UTriangularFacet::GetFlippedFacet | ( | ) |
Definition at line 202 of file UTriangularFacet.cc.
References GetVertex(), UABSOLUTE, and UTriangularFacet().
|
inlinevirtual |
Implements VUFacet.
Definition at line 77 of file UTriangularFacet.hh.
|
virtual |
Implements VUFacet.
Definition at line 811 of file UTriangularFacet.cc.
References alpha, fE1, fE2, GetVertex(), and UUtils::Random().
Referenced by UQuadrangularFacet::GetPointOnFace().
|
inlinevirtual |
|
virtual |
Implements VUFacet.
Definition at line 837 of file UTriangularFacet.cc.
References fSurfaceNormal.
Referenced by UQuadrangularFacet::GetSurfaceNormal(), and UQuadrangularFacet::UQuadrangularFacet().
|
inlinevirtual |
Implements VUFacet.
Definition at line 82 of file UTriangularFacet.hh.
References fIndices.
Referenced by Distance(), Extent(), GetClone(), GetFlippedFacet(), GetPointOnFace(), UQuadrangularFacet::GetVertex(), Intersect(), and UTriangularFacet().
|
inlinevirtual |
Implements VUFacet.
Definition at line 114 of file UTriangularFacet.hh.
References fIndices.
Referenced by UQuadrangularFacet::GetVertexIndex().
|
virtual |
Implements VUFacet.
Definition at line 599 of file UTriangularFacet.cc.
References UVector3::Cross(), DBL_EPSILON, VUFacet::dirTolerance, UVector3::Dot(), fA, fB, fC, fDet, fE1, fE2, fSqrDist, fSurfaceNormal, GetVertex(), UTessellatedGeometryAlgorithms::IntersectLineAndTriangle2D(), VUFacet::kCarTolerance, UUtils::kInfinity, UVector2::mag(), UVector3::Mag(), p0, G4InuclParticleNames::pp, G4InuclParticleNames::s0, UVector3::Set(), and UVector3::Unit().
Referenced by UQuadrangularFacet::Intersect().
|
inlinevirtual |
Implements VUFacet.
Definition at line 70 of file UTriangularFacet.hh.
References fIsDefined.
Referenced by UQuadrangularFacet::IsDefined().
UTriangularFacet & UTriangularFacet::operator= | ( | const UTriangularFacet & | right | ) |
Definition at line 173 of file UTriangularFacet.cc.
References CopyFrom(), and SetVertices().
void UTriangularFacet::SetSurfaceNormal | ( | UVector3 | normal | ) |
Definition at line 842 of file UTriangularFacet.cc.
References fSurfaceNormal, and CLHEP::normal().
|
inlinevirtual |
Implements VUFacet.
Definition at line 88 of file UTriangularFacet.hh.
Referenced by UQuadrangularFacet::SetVertex(), and UTriangularFacet().
|
inlinevirtual |
Implements VUFacet.
Definition at line 119 of file UTriangularFacet.hh.
References fIndices.
Referenced by UQuadrangularFacet::SetVertexIndex().
|
inlinevirtual |
Implements VUFacet.
Definition at line 124 of file UTriangularFacet.hh.
References fIndices, and fVertices.
Referenced by operator=(), UQuadrangularFacet::SetVertices(), and ~UTriangularFacet().
|
private |
Definition at line 144 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), Intersect(), and UTriangularFacet().
|
private |
Definition at line 133 of file UTriangularFacet.hh.
Referenced by CopyFrom(), GetArea(), and UTriangularFacet().
|
private |
Definition at line 144 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), Intersect(), and UTriangularFacet().
|
private |
Definition at line 144 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), Intersect(), and UTriangularFacet().
|
private |
Definition at line 134 of file UTriangularFacet.hh.
Referenced by Distance(), GetCircumcentre(), and UTriangularFacet().
|
private |
Definition at line 145 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), Intersect(), and UTriangularFacet().
|
private |
Definition at line 147 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), GetPointOnFace(), Intersect(), and UTriangularFacet().
|
private |
Definition at line 147 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), GetPointOnFace(), Intersect(), and UTriangularFacet().
|
private |
Definition at line 136 of file UTriangularFacet.hh.
Referenced by CopyFrom(), GetVertex(), GetVertexIndex(), SetVertexIndex(), SetVertices(), and UTriangularFacet().
|
private |
Definition at line 148 of file UTriangularFacet.hh.
Referenced by CopyFrom(), IsDefined(), and UTriangularFacet().
|
private |
Definition at line 135 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), GetRadius(), and UTriangularFacet().
|
private |
Definition at line 146 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), and Intersect().
|
private |
Definition at line 132 of file UTriangularFacet.hh.
Referenced by CopyFrom(), Distance(), GetSurfaceNormal(), Intersect(), SetSurfaceNormal(), and UTriangularFacet().
|
private |
Definition at line 138 of file UTriangularFacet.hh.
Referenced by CopyFrom(), SetVertices(), and UTriangularFacet().