Geant4  10.03
G4GeomTools Class Reference

#include <G4GeomTools.hh>

Static Public Member Functions

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 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 DistancePointSegment (G4ThreeVector P, G4ThreeVector A, G4ThreeVector B)
 
static G4bool SphereExtent (G4double rmin, G4double rmax, G4double startTheta, G4double delTheta, G4double startPhi, G4double delPhi, G4ThreeVector &pmin, G4ThreeVector &pmax)
 

Static Private Member Functions

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

Detailed Description

Definition at line 53 of file G4GeomTools.hh.

Member Function Documentation

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

Definition at line 256 of file G4GeomTools.cc.

References a, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, G4INCL::Math::max(), G4INCL::Math::min(), n, and PointInTriangle().

Referenced by TriangulatePolygon().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 378 of file G4GeomTools.cc.

References G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, and twopi.

Referenced by G4Torus::CalculateExtent(), G4CutTubs::Extent(), G4GenericPolycone::Extent(), G4OTubs::Extent(), G4Polycone::Extent(), G4Tubs::Extent(), G4Cons::Extent(), G4Torus::Extent(), G4Sphere::Extent(), and SphereExtent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 411 of file G4GeomTools.cc.

References G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, G4INCL::Math::max(), and G4INCL::Math::min().

+ Here is the call graph for this function:

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

Definition at line 520 of file G4GeomTools.cc.

References A().

+ Here is the call graph for this function:

G4bool G4GeomTools::IsConvex ( const G4TwoVectorList polygon)
static

Definition at line 150 of file G4GeomTools.cc.

References G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), kCarTolerance, and n.

Referenced by G4ExtrudedSolid::G4ExtrudedSolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 97 of file G4GeomTools.cc.

Referenced by CheckSnip().

+ Here is the caller graph for this function:

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

Definition at line 122 of file G4GeomTools.cc.

G4double G4GeomTools::PolygonArea ( const G4TwoVectorList polygon)
static

Definition at line 82 of file G4GeomTools.cc.

References n.

Referenced by G4GenericPolycone::CalculateExtent(), G4Polycone::CalculateExtent(), G4Polyhedra::CalculateExtent(), G4ExtrudedSolid::G4ExtrudedSolid(), and TriangulatePolygon().

+ Here is the caller graph for this function:

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

Definition at line 70 of file G4GeomTools.cc.

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

Definition at line 293 of file G4GeomTools.cc.

References kInfinity, and G4INCL::Math::max().

Referenced by G4Polycone::CalculateExtent(), G4Polyhedra::CalculateExtent(), and G4ExtrudedSolid::G4ExtrudedSolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 542 of file G4GeomTools.cc.

References DiskExtent(), G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), halfpi, kCarTolerance, G4INCL::Math::max(), G4INCL::Math::min(), pi, and twopi.

+ Here is the call graph for this function:

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

Definition at line 47 of file G4GeomTools.cc.

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

Definition at line 58 of file G4GeomTools.cc.

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

Definition at line 178 of file G4GeomTools.cc.

References n.

Referenced by G4GenericPolycone::CalculateExtent(), G4Polycone::CalculateExtent(), G4Polyhedra::CalculateExtent(), and G4ExtrudedSolid::CalculateExtent().

+ Here is the caller graph for this function:

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

Definition at line 194 of file G4GeomTools.cc.

References a, CheckSnip(), n, PolygonArea(), and reverse.

+ Here is the call graph for this function:


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