mmg3d
analys_3d.c File Reference

Mesh analysis. More...

#include "mmg3d.h"
Include dependency graph for analys_3d.c:

Functions

void MMG3D_set_reqBoundaries (MMG5_pMesh mesh)
 
int MMG5_setadj (MMG5_pMesh mesh)
 
int MMG5_setdhd (MMG5_pMesh mesh)
 
int MMG5_chkVertexConnectedDomains (MMG5_pMesh mesh)
 
int MMG5_singul (MMG5_pMesh mesh)
 
int MMG5_norver (MMG5_pMesh mesh)
 
int MMG3D_nmgeom (MMG5_pMesh mesh)
 
int MMG3D_analys (MMG5_pMesh mesh)
 

Detailed Description

Mesh analysis.

Author
Charles Dapogny (UPMC)
Cécile Dobrzynski (Bx INP/Inria/UBordeaux)
Pascal Frey (UPMC)
Algiane Froehly (Inria/UBordeaux)
Version
5
Todo:
doxygen documentation.

Function Documentation

◆ MMG3D_analys()

int MMG3D_analys ( MMG5_pMesh  mesh)

preprocessing stage: mesh analysis

— stage 1: data structures for surface

— stage 2: surface analysis

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG3D_nmgeom()

int MMG3D_nmgeom ( MMG5_pMesh  mesh)
Parameters
meshpointer toward the mesh
Returns
0 if fail, 1 otherwise

Define continuous geometric support at non manifold vertices, using volume information.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG3D_set_reqBoundaries()

void MMG3D_set_reqBoundaries ( MMG5_pMesh  mesh)
Parameters
meshpointer towarad the mesh structure.

Set all boundary triangles to required and add a tag to detect that they are not realy required.

Here is the caller graph for this function:

◆ MMG5_chkVertexConnectedDomains()

int MMG5_chkVertexConnectedDomains ( MMG5_pMesh  mesh)
Parameters
meshpointer toward the mesh structure.
Returns
1.

check subdomains connected by a vertex and mark these vertex as CRN and REQ.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG5_norver()

int MMG5_norver ( MMG5_pMesh  mesh)

compute normals at C1 vertices, for C0: tangents

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG5_setadj()

int MMG5_setadj ( MMG5_pMesh  mesh)
Parameters
meshpointer towarad the mesh structure.
Returns
0 if fail, 1 otherwise.

topology: set adjacent, detect Moebius, flip faces, count connected comp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG5_setdhd()

int MMG5_setdhd ( MMG5_pMesh  mesh)

check for ridges: dihedral angle

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG5_singul()

int MMG5_singul ( MMG5_pMesh  mesh)

check for singularities

