Mesh analysis.
More...
Mesh analysis.
- Author
- Charles Dapogny (UPMC)
-
Cécile Dobrzynski (Bx INP/Inria/UBordeaux)
-
Pascal Frey (UPMC)
-
Algiane Froehly (Inria/UBordeaux)
- Version
- 5
- Copyright
- GNU Lesser General Public License.
- Todo:
- doxygen documentation.
◆ MMG3D_analys()
preprocessing stage: mesh analysis
— stage 1: data structures for surface
— stage 2: surface analysis
◆ MMG3D_nmgeom()
- Parameters
-
mesh | pointer toward the mesh |
- Returns
- 0 if fail, 1 otherwise
Define continuous geometric support at non manifold vertices, using volume information.
◆ MMG3D_set_reqBoundaries()
- Parameters
-
mesh | pointer towarad the mesh structure. |
Set all boundary triangles to required and add a tag to detect that they are not realy required.
◆ MMG5_chkVertexConnectedDomains()
int MMG5_chkVertexConnectedDomains |
( |
MMG5_pMesh |
mesh | ) |
|
- Parameters
-
mesh | pointer toward the mesh structure. |
- Returns
- 1.
check subdomains connected by a vertex and mark these vertex as CRN and REQ.
◆ MMG5_norver()
compute normals at C1 vertices, for C0: tangents
◆ MMG5_setadj()
- Parameters
-
mesh | pointer towarad the mesh structure. |
- Returns
- 0 if fail, 1 otherwise.
topology: set adjacent, detect Moebius, flip faces, count connected comp.
◆ MMG5_setdhd()
check for ridges: dihedral angle
◆ MMG5_singul()
int nprism
Definition: libmmgtypes.h:517
Structure to store edges of a MMG mesh.
Definition: libmmgtypes.h:243
#define MMG5_ARG_ppSols
Definition: libmmgtypes.h:122
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgexterns.c:34
void MMG3D_computeOutqua(MMG5_pMesh mesh, MMG5_pSol met, int *ne, double *max, double *avg, double *min, int *iel, int *good, int *med, int his[5], int *nrid, int imprim)
Definition: quality_3d.c:635
! double * m
Definition: libmmgtypesf.h:627
int MMG3D_Free_names_var(va_list argptr)
Definition: variadic_3d.c:491
double hmax
Definition: libmmgtypes.h:203
int(* MMG5_indPt)(MMG5_pMesh mesh, int kp)
Definition: mmgexterns.c:31
int * v
Definition: mmg3d.h:195
MMG5_pPrism prism
Definition: libmmgtypes.h:546
int(* MMG5_grad2met_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:32
int xtmax
Definition: libmmgtypes.h:516
static void MMG3D_unused_function(void)
Definition: mmg3d3.c:722
int npar
Definition: libmmgtypes.h:447
int MMG3D_intmet33_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: intmet_3d.c:101
#define MG_BDY
Definition: mmgcommon.h:145
int nenil
Definition: libmmgtypes.h:527
! int nsols
Definition: libmmgtypesf.h:573
double c[3]
Definition: libmmgtypes.h:215
static const unsigned char MMG5_arpt[4][3]
arpt[i]: edges passing through vertex i
Definition: mmg3d.h:159
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, char)
Definition: mmgexterns.c:29
#define MMG3D_NEMAX
Definition: mmg3d.h:135
int namax
Definition: libmmgtypes.h:516
#define MG_EDG(tag)
Definition: mmgcommon.h:162
MMG3D_PROctree_s * q0
Definition: mmg3d.h:208
#define MMG5_SQR32
Definition: mmgcommon.h:101
static int MMG3D_Alloc_mesh(MMG5_pMesh *mesh, MMG5_pSol *sol, MMG5_pSol *disp)
Definition: variadic_3d.c:54
#define MG_MAX(a, b)
Definition: mmgcommon.h:136
double MMG5_orvol(MMG5_pPoint point, int *v)
Definition: tools.c:836
double hmin
Definition: libmmgtypes.h:445
int * MMG3D_sizeArbre(MMG3D_pPROctree q, int dim)
Definition: PRoctree_3d.c:1114
int MMG5_split2sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:1224
int v[3]
Definition: libmmgtypes.h:272
#define MMG5_MILLION
Definition: mmgcommon.h:88
int MMG5_split1b(MMG5_pMesh, MMG5_pSol, int *, int, int, int, char, char)
Definition: split_3d.c:511
Definition: libmmgtypes.h:339
#define MG_MINUS
Definition: mmgcommon.h:79
! typedef struct @8 MMG5_Prism
Definition: libmmgtypes.h:563
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:216
#define MG_SIN(tag)
Definition: mmgcommon.h:163
int MMG3D_split3_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1721
! int * adja
Definition: libmmgtypesf.h:584
int MMG5_movbdynompt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: movpt_3d.c:1126
int MMG3D_swap23(MMG5_pMesh mesh, MMG5_pSol met, int k, char metRidTyp, int ifac, int conf0, int adj, int conf1)
Definition: swap_3d.c:561
MMG5_SAFE_MALLOC(tmp, *strlen0+1, char, return)
#define MMG5_ARG_ppDisp
Definition: libmmgtypes.h:112
static void MMG3D_configSplit4sf(MMG5_pTetra pt, int vx[6], unsigned char tau[4], const unsigned char **taued, unsigned char *imin23, unsigned char *imin12)
Definition: split_3d.c:3572
#define MMG5_NULKAL
Definition: mmgcommon.h:99
! int PROctree
Definition: libmmgtypesf.h:500
int MMG5_chkcol_int(MMG5_pMesh mesh, MMG5_pSol met, int k, char iface, char iedg, int *list, int ilist, char typchk)
Definition: colver_3d.c:42
! int xt
Definition: libmmgtypesf.h:390
int64_t MMG3D_getPROctreeCoordinate(MMG3D_pPROctree q, double *ver, int dim)
Definition: PRoctree_3d.c:181
@ MMG5_Triangle
Definition: libmmgtypes.h:188
#define MMG3D_LOPTL
Definition: mmg3d.h:121
int MMG3D_newElt(MMG5_pMesh mesh)
Definition: zaldy_3d.c:94
int MMG5_coquilface(MMG5_pMesh mesh, int start, char iface, int ia, int *list, int *it1, int *it2, int silent)
Definition: boulep_3d.c:1480
! double max[3]
Definition: libmmgtypesf.h:496
#define MG_REF
Definition: mmgcommon.h:141
void MMG5_displayLengthHisto_internal(int ned, int amin, int bmin, double lmin, int amax, int bmax, double lmax, int nullEdge, double *bd, int *hl, char shift, int imprim)
Definition: quality.c:294
int MMG3D_movv_ani(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:1813
unsigned char nomove
Definition: libmmgtypes.h:457
#define MG_EOK(pt)
Definition: mmgcommon.h:160
int MMG3D_memOption(MMG5_pMesh mesh)
Definition: zaldy_3d.c:235
int MMG5_colver(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, char indq, char typchk)
Definition: colver_3d.c:713
! int nemax
Definition: libmmgtypesf.h:571
int MMG5_swpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, MMG3D_pPROctree, char)
Definition: swapgen_3d.c:246
double(* MMG5_caltet)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: mmg3d.c:41
int MMG3D_movnormal_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:1924
#define MG_NOM
Definition: mmgcommon.h:144
int MMG5_split3cone(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:2185
int xt
Definition: libmmgtypes.h:525
int MMG5_split5(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:4522
void MMG3D_printSubArbre(MMG3D_PROctree_s *q, int nv, int dim)
Definition: PRoctree_3d.c:1049
static double MMG5_lenedg_iso(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:230
#define MMG5_ARG_start
Definition: libmmgtypes.h:73
char iso
Definition: libmmgtypes.h:453
static int MMG3D_chksplit(MMG5_pMesh mesh, MMG5_pSol met, int ip, int *list, int ret, double crit)
Definition: split_3d.c:5207
double(* MMG5_lenedgspl)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3d.c:40
#define MMG5_MEMMIN
Definition: mmgcommon.h:112
int xp
Definition: libmmgtypes.h:525
int size
Definition: libmmgtypes.h:569
int xpmax
Definition: libmmgtypes.h:516
int MMG3D_inqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:587
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:499
! double qual
Definition: libmmgtypesf.h:314
! int tmp
Definition: libmmgtypesf.h:259
int16_t tag[6]
Definition: libmmgtypes.h:363
char MMG5_chkedg(MMG5_pMesh mesh, MMG5_pTria pt, char ori, double, double, int)
! int mem
Definition: libmmgtypesf.h:497
#define MMG3D_NTMAX
Definition: mmg3d.h:134
int MMG3D_displayQualHisto(int ne, double max, double avg, double min, int iel, int good, int med, int his[5], int nrid, int optimLES, int imprim)
Definition: quality_3d.c:438
int MMG5_split6(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:4829
double hmin
Definition: libmmgtypes.h:202
! int nt
Definition: libmmgtypesf.h:571
MMG5_pPoint point
Definition: libmmgtypes.h:542
MMG5_Info info
Definition: libmmgtypesf.h:607
int(* MMG5_grad2metreq_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:33
int16_t ftag[4]
Definition: libmmgtypes.h:361
! int k
Definition: libmmgtypesf.h:543
! MMG5_hedge * item
Definition: libmmgtypesf.h:555
#define MG_GET(flag, bit)
Definition: mmgcommon.h:169
int edg[3]
Definition: libmmgtypes.h:277
double MMG5_caltri33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt)
Definition: quality.c:47
int nbVer
Definition: mmg3d.h:196
void MMG3D_sizeArbreRec(MMG3D_PROctree_s *q, int nv, int dim, int *s1, int *s2)
Definition: PRoctree_3d.c:1072
int MMG3D_optbdry(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k)
Definition: optbdry_3d.c:239
static int MMG3D_typelt(MMG5_pMesh mesh, int iel, int *item)
Definition: opttyp_3d.c:64
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:89
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:75
int16_t tag[3]
Definition: libmmgtypes.h:280
int MMG5_split3op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:2851
double MMG5_surftri33_ani(MMG5_pMesh mesh, MMG5_pTria ptt, double ma[6], double mb[6], double mc[6])
Definition: anisosiz.c:169
int opnbdy
Definition: libmmgtypes.h:448
unsigned char noinsert
Definition: libmmgtypes.h:457
int MMG3D_bezierInt(MMG5_pBezier pb, double uv[2], double o[3], double no[3], double to[3])
Definition: bezier_3d.c:551
size_t memMax
Definition: libmmgtypes.h:510
int MMG3D_split4op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3990
double max[3]
Definition: libmmgtypes.h:446
int MMG5_boundingBox(MMG5_pMesh mesh)
Definition: scalem.c:45
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
int base
Definition: libmmgtypes.h:521
! double n1[3]
Definition: libmmgtypesf.h:275
int MMG3D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_3d.c:117
#define MMG3D_ALPHAD
Definition: mmg3d.h:118
static const unsigned char MMG5_idir[4][3]
idir[i]: vertices of face opposite to vertex i
Definition: mmg3d.h:145
int MMG3D_newElt(MMG5_pMesh mesh)
Definition: zaldy_3d.c:94
int MMG3D_split3op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2719
int MMG5_movintptLES_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *list, int ilist, int improve)
Definition: movpt_3d.c:193
! int nxt
Definition: libmmgtypesf.h:521
MMG5_Bezier * MMG5_pBezier
Definition: mmgcommon.h:486
#define MG_VOK(ppt)
Definition: mmgcommon.h:159
double MMG5_det4pt(double c0[3], double c1[3], double c2[3], double c3[3])
Definition: tools.c:817
int np
Definition: libmmgtypes.h:516
int MMG3D_movePROctree(MMG5_pMesh, MMG3D_pPROctree, int, double *, double *)
Definition: PRoctree_3d.c:223
! char imprim
Definition: libmmgtypesf.h:503
#define MMG5_MEMMAX
Definition: mmgcommon.h:73
int ref
Definition: libmmgtypes.h:217
int MMG5_movbdyrefpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: movpt_3d.c:773
int nc
Definition: mmg3d.h:207
int ref
Definition: libmmgtypes.h:205
int MMG3D_movv_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:2031
unsigned char optim
Definition: libmmgtypes.h:457
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:545
int MMG5_devangle(double *n1, double *n2, double crit)
Definition: tools.c:49
#define MMG5_MEMPERCENT
Definition: mmgcommon.h:75
char tagdel
Definition: libmmgtypes.h:225
int nv
Definition: mmg3d.h:206
int MMG3D_computePrilen(MMG5_pMesh mesh, MMG5_pSol met, double *avlen, double *lmin, double *lmax, int *ned, int *amin, int *bmin, int *amax, int *bmax, int *nullEdge, char metRidTyp, double **bd_in, int hl[9])
Definition: quality_3d.c:201
int MMG5_split4op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:4111
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:189
int MMG3D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_3d.c:67
void MMG3D_computeLESqua(MMG5_pMesh mesh, MMG5_pSol met, int *ne, double *max, double *avg, double *min, int *iel, int *good, int *med, int his[5], int imprim)
Definition: quality_3d.c:354
static double MMG5_orcal(MMG5_pMesh mesh, MMG5_pSol met, int iel)
Definition: inlined_functions_3d.h:262
#define MMG5_EPSOK
Definition: mmgcommon.h:98
int ne
Definition: libmmgtypes.h:516
Cell for linked list of double value.
int MMG3D_delPROctreeVertex(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int indNo)
Definition: PRoctree_3d.c:795
int MMG3D_findEdge(MMG5_pMesh mesh, MMG5_pTetra pt, int k, int na, int nb, int error, char *mmgWarn, char *ia)
Definition: boulep_3d.c:110
int * adja
Definition: libmmgtypes.h:529
! double hmin
Definition: libmmgtypesf.h:241
int MMG5_swpbdy(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int it1, MMG3D_pPROctree PROctree, char typchk)
Definition: swap_3d.c:434
static const unsigned char MMG5_iprv2[3]
Definition: mmgcommon.h:471
int MMG5_BezierNom(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:525
double hausd
Definition: libmmgtypes.h:445
MMG5_pTria tria
Definition: libmmgtypes.h:548
int MMG3D_optbdry(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int)
Definition: optbdry_3d.c:239
double MMG5_BezierGeod(double c1[3], double c2[3], double t1[3], double t2[3])
Definition: bezier_3d.c:111
void MMG3D_initPROctree_s(MMG3D_PROctree_s *q)
Definition: PRoctree_3d.c:46
double qual
Definition: libmmgtypes.h:340
const int va_list argptr
Definition: API_functionsf_3d.c:837
#define MG_REQ
Definition: mmgcommon.h:143
! int base
Definition: libmmgtypesf.h:288
int MMG3D_PROctreein_iso(MMG5_pMesh mesh, MMG5_pSol sol, MMG3D_pPROctree PROctree, int ip, double lmax)
Definition: PRoctree_3d.c:1137
int MMG3D_intersectRect(double *rectin, double *rectinout)
Definition: PRoctree_3d.c:383
void MMG5_mmgFree_names(MMG5_pMesh mesh, MMG5_pSol met)
Definition: API_functions.c:434
int MMG3D_isCellIncluded(double *cellCenter, double l, double *zoneCenter, double l0)
Definition: PRoctree_3d.c:263
int mark
Definition: libmmgtypes.h:523
MMG5_pMesh * mesh
Definition: API_functionsf_3d.c:65
#define MMG5_ADD_MEM(mesh, size, message, law)
Definition: mmgcommon.h:275
#define MMG3D_LOPTS
Definition: mmg3d.h:122
MMG5_pQuad quadra
Definition: libmmgtypes.h:549
static const unsigned char MMG5_iarfinv[4][6]
num of the j^th edge in the i^th face
Definition: mmg3d.h:151
#define MG_GEO
Definition: mmgcommon.h:142
int MMG5_eigenv(int symmat, double *mat, double lambda[3], double v[3][3])
Find eigenvalues and vectors of a 3x3 matrix.
Definition: eigenv.c:356
int MMG5_split3(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:1792
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:343
int flag
Definition: libmmgtypes.h:347
int depth
Definition: mmg3d.h:197
! int v[3]
Definition: libmmgtypesf.h:315
int MMG3D_split6_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4760
int MMG3D_simbulgept(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int ip)
Definition: split_3d.c:321
int MMG3D_split4sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3650
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag)
Definition: zaldy_3d.c:39
int MMG3D_memOption_memSet(MMG5_pMesh mesh)
Definition: zaldy_3d.c:153
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
int MMG3D_swpItem(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:326
int MMG3D_split2sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1114
char ddb
Definition: mmg3d1_delone.c:41
int ref
Definition: libmmgtypes.h:273
! char ddebug
Definition: libmmgtypesf.h:503
int MMG5_movbdyregpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improveSurf, int improveVol)
Definition: movpt_3d.c:357
char ddb
Definition: mmg3d1_delone.c:41
int MMG3D_PROctreein_ani(MMG5_pMesh mesh, MMG5_pSol sol, MMG3D_pPROctree PROctree, int ip, double lmax)
Definition: PRoctree_3d.c:1217
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
int MMG3D_Free_all_var(va_list argptr)
Definition: variadic_3d.c:242
double(* MMG5_lenedg)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3d.c:39
int MMG5_nortri(MMG5_pMesh mesh, MMG5_pTria pt, double *n)
Definition: tools.c:155
int MMG3D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_3d.c:117
static void MMG3D_Init_woalloc_mesh(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol disp)
Definition: variadic_3d.c:91
int xpr
Definition: libmmgtypes.h:405
int MMG3D_split1_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:50
int MMG3D_getListSquare(MMG5_pMesh mesh, double *ani, MMG3D_pPROctree q, double *rect, MMG3D_PROctree_s ***qlist)
Definition: PRoctree_3d.c:570
int MMG5_BezierEdge(MMG5_pMesh mesh, int ip0, int ip1, double b0[3], double b1[3], char ised, double v[3])
Definition: bezier_3d.c:152
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:333
! int s
Definition: libmmgtypesf.h:262
double * m
Definition: libmmgtypes.h:571
int(* MMG5_intmet)(MMG5_pMesh, MMG5_pSol, int, char, int, double)
Definition: mmg3d.c:46
#define MMG5_ARG_end
Definition: libmmgtypes.h:159
#define MG_NOTAG
Definition: mmgcommon.h:140
static const char MMG5_idirinv[4][4]
Definition: mmg3d.h:147
int MMG3D_tetraQual(MMG5_pMesh mesh, MMG5_pSol met, char metRidTyp)
Definition: quality_3d.c:48
double delta
Definition: libmmgtypes.h:446
int MMG3D_split2_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1456
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:232
! int npmax
Definition: libmmgtypesf.h:571
char elt
Definition: libmmgtypes.h:206
char ddb
Definition: mmg3d1_delone.c:41
void MMG3D_computeInqua(MMG5_pMesh mesh, MMG5_pSol met, int *ne, double *max, double *avg, double *min, int *iel, int *good, int *med, int his[5], int imprim)
Definition: quality_3d.c:516
! int ver
Definition: libmmgtypesf.h:568
unsigned char noswap
Definition: libmmgtypes.h:457
void MMG5_tet2tri(MMG5_pMesh mesh, int k, char ie, MMG5_Tria *ptt)
Definition: mmg3d1.c:52
int MMG3D_normalAdjaTri(MMG5_pMesh, int, char, int, double n[3])
Definition: split_3d.c:462
#define MMG3D_NPMAX
Definition: mmg3d.h:132
void MMG3D_freePROctree_s(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int nv)
Definition: PRoctree_3d.c:111
double ls
Definition: libmmgtypes.h:446
void MMG3D_freePROctree(MMG5_pMesh mesh, MMG3D_pPROctree *q)
Definition: PRoctree_3d.c:162
#define MG_MIN(a, b)
Definition: mmgcommon.h:137
#define MMG5_INCREASE_MEM_MESSAGE()
Definition: mmgcommon.h:374
int MMG3D_splitItem(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar, double OCRIT)
Definition: opttyp_3d.c:390
! int dim
Definition: libmmgtypesf.h:569
int MMG3D_Free_structures_var(va_list argptr)
Definition: variadic_3d.c:353
int na
Definition: libmmgtypes.h:516
MMG5_Tria * MMG5_pTria
Definition: libmmgtypes.h:283
int MMG3D_memOption_memRepartition(MMG5_pMesh mesh)
Definition: zaldy_3d.c:168
char imprim
Definition: libmmgtypes.h:453
! int ne
Definition: libmmgtypesf.h:571
int MMG3D_zaldy(MMG5_pMesh mesh)
Definition: zaldy_3d.c:316
int MMG3D_getListSquareRec(MMG3D_PROctree_s *q, double *center, double *rect, MMG3D_PROctree_s ***qlist, double *dist, double *ani, double l0, int nc, int dim, int *index)
Definition: PRoctree_3d.c:441
static void MMG3D_configSplit5(MMG5_pTetra pt, int vx[6], unsigned char tau[4], const unsigned char **taued, unsigned char *imin)
Definition: split_3d.c:4382
#define MMG5_EPS
Definition: eigenv.h:32
int MMG5_countelt(MMG5_pMesh mesh, MMG5_pSol sol, double *weightelt, long *npcible)
Definition: quality_3d.c:754
int16_t tag
Definition: libmmgtypes.h:223
! double hausd
Definition: libmmgtypesf.h:243
double n1[3]
Definition: libmmgtypes.h:234
Definition: libmmgtypes.h:270
int MMG3D_addPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:770
int MMG3D_chk4ridVertices(MMG5_pMesh mesh, MMG5_pTetra pt)
Definition: anisosiz_3d.c:38
void MMG5_displayLengthHisto(MMG5_pMesh mesh, int ned, double *avlen, int amin, int bmin, double lmin, int amax, int bmax, double lmax, int nullEdge, double *bd, int *hl, char shift)
Definition: quality.c:251
int MMG3D_setMeshSize_alloc(MMG5_pMesh mesh)
Definition: zaldy_3d.c:254
Definition: mmgcommon.h:480
Cell for linked list of integer value.
#define MG_Tria
Definition: mmgcommon.h:156
int MMG5_BezierRidge(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no1, double *no2, double *to)
Definition: tools_3d.c:150
int MMG5_split4sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:3753
static double MMG5_lenedg33_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:94
int nquad
Definition: libmmgtypes.h:517
int MMG5_hashPop(MMG5_Hash *hash, int a, int b)
Definition: hash_3d.c:778
#define MG_NUL
Definition: mmgcommon.h:152
int mem
Definition: libmmgtypes.h:447
int MMG5_interp4bar33_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int ip, double cb[4])
Definition: intmet_3d.c:450
size_t MMG5_memSize(void)
Definition: tools.c:546
void MMG5_displayLengthHisto(MMG5_pMesh, int, double *, int, int, double, int, int, double, int, double *, int *, char)
Definition: quality.c:251
! int b
Definition: libmmgtypesf.h:286
int MMG5_split1b(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int ip, int cas, char metRidTyp, char chkRidTet)
Definition: split_3d.c:511
int MMG5_movbdyridpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *listv, int ilistv, int *lists, int ilists, int improve)
Definition: movpt_3d.c:1474
! char ori
Definition: libmmgtypesf.h:411
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:90
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:343
MMG5_pxPrism xprism
Definition: libmmgtypes.h:547
! double c[3]
Definition: libmmgtypesf.h:255
static const unsigned char MMG5_permedge[12][6]
Definition: mmg3d.h:182
! int16_t tag
Definition: libmmgtypesf.h:263
int MMG5_split4bar(MMG5_pMesh mesh, MMG5_pSol met, int k, char metRidTyp)
Definition: split_3d.c:3301
int MMG3D_opttyp(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int testmark)
Definition: opttyp_3d.c:467
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:543
! int np
Definition: libmmgtypesf.h:571
double MMG5_det3pt1vec(double c0[3], double c1[3], double c2[3], double v[3])
Definition: tools.c:805
#define MMG5_ATHIRD
Definition: mmgcommon.h:93
int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met, int iel, int iar, double crit)
Definition: split_3d.c:5259
int npnil
Definition: libmmgtypes.h:526
void MMG5_memOption_memSet(MMG5_pMesh mesh)
Definition: tools.c:585
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:576
char fem
Definition: libmmgtypes.h:453
int MMG3D_movv_ani(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:1813
int xp
Definition: libmmgtypes.h:218
int MMG3D_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_3d.c:76
MMG5_pTetra tetra
Definition: libmmgtypes.h:544
! double n2[3]
Definition: libmmgtypesf.h:275
Structure to store the surface tetrahedra of a MMG mesh.
Definition: libmmgtypes.h:356
static const unsigned char MMG5_ifar[6][2]
ifar[i][]: faces sharing the ith edge of the tetra
Definition: mmg3d.h:155
#define MMG5_EPSD2
Definition: mmgcommon.h:96
int MMG3D_Free_names(const int starter,...)
Definition: API_functions_3d.c:2309
int MMG5_velextLS(MMG5_pMesh, MMG5_pSol)
! typedef struct @14 MMG5_hedge
void MMG3D_mergeBranchesRec(MMG3D_PROctree_s *q0, MMG3D_PROctree_s *q, int dim, int nv, int *index)
Definition: PRoctree_3d.c:830
#define MMG5_ARG_ppMesh
Definition: libmmgtypes.h:82
int MMG3D_split3cone_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2004
#define MMG5_SAFE_REALLOC(ptr, prevSize, newSize, type, message, law)
Definition: mmgcommon.h:310
int MMG5_movintpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *list, int ilist, int improve)
Definition: movpt_3d.c:55
! int ref
Definition: libmmgtypesf.h:244
char ori
Definition: libmmgtypes.h:365
double dhd
Definition: libmmgtypes.h:445
#define MG_SMSGN(a, b)
Definition: mmgcommon.h:67
! int na
Definition: libmmgtypesf.h:571
void MMG5_freeXTets(MMG5_pMesh mesh)
Definition: zaldy_3d.c:329
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:557
! MMG5_pPar par
Definition: libmmgtypesf.h:494
! double hmax
Definition: libmmgtypesf.h:242
int MMG5_split1(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:116
int MMG3D_Free_structures(const int starter,...)
Definition: API_functions_3d.c:2295
Definition: libmmgtypes.h:304
int MMG5_BezierTgt(double c1[3], double c2[3], double n1[3], double n2[3], double t1[3], double t2[3])
Definition: bezier_3d.c:53
int MMG3D_movnormal_iso(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:1924
int nt
Definition: libmmgtypes.h:516
#define MG_Tetra
Definition: mmgcommon.h:157
MMG5_hedge * item
Definition: libmmgtypes.h:501
static double MMG5_lenedgspl33_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:125
#define MG_OPNBDY
Definition: mmgcommon.h:148
#define MG_SET(flag, bit)
Definition: mmgcommon.h:167
int MMG3D_outqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:712
int MMG5_chkswpbdy(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, int it1, int it2, char typchk)
Definition: swap_3d.c:55
double hausd
Definition: libmmgtypes.h:204
MMG mesh structure.
Definition: libmmgtypes.h:509
int MMG3D_normalAdjaTri(MMG5_pMesh mesh, int start, char iface, int ia, double n[3])
Definition: split_3d.c:462
MMG5_pPar par
Definition: libmmgtypes.h:444
int MMG3D_movePROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, int no, double *newVer, double *oldVer)
Definition: PRoctree_3d.c:223
double n2[3]
Definition: libmmgtypes.h:234
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:233
struct MMG3D_PROctree_s MMG3D_PROctree_s
int(* MMG5_interp4bar)(MMG5_pMesh, MMG5_pSol, int, int, double *)
Definition: mmg3d.c:47
int ver
Definition: libmmgtypes.h:513
double val
Definition: mmgcommon.h:503
int MMG5_chkswpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, int, char)
Definition: swap_3d.c:55
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:90
int MMG3D_movetetrapoints(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k)
Definition: optbdry_3d.c:45
char badkal
Definition: libmmgtypes.h:453
static const unsigned char MMG5_iarf[4][3]
iarf[i]: edges of face opposite to vertex i
Definition: mmg3d.h:149
#define MMG5_ARG_ppMet
Definition: libmmgtypes.h:102
int(* MMG5_chkmsh)(MMG5_pMesh, int, int)
Definition: mmgexterns.c:27
static void MMG3D_Set_commonFunc()
Definition: mmg3d.h:549
double hmax
Definition: libmmgtypes.h:445
Definition: libmmgtypes.h:201
int MMG3D_movv_iso(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:2031
char * namein
Definition: libmmgtypes.h:553
static const unsigned char MMG5_isar[6][2]
isar[i][]: vertices of extremities of the edge opposite to the ith edge
Definition: mmg3d.h:157
MMG5_Info info
Definition: libmmgtypes.h:552
int MMG5_BezierRef(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:352
void MMG3D_printArbre(MMG3D_pPROctree q)
Definition: PRoctree_3d.c:1024
int flag
Definition: libmmgtypes.h:221
! double min[3]
Definition: libmmgtypesf.h:496
static void MMG3D_configSplit3op(MMG5_pTetra pt, int vx[6], unsigned char tau[4], const unsigned char **taued, unsigned char sym[4], unsigned char symed[6], unsigned char *ip0, unsigned char *ip1, unsigned char *ip2, unsigned char *ip3, unsigned char *ie0, unsigned char *ie1, unsigned char *ie2, unsigned char *ie3, unsigned char *ie4, unsigned char *ie5, unsigned char *imin03, unsigned char *imin12)
Definition: split_3d.c:2563
int npmax
Definition: libmmgtypes.h:516
char parTyp
Definition: libmmgtypes.h:454
int MMG5_chkswpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, int *, double, char)
Definition: swapgen_3d.c:55
static const unsigned char MMG5_iare[6][2]
vertices of extremities of the edges of the tetra
Definition: mmg3d.h:153
! typedef struct @1 MMG5_Point
int ref
Definition: libmmgtypes.h:342
! double n[3]
Definition: libmmgtypesf.h:256
int MMG3D_optlap(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: optlap_3d.c:42
int16_t tag
Definition: libmmgtypes.h:348
char * nameout
Definition: libmmgtypes.h:554
int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh, char sethmin, char sethmax)
Definition: API_functions.c:458
void MMG3D_placeInListPROctree(MMG3D_PROctree_s **qlist, MMG3D_PROctree_s *q, int index, int size)
Definition: PRoctree_3d.c:314
#define MMG5_ARG_ppLs
Definition: libmmgtypes.h:92
int MMG5_swpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, MMG3D_pPROctree, char)
Definition: swap_3d.c:434
int MMG3D_delPROctreeRec(MMG5_pMesh mesh, MMG3D_PROctree_s *q, double *ver, const int no, const int nv)
Definition: PRoctree_3d.c:891
int edg[6]
Definition: libmmgtypes.h:359
int MMG3D_deletePoint(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int i)
Definition: optbdry_3d.c:210
static const unsigned char MMG5_inxt2[6]
Definition: mmgcommon.h:470
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:289
int MMG5_norpts(MMG5_pMesh, int, int, int, double *)
Definition: tools.c:129
int MMG5_boulevolp(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_3d.c:53
double MMG5_caltri33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt)
Definition: quality.c:47
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, char)
Definition: mmgexterns.c:28
#define MMG5_TAB_RECALLOC(mesh, ptr, initSize, wantedGap, type, message, law)
Definition: mmgcommon.h:348
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:266
MMG5_pEdge edge
Definition: libmmgtypes.h:550
int MMG3D_coledges(MMG5_pMesh mesh, MMG5_pSol met, int k, int i)
Definition: optbdry_3d.c:157
int ier
Definition: API_functionsf_3d.c:839
char ddebug
Definition: libmmgtypes.h:453
int MMG3D_addPROctreeRec(MMG5_pMesh mesh, MMG3D_PROctree_s *q, double *ver, const int no, int nv)
Definition: PRoctree_3d.c:645
! int size
Definition: libmmgtypesf.h:625
static double MMG5_caltet_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:387
#define MMG3D_BADKAL
Definition: mmg3d.h:128
! unsigned char optimLES
Definition: libmmgtypesf.h:507
#define MMG5_ANGEDG
Definition: mmgcommon.h:91
char lag
Definition: libmmgtypes.h:453
void MMG3D_printArbreDepth(MMG3D_PROctree_s *q, int depth, int nv, int dim)
Definition: PRoctree_3d.c:1000
double min[3]
Definition: libmmgtypes.h:446
double gap
Definition: libmmgtypes.h:512
static int MMG3D_swpalmostall(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:363
Definition: libmmgtypes.h:400
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, char)
Definition: mmgexterns.c:28
int mark
Definition: libmmgtypes.h:344
struct MMG3D_PROctree_s * branches
Definition: mmg3d.h:194
#define MMG5_DISPREF
Definition: mmgcommon.h:85
int ref[4]
Definition: libmmgtypes.h:357
int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:260
! int16_t ftag[4]
Definition: libmmgtypesf.h:407
int MMG3D_swpItem(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, int)
Definition: opttyp_3d.c:326
! MMG5_pPoint point
Definition: libmmgtypesf.h:597
int MMG3D_seekIndex(double *distList, double dist, int indexMin, int indexMax)
Definition: PRoctree_3d.c:335
! typedef struct @6 MMG5_Tetra
void MMG3D_mergeBranches(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int dim, int nv)
Definition: PRoctree_3d.c:859
int * adjt
Definition: libmmgtypes.h:533
void MMG5_Free_structures(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions.c:401
int MMG5_coquil(MMG5_pMesh mesh, int start, int ia, int *list)
Definition: boulep_3d.c:1053
! int mark
Definition: libmmgtypesf.h:389
unsigned char optimLES
Definition: libmmgtypes.h:457
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:75
int(* MMG5_indElt)(MMG5_pMesh mesh, int kel)
Definition: mmgexterns.c:30
double(* MMG5_caltri)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmg3d.c:42
static int MMG3D_normalDeviation(MMG5_pMesh mesh, int start, char iface, char ia, int idx, int ip, double n0[3])
Definition: split_3d.c:266
double hsiz
Definition: libmmgtypes.h:445
void MMG3D_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions_3d.c:80
int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met, int iel, int iar, double crit)
Definition: split_3d.c:5259
if(!ier) exit(EXIT_FAILURE)
int ntmax
Definition: libmmgtypes.h:516
int tmp
Definition: libmmgtypes.h:219
int MMG5_chkswpgen(MMG5_pMesh mesh, MMG5_pSol met, int start, int ia, int *ilist, int *list, double crit, char typchk)
Definition: swapgen_3d.c:55
int MMG5_norface(MMG5_pMesh mesh, int k, int iface, double v[3])
Definition: tools_3d.c:59
#define MMG3D_TETRA_REALLOC(mesh, jel, wantedGap, law)
Definition: mmg3d.h:92
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag)
Definition: zaldy_3d.c:39
! int cc
Definition: libmmgtypesf.h:318
int MMG3D_split5_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4431
int MMG3D_Init_mesh_var(va_list argptr)
Definition: variadic_3d.c:148
int nemax
Definition: libmmgtypes.h:516
int MMG3D_initPROctree(MMG5_pMesh mesh, MMG3D_pPROctree *q, int nv)
Definition: PRoctree_3d.c:63
#define MMG5_EPSD
Definition: eigenv.h:31
int dim
Definition: libmmgtypes.h:514
int xt
Definition: libmmgtypes.h:345
int MMG3D_prilen(MMG5_pMesh mesh, MMG5_pSol met, char metRidTyp)
Definition: quality_3d.c:319
void MMG3D_placeInListDouble(double *distList, double dist, int index, int size)
Definition: PRoctree_3d.c:296
int MMG5_split2(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:1518
int MMG3D_delPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:972
void __attribute__((unused))
Definition: velextls_3d.c:441
#define MMG3D_POINT_REALLOC(mesh, sol, ip, wantedGap, law, o, tag)
Definition: mmg3d.h:48
static int MMG3D_splitalmostall(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:435
#define MMG3D_LMAX
Definition: libmmg3d.h:57
! int a
Definition: libmmgtypesf.h:286
int MMG3D_displayQualHisto_internal(int ne, double max, double avg, double min, int iel, int good, int med, int his[5], int nrid, int optimLES, int imprim)
Definition: quality_3d.c:472
int xpr
Definition: libmmgtypes.h:525
void MMG5_freeXPrisms(MMG5_pMesh mesh)
Definition: zaldy_3d.c:348
int v[4]
Definition: libmmgtypes.h:341
int MMG5_swpgen(MMG5_pMesh mesh, MMG5_pSol met, int nconf, int ilist, int *list, MMG3D_pPROctree PROctree, char typchk)
Definition: swapgen_3d.c:246
double n[3]
Definition: libmmgtypes.h:216
void MMG3D_Init_fileNames(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions_3d.c:55