![]()  | 
  
    Mmg
    
   Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement) 
   | 
 
Input / Output Functions. More...
#include "mmgcommon_private.h"
Go to the source code of this file.
Functions | |
| int | MMG5_swapbin (int sbin) | 
| MMG5_int | MMG5_swapbin_int (MMG5_int sbin) | 
| float | MMG5_swapf (float sbin) | 
| double | MMG5_swapd (double sbin) | 
| static int | MMG5_countBinaryElts (FILE **inm, const int nelts, const int iswp, int *np, int *na, int *nt, int *nq, int *ne, int *npr) | 
| int | MMG5_loadMshMesh_part1 (MMG5_pMesh mesh, const char *filename, FILE **inm, long *posNodes, long *posElts, long **posNodeData, int *bin, int *iswp, MMG5_int *nelts, int *nsols) | 
| int | MMG5_check_readedMesh (MMG5_pMesh mesh, MMG5_int nref) | 
| int | MMG5_loadMshMesh_part2 (MMG5_pMesh mesh, MMG5_pSol *sol, FILE **inm, const long posNodes, const long posElts, const long *posNodeData, const int bin, const int iswp, const MMG5_int nelts, const int nsols) | 
| void | MMG5_build3DMetric (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int ip, double dbuf[6]) | 
| int | MMG5_saveMshMesh (MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename, int metricData) | 
| int | MMG5_loadSolHeader (const char *filename, int meshDim, FILE **inm, int *ver, int *bin, int *iswp, MMG5_int *np, int *dim, int *nsols, int **type, long *posnp, int imprim) | 
| int | MMG5_readFloatSol3D (MMG5_pSol sol, FILE *inm, int bin, int iswp, int pos) | 
| int | MMG5_readDoubleSol3D (MMG5_pSol sol, FILE *inm, int bin, int iswp, MMG5_int pos) | 
| void | MMG5_writeDoubleSol3D (MMG5_pMesh mesh, MMG5_pSol sol, FILE *inm, int bin, MMG5_int pos, int metricData) | 
| int | MMG5_saveSolHeader (MMG5_pMesh mesh, const char *filename, FILE **inm, int ver, int *bin, MMG5_int *bpos, MMG5_int np, int dim, int nsols, int *entities, int *type, int *size) | 
| int | MMG5_saveSolAtTrianglesHeader (MMG5_pMesh mesh, FILE *inm, int ver, int bin, MMG5_int *bpos, int nsols, int nsolsAtTriangles, int *entities, int *type, int *size) | 
| int | MMG5_saveSolAtTetrahedraHeader (MMG5_pMesh mesh, FILE *inm, int ver, int bin, MMG5_int *bpos, int nsols, int nsolsAtTetra, int *entities, int *type, int *size) | 
| int | MMG5_chkMetricType (MMG5_pMesh mesh, int *type, int *entities, FILE *inm) | 
| void | MMG5_printMetStats (MMG5_pMesh mesh, MMG5_pSol met) | 
| void | MMG5_printSolStats (MMG5_pMesh mesh, MMG5_pSol *sol) | 
| int | MMG5_saveNode (MMG5_pMesh mesh, const char *filename) | 
| int | MMG5_saveEdge (MMG5_pMesh mesh, const char *filename, const char *ext) | 
Input / Output Functions.
Definition in file inout.c.
| void MMG5_build3DMetric | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol | sol, | ||
| MMG5_int | ip, | ||
| double | dbuf[6] | ||
| ) | 
| mesh | pointer to the mesh structure | 
| sol | pointer to the sol structure. | 
| index | of point in which we want to build the metric | 
| dbuf | builded metric | 
Build the metric at point ip depending with its type (ridge/not ridge).
Definition at line 1524 of file inout.c.

| int MMG5_check_readedMesh | ( | MMG5_pMesh | mesh, | 
| MMG5_int | nref | ||
| ) | 
| mesh | pointer to an Mmg mesh | 
| nref | pointer to the number of negative refs (replaced by abolute values). | 
Check the tetra orientation, print warning it negative refs have been detected, mark points as used.
Definition at line 526 of file inout.c.


