Geant4
10.02.p03
|
#include <HepPolyhedron.h>
Static Public Member Functions | |
static G4int | GetNumberOfRotationSteps () |
static void | SetNumberOfRotationSteps (G4int n) |
static void | ResetNumberOfRotationSteps () |
Protected Member Functions | |
void | AllocateMemory (G4int Nvert, G4int Nface) |
G4int | FindNeighbour (G4int iFace, G4int iNode, G4int iOrder) const |
G4Normal3D | FindNodeNormal (G4int iFace, G4int iNode) const |
void | CreatePrism () |
void | RotateEdge (G4int k1, G4int k2, G4double r1, G4double r2, G4int v1, G4int v2, G4int vEdge, G4bool ifWholeCircle, G4int ns, G4int &kface) |
void | SetSideFacets (G4int ii[4], G4int vv[4], G4int *kk, G4double *r, G4double dphi, G4int ns, G4int &kface) |
void | RotateAroundZ (G4int nstep, G4double phi, G4double dphi, G4int np1, G4int np2, const G4double *z, G4double *r, G4int nodeVis, G4int edgeVis) |
void | SetReferences () |
void | InvertFacets () |
Protected Attributes | |
G4int | nvert |
G4int | nface |
G4Point3D * | pV |
G4Facet * | pF |
Static Protected Attributes | |
static G4ThreadLocal G4int | fNumberOfRotationSteps = DEFAULT_NUMBER_OF_STEPS |
Friends | |
std::ostream & | operator<< (std::ostream &, const HepPolyhedron &ph) |
Definition at line 195 of file HepPolyhedron.h.
|
inline |
Definition at line 240 of file HepPolyhedron.h.
HepPolyhedron::HepPolyhedron | ( | const HepPolyhedron & | from | ) |
Definition at line 108 of file HepPolyhedron.cc.
|
inlinevirtual |
Definition at line 246 of file HepPolyhedron.h.
HepPolyhedron HepPolyhedron::add | ( | const HepPolyhedron & | p | ) | const |
Definition at line 2275 of file HepPolyhedron.cc.
Definition at line 245 of file HepPolyhedron.cc.
G4int HepPolyhedron::createPolyhedron | ( | G4int | Nnodes, |
G4int | Nfaces, | ||
const G4double | xyz[][3], | ||
const G4int | faces[][4] | ||
) |
Creates user defined polyhedron. This function allows to the user to define arbitrary polyhedron. The faces of the polyhedron should be either triangles or planar quadrilateral. Nodes of a face are defined by indexes pointing to the elements in the xyz array. Numeration of the elements in the array starts from 1 (like in fortran). The indexes can be positive or negative. Negative sign means that the corresponding edge is invisible. The normal of the face should be directed to exterior of the polyhedron.
Nnodes | number of nodes |
Nfaces | number of faces |
xyz | nodes |
faces | faces (quadrilaterals or triangles) |
Definition at line 1371 of file HepPolyhedron.cc.
|
protected |
Definition at line 271 of file HepPolyhedron.cc.
G4int HepPolyhedron::createTwistedTrap | ( | G4double | Dz, |
const G4double | xy1[][2], | ||
const G4double | xy2[][2] | ||
) |
Creates polyhedron for twisted trapezoid. The trapezoid is given by two bases perpendicular to the z-axis.
Dz | half length in z |
xy1 | 1st base (at z = -Dz) |
xy2 | 2nd base (at z = +Dz) |
Definition at line 1302 of file HepPolyhedron.cc.
|
protected |
Definition at line 169 of file HepPolyhedron.cc.
void HepPolyhedron::GetFacet | ( | G4int | iFace, |
G4int & | n, | ||
G4int * | iNodes, | ||
G4int * | edgeFlags = 0 , |
||
G4int * | iFaces = 0 |
||
) | const |
void HepPolyhedron::GetFacet | ( | G4int | iFace, |
G4int & | n, | ||
G4Point3D * | nodes, | ||
G4int * | edgeFlags = 0 , |
||
G4Normal3D * | normals = 0 |
||
) | const |
Definition at line 1112 of file HepPolyhedron.cc.
Definition at line 1037 of file HepPolyhedron.cc.
G4bool HepPolyhedron::GetNextEdge | ( | G4Point3D & | p1, |
G4Point3D & | p2, | ||
G4int & | edgeFlag, | ||
G4int & | iface1, | ||
G4int & | iface2 | ||
) | const |
Definition at line 1058 of file HepPolyhedron.cc.
|
inline |
Definition at line 277 of file HepPolyhedron.h.
Definition at line 283 of file HepPolyhedron.h.
G4bool HepPolyhedron::GetNextEdgeIndices | ( | G4int & | i1, |
G4int & | i2, | ||
G4int & | edgeFlag, | ||
G4int & | iface1, | ||
G4int & | iface2 | ||
) | const |
Definition at line 1021 of file HepPolyhedron.cc.
G4bool HepPolyhedron::GetNextFacet | ( | G4int & | n, |
G4Point3D * | nodes, | ||
G4int * | edgeFlags = 0 , |
||
G4Normal3D * | normals = 0 |
||
) | const |
Definition at line 1134 of file HepPolyhedron.cc.
G4bool HepPolyhedron::GetNextNormal | ( | G4Normal3D & | normal | ) | const |
Definition at line 1214 of file HepPolyhedron.cc.
G4bool HepPolyhedron::GetNextUnitNormal | ( | G4Normal3D & | normal | ) | const |
Definition at line 1235 of file HepPolyhedron.cc.
Definition at line 918 of file HepPolyhedron.cc.
G4bool HepPolyhedron::GetNextVertex | ( | G4Point3D & | vertex, |
G4int & | edgeFlag, | ||
G4Normal3D & | normal | ||
) | const |
Definition at line 936 of file HepPolyhedron.cc.
|
inline |
Definition at line 256 of file HepPolyhedron.h.
G4Normal3D HepPolyhedron::GetNormal | ( | G4int | iFace | ) | const |
|
inline |
Definition at line 253 of file HepPolyhedron.h.
|
inline |
|
static |
Definition at line 197 of file HepPolyhedron.cc.
G4double HepPolyhedron::GetSurfaceArea | ( | ) | const |
Definition at line 1251 of file HepPolyhedron.cc.
G4Normal3D HepPolyhedron::GetUnitNormal | ( | G4int | iFace | ) | const |
G4double HepPolyhedron::GetVolume | ( | ) | const |
Definition at line 1273 of file HepPolyhedron.cc.
HepPolyhedron HepPolyhedron::intersect | ( | const HepPolyhedron & | p | ) | const |
Definition at line 2290 of file HepPolyhedron.cc.
|
protected |
HepPolyhedron & HepPolyhedron::operator= | ( | const HepPolyhedron & | from | ) |
Definition at line 122 of file HepPolyhedron.cc.
|
static |
Definition at line 232 of file HepPolyhedron.cc.
|
protected |
Definition at line 424 of file HepPolyhedron.cc.
|
protected |
Definition at line 291 of file HepPolyhedron.cc.
|
static |
Definition at line 210 of file HepPolyhedron.cc.
|
protected |
|
protected |
Definition at line 353 of file HepPolyhedron.cc.
HepPolyhedron HepPolyhedron::subtract | ( | const HepPolyhedron & | p | ) | const |
HepPolyhedron & HepPolyhedron::Transform | ( | const G4Transform3D & | t | ) |
Definition at line 846 of file HepPolyhedron.cc.
|
friend |
Definition at line 93 of file HepPolyhedron.cc.
|
staticprotected |
Definition at line 199 of file HepPolyhedron.h.
|
protected |
Definition at line 200 of file HepPolyhedron.h.
|
protected |
Definition at line 200 of file HepPolyhedron.h.
|
protected |
Definition at line 202 of file HepPolyhedron.h.
|
protected |
Definition at line 201 of file HepPolyhedron.h.