Geant4  v4-10.4-release
G4GeomTools 클래스 참조

#include <G4GeomTools.hh>

## 정적 Public 멤버 함수

static G4double TriangleArea (G4double Ax, G4double Ay, G4double Bx, G4double By, G4double Cx, G4double Cy)

static G4double TriangleArea (const G4TwoVector &A, const G4TwoVector &B, const G4TwoVector &C)

static G4double QuadArea (const G4TwoVector &A, const G4TwoVector &B, const G4TwoVector &C, const G4TwoVector &D)

static G4double PolygonArea (const G4TwoVectorList &polygon)

static G4bool PointInTriangle (G4double Px, G4double Py, G4double Ax, G4double Ay, G4double Bx, G4double By, G4double Cx, G4double Cy)

static G4bool PointInTriangle (const G4TwoVector &P, const G4TwoVector &A, const G4TwoVector &B, const G4TwoVector &C)

static G4bool PointInPolygon (const G4TwoVector &P, const G4TwoVectorList &Polygon)

static G4bool IsConvex (const G4TwoVectorList &polygon)

static G4bool TriangulatePolygon (const G4TwoVectorList &polygon, G4TwoVectorList &result)

static G4bool TriangulatePolygon (const G4TwoVectorList &polygon, std::vector< G4int > &result)

static void RemoveRedundantVertices (G4TwoVectorList &polygon, std::vector< G4int > &iout, G4double tolerance=0)

static G4bool DiskExtent (G4double rmin, G4double rmax, G4double startPhi, G4double delPhi, G4TwoVector &pmin, G4TwoVector &pmax)

static void DiskExtent (G4double rmin, G4double rmax, G4double sinPhiStart, G4double cosPhiStart, G4double sinPhiEnd, G4double cosPhiEnd, G4TwoVector &pmin, G4TwoVector &pmax)

static G4double EllipsePerimeter (G4double a, G4double b)

static G4double EllipticConeLateralArea (G4double a, G4double b, G4double h)

static G4ThreeVector TriangleAreaNormal (const G4ThreeVector &A, const G4ThreeVector &B, const G4ThreeVector &C)

static G4ThreeVector QuadAreaNormal (const G4ThreeVector &A, const G4ThreeVector &B, const G4ThreeVector &C, const G4ThreeVector &D)

static G4ThreeVector PolygonAreaNormal (const G4ThreeVectorList &polygon)

static G4double DistancePointSegment (const G4ThreeVector &P, const G4ThreeVector &A, const G4ThreeVector &B)

static G4ThreeVector ClosestPointOnSegment (const G4ThreeVector &P, const G4ThreeVector &A, const G4ThreeVector &B)

static G4ThreeVector ClosestPointOnTriangle (const G4ThreeVector &P, const G4ThreeVector &A, const G4ThreeVector &B, const G4ThreeVector &C)

static G4bool SphereExtent (G4double rmin, G4double rmax, G4double startTheta, G4double delTheta, G4double startPhi, G4double delPhi, G4ThreeVector &pmin, G4ThreeVector &pmax)

## 정적 Private 멤버 함수

static G4bool CheckSnip (const G4TwoVectorList &contour, G4int a, G4int b, G4int c, G4int n, const G4int *V)

static G4double comp_ellint_2 (G4double e)

## 상세한 설명

G4GeomTools.hh 파일의 53 번째 라인에서 정의되었습니다.

## 멤버 함수 문서화

 G4bool G4GeomTools::CheckSnip ( const G4TwoVectorList & contour, G4int a, G4int b, G4int c, G4int n, const G4int * V )
staticprivate

G4GeomTools.cc 파일의 277 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : TriangulatePolygon().

 G4ThreeVector G4GeomTools::ClosestPointOnSegment ( const G4ThreeVector & P, const G4ThreeVector & A, const G4ThreeVector & B )
static

G4GeomTools.cc 파일의 663 번째 라인에서 정의되었습니다.

 G4ThreeVector G4GeomTools::ClosestPointOnTriangle ( const G4ThreeVector & P, const G4ThreeVector & A, const G4ThreeVector & B, const G4ThreeVector & C )
static

G4GeomTools.cc 파일의 692 번째 라인에서 정의되었습니다.

다음을 참조함 : a, A(), C(), d, CLHEP::Hep3Vector::dot(), e, kInfinity, CLHEP::Hep3Vector::mag2(), P, t1.

 G4double G4GeomTools::comp_ellint_2 ( G4double e )
staticprivate

G4GeomTools.cc 파일의 576 번째 라인에서 정의되었습니다.

다음을 참조함 : a, eps, CLHEP::halfpi, S(), tmp, x, y.

다음에 의해서 참조됨 : EllipsePerimeter(), EllipticConeLateralArea().

 G4bool G4GeomTools::DiskExtent ( G4double rmin, G4double rmax, G4double startPhi, G4double delPhi, G4TwoVector & pmin, G4TwoVector & pmax )
static
 void G4GeomTools::DiskExtent ( G4double rmin, G4double rmax, G4double sinPhiStart, G4double cosPhiStart, G4double sinPhiEnd, G4double cosPhiEnd, G4TwoVector & pmin, G4TwoVector & pmax )
static