Here is the call graph for this function:
Here is the caller graph for this function:
MMG5_Mesh::nprism
int nprism
Definition: libmmgtypes.h:517
MMG5_buildridmet
int MMG5_buildridmet(MMG5_pMesh mesh, MMG5_pSol met, int np0, double ux, double uy, double uz, double mr[6], double r[3][3])
Definition: mettools.c:127
MMG5_Edge
Structure to store edges of a MMG mesh.
Definition: libmmgtypes.h:243
MMG5_ARG_ppSols
#define MMG5_ARG_ppSols
Definition: libmmgtypes.h:122
MMG5_compute_meanMetricAtMarkedPoints
int(* MMG5_compute_meanMetricAtMarkedPoints)(MMG5_pMesh, MMG5_pSol)
Definition: mmgexterns.c:34
MMG3D_computeOutqua
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
m
! double * m
Definition: libmmgtypesf.h:627
MMG3D_Free_names_var
int MMG3D_Free_names_var(va_list argptr)
Definition: variadic_3d.c:491
MMG5_Par::hmax
double hmax
Definition: libmmgtypes.h:203
MMG5_indPt
int(* MMG5_indPt)(MMG5_pMesh mesh, int kp)
Definition: mmgexterns.c:31
MMG3D_PROctree_s::v
int * v
Definition: mmg3d.h:195
MMG5_Mesh::prism
MMG5_pPrism prism
Definition: libmmgtypes.h:546
MMG5_grad2met_ani
int(* MMG5_grad2met_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:32
MMG5_Mesh::xtmax
int xtmax
Definition: libmmgtypes.h:516
MMG3D_unused_function
static void MMG3D_unused_function(void)
Definition: mmg3d3.c:722
MMG5_Info::npar
int npar
Definition: libmmgtypes.h:447
MMG3D_intmet33_ani
int MMG3D_intmet33_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, char i, int ip, double s)
Definition: intmet_3d.c:101
MG_BDY
#define MG_BDY
Definition: mmgcommon.h:145
MMG5_Mesh::nenil
int nenil
Definition: libmmgtypes.h:527
nsols
! int nsols
Definition: libmmgtypesf.h:573
MMG5_BezierNom
int MMG5_BezierNom(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:525
MMG5_Point::c
double c[3]
Definition: libmmgtypes.h:215
MMG5_arpt
static const unsigned char MMG5_arpt[4][3]
arpt[i]: edges passing through vertex i
Definition: mmg3d.h:159
MMG5_lenSurfEdg
double(* MMG5_lenSurfEdg)(MMG5_pMesh mesh, MMG5_pSol sol, int, int, char)
Definition: mmgexterns.c:29
MMG3D_NEMAX
#define MMG3D_NEMAX
Definition: mmg3d.h:135
MMG5_Mesh::namax
int namax
Definition: libmmgtypes.h:516
MG_EDG
#define MG_EDG(tag)
Definition: mmgcommon.h:162
MMG3D_PROctree::q0
MMG3D_PROctree_s * q0
Definition: mmg3d.h:208
MMG5_SQR32
#define MMG5_SQR32
Definition: mmgcommon.h:101
MMG3D_Alloc_mesh
static int MMG3D_Alloc_mesh(MMG5_pMesh *mesh, MMG5_pSol *sol, MMG5_pSol *disp)
Definition: variadic_3d.c:54
MG_MAX
#define MG_MAX(a, b)
Definition: mmgcommon.h:136
MMG5_orvol
double MMG5_orvol(MMG5_pPoint point, int *v)
Definition: tools.c:836
MMG5_Info::hmin
double hmin
Definition: libmmgtypes.h:445
MMG3D_sizeArbre
int * MMG3D_sizeArbre(MMG3D_pPROctree q, int dim)
Definition: PRoctree_3d.c:1114
MMG5_split2sf
int MMG5_split2sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:1224
MMG5_Free_dlinkedList
void MMG5_Free_dlinkedList(MMG5_pMesh mesh, MMG5_dNode *liLi)
Definition: tools.c:792
MMG5_Tria::v
int v[3]
Definition: libmmgtypes.h:272
MMG5_MILLION
#define MMG5_MILLION
Definition: mmgcommon.h:88
MMG5_split1b
int MMG5_split1b(MMG5_pMesh, MMG5_pSol, int *, int, int, int, char, char)
Definition: split_3d.c:511
MMG5_Tetra
Definition: libmmgtypes.h:339
MG_MINUS
#define MG_MINUS
Definition: mmgcommon.h:79
MMG5_Prism
! typedef struct @8 MMG5_Prism
MMG5_Sol
Definition: libmmgtypes.h:563
MMG5_hashEdge
int MMG5_hashEdge(MMG5_pMesh mesh, MMG5_Hash *hash, int a, int b, int k)
Definition: hash.c:216
MG_SIN
#define MG_SIN(tag)
Definition: mmgcommon.h:163
MMG3D_split3_sim
int MMG3D_split3_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1721
MMG5_Alloc_dnode
static int MMG5_Alloc_dnode(MMG5_pMesh mesh, MMG5_dNode **node)
Definition: tools.c:716
adja
! int * adja
Definition: libmmgtypesf.h:584
MMG5_movbdynompt_iso
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
MMG3D_swap23
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
MMG5_SAFE_MALLOC(tmp, *strlen0+1, char, return)
MMG5_ARG_ppDisp
#define MMG5_ARG_ppDisp
Definition: libmmgtypes.h:112
MMG3D_configSplit4sf
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
MMG5_NULKAL
#define MMG5_NULKAL
Definition: mmgcommon.h:99
PROctree
! int PROctree
Definition: libmmgtypesf.h:500
MMG5_chkcol_int
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
xt
! int xt
Definition: libmmgtypesf.h:390
MMG3D_getPROctreeCoordinate
int64_t MMG3D_getPROctreeCoordinate(MMG3D_pPROctree q, double *ver, int dim)
Definition: PRoctree_3d.c:181
MMG5_Triangle
@ MMG5_Triangle
Definition: libmmgtypes.h:188
MMG3D_LOPTL
#define MMG3D_LOPTL
Definition: mmg3d.h:121
MMG3D_newElt
int MMG3D_newElt(MMG5_pMesh mesh)
Definition: zaldy_3d.c:94
MMG5_coquilface
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
max
! double max[3]
Definition: libmmgtypesf.h:496
MG_REF
#define MG_REF
Definition: mmgcommon.h:141
MMG5_displayLengthHisto_internal
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
MMG3D_movv_ani
int MMG3D_movv_ani(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:1813
MMG5_Info::nomove
unsigned char nomove
Definition: libmmgtypes.h:457
MG_EOK
#define MG_EOK(pt)
Definition: mmgcommon.h:160
MMG3D_memOption
int MMG3D_memOption(MMG5_pMesh mesh)
Definition: zaldy_3d.c:235
MMG5_colver
int MMG5_colver(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, char indq, char typchk)
Definition: colver_3d.c:713
nemax
! int nemax
Definition: libmmgtypesf.h:571
MMG5_swpgen
int MMG5_swpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, MMG3D_pPROctree, char)
Definition: swapgen_3d.c:246
MMG5_caltet
double(* MMG5_caltet)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: mmg3d.c:41
MMG3D_movnormal_iso
int MMG3D_movnormal_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:1924
MG_NOM
#define MG_NOM
Definition: mmgcommon.h:144
MMG5_split3cone
int MMG5_split3cone(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:2185
MMG5_Mesh::xt
int xt
Definition: libmmgtypes.h:525
MMG5_split5
int MMG5_split5(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:4522
MMG3D_printSubArbre
void MMG3D_printSubArbre(MMG3D_PROctree_s *q, int nv, int dim)
Definition: PRoctree_3d.c:1049
MMG5_startedgsurfball
int MMG5_startedgsurfball(MMG5_pMesh mesh, int nump, int numq, int *list, int ilist)
Definition: tools_3d.c:97
MMG5_lenedg_iso
static double MMG5_lenedg_iso(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:230
MMG5_ARG_start
#define MMG5_ARG_start
Definition: libmmgtypes.h:73
MMG5_Info::iso
char iso
Definition: libmmgtypes.h:453
MMG3D_chksplit
static int MMG3D_chksplit(MMG5_pMesh mesh, MMG5_pSol met, int ip, int *list, int ret, double crit)
Definition: split_3d.c:5207
MMG5_lenedgspl
double(* MMG5_lenedgspl)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3d.c:40
MMG5_MEMMIN
#define MMG5_MEMMIN
Definition: mmgcommon.h:112
MMG5_Mesh::xp
int xp
Definition: libmmgtypes.h:525
MMG5_Sol::size
int size
Definition: libmmgtypes.h:569
MMG5_Mesh::xpmax
int xpmax
Definition: libmmgtypes.h:516
MMG3D_inqua
int MMG3D_inqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:587
MMG5_Hash
Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy).
Definition: libmmgtypes.h:499
MMG5_BezierRidge
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
qual
! double qual
Definition: libmmgtypesf.h:314
tmp
! int tmp
Definition: libmmgtypesf.h:259
MMG5_xTetra::tag
int16_t tag[6]
Definition: libmmgtypes.h:363
MMG5_chkedg
char MMG5_chkedg(MMG5_pMesh mesh, MMG5_pTria pt, char ori, double, double, int)
mem
! int mem
Definition: libmmgtypesf.h:497
MMG3D_NTMAX
#define MMG3D_NTMAX
Definition: mmg3d.h:134
MMG3D_displayQualHisto
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
MMG5_split6
int MMG5_split6(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:4829
MMG5_Par::hmin
double hmin
Definition: libmmgtypes.h:202
nt
! int nt
Definition: libmmgtypesf.h:571
MMG5_Mesh::point
MMG5_pPoint point
Definition: libmmgtypes.h:542
info
MMG5_Info info
Definition: libmmgtypesf.h:607
MMG5_grad2metreq_ani
int(* MMG5_grad2metreq_ani)(MMG5_pMesh, MMG5_pSol, MMG5_pTria, int, int)
Definition: mmgexterns.c:33
MMG5_xTetra::ftag
int16_t ftag[4]
Definition: libmmgtypes.h:361
k
! int k
Definition: libmmgtypesf.h:543
item
! MMG5_hedge * item
Definition: libmmgtypesf.h:555
MG_GET
#define MG_GET(flag, bit)
Definition: mmgcommon.h:169
MMG5_Tria::edg
int edg[3]
Definition: libmmgtypes.h:277
MMG5_caltri33_ani
double MMG5_caltri33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt)
Definition: quality.c:47
MMG3D_PROctree_s::nbVer
int nbVer
Definition: mmg3d.h:196
MMG3D_sizeArbreRec
void MMG3D_sizeArbreRec(MMG3D_PROctree_s *q, int nv, int dim, int *s1, int *s2)
Definition: PRoctree_3d.c:1072
MMG3D_optbdry
int MMG3D_optbdry(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k)
Definition: optbdry_3d.c:239
MMG3D_typelt
static int MMG3D_typelt(MMG5_pMesh mesh, int iel, int *item)
Definition: opttyp_3d.c:64
MMG5_scaleMesh
int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:89
MMG3D_delPt
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:75
MMG5_Tria::tag
int16_t tag[3]
Definition: libmmgtypes.h:280
MMG5_split3op
int MMG5_split3op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:2851
MMG5_surftri33_ani
double MMG5_surftri33_ani(MMG5_pMesh mesh, MMG5_pTria ptt, double ma[6], double mb[6], double mc[6])
Definition: anisosiz.c:169
MMG5_Info::opnbdy
int opnbdy
Definition: libmmgtypes.h:448
MMG5_Info::noinsert
unsigned char noinsert
Definition: libmmgtypes.h:457
MMG3D_bezierInt
int MMG3D_bezierInt(MMG5_pBezier pb, double uv[2], double o[3], double no[3], double to[3])
Definition: bezier_3d.c:551
MMG5_BezierReg
int MMG5_BezierReg(MMG5_pMesh mesh, int ip0, int ip1, double s, double v[3], double *o, double *no)
Definition: tools_3d.c:684
MMG5_Mesh::memMax
size_t memMax
Definition: libmmgtypes.h:510
MMG3D_split4op_sim
int MMG3D_split4op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3990
MMG5_Info::max
double max[3]
Definition: libmmgtypes.h:446
MMG5_boundingBox
int MMG5_boundingBox(MMG5_pMesh mesh)
Definition: scalem.c:45
MMG5_caltri_iso
double MMG5_caltri_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:198
MMG5_Mesh::base
int base
Definition: libmmgtypes.h:521
n1
! double n1[3]
Definition: libmmgtypesf.h:275
MMG3D_delElt
int MMG3D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_3d.c:117
MMG3D_ALPHAD
#define MMG3D_ALPHAD
Definition: mmg3d.h:118
MMG5_sys33sym
int MMG5_sys33sym(double a[6], double b[3], double r[3])
Definition: tools.c:463
MMG5_idir
static const unsigned char MMG5_idir[4][3]
idir[i]: vertices of face opposite to vertex i
Definition: mmg3d.h:145
MMG3D_newElt
int MMG3D_newElt(MMG5_pMesh mesh)
Definition: zaldy_3d.c:94
MMG3D_split3op_sim
int MMG3D_split3op_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2719
MMG5_movintptLES_iso
int MMG5_movintptLES_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *list, int ilist, int improve)
Definition: movpt_3d.c:193
nxt
! int nxt
Definition: libmmgtypesf.h:521
MMG5_pBezier
MMG5_Bezier * MMG5_pBezier
Definition: mmgcommon.h:486
MG_VOK
#define MG_VOK(ppt)
Definition: mmgcommon.h:159
MMG5_det4pt
double MMG5_det4pt(double c0[3], double c1[3], double c2[3], double c3[3])
Definition: tools.c:817
MMG5_Mesh::np
int np
Definition: libmmgtypes.h:516
inlined_functions_3d.h
inlined Functions
MMG3D_movePROctree
int MMG3D_movePROctree(MMG5_pMesh, MMG3D_pPROctree, int, double *, double *)
Definition: PRoctree_3d.c:223
imprim
! char imprim
Definition: libmmgtypesf.h:503
MMG5_MEMMAX
#define MMG5_MEMMAX
Definition: mmgcommon.h:73
MMG3D_localParamNm
int MMG3D_localParamNm(MMG5_pMesh mesh, int iel, int iface, int ia, double *hausd_ip, double *hmin_ip, double *hmax_ip)
Definition: tools_3d.c:1052
MMG5_Point::ref
int ref
Definition: libmmgtypes.h:217
MMG5_movbdyrefpt_iso
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
MMG3D_PROctree::nc
int nc
Definition: mmg3d.h:207
MMG5_Par::ref
int ref
Definition: libmmgtypes.h:205
MMG3D_movv_iso
int MMG3D_movv_iso(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:2031
MMG5_Info::optim
unsigned char optim
Definition: libmmgtypes.h:457
MMG5_Mesh::xtetra
MMG5_pxTetra xtetra
Definition: libmmgtypes.h:545
MMG5_devangle
int MMG5_devangle(double *n1, double *n2, double crit)
Definition: tools.c:49
MMG5_MEMPERCENT
#define MMG5_MEMPERCENT
Definition: mmgcommon.h:75
MMG5_Point::tagdel
char tagdel
Definition: libmmgtypes.h:225
MMG3D_PROctree::nv
int nv
Definition: mmg3d.h:206
MMG3D_computePrilen
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
MMG5_split4op
int MMG5_split4op(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:4111
MMG5_Tetrahedron
@ MMG5_Tetrahedron
Definition: libmmgtypes.h:189
MMG3D_Set_inputSolName
int MMG3D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
Definition: API_functions_3d.c:67
MMG3D_computeLESqua
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
MMG5_orcal
static double MMG5_orcal(MMG5_pMesh mesh, MMG5_pSol met, int iel)
Definition: inlined_functions_3d.h:262
MMG5_EPSOK
#define MMG5_EPSOK
Definition: mmgcommon.h:98
MMG5_Mesh::ne
int ne
Definition: libmmgtypes.h:516
MMG5_dNode
Cell for linked list of double value.
MMG3D_delPROctreeVertex
int MMG3D_delPROctreeVertex(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int indNo)
Definition: PRoctree_3d.c:795
MMG3D_findEdge
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
MMG5_Mesh::adja
int * adja
Definition: libmmgtypes.h:529
hmin
! double hmin
Definition: libmmgtypesf.h:241
MMG5_swpbdy
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
MMG5_iprv2
static const unsigned char MMG5_iprv2[3]
Definition: mmgcommon.h:471
MMG5_BezierNom
int MMG5_BezierNom(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:525
MMG5_Info::hausd
double hausd
Definition: libmmgtypes.h:445
MMG5_Mesh::tria
MMG5_pTria tria
Definition: libmmgtypes.h:548
MMG3D_optbdry
int MMG3D_optbdry(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int)
Definition: optbdry_3d.c:239
MMG5_BezierGeod
double MMG5_BezierGeod(double c1[3], double c2[3], double t1[3], double t2[3])
Definition: bezier_3d.c:111
MMG3D_initPROctree_s
void MMG3D_initPROctree_s(MMG3D_PROctree_s *q)
Definition: PRoctree_3d.c:46
MMG5_Tetra::qual
double qual
Definition: libmmgtypes.h:340
argptr
const int va_list argptr
Definition: API_functionsf_3d.c:837
MG_REQ
#define MG_REQ
Definition: mmgcommon.h:143
MMG5_mn
void MMG5_mn(double m[6], double n[6], double mn[9])
Definition: tools.c:170
base
! int base
Definition: libmmgtypesf.h:288
MMG3D_PROctreein_iso
int MMG3D_PROctreein_iso(MMG5_pMesh mesh, MMG5_pSol sol, MMG3D_pPROctree PROctree, int ip, double lmax)
Definition: PRoctree_3d.c:1137
MMG3D_intersectRect
int MMG3D_intersectRect(double *rectin, double *rectinout)
Definition: PRoctree_3d.c:383
MMG5_mmgFree_names
void MMG5_mmgFree_names(MMG5_pMesh mesh, MMG5_pSol met)
Definition: API_functions.c:434
MMG3D_isCellIncluded
int MMG3D_isCellIncluded(double *cellCenter, double l, double *zoneCenter, double l0)
Definition: PRoctree_3d.c:263
MMG5_printTetra
void MMG5_printTetra(MMG5_pMesh mesh, char *fileName)
Definition: tools_3d.c:882
MMG5_Mesh::mark
int mark
Definition: libmmgtypes.h:523
mesh
MMG5_pMesh * mesh
Definition: API_functionsf_3d.c:65
MMG5_ADD_MEM
#define MMG5_ADD_MEM(mesh, size, message, law)
Definition: mmgcommon.h:275
MMG3D_LOPTS
#define MMG3D_LOPTS
Definition: mmg3d.h:122
MMG5_Mesh::quadra
MMG5_pQuad quadra
Definition: libmmgtypes.h:549
MMG5_iarfinv
static const unsigned char MMG5_iarfinv[4][6]
num of the j^th edge in the i^th face
Definition: mmg3d.h:151
MG_GEO
#define MG_GEO
Definition: mmgcommon.h:142
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:356
MMG5_split3
int MMG5_split3(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:1792
MMG5_minQualCheck
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:343
MMG5_Tetra::flag
int flag
Definition: libmmgtypes.h:347
MMG3D_PROctree_s::depth
int depth
Definition: mmg3d.h:197
v
! int v[3]
Definition: libmmgtypesf.h:315
MMG3D_split6_sim
int MMG3D_split6_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4760
MMG3D_simbulgept
int MMG3D_simbulgept(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ret, int ip)
Definition: split_3d.c:321
MMG3D_split4sf_sim
int MMG3D_split4sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:3650
MMG3D_newPt
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag)
Definition: zaldy_3d.c:39
MMG3D_memOption_memSet
int MMG3D_memOption_memSet(MMG5_pMesh mesh)
Definition: zaldy_3d.c:153
MMG5_caltri_ani
double MMG5_caltri_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: quality.c:115
MMG3D_PROctree
Definition: mmg3d.h:204
MMG3D_swpItem
int MMG3D_swpItem(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:326
MMG3D_split2sf_sim
int MMG3D_split2sf_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1114
ddb
char ddb
Definition: mmg3d1_delone.c:41
MMG5_Tria::ref
int ref
Definition: libmmgtypes.h:273
ddebug
! char ddebug
Definition: libmmgtypesf.h:503
MMG5_movbdyregpt_iso
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
ddb
char ddb
Definition: mmg3d1_delone.c:41
MMG3D_PROctreein_ani
int MMG3D_PROctreein_ani(MMG5_pMesh mesh, MMG5_pSol sol, MMG3D_pPROctree PROctree, int ip, double lmax)
Definition: PRoctree_3d.c:1217
MMG5_Point
Structure to store points of a MMG mesh.
Definition: libmmgtypes.h:214
MMG3D_Free_all_var
int MMG3D_Free_all_var(va_list argptr)
Definition: variadic_3d.c:242
MMG5_lenedg
double(* MMG5_lenedg)(MMG5_pMesh, MMG5_pSol, int, MMG5_pTetra)
Definition: mmg3d.c:39
MMG5_nortri
int MMG5_nortri(MMG5_pMesh mesh, MMG5_pTria pt, double *n)
Definition: tools.c:155
MMG3D_delElt
int MMG3D_delElt(MMG5_pMesh mesh, int iel)
Definition: zaldy_3d.c:117
MMG3D_Init_woalloc_mesh
static void MMG3D_Init_woalloc_mesh(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol disp)
Definition: variadic_3d.c:91
MMG5_Prism::xpr
int xpr
Definition: libmmgtypes.h:405
MMG3D_split1_sim
int MMG3D_split1_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:50
MMG3D_getListSquare
int MMG3D_getListSquare(MMG5_pMesh mesh, double *ani, MMG3D_pPROctree q, double *rect, MMG3D_PROctree_s ***qlist)
Definition: PRoctree_3d.c:570
MMG3D_indPt
int MMG3D_indPt(MMG5_pMesh mesh, int kp)
Definition: tools_3d.c:866
MMG5_BezierEdge
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
MMG5_hashNew
int MMG5_hashNew(MMG5_pMesh mesh, MMG5_Hash *hash, int hsiz, int hmax)
Definition: hash.c:333
s
! int s
Definition: libmmgtypesf.h:262
MMG5_Sol::m
double * m
Definition: libmmgtypes.h:571
MMG5_intmet
int(* MMG5_intmet)(MMG5_pMesh, MMG5_pSol, int, char, int, double)
Definition: mmg3d.c:46
MMG5_ARG_end
#define MMG5_ARG_end
Definition: libmmgtypes.h:159
MG_NOTAG
#define MG_NOTAG
Definition: mmgcommon.h:140
MMG5_idirinv
static const char MMG5_idirinv[4][4]
Definition: mmg3d.h:147
MMG3D_tetraQual
int MMG3D_tetraQual(MMG5_pMesh mesh, MMG5_pSol met, char metRidTyp)
Definition: quality_3d.c:48
MMG5_Info::delta
double delta
Definition: libmmgtypes.h:446
MMG3D_split2_sim
int MMG3D_split2_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:1456
MMG5_rotmatrix
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:232
MMG5_memOption_memSet
void MMG5_memOption_memSet(MMG5_pMesh mesh)
Definition: tools.c:585
npmax
! int npmax
Definition: libmmgtypesf.h:571
MMG2D_quickarea
double MMG2D_quickarea(double a[2], double b[2], double c[2])
Definition: tools.c:856
MMG5_Par::elt
char elt
Definition: libmmgtypes.h:206
ddb
char ddb
Definition: mmg3d1_delone.c:41
MMG3D_computeInqua
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
MMG5_rotmatrix
int MMG5_rotmatrix(double n[3], double r[3][3])
Definition: tools.c:232
ver
! int ver
Definition: libmmgtypesf.h:568
MMG5_Info::noswap
unsigned char noswap
Definition: libmmgtypes.h:457
MMG5_tet2tri
void MMG5_tet2tri(MMG5_pMesh mesh, int k, char ie, MMG5_Tria *ptt)
Definition: mmg3d1.c:52
MMG3D_normalAdjaTri
int MMG3D_normalAdjaTri(MMG5_pMesh, int, char, int, double n[3])
Definition: split_3d.c:462
MMG3D_NPMAX
#define MMG3D_NPMAX
Definition: mmg3d.h:132
MMG3D_freePROctree_s
void MMG3D_freePROctree_s(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int nv)
Definition: PRoctree_3d.c:111
MMG5_Info::ls
double ls
Definition: libmmgtypes.h:446
MMG3D_freePROctree
void MMG3D_freePROctree(MMG5_pMesh mesh, MMG3D_pPROctree *q)
Definition: PRoctree_3d.c:162
MMG5_devangle
int MMG5_devangle(double *n1, double *n2, double crit)
Definition: tools.c:49
MG_MIN
#define MG_MIN(a, b)
Definition: mmgcommon.h:137
MMG5_INCREASE_MEM_MESSAGE
#define MMG5_INCREASE_MEM_MESSAGE()
Definition: mmgcommon.h:374
MMG3D_splitItem
int MMG3D_splitItem(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar, double OCRIT)
Definition: opttyp_3d.c:390
dim
! int dim
Definition: libmmgtypesf.h:569
MMG3D_Free_structures_var
int MMG3D_Free_structures_var(va_list argptr)
Definition: variadic_3d.c:353
MMG5_Mesh::na
int na
Definition: libmmgtypes.h:516
MMG5_pTria
MMG5_Tria * MMG5_pTria
Definition: libmmgtypes.h:283
MMG3D_memOption_memRepartition
int MMG3D_memOption_memRepartition(MMG5_pMesh mesh)
Definition: zaldy_3d.c:168
MMG5_Info::imprim
char imprim
Definition: libmmgtypes.h:453
ne
! int ne
Definition: libmmgtypesf.h:571
MMG3D_zaldy
int MMG3D_zaldy(MMG5_pMesh mesh)
Definition: zaldy_3d.c:316
MMG3D_getListSquareRec
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
MMG3D_configSplit5
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
MMG5_EPS
#define MMG5_EPS
Definition: eigenv.h:32
MMG5_countelt
int MMG5_countelt(MMG5_pMesh mesh, MMG5_pSol sol, double *weightelt, long *npcible)
Definition: quality_3d.c:754
MMG5_Point::tag
int16_t tag
Definition: libmmgtypes.h:223
hausd
! double hausd
Definition: libmmgtypesf.h:243
MMG5_xPoint::n1
double n1[3]
Definition: libmmgtypes.h:234
MMG5_Tria
Definition: libmmgtypes.h:270
MMG3D_addPROctree
int MMG3D_addPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:770
MMG3D_chk4ridVertices
int MMG3D_chk4ridVertices(MMG5_pMesh mesh, MMG5_pTetra pt)
Definition: anisosiz_3d.c:38
MMG5_displayLengthHisto
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
MMG3D_setMeshSize_alloc
int MMG3D_setMeshSize_alloc(MMG5_pMesh mesh)
Definition: zaldy_3d.c:254
MMG5_Bezier
Definition: mmgcommon.h:480
MMG5_iNode
Cell for linked list of integer value.
MG_Tria
#define MG_Tria
Definition: mmgcommon.h:156
MMG5_BezierRidge
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
MMG5_invmat33
int MMG5_invmat33(double m[3][3], double mi[3][3])
Definition: tools.c:369
MMG5_split4sf
int MMG5_split4sf(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:3753
MMG5_orvol
double MMG5_orvol(MMG5_pPoint point, int *v)
Definition: tools.c:836
MMG3D_indElt
int MMG3D_indElt(MMG5_pMesh mesh, int kel)
Definition: tools_3d.c:850
MMG5_lenedg33_ani
static double MMG5_lenedg33_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:94
MMG5_Mesh::nquad
int nquad
Definition: libmmgtypes.h:517
MMG5_hashPop
int MMG5_hashPop(MMG5_Hash *hash, int a, int b)
Definition: hash_3d.c:778
MG_NUL
#define MG_NUL
Definition: mmgcommon.h:152
MMG5_Info::mem
int mem
Definition: libmmgtypes.h:447
MMG5_interp4bar33_ani
int MMG5_interp4bar33_ani(MMG5_pMesh mesh, MMG5_pSol met, int k, int ip, double cb[4])
Definition: intmet_3d.c:450
MMG5_memSize
size_t MMG5_memSize(void)
Definition: tools.c:546
MMG5_displayLengthHisto
void MMG5_displayLengthHisto(MMG5_pMesh, int, double *, int, int, double, int, int, double, int, double *, int *, char)
Definition: quality.c:251
b
! int b
Definition: libmmgtypesf.h:286
MMG5_split1b
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
MMG5_movbdyridpt_iso
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
ori
! char ori
Definition: libmmgtypesf.h:411
MMG5_caltet33_ani
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:90
MMG5_minQualCheck
int MMG5_minQualCheck(int iel, double minqual, double alpha)
Definition: quality.c:343
MMG5_Mesh::xprism
MMG5_pxPrism xprism
Definition: libmmgtypes.h:547
c
! double c[3]
Definition: libmmgtypesf.h:255
MMG5_permedge
static const unsigned char MMG5_permedge[12][6]
Definition: mmg3d.h:182
tag
! int16_t tag
Definition: libmmgtypesf.h:263
MMG5_split4bar
int MMG5_split4bar(MMG5_pMesh mesh, MMG5_pSol met, int k, char metRidTyp)
Definition: split_3d.c:3301
MMG3D_opttyp
int MMG3D_opttyp(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int testmark)
Definition: opttyp_3d.c:467
MMG5_Mesh::xpoint
MMG5_pxPoint xpoint
Definition: libmmgtypes.h:543
np
! int np
Definition: libmmgtypesf.h:571
MMG5_det3pt1vec
double MMG5_det3pt1vec(double c0[3], double c1[3], double c2[3], double v[3])
Definition: tools.c:805
MMG5_ATHIRD
#define MMG5_ATHIRD
Definition: mmgcommon.h:93
MMG5_splitedg
int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met, int iel, int iar, double crit)
Definition: split_3d.c:5259
MMG5_Mesh::npnil
int npnil
Definition: libmmgtypes.h:526
MMG5_memOption_memSet
void MMG5_memOption_memSet(MMG5_pMesh mesh)
Definition: tools.c:585
MMG5_pSol
MMG5_Sol * MMG5_pSol
Definition: libmmgtypes.h:576
MMG5_Info::fem
char fem
Definition: libmmgtypes.h:453
MMG3D_movv_ani
int MMG3D_movv_ani(MMG5_pMesh, MMG5_pSol, int, int)
Definition: movpt_3d.c:1813
MMG5_Point::xp
int xp
Definition: libmmgtypes.h:218
MMG3D_Set_outputSolName
int MMG3D_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
Definition: API_functions_3d.c:76
MMG5_Mesh::tetra
MMG5_pTetra tetra
Definition: libmmgtypes.h:544
n2
! double n2[3]
Definition: libmmgtypesf.h:275
MMG5_xTetra
Structure to store the surface tetrahedra of a MMG mesh.
Definition: libmmgtypes.h:356
MMG5_ifar
static const unsigned char MMG5_ifar[6][2]
ifar[i][]: faces sharing the ith edge of the tetra
Definition: mmg3d.h:155
MMG5_EPSD2
#define MMG5_EPSD2
Definition: mmgcommon.h:96
MMG3D_Free_names
int MMG3D_Free_names(const int starter,...)
Definition: API_functions_3d.c:2309
MMG5_velextLS
int MMG5_velextLS(MMG5_pMesh, MMG5_pSol)
MMG5_hedge
! typedef struct @14 MMG5_hedge
MMG3D_mergeBranchesRec
void MMG3D_mergeBranchesRec(MMG3D_PROctree_s *q0, MMG3D_PROctree_s *q, int dim, int nv, int *index)
Definition: PRoctree_3d.c:830
MMG5_directsurfball
int MMG5_directsurfball(MMG5_pMesh mesh, int ip, int *list, int ilist, double n[3])
Definition: tools_3d.c:73
MMG5_ARG_ppMesh
#define MMG5_ARG_ppMesh
Definition: libmmgtypes.h:82
MMG3D_split3cone_sim
int MMG3D_split3cone_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:2004
MMG3D_localParamReg
int MMG3D_localParamReg(MMG5_pMesh mesh, int ip, int *listv, int ilistv, int *lists, int ilists, double *hausd_ip, double *hmin_ip, double *hmax_ip)
Definition: tools_3d.c:932
mmgcommon.h
MMG5_SAFE_REALLOC
#define MMG5_SAFE_REALLOC(ptr, prevSize, newSize, type, message, law)
Definition: mmgcommon.h:310
MMG5_movintpt_iso
int MMG5_movintpt_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int *list, int ilist, int improve)
Definition: movpt_3d.c:55
ref
! int ref
Definition: libmmgtypesf.h:244
MMG5_xTetra::ori
char ori
Definition: libmmgtypes.h:365
MMG5_Info::dhd
double dhd
Definition: libmmgtypes.h:445
MG_SMSGN
#define MG_SMSGN(a, b)
Definition: mmgcommon.h:67
na
! int na
Definition: libmmgtypesf.h:571
MMG5_freeXTets
void MMG5_freeXTets(MMG5_pMesh mesh)
Definition: zaldy_3d.c:329
MMG5_pMesh
MMG5_Mesh * MMG5_pMesh
Definition: libmmgtypes.h:557
MMG3D_PROctree_s
Definition: mmg3d.h:192
par
! MMG5_pPar par
Definition: libmmgtypesf.h:494
hmax
! double hmax
Definition: libmmgtypesf.h:242
MMG5_split1
int MMG5_split1(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:116
MMG3D_Free_structures
int MMG3D_Free_structures(const int starter,...)
Definition: API_functions_3d.c:2295
MMG5_Quad
Definition: libmmgtypes.h:304
MMG5_BezierTgt
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
MMG3D_movnormal_iso
int MMG3D_movnormal_iso(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:1924
MMG5_Mesh::nt
int nt
Definition: libmmgtypes.h:516
MG_Tetra
#define MG_Tetra
Definition: mmgcommon.h:157
MMG5_Hash::item
MMG5_hedge * item
Definition: libmmgtypes.h:501
MMG5_lenedgspl33_ani
static double MMG5_lenedgspl33_ani(MMG5_pMesh mesh, MMG5_pSol met, int ia, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:125
MG_OPNBDY
#define MG_OPNBDY
Definition: mmgcommon.h:148
MG_SET
#define MG_SET(flag, bit)
Definition: mmgcommon.h:167
MMG3D_outqua
int MMG3D_outqua(MMG5_pMesh mesh, MMG5_pSol met)
Definition: quality_3d.c:712
MMG5_chkswpbdy
int MMG5_chkswpbdy(MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist, int it1, int it2, char typchk)
Definition: swap_3d.c:55
MMG5_Par::hausd
double hausd
Definition: libmmgtypes.h:204
MMG5_Mesh
MMG mesh structure.
Definition: libmmgtypes.h:509
MMG3D_normalAdjaTri
int MMG3D_normalAdjaTri(MMG5_pMesh mesh, int start, char iface, int ia, double n[3])
Definition: split_3d.c:462
MMG5_Info::par
MMG5_pPar par
Definition: libmmgtypes.h:444
MMG3D_movePROctree
int MMG3D_movePROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, int no, double *newVer, double *oldVer)
Definition: PRoctree_3d.c:223
MMG5_xPoint::n2
double n2[3]
Definition: libmmgtypes.h:234
MMG5_nonorsurf
double MMG5_nonorsurf(MMG5_pMesh mesh, MMG5_pTria pt)
Definition: tools.c:106
MMG5_xPoint
Structure to store surface points of a MMG mesh.
Definition: libmmgtypes.h:233
MMG3D_PROctree_s
struct MMG3D_PROctree_s MMG3D_PROctree_s
MMG5_interp4bar
int(* MMG5_interp4bar)(MMG5_pMesh, MMG5_pSol, int, int, double *)
Definition: mmg3d.c:47
MMG5_Mesh::ver
int ver
Definition: libmmgtypes.h:513
MMG5_dNode_s::val
double val
Definition: mmgcommon.h:503
MMG5_chkswpbdy
int MMG5_chkswpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, int, char)
Definition: swap_3d.c:55
MMG5_caltet33_ani
double MMG5_caltet33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: quality_3d.c:90
MMG3D_movetetrapoints
int MMG3D_movetetrapoints(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k)
Definition: optbdry_3d.c:45
MMG5_Info::badkal
char badkal
Definition: libmmgtypes.h:453
MMG5_iarf
static const unsigned char MMG5_iarf[4][3]
iarf[i]: edges of face opposite to vertex i
Definition: mmg3d.h:149
MMG5_ARG_ppMet
#define MMG5_ARG_ppMet
Definition: libmmgtypes.h:102
MMG5_chkmsh
int(* MMG5_chkmsh)(MMG5_pMesh, int, int)
Definition: mmgexterns.c:27
MMG3D_Set_commonFunc
static void MMG3D_Set_commonFunc()
Definition: mmg3d.h:549
MMG5_invmatg
int MMG5_invmatg(double m[9], double mi[9])
Definition: tools.c:329
MMG5_Info::hmax
double hmax
Definition: libmmgtypes.h:445
MMG5_nsort
void MMG5_nsort(int n, double *val, char *perm)
Definition: tools_3d.c:41
MMG5_Par
Definition: libmmgtypes.h:201
MMG3D_movv_iso
int MMG3D_movv_iso(MMG5_pMesh mesh, MMG5_pSol sol, int k, int ib)
Definition: movpt_3d.c:2031
MMG5_Mesh::namein
char * namein
Definition: libmmgtypes.h:553
MMG5_isar
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_Mesh::info
MMG5_Info info
Definition: libmmgtypes.h:552
MMG5_Add_inode
int MMG5_Add_inode(MMG5_pMesh mesh, MMG5_iNode **liLi, int val)
Definition: tools.c:642
MMG5_BezierRef
int MMG5_BezierRef(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:352
MMG3D_printArbre
void MMG3D_printArbre(MMG3D_pPROctree q)
Definition: PRoctree_3d.c:1024
MMG5_Point::flag
int flag
Definition: libmmgtypes.h:221
min
! double min[3]
Definition: libmmgtypesf.h:496
MMG3D_configSplit3op
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
MMG5_Mesh::npmax
int npmax
Definition: libmmgtypes.h:516
MMG5_Info::parTyp
char parTyp
Definition: libmmgtypes.h:454
MMG5_Add_dnode
int MMG5_Add_dnode(MMG5_pMesh mesh, MMG5_dNode **liLi, int k, double val)
Definition: tools.c:740
MMG5_chkswpgen
int MMG5_chkswpgen(MMG5_pMesh, MMG5_pSol, int, int, int *, int *, double, char)
Definition: swapgen_3d.c:55
MMG5_iare
static const unsigned char MMG5_iare[6][2]
vertices of extremities of the edges of the tetra
Definition: mmg3d.h:153
MMG5_Point
! typedef struct @1 MMG5_Point
MMG5_memSize
size_t MMG5_memSize(void)
Definition: tools.c:546
MMG5_Tetra::ref
int ref
Definition: libmmgtypes.h:342
MMG5_det4pt
double MMG5_det4pt(double c0[3], double c1[3], double c2[3], double c3[3])
Definition: tools.c:817
n
! double n[3]
Definition: libmmgtypesf.h:256
MMG3D_optlap
int MMG3D_optlap(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: optlap_3d.c:42
MMG5_Tetra::tag
int16_t tag
Definition: libmmgtypes.h:348
MMG5_Mesh::nameout
char * nameout
Definition: libmmgtypes.h:554
MMG5_Set_defaultTruncatureSizes
int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh, char sethmin, char sethmax)
Definition: API_functions.c:458
MMG3D_placeInListPROctree
void MMG3D_placeInListPROctree(MMG3D_PROctree_s **qlist, MMG3D_PROctree_s *q, int index, int size)
Definition: PRoctree_3d.c:314
MMG5_ARG_ppLs
#define MMG5_ARG_ppLs
Definition: libmmgtypes.h:92
MMG5_invmat
int MMG5_invmat(double *m, double *mi)
Definition: tools.c:278
MMG5_rmtr
int MMG5_rmtr(double r[3][3], double m[6], double mr[6])
Definition: tools.c:198
mmg3d.h
MMG5_swpbdy
int MMG5_swpbdy(MMG5_pMesh, MMG5_pSol, int *, int, int, MMG3D_pPROctree, char)
Definition: swap_3d.c:434
MMG3D_delPROctreeRec
int MMG3D_delPROctreeRec(MMG5_pMesh mesh, MMG3D_PROctree_s *q, double *ver, const int no, const int nv)
Definition: PRoctree_3d.c:891
MMG5_xTetra::edg
int edg[6]
Definition: libmmgtypes.h:359
MMG3D_deletePoint
int MMG3D_deletePoint(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int i)
Definition: optbdry_3d.c:210
MMG5_inxt2
static const unsigned char MMG5_inxt2[6]
Definition: mmgcommon.h:470
MMG5_SAFE_CALLOC
#define MMG5_SAFE_CALLOC(ptr, size, type, law)
Definition: mmgcommon.h:289
MMG5_norpts
int MMG5_norpts(MMG5_pMesh, int, int, int, double *)
Definition: tools.c:129
MMG5_boulevolp
int MMG5_boulevolp(MMG5_pMesh mesh, int start, int ip, int *list)
Definition: boulep_3d.c:53
MMG5_caltri33_ani
double MMG5_caltri33_ani(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt)
Definition: quality.c:47
MMG5_norface
int MMG5_norface(MMG5_pMesh mesh, int k, int iface, double n[3])
Definition: tools_3d.c:59
MMG5_bezierCP
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, char)
Definition: mmgexterns.c:28
MMG5_det3pt1vec
double MMG5_det3pt1vec(double c0[3], double c1[3], double c2[3], double v[3])
Definition: tools.c:805
MMG5_TAB_RECALLOC
#define MMG5_TAB_RECALLOC(mesh, ptr, initSize, wantedGap, type, message, law)
Definition: mmgcommon.h:348
MMG5_DEL_MEM
#define MMG5_DEL_MEM(mesh, ptr)
Definition: mmgcommon.h:266
MMG5_Mesh::edge
MMG5_pEdge edge
Definition: libmmgtypes.h:550
MMG3D_coledges
int MMG3D_coledges(MMG5_pMesh mesh, MMG5_pSol met, int k, int i)
Definition: optbdry_3d.c:157
ier
int ier
Definition: API_functionsf_3d.c:839
MMG5_Info::ddebug
char ddebug
Definition: libmmgtypes.h:453
MMG3D_addPROctreeRec
int MMG3D_addPROctreeRec(MMG5_pMesh mesh, MMG3D_PROctree_s *q, double *ver, const int no, int nv)
Definition: PRoctree_3d.c:645
size
! int size
Definition: libmmgtypesf.h:625
MMG5_caltet_iso
static double MMG5_caltet_iso(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt)
Definition: inlined_functions_3d.h:387
MMG3D_BADKAL
#define MMG3D_BADKAL
Definition: mmg3d.h:128
optimLES
! unsigned char optimLES
Definition: libmmgtypesf.h:507
MMG5_ANGEDG
#define MMG5_ANGEDG
Definition: mmgcommon.h:91
MMG5_Info::lag
char lag
Definition: libmmgtypes.h:453
MMG3D_printArbreDepth
void MMG3D_printArbreDepth(MMG3D_PROctree_s *q, int depth, int nv, int dim)
Definition: PRoctree_3d.c:1000
MMG5_Info::min
double min[3]
Definition: libmmgtypes.h:446
MMG5_Mesh::gap
double gap
Definition: libmmgtypes.h:512
MMG3D_swpalmostall
static int MMG3D_swpalmostall(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:363
MMG5_Prism
Definition: libmmgtypes.h:400
MMG5_Free_ilinkedList
void MMG5_Free_ilinkedList(MMG5_pMesh mesh, MMG5_iNode *liLi)
Definition: tools.c:694
MMG5_bezierCP
int(* MMG5_bezierCP)(MMG5_pMesh, MMG5_Tria *, MMG5_pBezier, char)
Definition: mmgexterns.c:28
MMG5_Tetra::mark
int mark
Definition: libmmgtypes.h:344
MMG3D_PROctree_s::branches
struct MMG3D_PROctree_s * branches
Definition: mmg3d.h:194
MMG5_DISPREF
#define MMG5_DISPREF
Definition: mmgcommon.h:85
MMG5_xTetra::ref
int ref[4]
Definition: libmmgtypes.h:357
MMG5_unscaleMesh
int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met)
Definition: scalem.c:260
ftag
! int16_t ftag[4]
Definition: libmmgtypesf.h:407
MMG5_Alloc_inode
static int MMG5_Alloc_inode(MMG5_pMesh mesh, MMG5_iNode **node)
Definition: tools.c:620
MMG3D_swpItem
int MMG3D_swpItem(MMG5_pMesh, MMG5_pSol, MMG3D_pPROctree, int, int)
Definition: opttyp_3d.c:326
point
! MMG5_pPoint point
Definition: libmmgtypesf.h:597
MMG3D_seekIndex
int MMG3D_seekIndex(double *distList, double dist, int indexMin, int indexMax)
Definition: PRoctree_3d.c:335
MMG5_Tetra
! typedef struct @6 MMG5_Tetra
MMG3D_mergeBranches
void MMG3D_mergeBranches(MMG5_pMesh mesh, MMG3D_PROctree_s *q, int dim, int nv)
Definition: PRoctree_3d.c:859
MMG5_Mesh::adjt
int * adjt
Definition: libmmgtypes.h:533
MMG5_Free_structures
void MMG5_Free_structures(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions.c:401
MMG5_coquil
int MMG5_coquil(MMG5_pMesh mesh, int start, int ia, int *list)
Definition: boulep_3d.c:1053
mark
! int mark
Definition: libmmgtypesf.h:389
MMG5_Info::optimLES
unsigned char optimLES
Definition: libmmgtypes.h:457
MMG3D_delPt
void MMG3D_delPt(MMG5_pMesh mesh, int ip)
Definition: zaldy_3d.c:75
MMG5_indElt
int(* MMG5_indElt)(MMG5_pMesh mesh, int kel)
Definition: mmgexterns.c:30
MMG5_caltri
double(* MMG5_caltri)(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt)
Definition: mmg3d.c:42
MMG3D_normalDeviation
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
MMG5_Info::hsiz
double hsiz
Definition: libmmgtypes.h:445
MMG3D_Init_parameters
void MMG3D_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions_3d.c:80
MMG5_splitedg
int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met, int iel, int iar, double crit)
Definition: split_3d.c:5259
if
if(!ier) exit(EXIT_FAILURE)
MMG5_Mesh::ntmax
int ntmax
Definition: libmmgtypes.h:516
MMG5_Point::tmp
int tmp
Definition: libmmgtypes.h:219
MMG5_norpts
int MMG5_norpts(MMG5_pMesh mesh, int ip1, int ip2, int ip3, double *n)
Definition: tools.c:129
MMG5_chkswpgen
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
MMG5_norface
int MMG5_norface(MMG5_pMesh mesh, int k, int iface, double v[3])
Definition: tools_3d.c:59
MMG3D_TETRA_REALLOC
#define MMG3D_TETRA_REALLOC(mesh, jel, wantedGap, law)
Definition: mmg3d.h:92
MMG3D_newPt
int MMG3D_newPt(MMG5_pMesh mesh, double c[3], int16_t tag)
Definition: zaldy_3d.c:39
cc
! int cc
Definition: libmmgtypesf.h:318
MMG3D_split5_sim
int MMG3D_split5_sim(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6])
Definition: split_3d.c:4431
MMG3D_Init_mesh_var
int MMG3D_Init_mesh_var(va_list argptr)
Definition: variadic_3d.c:148
MMG5_Mesh::nemax
int nemax
Definition: libmmgtypes.h:516
MMG5_nortri
int MMG5_nortri(MMG5_pMesh mesh, MMG5_pTria pt, double *n)
Definition: tools.c:155
MMG3D_initPROctree
int MMG3D_initPROctree(MMG5_pMesh mesh, MMG3D_pPROctree *q, int nv)
Definition: PRoctree_3d.c:63
MMG5_EPSD
#define MMG5_EPSD
Definition: eigenv.h:31
MMG5_Mesh::dim
int dim
Definition: libmmgtypes.h:514
MMG5_Tetra::xt
int xt
Definition: libmmgtypes.h:345
MMG3D_prilen
int MMG3D_prilen(MMG5_pMesh mesh, MMG5_pSol met, char metRidTyp)
Definition: quality_3d.c:319
MMG5_SAFE_FREE
MMG5_SAFE_FREE(tmp)
MMG3D_placeInListDouble
void MMG3D_placeInListDouble(double *distList, double dist, int index, int size)
Definition: PRoctree_3d.c:296
MMG5_split2
int MMG5_split2(MMG5_pMesh mesh, MMG5_pSol met, int k, int vx[6], char metRidTyp)
Definition: split_3d.c:1518
ddb
char ddb
Definition: mmg3d1_delone.c:41
MMG3D_delPROctree
int MMG3D_delPROctree(MMG5_pMesh mesh, MMG3D_pPROctree q, const int no)
Definition: PRoctree_3d.c:972
__attribute__
void __attribute__((unused))
Definition: velextls_3d.c:441
MMG3D_POINT_REALLOC
#define MMG3D_POINT_REALLOC(mesh, sol, ip, wantedGap, law, o, tag)
Definition: mmg3d.h:48
MMG5_nonUnitNorPts
int MMG5_nonUnitNorPts(MMG5_pMesh mesh, int ip1, int ip2, int ip3, double *n)
Definition: tools.c:73
MMG3D_splitalmostall
static int MMG3D_splitalmostall(MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree, int k, int iar)
Definition: opttyp_3d.c:435
MMG3D_LMAX
#define MMG3D_LMAX
Definition: libmmg3d.h:57
a
! int a
Definition: libmmgtypesf.h:286
MMG5_BezierRef
int MMG5_BezierRef(MMG5_pMesh mesh, int ip0, int ip1, double s, double *o, double *no, double *to)
Definition: tools_3d.c:352
MMG3D_displayQualHisto_internal
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
MMG5_Mesh::xpr
int xpr
Definition: libmmgtypes.h:525
MMG5_freeXPrisms
void MMG5_freeXPrisms(MMG5_pMesh mesh)
Definition: zaldy_3d.c:348
MMG5_Tetra::v
int v[4]
Definition: libmmgtypes.h:341
MMG5_swpgen
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
MMG5_printTria
void MMG5_printTria(MMG5_pMesh mesh, char *fileName)
Definition: tools.c:519
MMG5_Point::n
double n[3]
Definition: libmmgtypes.h:216
MMG3D_Init_fileNames
void MMG3D_Init_fileNames(MMG5_pMesh mesh, MMG5_pSol sol)
Definition: API_functions_3d.c:55