Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Data Structures | Macros | Typedefs | Enumerations
libmmgtypes.h File Reference
#include <stdint.h>
#include <stdarg.h>
#include <stddef.h>
#include "mmg/common/mmgcmakedefines.h"
#include "mmg/common/mmgversion.h"
Include dependency graph for libmmgtypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MMG5_Par
 
struct  MMG5_Point
 Structure to store points of a MMG mesh. More...
 
struct  MMG5_xPoint
 Structure to store surface points of a MMG mesh. More...
 
struct  MMG5_Edge
 Structure to store edges of a MMG mesh. More...
 
struct  MMG5_Tria
 
struct  MMG5_Quad
 
struct  MMG5_Tetra
 
struct  MMG5_xTetra
 Structure to store the surface tetrahedra of a MMG mesh. More...
 
struct  MMG5_Prism
 
struct  MMG5_xPrism
 Structure to store the surface prism of a MMG mesh. More...
 
struct  MMG5_Mat
 To store user-defined references in the mesh (useful in LS mode) More...
 
struct  MMG5_InvMat
 To store lookup table for references in the mesh (useful in LS mode) More...
 
struct  MMG5_Info
 Store input parameters of the run. More...
 
struct  MMG5_hgeom
 Cell of the hash table of geom edges. More...
 
struct  MMG5_HGeom
 Hash table to store geometric edges. More...
 
struct  MMG5_hedge
 Used to hash edges (memory economy compared to MMG5_hgeom). More...
 
struct  MMG5_Hash
 Identic as MMG5_HGeom but use MMG5_hedge to store edges instead of MMG5_hgeom (memory economy). More...
 
struct  MMG5_Mesh
 MMG mesh structure. More...
 
struct  MMG5_Sol
 

Macros

#define MMG5_SUCCESS   0
 
#define MMG5_LOWFAILURE   1
 
#define MMG5_STRONGFAILURE   2
 
#define MG_ISO   10
 
#define MG_PLUS   2
 
#define MG_MINUS   3
 
#define MMG5_ARG_start   1
 
#define MMG5_ARG_ppMesh   2
 
#define MMG5_ARG_ppLs   3
 
#define MMG5_ARG_ppMet   4
 
#define MMG5_ARG_ppDisp   5
 
#define MMG5_ARG_ppSols   6
 
#define MMG5_ARG_pMesh   7
 
#define MMG5_ARG_pMet   8
 
#define MMG5_ARG_pDisp   9
 
#define MMG5_ARG_end   10
 
#define MMG5_NSOLS_MAX   100
 
#define MMG5_FILENAME_LEN_MAX   255
 
#define MMG5_MMAT_NoSplit   0
 
#define MMG5_MMAT_Split   1
 

Typedefs

typedef MMG5_ParMMG5_pPar
 
typedef MMG5_PointMMG5_pPoint
 
typedef MMG5_xPointMMG5_pxPoint
 
typedef MMG5_EdgeMMG5_pEdge
 
typedef MMG5_TriaMMG5_pTria
 
typedef MMG5_QuadMMG5_pQuad
 
typedef MMG5_TetraMMG5_pTetra
 
typedef MMG5_xTetraMMG5_pxTetra
 
typedef MMG5_PrismMMG5_pPrism
 
typedef MMG5_xPrismMMG5_pxPrism
 
typedef MMG5_MatMMG5_pMat
 
typedef MMG5_InvMatMMG5_pInvMat
 
typedef MMG5_MeshMMG5_pMesh
 
typedef MMG5_SolMMG5_pSol
 

Enumerations

enum  MMG5_type { MMG5_Notype , MMG5_Scalar , MMG5_Vector , MMG5_Tensor }
 Type of solutions. More...
 
enum  MMG5_entities {
  MMG5_Noentity , MMG5_Vertex , MMG5_Edg , MMG5_Triangle ,
  MMG5_Tetrahedron
}
 Type of mesh entities. More...
 
enum  MMG5_Format {
  MMG5_FMT_MeditASCII , MMG5_FMT_MeditBinary , MMG5_FMT_GmshASCII , MMG5_FMT_GmshBinary ,
  MMG5_FMT_VtkPvtp , MMG5_FMT_VtkPvtu , MMG5_FMT_VtkVtu , MMG5_FMT_VtkVtp ,
  MMG5_FMT_VtkVtk , MMG5_FMT_Tetgen , MMG5_FMT_Unknown
}
 Type of supported file format. More...
 

Macro Definition Documentation

◆ MG_ISO

#define MG_ISO   10

Implicit boundary in iso mode

Definition at line 65 of file libmmgtypes.h.

◆ MG_MINUS

#define MG_MINUS   3

Default reference to assign to negative domain in iso mode

Definition at line 76 of file libmmgtypes.h.

◆ MG_PLUS

#define MG_PLUS   2

Default reference to assign to positive domain in iso mode

Definition at line 71 of file libmmgtypes.h.

◆ MMG5_ARG_end

#define MMG5_ARG_end   10

To end a list of variadic argument (mandatory last argument for all our variadic functions)

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 173 of file libmmgtypes.h.

◆ MMG5_ARG_pDisp

#define MMG5_ARG_pDisp   9

MMG5_pSol structure storing a displacement field

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 163 of file libmmgtypes.h.

◆ MMG5_ARG_pMesh

#define MMG5_ARG_pMesh   7

MMG5_pMesh structure

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 145 of file libmmgtypes.h.

◆ MMG5_ARG_pMet

#define MMG5_ARG_pMet   8

