mmg3d
|
Perform volume and surface mesh adaptation with pattern splitting. More...
#include "inlined_functions_3d.h"
Functions | |
void | _MMG5_tet2tri (MMG5_pMesh mesh, int k, char ie, MMG5_Tria *ptt) |
int | _MMG3D_dichoto (MMG5_pMesh mesh, MMG5_pSol met, int k, int *vx) |
int | _MMG3D_dichoto1b (MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int ip) |
char | _MMG5_chkedg (MMG5_pMesh mesh, MMG5_Tria *pt, char ori, double hmax, double hausd, int locPar) |
int | _MMG5_swpmsh (MMG5_pMesh mesh, MMG5_pSol met, _MMG3D_pOctree octree, int typchk) |
int | _MMG5_swptet (MMG5_pMesh mesh, MMG5_pSol met, double crit, double declic, _MMG3D_pOctree octree, int typchk) |
int | _MMG5_movtet (MMG5_pMesh mesh, MMG5_pSol met, _MMG3D_pOctree octree, double clickSurf, double clickVol, int moveVol, int improveSurf, int improveVolSurf, int improveVol, int maxit) |
static int | _MMG5_coltet (MMG5_pMesh mesh, MMG5_pSol met, char typchk) |
static int | _MMG3D_delPatternPts (MMG5_pMesh mesh, _MMG5_Hash hash) |
static int | _MMG5_anatetv (MMG5_pMesh mesh, MMG5_pSol met, char typchk) |
static int | _MMG3D_storeGeom (MMG5_pPoint ppt, MMG5_pxPoint pxp, double no[3]) |
static int | _MMG5_anatets (MMG5_pMesh mesh, MMG5_pSol met, char typchk) |
static int | _MMG5_anatet4 (MMG5_pMesh mesh, MMG5_pSol met, int *nf, char typchk) |
static int | _MMG5_anatet4rid (MMG5_pMesh mesh, MMG5_pSol met, int *nf, char typchk) |
int | _MMG5_anatet (MMG5_pMesh mesh, MMG5_pSol met, char typchk, int patternMode) |
Variables | |
char | ddb |
Perform volume and surface mesh adaptation with pattern splitting.
Perform volume and surface mesh adaptation with pattern splitting (PATTERN preprocessor flag set to ON).
|
inlinestatic |
mesh | pointer toward the mesh structure. |
hash | pointer toward the hash table of edges. |
Delete the points inserted by pattern if the pattern step fail.
int _MMG3D_dichoto | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
int | k, | ||
int * | vx | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
k | tetrahedron index. |
vx | pointer toward table of edges to split. |
Find acceptable position for splitting.
int _MMG3D_dichoto1b | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
int * | list, | ||
int | ret, | ||
int | ip | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
list | pointer toward the shell of edge. |
ret | double of the number of tetrahedra in the shell. |
ip | new point index. |
Find acceptable position for _MMG5_split1b, passing the shell of considered edge, starting from o point.
|
inlinestatic |
ppt | pointer toward the point that we update |
pxp | point toward the oot xpoint |
no | normal at ppt |
Starting from a point for which the normal pxp->n1 is already stored, store no in pxp->n2, compute the tangent with respect to this two normals and store it in ppt->n.
int _MMG5_anatet | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
char | typchk, | ||
int | patternMode | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
typchk | type of checking for edges length. |
patternMode | flag to say if we perform vertex insertion by patterns or by delaunay kernel. |
Analyze tetrahedra and split if needed.
|
static |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
nf | number of swap performed. |
typchk | type of checking permformed. |
Split tetra into 4 when more than 1 boundary faceor with 4 boundary vertices.
|
static |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
nf | number of swap performed. |
typchk | type of checking permformed. |
Split tetra into 4 when more than 1 boundary faceor with 4 boundary vertices.
|
static |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
typchk | type of checking permformed for edge length (hmax or _MMG3D_LLONG criterion). |
Analyze tetra and split on geometric criterion.
|
static |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
typchk | type of checking permformed for edge length (hmax or _MMG3D_LLONG criterion). |
Analyze volume tetra and split if needed.
char _MMG5_chkedg | ( | MMG5_pMesh | mesh, |
MMG5_Tria * | pt, | ||
char | ori, | ||
double | hmax, | ||
double | hausd, | ||
int | locPar | ||
) |
mesh | pointer toward the mesh structure. |
pt | pointer toward the triangle. |
ori | orientation of the triangle (1 for direct orientation, 0 otherwise). |
hmax | maximal edge length. |
hausd | maximal hausdorff distance. |
locPar | 1 if hmax and hausd are locals parameters. |
Find edges of (virtual) triangle pt that need to be split with respect to the Hausdorff criterion.
|
static |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
typchk | type of checking permformed for edge length (hmin or LSHORT criterion). |
Attempt to collapse small edges.
int _MMG5_movtet | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
_MMG3D_pOctree | octree, | ||
double | clickSurf, | ||
double | clickVol, | ||
int | moveVol, | ||
int | improveSurf, | ||
int | improveVolSurf, | ||
int | improveVol, | ||
int | maxit | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
octree | pointer toward the octree structure. |
clickSurf | triangle quality threshold under which we want to move |
clickVol | tetra quality threshold under which we want to move |
moveVol | internal move |
improveSurf | forbid surface degradation during the move |
improveVolSurf | forbid volume degradation during the surfacic move |
improveVol | forbid volume degradation during the move |
maxit | maximum number of iteration. |
Analyze tetrahedra and move points so as to make mesh more uniform.
int _MMG5_swpmsh | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
_MMG3D_pOctree | octree, | ||
int | typchk | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
octree | pointer toward the octree structure (only for delaunay). |
typchk | type of checking permformed for edge length (hmin or LSHORT criterion). |
Search for boundary edges that could be swapped for geometric approximation.
int _MMG5_swptet | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
double | crit, | ||
double | declic, | ||
_MMG3D_pOctree | octree, | ||
int | typchk | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
crit | coefficient of quality improvment. |
octree | pointer toward the octree structure in delaunay mode and toward the NULL pointer otherwise |
typchk | type of checking permformed for edge length (hmin or LSHORT criterion). |
Internal edge flipping.
void _MMG5_tet2tri | ( | MMG5_pMesh | mesh, |
int | k, | ||
char | ie, | ||
MMG5_Tria * | ptt | ||
) |
mesh | pointer toward the mesh structure. |
k | tetrahedron index. |
ie | face index of tetrahedron. |
ptt | pointer toward the output triangle. |
Set triangle corresponding to face ie of tetra k.
char ddb |