![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <unstructured.h>
Public Member Functions | |
Unstructured (int NDim) | |
~Unstructured () | |
void | Set (size_t NPoints, size_t NSegmentsOrFacets, size_t NRegions, size_t NHoles) |
void | SetReg (size_t iReg, int RTag, double MaxAreaOrVolume, double X, double Y, double Z=0.0) |
void | SetHol (size_t iHol, double X, double Y, double Z=0.0) |
void | SetPnt (size_t iPnt, int PTag, double X, double Y, double Z=0.0) |
void | SetSeg (size_t iSeg, int ETag, int L, int R) |
void | SetFac (size_t iFac, int FTag, Array< int > const &VertsOnFace) |
void | SetFac (size_t iFac, int FTag, Array< int > const &Polygon1, Array< int > const &Polygon2) |
void | Generate (bool O2=false, double GlobalMaxArea=-1, bool Quiet=true, double MinAngle=-1) |
Generate. | |
void | WritePLY (char const *FileKey, bool Blender=true) |
(.ply) | |
void | GenBox (bool O2=false, double MaxVolume=-1.0, double Lx=1.0, double Ly=1.0, double Lz=1.0) |
Generate a cube with dimensions Lx,Ly,Lz and with tags on faces. | |
bool | IsSet () const |
Check if points/edges/faces were already set. | |
void | Delaunay (Array< double > const &X, Array< double > const &Y, int Tag=-1) |
Find Delaunay triangulation of a set of points. | |
Public Attributes | |
TriIO | Tin |
Triangle structure: input PSLG. | |
TetIO | Pin |
Tetgen structure: input PLC. | |
Static Public Attributes | |
static size_t | FEM2TriPoint [] = {0,1,2,5,3,4} |
Map MechSys/FEM nodes to JRS-Triangle points. | |
static size_t | FEM2TriEdge [] = {0,1,2} |
Map MechSys/FEM nodes to JRS-Triangle edges. | |
static size_t | FEM2TetPoint [] = {0,1,2,3,4,5,6,7,8,9} |
Map MechSys/FEM nodes to HSI-Tetgen points. | |
static size_t | FEM2TetFace [] = {3,1,0,2} |
Map MechSys/FEM nodes to HSI-Tetgen edges. |
Mesh::Unstructured::Unstructured | ( | int | NDim | ) | [inline] |
Mesh::Unstructured::~Unstructured | ( | ) | [inline] |
void Mesh::Unstructured::Delaunay | ( | Array< double > const & | X, |
Array< double > const & | Y, | ||
int | Tag = -1 |
||
) | [inline] |
Find Delaunay triangulation of a set of points.
void Mesh::Unstructured::GenBox | ( | bool | O2 = false , |
double | MaxVolume = -1.0 , |
||
double | Lx = 1.0 , |
||
double | Ly = 1.0 , |
||
double | Lz = 1.0 |
||
) | [inline] |
Generate a cube with dimensions Lx,Ly,Lz and with tags on faces.
void Mesh::Unstructured::Generate | ( | bool | O2 = false , |
double | GlobalMaxArea = -1 , |
||
bool | Quiet = true , |
||
double | MinAngle = -1 |
||
) | [inline] |
Generate.
bool Mesh::Unstructured::IsSet | ( | ) | const [inline] |
Check if points/edges/faces were already set.
void Mesh::Unstructured::Set | ( | size_t | NPoints, |
size_t | NSegmentsOrFacets, | ||
size_t | NRegions, | ||
size_t | NHoles | ||
) | [inline] |
2D: Set Planar Straight Line Graph (PSLG) 3D: Set Piecewise Linear Complex (PLC) see tst/mesh01 for example
void Mesh::Unstructured::SetFac | ( | size_t | iFac, |
int | FTag, | ||
Array< int > const & | VertsOnFace | ||
) | [inline] |
void Mesh::Unstructured::SetFac | ( | size_t | iFac, |
int | FTag, | ||
Array< int > const & | Polygon1, | ||
Array< int > const & | Polygon2 | ||
) | [inline] |
void Mesh::Unstructured::SetHol | ( | size_t | iHol, |
double | X, | ||
double | Y, | ||
double | Z = 0.0 |
||
) | [inline] |
void Mesh::Unstructured::SetPnt | ( | size_t | iPnt, |
int | PTag, | ||
double | X, | ||
double | Y, | ||
double | Z = 0.0 |
||
) | [inline] |
void Mesh::Unstructured::SetReg | ( | size_t | iReg, |
int | RTag, | ||
double | MaxAreaOrVolume, | ||
double | X, | ||
double | Y, | ||
double | Z = 0.0 |
||
) | [inline] |
void Mesh::Unstructured::SetSeg | ( | size_t | iSeg, |
int | ETag, | ||
int | L, | ||
int | R | ||
) | [inline] |
void Mesh::Unstructured::WritePLY | ( | char const * | FileKey, |
bool | Blender = true |
||
) | [inline] |
(.ply)
size_t Mesh::Unstructured::FEM2TetFace = {3,1,0,2} [static] |
Map MechSys/FEM nodes to HSI-Tetgen edges.
size_t Mesh::Unstructured::FEM2TetPoint = {0,1,2,3,4,5,6,7,8,9} [static] |
Map MechSys/FEM nodes to HSI-Tetgen points.
size_t Mesh::Unstructured::FEM2TriEdge = {0,1,2} [static] |
Map MechSys/FEM nodes to JRS-Triangle edges.
size_t Mesh::Unstructured::FEM2TriPoint = {0,1,2,5,3,4} [static] |
Map MechSys/FEM nodes to JRS-Triangle points.
Tetgen structure: input PLC.
Triangle structure: input PSLG.