mmgs
libmmgtypes.h
Go to the documentation of this file.
1 /* =============================================================================
2 ** This file is part of the mmg software package for the tetrahedral
3 ** mesh modification.
4 ** Copyright (c) Bx INP/CNRS/Inria/UBordeaux/UPMC, 2004-
5 **
6 ** mmg is free software: you can redistribute it and/or modify it
7 ** under the terms of the GNU Lesser General Public License as published
8 ** by the Free Software Foundation, either version 3 of the License, or
9 ** (at your option) any later version.
10 **
11 ** mmg is distributed in the hope that it will be useful, but WITHOUT
12 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 ** License for more details.
15 **
16 ** You should have received a copy of the GNU Lesser General Public
17 ** License and of the GNU General Public License along with mmg (in
18 ** files COPYING.LESSER and COPYING). If not, see
19 ** <http://www.gnu.org/licenses/>. Please read their terms carefully and
20 ** use this copy of the mmg distribution only if you accept them.
21 ** =============================================================================
22 */
23 
27 #include <stdint.h>
28 #include <stdarg.h>
29 #include <stddef.h>
30 
31 #include "mmgcmakedefines.h"
32 #include "mmgversion.h"
33 
34 #ifndef _LIBMMGTYPES_H
35 #define _LIBMMGTYPES_H
36 
43 #define MMG5_SUCCESS 0
44 
51 #define MMG5_LOWFAILURE 1
52 
59 #define MMG5_STRONGFAILURE 2
60 
65 #define MG_ISO 10
66 
76 #define MMG5_ARG_start 1
77 
85 #define MMG5_ARG_ppMesh 2
86 
95 #define MMG5_ARG_ppLs 3
96 
105 #define MMG5_ARG_ppMet 4
106 
115 #define MMG5_ARG_ppDisp 5
116 
125 #define MMG5_ARG_ppSols 6
126 
134 #define MMG5_ARG_pMesh 7
135 
143 #define MMG5_ARG_pMet 8
144 
152 #define MMG5_ARG_pDisp 9
153 
162 #define MMG5_ARG_end 10
163 
170 #define MMG5_NSOLS_MAX 100
171 
178 #define MMG5_FILENAME_LEN_MAX 255
179 
186 #define MMG5_MMAT_NoSplit 0
187 
194 #define MMG5_MMAT_Split 1
195 
200 enum MMG5_type {
205 };
206 
217 };
218 
228 typedef struct {
229  double hmin;
230  double hmax;
231  double hausd;
232  int ref;
233  int8_t elt;
235 
241 typedef struct {
242  double c[3];
243  double n[3];
244 #ifdef USE_POINTMAP
245  int src;
246 #endif
247  int ref;
248  int xp;
249  int tmp;
251  int flag;
252  int s;
253  int16_t tag;
255  int8_t tagdel;
256 } MMG5_Point;
258 
263 typedef struct {
264  double n1[3],n2[3];
266  int8_t nnor; /* By default 0; 1 if no normal available (internal NOM point) */
267 } MMG5_xPoint;
269 
274 typedef struct {
275  int a,b;
276  int ref;
277  int base;
279  int16_t tag;
280 } MMG5_Edge;
282 
301 typedef struct {
302  double qual; /*Quality of the triangle*/
303  int v[3];
304  int ref;
305  int base;
306  int cc;
308  int edg[3];
310  int flag;
311  int16_t tag[3];
313  } MMG5_Tria;
315 
316 
335 typedef struct {
336  int v[4];
337  int ref;
338  int base;
339  int edg[4];
341  int16_t tag[4];
343 } MMG5_Quad;
345 
346 
370 typedef struct {
371  double qual;
372  int v[4];
373  int ref;
374  int base;
375  int mark;
376  int xt;
378  int flag;
379  int16_t tag;
380 } MMG5_Tetra;
382 
387 typedef struct {
388  int ref[4];
390  int edg[6];
392  int16_t ftag[4];
394  int16_t tag[6];
396  int8_t ori;
399 } MMG5_xTetra;
401 
431 typedef struct {
432  int v[6];
433  int ref;
434  int base;
435  int flag;
436  int xpr;
438  int8_t tag;
439 } MMG5_Prism;
441 
446 typedef struct {
447  int ref[5];
449  int edg[9];
453  int16_t ftag[5];
455  int16_t tag[9];
457 } MMG5_xPrism;
459 
464 typedef struct {
465  int8_t dospl;
466  int ref,rin,rex;
467 } MMG5_Mat;
468 typedef MMG5_Mat * MMG5_pMat;
469 
474 typedef struct {
476  double dhd,hmin,hmax,hsiz,hgrad,hgradreq,hausd;
477  double min[3],max[3],delta,ls,rmc;
478  int mem,npar,npari;
479  int nbr,*br;
480  int opnbdy;
481  int renum;
482  int PROctree;
483  int nmati,nmat;
484  int imprim;
485  int nsd;
486  int8_t nreg;
487  int8_t ddebug;
488  int8_t badkal;
489  int8_t iso;
490  int8_t setfem;
493  int8_t fem;
494  int8_t lag;
495  int8_t parTyp;
498  int8_t sethmin;
499  int8_t sethmax;
500  uint8_t optim, optimLES, noinsert, noswap, nomove, nosurf, nosizreq;
501  uint8_t metRidTyp;
503 } MMG5_Info;
504 
509 typedef struct {
510  int a;
511  int b;
512  int ref;
513  int nxt;
514  int16_t tag;
515 } MMG5_hgeom;
516 
521 typedef struct {
523  int siz,max,nxt;
524 } MMG5_HGeom;
525 
526 
531 typedef struct {
532  int a,b,nxt;
533  int k;
534  int s;
535 } MMG5_hedge;
536 
542 typedef struct {
543  int siz,max,nxt;
545 } MMG5_Hash;
546 
552 typedef struct {
553  size_t memMax;
554  size_t memCur;
555  double gap;
556  int ver;
557  int dim;
558  int type;
559  int npi,nti,nai,nei,np,na,nt,ne,npmax,namax,ntmax,nemax,xpmax,xtmax;
560  int nquad,nprism; /* number of quadrangles and prisms */
561  int nsols; /* number of solutions (metric excluded) in the solution file */
562  int nc1;
563 
564  int base;
566  int mark;
568  int xp,xt,xpr;
569  int npnil;
570  int nenil;
571  int nanil;
572  int *adja;
576  int *adjt;
580  int *adjapr;
584  int *adjq;
588  int *ipar;
600  char *namein;
601  char *nameout;
603 } MMG5_Mesh;
605 
610 typedef struct {
611  int ver; /* Version of the solution file */
612  int dim; /* Dimension of the solution file*/
613  int np; /* Number of points of the solution */
614  int npmax; /* Maximum number of points */
615  int npi; /* Temporary number of points (internal use only) */
616  int size; /* Number of solutions per entity */
617  int type; /* Type of the solution (scalar, vectorial of tensorial) */
618  double *m;
619  double umin,umax;
620  char *namein;
621  char *nameout;
622 } MMG5_Sol;
623 typedef MMG5_Sol * MMG5_pSol;
624 
625 #endif
MMGS_LMAX
#define MMGS_LMAX
Definition: libmmgs.h:49
MMG5_Edge
Structure to store edges of a MMG mesh.
Definition: libmmgtypes.h:274
MMG5_Vector
@ MMG5_Vector
Definition: libmmgtypes.h:203
MMGS_DPARAM_angleDetection
@ MMGS_DPARAM_angleDetection
Definition: libmmgs.h:77
MMG5_Par::hmax
double hmax
Definition: libmmgtypes.h:230
MMGS_DPARAM_hmax
@ MMGS_DPARAM_hmax
Definition: libmmgs.h:79
MMG5_Mesh::prism
MMG5_pPrism prism
Definition: libmmgtypes.h:593
MMG5_Mesh::xtmax
int xtmax
Definition: libmmgtypes.h:559
MMG5_Info::npar
int npar
Definition: libmmgtypes.h:478
MMG5_Mesh::nenil
int nenil
Definition: libmmgtypes.h:570
MMGS_defaultValues
int MMGS_defaultValues(MMG5_pMesh mesh)
Definition: libmmgs_tools.c:98
MMG5_Sol::np
int np
Definition: libmmgtypes.h:613
MMG5_Point::c
double c[3]
Definition: libmmgtypes.h:242
MMG5_Mesh::namax
int namax
Definition: libmmgtypes.h:559
MG_EDG
#define MG_EDG(tag)
Definition: mmgcommon.h:163
MMG5_hgeom
Cell of the hash table of geom edges.
Definition: libmmgtypes.h:509
MMG5_HGeom::siz
int siz
Definition: libmmgtypes.h:523
MG_MAX
#define MG_MAX(a, b)
Definition: mmgcommon.h:135
FORTRAN_NAME
FORTRAN_NAME(MMGS_SETFUNC, mmgs_setfunc,(MMG5_pMesh *mesh, MMG5_pSol *met),(mesh, met))
Definition: libmmgs_toolsf.c:49
MMGS_IPARAM_optim
@ MMGS_IPARAM_optim
Definition: libmmgs.h:67
MMG5_Tria::v
int v[3]
Definition: libmmgtypes.h:303
MMG5_Tetra
Definition: libmmgtypes.h:370
MMG5_Sol
Definition: libmmgtypes.h:610
MMGS_parsar
int MMGS_parsar(int argc, char *argv[], MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
Definition: libmmgs_tools.c:113
MMG5_pPar
MMG5_Par * MMG5_pPar
Definition: libmmgtypes.h:234
MMG5_pPoint
MMG5_Point * MMG5_pPoint
Definition: libmmgtypes.h:257
MMG5_gradsiz_iso
int MMG5_gradsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:277
MMG5_Mesh::memCur
size_t memCur
Definition: libmmgtypes.h:554
MMG5_Mesh::nc1
int nc1
Definition: libmmgtypes.h:562
MMG5_Point::s
int s
Definition: libmmgtypes.h:252
MMG5_Edge::ref
int ref
Definition: libmmgtypes.h:276
MMGS_Free_solutions
void MMGS_Free_solutions(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmgs_tools.c:847
MMGS_Get_adjaVerticesFast
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:615
MMG5_Triangle
@ MMG5_Triangle
Definition: libmmgtypes.h:215
MMG5_Tria::cc
int cc
Definition: libmmgtypes.h:306
MG_EOK
#define MG_EOK(pt)
Definition: mmgcommon.h:161
MMG5_hgeom::tag
int16_t tag
Definition: libmmgtypes.h:514
MMG5_Mesh::ipar
int * ipar
Definition: libmmgtypes.h:588
MMG5_advancedUsage
void MMG5_advancedUsage(void)
Definition: mmg.c:135
MMG5_Mesh::xt
int xt
Definition: libmmgtypes.h:568
MMG5_Sol::namein
char * namein
Definition: libmmgtypes.h:620
MMG5_hedge::nxt
int nxt
Definition: libmmgtypes.h:532
MMGS_hashTria
int MMGS_hashTria(MMG5_pMesh mesh)
Definition: hash_s.c:77
MMG5_HGeom
Hash table to store geometric edges.
Definition: libmmgtypes.h:521
MMG5_Sol::size
int size
Definition: libmmgtypes.h:616
MMG5_Mat::rin
int rin
Definition: libmmgtypes.h:466
MMG5_Info::imprim
int imprim
Definition: libmmgtypes.h:484
retval
MMG5_pMesh char int int * retval
Definition: API_functionsf_s.c:750
MMG5_Hash
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:542
MMG5_Noentity
@ MMG5_Noentity
Definition: libmmgtypes.h:212
MMG5_Info::optimLES
uint8_t optimLES
Definition: libmmgtypes.h:500
MMGS_gradsiz_ani
int MMGS_gradsiz_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz_s.c:805
MMG5_pEdge
MMG5_Edge * MMG5_pEdge
Definition: libmmgtypes.h:281
MMG5_Par::hmin
double hmin
Definition: libmmgtypes.h:229
MMG5_iprv2
static const uint8_t MMG5_iprv2[3]
Definition: mmgcommon.h:548
MMGS_mmgslib
int MMGS_mmgslib(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs.c:530
MMG5_Mesh::point
MMG5_pPoint point
Definition: libmmgtypes.h:589
MMGS_IPARAM_nosizreq
@ MMGS_IPARAM_nosizreq
Definition: libmmgs.h:76
MMGS_Get_adjaTri
int MMGS_Get_adjaTri(MMG5_pMesh mesh, int kel, int listri[3])
Return adjacent elements of a triangle.
Definition: libmmgs_tools.c:601
info
MMG5_Info info
MMG5_pMat
MMG5_Mat * MMG5_pMat
Definition: libmmgtypes.h:468
MMGS_doSol
int MMGS_doSol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:689
MMGS_DPARAM_hausd
@ MMGS_DPARAM_hausd
Definition: libmmgs.h:81
MMG5_Tria::edg
int edg[3]
Definition: libmmgtypes.h:308
MMGS_DPARAM_hgrad
@ MMGS_DPARAM_hgrad
Definition: libmmgs.h:82
MMG5_Tria::tag
int16_t tag[3]
Definition: libmmgtypes.h:311
inlined_functions.h
inlined Functions
MMGS_Set_iparameter
int MMGS_Set_iparameter(MMG5_pMesh mesh, MMG5_pSol sol, int iparam, int val)
Definition: API_functions_s.c:1300
MMG5_Info::opnbdy
int opnbdy
Definition: libmmgtypes.h:480
MMGS_DPARAM_hmin
@ MMGS_DPARAM_hmin
Definition: libmmgs.h:78
MMGS_DPARAM_ls
@ MMGS_DPARAM_ls
Definition: libmmgs.h:84
MMG5_entities
MMG5_entities
Type of mesh entities.
Definition: libmmgtypes.h:211
MMG5_Mesh::memMax
size_t memMax
Definition: libmmgtypes.h:553
MMGS_memOption
int MMGS_memOption(MMG5_pMesh mesh)
Definition: zaldy_s.c:183
MMG5_Info::sethmax
int8_t sethmax
Definition: libmmgtypes.h:499
FORTRAN_NAME
FORTRAN_NAME(MMGS_MMGSLIB, mmgs_mmgslib,(MMG5_pMesh *mesh, MMG5_pSol *met, int *retval),(mesh, met, retval))
Definition: libmmgsf.c:50
MMG5_Mesh::base
int base
Definition: libmmgtypes.h:564
MMG5_lenSurfEdg_iso
static double MMG5_lenSurfEdg_iso(MMG5_pMesh mesh, MMG5_pSol met, int ip1, int ip2, int8_t isedg)
Definition: inlined_functions.h:291
MMGS_defsiz_iso
int MMGS_defsiz_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz_s.c:139
MMG5_inxt2
static const uint8_t MMG5_inxt2[6]
Definition: mmgcommon.h:547
MMGS_mmgsls
int MMGS_mmgsls(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol umet)
Definition: libmmgs.c:295
MMG5_Mesh::np
int np
Definition: libmmgtypes.h:559
MMG5_FILESTR_LGTH
#define MMG5_FILESTR_LGTH
Definition: mmgcommon.h:132
MMG5_Mesh::nsols
int nsols
Definition: libmmgtypes.h:561
MMG5_paramUsage1
void MMG5_paramUsage1(void)
Definition: mmg.c:72
MMG5_Info::rmc
double rmc
Definition: libmmgtypes.h:477
MMGS_setfunc
void MMGS_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:39
MMG5_Point::ref
int ref
Definition: libmmgtypes.h:247
MMG5_xPoint::nnor
int8_t nnor
Definition: libmmgtypes.h:266
MMG5_pxTetra
MMG5_xTetra * MMG5_pxTetra
Definition: libmmgtypes.h:400
MMG5_Par::ref
int ref
Definition: libmmgtypes.h:232
MMGS_defsiz
int(* MMGS_defsiz)(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmgsexterns.c:5
mesh
MMG5_pMesh * mesh
Definition: API_functionsf_s.c:63
MMG5_hedge::k
int k
Definition: libmmgtypes.h:533
MMG5_Mesh::xtetra
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:592
MMG5_Mat
To store user-defined references in the mesh (useful in LS mode)
Definition: libmmgtypes.h:464
MMG5_mmgDefaultValues
void MMG5_mmgDefaultValues(MMG5_pMesh mesh)
Definition: mmg.c:150
MMG5_hedge::s
int s
Definition: libmmgtypes.h:534
MMGS_Set_solSize
int MMGS_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, int np, int typSol)
Definition: API_functions_s.c:88
MMG5_Tetrahedron
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:216
MMG5_Mesh::adja
int * adja
Definition: libmmgtypes.h:572
MMG5_Mesh::tria
MMG5_pTria tria
Definition: libmmgtypes.h:595
MMG5_Tetra::qual
double qual
Definition: libmmgtypes.h:371
MMGS_destockOptions
void MMGS_destockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmgs_tools.c:458
movridpt_ani
int movridpt_ani(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: anisomovpt_s.c:235
MMG5_Mesh::mark
int mark
Definition: libmmgtypes.h:566
MMG5_ADD_MEM
#define MMG5_ADD_MEM(mesh, size, message, law)
Definition: mmgcommon.h:290
MMGS_Get_numberOfNonBdyEdges
int MMGS_Get_numberOfNonBdyEdges(MMG5_pMesh mesh, int *nb_edges)
Definition: libmmgs_tools.c:464
MMG5_Mesh::quadra
MMG5_pQuad quadra
Definition: libmmgtypes.h:596
MMG5_eigenv
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:384
MMGS_destockOptions
void MMGS_destockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmgs_tools.c:458
MMG_FSCANF
#define MMG_FSCANF(stream, format,...)
Definition: mmgcommon.h:432
MMG5_SAFE_RECALLOC
#define MMG5_SAFE_RECALLOC(ptr, prevSize, newSize, type, message, law)
Definition: mmgcommon.h:341
MMG5_Tetra::flag
int flag
Definition: libmmgtypes.h:378
MMGS_IPARAM_iso
@ MMGS_IPARAM_iso
Definition: libmmgs.h:65
MMGS_IPARAM_keepRef
@ MMGS_IPARAM_keepRef
Definition: libmmgs.h:66
MMG5_Mesh::htab
MMG5_HGeom htab
Definition: libmmgtypes.h:598
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:304
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:241
MMG5_Prism::tag
int8_t tag
Definition: libmmgtypes.h:438
libmmgs.h
API headers for the mmgs library.
MMG5_Sol::nameout
char * nameout
Definition: libmmgtypes.h:621
MMGS_gradsiz
int(* MMGS_gradsiz)(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmgsexterns.c:7
MMG5_Prism::xpr
int xpr
Definition: libmmgtypes.h:436
MMGS_setfunc
void MMGS_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:39
MMG5_xPrism
Structure to store the surface prism of a MMG mesh.
Definition: libmmgtypes.h:446
MMGS_IPARAM_angle
@ MMGS_IPARAM_angle
Definition: libmmgs.h:64
MMG5_caltri_ani
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
MMG5_Info::ddebug
int8_t ddebug
Definition: libmmgtypes.h:487
MMG5_Edge::b
int b
Definition: libmmgtypes.h:275
MMG5_Sol::m
double * m
Definition: libmmgtypes.h:618
MMG5_Sol::umin
double umin
Definition: libmmgtypes.h:619
MMGS_usage
int MMGS_usage(char *prog)
Definition: libmmgs_tools.c:70
MMGS_Set_outputMeshName
int MMGS_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
Definition: API_functions_s.c:71
MMG5_xTetra::ori
int8_t ori
Definition: libmmgtypes.h:396
MMG5_pxPrism
MMG5_xPrism * MMG5_pxPrism
Definition: libmmgtypes.h:458
MMG5_lenSurfEdg_ani
static double MMG5_lenSurfEdg_ani(MMG5_pMesh mesh, MMG5_pSol met, int np0, int np1, int8_t isedg)
Definition: inlined_functions.h:198
MMG5_hgeom::nxt
int nxt
Definition: libmmgtypes.h:513
MMG5_Compute_constantSize
int MMG5_Compute_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double *hsiz)
Definition: API_functions.c:555
MMG5_HGeom::geom
MMG5_hgeom * geom
Definition: libmmgtypes.h:522
MMGS_Set_outputSolName
int MMGS_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_s.c:76
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:136
MMG5_Info::npari
int npari
Definition: libmmgtypes.h:478
MMG5_pxPoint
MMG5_xPoint * MMG5_pxPoint
Definition: libmmgtypes.h:268
MMG5_compute_meanMetricAtMarkedPoints_ani
int MMG5_compute_meanMetricAtMarkedPoints_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1685
MMG5_Mesh::na
int na
Definition: libmmgtypes.h:559
MMG5_pTria
MMG5_Tria * MMG5_pTria
Definition: libmmgtypes.h:314
MMG5_Edge::tag
int16_t tag
Definition: libmmgtypes.h:279
MMG5_Point::tag
int16_t tag
Definition: libmmgtypes.h:253
MMG5_Tria
Definition: libmmgtypes.h:301
MMG5_Mesh::nanil
int nanil
Definition: libmmgtypes.h:571
MMG5_hedge
Used to hash edges (memory economy compared to MMG5_hgeom).
Definition: libmmgtypes.h:531
MMGS_DPARAM_hsiz
@ MMGS_DPARAM_hsiz
Definition: libmmgs.h:80
MMG5_Mat::dospl
int8_t dospl
Definition: libmmgtypes.h:465
MMG5_Sol::ver
int ver
Definition: libmmgtypes.h:611
MMGS_IPARAM_numsubdomain
@ MMGS_IPARAM_numsubdomain
Definition: libmmgs.h:73
MMG5_Mesh::nquad
int nquad
Definition: libmmgtypes.h:560
MMG5_Quad::ref
int ref
Definition: libmmgtypes.h:337
MMG5_Info::mat
MMG5_pMat mat
Definition: libmmgtypes.h:502
MMG5_Info::mem
int mem
Definition: libmmgtypes.h:478
MMG5_Info::badkal
int8_t badkal
Definition: libmmgtypes.h:488
MMG5_Sol::type
int type
Definition: libmmgtypes.h:617
MMG5_Prism::flag
int flag
Definition: libmmgtypes.h:435
MMG5_Tria::base
int base
Definition: libmmgtypes.h:305
MMG5_Notype
@ MMG5_Notype
Definition: libmmgtypes.h:201
MMGS_Set_inputMeshName
int MMGS_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
Definition: API_functions_s.c:62
MMG5_Info::nsd
int nsd
Definition: libmmgtypes.h:485
MMG5_mmgUsage
void MMG5_mmgUsage(char *prog)
Definition: mmg.c:44
MMG5_Mesh::xprism
MMG5_pxPrism xprism
Definition: libmmgtypes.h:594
MMG5_Mesh::xpoint
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:590
MMGS_Compute_eigenv
int MMGS_Compute_eigenv(double m[6], double lambda[3], double vp[3][3])
Definition: libmmgs_tools.c:841
MMG5_lenSurfEdg
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, int8_t)
Definition: mmgexterns.c:29
MMG5_Info::nmati
int nmati
Definition: libmmgtypes.h:483
strncpy
strncpy(tmp, meshin, *strlen0)
MMG5_Mesh::npnil
int npnil
Definition: libmmgtypes.h:569
MMG5_Tria::qual
double qual
Definition: libmmgtypes.h:302
MMG5_pSol
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:623
intmet_iso
int intmet_iso(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int ip, double s)
Definition: intmet_s.c:77
tmp
tmp[*strlen0]
Definition: API_functionsf_s.c:757
MMG5_Point::xp
int xp
Definition: libmmgtypes.h:248
MMG5_Mesh::tetra
MMG5_pTetra tetra
Definition: libmmgtypes.h:591
MMG5_xTetra
Structure to store the surface tetrahedra of a MMG mesh.
Definition: libmmgtypes.h:387
MMGS_Compute_eigenv
int MMGS_Compute_eigenv(double m[6], double lambda[3], double vp[3][3])
Definition: libmmgs_tools.c:841
MMG5_Tensor
@ MMG5_Tensor
Definition: libmmgtypes.h:204
MMGS_Get_nonBdyEdge
int MMGS_Get_nonBdyEdge(MMG5_pMesh mesh, int *e0, int *e1, int *ref, int idx)
Definition: libmmgs_tools.c:559
MMG5_Info::fem
int8_t fem
Definition: libmmgtypes.h:493
MMGS_IPARAM_nreg
@ MMGS_IPARAM_nreg
Definition: libmmgs.h:71
mmgcommon.h
MMG5_Set_constantSize
void MMG5_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double hsiz)
Definition: API_functions.c:393
MMG5_Prism::base
int base
Definition: libmmgtypes.h:434
MMG5_Info::renum
int renum
Definition: libmmgtypes.h:481
MMG5_caltri_iso
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
MMGS_Get_nonBdyEdge
int MMGS_Get_nonBdyEdge(MMG5_pMesh mesh, int *e0, int *e1, int *ref, int idx)
Definition: libmmgs_tools.c:559
MMG5_pMesh
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:604
MMG5_Edge::base
int base
Definition: libmmgtypes.h:277
movridpt
int(* movridpt)(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: mmgsexterns.c:10
MMG5_Sol::dim
int dim
Definition: libmmgtypes.h:612
MMGS_defsiz_ani
int MMGS_defsiz_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz_s.c:708
MMG5_Info::optim
uint8_t optim
Definition: libmmgtypes.h:500
MMG5_Quad
Definition: libmmgtypes.h:335
MMGS_IPARAM_verbose
@ MMGS_IPARAM_verbose
Definition: libmmgs.h:61
MMG5_Mesh::nt
int nt
Definition: libmmgtypes.h:559
MMG5_Quad::base
int base
Definition: libmmgtypes.h:338
MMG5_Hash::item
MMG5_hedge * item
Definition: libmmgtypes.h:544
MMGS_usage
int MMGS_usage(char *prog)
Definition: libmmgs_tools.c:70
MMG5_Par::hausd
double hausd
Definition: libmmgtypes.h:231
MMG5_Mesh
MMG mesh structure.
Definition: libmmgtypes.h:552
MMG5_calelt
double(* MMG5_calelt)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmgsexterns.c:6
MMG5_Hash::siz
int siz
Definition: libmmgtypes.h:543
MMGS_IPARAM_mem
@ MMGS_IPARAM_mem
Definition: libmmgs.h:62
movintpt_ani
int movintpt_ani(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: anisomovpt_s.c:48
MMGS_IPARAM_noinsert
@ MMGS_IPARAM_noinsert
Definition: libmmgs.h:68
MMG5_Info::par
MMG5_pPar par
Definition: libmmgtypes.h:475
MMG5_hgeom::a
int a
Definition: libmmgtypes.h:510
MMG5_xPoint
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:263
MMGS_Set_constantSize
int MMGS_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:816
MMG5_Sol::npmax
int npmax
Definition: libmmgtypes.h:614
MMG5_Edg
@ MMG5_Edg
Definition: libmmgtypes.h:214
MMG5_Tria::flag
int flag
Definition: libmmgtypes.h:310
MMG5_Mesh::ver
int ver
Definition: libmmgtypes.h:556
MMG5_pQuad
MMG5_Quad * MMG5_pQuad
Definition: libmmgtypes.h:344
MMGS_stockOptions
int MMGS_stockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmgs_tools.c:445
MMG5_Info::iso
int8_t iso
Definition: libmmgtypes.h:489
MMG5_Mesh::adjq
int * adjq
Definition: libmmgtypes.h:584
MMG5_paramUsage2
void MMG5_paramUsage2(void)
Definition: mmg.c:89
MMG5_Tetra::base
int base
Definition: libmmgtypes.h:374
intmet_ani
int intmet_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int ip, double s)
Definition: intmet_s.c:104
movridpt_iso
int movridpt_iso(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: movpt_s.c:620
movintpt_iso
int movintpt_iso(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: movpt_s.c:41
MMG5_Mesh::type
int type
Definition: libmmgtypes.h:558
MMG5_Info::hmax
double hmax
Definition: libmmgtypes.h:476
MMG5_Prism::ref
int ref
Definition: libmmgtypes.h:433
MMG5_Par
Definition: libmmgtypes.h:228
MMG5_Mesh::namein
char * namein
Definition: libmmgtypes.h:600
MMG5_Info::sethmin
int8_t sethmin
Definition: libmmgtypes.h:498
MMG5_Info::PROctree
int PROctree
Definition: libmmgtypes.h:482
MMG5_Mesh::info
MMG5_Info info
Definition: libmmgtypes.h:599
MMGS_Set_dparameter
int MMGS_Set_dparameter(MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
Definition: API_functions_s.c:1450
MMG5_gradsizreq_ani
int MMG5_gradsizreq_ani(MMG5_pMesh mesh, MMG5_pSol met)
Definition: anisosiz.c:1801
MMG5_Point::flag
int flag
Definition: libmmgtypes.h:251
MMG5_Mesh::adjapr
int * adjapr
Definition: libmmgtypes.h:580
MMG5_Edge::a
int a
Definition: libmmgtypes.h:275
MMG5_Par::elt
int8_t elt
Definition: libmmgtypes.h:233
MMG5_Mesh::npmax
int npmax
Definition: libmmgtypes.h:559
MMG5_hgeom::ref
int ref
Definition: libmmgtypes.h:512
MMGS_Get_adjaTri
int MMGS_Get_adjaTri(MMG5_pMesh mesh, int kel, int listri[3])
Return adjacent elements of a triangle.
Definition: libmmgs_tools.c:601
MMG5_Tetra::ref
int ref
Definition: libmmgtypes.h:373
MMG5_Info
Store input parameters of the run.
Definition: libmmgtypes.h:474
MMG5_Tetra::tag
int16_t tag
Definition: libmmgtypes.h:379
MMGS_defaultValues
int MMGS_defaultValues(MMG5_pMesh mesh)
Definition: libmmgs_tools.c:98
MMG5_Mesh::nameout
char * nameout
Definition: libmmgtypes.h:601
MMGS_IPARAM_renum
@ MMGS_IPARAM_renum
Definition: libmmgs.h:74
intmet
int(* intmet)(MMG5_pMesh mesh, MMG5_pSol met, int k, int8_t i, int ip, double s)
Definition: mmgsexterns.c:9
MMG5_SAFE_CALLOC
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:304
MMG5_Info::nreg
int8_t nreg
Definition: libmmgtypes.h:486
MMG5_gradsizreq_iso
int MMG5_gradsizreq_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:368
MMG5_Scalar
@ MMG5_Scalar
Definition: libmmgtypes.h:202
MMGS_gradsizreq
int(* MMGS_gradsizreq)(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmgsexterns.c:8
MMG5_DEL_MEM
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:281
MMGS_DPARAM_hgradreq
@ MMGS_DPARAM_hgradreq
Definition: libmmgs.h:83
MMG5_Mesh::edge
MMG5_pEdge edge
Definition: libmmgtypes.h:597
movintpt
int(* movintpt)(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
Definition: mmgsexterns.c:4
MMGS_Free_solutions
void MMGS_Free_solutions(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: libmmgs_tools.c:847
MMG5_SAFE_FREE
MMG5_SAFE_FREE(tmp)
MMG5_Info::lag
int8_t lag
Definition: libmmgtypes.h:494
MMG5_Mesh::gap
double gap
Definition: libmmgtypes.h:555
MMG5_Prism
Definition: libmmgtypes.h:431
MMG5_Tetra::mark
int mark
Definition: libmmgtypes.h:375
MMG5_type
MMG5_type
Type of solutions.
Definition: libmmgtypes.h:200
MMG5_Info::setfem
int8_t setfem
Definition: libmmgtypes.h:490
MMG5_compute_meanMetricAtMarkedPoints_iso
int MMG5_compute_meanMetricAtMarkedPoints_iso(MMG5_pMesh mesh, MMG5_pSol met)
Definition: isosiz.c:167
MMG5_Point::tagdel
int8_t tagdel
Definition: libmmgtypes.h:255
MMGS_freeLocalPar
int MMGS_freeLocalPar(MMG5_pMesh mesh)
Definition: libmmgs_tools.c:437
MMG5_Mesh::adjt
int * adjt
Definition: libmmgtypes.h:576
MMG5_Info::nbr
int nbr
Definition: libmmgtypes.h:479
MMG5_Info::hsiz
double hsiz
Definition: libmmgtypes.h:476
MMG5_Point::tmp
int tmp
Definition: libmmgtypes.h:249
MMG5_Mesh::ntmax
int ntmax
Definition: libmmgtypes.h:559
MMGS_Get_adjaVerticesFast
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:615
MMG5_hgeom::b
int b
Definition: libmmgtypes.h:511
MMGS_Set_constantSize
int MMGS_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:816
MMG5_Info::metRidTyp
uint8_t metRidTyp
Definition: libmmgtypes.h:501
MMG5_Mesh::dim
int dim
Definition: libmmgtypes.h:557
MMGS_IPARAM_nomove
@ MMGS_IPARAM_nomove
Definition: libmmgs.h:70
MMG5_Tetra::xt
int xt
Definition: libmmgtypes.h:376
MMG5_Vertex
@ MMG5_Vertex
Definition: libmmgtypes.h:213
MMGS_stockOptions
int MMGS_stockOptions(MMG5_pMesh mesh, MMG5_Info *info)
Definition: libmmgs_tools.c:445
mmgs.h
MMG5_compute_meanMetricAtMarkedPoints
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgexterns.c:34
MMG5_pPrism
MMG5_Prism * MMG5_pPrism
Definition: libmmgtypes.h:440
MMGS_Get_numberOfNonBdyEdges
int MMGS_Get_numberOfNonBdyEdges(MMG5_pMesh mesh, int *nb_edges)
Definition: libmmgs_tools.c:464
MMGS_IPARAM_noswap
@ MMGS_IPARAM_noswap
Definition: libmmgs.h:69
MMG5_Sol::npi
int npi
Definition: libmmgtypes.h:615
MMGS_doSol
int MMGS_doSol(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmgs_tools.c:689
MMG5_pTetra
MMG5_Tetra * MMG5_pTetra
Definition: libmmgtypes.h:381
MMGS_IPARAM_debug
@ MMGS_IPARAM_debug
Definition: libmmgs.h:63
MMG5_Info::parTyp
int8_t parTyp
Definition: libmmgtypes.h:495
if
if(!ier) exit(EXIT_FAILURE)
MMGS_Set_inputSolName
int MMGS_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_s.c:67