| int MMG5_chkMetricType | ( | MMG5_pMesh | mesh, | 
| int * | type, | ||
| int * | entities, | ||
| FILE * | inm | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| type | type of the metric | 
| entities | entities on which the metric applies (should be MMG5_Vertex) | 
| inm | metric file | 
Check metric data:
Definition at line 2663 of file inout.c.

      
  | 
  static | 
| inm | pointer to file unit | 
| nelts | number of elements | 
| iswap | 1 if we need to swap bites for little/big endian conversion | 
| np | number of points | 
| na | number of edges | 
| nt | number of tria | 
| nq | number of quads | 
| ne | number of tetra | 
| npr | number of prisms | 
Count number of elts of each type. For now only int32 integers are supported.
Definition at line 127 of file inout.c.


| int MMG5_loadMshMesh_part1 | ( | MMG5_pMesh | mesh, | 
| const char * | filename, | ||
| FILE ** | inm, | ||
| long * | posNodes, | ||
| long * | posElts, | ||
| long ** | posNodeData, | ||
| int * | bin, | ||
| int * | iswp, | ||
| MMG5_int * | nelts, | ||
| int * | nsols | ||
| ) | 
| mesh | pointer to the mesh | 
| filename | pointer to the name of file | 
| inm | pointer to the file pointer | 
| posNodes | pointer to the position of nodes data in file | 
| posElts | pointer to the position of elts data in file | 
| posNodeData | pointer to the list of the positions of data in file | 
| bin | 1 if binary format | 
| nelts | number of elements in file | 
| nsol | number of data in file | 
Begin to read mesh at MSH file format. Read the mesh size informations.
Definition at line 278 of file inout.c.


| int MMG5_loadMshMesh_part2 | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol * | sol, | ||
| FILE ** | inm, | ||
| const long | posNodes, | ||
| const long | posElts, | ||
| const long * | posNodeData, | ||
| const int | bin, | ||
| const int | iswp, | ||
| const MMG5_int | nelts, | ||
| const int | nsols | ||
| ) | 
| mesh | pointer to the mesh | 
| sol | pointer to the solutions array | 
| inm | pointer to the file pointer | 
| posNodes | position of nodes data in file | 
| posElts | position of elts data in file | 
| posNodeData | position of solution data in file | 
| bin | 1 if binary format | 
| nelts | number of elements in file | 
| nsols | number of silutions in file | 
End to read mesh and solution array at MSH file format after the mesh/solution array alloc.
Second step: read the nodes and elements
Read the solution at nodes
Definition at line 664 of file inout.c.


| int MMG5_loadSolHeader | ( | const char * | filename, | 
| int | meshDim, | ||
| FILE ** | inm, | ||
| int * | ver, | ||
| int * | bin, | ||
| int * | iswp, | ||
| MMG5_int * | np, | ||
| int * | dim, | ||
| int * | nsols, | ||
| int ** | type, | ||
| long * | posnp, | ||
| int | imprim | ||
| ) | 
| filename | name of file. | 
| meshDim | mesh dimenson. | 
| inm | allocatable pointer to the FILE structure | 
| ver | file version (1=simple precision, 2=double) | 
| bin | 1 if the file is a binary | 
| iswp | 1 or 0 depending on the endianness (binary only) | 
| np | number of solutions of each type | 
| dim | solution dimension | 
| nsols | number of solutions of different types in the file | 
| type | type of solutions | 
| posnp | pointer to the position of the point list in the file | 
| imprim | verbosity | 
Open the "filename" solution file and read the file header.
Definition at line 2076 of file inout.c.


| void MMG5_printMetStats | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol | met | ||
| ) | 
| void MMG5_printSolStats | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol * | sol | ||
| ) | 
| int MMG5_readDoubleSol3D | ( | MMG5_pSol | sol, | 
| FILE * | inm, | ||
| int | bin, | ||
| int | iswp, | ||
| MMG5_int | pos | ||
| ) | 
| sol | pointer to an allocatable sol structure. | 
| inm | pointer to the solution file | 
| bin | 1 if binary file | 
| iswp | Endianess | 
| index | of the readed solution | 
Read the solution value for vertex of index pos in double precision.
Definition at line 2271 of file inout.c.


| int MMG5_readFloatSol3D | ( | MMG5_pSol | sol, | 
| FILE * | inm, | ||
| int | bin, | ||
| int | iswp, | ||
| int | pos | ||
| ) | 
| sol | pointer to an allocatable sol structure. | 
| inm | pointer to the solution file | 
| bin | 1 if binary file | 
| iswp | Endianess | 
| index | of the readed solution | 
Read the solution value for vertex of index pos in floating precision.
Definition at line 2222 of file inout.c.


