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.