G4GeomTools.cc 파일의 429 번째 라인에서 정의되었습니다.

 G4double G4GeomTools::DistancePointSegment ( const G4ThreeVector & P, const G4ThreeVector & A, const G4ThreeVector & B )
static

G4GeomTools.cc 파일의 642 번째 라인에서 정의되었습니다.

 G4double G4GeomTools::EllipsePerimeter ( G4double a, G4double b )
static

G4GeomTools.cc 파일의 538 번째 라인에서 정의되었습니다.

다음을 참조함 : a, comp_ellint_2(), e, G4INCL::Math::max(), G4INCL::Math::min(), x, y.

다음에 의해서 참조됨 : G4EllipticalTube::GetSurfaceArea().

 G4double G4GeomTools::EllipticConeLateralArea ( G4double a, G4double b, G4double h )
static

G4GeomTools.cc 파일의 552 번째 라인에서 정의되었습니다.

다음을 참조함 : a, comp_ellint_2(), e, G4INCL::Math::max(), G4INCL::Math::min(), x, y.

 G4bool G4GeomTools::IsConvex ( const G4TwoVectorList & polygon )
static

G4GeomTools.cc 파일의 171 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4ExtrudedSolid::G4ExtrudedSolid().

 G4bool G4GeomTools::PointInPolygon ( const G4TwoVector & P, const G4TwoVectorList & Polygon )
static

G4GeomTools.cc 파일의 151 번째 라인에서 정의되었습니다.

다음을 참조함 : in, x, CLHEP::Hep2Vector::x(), y, CLHEP::Hep2Vector::y().

 G4bool G4GeomTools::PointInTriangle ( G4double Px, G4double Py, G4double Ax, G4double Ay, G4double Bx, G4double By, G4double Cx, G4double Cy )
static

G4GeomTools.cc 파일의 98 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : CheckSnip().

 G4bool G4GeomTools::PointInTriangle ( const G4TwoVector & P, const G4TwoVector & A, const G4TwoVector & B, const G4TwoVector & C )
static

G4GeomTools.cc 파일의 123 번째 라인에서 정의되었습니다.

다음을 참조함 : CLHEP::Hep2Vector::x(), CLHEP::Hep2Vector::y().

 G4double G4GeomTools::PolygonArea ( const G4TwoVectorList & polygon )
static

G4GeomTools.cc 파일의 82 번째 라인에서 정의되었습니다.

다음을 참조함 : n.

 G4ThreeVector G4GeomTools::PolygonAreaNormal ( const G4ThreeVectorList & polygon )
static

G4GeomTools.cc 파일의 626 번째 라인에서 정의되었습니다.

다음을 참조함 : CLHEP::Hep3Vector::cross(), n, CLHEP::normal().

 G4double G4GeomTools::QuadArea ( const G4TwoVector & A, const G4TwoVector & B, const G4TwoVector & C, const G4TwoVector & D )
static

G4GeomTools.cc 파일의 70 번째 라인에서 정의되었습니다.

다음을 참조함 : CLHEP::Hep2Vector::x(), CLHEP::Hep2Vector::y().

 G4ThreeVector G4GeomTools::QuadAreaNormal ( const G4ThreeVector & A, const G4ThreeVector & B, const G4ThreeVector & C, const G4ThreeVector & D )
static

G4GeomTools.cc 파일의 614 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4Trap::GetPointOnSurface(), G4Trap::GetSurfaceArea().

 void G4GeomTools::RemoveRedundantVertices ( G4TwoVectorList & polygon, std::vector< G4int > & iout, G4double tolerance = 0 )
static

G4GeomTools.cc 파일의 311 번째 라인에서 정의되었습니다.

 G4bool G4GeomTools::SphereExtent ( G4double rmin, G4double rmax, G4double startTheta, G4double delTheta, G4double startPhi, G4double delPhi, G4ThreeVector & pmin, G4ThreeVector & pmax )
static
 G4double G4GeomTools::TriangleArea ( G4double Ax, G4double Ay, G4double Bx, G4double By, G4double Cx, G4double Cy )
static

G4GeomTools.cc 파일의 47 번째 라인에서 정의되었습니다.

 G4double G4GeomTools::TriangleArea ( const G4TwoVector & A, const G4TwoVector & B, const G4TwoVector & C )
static

G4GeomTools.cc 파일의 58 번째 라인에서 정의되었습니다.

다음을 참조함 : CLHEP::Hep2Vector::x(), CLHEP::Hep2Vector::y().

 G4ThreeVector G4GeomTools::TriangleAreaNormal ( const G4ThreeVector & A, const G4ThreeVector & B, const G4ThreeVector & C )
static

G4GeomTools.cc 파일의 603 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4Trd::GetPointOnSurface(), G4Trap::GetPointOnSurface().

 G4bool G4GeomTools::TriangulatePolygon ( const G4TwoVectorList & polygon, G4TwoVectorList & result )
static

G4GeomTools.cc 파일의 199 번째 라인에서 정의되었습니다.

다음을 참조함 : n.

 G4bool G4GeomTools::TriangulatePolygon ( const G4TwoVectorList & polygon, std::vector< G4int > & result )
static

G4GeomTools.cc 파일의 215 번째 라인에서 정의되었습니다.

다음을 참조함 : a, CheckSnip(), n, PolygonArea(), reverse.

이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: