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

Functions for splitting. More...

#include "libmmg2d_private.h"
#include "mmg2dexterns_private.h"
Include dependency graph for split_2d.c:

Go to the source code of this file.

Functions

MMG5_int MMG2D_chkspl (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i)
 
int MMG2D_split1b (MMG5_pMesh mesh, MMG5_int k, int8_t i, MMG5_int ip)
 
int MMG2D_split1_sim (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int k, MMG5_int vx[3])
 
int MMG2D_split1 (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int k, MMG5_int vx[3])
 
int MMG2D_split2_sim (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int k, MMG5_int vx[3])
 
int MMG2D_split2 (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int k, MMG5_int vx[3])
 
int MMG2D_split3_sim (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int k, MMG5_int vx[3])
 
int MMG2D_split3 (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int k, MMG5_int vx[3])
 
int MMG2D_splitbar (MMG5_pMesh mesh, MMG5_int k, MMG5_int ip)
 

Variables

uint8_t ddb
 

Detailed Description

Functions for splitting.

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

Definition in file split_2d.c.

Function Documentation

◆ MMG2D_chkspl()

MMG5_int MMG2D_chkspl ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
int8_t  i 
)
Parameters
meshpointer toward the mesh
metpointer toward the metric
ktriangle index
ilocal index of the edge to split
Returns
1 if we can split, 0 if not, -1 if fail.

Check whether splitting of edge i in tria k is possible and return the newly created point; possibly perform a dichotomy to find the latest valid position for the point.

Definition at line 51 of file split_2d.c.

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

◆ MMG2D_split1()

int MMG2D_split1 ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  k,
MMG5_int  vx[3] 
)
Parameters
meshpointer toward the mesh
solpointer toward the metric
ktriangle index
vxlist of new point indices for each edge
Returns
0 if fail, 1 if success

Split 1 edge of triangle k

Definition at line 390 of file split_2d.c.

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

◆ MMG2D_split1_sim()

int MMG2D_split1_sim ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  k,
MMG5_int  vx[3] 
)
Parameters
meshpointer toward the mesh
solpointer toward the metric
ktriangle index
vxlist of new point indices for each edge
Returns
0 if fail, 1 if success

Simulate the split of one edge in triangle k

Definition at line 345 of file split_2d.c.

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

◆ MMG2D_split1b()

int MMG2D_split1b ( MMG5_pMesh  mesh,
MMG5_int  k,
int8_t  i,
MMG5_int  ip 
)

\parma mesh pointer toward the mesh

Parameters
kindex of the tria to split
ilocal index of the edge to split
ipglobal index of the new point
Returns
1 if success, 0 if fail

Effective splitting of edge i in tria k: point ip is introduced and the adjacency structure in the mesh is preserved

Definition at line 244 of file split_2d.c.

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

◆ MMG2D_split2()

int MMG2D_split2 ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  k,
MMG5_int  vx[3] 
)
Parameters
meshpointer toward the mesh
solpointer toward the metric
ktriangle index
vxlist of new point indices for each edge
Returns
0 if fail, 1 if success

Split 2 edges of triangle k

Definition at line 505 of file split_2d.c.

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

◆ MMG2D_split2_sim()

int MMG2D_split2_sim ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  k,
MMG5_int  vx[3] 
)
Parameters
meshpointer toward the mesh
solpointer toward the metric
ktriangle index
vxlist of new point indices for each edge
Returns
0 if fail, 1 if success

Simulate the split of two edges in triangle k

Definition at line 456 of file split_2d.c.

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

◆ MMG2D_split3()

int MMG2D_split3 ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  k,
MMG5_int  vx[3] 
)
Parameters
meshpointer toward the mesh
solpointer toward the metric
ktriangle index
vxlist of new point indices for each edge
Returns
0 if fail, 1 if success

Split the three edges of triangle k

Definition at line 630 of file split_2d.c.

Here is the call graph for this function:

◆ MMG2D_split3_sim()

int MMG2D_split3_sim ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  k,
MMG5_int  vx[3] 
)
Parameters
meshpointer toward the mesh
solpointer toward the metric
ktriangle index
vxlist of new point indices for each edge
Returns
0 if fail, 1 if success

Simulate the split of three edges in triangle k

Definition at line 592 of file split_2d.c.

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

◆ MMG2D_splitbar()

int MMG2D_splitbar ( MMG5_pMesh  mesh,
MMG5_int  k,
MMG5_int  ip 
)
Parameters
meshpointer toward the mesh
kindex of the tria to split
ipglobal index of the new point
Returns
1 if success, 0 if fail

Insert the point ip inside the tria k

Definition at line 721 of file split_2d.c.

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

Variable Documentation

◆ ddb

uint8_t ddb
extern

Definition at line 42 of file mmg3d1_delone.c.