GeoModel - GeoModelCore
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Attributes | Friends | List of all members
GeoPolyhedron Class Reference
Inheritance diagram for GeoPolyhedron:
GeoPolyhedronCons GeoPolyhedronPgon GeoPolyhedronSphere GeoPolyhedronTorus GeoPolyhedronTrap GeoPolyhedronTrd2 GeoPolyhedronCone GeoPolyhedronTube GeoPolyhedronTubs GeoPolyhedronPcon GeoPolyhedronPara GeoPolyhedronBox GeoPolyhedronTrd1

Public Member Functions

 GeoPolyhedron (int Nvert=0, int Nface=0)
 
 GeoPolyhedron (const GeoPolyhedron &from)
 
virtual GeoPolyhedron & operator= (const GeoPolyhedron &from)
 
int GetNoVertices () const
 
int GetNoFacets () const
 
GeoPolyhedron & Transform (const GeoTrf::RotationMatrix3D &rot, const GeoTrf::Vector3D &trans)
 
bool GetNextVertexIndex (int &index, int &edgeFlag) const
 
GeoTrf::Vector3D GetVertex (int index) const
 
bool GetNextVertex (GeoTrf::Vector3D &vertex, int &edgeFlag) const
 
bool GetNextVertex (GeoTrf::Vector3D &vertex, int &edgeFlag, GeoTrf::Vector3D &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 (GeoTrf::Vector3D &p1, GeoTrf::Vector3D &p2, int &edgeFlag) const
 
bool GetNextEdge (GeoTrf::Vector3D &p1, GeoTrf::Vector3D &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, GeoTrf::Vector3D *nodes, int *edgeFlags=0, GeoTrf::Vector3D *normals=0) const
 
bool GetNextFacet (int &n, GeoTrf::Vector3D *nodes, int *edgeFlags=0, GeoTrf::Vector3D *normals=0) const
 
GeoTrf::Vector3D GetNormal (int iFace) const
 
GeoTrf::Vector3D GetUnitNormal (int iFace) const
 
bool GetNextNormal (GeoTrf::Vector3D &normal) const
 
bool GetNextUnitNormal (GeoTrf::Vector3D &normal) const
 
GeoPolyhedron add (const GeoPolyhedron &p) const
 
GeoPolyhedron subtract (const GeoPolyhedron &p) const
 
GeoPolyhedron intersect (const GeoPolyhedron &p) const
 
double GetSurfaceArea () const
 
double GetVolume () const
 

Static Public Member Functions

static int GetNumberOfRotationSteps ()
 
static void SetNumberOfRotationSteps (int n)
 
static void ResetNumberOfRotationSteps ()
 

Protected Member Functions

void AllocateMemory (int Nvert, int Nface)
 
int FindNeighbour (int iFace, int iNode, int iOrder) const
 
GeoTrf::Vector3D 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 ()
 

Protected Attributes

int m_nvert
 
int m_nface
 
GeoTrf::Vector3D * m_pV
 
GeoFacet * m_pF
 

Static Private Attributes

static int s_fNumberOfRotationSteps
 

Friends

std::ostream & operator<< (std::ostream &, const GeoPolyhedron &ph)
 

Detailed Description

Definition at line 189 of file GeoPolyhedron.h.

Member Data Documentation

int GeoPolyhedron::s_fNumberOfRotationSteps
staticprivate
Initial value:
=
DEFAULT_NUMBER_OF_STEPS

Definition at line 194 of file GeoPolyhedron.h.


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