Go to the documentation of this file.
41 #if (defined(__APPLE__) && defined(__MACH__))
42 #include <sys/sysctl.h>
43 #elif defined(__unix__) || defined(__unix) || defined(unix)
45 #elif defined(_WIN16) || defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__TOS_WIN__) || defined(__WINDOWS__)
47 #define _WIN32_WINNT 0x0500
61 #define MG_VER "5.4.1"
62 #define MG_REL "Mar. 20, 2019"
63 #define MG_CPY "Copyright (c) Bdx INP/CNRS/Inria/UPMC, 2004-"
64 #define MG_STR "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"
67 #define MG_SMSGN(a,b) (((double)(a)*(double)(b) > (0.0)) ? (1) : (0))
70 #define MMG5_BOXSIZE 500
73 #define MMG5_MEMMAX 800
74 #define MMG5_BITWIZE_MB_TO_B 20
75 #define MMG5_MEMPERCENT 50/100
85 #define MMG5_DISPREF 10
88 #define MMG5_MILLION 1048576
91 #define MMG5_ANGEDG 0.707106781186548
92 #define MMG5_ANGLIM -0.999999
93 #define MMG5_ATHIRD 0.333333333333333
95 #define MMG5_EPSD 1.e-30
96 #define MMG5_EPSD2 1.0e-200
97 #define MMG5_EPS 1.e-06
98 #define MMG5_EPSOK 1.e-15
99 #define MMG5_NULKAL 1.e-30
101 #define MMG5_SQR32 0.866025403784439
104 #define M_PI 3.14159265358979323846
105 #define M_PI_2 1.57079632679489661923
108 #define A64TH 0.015625
110 #define A32TH 0.03125
112 #define MMG5_MEMMIN 38
115 #define MMG5_NONSET_MEM -1
116 #define MMG5_NONSET_HMIN -1
117 #define MMG5_NONSET_HMAX -1
118 #define MMG5_NONSET_HSIZ -1
119 #define MMG5_HAUSD 0.01
120 #define MMG5_HGRAD 0.26236426446
121 #define MMG5_HGRADREQ 0.83290912294
122 #define MMG5_NOHGRAD -1
126 #define MMG5_PROCTREE 32
130 #define MMG5_HMINCOE 0.001
131 #define MMG5_HMAXCOE 2
132 #define MMG5_HMINMAXGAP 5
136 #define MG_MAX(a,b) (((a) > (b)) ? (a) : (b))
137 #define MG_MIN(a,b) (((a) < (b)) ? (a) : (b))
141 #define MG_REF (1 << 0)
142 #define MG_GEO (1 << 1)
143 #define MG_REQ (1 << 2)
144 #define MG_NOM (1 << 3)
145 #define MG_BDY (1 << 4)
146 #define MG_CRN (1 << 5)
147 #define MG_NOSURF (1 << 6)
148 #define MG_OPNBDY (1 << 7)
149 #define MG_OLDPARBDY (1 << 11)
150 #define MG_PARBDYBDY (1 << 12)
151 #define MG_PARBDY (1 << 13)
152 #define MG_NUL (1 << 14)
155 #define MG_Vert (1 << 0 )
156 #define MG_Tria (1 << 1 )
157 #define MG_Tetra (1 << 2 )
159 #define MG_VOK(ppt) (ppt && ((ppt)->tag < MG_NUL))
160 #define MG_EOK(pt) (pt && ((pt)->v[0] > 0))
162 #define MG_EDG(tag) ((tag & MG_GEO) || (tag & MG_REF))
163 #define MG_SIN(tag) ((tag & MG_CRN) || (tag & MG_REQ))
164 #define MG_RID(tag) ((!( MG_SIN(tag)||(tag & MG_NOM))) && tag & MG_GEO )
167 #define MG_SET(flag,bit) ((flag) |= (1 << (bit)))
168 #define MG_CLR(flag,bit) ((flag) &= ~(1 << (bit)))
169 #define MG_GET(flag,bit) ((flag) & (1 << (bit)))
177 #define _LIBMMG5_RETURN(mesh,met,val)do \
179 signal(SIGABRT,SIG_DFL); \
180 signal(SIGFPE,SIG_DFL); \
181 signal(SIGILL,SIG_DFL); \
182 signal(SIGSEGV,SIG_DFL); \
183 signal(SIGTERM,SIG_DFL); \
184 signal(SIGINT,SIG_DFL); \
185 mesh->npi = mesh->np; \
186 mesh->nti = mesh->nt; \
187 mesh->nai = mesh->na; \
188 mesh->nei = mesh->ne; \
189 met->npi = met->np; \
196 #define MMG5_CHK_MEM(mesh,size,string,law) do \
198 if ( (mesh)->memCur > (mesh)->memMax ) { \
199 fprintf(stderr," ## Error:"); \
200 fprintf(stderr," unable to allocate %s.\n",string); \
201 fprintf(stderr," ## Check the mesh size or "); \
202 fprintf(stderr,"increase maximal authorized memory with the -m option.\n"); \
203 (mesh)->memCur -= (size); \
211 ptr = calloc(
c*
s+
sizeof(
size_t),1);
224 ptr = malloc(
s+
sizeof(
size_t));
237 char *ptr_in_c = (
char*)ptr_in;
238 ptr_in_c -=
sizeof(size_t);
239 if (oldsize != *((
size_t*)ptr_in_c)) {
240 fprintf(stderr,
"myrealloc: Error: freed memory mismatch\n");
243 ptr = realloc(ptr_in_c,
s+
sizeof(
size_t));
256 char * ptr_c = (
char*)ptr;
258 ptr_c = ptr_c-
sizeof(size_t);
259 s = *((
size_t*)ptr_c);
266 #define MMG5_DEL_MEM(mesh,ptr) do \
268 size_t size_to_free = myfree(ptr); \
269 (mesh)->memCur -= size_to_free; \
275 #define MMG5_ADD_MEM(mesh,size,message,law) do \
277 (mesh)->memCur += (size); \
278 MMG5_CHK_MEM(mesh,size,message,law); \
282 #define MMG5_SAFE_FREE(ptr) do \
289 #define MMG5_SAFE_CALLOC(ptr,size,type,law) do \
291 ptr = (type*)mycalloc(size,sizeof(type)); \
293 perror(" ## Memory problem: calloc"); \
299 #define MMG5_SAFE_MALLOC(ptr,size,type,law) do \
301 size_t size_to_allocate = (size)*sizeof(type); \
302 ptr = (type*)mymalloc(size_to_allocate); \
304 perror(" ## Memory problem: malloc"); \
310 #define MMG5_SAFE_REALLOC(ptr,prevSize,newSize,type,message,law) do \
313 size_t size_to_allocate = (newSize)*sizeof(type); \
315 tmp = (type *)myrealloc((ptr),size_to_allocate,(prevSize)*sizeof(type)); \
317 MMG5_SAFE_FREE(ptr); \
318 perror(" ## Memory problem: realloc"); \
326 #define MMG5_SAFE_RECALLOC(ptr,prevSize,newSize,type,message,law) do \
329 size_t size_to_allocate = (newSize)*sizeof(type); \
331 tmp = (type *)myrealloc((ptr),size_to_allocate,(prevSize)*sizeof(type)); \
333 MMG5_SAFE_FREE(ptr); \
334 perror(" ## Memory problem: realloc"); \
340 if ( newSize > prevSize ) { \
341 memset(&((ptr)[prevSize]),0,((newSize)-(prevSize))*sizeof(type)); \
348 #define MMG5_TAB_RECALLOC(mesh,ptr,initSize,wantedGap,type,message,law) do \
352 assert ( mesh->memCur < mesh->memMax ); \
354 gap = (int)(wantedGap * initSize); \
355 if ( !gap ) gap = 1; \
357 if ( mesh->memMax < mesh->memCur + gap*sizeof(type) ) { \
358 gap = (int)((mesh->memMax-mesh->memCur)/sizeof(type)); \
360 fprintf(stderr," ## Error:"); \
361 fprintf(stderr," unable to allocate %s.\n",message); \
362 fprintf(stderr," ## Check the mesh size or "); \
363 fprintf(stderr,"increase maximal authorized memory with the -m option.\n"); \
368 MMG5_ADD_MEM(mesh,gap*sizeof(type),message,law); \
369 MMG5_SAFE_RECALLOC((ptr),initSize+1,initSize+gap+1,type,message,law); \
370 initSize = initSize+gap; \
374 #define MMG5_INCREASE_MEM_MESSAGE() do \
376 printf(" ## Check the mesh size or increase maximal"); \
377 printf(" authorized memory with the -m option.\n"); \
380 #define MMG5_SAFELL2LCAST(longlongval) (((longlongval) > (LONG_MAX)) ? 0 : ((long)(longlongval)))
381 #define MMG5_SAFELL2ICAST(longlongval) (((longlongval) > (INT_MAX)) ? 0 : ((int)(longlongval)))
391 fprintf(stdout,
" ## Warning: we will overflow the memory asked with \"-m\"");
392 fprintf(stdout,
" option during Scotch call.\n" );
405 fprintf(stdout,
"\n Unexpected error:"); fflush(stdout);
408 fprintf(stdout,
" *** potential lack of memory.\n");
break;
410 fprintf(stdout,
" *** Floating-point exception\n");
break;
412 fprintf(stdout,
" *** Illegal instruction\n");
break;
414 fprintf(stdout,
" *** Segmentation fault\n");
break;
417 fprintf(stdout,
" *** Program killed\n");
break;
436 #define FORTRAN_NAME(nu,nl,pl,pc) \
458 #define FORTRAN_VARIADIC(nu,nl,pl,body) \
509 extern double MMG5_det3pt1vec(
double c0[3],
double c1[3],
double c2[3],
double v[3]);
510 extern double MMG5_det4pt(
double c0[3],
double c1[3],
double c2[3],
double c3[3]);
519 int MMG5_paratmet(
double c0[3],
double n0[3],
double m[6],
double c1[3],
double n1[3],
double mt[6]);
520 void MMG5_mn(
double m[6],
double n[6],
double mn[9] );
521 extern int MMG5_rmtr(
double r[3][3],
double m[6],
double mr[6]);
531 int,
int,
double,
int,
double*,
int*,
char);
533 int,
int,
double,
int,
double*,
539 double *,
double *,
double *,
double *);
572 double *,
double *,
double,
double,
double);
574 double *,
double *,
double *,
double *,
575 double,
double,
double);
589 FILE **inm,
long *posNodes,
long *posElts,
590 long **posNodeData,
int *bin,
int *iswp,
591 int *nelts,
int *
nsols);
594 const long posNodes,
const long posElts,
595 const long *posNodeData,
const int bin,
596 const int iswp,
const int nelts,
600 int*,
int*,
int**,
long*,
int);
int nprism
Definition: libmmgtypes.h:517
! double * m
Definition: libmmgtypesf.h:627
double hmax
Definition: libmmgtypes.h:203
#define MMG3D_MAXKAL
Definition: mmg3d.h:129
void MMG5_printSolStats(MMG5_pMesh mesh, MMG5_pSol *sol)
Definition: inout.c:2428
static void MMG3D_unused_function(void)
Definition: mmg3d3.c:722
int npar
Definition: libmmgtypes.h:447
static const unsigned char MMG5_inxt3[7]
next vertex of tetra: {1,2,3,0,1,2,3}
Definition: mmg3d.h:141
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 nsols
Definition: libmmgtypesf.h:573
int np
Definition: libmmgtypes.h:566
double c[3]
Definition: libmmgtypes.h:215
#define MG_EDG(tag)
Definition: mmgcommon.h:162
void MMG5_Set_commonFunc()
int MMG5_chkmani(MMG5_pMesh mesh)
Definition: mmg3d2.c:756
int MMG5_saveSolHeader(MMG5_pMesh, const char *, FILE **, int, int *, int, int, int, int *, int *)
Definition: inout.c:2266
#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 MMG5_mmg3d1_delone(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg3d1_delone.c:1273
int v[3]
Definition: libmmgtypes.h:272
#define MMG3D_LOPTSMMG5_DEL
Definition: mmg3d1_delone.c:44
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
static int MMG3D_setref_ls(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: mmg3d2.c:609
int MMG3D_splsurfedge(MMG5_pMesh mesh, MMG5_pSol met, int k, MMG5_pTetra pt, MMG5_pxTetra pxt, char imax, char typchk, char chkRidTet, int *warn)
Definition: mmg3d1.c:1383
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 MMG5_anatet(MMG5_pMesh mesh, MMG5_pSol met, char typchk, int patternMode)
Definition: mmg3d1.c:2578
static size_t myfree(void *ptr)
Definition: mmgcommon.h:254
! int type
Definition: libmmgtypesf.h:570
! int * adja
Definition: libmmgtypesf.h:584
int MMG3D_hashTetra(MMG5_pMesh mesh, int pack)
Definition: hash_3d.c:180
#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 MMG5_buildridmetfic(MMG5_pMesh, double *, double *, double, double, double, double *)
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, char)
Definition: mmgexterns.c:29
int MMG5_buildridmet(MMG5_pMesh, MMG5_pSol, int, double, double, double, double *, double[3][3])
int MMG3D_dichoto(MMG5_pMesh mesh, MMG5_pSol met, int k, int *vx)
Definition: mmg3d1.c:88
int MMG5_mmg3d1_pattern(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg3d1_pattern.c:445
#define MMG3D_LOPTLMMG5_DEL
Definition: mmg3d1_delone.c:43
@ MMG5_Triangle
Definition: libmmgtypes.h:188
#define MMG3D_LOPTL
Definition: mmg3d.h:121
static double MMG5_caltet_iso_4pt(double *a, double *b, double *c, double *d)
Definition: inlined_functions_3d.h:328
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
#define MG_REF
Definition: mmgcommon.h:141
unsigned char nomove
Definition: libmmgtypes.h:457
#define MG_EOK(pt)
Definition: mmgcommon.h:160
int MMG5_colver(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, char indq, char typchk)
Definition: colver_3d.c:713
int MMG5_buildridmetnor(MMG5_pMesh, MMG5_pSol, int, double *, double *, double[3][3])
int MMG5_swpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, MMG3D_pPROctree, char)
Definition: swapgen_3d.c:246
static int MMG5_ismaniball(MMG5_pMesh mesh, MMG5_pSol sol, int k, int indp)
Definition: mmg3d2.c:91
static void MMG5_excfun(int sigid)
Definition: mmgcommon.h:404
#define MG_NOM
Definition: mmgcommon.h:144
int MMG3D_split2sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1114
int MMG5_sys33sym(double a[6], double b[3], double r[3])
Definition: tools.c:463
char * namein
Definition: libmmgtypes.h:573
int MMG5_saveDisp(MMG5_pMesh, MMG5_pSol)
char iso
Definition: libmmgtypes.h:453
int(* MMG5_grad2metreq_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:33
int MMG5_movtet(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, double clickSurf, double clickVol, int moveVol, int improveSurf, int improveVolSurf, int improveVol, int maxit, int testmark)
Definition: mmg3d1.c:673
int size
Definition: libmmgtypes.h:569
static int MMG5_adptet(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg3d1_pattern.c:278
int MMG5_hashGet(MMG5_Hash *hash, int a, int b)
Definition: hash.c:303
static int MMG3D_anatets_iso(MMG5_pMesh mesh, MMG5_pSol met, char typchk)
Definition: mmg3d1.c:1759
int MMG5_loadMshMesh_part2(MMG5_pMesh mesh, MMG5_pSol *sol, FILE **inm, const long posNodes, const long posElts, const long *posNodeData, const int bin, const int iswp, const int nelts, const int nsols)
Definition: inout.c:489
int MMG5_invmat33(double m[3][3], double mi[3][3])
Definition: tools.c:369
static int MMG3D_delPatternPts(MMG5_pMesh mesh, MMG5_Hash hash)
Definition: mmg3d1.c:1039
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:89
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:499
char ddb
Definition: mmg3d1_delone.c:41
! int tmp
Definition: libmmgtypesf.h:259
int16_t tag[6]
Definition: libmmgtypes.h:363
int MMG3D_optlap(MMG5_pMesh, MMG5_pSol)
Definition: optlap_3d.c:42
int MMG5_boulesurfvolp(MMG5_pMesh mesh, int start, int ip, int iface, int *listv, int *ilistv, int *lists, int *ilists, int isnm)
Definition: boulep_3d.c:469
void MMG5_mmgInit_parameters(MMG5_pMesh mesh)
static int MMG5_adpsplcol(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree, int *warn)
Definition: mmg3d1_delone.c:894
void MMG5_printMetStats(MMG5_pMesh mesh, MMG5_pSol met)
Definition: inout.c:2410
static int MMG5_optet(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree)
Definition: mmg3d1_delone.c:1098
static int MMG5_anatetv(MMG5_pMesh mesh, MMG5_pSol met, char typchk)
Definition: mmg3d1.c:1082
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 MMG3D_split5_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4431
int16_t ftag[4]
Definition: libmmgtypes.h:361
! int k
Definition: libmmgtypesf.h:543
#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 MMG5_gradsizreq_iso(MMG5_pMesh, MMG5_pSol)
Definition: isosiz.c:359
int(* MMG3D_gradsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d.c:44
static int MMG5_boucle_for(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree, int ne, int *ifilt, int *ns, int *nc, int *warn, int it)
Definition: mmg3d1_delone.c:69
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:75
int16_t tag[3]
Definition: libmmgtypes.h:280
static int MMG5_anatet4(MMG5_pMesh mesh, MMG5_pSol met, int *nf, char typchk)
Definition: mmg3d1.c:2456
void MMG5_writeDoubleSol3D(MMG5_pMesh, MMG5_pSol, FILE *, int, int, int)
Definition: inout.c:2200
int MMG5_invmatg(double m[9], double mi[9])
Definition: tools.c:329
unsigned char noinsert
Definition: libmmgtypes.h:457
int MMG5_hashUpdate(MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:270
int MMG3D_bezierInt(MMG5_pBezier pb, double uv[2], double o[3], double no[3], double to[3])
Definition: bezier_3d.c:551
int(* MMG5_indPt)(MMG5_pMesh mesh, int kp)
Definition: mmgexterns.c:31
#define MG_PARBDY
Definition: mmgcommon.h:151
char ddb
Definition: mmg3d1_delone.c:41
int MMG5_directsurfball(MMG5_pMesh mesh, int ip, int *list, int ilist, double n[3])
Definition: tools_3d.c:73
int MMG5_mmgIntmet33_ani(double *, double *, double *, double)
Definition: intmet.c:178
double hgradreq
Definition: libmmgtypes.h:445
int base
Definition: libmmgtypes.h:521
int(* MMG5_movbdyrefpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3d.c:50
! double n1[3]
Definition: libmmgtypesf.h:275
#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
char ddb
Definition: mmg3d1_delone.c:41
static int MMG5_coltet(MMG5_pMesh mesh, MMG5_pSol met, char typchk)
Definition: mmg3d1.c:811
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
void MMG5_mmgDefaultValues(MMG5_pMesh mesh)
Definition: mmg.c:80
char ddb
Definition: mmg3d1_delone.c:41
int MMG5_compute_meanMetricAtMarkedPoints_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:167
int MMG5_delone(MMG5_pMesh mesh, MMG5_pSol sol, int ip, int *list, int ilist)
Definition: delaunay_3d.c:140
int MMG5_boulen(MMG5_pMesh, int *, int, int i, double *nn)
Definition: boulep.c:50
int MMG5_Add_inode(MMG5_pMesh mesh, MMG5_iNode **liLi, int val)
Definition: tools.c:642
int ref
Definition: libmmgtypes.h:217
int MMG5_split3cone(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:2185
double MMG5_nonorsurf(MMG5_pMesh mesh, MMG5_pTria pt)
Definition: tools.c:106
int ref
Definition: libmmgtypes.h:205
int MMG3D_indPt(MMG5_pMesh mesh, int kp)
Definition: tools_3d.c:866
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:545
int MMG5_devangle(double *n1, double *n2, double crit)
Definition: tools.c:49
#define MMG3D_LSHRT
Definition: mmg3d.h:120
int(* MMG5_movbdynompt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3d.c:51
int(* MMG5_grad2met_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:32
int MMG5_elementWeight(MMG5_pMesh, MMG5_pSol, MMG5_pTria, MMG5_pPoint, MMG5_Bezier *, double r[3][3], double gv[2])
Definition: anisomovpt.c:53
struct MMG5_iNode_s MMG5_iNode
struct MMG5_iNode_s * nxt
Definition: mmgcommon.h:494
static void * mymalloc(size_t s)
Definition: mmgcommon.h:222
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:189
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_split1_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:50
int * adja
Definition: libmmgtypes.h:529
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
int MMG5_loadMshMesh_part1(MMG5_pMesh mesh, const char *filename, FILE **inm, long *posNodes, long *posElts, long **posNodeData, int *bin, int *iswp, int *nelts, int *nsols)
Definition: inout.c:241
MMG5_pTria tria
Definition: libmmgtypes.h:548
int(* MMG5_indElt)(MMG5_pMesh mesh, int kel)
Definition: mmgexterns.c:30
int MMG5_split4sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:3753
double MMG5_BezierGeod(double c1[3], double c2[3], double t1[3], double t2[3])
Definition: bezier_3d.c:111
int MMG5_chkMetricType(MMG5_pMesh mesh, int *type, FILE *inm)
Definition: inout.c:2378
static int MMG5_optetLES(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree)
Definition: mmg3d1_delone.c:1007
#define MG_CRN
Definition: mmgcommon.h:146
double qual
Definition: libmmgtypes.h:340
int MMG3D_split2_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1456
void MMG5_gradEigenvreq(double *dm, double *dn, double, int8_t, int8_t *)
Definition: anisosiz.c:1382
#define MG_REQ
Definition: mmgcommon.h:143
! int base
Definition: libmmgtypesf.h:288
Definition: mmgcommon.h:492
int val
Definition: mmgcommon.h:493
int MMG5_reset_metricAtReqEdges_surf(MMG5_pMesh, MMG5_pSol)
Definition: isosiz.c:194
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
static int MMG5_adpcol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg3d1_pattern.c:179
static const unsigned char MMG5_iarfinv[4][6]
num of the j^th edge in the i^th face
Definition: mmg3d.h:151
int MMG5_intmetsavedir(MMG5_pMesh mesh, double *m, double *n, double *mr)
Definition: mettools.c:86
int MMG5_bouler(MMG5_pMesh, int *, int, int i, int *, int *, int *, int *, int)
Definition: boulep.c:214
#define MG_GEO
Definition: mmgcommon.h:142
void MMG5_gradation_info(MMG5_pMesh mesh)
Definition: isosiz.c:96
static int MMG3D_snpval_ls(MMG5_pMesh mesh, MMG5_pSol sol, double *tmp)
Definition: mmg3d2.c:352
int flag
Definition: libmmgtypes.h:347
! int v[3]
Definition: libmmgtypesf.h:315
static void * mycalloc(size_t c, size_t s)
Definition: mmgcommon.h:209
int MMG5_grad2metSurf(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: anisosiz.c:912
void MMG5_Free_ilinkedList(MMG5_pMesh mesh, MMG5_iNode *liLi)
Definition: tools.c:694
int ref
Definition: libmmgtypes.h:273
int MMG5_Add_dnode(MMG5_pMesh mesh, MMG5_dNode **liLi, int, double)
Definition: tools.c:740
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
int MMG3D_splsurfedge(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra, MMG5_pxTetra, char, char, char, int *)
Definition: mmg3d1.c:1383
int MMG5_bdryPerm(MMG5_pMesh mesh)
Definition: hash_3d.c:2077
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 MMG5_split5(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:4522
void MMG5_mn(double m[6], double n[6], double mn[9])
Definition: tools.c:170
int MMG5_chkBdryTria(MMG5_pMesh mesh)
Definition: hash_3d.c:1402
int MMG5_gradsizreq_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1797
#define MMG3D_SSWAPIMPROVE
Definition: mmg3d.h:125
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
int MMG3D_mmg3d2(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: mmg3d2.c:1428
int MMG5_split4op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:4111
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
int MMG5_intridmet(MMG5_pMesh, MMG5_pSol, int, int, double, double *, double *)
#define MG_NOTAG
Definition: mmgcommon.h:140
int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:260
int MMG5_gradsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:268
int MMG3D_opttyp(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int)
Definition: opttyp_3d.c:467
void MMG5_displayLengthHisto_internal(int, int, int, double, int, int, double, int, double *, int *, char, int)
Definition: quality.c:294
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:232
API header for the common part of the MMG libraries.
int MMG5_interpreg_ani(MMG5_pMesh, MMG5_pSol, MMG5_pTria, char, double, double *mr)
char elt
Definition: libmmgtypes.h:206
int MMG5_saveMshMesh(MMG5_pMesh, MMG5_pSol *, const char *, const int)
Definition: inout.c:1504
int MMG5_hashGet(MMG5_Hash *hash, int a, int b)
Definition: hash.c:303
int MMG5_split1(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:116
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_gradsizreq)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d.c:45
double MMG5_surftri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: anisosiz.c:122
double ls
Definition: libmmgtypes.h:446
#define MMG3D_SHORTMAX
Definition: mmg3d.h:137
struct MMG5_dNode_s * nxt
Definition: mmgcommon.h:504
int MMG5_invmat(double *m, double *mi)
Definition: tools.c:278
#define MG_MIN(a, b)
Definition: mmgcommon.h:137
#define MMG5_INCREASE_MEM_MESSAGE()
Definition: mmgcommon.h:374
int MMG3D_split6_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4760
int MMG5_hashUpdate(MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:270
double MMG5_estavglen(MMG5_pMesh)
MMG5_Tria * MMG5_pTria
Definition: libmmgtypes.h:283
char imprim
Definition: libmmgtypes.h:453
! int ne
Definition: libmmgtypesf.h:571
static int MMG5_invsl(double A[3][3], double b[3], double r[3])
Definition: mmg3d2.c:47
double hgrad
Definition: libmmgtypes.h:445
#define MMG5_EPS
Definition: eigenv.h:32
int MMG5_split3(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:1792
int16_t tag
Definition: libmmgtypes.h:223
! double hausd
Definition: libmmgtypesf.h:243
double n1[3]
Definition: libmmgtypes.h:234
Definition: libmmgtypes.h:270
Definition: mmgcommon.h:480
static void * myrealloc(void *ptr_in, size_t s, size_t oldsize)
Definition: mmgcommon.h:235
Cell for linked list of integer value.
#define MG_Tria
Definition: mmgcommon.h:156
int MMG5_boulec(MMG5_pMesh, int *, int, int i, double *tt)
Definition: boulep.c:126
int(* MMG5_cavity)(MMG5_pMesh, MMG5_pSol, int, int, int *, int, double)
Definition: mmg3d.c:53
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 MMG3D_outqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:712
double MMG2D_quickarea(double a[2], double b[2], double c[2])
Definition: tools.c:856
#define MG_PLUS
Definition: mmgcommon.h:78
int nquad
Definition: libmmgtypes.h:517
void MMG5_readDoubleSol3D(MMG5_pSol, FILE *, int, int, int)
Definition: inout.c:2152
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
void MMG5_mark_pointsOnReqEdge_fromTria(MMG5_pMesh mesh)
Definition: isosiz.c:233
double MMG5_surftri33_ani(MMG5_pMesh, MMG5_pTria, double *, double *, double *)
int MMG5_solveDefmetregSys(MMG5_pMesh, double r[3][3], double *, double *, double *, double *, double, double, double)
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 MMG3D_dichoto1b(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int)
Definition: mmg3d1.c:240
int MMG5_anatet(MMG5_pMesh mesh, MMG5_pSol met, char typchk, int patternMode)
Definition: mmg3d1.c:2578
! double hsiz
Definition: libmmgtypesf.h:495
! char ori
Definition: libmmgtypesf.h:411
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:343
int(* MMG5_chkmsh)(MMG5_pMesh, int, int)
Definition: mmgexterns.c:27
int MMG5_paratmet(double c0[3], double n0[3], double m[6], double c1[3], double n1[3], double mt[6])
Definition: mettools.c:652
int MMG5_intersecmet22(MMG5_pMesh mesh, double *m, double *n, double *mr)
Definition: mettools.c:254
int MMG5_updatemetreq_ani(double *n, double dn[2], double vp[2][2])
Definition: anisosiz.c:1413
static int MMG5_anatet4rid(MMG5_pMesh mesh, MMG5_pSol met, int *nf, char typchk)
Definition: mmg3d1.c:2537
! double c[3]
Definition: libmmgtypesf.h:255
int k
Definition: mmgcommon.h:502
! int16_t tag
Definition: libmmgtypesf.h:263
int MMG5_loadSolHeader(const char *, int, FILE **, int *, int *, int *, int *, int *, int *, int **, long *, int)
Definition: inout.c:1968
int MMG5_split6(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:4829
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
int MMG5_simred(MMG5_pMesh, double *, double *, double dm[2], double dn[2], double vp[2][2])
Definition: anisosiz.c:1264
void MMG5_memOption_memSet(MMG5_pMesh mesh)
Definition: tools.c:585
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:576
int MMG5_chkfemtopo(MMG5_pMesh mesh)
Definition: chkmsh_3d.c:411
char fem
Definition: libmmgtypes.h:453
int MMG5_sum_reqEdgeLengthsAtPoint(MMG5_pMesh, MMG5_pSol, int ip0, int ip1)
Definition: isosiz.c:129
int MMG5_swpmsh(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int typchk)
Definition: mmg3d1.c:542
int MMG5_scotchCall(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: librnbg.c:192
static int MMG3D_storeGeom(MMG5_pPoint ppt, MMG5_pxPoint pxp, double no[3])
Definition: mmg3d1.c:1342
int xp
Definition: libmmgtypes.h:218
int MMG5_defsiz_startingMessage(MMG5_pMesh, MMG5_pSol, const char *funcname)
Definition: isosiz.c:77
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 MMG5_velextLS(MMG5_pMesh, MMG5_pSol)
void MMG5_defUninitSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:224
void MMG5_gradation_info(MMG5_pMesh)
Definition: isosiz.c:96
void MMG5_bezierEdge(MMG5_pMesh, int, int, double *, double *, char, double *)
int MMG5_gradsiz_ani(MMG5_pMesh mesh, MMG5_pSol met, int *it)
Definition: anisosiz.c:1735
int MMG5_writeLocalParamAtTri(MMG5_pMesh, MMG5_iNode *, FILE *)
Definition: mmg.c:162
char MMG5_chkedg(MMG5_pMesh mesh, MMG5_Tria *pt, char ori, double hmax, double hausd, int locPar)
Definition: mmg3d1.c:309
int MMG3D_split3_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1721
! int ref
Definition: libmmgtypesf.h:244
static int MMG3D_cuttet_ls(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: mmg3d2.c:423
char ori
Definition: libmmgtypes.h:365
#define MG_SMSGN(a, b)
Definition: mmgcommon.h:67
! int na
Definition: libmmgtypesf.h:571
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:557
! MMG5_pPar par
Definition: libmmgtypesf.h:494
! double hmax
Definition: libmmgtypesf.h:242
int dim
Definition: libmmgtypes.h:565
int MMG5_interp_iso(double *ma, double *mb, double *mp, double t)
Definition: intmet.c:607
void MMG5_readFloatSol3D(MMG5_pSol, FILE *, int, int, int)
Definition: inout.c:2106
int MMG5_bdrySet(MMG5_pMesh mesh)
Definition: hash_3d.c:1701
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 MMG5_chkcol_bdy(MMG5_pMesh mesh, MMG5_pSol met, int k, char iface, char iedg, int *listv, int ilistv, int *lists, int ilists, char typchk)
Definition: colver_3d.c:358
static int MMG3D_anatet4_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, char metRidTyp, int *ifac, int *conf0, int *adj, int *conf1)
Definition: mmg3d1.c:2183
void MMG5_mmgUsage(char *prog)
Definition: mmg.c:44
int(* MMG5_movintpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int)
Definition: mmg3d.c:48
int nt
Definition: libmmgtypes.h:516
#define MG_Tetra
Definition: mmgcommon.h:157
MMG5_hedge * item
Definition: libmmgtypes.h:501
int MMG3D_split3cone_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2004
#define MG_OPNBDY
Definition: mmgcommon.h:148
#define MG_SET(flag, bit)
Definition: mmgcommon.h:167
double hausd
Definition: libmmgtypes.h:204
MMG mesh structure.
Definition: libmmgtypes.h:509
static int MMG5_adpspl(MMG5_pMesh mesh, MMG5_pSol met, int *warn)
Definition: mmg3d1_pattern.c:51
MMG5_pPar par
Definition: libmmgtypes.h:444
int MMG3D_split3op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2719
double n2[3]
Definition: libmmgtypes.h:234
int MMG5_chkmani2(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: mmg3d2.c:830
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:233
double MMG5_ridSizeInNormalDir(MMG5_pMesh, int, double *, MMG5_pBezier, double, double)
int MMG5_hGeom(MMG5_pMesh mesh)
Definition: hash_3d.c:1034
int flag
Definition: libmmgtypes.h:279
int MMG3D_dichoto1b(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int ip)
Definition: mmg3d1.c:240
int(* MMG5_interp4bar)(MMG5_pMesh, MMG5_pSol, int, int, double *)
Definition: mmg3d.c:47
double MMG5_surftri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: isosiz.c:42
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_swap23(MMG5_pMesh, MMG5_pSol, int, char, int, int, int, int)
Definition: swap_3d.c:561
int MMG5_movintpt_iso(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int)
Definition: movpt_3d.c:55
static const unsigned char MMG5_iarf[4][3]
iarf[i]: edges of face opposite to vertex i
Definition: mmg3d.h:149
int MMG5_split3op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:2851
double hmax
Definition: libmmgtypes.h:445
Definition: libmmgtypes.h:201
#define MMG3D_SWAP06
Definition: mmg3d.h:124
int MMG3D_split4sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3650
! int xp
Definition: libmmgtypesf.h:258
void MMG3D_freePROctree(MMG5_pMesh, MMG3D_PROctree **q)
int PROctree
Definition: libmmgtypes.h:450
MMG5_Info info
Definition: libmmgtypes.h:552
int MMG3D_split4op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3990
int MMG5_BezierRef(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:352
int flag
Definition: libmmgtypes.h:221
int MMG3D_tetraQual(MMG5_pMesh mesh, MMG5_pSol met, char metRidTyp)
Definition: quality_3d.c:48
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
int MMG5_rmtr(double r[3][3], double m[6], double mr[6])
Definition: tools.c:198
int MMG5_chkmanicoll(MMG5_pMesh mesh, int k, int iface, int iedg, int ndepmin, int ndepplus, char isminp, char isplp)
Definition: mmg3d2.c:899
void MMG5_tet2tri(MMG5_pMesh mesh, int k, char ie, MMG5_Tria *ptt)
Definition: mmg3d1.c:52
int MMG5_chkmani(MMG5_pMesh mesh)
Definition: mmg3d2.c:756
int ref
Definition: libmmgtypes.h:342
int MMG5_split2sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:1224
int MMG3D_addPROctree(MMG5_pMesh mesh, MMG3D_PROctree *q, const int no)
! double n[3]
Definition: libmmgtypesf.h:256
int MMG5_scotchCall(MMG5_pMesh mesh, MMG5_pSol met)
Definition: librnbg.c:192
int MMG3D_initPROctree(MMG5_pMesh, MMG3D_pPROctree *q, int nv)
Definition: PRoctree_3d.c:63
int16_t tag
Definition: libmmgtypes.h:348
void MMG5_chooseOutputFormat(MMG5_pMesh mesh, int *msh)
Definition: mmg.c:186
int MMG5_solveDefmetrefSys(MMG5_pMesh, MMG5_pPoint, int *, double r[3][3], double *, double *, double *, double *, double, double, double)
double MMG5_ridSizeInTangentDir(MMG5_pMesh, MMG5_pPoint, int, int *, double, double)
Definition: anisosiz.c:725
Definition: mmgcommon.h:501
int MMG5_swpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, MMG3D_pPROctree, char)
Definition: swap_3d.c:434
int edg[6]
Definition: libmmgtypes.h:359
MMG5_pPoint p[3]
Definition: mmgcommon.h:484
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_swptet(MMG5_pMesh mesh, MMG5_pSol met, double, double, MMG3D_pPROctree, int, int)
Definition: mmg3d1.c:611
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
int MMG3D_delPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:972
int MMG5_mmgIntextmet(MMG5_pMesh, MMG5_pSol, int, double *, double *)
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:333
void MMG5_Free_dlinkedList(MMG5_pMesh mesh, MMG5_dNode *liLi)
Definition: tools.c:792
int MMG5_countLocalParamAtTri(MMG5_pMesh, MMG5_iNode **)
Definition: mmg.c:117
void MMG5_printTria(MMG5_pMesh mesh, char *fileName)
Definition: tools.c:519
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:266
int MMG5_BezierReg(MMG5_pMesh mesh, int ip0, int ip1, double s, double v[3], double *o, double *no)
Definition: tools_3d.c:684
int ier
Definition: API_functionsf_3d.c:839
char ddebug
Definition: libmmgtypes.h:453
int(* MMG5_movbdyregpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int, int)
Definition: mmg3d.c:49
char lag
Definition: libmmgtypes.h:453
int MMG5_chkmaniball(MMG5_pMesh mesh, int start, char ip)
Definition: mmg3d2.c:653
double gap
Definition: libmmgtypes.h:512
int MMG3D_simbulgept(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, int)
Definition: split_3d.c:321
int MMG5_split2(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char)
Definition: split_3d.c:1518
int(* MMG3D_PROctreein)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, double)
Definition: mmg3d.c:54
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, char)
Definition: mmgexterns.c:28
int mark
Definition: libmmgtypes.h:344
int MMG5_movtet(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, double clickSurf, double clickVol, int moveVol, int improveSurf, int improveVolSurf, int improveVol, int maxit, int testmark)
Definition: mmg3d1.c:673
int MMG5_nonUnitNorPts(MMG5_pMesh, int, int, int, double *)
Definition: tools.c:73
int MMG5_mmg3d3(MMG5_pMesh, MMG5_pSol, MMG5_pSol)
int ref[4]
Definition: libmmgtypes.h:357
int MMG5_swpmsh(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int)
Definition: mmg3d1.c:542
! MMG5_pPoint point
Definition: libmmgtypesf.h:597
struct MMG5_dNode_s MMG5_dNode
int MMG5_coquil(MMG5_pMesh mesh, int start, int ia, int *list)
Definition: boulep_3d.c:1053
unsigned char optimLES
Definition: libmmgtypes.h:457
void MMG5_fillDefmetregSys(int, MMG5_pPoint, int, MMG5_Bezier, double r[3][3], double *, double *, double *, double *)
static int MMG3D_anatets_ani(MMG5_pMesh mesh, MMG5_pSol met, char typchk)
Definition: mmg3d1.c:1671
int(* MMG3D_defsiz)(MMG5_pMesh, MMG5_pSol)
Definition: mmg3d.c:43
double(* MMG5_caltri)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmg3d.c:42
MMG5_pMesh char * filename
Definition: API_functionsf_3d.c:875
int MMG5_norface(MMG5_pMesh mesh, int k, int iface, double v[3])
Definition: tools_3d.c:59
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag)
Definition: zaldy_3d.c:39
int MMG5_boundingBox(MMG5_pMesh mesh)
Definition: scalem.c:45
static int(* MMG3D_anatets)(MMG5_pMesh mesh, MMG5_pSol met, char typchk)
Definition: mmg3d1.c:2159
int MMG5_grad2metSurfreq(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: anisosiz.c:1450
#define MMG5_EPSD
Definition: eigenv.h:31
int xt
Definition: libmmgtypes.h:345
int MMG5_split4bar(MMG5_pMesh mesh, MMG5_pSol met, int k, char)
Definition: split_3d.c:3301
static int MMG5_optbad(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree)
Definition: mmg3d1_delone.c:819
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgexterns.c:34
static int MMG3D_chkbdyface(MMG5_pMesh mesh, MMG5_pSol met, int k, MMG5_pTetra pt, MMG5_pxTetra pxt, char i, MMG5_pTria ptt, char typchk)
Definition: mmg3d1.c:1569
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:216
static int MMG5_adptet_delone(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree)
Definition: mmg3d1_delone.c:1205
#define MMG3D_POINT_REALLOC(mesh, sol, ip, wantedGap, law, o, tag)
Definition: mmg3d.h:48
int MMG5_mmgHashTria(MMG5_pMesh mesh, int *adja, MMG5_Hash *, int chkISO)
Definition: hash.c:50
#define MMG3D_LSWAPIMPROVE
Definition: mmg3d.h:126
int MMG5_compute_meanMetricAtMarkedPoints_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1690
#define MMG3D_LMAX
Definition: libmmg3d.h:57
! int a
Definition: libmmgtypesf.h:286
int(* MMG5_movbdyridpt)(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int *, int, int *, int, int)
Definition: mmg3d.c:52
int v[4]
Definition: libmmgtypes.h:341
#define MMG3D_LLONG
Definition: mmg3d.h:119
int MMG5_swptet(MMG5_pMesh mesh, MMG5_pSol met, double crit, double declic, MMG3D_pPROctree PROctree, int typchk, int testmark)
Definition: mmg3d1.c:611
double n[3]
Definition: libmmgtypes.h:216