mmg3d
chkmsh_3d.c File Reference

Check the input mesh validity. More...

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

Macros

#define MMG5_EPSLOC   1.00005
 
#define IEDG(a, b)   (((a) > 0) && ((b) > 0)) ? ((a)+(b)) : (((a)+(b))-(1))
 

Functions

void MMG5_chkvol (MMG5_pMesh mesh)
 
static int MMG3D_chk_shellEdgeTag_oneDir (MMG5_pMesh mesh, int start, int na, int nb, int16_t tag, int ref, int piv, int adj)
 
int MMG3D_chk_shellEdgeTag (MMG5_pMesh mesh, int start, int8_t ia, int16_t tag, int ref)
 
void MMG3D_chkmeshedgestags (MMG5_pMesh mesh)
 
void MMG3D_chkedgetag (MMG5_pMesh mesh, int ip1, int ip2, int tag)
 
void MMG3D_chkpointtag (MMG5_pMesh mesh)
 
int MMG5_chkmshsurf (MMG5_pMesh mesh)
 
int MMG5_mmg3dChkmsh (MMG5_pMesh mesh, int severe, int base)
 
int MMG5_chkptonbdy (MMG5_pMesh mesh, int np)
 
int MMG5_cntbdypt (MMG5_pMesh mesh, int nump)
 
int MMG5_chkfemtopo (MMG5_pMesh mesh)
 
int srcface (MMG5_pMesh mesh, int n0, int n1, int n2)
 

Variables

int8_t ddb
 

Detailed Description

Check the input mesh validity.

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

Macro Definition Documentation

◆ IEDG

#define IEDG (   a,
 
)    (((a) > 0) && ((b) > 0)) ? ((a)+(b)) : (((a)+(b))-(1))

◆ MMG5_EPSLOC

#define MMG5_EPSLOC   1.00005

Function Documentation

◆ MMG3D_chk_shellEdgeTag()

int MMG3D_chk_shellEdgeTag ( MMG5_pMesh  mesh,
int  start,
int8_t  ia,
int16_t  tag,
int  ref 
)
Parameters
meshpointer toward the mesh
starttetra from which we start to travel
ialocal index of edge that must be updated
tagedge tag
refedge ref
Returns
1 if success, 0 if fail.

Test consistency of tag and ref of the boundary edge \ia of tetra start by traveling its shell.

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

◆ MMG3D_chk_shellEdgeTag_oneDir()

static int MMG3D_chk_shellEdgeTag_oneDir ( MMG5_pMesh  mesh,
int  start,
int  na,
int  nb,
int16_t  tag,
int  ref,
int  piv,
int  adj 
)
inlinestatic
Parameters
meshpointer toward the mesh
starttetra from which we start to travel
naedge vertex
nbedge vertex
tagedge tag
refedge ref
pivglobal index of the pivot to set the sense of travel
adjindex of adjacent tetra for the travel
Returns
-1 if fail, start if shell has been completely travelled, 0 otherwise (open shell).

Test consistency of tag and ref of the edge na nb from tetra start by traveling its shell in one direction (given by the pivot piv).

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

◆ MMG3D_chkedgetag()

void MMG3D_chkedgetag ( MMG5_pMesh  mesh,
int  ip1,
int  ip2,
int  tag 
)
Parameters
meshpointer toward the mesh
ip1first vertex of edge to test
ip2second vertex of edge to test
tagedge tag

Test consistency between the tags of the edge ip1 - ip2 from all the tetra of the edge shell.

Warning
Not used.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG3D_chkmeshedgestags()

void MMG3D_chkmeshedgestags ( MMG5_pMesh  mesh)
Parameters
meshpointer toward the mesh

Test consistency between the tags in the xtetra of all mesh edges marked as boundaries.

Warning
Not used.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ MMG3D_chkpointtag()

void MMG3D_chkpointtag ( MMG5_pMesh  mesh)
Parameters
meshTest consistency between points and edges tags. If an error is detected, hash mesh edges to check the consistency between the tags of tetra edges.
Warning
Not used.

Check consistency between edge tags and point tags

An error has been detected: check the consistency between the tags of tetra edges

An error has been detected: check the consistency between the tags of tetra edges

An error has been detected: check the consistency between the tags of tetra edges

An error has been detected: check the consistency between the tags of tetra edges

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

◆ MMG5_chkfemtopo()

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

Count the number of tetras that have several boundary faces, as well as the number of internal edges connecting points of the boundary.

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

◆ MMG5_chkmshsurf()

int MMG5_chkmshsurf ( MMG5_pMesh  mesh)
Returns
0 if fail, 1 otherwise
Warning
Not used.

◆ MMG5_chkptonbdy()

int MMG5_chkptonbdy ( MMG5_pMesh  mesh,
int  np 
)

Search boundary faces containing point np.

Returns
0 if fail, 1 otherwise
Warning
Not used.
Here is the call graph for this function:

◆ MMG5_chkvol()

void MMG5_chkvol ( MMG5_pMesh  mesh)
Parameters
meshpointer toward mesh

Test that tetra have positive volumes.

Warning
Not used.
Here is the call graph for this function:

◆ MMG5_cntbdypt()

int MMG5_cntbdypt ( MMG5_pMesh  mesh,
int  nump 
)

Count how many boundary faces share point nump.

Warning
Not used.
Here is the call graph for this function:

◆ MMG5_mmg3dChkmsh()

int MMG5_mmg3dChkmsh ( MMG5_pMesh  mesh,
int  severe,
int  base 
)
Parameters
meshpointer toward the mesh structure.
severelevel of performed check
baseunused argument.
Returns
0 if fail, 1 if success.

Check the mesh validity

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

◆ srcface()

int srcface ( MMG5_pMesh  mesh,
int  n0,
int  n1,
int  n2 
)

Search face n0,n1,n2 in mesh, and get the support tetras, with the corresponding refs.

Warning
Not used.
Here is the call graph for this function:

Variable Documentation

◆ ddb

int8_t ddb
extern