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

Mesh analysis. More...

#include "libmmgs_private.h"
#include "mmgcommon_private.h"
Include dependency graph for analys_s.c:

Go to the source code of this file.

Functions

int MMGS_setadj (MMG5_pMesh mesh)
 
static void nmpoints (MMG5_pMesh mesh)
 
static int setdhd (MMG5_pMesh mesh)
 
static int MMG5_singul (MMG5_pMesh mesh)
 
static int norver (MMG5_pMesh mesh)
 
static int MMGS_dichotomy (MMG5_pMesh mesh, MMG5_pTria pt, MMG5_int k, double *c, double *n)
 
int MMGS_regver (MMG5_pMesh mesh)
 
int MMGS_remDup (MMG5_pMesh mesh)
 
int MMGS_analys_for_norver (MMG5_pMesh mesh)
 
int MMGS_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.
Author
Charles Dapogny (UPMC)
Cécile Dobrzynski (Bx INP/Inria/UBordeaux)
Pascal Frey (UPMC)
Algiane Froehly (Inria/UBordeaux)
Version
5
Todo:
doxygen documentation.

Definition in file analys_s.c.

Function Documentation

◆ MMG5_singul()

static int MMG5_singul ( MMG5_pMesh  mesh)
static
Parameters
meshpointer toward the mesh structure.
Returns
1 if succeed, 0 if fail

check for singularities

Definition at line 496 of file analys_s.c.

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

◆ MMGS_analys()

int MMGS_analys ( MMG5_pMesh  mesh)

Definition at line 1094 of file analys_s.c.

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

◆ MMGS_analys_for_norver()

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

Preprocessing stage: mesh analysis.

Definition at line 1042 of file analys_s.c.

Here is the call graph for this function:

◆ MMGS_dichotomy()

static int MMGS_dichotomy ( MMG5_pMesh  mesh,
MMG5_pTria  pt,
MMG5_int  k,
double *  c,
double *  n 
)
inlinestatic
Parameters
meshpointer towards the mesh
ptpointer towards current triangle
knumber of current point
cnewly computed coordinates (giving negative area)
nnormal of triangle before regularization
Returns
0 if fail, 1 if success

In coordinate regularization, performs a dichotomy between previous point / and newly computed point in the case of negative area

Definition at line 754 of file analys_s.c.

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

◆ MMGS_regver()

int MMGS_regver ( MMG5_pMesh  mesh)
Parameters
meshpointer toward a MMG5 mesh structure.
Returns
0 if fail, 1 otherwise.

Regularization procedure for vertices coordinates, dual Laplacian for a surface mesh.

Definition at line 817 of file analys_s.c.

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

◆ MMGS_remDup()

int MMGS_remDup ( MMG5_pMesh  mesh)
Parameters
meshpointer to the mesh structure.
Returns
0 if failed, 1 otherwise.

Remove duplicated triangles.

Definition at line 996 of file analys_s.c.

Here is the call graph for this function:

◆ MMGS_setadj()

int MMGS_setadj ( MMG5_pMesh  mesh)
Parameters
meshpointer toward the mesh
Returns
1 if success, 0 if fail

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

Definition at line 47 of file analys_s.c.

Here is the caller graph for this function:

◆ nmpoints()

static void nmpoints ( MMG5_pMesh  mesh)
static
Parameters
meshpointer toward the mesh structure.
Returns
1 if succeed, 0 if fail

Detect non manifold points

Definition at line 253 of file analys_s.c.

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

◆ norver()

static int norver ( MMG5_pMesh  mesh)
static
Parameters
meshpointer toward the mesh structure.
Returns
1 if succeed, 0 if fail

Compute normals at C1 vertices, for C0: tangents This function allocate the xpoint array. A point will have an xpoint if:

  • it is along a reference edge, the xpoint then stores the normal at point while the n field of point containt the tangent at ref edge.
  • it is along a ridge, the xpoint then stores both normals at point while ppt->n stores the tangent

Corner, required and regular points don't have xpoints.

Definition at line 599 of file analys_s.c.

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

◆ setdhd()

static int setdhd ( MMG5_pMesh  mesh)
static

improve badly shaped elts for isotropic mesh

Parameters
meshpointer toward the mesh structure.
Returns
1 if succeed, 0 if fail

check for ridges: dihedral angle

Definition at line 445 of file analys_s.c.

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