mmgs
|
Fonctions for anisotropic size map computation. More...
#include "mmgcommon.h"
Functions | |
static double | _MMG5_surf (MMG5_pMesh mesh, double m[3][6], MMG5_pTria ptt) |
double | _MMG5_surftri_ani (MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria ptt) |
double | _MMG5_surftri33_ani (MMG5_pMesh mesh, MMG5_pTria ptt, double ma[6], double mb[6], double mc[6]) |
void | _MMG5_defUninitSize (MMG5_pMesh mesh, MMG5_pSol met, char ismet) |
void | _MMG5_fillDefmetregSys (int k, MMG5_pPoint p0, int i0, _MMG5_Bezier b, double r[3][3], double c[3], double *lispoi, double tAA[6], double tAb[3]) |
int | _MMG5_solveDefmetregSys (MMG5_pMesh mesh, double r[3][3], double c[3], double tAA[6], double tAb[3], double *m, double isqhmin, double isqhmax, double hausd) |
int | _MMG5_solveDefmetrefSys (MMG5_pMesh mesh, MMG5_pPoint p0, int ipref[2], double r[3][3], double c[3], double tAA[6], double tAb[3], double *m, double isqhmin, double isqhmax, double hausd) |
double | _MMG5_ridSizeInTangentDir (MMG5_pMesh mesh, MMG5_pPoint p0, int idp, int *iprid, double isqhmin, double isqhmax) |
double | _MMG5_ridSizeInNormalDir (MMG5_pMesh mesh, int i0, double *bcu, _MMG5_Bezier *b, double isqhmin, double isqhmax) |
int | _MMG5_grad2metSurf (MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTria pt, int i) |
Fonctions for anisotropic size map computation.
void _MMG5_defUninitSize | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
char | ismet | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
ismet | has the user provided a metric? |
Search for points with unintialized metric and define anisotropic size at this points.
void _MMG5_fillDefmetregSys | ( | int | k, |
MMG5_pPoint | p0, | ||
int | i0, | ||
_MMG5_Bezier | b, | ||
double | r[3][3], | ||
double | c[3], | ||
double * | lispoi, | ||
double | tAA[6], | ||
double | tAb[3] | ||
) |
k | index of the tetrahedra from which we come. |
p0 | pointer toward the point on which we want to def the metric. |
i0 | pointer toward the local index of the point in tria. |
b | control polygon of triangle. |
r | rotation matrix. |
c | physical coordinates of the curve edge mid-point. |
lispoi | list of incident vertices to p0 |
tAA | matrix to fill |
tAb | second member |
Fill matrice tAA and second member tAb with and
with P_i the physical points at edge [i0;i1] extremities and middle. Compute the physical coor c of the curve edge's mid-point for a regular or reference point.
int _MMG5_grad2metSurf | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
MMG5_pTria | pt, | ||
int | i | ||
) |
mesh | pointer toward the mesh. |
met | pointer toward the metric structure. |
pt | pointer toward a triangle. |
i | edge index in triangle pt. |
Enforces gradation of metric in one extremity of edge i in tria pt with respect to the other, along the direction of the associated support curve first, then along the normal direction.
double _MMG5_ridSizeInNormalDir | ( | MMG5_pMesh | mesh, |
int | i0, | ||
double * | bcu, | ||
_MMG5_Bezier * | b, | ||
double | isqhmin, | ||
double | isqhmax | ||
) |
mesh | pointer toward the mesh structure. |
i0 | local index in the face of the point on which we want to compute the metric |
bcu | pointer toward the barycentric coordinates of vector u in the looked face. |
b | bezier control polygon for the looked face. |
isqhmin | minimum edge size. |
isqhmax | maximum edge size. |
Compute the specific size of a ridge in the direction of the normal of the looked face.
double _MMG5_ridSizeInTangentDir | ( | MMG5_pMesh | mesh, |
MMG5_pPoint | p0, | ||
int | idp, | ||
int * | iprid, | ||
double | isqhmin, | ||
double | isqhmax | ||
) |
mesh | pointer toward the mesh structure. |
p0 | pointer toward the point at which we define the metric. |
idp | global index of the point at which we define the metric. |
iprid | pointer toward the two extremities of the ridge. |
isqhmin | minimum edge size. |
isqhmax | maximum edge size. |
Compute the specific size of a ridge in the direction of the tangent of the ridge.
int _MMG5_solveDefmetrefSys | ( | MMG5_pMesh | mesh, |
MMG5_pPoint | p0, | ||
int | ipref[2], | ||
double | r[3][3], | ||
double | c[3], | ||
double | tAA[6], | ||
double | tAb[3], | ||
double * | m, | ||
double | isqhmin, | ||
double | isqhmax, | ||
double | hausd | ||
) |
mesh | pointer toward the mesh structure. |
p0 | pointer toward the point on which we want to define the metric. |
ipref | table containing the indices of the edge extremities. |
r | pointer toward the rotation matrix. |
c | physical coordinates of the curve edge mid-point. |
tAA | matrix of the system to solve. |
tAb | second member. |
m | pointer toward the metric. |
isqhmax | maximum size for edge. |
isqhmin | minimum size for edge. |
hausd | hausdorff value at point. |
Solve tAA * tmp_m = tAb and fill m with tmp_m (after rotation) for a ref point.
int _MMG5_solveDefmetregSys | ( | MMG5_pMesh | mesh, |
double | r[3][3], | ||
double | c[3], | ||
double | tAA[6], | ||
double | tAb[3], | ||
double * | m, | ||
double | isqhmin, | ||
double | isqhmax, | ||
double | hausd | ||
) |
mesh | pointer toward the mesh structure. |
r | pointer toward the rotation matrix. |
c | physical coordinates of the curve edge mid-point. |
tAA | matrix of the system to solve. |
tAb | second member. |
m | pointer toward the metric. |
isqhmax | maximum size for edge. |
isqhmin | minimum size for edge. |
hausd | hausdorff value at point. |
Solve tAA * tmp_m = tAb and fill m with tmp_m (after rotation) for a regular point.
|
inlinestatic |
mesh | pointer toward the mesh structure. |
m | pointer toward the metric at triangle vertices. |
ptt | pointer toward the triangle structure. |
Compute the double of the area of the surface triangle ptt with respect to the anisotropic metric m.
double _MMG5_surftri33_ani | ( | MMG5_pMesh | mesh, |
MMG5_pTria | ptt, | ||
double | ma[6], | ||
double | mb[6], | ||
double | mc[6] | ||
) |
mesh | pointer toward the mesh structure. |
ptt | pointer toward the triangle structure. |
ma | metric at triangle vertex. |
mb | metric at triangle vertex. |
mc | metric at triangle vertex. |
Compute the double of the area of the surface triangle ptt with respect to the anisotropic metric met (for classic storage of ridges metrics).
double _MMG5_surftri_ani | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
MMG5_pTria | ptt | ||
) |
mesh | pointer toward the mesh structure. |
met | pointer toward the metric structure. |
ptt | pointer toward the triangle structure. |
Compute the double of the area of the surface triangle ptt with respect to the anisotropic metric met (for special storage of ridges metrics).