| int MMG5_saveEdge | ( | MMG5_pMesh | mesh, | 
| const char * | filename, | ||
| const char * | ext | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| filename | name of file. | 
| ext | file extension (.poly or .edge) | 
Save edge list at .edge file format (Tetgen/Triangle).
Definition at line 2818 of file inout.c.


| int MMG5_saveMshMesh | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol * | sol, | ||
| const char * | filename, | ||
| int | metricData | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| sol | pointer to an array of solutions. | 
| filename | name of file. | 
| metricData | 1 if the data saved is a metric (if only 1 data) | 
Write mesh and a list of solutions at MSH file format (.msh extension). Write binary file for .mshb extension.and ASCII for .msh one.
First step: Count the number of elements of each type
Second step: save the elements at following format: "idx type tagNumber tag0 tag1... v0_elt v1_elt..."
Write solution
Save the solution at following format: "idx sol"
Definition at line 1583 of file inout.c.


| int MMG5_saveNode | ( | MMG5_pMesh | mesh, | 
| const char * | filename | ||
| ) | 
| int MMG5_saveSolAtTetrahedraHeader | ( | MMG5_pMesh | mesh, | 
| FILE * | inm, | ||
| int | ver, | ||
| int | bin, | ||
| MMG5_int * | bpos, | ||
| int | nsols, | ||
| int | nsolsAtTetra, | ||
| int * | entities, | ||
| int * | type, | ||
| int * | size | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| inm | pointer to the opened file unit. | 
| ver | file version (1=simple precision, 2=double). | 
| bin | 1 if the file is a binary. | 
| bpos | cumulative field position for binary Medit format. | 
| nsols | number of solutions of different types in the file. | 
| nsolsAtTetra | number of solutions at tetra in the file. | 
| entities | kind of entity on which the solution applies. | 
| type | type of solutions. | 
| size | size of solutions. | 
Save the number and type of solutions at Tetrahedron (not used by Mmg).
Definition at line 2595 of file inout.c.

| int MMG5_saveSolAtTrianglesHeader | ( | MMG5_pMesh | mesh, | 
| FILE * | inm, | ||
| int | ver, | ||
| int | bin, | ||
| MMG5_int * | bpos, | ||
| int | nsols, | ||
| int | nsolsAtTriangles, | ||
| int * | entities, | ||
| int * | type, | ||
| int * | size | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| inm | pointer to the opened file unit. | 
| ver | file version (1=simple precision, 2=double). | 
| bin | 1 if the file is a binary. | 
| bpos | cumulative field position for binary Medit format. | 
| nsols | number of solutions of different types in the file. | 
| nsolsAtTriangles | number of solutions at triangles in the file. | 
| entities | kind of entity on which the solution applies. | 
| type | type of solutions. | 
| size | size of solutions. | 
Save the number and type of solutions at Triangles (not used by Mmg).
Definition at line 2526 of file inout.c.

| int MMG5_saveSolHeader | ( | MMG5_pMesh | mesh, | 
| const char * | filename, | ||
| FILE ** | inm, | ||
| int | ver, | ||
| int * | bin, | ||
| MMG5_int * | bpos, | ||
| MMG5_int | np, | ||
| int | dim, | ||
| int | nsols, | ||
| int * | entities, | ||
| int * | type, | ||
| int * | size | ||
| ) | 
| mesh | pointer to the mesh structure. | 
| filename | name of file. | 
| inm | allocatable pointer to the FILE structure. | 
| ver | file version (1=simple precision, 2=double). | 
| bin | 1 if the file is a binary. | 
| bpos | cumulative field position for binary Medit format. | 
| np | number of solutions of each type. | 
| dim | solution dimension. | 
| nsols | number of solutions of different types in the file. | 
| entities | kind of entity on which the solution applies (Vertex or Tetra) | 
| type | type of solutions. | 
| size | size of solutions. | 
Open the "filename" solution file and save the file header and the number and type of solutions at vertices (Native solutions for Mmg).
Definition at line 2389 of file inout.c.

| int MMG5_swapbin | ( | int | sbin | ) | 
| MMG5_int MMG5_swapbin_int | ( | MMG5_int | sbin | ) | 
| double MMG5_swapd | ( | double | sbin | ) | 
| float MMG5_swapf | ( | float | sbin | ) | 
| void MMG5_writeDoubleSol3D | ( | MMG5_pMesh | mesh, | 
| MMG5_pSol | sol, | ||
| FILE * | inm, | ||
| int | bin, | ||
| MMG5_int | pos, | ||
| int | metricData | ||
| ) | 
| mesh | pointer to the mesh structure | 
| sol | pointer to an allocatable sol structure. | 
| inm | pointer to the solution file | 
| bin | 1 if binary file | 
| pos | of the writted solution | 
| metricData | 1 if the data saved is a metric (if only 1 data) | 
Write the solution value for vertex of index pos in double precision.
Definition at line 2320 of file inout.c.

