FemViewer::Mesh Class Reference

#include <Mesh.h>

Inheritance diagram for FemViewer::Mesh:
Inheritance graph
[legend]
Collaboration diagram for FemViewer::Mesh:
Collaboration graph
[legend]

List of all members.

Public Types

typedef ArrayT< id_tarBndElems
typedef std::vector< ElemInfoarElems
typedef arBndElems::iterator BndElemsIter
typedef arBndElems::const_iterator BndElemsConstIter
typedef arBndElems::reference BndElemsRef
typedef arBndElems::const_reference BndElemsConstRef
typedef arElems::iterator arElemsIter
typedef arElems::const_iterator arElConstIter

Public Member Functions

 Mesh ()
 Mesh (const std::string &name_)
virtual ~Mesh ()
bool IsInit () const
const BBox3DGetMeshBBox3D () const
template<typename T = double>
int GetReferenceCoordinates (int nel, int type, int pdeg, int base, std::vector< fvmath::CVec3< T > > &coords, std::vector< short > &indices)
template<typename T >
int GetReferenceCoordinates (int nel, int type, int pdeg, int base, int side, std::vector< fvmath::CVec3< T > > &coords, std::vector< short > &indices)
template<typename T = double>
int GetElementCoordinates (int nel, int *Nodes, T *Coords) const
template<typename T = double>
int GetElemenCoordinatesFromNodes (const int *nodes, T *Coord) const
int GetElementFaces (int nel, int *Faces, int *Orient)
int GetNextActiveElement (int nel)
int GetMaxNodeId (void) const
int Init (const char *name)
int Create (const int type=eSelectionCategory::All)
int Reload ()
int Update ()
void Reset ()
BBox3D GetElemBBox3D (const int nodes[]) const
unsigned GetNumVerticesSelected (int div)
unsigned GetNumIndicesSelected (int div)
bool Render (unsigned int options, Object *hObj, CutPlane *plane=NULL, arBndElems *vbnds=NULL)
size_type GetNumNodes () const
size_type GetNumEdges () const
size_type GetNumFaces () const
size_type GetNumElems () const
arElemsGetElems ()
const arElemsGetElems () const
size_type GetNumActiveNodes () const
BBox3D ExtractMeshBBoxFromNodes (bool do_parallel=false)
int Select (std::vector< CutPlane > &vec_pcpls)
int Select (const bool boundaryOnly=false)
unsigned int RenderWireframe (std::vector< BaseVertex > &out_vertices, std::vector< unsigned > &out_edge_indices) const
unsigned int RenderWireframeCuts (const std::vector< CutPlane > &cut_planes, std::vector< Vertex > &outline_vertices, std::vector< Origin > &out_origins, std::vector< unsigned > &out_edge_indices, std::vector< int > &out_counts) const
bool RenderWireframeCutted (Object *nObj, CutPlane *plane) const
int GetBoundaryVertices (std::vector< BaseVertex > &nodes)
size_t GetElementOrigins (std::vector< Origin > &origins)
int GetOriginsOfBoundaryFaces (std::vector< BaseVertex > &origins, std::vector< BaseVertex > &nodes)
size_t GetVerticesOfCuts (const std::vector< CutPlane > &cut_planes, std::vector< BaseVertex > &vertices)
template<typename T >
int GetNodeCoor (int node, T *coords) const
int GetEdgeNodes (int edge, int *Edge) const
int GetFaceoriginf (int ned, int nodes[], float Coords[]) const
int GetElementCoordsf (int nel, int nodes[], float Coords[]) const
int GetElementOriginf (int nel, int nodes[], float Coords[]) const
int GetElementCoordsd (int nel, int nodes[], double Coords[]) const
void GetFaceNeigInfo (int Fa, int Fa_neig[]) const
int GetElementFaces (int El, int Faces[], int Orient[]) const
int GetNodeStatus (int node) const
int GetEdgeStatus (int edge) const
int GetElemStatus (int nel) const
template<typename T >
int GetNextActiveElement (T nel=T(0)) const
size_t PackElementCoord (std::vector< fvmath::Vec4< CoordType > > &ElemPrismCoords, bool onlyboundary=false)
void PackElementPlanes (std::vector< fvmath::Vec4< CoordType > > &ElemPlanes, bool onlyboundary=false)
template<>
int GetNodeCoor (int node, float *coords) const
template<>
int GetElementCoordinates (int nel, int *Nodes, float *Coords) const

Static Public Member Functions

