![]() |
Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
|
Various tools for the mmg libraries. More...
#include "mmgcommon_private.h"
Go to the source code of this file.
Functions | |
| void | MMG5_nsort (int8_t n, double *val, int8_t *perm) |
| void | MMG5_nperm (int8_t n, int8_t shift, int8_t stride, double *val, double *oldval, int8_t *perm) |
| int | MMG5_devangle (double *n1, double *n2, double crit) |
| int | MMG5_nonUnitNorPts (MMG5_pMesh mesh, MMG5_int ip1, MMG5_int ip2, MMG5_int ip3, double *n) |
| double | MMG5_nonorsurf (MMG5_pMesh mesh, MMG5_pTria pt) |
| int | MMG5_norpts (MMG5_pMesh mesh, MMG5_int ip1, MMG5_int ip2, MMG5_int ip3, double *n) |
| int | MMG5_nortri (MMG5_pMesh mesh, MMG5_pTria pt, double *n) |
| void | MMG5_transpose3d (double m[3][3]) |
| int | MMG5_test_transpose3d () |
| void | MMG5_dotprod (int8_t dim, double *a, double *b, double *result) |
| int | MMG5_test_dotprod () |
| void | MMG5_crossprod3d (double *a, double *b, double *result) |
| int | MMG5_test_crossprod3d () |
| void | MMG5_mn (double m[6], double n[6], double mn[9]) |
| int | MMG5_test_mn () |
| int | MMG5_rmtr (double r[3][3], double m[6], double mr[6]) |
| int | MMG5_test_rmtr () |
| int | MMG5_rotmatrix (double n[3], double r[3][3]) |
| int | MMG5_test_rotmatrix () |
| int | MMG5_invmat (double *m, double *mi) |
| int | MMG5_invmatg (double m[9], double mi[9]) |
| int | MMG5_invmat33 (double m[3][3], double mi[3][3]) |
| int | MMG5_invmat22 (double m[2][2], double mi[2][2]) |
| int | MMG5_sys33sym (double a[6], double b[3], double r[3]) |
| void | MMG5_printTria (MMG5_pMesh mesh, char *fileName) |
| size_t | MMG5_memSize (void) |
| void | MMG5_memOption_memSet (MMG5_pMesh mesh) |
| double | MMG5_det3pt1vec (double c0[3], double c1[3], double c2[3], double v[3]) |
| double | MMG5_det4pt (double c0[3], double c1[3], double c2[3], double c3[3]) |
| double | MMG5_orvol (MMG5_pPoint point, MMG5_int *v) |
| double | MMG2D_quickarea (double a[2], double b[2], double c[2]) |
| void | MMG5_mark_verticesAsUnused (MMG5_pMesh mesh) |
| void | MMG5_mark_usedVertices (MMG5_pMesh mesh, void(*delPt)(MMG5_pMesh, MMG5_int)) |
| void | MMG5_keep_subdomainElts (MMG5_pMesh mesh, int nsd, int(*delElt)(MMG5_pMesh, MMG5_int)) |
| double | MMG5_test_mat_error (int8_t nelem, double m1[], double m2[]) |
| int | MMG5_test_invmat22 () |
| int | MMG5_test_invmat33 () |
Various tools for the mmg libraries.
Definition in file tools.c.
| double MMG2D_quickarea | ( | double | a[2], |
| double | b[2], | ||
| double | c[2] ) |
| void MMG5_crossprod3d | ( | double * | a, |
| double * | b, | ||
| double * | result ) |
|
inline |
|
inline |
| int MMG5_devangle | ( | double * | n1, |
| double * | n2, | ||
| double | crit ) |
| void MMG5_dotprod | ( | int8_t | dim, |
| double * | a, | ||
| double * | b, | ||
| double * | result ) |
| int MMG5_invmat | ( | double * | m, |
| double * | mi ) |
| int MMG5_invmat22 | ( | double | m[2][2], |
| double | mi[2][2] ) |
| int MMG5_invmat33 | ( | double | m[3][3], |
| double | mi[3][3] ) |
| int MMG5_invmatg | ( | double | m[9], |
| double | mi[9] ) |
| void MMG5_keep_subdomainElts | ( | MMG5_pMesh | mesh, |
| int | nsd, | ||
| int(* | delElt )(MMG5_pMesh, MMG5_int) ) |
| void MMG5_mark_usedVertices | ( | MMG5_pMesh | mesh, |
| void(* | delPt )(MMG5_pMesh, MMG5_int) ) |
| void MMG5_mark_verticesAsUnused | ( | MMG5_pMesh | mesh | ) |
| void MMG5_memOption_memSet | ( | MMG5_pMesh | mesh | ) |
| mesh | pointer toward the mesh structure |
Set the memMax value to its "true" value if memory asked by user. Here the MMG5_MEMPERCENT coef is already applied on memMax.
Definition at line 891 of file tools.c.


| size_t MMG5_memSize | ( | void | ) |
| void MMG5_mn | ( | double | m[6], |
| double | n[6], | ||
| double | mn[9] ) |
|
inline |
|
inline |
| mesh | pointer toward the mesh stucture. |
| ip1 | first point of face. |
| ip2 | second point of face. |
| ip3 | third point of face. |
| n | pointer to store the computed normal. |
Compute non-normalized face normal given three points on the surface.
Definition at line 127 of file tools.c.

|
inline |
| mesh | pointer toward the mesh stucture. |
| ip1 | first point of face. |
| ip2 | second point of face. |
| ip3 | third point of face. |
| n | pointer to store the computed normal. |
Compute normalized face normal given three points on the surface.
Definition at line 183 of file tools.c.


|
inline |
|
inline |
| n | array size |
| shift | shift to apply when taking array value |
| stride | stride to apply when taking array value |
| val | array of double precision floating points |
| oldval | array to store input values |
| perm | permutation array |
Naively permute a small array. Use shift and stride to eventually permute matrix columns.
Definition at line 80 of file tools.c.

|
inline |
| n | array size |
| val | array of double precision floating points |
| perm | permutation array |
naive (increasing) sorting algorithm, for very small tabs ; permutation is stored in perm
Definition at line 49 of file tools.c.

|
inline |
| void MMG5_printTria | ( | MMG5_pMesh | mesh, |
| char * | fileName ) |
|
inline |
|
inline |
|
inline |
| int MMG5_test_crossprod3d | ( | ) |
| int MMG5_test_dotprod | ( | ) |
| int MMG5_test_invmat22 | ( | ) |
| int MMG5_test_invmat33 | ( | ) |
|
inline |
| int MMG5_test_mn | ( | ) |
|
inline |
| int MMG5_test_rotmatrix | ( | ) |
Test computation of the rotation matrix that sends vector n to the third vector of canonical basis.
Rodrigues' rotation formula (transposed to give a map from n to [0,0,1]). Input vector must be a unit vector.
Approximate z-unit vector
Check orthonormality
Definition at line 512 of file tools.c.

| int MMG5_test_transpose3d | ( | ) |