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

Input / Output Functions. More...

#include "libmmg3d.h"
#include "libmmg3d_private.h"
Include dependency graph for inout_3d.c:

Go to the source code of this file.

Functions

int MMG3D_openMesh (int imprim, const char *filename, FILE **inm, int *bin, char *modeASCII, char *modeBIN)
 
int MMG3D_loadMesh_opened (MMG5_pMesh mesh, FILE *inm, int bin)
 
int MMG3D_loadMesh (MMG5_pMesh mesh, const char *filename)
 
int MMG3D_loadMshMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG3D_loadMshMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
int MMG3D_loadGenericMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG3D_saveMesh (MMG5_pMesh mesh, const char *filename)
 
int MMG3D_saveGenericMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG3D_saveMshMesh (MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
 
int MMG3D_saveMshMesh_and_allData (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
int MMG3D_loadSol (MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
 
int MMG3D_loadAllSols (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
int MMG3D_saveSol (MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
 
int MMG3D_saveAllSols (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
 
static int MMG3D_saveEle (MMG5_pMesh mesh, const char *filename)
 
static int MMG3D_saveNeigh (MMG5_pMesh mesh, const char *filename)
 
static int MMG3D_saveFace (MMG5_pMesh mesh, const char *filename)
 
int MMG3D_saveTetgenMesh (MMG5_pMesh mesh, const char *filename)
 

Detailed Description

Input / Output Functions.

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

Definition in file inout_3d.c.

Function Documentation

◆ MMG3D_loadAllSols()

int MMG3D_loadAllSols ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solutions array
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Load 1 or more solutions in a solution file at medit file format.

Remarks
Fortran interface:

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

Read the file header

Sol tab allocation

Definition at line 2202 of file inout_3d.c.

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

◆ MMG3D_loadGenericMesh()

int MMG3D_loadGenericMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Read mesh data in a file whose format depends on the filename extension.

Remarks
Fortran interface:

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

Definition at line 1176 of file inout_3d.c.

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

◆ MMG3D_loadMesh()

int MMG3D_loadMesh ( MMG5_pMesh  mesh,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of file.
Returns
0 if the file is not found, -1 if we detect mismatch parameters or we fail, 1 otherwise.

Read mesh data.

Definition at line 1044 of file inout_3d.c.

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

◆ MMG3D_loadMesh_opened()

int MMG3D_loadMesh_opened ( MMG5_pMesh  mesh,
FILE *  inm,
int  bin 
)

Definition at line 113 of file inout_3d.c.

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

◆ MMG3D_loadMshMesh()

int MMG3D_loadMshMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solution structure.
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Read mesh and 0 or 1 data at MSH file format (.msh extension). We read only low-order points, edges, tria, quadra, tetra and prisms.

Remarks
Fortran interface:

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

Definition at line 1058 of file inout_3d.c.

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

◆ MMG3D_loadMshMesh_and_allData()

int MMG3D_loadMshMesh_and_allData ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward a list of solution structures.
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Read mesh and a list of data at MSH file format (.msh extension). We read only low-order points, edges, tria, quadra, tetra and prisms.

Remarks
Fortran interface:

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

Definition at line 1118 of file inout_3d.c.

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

◆ MMG3D_loadSol()

int MMG3D_loadSol ( MMG5_pMesh  mesh,
MMG5_pSol  met,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the sol structure.
filenamename of file.
Returns
0 if file is not found, -1 if fail for another reason (mem lack, file format...), 1 if success.

Load metric field. The solution file must contains only 1 solution: the metric

Remarks
Fortran interface:

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

Read the file header

Definition at line 2129 of file inout_3d.c.

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

◆ MMG3D_openMesh()

int MMG3D_openMesh ( int  imprim,
const char *  filename,
FILE **  inm,
int *  bin,
char *  modeASCII,
char *  modeBIN 
)
Parameters
imprimverbosity level (muted for stdout if -1)
filenamefile to open
inmpointer toward the file unit
bin1 if file will be at binary format
modeASCIImode in which to open an ascii file ("r","r+","w","w+",...)
modeASCIImode in which to open an ascii file ("r","r+","w","w+",...)
Returns
0 if fail to open file, -1 for other errors, 1 if success.

Try to open a Medit file at asked mode (read only, write, etc) and store if file is binary (depending on the extension).

Definition at line 53 of file inout_3d.c.

Here is the caller graph for this function:

◆ MMG3D_saveAllSols()

int MMG3D_saveAllSols ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solutions array
filenamename of the solution file.
Returns
0 or -1 if fail, 1 otherwise.

Save 1 or more solutions at medit solution file format

Remarks
Fortran interface:

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

Definition at line 2338 of file inout_3d.c.

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

◆ MMG3D_saveEle()

static int MMG3D_saveEle ( MMG5_pMesh  mesh,
const char *  filename 
)
inlinestatic

Definition at line 2428 of file inout_3d.c.

Here is the caller graph for this function:

◆ MMG3D_saveFace()

static int MMG3D_saveFace ( MMG5_pMesh  mesh,
const char *  filename 
)
inlinestatic

Definition at line 2580 of file inout_3d.c.

Here is the caller graph for this function:

◆ MMG3D_saveGenericMesh()

int MMG3D_saveGenericMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Save mesh data in a file whose format depends on the filename extension.

Remarks
Fortran interface:

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

Definition at line 2048 of file inout_3d.c.

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

◆ MMG3D_saveMesh()

int MMG3D_saveMesh ( MMG5_pMesh  mesh,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamepointer toward the name of file.
Returns
0 if failed, 1 otherwise.

Save mesh data.

Warning
you must call the MMG3D_packMesh function before saving your mesh.

Definition at line 1259 of file inout_3d.c.

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

◆ MMG3D_saveMshMesh()

int MMG3D_saveMshMesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solution structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Write mesh and 0 or 1 data at MSH file format (.msh extension). Write binary file for .mshb extension and ASCII for .msh one.

Remarks
Fortran interface:

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

Definition at line 2119 of file inout_3d.c.

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

◆ MMG3D_saveMshMesh_and_allData()

int MMG3D_saveMshMesh_and_allData ( MMG5_pMesh  mesh,
MMG5_pSol sol,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward the solution structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Write mesh and a list of data fields (that are considered as solutions and not metrics, thus, we do nothing over the ridge points) at MSH file format (.msh extension). Save file at ASCII format for .msh extension, at binary format for .mshb one.

Remarks
Fortran interface:

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

Definition at line 2124 of file inout_3d.c.

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

◆ MMG3D_saveNeigh()

static int MMG3D_saveNeigh ( MMG5_pMesh  mesh,
const char *  filename 
)
inlinestatic

Definition at line 2500 of file inout_3d.c.

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

◆ MMG3D_saveSol()

int MMG3D_saveSol ( MMG5_pMesh  mesh,
MMG5_pSol  met,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the sol structure.
filenamename of file.
Returns
0 if failed, 1 otherwise.

Write isotropic or anisotropic metric.

Remarks
Fortran interface:

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

Definition at line 2300 of file inout_3d.c.

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

◆ MMG3D_saveTetgenMesh()

int MMG3D_saveTetgenMesh ( MMG5_pMesh  mesh,
const char *  filename 
)
Parameters
meshpointer toward the mesh structure.
filenamename of the readed file.
Returns
0 or -1 if fail, 1 otherwise.

Save mesh data at Triangle (or equivalent to Tetgen in 3D) file format.

Remarks
Fortran interface:

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

Definition at line 2644 of file inout_3d.c.

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