static uint32_t SetFaces (Mesh &rmesh)
static void FillArrayWithElemCoords (const Mesh *pMesh, CoordType ElemCoords[])
static uint32_t FillArrayWithIndicesOfElemNodes (const Mesh *pMesh, int Indices[])
static void ConvertNodes (const Mesh *pMesh, float NodeCoords[])

Static Public Attributes

static const int tetra [4][3] = { {0,2,1},{0,1,3},{0,3,2},{1,2,3} }
static const int prizm [5][4] = { {0,2,1,-1},{3,4,5,-1},{0,1,4,3},{1,2,5,4},{2,0,3,5} }

Friends

class ModelControler

Member Typedef Documentation

typedef arElems::const_iterator FemViewer::Mesh::arElConstIter
typedef std::vector<ElemInfo> FemViewer::Mesh::arElems
typedef arElems::iterator FemViewer::Mesh::arElemsIter

Constructor & Destructor Documentation

FemViewer::Mesh::Mesh (  )  [explicit]
FemViewer::Mesh::Mesh ( const std::string &  name_  )  [explicit]

Here is the call graph for this function:

FemViewer::Mesh::~Mesh (  )  [virtual]

Here is the call graph for this function:


Member Function Documentation

void FemViewer::Mesh::ConvertNodes ( const Mesh pMesh,
float  NodeCoords[] 
) [static]

Here is the call graph for this function:

