Go to the documentation of this file.
31 #ifndef _LIBMMGTYPES_H
32 #define _LIBMMGTYPES_H
40 #define MMG5_SUCCESS 0
48 #define MMG5_LOWFAILURE 1
56 #define MMG5_STRONGFAILURE 2
73 #define MMG5_ARG_start 1
82 #define MMG5_ARG_ppMesh 2
92 #define MMG5_ARG_ppLs 3
102 #define MMG5_ARG_ppMet 4
112 #define MMG5_ARG_ppDisp 5
122 #define MMG5_ARG_ppSols 6
131 #define MMG5_ARG_pMesh 7
140 #define MMG5_ARG_pMet 8
149 #define MMG5_ARG_pDisp 9
159 #define MMG5_ARG_end 10
167 #define MMG5_NSOLS_MAX 100
445 double dhd,hmin,hmax,
hsiz,hgrad,hgradreq,hausd;
446 double min[3],max[3],delta,ls;
453 char imprim,ddebug,badkal,iso,fem,
lag;
457 unsigned char optim,
optimLES, noinsert, noswap, nomove, nosurf;
516 int npi,nti,nai,nei,np,na,nt,ne,npmax,namax,ntmax,nemax,xpmax,
xtmax;
Structure to store edges of a MMG mesh.
Definition: libmmgtypes.h:243
#define MMGS_LMAX
Definition: libmmgs.h:49
@ MMG5_Vector
Definition: libmmgtypes.h:176
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgexterns.c:34
@ MMGS_DPARAM_angleDetection
Definition: libmmgs.h:73
double hmax
Definition: libmmgtypes.h:203
@ MMGS_DPARAM_hmax
Definition: libmmgs.h:75
MMG5_pPrism prism
Definition: libmmgtypes.h:546
int nmat
Definition: libmmgtypes.h:451
int xtmax
Definition: libmmgtypes.h:516
int nenil
Definition: libmmgtypes.h:527
int MMGS_defaultValues(MMG5_pMesh mesh)
Definition: libmmgs_tools.c:84
int np
Definition: libmmgtypes.h:566
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, char)
Definition: mmgexterns.c:29
Cell of the hash table of geom edges.
Definition: libmmgtypes.h:466
int siz
Definition: libmmgtypes.h:480
static double MMG5_lenSurfEdg_iso(MMG5_pMesh mesh, MMG5_pSol met, int ip1, int ip2, char isedg)
Definition: inlined_functions.h:291
int v[3]
Definition: libmmgtypes.h:272
static double MMG5_lenSurfEdg_ani(MMG5_pMesh mesh, MMG5_pSol met, int np0, int np1, char isedg)
Definition: inlined_functions.h:198
Definition: libmmgtypes.h:339
Definition: libmmgtypes.h:563
MMG5_Par * MMG5_pPar
Definition: libmmgtypes.h:207
MMG5_Point * MMG5_pPoint
Definition: libmmgtypes.h:227
int MMG5_gradsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:268
size_t memCur
Definition: libmmgtypes.h:511
int nc1
Definition: libmmgtypes.h:519
int s
Definition: libmmgtypes.h:222
int ref
Definition: libmmgtypes.h:245
@ MMG5_Triangle
Definition: libmmgtypes.h:188
int cc
Definition: libmmgtypes.h:275
int16_t tag
Definition: libmmgtypes.h:471
int * ipar
Definition: libmmgtypes.h:541
int xt
Definition: libmmgtypes.h:525
char * namein
Definition: libmmgtypes.h:573
int nxt
Definition: libmmgtypes.h:489
int MMGS_hashTria(MMG5_pMesh mesh)
Definition: hash_s.c:77
Hash table to store geometric edges.
Definition: libmmgtypes.h:478
int size
Definition: libmmgtypes.h:569
int rin
Definition: libmmgtypes.h:435
MMG5_pMesh char int int * retval
Definition: API_functionsf_s.c:665
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:499
@ MMG5_Noentity
Definition: libmmgtypes.h:185
int MMGS_gradsiz_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz_s.c:767
MMG5_Edge * MMG5_pEdge
Definition: libmmgtypes.h:250
double hmin
Definition: libmmgtypes.h:202
char nreg
Definition: libmmgtypes.h:452
int MMGS_mmgslib(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs.c:429
MMG5_pPoint point
Definition: libmmgtypes.h:542
int MMGS_Get_adjaTri(MMG5_pMesh mesh, int kel, int listri[3])
Return adjacent elements of a triangle.
Definition: libmmgs_tools.c:389
MMG5_Mat * MMG5_pMat
Definition: libmmgtypes.h:437
@ MMGS_DPARAM_hausd
Definition: libmmgs.h:77
@ MMGS_DPARAM_hgrad
Definition: libmmgs.h:78
int MMGS_Set_iparameter(MMG5_pMesh mesh, MMG5_pSol sol, int iparam, int val)
Definition: API_functions_s.c:1216
int opnbdy
Definition: libmmgtypes.h:448
@ MMGS_DPARAM_hmin
Definition: libmmgs.h:74
@ MMGS_DPARAM_ls
Definition: libmmgs.h:80
MMG5_entities
Type of mesh entities.
Definition: libmmgtypes.h:184
size_t memMax
Definition: libmmgtypes.h:510
int MMGS_memOption(MMG5_pMesh mesh)
Definition: zaldy_s.c:183
FORTRAN_NAME(MMGS_MMGSLIB, mmgs_mmgslib,(MMG5_pMesh *mesh, MMG5_pSol *met, int *retval),(mesh, met, retval))
Definition: libmmgsf.c:50
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
int base
Definition: libmmgtypes.h:521
int MMGS_defsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_s.c:137
int np
Definition: libmmgtypes.h:516
int nsols
Definition: libmmgtypes.h:518
int ref
Definition: libmmgtypes.h:217
int(* intmet)(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: mmgsexterns.c:8
MMG5_xTetra * MMG5_pxTetra
Definition: libmmgtypes.h:369
int ref
Definition: libmmgtypes.h:205
int(* MMGS_defsiz)(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmgsexterns.c:4
MMG5_pMesh * mesh
Definition: API_functionsf_s.c:63
int k
Definition: libmmgtypes.h:490
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:545
To store user-defined references in the mesh (useful in LS mode)
Definition: libmmgtypes.h:433
char tagdel
Definition: libmmgtypes.h:225
void MMG5_mmgDefaultValues(MMG5_pMesh mesh)
Definition: mmg.c:80
int s
Definition: libmmgtypes.h:491
int MMGS_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol)
Definition: API_functions_s.c:88
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:189
int * adja
Definition: libmmgtypes.h:529
MMG5_pTria tria
Definition: libmmgtypes.h:548
double qual
Definition: libmmgtypes.h:340
unsigned char inputMet
Definition: libmmgtypes.h:458
void MMGS_destockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmgs_tools.c:383
int movridpt_ani(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: anisomovpt_s.c:265
int mark
Definition: libmmgtypes.h:523
MMG5_pQuad quadra
Definition: libmmgtypes.h:549
char dospl
Definition: libmmgtypes.h:434
int flag
Definition: libmmgtypes.h:347
@ MMGS_IPARAM_iso
Definition: libmmgs.h:65
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
@ MMGS_IPARAM_keepRef
Definition: libmmgs.h:66
MMG5_HGeom htab
Definition: libmmgtypes.h:551
int ref
Definition: libmmgtypes.h:273
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
API headers for the mmgs library.
char * nameout
Definition: libmmgtypes.h:574
int(* MMGS_gradsiz)(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmgsexterns.c:6
int xpr
Definition: libmmgtypes.h:405
void MMGS_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:39
Structure to store the surface prism of a MMG mesh.
Definition: libmmgtypes.h:415
@ MMGS_IPARAM_angle
Definition: libmmgs.h:64
int b
Definition: libmmgtypes.h:244
double * m
Definition: libmmgtypes.h:571
double umin
Definition: libmmgtypes.h:572
int MMGS_usage(char *prog)
Definition: libmmgs_tools.c:70
int MMGS_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
Definition: API_functions_s.c:71
char elt
Definition: libmmgtypes.h:206
MMG5_xPrism * MMG5_pxPrism
Definition: libmmgtypes.h:427
int nxt
Definition: libmmgtypes.h:470
int MMG5_Compute_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double *hsiz)
Definition: API_functions.c:487
MMG5_hgeom * geom
Definition: libmmgtypes.h:479
int MMGS_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_s.c:76
int npari
Definition: libmmgtypes.h:447
MMG5_xPoint * MMG5_pxPoint
Definition: libmmgtypes.h:237
int MMG5_compute_meanMetricAtMarkedPoints_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1690
MMG5_Tria * MMG5_pTria
Definition: libmmgtypes.h:283
char imprim
Definition: libmmgtypes.h:453
int16_t tag
Definition: libmmgtypes.h:248
int16_t tag
Definition: libmmgtypes.h:223
Definition: libmmgtypes.h:270
int nanil
Definition: libmmgtypes.h:528
Used to hash edges (memory economy compared to MMG5_hgeom).
Definition: libmmgtypes.h:488
@ MMGS_DPARAM_hsiz
Definition: libmmgs.h:76
int ver
Definition: libmmgtypes.h:564
int nquad
Definition: libmmgtypes.h:517
int ref
Definition: libmmgtypes.h:306
MMG5_pMat mat
Definition: libmmgtypes.h:459
int mem
Definition: libmmgtypes.h:447
int type
Definition: libmmgtypes.h:570
int flag
Definition: libmmgtypes.h:404
int base
Definition: libmmgtypes.h:274
@ MMG5_Notype
Definition: libmmgtypes.h:174
int MMGS_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
Definition: API_functions_s.c:62
void MMG5_mmgUsage(char *prog)
Definition: mmg.c:44
MMG5_pxPrism xprism
Definition: libmmgtypes.h:547
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:543
strncpy(tmp, meshin, *strlen0)
int npnil
Definition: libmmgtypes.h:526
double qual
Definition: libmmgtypes.h:271
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:576
tmp[*strlen0]
Definition: API_functionsf_s.c:672
int xp
Definition: libmmgtypes.h:218
MMG5_pTetra tetra
Definition: libmmgtypes.h:544
Structure to store the surface tetrahedra of a MMG mesh.
Definition: libmmgtypes.h:356
@ MMG5_Tensor
Definition: libmmgtypes.h:177
@ MMGS_IPARAM_nreg
Definition: libmmgs.h:70
int intmet_iso(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: intmet_s.c:77
void MMG5_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double hsiz)
Definition: API_functions.c:349
int base
Definition: libmmgtypes.h:403
int renum
Definition: libmmgtypes.h:449
char ori
Definition: libmmgtypes.h:365
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:557
int base
Definition: libmmgtypes.h:246
int(* movridpt)(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: mmgsexterns.c:9
int dim
Definition: libmmgtypes.h:565
int MMGS_defsiz_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz_s.c:676
Definition: libmmgtypes.h:304
@ MMGS_IPARAM_verbose
Definition: libmmgs.h:61
int nt
Definition: libmmgtypes.h:516
int base
Definition: libmmgtypes.h:307
MMG5_hedge * item
Definition: libmmgtypes.h:501
double hausd
Definition: libmmgtypes.h:204
MMG mesh structure.
Definition: libmmgtypes.h:509
double(* MMG5_calelt)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmgsexterns.c:5
int siz
Definition: libmmgtypes.h:500
@ MMGS_IPARAM_mem
Definition: libmmgs.h:62
int movintpt_ani(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: anisomovpt_s.c:48
@ MMGS_IPARAM_noinsert
Definition: libmmgs.h:67
MMG5_pPar par
Definition: libmmgtypes.h:444
int a
Definition: libmmgtypes.h:467
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:233
int MMGS_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:477
int npmax
Definition: libmmgtypes.h:567
@ MMG5_Edg
Definition: libmmgtypes.h:187
int flag
Definition: libmmgtypes.h:279
int ver
Definition: libmmgtypes.h:513
MMG5_Quad * MMG5_pQuad
Definition: libmmgtypes.h:313
int base
Definition: libmmgtypes.h:343
int movridpt_iso(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: movpt_s.c:333
int movintpt_iso(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: movpt_s.c:41
int type
Definition: libmmgtypes.h:515
int ref
Definition: libmmgtypes.h:402
Definition: libmmgtypes.h:201
char * namein
Definition: libmmgtypes.h:553
int PROctree
Definition: libmmgtypes.h:450
MMG5_Info info
Definition: libmmgtypes.h:552
int MMGS_Set_dparameter(MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
Definition: API_functions_s.c:1354
int MMG5_gradsizreq_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1797
int flag
Definition: libmmgtypes.h:221
int * adjapr
Definition: libmmgtypes.h:537
int npmax
Definition: libmmgtypes.h:516
char parTyp
Definition: libmmgtypes.h:454
char tag
Definition: libmmgtypes.h:407
int ref
Definition: libmmgtypes.h:469
int ref
Definition: libmmgtypes.h:342
Store input parameters of the run.
Definition: libmmgtypes.h:443
int16_t tag
Definition: libmmgtypes.h:348
char * nameout
Definition: libmmgtypes.h:554
@ MMGS_IPARAM_renum
Definition: libmmgs.h:72
int MMG5_gradsizreq_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:359
@ MMG5_Scalar
Definition: libmmgtypes.h:175
int(* MMGS_gradsizreq)(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmgsexterns.c:7
@ MMGS_DPARAM_hgradreq
Definition: libmmgs.h:79
MMG5_pEdge edge
Definition: libmmgtypes.h:550
int(* movintpt)(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: mmgsexterns.c:3
char lag
Definition: libmmgtypes.h:453
double gap
Definition: libmmgtypes.h:512
Definition: libmmgtypes.h:400
int mark
Definition: libmmgtypes.h:344
MMG5_type
Type of solutions.
Definition: libmmgtypes.h:173
int MMG5_compute_meanMetricAtMarkedPoints_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:167
int * adjt
Definition: libmmgtypes.h:533
unsigned char optimLES
Definition: libmmgtypes.h:457
double hsiz
Definition: libmmgtypes.h:445
int tmp
Definition: libmmgtypes.h:219
int ntmax
Definition: libmmgtypes.h:516
int MMGS_Get_adjaVerticesFast(MMG5_pMesh mesh, int ip, int start, int lispoi[MMGS_LMAX])
Return adjacent elements of a triangle.
Definition: libmmgs_tools.c:403
int b
Definition: libmmgtypes.h:468
int dim
Definition: libmmgtypes.h:514
@ MMGS_IPARAM_nomove
Definition: libmmgs.h:69
int xt
Definition: libmmgtypes.h:345
@ MMG5_Vertex
Definition: libmmgtypes.h:186
int MMGS_stockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmgs_tools.c:370
MMG5_Prism * MMG5_pPrism
Definition: libmmgtypes.h:409
@ MMGS_IPARAM_noswap
Definition: libmmgs.h:68
int intmet_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: intmet_s.c:104
int npi
Definition: libmmgtypes.h:568
MMG5_Tetra * MMG5_pTetra
Definition: libmmgtypes.h:350
@ MMGS_IPARAM_debug
Definition: libmmgs.h:63
int MMGS_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_s.c:67