![]()  | 
  
    Mmg
    
   Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement) 
   | 
 
Fonctions for anisotropic size map computation. More...
#include "libmmgs_private.h"#include "libmmgs.h"#include "inlined_functions_private.h"#include "mmgsexterns_private.h"#include "mmgexterns_private.h"
Go to the source code of this file.
Functions | |
| static int | MMG5_defmetsin (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int it, int ip) | 
| static int | MMG5_defmetrid (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int it, int ip) | 
| static int | MMG5_defmetref (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int it, int ip) | 
| int | MMGS_surfballRotation (MMG5_pMesh mesh, MMG5_pPoint p0, MMG5_int *list, int ilist, double r[3][3], double *lispoi, double n[3]) | 
| static int | MMG5_defmetreg (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int it, int ip) | 
| static int | MMGS_intextmet (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int np, double me[6]) | 
| int | MMGS_defsiz_ani (MMG5_pMesh mesh, MMG5_pSol met) | 
| int | MMGS_gradsiz_ani (MMG5_pMesh mesh, MMG5_pSol met) | 
Fonctions for anisotropic size map computation.
Definition in file anisosiz_s.c.
      
  | 
  static | 
| mesh | pointer to the mesh structure. | 
| met | pointer to the metric structure. | 
| it | index of the triangle in which we work. | 
| ip | index of the point on which we want to compute the metric in it. | 
Define metric map at a REF vertex of the mesh, associated to the geometric approx of the surface.
Definition at line 352 of file anisosiz_s.c.


      
  | 
  static | 
| mesh | pointer to the mesh structure. | 
| met | pointer to the metric structure. | 
| it | index of the triangle in which we work. | 
| ip | index of the point on which we want to compute the metric in it. | 
Define metric map at a REGULAR vertex of the mesh, associated to the geometric approx of the surface.
Definition at line 593 of file anisosiz_s.c.


      
  | 
  static | 
| mesh | pointer to the mesh structure. | 
| met | pointer to the metric structure. | 
| it | index of the triangle in which we work. | 
| ip | index of the point on which we want to compute the metric in it. | 
Compute metric tensor associated to a ridge point : convention is a bit weird here :
Definition at line 173 of file anisosiz_s.c.


      
  | 
  static | 
| mesh | pointer to the mesh structure. | 
| met | pointer to the metric structure. | 
| it | index of the triangle in which we work. | 
| ip | index of the point on which we want to compute the metric in it. | 
Define metric map at a SINGULARITY of the geometry, associated to the geometric approx of the surface. metric \(=\alpha*Id\), \(\alpha =\) size.
Definition at line 54 of file anisosiz_s.c.


| int MMGS_defsiz_ani | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol | met | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| met | pointer to the metric stucture. | 
Define size at points by intersecting the surfacic metric and the physical metric.
The output metric is:
Step 1: Set metric at points belonging to a required edge: compute the metric as the mean of the length of the required eges passing through the point
Step 2: Travel all the points (via triangles) in the mesh and set metric tensor
search for unintialized metric
Remark: as non manifold points are marked as CRN and REQ, we first try to call defmetsin that fails (because MMG5_boulet don't work for non-manifod points), then we pass here and we set hmax on non-manifold points
Definition at line 735 of file anisosiz_s.c.


| int MMGS_gradsiz_ani | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol | met | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| met | pointer to the metric structure. | 
Enforces mesh gradation by truncating metric field.
Definition at line 835 of file anisosiz_s.c.


      
  | 
  inlinestatic | 
| mesh | pointer to the mesh structure. | 
| met | pointer to the metric structure. | 
| np | global index of vertex in which we intersect the metrics. | 
| me | physical metric at point np. | 
Intersect the surface metric held in np (supported in tangent plane of np) with 3*3 physical metric in me. For ridge points, this function fill the \( p_0->m[3]\) and \( p_0->m[4]\) fields that contains respectively the specific sizes in the \(n_1\) and \(n_2\) directions.
Definition at line 692 of file anisosiz_s.c.


| int MMGS_surfballRotation | ( | MMG5_pMesh | mesh, | 
| MMG5_pPoint | p0, | ||
| MMG5_int * | list, | ||
| int | ilist, | ||
| double | r[3][3], | ||
| double * | lispoi, | ||
| double | n[3] | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| p0 | starting point | 
| list | ball of p0 | 
| ilist | number of tria in the ball of p0 | 
| r | rotation that send the normal at p0 onto the z vector | 
| lipoint | rotated ball of point p0 | 
| n | normal at point p0 | 
Compute the rotation matrix that sends the tangent plane at p0 onto z=0 and apply this rotation to the ball of p0.
Definition at line 529 of file anisosiz_s.c.

