|
ATLAS Offline Software
|
Go to the documentation of this file. 1 #ifndef HEPVis_SbPolyhedron_h
2 #define HEPVis_SbPolyhedron_h
168 #include <Inventor/C/errors/debugerror.h>
169 #include <Inventor/SbLinear.h>
213 #ifndef DEFAULT_NUMBER_OF_STEPS
214 #define DEFAULT_NUMBER_OF_STEPS 24
226 int v3=0,
int f3=0,
int v4=0,
int f4=0)
255 void RotateEdge(
int k1,
int k2,
double r1,
double r2,
256 int v1,
int v2,
int vEdge,
257 bool ifWholeCircle,
int ns,
int &kface);
262 double dphi,
int ns,
int &kface);
267 const double *
z,
double *
r,
268 int nodeVis,
int edgeVis);
305 const SbVec3d& trans);
327 int & iface1,
int & iface2)
const;
337 int &iface1,
int &iface2)
const;
340 void GetFacet(
int iFace,
int &
n,
int *iNodes,
341 int *edgeFlags = 0,
int *iFaces = 0)
const;
345 int *edgeFlags = 0,
HVNormal3D *normals = 0)
const;
349 int *edgeFlags=0,
HVNormal3D *normals=0)
const;
399 double Dy1,
double Dy2,
double Dz);
409 double Dy,
double Dz);
429 double Dx1,
double Dx2,
double Alp1,
431 double Dx3,
double Dx4,
double Alp2);
441 double Alpha,
double Theta,
double Phi);
451 double Rmn2,
double Rmx2,
double Dz,
452 double Phi1,
double Dphi);
462 double Rmn2,
double Rmx2,
double Dz);
472 double Phi1,
double Dphi);
515 double phi,
double dphi,
516 double the,
double dthe);
526 double phi,
double dphi);
562 void AddVertex(
const double v1,
const double v2,
const double v3);
563 void AddFacet(
const int iv1,
const int iv2,
const int iv3,
const int iv4=0);
virtual ~SbPolyhedronPolygonXSect()
HVNormal3D FindNodeNormal(int iFace, int iNode) const
HVPoint3D GetVertex(int index) const
virtual ~SbPolyhedronArbitrary()
const HVPoint3D & GetVertexFast(int index) const
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
static int s_numberOfRotationSteps
int nVertices(const Polygon &p)
bool GetNextVertex(HVPoint3D &vertex, int &edgeFlag) const
Scalar phi() const
phi method
SbPolyhedron add(const SbPolyhedron &p) const
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
SbPolyhedronArbitrary(const int nVertices, const int nFacets)
SbPolyhedronBox(double Dx, double Dy, double Dz)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
SbPolyhedronTube(double Rmin, double Rmax, double Dz)
bool GetNextVertexIndex(int &index, int &edgeFlag) const
bool GetNextEdgeIndeces(int &i1, int &i2, int &edgeFlag, int &iface1, int &iface2) const
friend HVPoint3D operator+(const HVPoint3D &v1, const HVPoint3D &v2)
SbPolyhedronCone(double Rmn1, double Rmx1, double Rmn2, double Rmx2, double Dz)
void GetFacet(int iFace, int &n, int *iNodes, int *edgeFlags=0, int *iFaces=0) const
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
SbPolyhedronTubs(double Rmin, double Rmax, double Dz, double Phi1, double Dphi)
SbPolyhedronTrap(double Dz, double Theta, double Phi, double Dy1, double Dx1, double Dx2, double Alp1, double Dy2, double Dx3, double Dx4, double Alp2)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
SbPolyhedronSphere(double rmin, double rmax, double phi, double dphi, double the, double dthe)
SbPolyhedronTorus(double rmin, double rmax, double rtor, double phi, double dphi)
#define DEFAULT_NUMBER_OF_STEPS
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
virtual ~SbPolyhedronTubs()
HVNormal3D GetNormal(int iFace) const
virtual ~SbPolyhedronCons()
bool GetNextEdge(HVPoint3D &p1, HVPoint3D &p2, int &edgeFlag) const
bool GetNextNormal(HVNormal3D &normal) const
SbPolyhedronTrd2(double Dx1, double Dx2, double Dy1, double Dy2, double Dz)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
@ f3
fraction of energy reconstructed in 3rd sampling
SbFacet(int v1=0, int f1=0, int v2=0, int f2=0, int v3=0, int f3=0, int v4=0, int f4=0)
SbPolyhedronPgon(double phi, double dphi, int npdv, int nz, const double *z, const double *rmin, const double *rmax)
HVPoint3D & operator=(const HVPoint3D &v)
SbPolyhedron & Transform(const HEPVis::SbRotation &rot, const SbVec3d &trans)
SbPolyhedronPcon(double phi, double dphi, int nz, const double *z, const double *rmin, const double *rmax)
virtual ~SbPolyhedronTube()
virtual ~SbPolyhedronPara()
void AllocateMemory(int Nvert, int Nface)
static int GetNumberOfRotationSteps()
virtual ~SbPolyhedronSphere()
HVNormal3D GetUnitNormal(int iFace) const
virtual ~SbPolyhedronTrap()
virtual ~SbPolyhedronPgon()
void SetSideFacets(int ii[4], int vv[4], int *kk, double *r, double dphi, int ns, int &kface)
bool GetNextFacet(int &n, HVPoint3D *nodes, int *edgeFlags=0, HVNormal3D *normals=0) const
HVPoint3D operator+(const HVPoint3D &v1, const HVPoint3D &v2)
virtual ~SbPolyhedronPcon()
virtual ~SbPolyhedronCone()
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
void RotateAroundZ(int nstep, double phi, double dphi, int np1, int np2, const double *z, double *r, int nodeVis, int edgeVis)
static void ResetNumberOfRotationSteps()
void AddFacet(const int iv1, const int iv2, const int iv3, const int iv4=0)
friend std::ostream & operator<<(std::ostream &, const SbFacet &facet)
SbPolyhedronCons(double Rmn1, double Rmx1, double Rmn2, double Rmx2, double Dz, double Phi1, double Dphi)
int FindNeighbour(int iFace, int iNode, int iOrder) const
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
virtual ~SbPolyhedronTorus()
double GetSurfaceArea() const
static void SetNumberOfRotationSteps(int n)
void AddVertex(const double v1, const double v2, const double v3)
HEPVis::SbPlane HVPlane3D
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
SbPolyhedronTrd1(double Dx1, double Dx2, double Dy, double Dz)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
SbPolyhedronPolygonXSect(const std::vector< double > &x, const std::vector< double > &y, const double &dz)
void RotateEdge(int k1, int k2, double r1, double r2, int v1, int v2, int vEdge, bool ifWholeCircle, int ns, int &kface)
SbPolyhedron(int Nvert=0, int Nface=0)
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
int GetNoVertices() const
SbPolyhedronPara(double Dx, double Dy, double Dz, double Alpha, double Theta, double Phi)
friend std::ostream & operator<<(std::ostream &, const SbPolyhedron &ph)
virtual ~SbPolyhedronGenericTrap()
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
SbPolyhedron subtract(const SbPolyhedron &p) const
virtual SbPolyhedron & operator=(const SbPolyhedron &from)
std::vector< Vertex > Vertices
bool GetNextUnitNormal(HVNormal3D &normal) const
virtual ~SbPolyhedronBox()
virtual ~SbPolyhedronTrd1()
SbPolyhedron intersect(const SbPolyhedron &p) const
virtual ~SbPolyhedronTrd2()
struct SbFacet::@66 m_edge[4]
SbPolyhedronGenericTrap(double Dz, const std::vector< std::pair< double, double > > &Vertices)