Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Functions | Variables
swap_3d.c File Reference

Functions for swapping process over boundary. More...

#include "libmmg3d.h"
#include "inlined_functions_3d_private.h"
#include "mmg3dexterns_private.h"
Include dependency graph for swap_3d.c:

Go to the source code of this file.

Functions

int MMG5_chkswpbdy (MMG5_pMesh mesh, MMG5_pSol met, int64_t *list, int ilist, MMG5_int it1, MMG5_int it2, int8_t typchk)
 
int MMG5_swpbdy (MMG5_pMesh mesh, MMG5_pSol met, int64_t *list, int ret, MMG5_int it1, MMG3D_pPROctree PROctree, int8_t typchk)
 
int MMG3D_swap23 (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t metRidTyp, int ifac, int conf0, MMG5_int adj, int conf1)
 

Variables

int8_t ddb
 

Detailed Description

Functions for swapping process over boundary.

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

Definition in file swap_3d.c.

Function Documentation

◆ MMG3D_swap23()

int MMG3D_swap23 ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
int8_t  metRidTyp,
int  ifac,
int  conf0,
MMG5_int  adj,
int  conf1 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the sol structure.
kindex of the tetrahedron with multiple boundary faces (to be swapped).
metRidTypmetric storage (classic or special)
ifacface of the tetra k that give the best results for the swap23
conf0detected configuration for the swap23 of the tetra k
adjneighbour of the tetra k through the face ifac (4*k1+ifac1)
conf1detected configuration for the swap23 of the tetra adj/4
Returns
-1 if lack of memory, 0 if fail to swap, 1 otherwise.

Search an adjacent to the tetra k and perform swap 2->3 (the common face of the 2 tetra is destroyed and replaced by a common edge used by the three new elts).

Remarks
used in anatet4 to remove the tetra with multiple boundary faces.

Neighbouring element with which we will try to swap

Swap

Quality Update

Definition at line 603 of file swap_3d.c.

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

◆ MMG5_chkswpbdy()

int MMG5_chkswpbdy ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int64_t *  list,
int  ilist,
MMG5_int  it1,
MMG5_int  it2,
int8_t  typchk 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
listpointer toward the shell of the edge.
ilistpointer toward the size of the shell of the edge.
it1first element of the open shell.
it2last element of the open shell.
typchktype of checking permformed for edge length (hmin or LSHORT criterion).
Returns
-1 if fail, 0 if we can not swap the edge, 1 otherwise.

Check whether edge whose shell is provided should be swapped for geometric approximation purposes (the 2 surface triangles are also provided).

Definition at line 57 of file swap_3d.c.

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

◆ MMG5_swpbdy()

int MMG5_swpbdy ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int64_t *  list,
int  ret,
MMG5_int  it1,
MMG3D_pPROctree  PROctree,
int8_t  typchk 
)
Parameters
meshpointer toward the mesh structure
metpointer toward the solution structure
listpointer toward the shell of the edge
retdobble of the number of tetrahedra in the shell
it1boundary face carrying the beforehand tested terminal point for collapse
PROctreepointer toward the PROctree structure in Delaunay mode, NULL pointer in pattern mode.
typchktype of checking permformed for edge length (hmin or LSHORT criterion).
Returns
-1 if lack of memory, 0 if fail to swap, 1 otherwise

Swap boundary edge whose shell is provided.

Definition at line 467 of file swap_3d.c.

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

Variable Documentation

◆ ddb

int8_t ddb
extern

Definition at line 42 of file mmg3d1_delone.c.