mmg3d
anisomovpt_3d.c File Reference

Functions to move a point in the mesh. More...

Include dependency graph for anisomovpt_3d.c:

Functions

int _MMG5_movintpt_ani (MMG5_pMesh mesh, MMG5_pSol met, _MMG3D_pOctree octree, int *list, int ilist, int improve)
 
int _MMG5_movbdyregpt_ani (MMG5_pMesh mesh, MMG5_pSol met, _MMG3D_pOctree octree, int *listv, int ilistv, int *lists, int ilists, int improveSurf, int improveVol)
 
int _MMG5_movbdyrefpt_ani (MMG5_pMesh mesh, MMG5_pSol met, _MMG3D_pOctree octree, int *listv, int ilistv, int *lists, int ilists, int improve)
 
int _MMG5_movbdynompt_ani (MMG5_pMesh mesh, MMG5_pSol met, _MMG3D_pOctree octree, int *listv, int ilistv, int *lists, int ilists, int improve)
 
int _MMG5_movbdyridpt_ani (MMG5_pMesh mesh, MMG5_pSol met, _MMG3D_pOctree octree, int *listv, int ilistv, int *lists, int ilists, int improve)
 

Detailed Description

Functions to move a point in the mesh.

Author
Charles Dapogny (UPMC)
Cécile Dobrzynski (Bx INP/Inria/UBordeaux)
Pascal Frey (UPMC)
Algiane Froehly (Inria/UBordeaux)
Version
5
Todo:
Doxygen documentation

Function Documentation

◆ _MMG5_movbdynompt_ani()

int _MMG5_movbdynompt_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
_MMG3D_pOctree  octree,
int *  listv,
int  ilistv,
int *  lists,
int  ilists,
int  improve 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
octreepointer toward the octree structure.
listvpointer toward the volumic ball of the point.
ilistvsize of the volumic ball.
listspointer toward the surfacic ball of the point.
ilistssize of the surfacic ball.
improveforce the new minimum element quality to be greater or equal than 1.02 of the old minimum element quality.
Returns
0 if fail, 1 if success.

Move boundary non manifold point, whose volumic and (exterior) surfacic balls are passed

Remarks
we don't check if we break the hausdorff criterion.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ _MMG5_movbdyrefpt_ani()

int _MMG5_movbdyrefpt_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
_MMG3D_pOctree  octree,
int *  listv,
int  ilistv,
int *  lists,
int  ilists,
int  improve 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
octreepointer toward the octree structure.
listvpointer toward the volumic ball of the point.
ilistvsize of the volumic ball.
listspointer toward the surfacic ball of the point.
ilistssize of the surfacic ball.
improveforce the new minimum element quality to be greater or equal than 1.02 of the old minimum element quality.
Returns
0 if fail, 1 if success.
Remarks
we don't check if we break the hausdorff criterion.

Move boundary reference point, whose volumic and surfacic balls are passed.

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

◆ _MMG5_movbdyregpt_ani()

int _MMG5_movbdyregpt_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
_MMG3D_pOctree  octree,
int *  listv,
int  ilistv,
int *  lists,
int  ilists,
int  improveSurf,
int  improveVol 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
octreepointer toward the octree structure.
listvpointer toward the volumic ball of the point.
ilistvsize of the volumic ball.
listspointer toward the surfacic ball of the point.
ilistssize of the surfacic ball.
improveforce the new minimum element quality to be greater or equal than 1.02 of the old minimum element quality.
Returns
0 if we can't move the point, 1 if we can.
Remarks
we don't check if we break the hausdorff criterion.
the metric is not interpolated at the new position.

Move boundary regular point, whose volumic and surfacic balls are passed.

Step 1 : rotation matrix that sends normal n to the third coordinate vector of R^3



Step 2 : rotation of the oriented surfacic ball with r : lispoi[k] is the common edge between faces lists[k-1] and lists[k]


Step 3 : Compute gradient towards optimal position = centre of mass of the ball, projected to tangent plane

Step 4 : locate new point in the ball, and compute its barycentric coordinates
Step 5 : come back to original problem, and compute patch in triangle iel

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

◆ _MMG5_movbdyridpt_ani()

int _MMG5_movbdyridpt_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
_MMG3D_pOctree  octree,
int *  listv,
int  ilistv,
int *  lists,
int  ilists,
int  improve 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
octreepointer toward the octree structure.
listvpointer toward the volumic ball of the point.
ilistvsize of the volumic ball.
listspointer toward the surfacic ball of the point.
ilistssize of the surfacic ball.
improveforce the new minimum element quality to be greater or equal
Returns
0 if fail, 1 if success.
Remarks
we don't check if we break the hausdorff criterion.

Move boundary ridge point, whose volumic and surfacic balls are passed.

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

◆ _MMG5_movintpt_ani()

int _MMG5_movintpt_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
_MMG3D_pOctree  octree,
int *  list,
int  ilist,
int  improve 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
octreepointer toward the octree structure.
listpointer toward the volumic ball of the point.
ilistsize of the volumic ball.
improveforce the new minimum element quality to be greater or equal than 1.02 of the old minimum element quality.
Returns
0 if we can't move the point, 1 if we can.

Move internal point whose volumic is passed.

Remarks
the metric is not interpolated at the new position.
we don't check if we break the hausdorff criterion.
Here is the call graph for this function:
Here is the caller graph for this function: