#include <Mesh.h>
Public Types | |
typedef ArrayT< id_t > | arBndElems |
typedef std::vector< ElemInfo > | arElems |
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 BBox3D & | GetMeshBBox3D () 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 |
arElems & | GetElems () |
const arElems & | GetElems () 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 |
typedef ArrayT<id_t> FemViewer::Mesh::arBndElems |
typedef arElems::const_iterator FemViewer::Mesh::arElConstIter |
typedef std::vector<ElemInfo> FemViewer::Mesh::arElems |
typedef arElems::iterator FemViewer::Mesh::arElemsIter |
FemViewer::Mesh::Mesh | ( | ) | [explicit] |
FemViewer::Mesh::Mesh | ( | const std::string & | name_ | ) | [explicit] |
FemViewer::Mesh::~Mesh | ( | ) | [virtual] |
int FemViewer::Mesh::Create | ( | const int | type = eSelectionCategory::All |
) |
BBox3D FemViewer::Mesh::ExtractMeshBBoxFromNodes | ( | bool | do_parallel = false |
) |
void FemViewer::Mesh::FillArrayWithElemCoords | ( | const Mesh * | pMesh, | |
CoordType | ElemCoords[] | |||
) | [static] |
uint32_t FemViewer::Mesh::FillArrayWithIndicesOfElemNodes | ( | const Mesh * | pMesh, | |
int | Indices[] | |||
) | [static] |
int FemViewer::Mesh::GetBoundaryVertices | ( | std::vector< BaseVertex > & | nodes | ) |
int FemViewer::Mesh::GetEdgeNodes | ( | int | edge, | |
int * | Edge | |||
) | const [inline] |
int FemViewer::Mesh::GetEdgeStatus | ( | int | edge | ) | const [inline] |
BBox3D FemViewer::Mesh::GetElemBBox3D | ( | const int | nodes[] | ) | const [inline] |
int FemViewer::Mesh::GetElemenCoordinatesFromNodes | ( | const int * | nodes, | |
T * | Coord | |||
) | const [inline] |
int FemViewer::Mesh::GetElementCoordinates | ( | int | nel, | |
int * | Nodes, | |||
float * | Coords | |||
) | const [inline] |
int FemViewer::Mesh::GetElementCoordinates | ( | int | nel, | |
int * | Nodes, | |||
T * | Coords | |||
) | const [inline] |
int FemViewer::Mesh::GetElementCoordsd | ( | int | nel, | |
int | nodes[], | |||
double | Coords[] | |||
) | const [inline] |
int FemViewer::Mesh::GetElementCoordsf | ( | int | nel, | |
int | nodes[], | |||
float | Coords[] | |||
) | const [inline] |
int FemViewer::Mesh::GetElementFaces | ( | int | El, | |
int | Faces[], | |||
int | Orient[] | |||
) | const [inline] |
int FemViewer::Mesh::GetElementFaces | ( | int | nel, | |
int * | Faces, | |||
int * | Orient | |||
) | [inline] |
int FemViewer::Mesh::GetElementOriginf | ( | int | nel, | |
int | nodes[], | |||
float | Coords[] | |||
) | const [inline] |
size_t FemViewer::Mesh::GetElementOrigins | ( | std::vector< Origin > & | origins | ) |
const arElems& FemViewer::Mesh::GetElems | ( | ) | const [inline] |
arElems& FemViewer::Mesh::GetElems | ( | ) | [inline] |
int FemViewer::Mesh::GetElemStatus | ( | int | nel | ) | const [inline] |
void FemViewer::Mesh::GetFaceNeigInfo | ( | int | Fa, | |
int | Fa_neig[] | |||
) | const [inline] |
int FemViewer::Mesh::GetFaceoriginf | ( | int | ned, | |
int | nodes[], | |||
float | Coords[] | |||
) | const [inline] |
int FemViewer::Mesh::GetMaxNodeId | ( | void | ) | const [inline] |
const BBox3D& FemViewer::Mesh::GetMeshBBox3D | ( | ) | const [inline] |
int FemViewer::Mesh::GetNextActiveElement | ( | int | nel | ) | [inline] |
int FemViewer::Mesh::GetNodeCoor | ( | int | node, | |
float * | coords | |||
) | const [inline] |
int FemViewer::Mesh::GetNodeCoor | ( | int | node, | |
T * | coords | |||
) | const [inline] |
int FemViewer::Mesh::GetNodeStatus | ( | int | node | ) | const [inline] |
size_type FemViewer::Mesh::GetNumActiveNodes | ( | ) | const [inline] |
size_type FemViewer::Mesh::GetNumEdges | ( | ) | const [inline] |
size_type FemViewer::Mesh::GetNumElems | ( | ) | const [inline] |
size_type FemViewer::Mesh::GetNumFaces | ( | ) | const [inline] |
unsigned FemViewer::Mesh::GetNumIndicesSelected | ( | int | div | ) |
size_type FemViewer::Mesh::GetNumNodes | ( | ) | const [inline] |
unsigned FemViewer::Mesh::GetNumVerticesSelected | ( | int | div | ) |
int FemViewer::Mesh::GetOriginsOfBoundaryFaces | ( | std::vector< BaseVertex > & | origins, | |
std::vector< BaseVertex > & | nodes | |||
) |
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] |
int FemViewer::Mesh::GetReferenceCoordinates | ( | int | nel, | |
int | type, | |||
int | pdeg, | |||
int | base, | |||
std::vector< fvmath::CVec3< T > > & | coords, | |||
std::vector< short > & | indices | |||
) | [inline] |
size_t FemViewer::Mesh::GetVerticesOfCuts | ( | const std::vector< CutPlane > & | cut_planes, | |
std::vector< BaseVertex > & | vertices | |||
) |
int FemViewer::Mesh::Init | ( | const char * | name | ) | [virtual] |
Reimplemented from FemViewer::BaseMesh.
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 | |||
) |
void FemViewer::Mesh::PackElementPlanes | ( | std::vector< fvmath::Vec4< CoordType > > & | ElemPlanes, | |
bool | onlyboundary = false | |||
) |
int FemViewer::Mesh::Reload | ( | ) | [virtual] |
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 |
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 |
Reimplemented from FemViewer::BaseMesh.
int FemViewer::Mesh::Select | ( | const bool | boundaryOnly = false |
) |
int FemViewer::Mesh::Select | ( | std::vector< CutPlane > & | vec_pcpls | ) |
int FemViewer::Mesh::Update | ( | void | ) | [virtual] |
Reimplemented from FemViewer::BaseMesh.
friend class ModelControler [friend] |
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] |