int FemViewer::Mesh::Create ( const int  type = eSelectionCategory::All  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

BBox3D FemViewer::Mesh::ExtractMeshBBoxFromNodes ( bool  do_parallel = false  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::Mesh::FillArrayWithElemCoords ( const Mesh pMesh,
CoordType  ElemCoords[] 
) [static]

Here is the call graph for this function:

uint32_t FemViewer::Mesh::FillArrayWithIndicesOfElemNodes ( const Mesh pMesh,
int  Indices[] 
) [static]

Here is the call graph for this function:

int FemViewer::Mesh::GetBoundaryVertices ( std::vector< BaseVertex > &  nodes  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

int FemViewer::Mesh::GetEdgeNodes ( int  edge,
int *  Edge 
) const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

int FemViewer::Mesh::GetEdgeStatus ( int  edge  )  const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

BBox3D FemViewer::Mesh::GetElemBBox3D ( const int  nodes[]  )  const [inline]

Here is the call graph for this function:

template<typename T = double>
int FemViewer::Mesh::GetElemenCoordinatesFromNodes ( const int *  nodes,
T Coord 
) const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

template<>
int FemViewer::Mesh::GetElementCoordinates ( int  nel,
int *  Nodes,
float *  Coords 
) const [inline]
template<typename T = double>
int FemViewer::Mesh::GetElementCoordinates ( int  nel,
int *  Nodes,
T Coords 
) const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

int FemViewer::Mesh::GetElementCoordsd ( int  nel,
int  nodes[],
double  Coords[] 
) const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

int FemViewer::Mesh::GetElementCoordsf ( int  nel,
int  nodes[],
float  Coords[] 
) const [inline]

Here is the call graph for this function:

int FemViewer::Mesh::GetElementFaces ( int  El,
int  Faces[],
int  Orient[] 
) const [inline]

Here is the call graph for this function:

int FemViewer::Mesh::GetElementFaces ( int  nel,
int *  Faces,
int *  Orient 
) [inline]

Here is the call graph for this function:

int FemViewer::Mesh::GetElementOriginf ( int  nel,
int  nodes[],
float  Coords[] 
) const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

size_t FemViewer::Mesh::GetElementOrigins ( std::vector< Origin > &  origins  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

const arElems& FemViewer::Mesh::GetElems (  )  const [inline]
arElems& FemViewer::Mesh::GetElems (  )  [inline]

Here is the caller graph for this function:

int FemViewer::Mesh::GetElemStatus ( int  nel  )  const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

void FemViewer::Mesh::GetFaceNeigInfo ( int  Fa,
int  Fa_neig[] 
) const [inline]

Here is the call graph for this function:

int FemViewer::Mesh::GetFaceoriginf ( int  ned,
int  nodes[],
float  Coords[] 
) const [inline]
int FemViewer::Mesh::GetMaxNodeId ( void   )  const [inline]

Here is the call graph for this function:

const BBox3D& FemViewer::Mesh::GetMeshBBox3D (  )  const [inline]

Here is the caller graph for this function:

template<typename T >
int FemViewer::Mesh::GetNextActiveElement ( T  nel = T(0)  )  const [inline]

Here is the call graph for this function:

int FemViewer::Mesh::GetNextActiveElement ( int  nel  )  [inline]

Here is the call graph for this function:

template<>
int FemViewer::Mesh::GetNodeCoor ( int  node,
float *  coords 
) const [inline]
template<typename T >
int FemViewer::Mesh::GetNodeCoor ( int  node,
T coords 
) const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

int FemViewer::Mesh::GetNodeStatus ( int  node  )  const [inline]

Here is the call graph for this function:

Here is the caller graph for this function:

size_type FemViewer::Mesh::GetNumActiveNodes (  )  const [inline]
size_type FemViewer::Mesh::GetNumEdges (  )  const [inline]

Here is the caller graph for this function:

size_type FemViewer::Mesh::GetNumElems (  )  const [inline]

Here is the caller graph for this function:

size_type FemViewer::Mesh::GetNumFaces (  )  const [inline]

Here is the caller graph for this function:

unsigned FemViewer::Mesh::GetNumIndicesSelected ( int  div  ) 
size_type FemViewer::Mesh::GetNumNodes (  )  const [inline]

Here is the caller graph for this function:

unsigned FemViewer::Mesh::GetNumVerticesSelected ( int  div  ) 
int FemViewer::Mesh::GetOriginsOfBoundaryFaces ( std::vector< BaseVertex > &  origins,
std::vector< BaseVertex > &  nodes 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T >
int FemViewer::Mesh::GetReferenceCoordinates ( int  nel,
int  type,
int  pdeg,
int  base,
int  side,
std::vector< fvmath::CVec3< T > > &  coords,
std::vector< short > &  indices 
) [inline]

Here is the call graph for this function:

template<typename T >
int FemViewer::Mesh::GetReferenceCoordinates ( int  nel,
int  type,
int  pdeg,
int  base,
std::vector< fvmath::CVec3< T > > &  coords,
std::vector< short > &  indices 
) [inline]

Here is the call graph for this function:

size_t FemViewer::Mesh::GetVerticesOfCuts ( const std::vector< CutPlane > &  cut_planes,
std::vector< BaseVertex > &  vertices 
)

Here is the call graph for this function:

int FemViewer::Mesh::Init ( const char *  name  )  [virtual]

Reimplemented from FemViewer::BaseMesh.

Here is the call graph for this function:

Here is the caller graph for this function:

bool FemViewer::Mesh::IsInit ( void   )  const [inline]

Reimplemented from FemViewer::BaseMesh.

size_t FemViewer::Mesh::PackElementCoord ( std::vector< fvmath::Vec4< CoordType > > &  ElemPrismCoords,
bool  onlyboundary = false 
)

Here is the call graph for this function:

void FemViewer::Mesh::PackElementPlanes ( std::vector< fvmath::Vec4< CoordType > > &  ElemPlanes,
bool  onlyboundary = false 
)

Here is the call graph for this function:

int FemViewer::Mesh::Reload (  )  [virtual]

Reimplemented from FemViewer::BaseMesh.

Here is the call graph for this function:

bool FemViewer::Mesh::Render ( unsigned int  options,
Object hObj,
CutPlane plane = NULL,
arBndElems vbnds = NULL 
)
unsigned int FemViewer::Mesh::RenderWireframe ( std::vector< BaseVertex > &  out_vertices,
std::vector< unsigned > &  out_edge_indices 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

unsigned int FemViewer::Mesh::RenderWireframeCuts ( const std::vector< CutPlane > &  cut_planes,
std::vector< Vertex > &  outline_vertices,
std::vector< Origin > &  out_origins,
std::vector< unsigned > &  out_edge_indices,
std::vector< int > &  out_counts 
) const

Here is the call graph for this function:

Here is the caller graph for this function:

bool FemViewer::Mesh::RenderWireframeCutted ( Object nObj,
CutPlane plane 
) const
void FemViewer::Mesh::Reset ( void   )  [virtual]

Reimplemented from FemViewer::BaseMesh.

Here is the call graph for this function:

Here is the caller graph for this function:

int FemViewer::Mesh::Select ( const bool  boundaryOnly = false  ) 

Here is the call graph for this function:

int FemViewer::Mesh::Select ( std::vector< CutPlane > &  vec_pcpls  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

static uint32_t FemViewer::Mesh::SetFaces ( Mesh rmesh  )  [static]
int FemViewer::Mesh::Update ( void   )  [virtual]

Reimplemented from FemViewer::BaseMesh.


Friends And Related Function Documentation

friend class ModelControler [friend]

Member Data Documentation

const int FemViewer::Mesh::prizm = { {0,2,1,-1},{3,4,5,-1},{0,1,4,3},{1,2,5,4},{2,0,3,5} } [static]
const int FemViewer::Mesh::tetra = { {0,2,1},{0,1,3},{0,3,2},{1,2,3} } [static]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1