mmgs
movpt_s.c File Reference

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

#include "mmgs.h"
#include <math.h>
Include dependency graph for movpt_s.c:

Functions

int movintpt_iso (MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
 
int MMGS_paramDisp (MMG5_pMesh mesh, int it1, int it2, double l1old, double l2old, int8_t isrid1, int8_t isrid2, int ip0, int ip1, int ip2, double step, double o[3], int8_t *isrid)
 
static int MMGS_update_normalAndTangent (MMG5_pMesh mesh, MMG5_pPoint p0, MMG5_pPoint p, double llold, double lam0, double lam1, double lam2, double no1[3], double no2[3], double np1[3], double np2[3], double nn1[3], double nn2[3], double to[3])
 
int MMGS_moveTowardPoint (MMG5_pMesh mesh, MMG5_pPoint p0, MMG5_pPoint p, double llold, double lam0, double lam1, double lam2, double nn1[3], double nn2[3], double to[3])
 
int movridpt_iso (MMG5_pMesh mesh, MMG5_pSol met, int *list, int ilist)
 

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

◆ MMGS_moveTowardPoint()

int MMGS_moveTowardPoint ( MMG5_pMesh  mesh,
MMG5_pPoint  p0,
MMG5_pPoint  p,
double  llold,
double  lam0,
double  lam1,
double  lam2,
double  nn1[3],
double  nn2[3],
double  to[3] 
)
Parameters
meshpointer toward the mesh
p0point to move.
pneighbouring point toward which we try to move.
lloldinit length of edge p0-p
lam0first bezier basis function (order 2)
lam1second bezier basis function (order 2)
lam2third bezier basis function (order 2)
nn1normal at point p0 after relocation
nn2normal at point p0 after relocation
totangent along edge at point p0 after relocation
Returns
1 if success, 0 if fail

Update normals and tangent at ref or ridge point p0 after relocation at coordinates o.

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

◆ MMGS_paramDisp()

int MMGS_paramDisp ( MMG5_pMesh  mesh,
int  it1,
int  it2,
double  l1old,
double  l2old,
int8_t  isrid1,
int8_t  isrid2,
int  ip0,
int  ip1,
int  ip2,
double  step,
double  o[3],
int8_t *  isrid 
)
Parameters
meshpointer toward the mesh
it1triangle to which belongs the first edge
it2triangle to which belongs the second edge
l1oldlength of the first edge
l2oldlength of the second edge
isrid11 if the first edge is a ridge
isrid21 if the second edge is a ridge
ip0edge point that we want to move
ip1edge point connected by the ref/ridge edge to p0
ip2edge point connected by the ref/ridge edge to p0
stepdisplacement factor along the ref/ridge edge
ocoordinates of point after relocation
isrid1 if point is moved toward a ridge.
Returns
1 if success, 0 otherwise.

Infer arc length of displacement along ref or ridge edge, parameterized over edges.

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

◆ MMGS_update_normalAndTangent()

static int MMGS_update_normalAndTangent ( MMG5_pMesh  mesh,
MMG5_pPoint  p0,
MMG5_pPoint  p,
double  llold,
double  lam0,
double  lam1,
double  lam2,
double  no1[3],
double  no2[3],
double  np1[3],
double  np2[3],
double  nn1[3],
double  nn2[3],
double  to[3] 
)
static
Parameters
meshpointer toward the mesh
p0point to move.
pneighbouring point toward which we try to move.
lloldinit length of edge p0-p
lam0first bezier basis function (order 2)
lam1second bezier basis function (order 2)
lam2third bezier basis function (order 2)
no1init normal at point p0
no2init normal at point p0
np1normal at point p associated to no1
np2normal at point p associated to no2
nn1normal at point p0 after relocation
nn2normal at point p0 after relocation
totangent along edge at point p0 after relocation
Returns
1 if success, 0 if fail

Update normals and tangent at ref or ridge point p0 after relocation at coordinates o with the normal np1 associated to the normal no1 and the normal np2 associated to the normal no2.

Here is the caller graph for this function:

◆ movintpt_iso()

int movintpt_iso ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int *  list,
int  ilist 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ movridpt_iso()

int movridpt_iso ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int *  list,
int  ilist 
)
Here is the call graph for this function:
Here is the caller graph for this function: