Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Functions
API_functions_s.c File Reference

C API functions definitions for MMGS library. More...

#include "libmmgs_private.h"
#include "libmmgs.h"
Include dependency graph for API_functions_s.c:

Go to the source code of this file.

Functions

int MMGS_Init_mesh (const int starter,...)
 Initialize a mesh structure and optionally the associated solution and metric structures.
 
void MMGS_Init_fileNames (MMG5_pMesh mesh, MMG5_pSol sol)
 Initialize file names to their default values.
 
int MMGS_Set_inputMeshName (MMG5_pMesh mesh, const char *meshin)
 Set the name of the input mesh.
 
int MMGS_Set_inputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
 Set the name of the input solution file.
 
int MMGS_Set_inputParamName (MMG5_pMesh mesh, const char *fparamin)
 Set the name of the input parameter file.
 
int MMGS_Set_outputMeshName (MMG5_pMesh mesh, const char *meshout)
 Set the name of the output mesh file.
 
int MMGS_Set_outputSolName (MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
 Set the name of the output solution file.
 
void MMGS_Init_parameters (MMG5_pMesh mesh)
 Initialize the input parameters.
 
int MMGS_Set_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, MMG5_int np, int typSol)
 Initialize an array of solution fields: set dimension, types and number of fields.
 
int MMGS_Set_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int nsols, MMG5_int nentities, int *typSol)
 Initialize an array of solution fields defined at vertices: set dimension, types and number of fields.
 
int MMGS_Set_meshSize (MMG5_pMesh mesh, MMG5_int np, MMG5_int nt, MMG5_int na)
 Set the number of vertices, triangles and edges of the mesh and allocate the associated tables.
 
int MMGS_Get_solSize (MMG5_pMesh mesh, MMG5_pSol sol, int *typEntity, MMG5_int *np, int *typSol)
 Get the number of elements, dimension, and type of a solution.
 
int MMGS_Get_solsAtVerticesSize (MMG5_pMesh mesh, MMG5_pSol *sol, int *nsols, MMG5_int *np, int *typSol)
 Get the number of elements, type, and dimensions of several solutions defined on vertices.
 
int MMGS_Get_meshSize (MMG5_pMesh mesh, MMG5_int *np, MMG5_int *nt, MMG5_int *na)
 Get the number of vertices, triangles, and edges of the mesh.
 
int MMGS_Set_vertex (MMG5_pMesh mesh, double c0, double c1, double c2, MMG5_int ref, MMG5_int pos)
 Set the coordinates of a single vertex.
 
int MMGS_Set_vertices (MMG5_pMesh mesh, double *vertices, MMG5_int *refs)
 Set the coordinates and references of all vertices in a mesh.
 
int MMGS_Get_vertex (MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired)
 Get the coordinates c0, c1,c2 and reference ref of the next vertex of mesh.
 
int MMGS_GetByIdx_vertex (MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired, MMG5_int idx)
 Get the coordinates and reference of a specific vertex in the mesh.
 
int MMGS_Get_vertices (MMG5_pMesh mesh, double *vertices, MMG5_int *refs, int *areCorners, int *areRequired)
 Get the coordinates, references and attributes of all vertices in the mesh.
 
int MMGS_Set_triangle (MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int ref, MMG5_int pos)
 Set the coordinates and reference of a single triangle.
 
int MMGS_Get_triangle (MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *ref, int *isRequired)
 Get the vertices, reference, and required attribute of the next triangle in the mesh.
 
int MMGS_Set_triangles (MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs)
 Set the vertices and references of all triangles in the mesh.
 
int MMGS_Get_triangles (MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs, int *areRequired)
 Get the vertices, references, and required attributes of all triangles in the mesh.
 
int MMGS_Set_edge (MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int ref, MMG5_int pos)
 Set the vertices and reference of one edge in the mesh.
 
int MMGS_Get_edge (MMG5_pMesh mesh, MMG5_int *e0, MMG5_int *e1, MMG5_int *ref, int *isRidge, int *isRequired)
 Get the vertices, reference, and attributes of the next edge in the mesh.
 
int MMGS_Set_edges (MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs)
 Set the vertices and references of all edges in a mesh.
 
int MMGS_Get_edges (MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs, int *areRidges, int *areRequired)
 Get vertices, references and attributes of all edges in the mesh.
 
int MMGS_Set_corner (MMG5_pMesh mesh, MMG5_int k)
 Assign the "corner" attribute to a vertex.
 
int MMGS_Unset_corner (MMG5_pMesh mesh, MMG5_int k)
 Remove the "corner" attribute from a vertex.
 
int MMGS_Set_requiredVertex (MMG5_pMesh mesh, MMG5_int k)
 Assign the "required" attribute to a vertex.
 
int MMGS_Unset_requiredVertex (MMG5_pMesh mesh, MMG5_int k)
 Remove the "required" attribute from a vertex.
 
int MMGS_Set_requiredTriangle (MMG5_pMesh mesh, MMG5_int k)
 Assign the "required" attribute to a triangle.
 
int MMGS_Unset_requiredTriangle (MMG5_pMesh mesh, MMG5_int k)
 Remove the "required" attribute from a vertex.
 
int MMGS_Set_ridge (MMG5_pMesh mesh, MMG5_int k)
 Assign the "ridge" attribute to an edge.
 
int MMGS_Unset_ridge (MMG5_pMesh mesh, MMG5_int k)
 Remove the "ridge" attribute from an edge.
 
int MMGS_Set_requiredEdge (MMG5_pMesh mesh, MMG5_int k)
 Assign the "required" attribute to an edge.
 
int MMGS_Unset_requiredEdge (MMG5_pMesh mesh, MMG5_int k)
 Remove the "required" attribute from an edge.
 
int MMGS_Set_normalAtVertex (MMG5_pMesh mesh, MMG5_int k, double n0, double n1, double n2)
 Set the normal orientation at a single vertex.
 
int MMGS_Get_normalAtVertex (MMG5_pMesh mesh, MMG5_int k, double *n0, double *n1, double *n2)
 Get the normal orientation at an edge.
 
double MMGS_Get_triangleQuality (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k)
 Get the quality measure of a triangle.
 
int MMGS_Set_scalarSol (MMG5_pSol met, double s, MMG5_int pos)
 Set a single element of a scalar solution structure.
 
int MMGS_Get_scalarSol (MMG5_pSol met, double *s)
 Get the next element of a scalar solution structure.
 
int MMGS_Set_scalarSols (MMG5_pSol met, double *s)
 Set the values of all elements of a scalar solution structure.
 
int MMGS_Get_scalarSols (MMG5_pSol met, double *s)
 Get all elements of a scalar solution structure.
 
int MMGS_Set_vectorSol (MMG5_pSol met, double vx, double vy, double vz, MMG5_int pos)
 Set a single element of a vector solution structure.
 
int MMGS_Get_vectorSol (MMG5_pSol met, double *vx, double *vy, double *vz)
 Get the next element of a vector solution structure.
 
int MMGS_Set_vectorSols (MMG5_pSol met, double *sols)
 Set all elements of a vector solution structure.
 
int MMGS_Get_vectorSols (MMG5_pSol met, double *sols)
 Get all elements of a vector solution structure.
 
int MMGS_Set_tensorSol (MMG5_pSol met, double m11, double m12, double m13, double m22, double m23, double m33, MMG5_int pos)
 Set a single element of a tensor solution structure.
 
int MMGS_Get_tensorSol (MMG5_pSol met, double *m11, double *m12, double *m13, double *m22, double *m23, double *m33)
 Get the next element of a tensor solution structure.
 
int MMGS_Set_tensorSols (MMG5_pSol met, double *sols)
 Set all elements of a tensor solution structure.
 
int MMGS_Get_tensorSols (MMG5_pSol met, double *sols)
 Get all elements of a tensor solution field.
 
int MMGS_Set_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, MMG5_int pos)
 Set a single element of one out of multiple solution fields that are defined on vertices.
 
int MMGS_Get_ithSol_inSolsAtVertices (MMG5_pSol sol, int i, double *s, MMG5_int pos)
 Get one out of several solutions at a specific vertex.
 
int MMGS_Set_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s)
 Set all elements of one out of multiple solution fields that are defined on vertices.
 
int MMGS_Get_ithSols_inSolsAtVertices (MMG5_pSol sol, int i, double *s)
 Get one out of several solutions at all vertices in the mesh.
 
int MMGS_Chk_meshData (MMG5_pMesh mesh, MMG5_pSol met)
 Check if the numbers of given entities match with mesh and solution size and check mesh data.
 
int MMGS_Set_iparameter (MMG5_pMesh mesh, MMG5_pSol sol, int iparam, MMG5_int val)
 set an integer parameter of the remesher
 
int MMGS_Get_iparameter (MMG5_pMesh mesh, MMG5_int iparam)
 Get the value of an integer parameter of the remesher.
 
int MMGS_Set_dparameter (MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
 set a real-valued parameter of the remesher
 
int MMGS_Set_localParameter (MMG5_pMesh mesh, MMG5_pSol sol, int typ, MMG5_int ref, double hmin, double hmax, double hausd)
 set a local parameter
 
int MMGS_Set_multiMat (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int ref, int split, MMG5_int rin, MMG5_int rout)
 Set the reference mapping for the elements of reference ref in level-set discretization mode.
 
int MMGS_Set_lsBaseReference (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int br)
 Set a new level-set base reference.
 
int MMGS_Free_allSols (MMG5_pMesh mesh, MMG5_pSol *sol)
 Deallocate an array of solution fields.
 
int MMGS_Free_all (const int starter,...)
 Deallocations before return.
 
int MMGS_Free_structures (const int starter,...)
 Structure deallocations before return.
 
int MMGS_Free_names (const int starter,...)
 Structure deallocations before return.
 

Detailed Description

C API functions definitions for MMGS library.

Author
Algiane Froehly (Inria/UBordeaux)
Version
5
Date
01 2014
Note
This file contains some internal functions for the API, see the mmgs/libmmgs.h header file for the documentation of all the usefull user's API functions.

C API for MMGS library.

Definition in file API_functions_s.c.

Function Documentation

◆ MMGS_Chk_meshData()

int MMGS_Chk_meshData ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)

Check if the numbers of given entities match with mesh and solution size and check mesh data.

Parameters
meshpointer to the mesh structure.
metpointer to the solution structure.
Returns
0 on failure, 1 otherwise.