MMG5_pSol structure storing a metric field

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 154 of file libmmgtypes.h.

◆ MMG5_ARG_ppDisp

#define MMG5_ARG_ppDisp   5

Pointer toward a MMG5_pSol structure storing a displacement (for structure allocations purposes)

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 126 of file libmmgtypes.h.

◆ MMG5_ARG_ppLs

#define MMG5_ARG_ppLs   3

Pointer toward a MMG5_pSol structure storing a level-set (for structure allocations purposes)

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 106 of file libmmgtypes.h.

◆ MMG5_ARG_ppMesh

#define MMG5_ARG_ppMesh   2

Pointer toward a MMG5_pMesh structure (for structure allocations purposes)

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 96 of file libmmgtypes.h.

◆ MMG5_ARG_ppMet

#define MMG5_ARG_ppMet   4

Pointer toward a MMG5_pSol structure storing a metric (for structure allocations purposes)

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 116 of file libmmgtypes.h.

◆ MMG5_ARG_ppSols

#define MMG5_ARG_ppSols   6

Pointer toward an array of MMG5_Sol structures storing a list of solutions allocations purposes)

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 136 of file libmmgtypes.h.

◆ MMG5_ARG_start

#define MMG5_ARG_start   1

To begin a list of variadic arguments (mandatory first arg for all our variadic functions)

Remarks
we cannot use an enum because used in variadic functions).

Definition at line 87 of file libmmgtypes.h.

◆ MMG5_FILENAME_LEN_MAX

#define MMG5_FILENAME_LEN_MAX   255

Maximal length of filenames

Definition at line 189 of file libmmgtypes.h.

◆ MMG5_LOWFAILURE

#define MMG5_LOWFAILURE   1

Return value if the remesh process failed but we can save a conform mesh.

Definition at line 51 of file libmmgtypes.h.

◆ MMG5_MMAT_NoSplit

#define MMG5_MMAT_NoSplit   0

Definition at line 197 of file libmmgtypes.h.

◆ MMG5_MMAT_Split

#define MMG5_MMAT_Split   1

Entity that must be splitted in multimat mode

Definition at line 205 of file libmmgtypes.h.

◆ MMG5_NSOLS_MAX

#define MMG5_NSOLS_MAX   100

Maximal number of solutions per entity

Definition at line 181 of file libmmgtypes.h.

◆ MMG5_STRONGFAILURE

#define MMG5_STRONGFAILURE   2

Return value if the remesh process failed and the mesh is non-conform.

Definition at line 59 of file libmmgtypes.h.

◆ MMG5_SUCCESS

#define MMG5_SUCCESS   0

Types

Return value for success.

Definition at line 43 of file libmmgtypes.h.

Typedef Documentation

◆ MMG5_pEdge

Definition at line 312 of file libmmgtypes.h.

◆ MMG5_pInvMat

Definition at line 510 of file libmmgtypes.h.

◆ MMG5_pMat

typedef MMG5_Mat* MMG5_pMat

Definition at line 499 of file libmmgtypes.h.

◆ MMG5_pMesh

Definition at line 656 of file libmmgtypes.h.

◆ MMG5_pPar

typedef MMG5_Par* MMG5_pPar

Definition at line 263 of file libmmgtypes.h.

◆ MMG5_pPoint

Definition at line 288 of file libmmgtypes.h.

◆ MMG5_pPrism

Definition at line 471 of file libmmgtypes.h.

◆ MMG5_pQuad

Definition at line 375 of file libmmgtypes.h.

◆ MMG5_pSol

typedef MMG5_Sol* MMG5_pSol

Definition at line 676 of file libmmgtypes.h.

◆ MMG5_pTetra

Definition at line 412 of file libmmgtypes.h.

◆ MMG5_pTria

Definition at line 345 of file libmmgtypes.h.

◆ MMG5_pxPoint

Definition at line 299 of file libmmgtypes.h.

◆ MMG5_pxPrism

Definition at line 489 of file libmmgtypes.h.

◆ MMG5_pxTetra

Definition at line 431 of file libmmgtypes.h.

Enumeration Type Documentation

◆ MMG5_entities

Type of mesh entities.

Enumerator
MMG5_Noentity 

Undefined type (unusable)

MMG5_Vertex 

Vertex entity

MMG5_Edg 

Edge entity

MMG5_Triangle 

Triangle entity

MMG5_Tetrahedron 

Tetra entity

Definition at line 222 of file libmmgtypes.h.

◆ MMG5_Format

Type of supported file format.

Enumerator
MMG5_FMT_MeditASCII 

ASCII Medit (.mesh)

MMG5_FMT_MeditBinary 

Binary Medit (.meshb)

MMG5_FMT_GmshASCII 

ASCII Gmsh

MMG5_FMT_GmshBinary 

Binary Gmsh

MMG5_FMT_VtkPvtp 

VTK pvtp

MMG5_FMT_VtkPvtu 

VTK pvtu

MMG5_FMT_VtkVtu 

VTK vtu

MMG5_FMT_VtkVtp 

VTK vtp

MMG5_FMT_VtkVtk 

VTK vtk

MMG5_FMT_Tetgen 

Tetgen or Triangle

MMG5_FMT_Unknown 

Unrecognized

Definition at line 234 of file libmmgtypes.h.

◆ MMG5_type

enum MMG5_type

Type of solutions.

Enumerator
MMG5_Notype 

Undefined type (unusable)

MMG5_Scalar 

Scalar solution

MMG5_Vector 

Vectorial solution

MMG5_Tensor 

Tensorial solution

Definition at line 211 of file libmmgtypes.h.