![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
Mesh generation More...
Classes | |
class | AlphaShape |
struct | Share |
Forward declaration due to the following definitions. More... | |
struct | Vertex |
struct | Cell |
class | Generic |
class | Block |
class | Structured |
class | Unstructured |
Typedefs | |
typedef CGAL::Exact_predicates_inexact_constructions_kernel | CGAL_K |
typedef CGAL::Alpha_shape_vertex_base_2 < CGAL_K > | CGAL_VB_2 |
typedef CGAL::Triangulation_face_base_2 < CGAL_K > | CGAL_TF_2 |
typedef CGAL::Alpha_shape_face_base_2 < CGAL_K, CGAL_TF_2 > | CGAL_FB_2 |
typedef CGAL::Triangulation_default_data_structure_2 < CGAL_K, CGAL_VB_2, CGAL_FB_2 > | CGAL_TDS_2 |
typedef CGAL::Delaunay_triangulation_2 < CGAL_K, CGAL_TDS_2 > | CGAL_DT_2 |
typedef CGAL::Alpha_shape_2 < CGAL_DT_2 > | CGAL_ALPHA_SHAPE_2 |
typedef CGAL::Alpha_shape_vertex_base_3 < CGAL_K > | CGAL_VB_3 |
typedef CGAL::Alpha_shape_cell_base_3 < CGAL_K > | CGAL_FB_3 |
typedef CGAL::Triangulation_data_structure_3 < CGAL_VB_3, CGAL_FB_3 > | CGAL_TDS_3 |
typedef CGAL::Delaunay_triangulation_3 < CGAL_K, CGAL_TDS_3 > | CGAL_DT_3 |
typedef CGAL::Alpha_shape_3 < CGAL_DT_3 > | CGAL_ALPHA_SHAPE_3 |
typedef std::map< int, int > | BryTag_t |
Map: edge/face ID => edge/face tag. | |
typedef boost::tuple< int, int, int, int > | BryKey_t |
Edge/face key = (left_node,right_node) for edges or (node0,node1,node2) for faces. | |
typedef std::pair< int, Cell * > | NeighDat_t |
Pair: local edge/face ID, neighbour cell. | |
typedef std::map< BryKey_t, NeighDat_t > | Neighs_t |
Map: edge/face key => neighbour data. | |
typedef std::map< BryKey_t, Array< NeighDat_t > > | BryCell_t |
Map: edge/face key => cells sharing this boundary (edge/face) | |
typedef std::map< Vertex *, Array< Vertex * > > | Pin_t |
Pin type. | |
typedef std::map< int, SDPair > | Side2Ctr_t |
Side to constraint map. | |
typedef triangulateio | TriIO |
typedef tetgenio | TetIO |
Functions | |
int | CellGetBryTag (int iSide, Cell const *c) |
int | CellGetNeigh (int iSide, Cell const *c) |
std::ostream & | operator<< (std::ostream &os, BryKey_t const &BK) |
std::ostream & | operator<< (std::ostream &os, Generic const &M) |
std::ostream & | operator<< (std::ostream &os, Block const &B) |
void | TriAllocate (int NPoints, int NSegments, int NRegions, int NHoles, TriIO &Tio) |
void | TriSetAllToNull (TriIO &Tio) |
void | TriDeallocateAll (TriIO &Tio) |
Variables | |
size_t | MaxNVerts2D = 8 |
size_t | NVertsToNEdges2D [] = {0,0,0,3,4,0,3,0,4} |
size_t | NVertsToNVertsPerEdge2D [] = {0,0,0,2,2,0,3,0,3} |
int | NVertsToEdge2D [][4][3] |
size_t | MaxNVerts3D = 20 |
size_t | NVertsToNFaces3D [] = {0,0,0,0, 4, 0,0,0, 6, 0, 4, 0,0,0,0,0,0,0,0,0, 6} |
size_t | NVertsToNVertsPerFace3D [] = {0,0,0,0, 3, 0,0,0, 4, 0, 3, 0,0,0,0,0,0,0,0,0, 4} |
int | NVertsToFace3D [][6][4] |
size_t | NVertsToNEdges3D [] = {0,0,0,0, 6, 0,0,0, 12, 0, 6, 0,0,0,0,0,0,0,0,0, 12} |
int | NVertsToEdge3D [][12][3] |
size_t | NVertsToGeoNVerts2D [] |
size_t | NVertsToGeoNVerts3D [] |
Mesh generation
typedef std::map<BryKey_t, Array<NeighDat_t> > Mesh::BryCell_t |
Map: edge/face key => cells sharing this boundary (edge/face)
typedef boost::tuple<int,int,int,int> Mesh::BryKey_t |
Edge/face key = (left_node,right_node) for edges or (node0,node1,node2) for faces.
typedef std::map<int,int> Mesh::BryTag_t |
Map: edge/face ID => edge/face tag.
typedef CGAL::Alpha_shape_2<CGAL_DT_2> Mesh::CGAL_ALPHA_SHAPE_2 |
typedef CGAL::Alpha_shape_3<CGAL_DT_3> Mesh::CGAL_ALPHA_SHAPE_3 |
typedef CGAL::Delaunay_triangulation_2<CGAL_K,CGAL_TDS_2> Mesh::CGAL_DT_2 |
typedef CGAL::Delaunay_triangulation_3<CGAL_K,CGAL_TDS_3> Mesh::CGAL_DT_3 |
typedef CGAL::Alpha_shape_face_base_2<CGAL_K,CGAL_TF_2> Mesh::CGAL_FB_2 |
typedef CGAL::Alpha_shape_cell_base_3<CGAL_K> Mesh::CGAL_FB_3 |
typedef CGAL::Exact_predicates_inexact_constructions_kernel Mesh::CGAL_K |
typedef CGAL::Triangulation_default_data_structure_2<CGAL_K,CGAL_VB_2,CGAL_FB_2> Mesh::CGAL_TDS_2 |
typedef CGAL::Triangulation_data_structure_3<CGAL_VB_3,CGAL_FB_3> Mesh::CGAL_TDS_3 |
typedef CGAL::Triangulation_face_base_2<CGAL_K> Mesh::CGAL_TF_2 |
typedef CGAL::Alpha_shape_vertex_base_2<CGAL_K> Mesh::CGAL_VB_2 |
typedef CGAL::Alpha_shape_vertex_base_3<CGAL_K> Mesh::CGAL_VB_3 |
typedef std::pair<int,Cell*> Mesh::NeighDat_t |
Pair: local edge/face ID, neighbour cell.
typedef std::map<BryKey_t, NeighDat_t> Mesh::Neighs_t |
Map: edge/face key => neighbour data.
typedef std::map<Vertex*,Array<Vertex*> > Mesh::Pin_t |
Pin type.
typedef std::map<int,SDPair> Mesh::Side2Ctr_t |
Side to constraint map.
typedef tetgenio Mesh::TetIO |
HSI' Tetgen Input/Output structure.
typedef triangulateio Mesh::TriIO |
JRS' Triangle Input/Output structure.
int Mesh::CellGetBryTag | ( | int | iSide, |
Cell const * | c | ||
) | [inline] |
int Mesh::CellGetNeigh | ( | int | iSide, |
Cell const * | c | ||
) | [inline] |
std::ostream& Mesh::operator<< | ( | std::ostream & | os, |
BryKey_t const & | BK | ||
) |
std::ostream& Mesh::operator<< | ( | std::ostream & | os, |
Generic const & | M | ||
) |
std::ostream& Mesh::operator<< | ( | std::ostream & | os, |
Block const & | B | ||
) |
void Mesh::TriAllocate | ( | int | NPoints, |
int | NSegments, | ||
int | NRegions, | ||
int | NHoles, | ||
TriIO & | Tio | ||
) | [inline] |
void Mesh::TriDeallocateAll | ( | TriIO & | Tio | ) | [inline] |
void Mesh::TriSetAllToNull | ( | TriIO & | Tio | ) | [inline] |
size_t Mesh::MaxNVerts2D = 8 |
size_t Mesh::MaxNVerts3D = 20 |
int Mesh::NVertsToEdge2D[][4][3] |
int Mesh::NVertsToEdge3D[][12][3] |
{ NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D, {{0,1,-1},{1,2,-1},{2,0,-1},{0,3,-1},{1,3,-1},{2,3,-1},NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE}, NOEDGES3D,NOEDGES3D,NOEDGES3D, {{0,1,-1},{1,2,-1},{2,3,-1},{3,0,-1},{4,5,-1},{5,6,-1},{6,7,-1},{7,4,-1},{0,4,-1},{1,5,-1},{2,6,-1},{3,7,-1}}, NOEDGES3D, {{0,1,4},{1,2,5},{2,0,6},{0,3,7},{1,3,8},{2,3,9},NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE,NOEDGE}, NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D,NOEDGES3D, {{0,1,8},{1,2,9},{2,3,10},{3,0,11},{4,5,12},{5,6,13},{6,7,14},{7,4,15},{0,4,16},{1,5,17},{2,6,18},{3,7,19}} }
int Mesh::NVertsToFace3D[][6][4] |
{ NOFACES,NOFACES,NOFACES,NOFACES, {{0,3,2,-1},{0,1,3,-1},{0,2,1,-1},{1,2,3,-1},NOFACE,NOFACE}, NOFACES,NOFACES,NOFACES, {{0,4,7,3},{1,2,6,5},{0,1,5,4},{2,3,7,6},{0,3,2,1},{4,5,6,7}}, NOFACES, {{0,3,2,-1},{0,1,3,-1},{0,2,1,-1},{1,2,3,-1},NOFACE,NOFACE}, NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES,NOFACES, {{0,4,7,3},{1,2,6,5},{0,1,5,4},{2,3,7,6},{0,3,2,1},{4,5,6,7}} }
size_t Mesh::NVertsToGeoNVerts2D[] |
{-1, -1, 2, 3, 4, -1, 3, -1, 4, -1,-1,-1,-1,-1,-1, 3}
size_t Mesh::NVertsToGeoNVerts3D[] |
{-1, -1, 2, -1, 4, -1, -1, -1, 8, -1, 4, -1,-1,-1,-1,-1,-1,-1,-1,-1, 8}
size_t Mesh::NVertsToNEdges2D[] = {0,0,0,3,4,0,3,0,4} |
size_t Mesh::NVertsToNEdges3D[] = {0,0,0,0, 6, 0,0,0, 12, 0, 6, 0,0,0,0,0,0,0,0,0, 12} |
size_t Mesh::NVertsToNFaces3D[] = {0,0,0,0, 4, 0,0,0, 6, 0, 4, 0,0,0,0,0,0,0,0,0, 6} |
size_t Mesh::NVertsToNVertsPerEdge2D[] = {0,0,0,2,2,0,3,0,3} |
size_t Mesh::NVertsToNVertsPerFace3D[] = {0,0,0,0, 3, 0,0,0, 4, 0, 3, 0,0,0,0,0,0,0,0,0, 4} |