Skip to content

Commit

Permalink
Merge pull request #225 from laetitia-m/feature/split-vertices
Browse files Browse the repository at this point in the history
Wrap splits functions - for ParMmg convenience
  • Loading branch information
Algiane authored Nov 7, 2023
2 parents 966c6ed + e418bf2 commit 62340b7
Show file tree
Hide file tree
Showing 4 changed files with 208 additions and 93 deletions.
6 changes: 5 additions & 1 deletion src/common/hash.c
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,8 @@ int MMG5_hashEdge(MMG5_pMesh mesh,MMG5_Hash *hash, MMG5_int a,MMG5_int b,MMG5_in
* \return 1 if success, 0 if fail (edge is not found).
*
* Update the index of the point stored along the edge \f$[a;b]\f$
* \note In ParMmg, hash_pmmg.c: PMMG_hashUpdate_all updates k and s at the same time;
* \note PMMG_hashUpdate_all might be moved here if needed one day in mmg.
*
*/
int MMG5_hashUpdate(MMG5_Hash *hash, MMG5_int a,MMG5_int b,MMG5_int k) {
Expand Down Expand Up @@ -491,7 +493,9 @@ int MMG5_hashEdgeTag(MMG5_pMesh mesh,MMG5_Hash *hash, MMG5_int a,MMG5_int b,int1
* \param b index of the second extremity of the edge.
* \return the index of point stored along \f$[a;b]\f$.
*
* Find the index of point stored along \f$[a;b]\f$.
* Find the index of point stored along \f$[a;b]\f$.
* \note In ParMmg, hash_pmmg.c: PMMG_hashGet_all gets k and s at the same time;
* \note PMMG_hashGet_all might be moved here if needed one day in mmg.
*
*/
MMG5_int MMG5_hashGet(MMG5_Hash *hash,MMG5_int a,MMG5_int b) {
Expand Down
2 changes: 1 addition & 1 deletion src/common/libmmgtypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ typedef struct {
MMG5_int ref; /*!< Reference of the triangle */
MMG5_int base;
MMG5_int cc; /*!< used to store the tetra + tetra face indices
that allow to access to the tria */
that allow to access to the tria 4*k + i */
MMG5_int edg[3]; /*!< edg[i] contains the ref of the \f$i^{th}\f$ edge
of triangle */
MMG5_int flag;
Expand Down
7 changes: 7 additions & 0 deletions src/mmg3d/libmmg3d_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -314,24 +314,31 @@ int MMG3D_update_xtetra ( MMG5_pMesh mesh );
int MMG5_mmg3dChkmsh(MMG5_pMesh,int,MMG5_int);
int MMG3D_setMeshSize_initData(MMG5_pMesh,MMG5_int,MMG5_int,MMG5_int,MMG5_int,MMG5_int,MMG5_int);
int MMG3D_setMeshSize_alloc(MMG5_pMesh);
void MMG3D_split1_cfg(MMG5_int flag,uint8_t *tau,const uint8_t **taued);
int MMG3D_split1_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split1(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t metRidTyp);
int MMG5_split1b(MMG5_pMesh,MMG5_pSol,int64_t*,int,MMG5_int,int,int8_t,int8_t);
MMG5_int MMG5_splitedg(MMG5_pMesh mesh, MMG5_pSol met,MMG5_int iel, int iar, double crit);
uint8_t MMG3D_split2sf_cfg(MMG5_int flag,MMG5_int v[4],uint8_t *tau,const uint8_t **taued);
int MMG3D_split2sf_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split2sf(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t);
int MMG5_split2sf_globNum(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],MMG5_int vGlobNum[4],int8_t metRidTyp);
int MMG3D_split2_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split2(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t);
int MMG3D_split3_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split3(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t);
void MMG3D_split3cone_cfg(MMG5_int flag,MMG5_int v[4],uint8_t tau[4],const uint8_t **taued, uint8_t *ia,uint8_t *ib);
int MMG3D_split3cone_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split3cone(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t);
int MMG5_split3cone_globNum(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],MMG5_int vGlobNum[4],int8_t metRidTyp);
int MMG3D_split3op_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split3op(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, MMG5_int vx[6],int8_t);
int MMG3D_split4sf_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split4sf(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t);
void MMG3D_split4op_cfg(MMG5_int flag,MMG5_int v[4],uint8_t tau[4],const uint8_t **taued, uint8_t *imin01,uint8_t *imin23);
int MMG3D_split4op_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split4op(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t);
int MMG5_split4op_globNum(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],MMG5_int vGlobNum[4],int8_t metRidTyp);
int MMG3D_split5_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
int MMG5_split5(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6],int8_t);
int MMG3D_split6_sim(MMG5_pMesh mesh,MMG5_pSol met,MMG5_int k,MMG5_int vx[6]);
Expand Down
Loading

0 comments on commit 62340b7

Please sign in to comment.