Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
|
Mesh analysis. More...
Go to the source code of this file.
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) |
static int | MMG3D_dichotomytria (MMG5_pMesh mesh, MMG5_pTria pt, MMG5_int k, double *c, double *n) |
static int | MMG3D_dichotomytetra (MMG5_pMesh mesh, MMG5_int *v, MMG5_int k, double *c) |
int | MMG3D_regver (MMG5_pMesh mesh) |
int | MMG3D_nmgeom (MMG5_pMesh mesh) |
int | MMG3D_analys (MMG5_pMesh mesh) |
Mesh analysis.
Definition in file analys_3d.c.
int MMG3D_analys | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to mesh |
preprocessing stage: mesh analysis.
At the end of this function:
— stage 1: data structures for surface
— stage 2: surface analysis
Definition at line 1324 of file analys_3d.c.
|
inlinestatic |
mesh | pointer to the mesh |
v | list of vertices of current tetrahedron |
k | number of current point |
c | input : newly computed coordinates (giving negative area), output : coordinates after dichotomy |
In coordinate regularization, performs a dichotomy between previous point / and newly computed point in the case of negative volume
Definition at line 895 of file analys_3d.c.
|
inlinestatic |
mesh | pointer to the mesh |
pt | pointer to current triangle |
k | number of current point |
c | newly computed coordinates (giving negative area) |
n | normal of triangle before regularization |
In coordinate regularization, performs a dichotomy between previous point / and newly computed point in the case of negative area of a triangle
Definition at line 828 of file analys_3d.c.
int MMG3D_nmgeom | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh |
Define continuous geometric support at non manifold vertices, using volume information.
Following list summerizes computed data depending on point type:
Definition at line 1198 of file analys_3d.c.
int MMG3D_regver | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to a MMG5 mesh structure. |
Regularization procedure for vertices coordinates, dual Laplacian in 3D
Definition at line 956 of file analys_3d.c.
void MMG3D_set_reqBoundaries | ( | MMG5_pMesh | mesh | ) |
mesh | pointer towarad the mesh structure. |
Set all boundary triangles to required and add a tag to detect that they are not realy required.
Definition at line 46 of file analys_3d.c.
int MMG5_chkVertexConnectedDomains | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to the mesh structure. |
check subdomains connected by a vertex and mark these vertex as CRN and REQ.
Definition at line 471 of file analys_3d.c.
int MMG5_norver | ( | MMG5_pMesh | mesh | ) |
mesh | pointer to mesh |
Compute normals at C1 vertices, for C0: tangents.
Following list summerizes computed (and not computed) data depending on point type:
Normals at regular boundary points can be provided by users but are ignored along featured edges.
recomputation of normals only if mesh->xpoint has been freed
Step 1: identify boundary points
input normals are ignored along all type of featured edges (ref, geo, nom) but it is possible to implement their taking into account along non-ridges reference edges and external non-manifold ones.
Step 2: Allocate memory to store normals for boundary points
Step 3: compute normals + tangents
At C1 point
along ridge-curve
Along ridge: compute tangent as intersection of n1 + n2
Definition at line 638 of file analys_3d.c.
int MMG5_setadj | ( | MMG5_pMesh | mesh | ) |
mesh | pointer towarad the mesh structure. |
topology: set tria adjacency, detect Moebius, flip faces, count connected comp.
Definition at line 108 of file analys_3d.c.
int MMG5_setdhd | ( | MMG5_pMesh | mesh | ) |
check for ridges: dihedral angle
Step 1: check input ridges provided by the user to remove those ones between triangles belonging to the same plane. This step has to be done prior the next one because we want to remove the MG_GEO tag transfered from ridges that we delete toward vertices by MMG5_setadj but we want to preserve the MG_GEO tags at vertices of ridges that will be added by the next step.
Step 2: check ref and angle with neighbour to update ref tags and ridge ones
Definition at line 310 of file analys_3d.c.
int MMG5_singul | ( | MMG5_pMesh | mesh | ) |
check for singularities
Definition at line 544 of file analys_3d.c.