This function checks if the numbers of given entities match with the mesh and solution sizes and checks the mesh data. Use of this function is not mandatory.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_CHK_MESHDATA(mesh,met,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,met
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1260 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Free_all()

int MMGS_Free_all ( const int  starter,
  ... 
)

Deallocations before return.

Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here, your_mesh is a MMG5_pMesh, your_metric and your_level_set are MMG5_pSol.

Returns
0 on failure, 1 on success
Remarks
we pass the structures by reference in order to have argument compatibility between the library call from a Fortran code and a C code.
no Fortran interface to allow variadic args.

Definition at line 1690 of file API_functions_s.c.

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

◆ MMGS_Free_allSols()

int MMGS_Free_allSols ( MMG5_pMesh  mesh,
MMG5_pSol sol 
)

Deallocate an array of solution fields.

Parameters
meshpointer to the mesh structure.
solpointer to an array of solution structures (that stores solution fields).
Returns
1
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_Free_allSols(mesh,sol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1685 of file API_functions_s.c.

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

◆ MMGS_Free_names()

int MMGS_Free_names ( const int  starter,
  ... 
)

Structure deallocations before return.

Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here, your_mesh is a MMG5_pMesh, your_metric and your_level_set are MMG5_pSol.

Returns
0 on failure, 1 on success
Remarks
we pass the structures by reference in order to have argument compatibility between the library call from a Fortran code and a C code.
no Fortran interface to allow variadic args.

Definition at line 1718 of file API_functions_s.c.

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

◆ MMGS_Free_structures()

int MMGS_Free_structures ( const int  starter,
  ... 
)

Structure deallocations before return.

Parameters
starterdummy argument used to initialize the variadic argument list.
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here, your_mesh is a pointer to MMG5_pMesh and your_metric and your_level_set are pointers to MMG5_pSol.

Returns
0 on failure, 1 on success
Remarks
we pass the structures by reference in order to have argument compatibility between the library call from a Fortran code and a C code.
no Fortran interface to allow variadic args.

Definition at line 1704 of file API_functions_s.c.

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

◆ MMGS_Get_edge()

int MMGS_Get_edge ( MMG5_pMesh  mesh,
MMG5_int *  e0,
MMG5_int *  e1,
MMG5_int *  ref,
int *  isRidge,
int *  isRequired 
)

Get the vertices, reference, and attributes of the next edge in the mesh.

Parameters
meshpointer to the mesh structure.
e0pointer to the index of the first vertex of the edge.
e1pointer to the index of the second vertex of the edge.
refpointer to the edge reference.
isRidgepointer to the flag saying if the edge is ridge.
isRequiredpointer to the flag saying if the edge is required.
Returns
0 on failure, 1 otherwise.

This function retrieves the extremities e0, e1, reference ref, and attributes of the next edge of mesh. It is meant to be called in a loop over all edges. When it has been called as many times as there are edges in the mesh, the internal edge counter will be reset.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_EDGE(mesh,e0,e1,ref,isRidge,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT):: e0,e1
INTEGER(MMG5F_INT) :: ref
INTEGER :: isRidge,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 617 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_edges()

int MMGS_Get_edges ( MMG5_pMesh  mesh,
MMG5_int *  edges,
MMG5_int *  refs,
int *  areRidges,
int *  areRequired 
)

Get vertices, references and attributes of all edges in the mesh.

Parameters
meshpointer to the mesh structure.
edgespointer to an array of edges. The vertices of edge i are stored in edges[(i-1)*2] and edges[(i-1)*2+1].
refsedge references. refs[i-1] is the reference of edge i.
areRidges1 if the edge is a ridge, 0 otherwise.
areRequired1 if the edge is required, 0 otherwise.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_EDGES(mesh,edges,refs,areRidges,areRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: refs(*),edges(*)
INTEGER, INTENT(OUT) :: areRequired(*),areRidges(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 680 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_iparameter()

int MMGS_Get_iparameter ( MMG5_pMesh  mesh,
MMG5_int  iparam 
)

Get the value of an integer parameter of the remesher.

Parameters
meshpointer to the mesh structure.
iparaminteger parameter to get (see MMGS_Param structure).
Returns
The value of the parameter.

This function retrieves the value of integer parameter iparam (see MMGS_Param for a list of parameters). It returns the value of the parameter, or zero if the value of iparam is not recognized.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_IPARAMETER(mesh,iparam,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN) :: iparam
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1461 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_ithSol_inSolsAtVertices()

int MMGS_Get_ithSol_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s,
MMG5_int  pos 
)

Get one out of several solutions at a specific vertex.

Parameters
solpointer to the array of solutions
iposition of the solution field that we want to get.
ssolution(s) at mesh vertex pos. The required size of this array depends on the type of solution.
posindex of the vertex on which we get the solution.
Returns
0 on failure, 1 otherwise.

This function retreives the value of field i of the solution array at vertex pos. (pos from 1 to the number of vertices included and i from 1 to the number of solutions). It works for any type of solution; the types are inferred from sol.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_ITHSOL_INSOLSATVERTICES(sol,i,s,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
INTEGER(MMG5F_INT), INTENT(IN) :: pos
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1173 of file API_functions_s.c.

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

◆ MMGS_Get_ithSols_inSolsAtVertices()

int MMGS_Get_ithSols_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s 
)

Get one out of several solutions at all vertices in the mesh.

Parameters
solpointer to the array of solutions
iposition of the solution field that we want to get.
sarray of solutions at mesh vertices. The solution at vertex k is given by s[k-1] for a scalar sol, s[3*(k-1)]@3 for a vectorial solution and s[6*(k-1)]@6 for a tensor solution.
Returns
0 on failure, 1 otherwise.

This function retrieves the values of field i of the solution array sol (i from 1 to the number of solutions). It works for any type of solution; the type is inferred from sol.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_ITHSOLS_INSOLSATVERTICES(sol,i,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1231 of file API_functions_s.c.

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

◆ MMGS_Get_meshSize()

int MMGS_Get_meshSize ( MMG5_pMesh  mesh,
MMG5_int *  np,
MMG5_int *  nt,
MMG5_int *  na 
)

Get the number of vertices, triangles, and edges of the mesh.

recover data

Parameters
meshpointer to the mesh structure.
nppointer to the number of vertices.
ntpointer to the number of triangles.
napointer to the number of edges.
Returns
1.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_MESHSIZE(mesh,np,nt,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT) :: np,nt,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 285 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_normalAtVertex()

int MMGS_Get_normalAtVertex ( MMG5_pMesh  mesh,
MMG5_int  k,
double *  n0,
double *  n1,
double *  n2 
)

Get the normal orientation at an edge.

Parameters
meshpointer to the mesh structure.
kvertex number
n0x componant of the normal at vertex k.
n1y componant of the normal at vertex k.
n2z componant of the normal at vertex k.
Returns
1 on success.

This function retrieves the normal (n0,n1,n2) at vertex k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_NORMALATVERTEX(mesh,k,n0,n1,n2,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
REAL(KIND=8) :: n0,n1,n2
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 786 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_scalarSol()

int MMGS_Get_scalarSol ( MMG5_pSol  met,
double *  s 
)

Get the next element of a scalar solution structure.

Parameters
metpointer to the sol structure.
spointer to the scalar solution value.
Returns
0 on failure, 1 otherwise.

This function retrieves the next element s of the solution field met. It is meant to be called in a loop over all elements. When it has been called as many times as there are elements in the solution, the internal loop counter will be reset.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SCALARSOL(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 858 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_scalarSols()

int MMGS_Get_scalarSols ( MMG5_pSol  met,
double *  s 
)

Get all elements of a scalar solution structure.

Parameters
metpointer to the solution structure.
sarray of scalar solutions at mesh vertices. s[i-1] is the solution at vertex i.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SCALARSOLS(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 904 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_solsAtVerticesSize()

int MMGS_Get_solsAtVerticesSize ( MMG5_pMesh  mesh,
MMG5_pSol sol,
int *  nsols,
MMG5_int *  nentities,
int *  typSol 
)

Get the number of elements, type, and dimensions of several solutions defined on vertices.

Parameters
meshpointer to the mesh structure.
solpointer to an array of sol structures.
nsolsnumber of solutions per entity
nentitiespointer to the number of entities.
typSolarray of size MMG5_NSOL_MAX to store type of each solution (scalar, vectorial, ..., see MMG5_type for possible values).
Returns
1.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SOLSATVERTICESSIZE(mesh,sol,nsols,nentities,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER :: nsols
INTEGER(MMG5F_INT) :: nentities
INTEGER :: typSol(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 256 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_solSize()

int MMGS_Get_solSize ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int *  typEntity,
MMG5_int *  np,
int *  typSol 
)

Get the number of elements, dimension, and type of a solution.

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
typEntitypointer to the type of entities to which solutions are applied. (see MMG5_entities for possible values)
nppointer to the number of elements in the solution.
typSolpointer to the type of the solution (MMG5_Scalar, MMG5_Vector, MMG5_Tensor, MMG5_Notype)
Returns
1.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_SOLSIZE(mesh,sol,typEntity,np,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER :: typEntity,typSol
INTEGER(MMG5F_INT) :: np
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 230 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_tensorSol()

int MMGS_Get_tensorSol ( MMG5_pSol  met,
double *  m11,
double *  m12,
double *  m13,
double *  m22,
double *  m23,
double *  m33 
)

Get the next element of a tensor solution structure.

Parameters
metpointer to the sol structure.
m11pointer to the position (1,1) in the solution tensor.
m12pointer to the position (1,2) in the solution tensor.
m13pointer to the position (1,3) in the solution tensor.
m22pointer to the position (2,2) in the solution tensor.
m23pointer to the position (2,3) in the solution tensor.
m33pointer to the position (3,3) in the solution tensor.
Returns
0 on failure, 1 otherwise.

This function retrieves the next element \((m_{11},m_{12},m_{13},m_{22},m_{23},m_{33})\) of a tensor-valued solution field. It is meant to be called in a loop over all vertices. When it has been called as many times as there are elements in the solution, the internal loop counter will be reset.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TENSORSOL(met,m11,m12,m13,m22,m23,m33,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: m11,m12,m13,m22,m23,m33
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1064 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_tensorSols()

int MMGS_Get_tensorSols ( MMG5_pSol  met,
double *  sols 
)

Get all elements of a tensor solution field.

Parameters
metpointer to the sol structure.
solsarray of solution values. sols[6*(i-1)]@6 is the solution at vertex i.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TENSORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), DIMENSION(*), INTENT(OUT) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1127 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_triangle()

int MMGS_Get_triangle ( MMG5_pMesh  mesh,
MMG5_int *  v0,
MMG5_int *  v1,
MMG5_int *  v2,
MMG5_int *  ref,
int *  isRequired 
)

Get the vertices, reference, and required attribute of the next triangle in the mesh.

Parameters
meshpointer to the mesh structure.
v0pointer to the first vertex of the triangle.
v1pointer to the second vertex of the triangle.
v2pointer to the third vertex of the triangle.
refpointer to the triangle reference.
isRequiredpointer to the flag saying if the triangle is required.
Returns
0 on failure, 1 otherwise.

This function retrieves the vertices v0, v1, v2, reference ref, and required attribute isRequired of the next triangle of mesh. It is meant to be called in a loop over all triangles. When it has been called as many times as there are triangles, the internal loop counter will be reset.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TRIANGLE(mesh,v0,v1,v2,ref,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(OUT):: v0,v1,v2,ref
INTEGER :: isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 494 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_triangleQuality()

double MMGS_Get_triangleQuality ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k 
)

Get the quality measure of a triangle.

Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kindex of the triangle for which we want to get the quality.
Returns
the computed quality or 0 on failure.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_TRIANGLEQUALITY(mesh,met,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,met
INTEGER(MMG5F_INT), INTENT(IN):: k
REAL(KIND=8), INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 796 of file API_functions_s.c.

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

◆ MMGS_Get_triangles()

int MMGS_Get_triangles ( MMG5_pMesh  mesh,
MMG5_int *  tria,
MMG5_int *  refs,
int *  areRequired 
)

Get the vertices, references, and required attributes of all triangles in the mesh.

Parameters
meshpointer to the mesh structure.
triapointer to an array of vertices Vertices of triangle i are stored in tria[(i-1)*3]@3.
refspointer to the array of triangles references. refs[i-1] is the ref of triangle i.
areRequiredpointer to an array of flags saying if triangles are required. areRequired[i-1]=1 if triangle i is required.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs and areRequired arrays)

‍! SUBROUTINE MMGS_GET_TRIANGLES(mesh,tria,refs,areRequired,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT), DIMENSION(*),INTENT(OUT) :: tria
! INTEGER(MMG5F_INT), DIMENSION(*) :: refs
! INTEGER, DIMENSION(*) :: areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 559 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_vectorSol()

int MMGS_Get_vectorSol ( MMG5_pSol  met,
double *  vx,
double *  vy,
double *  vz 
)

Get the next element of a vector solution structure.

Parameters
metpointer to the sol structure.
vxx value of the vectorial solution.
vyy value of the vectorial solution.
vzz value of the vectorial solution.
Returns
0 on failure, 1 otherwise.

This function retrieves the next vector-valued element \((v_x,v_y,vz)\) of a solution field. It is meant to be called in a loop over all elements. When it has been called as many times as there are elements in the solution, the internal loop counter will be reset.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_VECTORSOL(met,vx,vy,vz,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(OUT) :: vx,vy,vz
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 952 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_vectorSols()

int MMGS_Get_vectorSols ( MMG5_pSol  met,
double *  sols 
)

Get all elements of a vector solution structure.

Parameters
metpointer to the sol structure.
solsarray of solutions at mesh vertices. sols[3*(i-1)]@3 is the solution at vertex i.
Returns
0 on failure, 1 otherwise.

This function retrieves all elements of a vector-valued solution field.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_VECTORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1007 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Get_vertex()

int MMGS_Get_vertex ( MMG5_pMesh  mesh,
double *  c0,
double *  c1,
double *  c2,
MMG5_int *  ref,
int *  isCorner,
int *  isRequired 
)

Get the coordinates c0, c1,c2 and reference ref of the next vertex of mesh.

Parameters
meshpointer to the mesh structure.
c0pointer to the coordinate of the vertex along the first dimension.
c1pointer to the coordinate of the vertex along the second dimension.
c2pointer to the coordinate of the vertex along the third dimension.
refpointer to the vertex reference.
isCornerpointer to the flag saying if the vertex is corner.
isRequiredpointer to the flag saying if the vertex is required.
Returns
1.

This function retrieves the coordinates c0, c1,c2, reference ref, and attributes of the next vertex of a mesh. It is meant to be used in a loop over all vertices. When this function has been called as many times as there are vertices, the internal loop counter will be reset. To obtain data for a specific vertex, the MMGS_GetByIdx_vertex function can be used instead.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GET_VERTEX(mesh,c0,c1,c2,ref,isCorner,isRequired,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
REAL(KIND=8), INTENT(OUT) :: c0,c1,c2
INTEGER(MMG5F_INT) :: ref
INTEGER :: isCorner,isRequired
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 360 of file API_functions_s.c.

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

◆ MMGS_Get_vertices()

int MMGS_Get_vertices ( MMG5_pMesh  mesh,
double *  vertices,
MMG5_int *  refs,
int *  areCorners,
int *  areRequired 
)

Get the coordinates, references and attributes of all vertices in the mesh.

Parameters
meshpointer to the mesh structure.
verticespointer to the array of coordinates. The coordinates of vertex i are stored in vertices[(i-1)*3]@3.
refspointer to the array of vertex references. The ref of vertex i is stored in refs[i-1].
areCornerspointer to the array of flags saying if vertices are corners. areCorners[i-1]=1 if vertex i is corner.
areRequiredpointer to the table of flags saying if vertices are required. areRequired[i-1]=1 if vertex i is required.
Returns
1.
Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs,areCorners and areRequired arrays)

‍! SUBROUTINE MMGS_GET_VERTICES(mesh,vertices,refs,areCorners,&
! areRequired,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8),DIMENSION(*), INTENT(OUT) :: vertices
! INTEGER(MMG5F_INT), DIMENSION(*) :: refs
! INTEGER, DIMENSION(*) :: areCorners,areRequired
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 420 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_GetByIdx_vertex()

int MMGS_GetByIdx_vertex ( MMG5_pMesh  mesh,
double *  c0,
double *  c1,
double *  c2,
MMG5_int *  ref,
int *  isCorner,
int *  isRequired,
MMG5_int  idx 
)

Get the coordinates and reference of a specific vertex in the mesh.

Parameters
meshpointer to the mesh structure.
c0pointer to the coordinate of the vertex along the first dimension.
c1pointer to the coordinate of the vertex along the second dimension.
c2pointer to the coordinate of the vertex along the third dimension.
refpointer to the vertex reference.
isCornerpointer to the flag saying if the vertex is corner.
isRequiredpointer to the flag saying if the vertex is required.
idxindex of vertex to get.
Returns
1.

This function retrieves the coordinates c0, c1, c2 and reference ref of vertex idx of mesh, as well as its "corner" and "required" attributes.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_GETBYIDX_VERTEX(mesh,c0,c1,c2,ref,isCorner,isRequired,idx,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
REAL(KIND=8), INTENT(OUT) :: c0,c1,c2
INTEGER :: isCorner,isRequired
INTEGER(MMG5F_INT) :: ref,idx
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 387 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Init_fileNames()

void MMGS_Init_fileNames ( MMG5_pMesh  mesh,
MMG5_pSol  sol 
)

Initialize file names to their default values.

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_INIT_FILENAMES(mesh,sol)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
END SUBROUTINE

Definition at line 56 of file API_functions_s.c.

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

◆ MMGS_Init_mesh()

int MMGS_Init_mesh ( const int  starter,
  ... 
)

Initialize a mesh structure and optionally the associated solution and metric structures.

Parameters
starterdummy argument used to initialize the variadic argument list
...variadic arguments.

For the MMGS_mmgslib function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppMet, &your_metric,MMG5_ARG_end).

For the MMGS_mmgsls function, you need to call the MMGS_Init_mesh function with the following arguments : MMGS_Init_mesh(MMG5_ARG_start,MMG5_ARG_ppMesh, &your_mesh, MMG5_ARG_ppLs, &your_level_set,MMG5_ARG_end).

Here, your_mesh is a MMG5_pMesh, your_metric and your_level_set are MMG5_pSol.

Returns
1 on success, 0 on failure
Remarks
No fortran interface, to allow variadic arguments.

Definition at line 43 of file API_functions_s.c.

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

◆ MMGS_Init_parameters()

void MMGS_Init_parameters ( MMG5_pMesh  mesh)

Initialize the input parameters.

Parameters
meshpointer to the mesh structure.

Initialization of the input parameters (stored in the Info structure).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_INIT_PARAMETERS(mesh)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
END SUBROUTINE

Definition at line 84 of file API_functions_s.c.

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

◆ MMGS_Set_corner()

int MMGS_Set_corner ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Assign the "corner" attribute to a vertex.

Parameters
meshpointer to the mesh structure.
kvertex number.
Returns
1.

This function sets the corner attribute at vertex pos (pos from 1 to the number of vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_CORNER(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 710 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_dparameter()

int MMGS_Set_dparameter ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  dparam,
double  val 
)

set a real-valued parameter of the remesher

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure (unused).
dparamdouble parameter to set (see MMGS_Param for a list of parameters that can be set).
valvalue of the parameter.
Returns
0 on failure, 1 otherwise.

This function sets the double parameter dparam to value val.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_DPARAMETER(mesh,sol,dparam,val,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
MMG5_DATA_PTR_T :: sol
INTEGER, INTENT(IN) :: dparam
REAL(KIND=8), INTENT(IN) :: val
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1511 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_edge()

int MMGS_Set_edge ( MMG5_pMesh  mesh,
MMG5_int  v0,
MMG5_int  v1,
MMG5_int  ref,
MMG5_int  pos 
)

Set the vertices and reference of one edge in the mesh.

Parameters
meshpointer to the mesh structure.
v0first extremity of the edge.
v1second extremity of the edge.
refedge reference.
posedge position in the mesh.
Returns
0 on failure, 1 otherwise.

Assigns vertices v0, v1 and reference ref to the edge at position pos in the mesh structure (pos from 1 to the number of edges included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_EDGE(mesh,v0,v1,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 585 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_edges()

int MMGS_Set_edges ( MMG5_pMesh  mesh,
MMG5_int *  edges,
MMG5_int *  refs 
)

Set the vertices and references of all edges in a mesh.

Parameters
meshpointer to the mesh structure.
edgespointer to an array of edges. The vertices of edge i should be given in edges[(i-1)*2] and edges[(i-1)*2+1].
refspointer to an array of references. refs[i-1] is the reference of edge i.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_EDGES(mesh,edges,refs,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: edges(*),refs(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 663 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_inputMeshName()

int MMGS_Set_inputMeshName ( MMG5_pMesh  mesh,
const char *  meshin 
)

Set the name of the input mesh.

Parameters
meshpointer to the mesh structure.
meshininput mesh name.
Returns
1.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_INPUTMESHNAME(mesh,meshin,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: meshin
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 63 of file API_functions_s.c.

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

◆ MMGS_Set_inputParamName()

int MMGS_Set_inputParamName ( MMG5_pMesh  mesh,
const char *  fparamin 
)

Set the name of the input parameter file.

Parameters
meshpointer to the mesh structure.
fparaminname of the input parameter file.
Returns
1.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_INPUTPARAMNAME(mesh,fparamin,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: fparamin
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 72 of file API_functions_s.c.

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

◆ MMGS_Set_inputSolName()

int MMGS_Set_inputSolName ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  solin 
)

Set the name of the input solution file.

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
solinname of the input solution file.
Returns
1.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_INPUTSOLNAME(mesh,sol,solin,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: solin
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 68 of file API_functions_s.c.

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

◆ MMGS_Set_iparameter()

int MMGS_Set_iparameter ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  iparam,
MMG5_int  val 
)

set an integer parameter of the remesher

functions to set parameters

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure (unused).
iparaminteger parameter to set (see MMGS_Param for a list of parameters that can be set).
valvalue for the parameter.
Returns
0 on failure, 1 otherwise.

This function sets integer parameter iparam to value val.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_IPARAMETER(mesh,sol,iparam,val,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
MMG5_DATA_PTR_T :: sol
INTEGER, INTENT(IN) :: iparam
INTEGER(MMG5F_INT), INTENT(IN) :: val
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1305 of file API_functions_s.c.

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

◆ MMGS_Set_ithSol_inSolsAtVertices()

int MMGS_Set_ithSol_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s,
MMG5_int  pos 
)

Set a single element of one out of multiple solution fields that are defined on vertices.

Parameters
solpointer to the array of solutions
iposition of the solution field that we want to set.
ssolution(s) at mesh vertex pos.
posindex of the vertex on which we set the solution.
Returns
0 on failure, 1 otherwise.

Set values of the solution at field i of the solution array and at position \pos (pos from 1 to the number of vertices included and i from 1 to the number of solutions). The type of solution is determined from sol.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_ITHSOL_INSOLSATVERTICES(sol,i,s,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
INTEGER(MMG5F_INT), INTENT(IN) :: pos
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1146 of file API_functions_s.c.

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

◆ MMGS_Set_ithSols_inSolsAtVertices()

int MMGS_Set_ithSols_inSolsAtVertices ( MMG5_pSol  sol,
int  i,
double *  s 
)

Set all elements of one out of multiple solution fields that are defined on vertices.

Parameters
solpointer to the array of solutions
iposition of the solution field that we want to set.
sarray of solutions at mesh vertices. The solution at vertex k is given by s[k-1] for a scalar sol, s[3*(k-1)]@3 for a vectorial solution and s[6*(k-1)]@6 for a tensor solution.
Returns
0 on failure, 1 otherwise.

Set values of the solution at field i of the solution array (i from 1 to the number of solutions). The type of solution is determined from sol.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_ITHSOLS_INSOLSATVERTICES(sol,i,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: sol
INTEGER, INTENT(IN) :: i
REAL(KIND=8), DIMENSION(*),INTENT(OUT) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1203 of file API_functions_s.c.

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

◆ MMGS_Set_localParameter()

int MMGS_Set_localParameter ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  typ,
MMG5_int  ref,
double  hmin,
double  hmax,
double  hausd 
)

set a local parameter

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
typtype of entity (triangle, edge,...).
refreference of the entity.
hminminimal edge length.
hmaxmaximal edge length.
Hausdorffdistance.
Returns
0 on failure, 1 otherwise.

Set local parameters: set the hausdorff distance at hausd, the minmal edge length at hmin and the maximal edge length at hmax for all elements of type typ and reference ref.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_LOCALPARAMETER(mesh,sol,typ,ref,hmin,hmax,hausd,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: typ
INTEGER(MMG5F_INT), INTENT(IN) :: ref
REAL(KIND=8), INTENT(IN) :: hmin,hmax,hausd
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1591 of file API_functions_s.c.

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

◆ MMGS_Set_lsBaseReference()

int MMGS_Set_lsBaseReference ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  br 
)

Set a new level-set base reference.

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
brnew level-set base reference.
Returns
0 on failure, 1 otherwise.

Set a new level-set base reference of ref br in level-set discretization mode. Base references are boundary conditions to which an implicit domain can be attached. All implicit volumes that are not attached to listed base references are deleted as spurious volumes by the rmc option.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_LSBASEREFERENCE(mesh,sol,br,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER(MMG5F_INT), INTENT(IN):: br
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1681 of file API_functions_s.c.

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

◆ MMGS_Set_meshSize()

int MMGS_Set_meshSize ( MMG5_pMesh  mesh,
MMG5_int  np,
MMG5_int  nt,
MMG5_int  na 
)

Set the number of vertices, triangles and edges of the mesh and allocate the associated tables.

Parameters
meshpointer to the mesh structure.
npnumber of vertices.
ntnumber of triangles.
nanumber of edges.
Returns
0 on failure, 1 otherwise.

If called again, this function resets the whole mesh to reallocate it at the new size

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_MESHSIZE(mesh,np,nt,na,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT) :: np,nt,na
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 185 of file API_functions_s.c.

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

◆ MMGS_Set_multiMat()

int MMGS_Set_multiMat ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_int  ref,
int  split,
MMG5_int  rmin,
MMG5_int  rplus 
)

Set the reference mapping for the elements of reference ref in level-set discretization mode.

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
refinput triangle reference.
splitMMG5_MMAT_NoSplit if the entity must not be split, MMG5_MMAT_Split otherwise
rminreference for the negative side after LS discretization
rplusreference for the positive side after LS discretization
Returns
0 on failure, 1 otherwise.

With this function you can determine which references will be given to the triangles on both sides of the level set, after discretization. Negative and positive here refer to areas where the function is smaller or larger, respectively, than the isovalue of the level set.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_MULTIMAT(mesh,sol,ref,split,rmin,rplus,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER(MMG5F_INT), INTENT(IN):: ref,rmin,rplus
INTEGER, INTENT(IN) :: split
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1676 of file API_functions_s.c.

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

◆ MMGS_Set_normalAtVertex()

int MMGS_Set_normalAtVertex ( MMG5_pMesh  mesh,
MMG5_int  k,
double  n0,
double  n1,
double  n2 
)

Set the normal orientation at a single vertex.

Parameters
meshpointer to the mesh structure.
kvertex index
n0x componant of the normal at vertex k.
n1y componant of the normal at vertex k.
n2z componant of the normal at vertex k.
Returns
1 on success.

Set normal (n0,n1,n2) at vertex k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_NORMALATVERTEX(mesh,k,n0,n1,n2,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
REAL(KIND=8), INTENT(IN) :: n0,n1,n2
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 774 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_outputMeshName()

int MMGS_Set_outputMeshName ( MMG5_pMesh  mesh,
const char *  meshout 
)

Set the name of the output mesh file.

Parameters
meshpointer to the mesh structure.
meshoutname of the output mesh file.
Returns
1.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_OUTPUTMESHNAME(mesh,meshout,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh
CHARACTER(LEN=*), INTENT(IN) :: meshout
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 76 of file API_functions_s.c.

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

◆ MMGS_Set_outputSolName()

int MMGS_Set_outputSolName ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  solout 
)

Set the name of the output solution file.

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
soloutname of the output solution file.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_OUTPUTSOLNAME(mesh,sol,solout,strlen0,retval)
MMG5_DATA_PTR_T, INTENT(INOUT) :: mesh,sol
CHARACTER(LEN=*), INTENT(IN) :: solout
INTEGER, INTENT(IN) :: strlen0
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 81 of file API_functions_s.c.

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

◆ MMGS_Set_requiredEdge()

int MMGS_Set_requiredEdge ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Assign the "required" attribute to an edge.

Parameters
meshpointer to the mesh structure.
kedge index.
Returns
1.

This function makes edge k a required edge. Required edges will not be modified by the remesher.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_REQUIREDEDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 762 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_requiredTriangle()

int MMGS_Set_requiredTriangle ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Assign the "required" attribute to a triangle.

Parameters
meshpointer to the mesh structure.
ktriangle index.
Returns
1.

This function sets the required attribute at triangle k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_REQUIREDTRIANGLE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 735 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_requiredVertex()

int MMGS_Set_requiredVertex ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Assign the "required" attribute to a vertex.

Parameters
meshpointer to the mesh structure.
kvertex number.
Returns
1.

This function sets the required attribute at vertex k. Vertices with this attribute will not be modified by the remesher.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_REQUIREDVERTEX(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 722 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_ridge()

int MMGS_Set_ridge ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Assign the "ridge" attribute to an edge.

Parameters
meshpointer to the mesh structure.
kedge index.
Returns
1.

This function gives the ridge attribute to edge k. This influences how this edge is treated by the remesher.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_RIDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 751 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_scalarSol()

int MMGS_Set_scalarSol ( MMG5_pSol  met,
double  s,
MMG5_int  pos 
)

Set a single element of a scalar solution structure.

Parameters
metpointer to the sol structure.
ssolution scalar value.
posposition of the solution in the mesh.
Returns
0 on failure, 1 otherwise.

This function sets the scalar value s at position pos in the solution structure (pos from 1 to the number of vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SCALARSOL(met,s,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: s
INTEGER(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 823 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_scalarSols()

int MMGS_Set_scalarSols ( MMG5_pSol  met,
double *  s 
)

Set the values of all elements of a scalar solution structure.

Parameters
metpointer to the sol structure.
sarray of scalar solutions values. s[i-1] is the solution at vertex i.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SCALARSOLS(met,s,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8),DIMENSION(*), INTENT(IN) :: s
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 887 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_solsAtVerticesSize()

int MMGS_Set_solsAtVerticesSize ( MMG5_pMesh  mesh,
MMG5_pSol sol,
int  nsols,
MMG5_int  nentities,
int *  typSol 
)

Initialize an array of solution fields defined at vertices: set dimension, types and number of fields.

Parameters
meshpointer to the mesh structure.
solpointer to an allocatable sol structure.
nsolsnumber of solutions per entity
nentitiesnumber of entities
typSolArray of size nsol listing the type of the solutions (scalar, vectorial, ..., see MMG5_type for possible values)
Returns
0 on failure, 1 otherwise.

To use to initialize an array of solution fields (not used by Mmg itself).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SOLSATVERTICESSIZE(mesh,sol,nsols,nentities,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: nsols
INTEGER(MMG5F_INT), INTENT(IN):: nentities
INTEGER, INTENT(IN) :: typSol(*)
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Sol tab allocation

Definition at line 140 of file API_functions_s.c.

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

◆ MMGS_Set_solSize()

int MMGS_Set_solSize ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
int  typEntity,
MMG5_int  np,
int  typSol 
)

Initialize an array of solution fields: set dimension, types and number of fields.

Parameters
meshpointer to the mesh structure.
solpointer to the sol structure.
typEntitytypes of solution entities (vertices, triangles, ... see MMG5_entities for possible values).
npnumber of solutions.
typSoltype of solution (scalar, vectorial, ..., see MMG5_type for possible values)
Returns
0 on failure, 1 otherwise.

To use to initialize an array of solution fields (not used by Mmg itself).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_SOLSIZE(mesh,sol,typEntity,np,typSol,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh,sol
INTEGER, INTENT(IN) :: typEntity,typSol
INTEGER(MMG5F_INT), INTENT(IN):: np
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 93 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_tensorSol()

int MMGS_Set_tensorSol ( MMG5_pSol  met,
double  m11,
double  m12,
double  m13,
double  m22,
double  m23,
double  m33,
MMG5_int  pos 
)

Set a single element of a tensor solution structure.

Parameters
metpointer to the sol structure.
m11value of the tensorial solution at position (1,1) in the tensor.
m12value of the tensorial solution at position (1,2) in the tensor.
m13value of the tensorial solution at position (1,3) in the tensor.
m22value of the tensorial solution at position (2,2) in the tensor.
m23value of the tensorial solution at position (2,3) in the tensor.
m33value of the tensorial solution at position (3,3) in the tensor.
posposition of the solution in the mesh (begin to 1).
Returns
0 on failure, 1 otherwise.

This function sets a tensor value at position pos in solution structure (pos from 1 to the number of vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_TENSORSOL(met,m11,m12,m13,m22,m23,m33,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: m11,m12,m13,m22,m23,m33
INTEGER(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1022 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_tensorSols()

int MMGS_Set_tensorSols ( MMG5_pSol  met,
double *  sols 
)

Set all elements of a tensor solution structure.

Parameters
metpointer to the sol structure.
solsarray of tensorial solutions. sols[6*(i-1)]@6 is the solution at vertex i
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_TENSORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8),DIMENSION(*), INTENT(IN) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 1101 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_triangle()

int MMGS_Set_triangle ( MMG5_pMesh  mesh,
MMG5_int  v0,
MMG5_int  v1,
MMG5_int  v2,
MMG5_int  ref,
MMG5_int  pos 
)

Set the coordinates and reference of a single triangle.

Parameters
meshpointer to the mesh structure.
v0first vertex of triangle.
v1second vertex of triangle.
v2third vertex of triangle.
reftriangle reference.
postriangle position in the mesh.
Returns
0 on failure, 1 otherwise.

This function sets a triangle with vertices v0, v1, v2 and reference ref at position pos in the mesh structure (pos from 1 to the number of triangles included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_TRIANGLE(mesh,v0,v1,v2,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: v0,v1,v2,ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 456 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_triangles()

int MMGS_Set_triangles ( MMG5_pMesh  mesh,
MMG5_int *  tria,
MMG5_int *  refs 
)

Set the vertices and references of all triangles in the mesh.

Parameters
meshpointer to the mesh structure.
triapointer to an array of vertex numbers Vertices of the \(i^{th}\) triangles are stored in tria[(i-1)*3]@3.
refspointer to an array of triangle references. refs[i-1] is the reference of the \(i^{th}\) triangle.
Returns
0 on failure, 1 otherwise.
Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs array)

‍ ! SUBROUTINE MMGS_SET_TRIANGLES(mesh,tria,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: tria,refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 537 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vectorSol()

int MMGS_Set_vectorSol ( MMG5_pSol  met,
double  vx,
double  vy,
double  vz,
MMG5_int  pos 
)

Set a single element of a vector solution structure.

Parameters
metpointer to the sol structure.
vxx value of the vectorial solution.
vyy value of the vectorial solution.
vzz value of the vectorial solution.
posposition of the solution in the mesh (begin to 1).
Returns
0 on failure, 1 otherwise.

This function sets the vectorial value \((v_x,v_y,v_z)\) at position pos in the solution structure (pos from 1 to the number of vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_VECTORSOL(met,vx,vy,vz,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8), INTENT(IN) :: vx,vy,vz
INTEGER(MMG5F_INT), INTENT(IN):: pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 914 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vectorSols()

int MMGS_Set_vectorSols ( MMG5_pSol  met,
double *  sols 
)

Set all elements of a vector solution structure.

Parameters
metpointer to the sol structure.
solsarray of vectorial solutions sols[3*(i-1)]@3 is the solution at vertex i
Returns
0 on failure, 1 otherwise.

This function sets a vector-valued solution at each element of solution structure.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_VECTORSOLS(met,sols,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: met
REAL(KIND=8),DIMENSION(*), INTENT(IN) :: sols
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 984 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vertex()

int MMGS_Set_vertex ( MMG5_pMesh  mesh,
double  c0,
double  c1,
double  c2,
MMG5_int  ref,
MMG5_int  pos 
)

Set the coordinates of a single vertex.

Parameters
meshpointer to the mesh structure.
c0coordinate of the vertex along the first dimension.
c1coordinate of the vertex along the second dimension.
c2coordinate of the vertex along the third dimension.
refvertex reference.
posposition of the vertex in the mesh.
Returns
1.

Set vertex coordinates c0, c1,c2 and reference ref at position pos in the mesh structure (pos from 1 to the number of vertices included).

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_SET_VERTEX(mesh,c0,c1,c2,ref,pos,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
REAL(KIND=8), INTENT(IN) :: c0,c1,c2
INTEGER(MMG5F_INT), INTENT(IN):: ref,pos
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 297 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Set_vertices()

int MMGS_Set_vertices ( MMG5_pMesh  mesh,
double *  vertices,
MMG5_int *  refs 
)

Set the coordinates and references of all vertices in a mesh.

Parameters
meshpointer to the mesh structure.
verticesarray of vertex coordinates in the order \([x_1, y_1, z_1, x_2, \ldots, z_N]\) where \(N\) is the number of vertices.
refsarray of references. The reference of vertex \(i\) is stored in refs[ \(i-1\)].
Returns
1.
Remarks
Fortran interface: (commentated in order to allow to pass %val(0) instead of the refs array)

‍! SUBROUTINE MMGS_SET_VERTICES(mesh,vertices,refs,retval)
! MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
! REAL(KIND=8), DIMENSION(*),INTENT(IN) :: vertices
! INTEGER(MMG5F_INT),DIMENSION(*), INTENT(IN) :: refs
! INTEGER, INTENT(OUT) :: retval
! END SUBROUTINE

Definition at line 333 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_corner()

int MMGS_Unset_corner ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Remove the "corner" attribute from a vertex.

Parameters
meshpointer to the mesh structure.
kvertex number.
Returns
1.

This function removes the corner attribute from vertex pos (from 1 to the number of vertices included).

Remarks
Fortran interface

‍ SUBROUTINE MMGS_UNSET_CORNER(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 716 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_requiredEdge()

int MMGS_Unset_requiredEdge ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Remove the "required" attribute from an edge.

Parameters
meshpointer to the mesh structure.
kedge index.
Returns
1.

This function removes the "required" attribute from edge k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_REQUIREDEDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 768 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_requiredTriangle()

int MMGS_Unset_requiredTriangle ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Remove the "required" attribute from a vertex.

Parameters
meshpointer to the mesh structure.
ktriangle index.
Returns
1.

This function removes the required attribute from triangle k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_REQUIREDTRIANGLE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 743 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_requiredVertex()

int MMGS_Unset_requiredVertex ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Remove the "required" attribute from a vertex.

Parameters
meshpointer to the mesh structure.
kvertex number.
Returns
1.

This function removes the required attribute from vertex k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_REQUIREDVERTEX(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 729 of file API_functions_s.c.

Here is the caller graph for this function:

◆ MMGS_Unset_ridge()

int MMGS_Unset_ridge ( MMG5_pMesh  mesh,
MMG5_int  k 
)

Remove the "ridge" attribute from an edge.

Parameters
meshpointer to the mesh structure.
kedge index.
Returns
1.

This function removes the ridge attribute from edge k.

Remarks
Fortran interface:

‍ SUBROUTINE MMGS_UNSET_RIDGE(mesh,k,retval)
MMG5_DATA_PTR_T,INTENT(INOUT) :: mesh
INTEGER(MMG5F_INT), INTENT(IN):: k
INTEGER, INTENT(OUT) :: retval
END SUBROUTINE

Definition at line 756 of file API_functions_s.c.

Here is the caller graph for this function: