|
g4tools
5.4.0
|


Public Member Functions | |
| polyhedron (int Nvert=0, int Nface=0) | |
| virtual | ~polyhedron () |
| polyhedron (const polyhedron &from) | |
| polyhedron & | operator= (const polyhedron &from) |
| void | Set (int Nvert, HVPoint3D *aV, int Nface, SbFacet *aF) |
| void | Empty () |
| int | GetNoVertices () const |
| int | GetNoFacets () const |
| polyhedron & | Translate (double, double, double) |
| polyhedron & | Transform (const rotd &rot, double, double, double) |
| polyhedron & | Transform (const rotd &rot, const vec3d &trans) |
| bool | GetNextVertexIndex (int &index, int &edgeFlag) const |
| HVPoint3D | GetVertex (int index) const |
| const HVPoint3D & | GetVertexFast (int index) const |
| HVPoint3D * | GetPV () const |
| SbFacet * | GetPF () const |
| bool | GetNextVertex (HVPoint3D &vertex, int &edgeFlag) const |
| bool | GetNextVertex (HVPoint3D &vertex, int &edgeFlag, HVNormal3D &normal) const |
| bool | GetNextEdgeIndeces (int &i1, int &i2, int &edgeFlag, int &iface1, int &iface2) const |
| bool | GetNextEdgeIndeces (int &i1, int &i2, int &edgeFlag) const |
| bool | GetNextEdge (HVPoint3D &p1, HVPoint3D &p2, int &edgeFlag) const |
| bool | GetNextEdge (HVPoint3D &p1, HVPoint3D &p2, int &edgeFlag, int &iface1, int &iface2) const |
| void | GetFacet (int iFace, int &n, int *iNodes, int *edgeFlags=0, int *iFaces=0) const |
| void | GetFacet (int iFace, int &n, HVPoint3D *nodes, int *edgeFlags=0, HVNormal3D *normals=0) const |
| bool | GetNextFacet (int &n, HVPoint3D *nodes, int *edgeFlags=0, HVNormal3D *normals=0) const |
| HVNormal3D | GetNormal (int iFace) const |
| HVNormal3D | GetUnitNormal (int iFace) const |
| bool | GetNextNormal (HVNormal3D &normal) const |
| bool | GetNextUnitNormal (HVNormal3D &normal) const |
| polyhedron | add (const polyhedron &p) const |
| polyhedron | subtract (const polyhedron &p) const |
| polyhedron | intersect (const polyhedron &p) const |
| double | GetSurfaceArea () const |
| double | GetVolume () const |
| bool | isEqual (const polyhedron &p) const |
| bool | isConsistent (const char *=0) const |
| void | dump (std::ostream &) const |
| int | GetNumberOfRotationSteps () |
| void | SetNumberOfRotationSteps (int n) |
| void | ResetNumberOfRotationSteps () |
| bool | set_polyhedron_cons (double Rmn1, double Rmx1, double Rmn2, double Rmx2, double Dz, double Phi1, double Dphi, int nstep=0) |
| bool | set_polyhedron_tube (double Rmin, double Rmax, double Dz, int nstep=0) |
| double | vxy (const double *xy, int i, int j) |
| bool | set_polyhedron_arb8 (double Dz, const double *xy) |
| bool | set_polyhedron_trd2 (double Dx1, double Dx2, double Dy1, double Dy2, double Dz) |
| bool | set_polyhedron_box (double Dx, double Dy, double Dz) |
| bool | set_polyhedron_trd1 (double Dx1, double Dx2, double Dy, double Dz) |
| bool | set_polyhedron_trap (double Dz, double Theta, double Phi, double Dy1, double Dx1, double Dx2, double Alp1, double Dy2, double Dx3, double Dx4, double Alp2) |
| bool | set_polyhedron_para (double Dx, double Dy, double Dz, double Alpha, double Theta, double Phi) |
| bool | set_polyhedron_pgon (double phi, double dphi, int npdv, int nz, const double *z, const double *rmin, const double *rmax) |
| bool | set_polyhedron_pcon (double phi, double dphi, int nz, const double *z, const double *rmin, const double *rmax) |
| bool | set_polyhedron_tubs (double Rmin, double Rmax, double Dz, double Phi1, double Dphi, int nstep) |
| bool | set_polyhedron_cone (double Rmn1, double Rmx1, double Rmn2, double Rmx2, double Dz, int nstep) |
| bool | set_polyhedron_torus (double rmin, double rmax, double rtor, double phi, double dphi, int nphi, int nthe) |
| bool | set_polyhedron_xtru (int a_npts, int a_nz, double *a_xs, double *a_ys, double *a_zs, bool a_acw=true, bool a_zfb=true) |
| bool | set_polyhedron_sphere (double rmin, double rmax, double phi, double dphi, double the, double dthe, int nphi=0, int nthe=0) |
| bool | set_polyhedron_hype (double a_st_in, double a_st_out, double a_rmin, double a_rmax, double a_dz, int a_nz=10, int a_nphi=24) |
| bool | set_polyhedron_eltu (double a_dx, double a_dy, double a_dz, int a_nz=10, int a_nphi=24) |
Static Public Member Functions | |
| static int | NUMBER_OF_STEPS () |
| static void | do_not_set_NUMBER_OF_STEPS (int) |
Protected Member Functions | |
| void | AllocateMemory (int Nvert, int Nface) |
| int | FindNeighbour (int iFace, int iNode, int iOrder) const |
| HVNormal3D | FindNodeNormal (int iFace, int iNode) const |
| void | CreatePrism () |
| void | RotateEdge (int k1, int k2, double r1, double r2, int v1, int v2, int vEdge, bool ifWholeCircle, int ns, int &kface) |
| void | SetSideFacets (int ii[4], int vv[4], int *kk, double *r, double dphi, int ns, int &kface) |
| void | RotateAroundZ (int nstep, double phi, double dphi, int np1, int np2, const double *z, double *r, int nodeVis, int edgeVis) |
| void | SetReferences () |
| void | InvertFacets () |
Static Protected Member Functions | |
| static double | _M_PI () |
Protected Attributes | |
| int | nvert |
| int | nface |
| HVPoint3D * | pV |
| SbFacet * | pF |
Friends | |
| std::ostream & | operator<< (std::ostream &, const polyhedron &ph) |
| int | operator== (const polyhedron &v1, const polyhedron &v2) |
| int | operator!= (const polyhedron &v1, const polyhedron &v2) |
Definition at line 142 of file polyhedron.
|
inline |
Definition at line 205 of file polyhedron.
|
inlinevirtual |
Definition at line 217 of file polyhedron.
| tools::hep::polyhedron::polyhedron | ( | const polyhedron & | from | ) |
|
inlinestaticprotected |
Definition at line 164 of file polyhedron.
| polyhedron tools::hep::polyhedron::add | ( | const polyhedron & | p | ) | const |
|
protected |
|
protected |
|
inlinestatic |
Definition at line 203 of file polyhedron.
| void tools::hep::polyhedron::dump | ( | std::ostream & | ) | const |
|
inline |
|
protected |
|
protected |
| void tools::hep::polyhedron::GetFacet | ( | int | iFace, |
| int & | n, | ||
| HVPoint3D * | nodes, | ||
| int * | edgeFlags = 0, |
||
| HVNormal3D * | normals = 0 |
||
| ) | const |
| void tools::hep::polyhedron::GetFacet | ( | int | iFace, |
| int & | n, | ||
| int * | iNodes, | ||
| int * | edgeFlags = 0, |
||
| int * | iFaces = 0 |
||
| ) | const |
| bool tools::hep::polyhedron::GetNextEdge | ( | HVPoint3D & | p1, |
| HVPoint3D & | p2, | ||
| int & | edgeFlag, | ||
| int & | iface1, | ||
| int & | iface2 | ||
| ) | const |
| bool tools::hep::polyhedron::GetNextEdgeIndeces | ( | int & | i1, |
| int & | i2, | ||
| int & | edgeFlag | ||
| ) | const |
| bool tools::hep::polyhedron::GetNextEdgeIndeces | ( | int & | i1, |
| int & | i2, | ||
| int & | edgeFlag, | ||
| int & | iface1, | ||
| int & | iface2 | ||
| ) | const |
| bool tools::hep::polyhedron::GetNextFacet | ( | int & | n, |
| HVPoint3D * | nodes, | ||
| int * | edgeFlags = 0, |
||
| HVNormal3D * | normals = 0 |
||
| ) | const |
| bool tools::hep::polyhedron::GetNextNormal | ( | HVNormal3D & | normal | ) | const |
| bool tools::hep::polyhedron::GetNextUnitNormal | ( | HVNormal3D & | normal | ) | const |
| bool tools::hep::polyhedron::GetNextVertex | ( | HVPoint3D & | vertex, |
| int & | edgeFlag | ||
| ) | const |
| bool tools::hep::polyhedron::GetNextVertex | ( | HVPoint3D & | vertex, |
| int & | edgeFlag, | ||
| HVNormal3D & | normal | ||
| ) | const |
|
inline |
Definition at line 446 of file polyhedron.
|
inline |
Definition at line 253 of file polyhedron.
| HVNormal3D tools::hep::polyhedron::GetNormal | ( | int | iFace | ) | const |
|
inline |
Definition at line 250 of file polyhedron.
| int tools::hep::polyhedron::GetNumberOfRotationSteps | ( | ) |
|
inline |
Definition at line 270 of file polyhedron.
|
inline |
Definition at line 269 of file polyhedron.
| double tools::hep::polyhedron::GetSurfaceArea | ( | ) | const |
| HVNormal3D tools::hep::polyhedron::GetUnitNormal | ( | int | iFace | ) | const |
| HVPoint3D tools::hep::polyhedron::GetVertex | ( | int | index | ) | const |
| const HVPoint3D& tools::hep::polyhedron::GetVertexFast | ( | int | index | ) | const |
| double tools::hep::polyhedron::GetVolume | ( | ) | const |
| polyhedron tools::hep::polyhedron::intersect | ( | const polyhedron & | p | ) | const |
|
protected |
| bool tools::hep::polyhedron::isConsistent | ( | const char * | = 0 | ) | const |
| bool tools::hep::polyhedron::isEqual | ( | const polyhedron & | p | ) | const |
|
inlinestatic |
Definition at line 201 of file polyhedron.
| polyhedron& tools::hep::polyhedron::operator= | ( | const polyhedron & | from | ) |
| void tools::hep::polyhedron::ResetNumberOfRotationSteps | ( | ) |
|
protected |
|
protected |
| bool tools::hep::polyhedron::set_polyhedron_arb8 | ( | double | Dz, |
| const double * | xy | ||
| ) |
|
inline |
Definition at line 357 of file polyhedron.
|
inline |
Definition at line 394 of file polyhedron.
| bool tools::hep::polyhedron::set_polyhedron_cons | ( | double | Rmn1, |
| double | Rmx1, | ||
| double | Rmn2, | ||
| double | Rmx2, | ||
| double | Dz, | ||
| double | Phi1, | ||
| double | Dphi, | ||
| int | nstep = 0 |
||
| ) |
| bool tools::hep::polyhedron::set_polyhedron_eltu | ( | double | a_dx, |
| double | a_dy, | ||
| double | a_dz, | ||
| int | a_nz = 10, |
||
| int | a_nphi = 24 |
||
| ) |
| bool tools::hep::polyhedron::set_polyhedron_hype | ( | double | a_st_in, |
| double | a_st_out, | ||
| double | a_rmin, | ||
| double | a_rmax, | ||
| double | a_dz, | ||
| int | a_nz = 10, |
||
| int | a_nphi = 24 |
||
| ) |
|
inline |
Definition at line 370 of file polyhedron.
|
inline |
Definition at line 380 of file polyhedron.
| bool tools::hep::polyhedron::set_polyhedron_pgon | ( | double | phi, |
| double | dphi, | ||
| int | npdv, | ||
| int | nz, | ||
| const double * | z, | ||
| const double * | rmin, | ||
| const double * | rmax | ||
| ) |
| bool tools::hep::polyhedron::set_polyhedron_sphere | ( | double | rmin, |
| double | rmax, | ||
| double | phi, | ||
| double | dphi, | ||
| double | the, | ||
| double | dthe, | ||
| int | nphi = 0, |
||
| int | nthe = 0 |
||
| ) |
| bool tools::hep::polyhedron::set_polyhedron_torus | ( | double | rmin, |
| double | rmax, | ||
| double | rtor, | ||
| double | phi, | ||
| double | dphi, | ||
| int | nphi, | ||
| int | nthe | ||
| ) |
| bool tools::hep::polyhedron::set_polyhedron_trap | ( | double | Dz, |
| double | Theta, | ||
| double | Phi, | ||
| double | Dy1, | ||
| double | Dx1, | ||
| double | Dx2, | ||
| double | Alp1, | ||
| double | Dy2, | ||
| double | Dx3, | ||
| double | Dx4, | ||
| double | Alp2 | ||
| ) |
|
inline |
Definition at line 360 of file polyhedron.
| bool tools::hep::polyhedron::set_polyhedron_trd2 | ( | double | Dx1, |
| double | Dx2, | ||
| double | Dy1, | ||
| double | Dy2, | ||
| double | Dz | ||
| ) |
|
inline |
Definition at line 347 of file polyhedron.
|
inline |
Definition at line 387 of file polyhedron.
| bool tools::hep::polyhedron::set_polyhedron_xtru | ( | int | a_npts, |
| int | a_nz, | ||
| double * | a_xs, | ||
| double * | a_ys, | ||
| double * | a_zs, | ||
| bool | a_acw = true, |
||
| bool | a_zfb = true |
||
| ) |
| void tools::hep::polyhedron::SetNumberOfRotationSteps | ( | int | n | ) |
|
protected |
|
protected |
| polyhedron tools::hep::polyhedron::subtract | ( | const polyhedron & | p | ) | const |
| polyhedron& tools::hep::polyhedron::Transform | ( | const rotd & | rot, |
| const vec3d & | trans | ||
| ) |
| polyhedron& tools::hep::polyhedron::Transform | ( | const rotd & | rot, |
| double | , | ||
| double | , | ||
| double | |||
| ) |
| polyhedron& tools::hep::polyhedron::Translate | ( | double | , |
| double | , | ||
| double | |||
| ) |
|
inline |
Definition at line 352 of file polyhedron.
|
friend |
|
friend |
|
friend |
|
protected |
Definition at line 157 of file polyhedron.
|
protected |
Definition at line 157 of file polyhedron.
|
protected |
Definition at line 159 of file polyhedron.
|
protected |
Definition at line 158 of file polyhedron.