Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Data Structures | Macros | Typedefs | Enumerations
libmmgtypes.h File Reference

Types used throughout the Mmg libraries. More...

#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
 Local parameters for a specific entity and reference. More...
 
struct  MMG5_Point
 Structure to store vertices of an MMG mesh. More...
 
struct  MMG5_xPoint
 Structure to store surface vertices of an MMG mesh. More...
 
struct  MMG5_Edge
 Structure to store edges of am MMG mesh. More...
 
struct  MMG5_Tria
 Structure to store triangles of a MMG mesh. More...
 
struct  MMG5_Quad
 Structure to store quadrangles of an MMG mesh. More...
 
struct  MMG5_Tetra
 Structure to store tetrahedra of an MMG mesh. More...
 
struct  MMG5_xTetra
 Structure to store additional information for the surface tetrahedra of an MMG mesh. More...
 
struct  MMG5_Prism
 Structure to store prsim of a MMG mesh. More...
 
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
 Structure to store input parameters of the job. More...
 
struct  MMG5_hgeom
 Cell of the hash table of geometric 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
}
 Identifies the types 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...
 

Detailed Description

Types used throughout the Mmg libraries.

Author
Algiane Froehly (Inria/UBordeaux)
Version
5
Date
01 2014

Definition in file libmmgtypes.h.

Macro Definition Documentation

◆ MG_ISO

#define MG_ISO   10

Implicit boundary in iso mode

Definition at line 71 of file libmmgtypes.h.

◆ MG_MINUS

#define MG_MINUS   3

Default reference to assign to negative domain in iso mode

Definition at line 82 of file libmmgtypes.h.

◆ MG_PLUS

#define MG_PLUS   2

Default reference to assign to positive domain in iso mode

Definition at line 77 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 179 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 169 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 151 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 160 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 132 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 112 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 102 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 122 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 142 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 93 of file libmmgtypes.h.

◆ MMG5_FILENAME_LEN_MAX

#define MMG5_FILENAME_LEN_MAX   255

Maximal length of filenames

Definition at line 195 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 57 of file libmmgtypes.h.

◆ MMG5_MMAT_NoSplit

#define MMG5_MMAT_NoSplit   0

Definition at line 203 of file libmmgtypes.h.

◆ MMG5_MMAT_Split

#define MMG5_MMAT_Split   1

Entity that must be splitted in multimat mode

Definition at line 211 of file libmmgtypes.h.

◆ MMG5_NSOLS_MAX

#define MMG5_NSOLS_MAX   100

Maximal number of solutions per entity

Definition at line 187 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 65 of file libmmgtypes.h.

◆ MMG5_SUCCESS

#define MMG5_SUCCESS   0

Return value for success.

Definition at line 49 of file libmmgtypes.h.

Typedef Documentation

◆ MMG5_pEdge

Definition at line 318 of file libmmgtypes.h.

◆ MMG5_pInvMat

Definition at line 517 of file libmmgtypes.h.

◆ MMG5_pMat

typedef MMG5_Mat* MMG5_pMat

Definition at line 506 of file libmmgtypes.h.

◆ MMG5_pMesh

Definition at line 664 of file libmmgtypes.h.

◆ MMG5_pPar

typedef MMG5_Par* MMG5_pPar

Definition at line 269 of file libmmgtypes.h.

◆ MMG5_pPoint

Definition at line 294 of file libmmgtypes.h.

◆ MMG5_pPrism

Definition at line 478 of file libmmgtypes.h.

◆ MMG5_pQuad

Definition at line 381 of file libmmgtypes.h.

◆ MMG5_pSol

typedef MMG5_Sol* MMG5_pSol

Definition at line 685 of file libmmgtypes.h.

◆ MMG5_pTetra

Definition at line 419 of file libmmgtypes.h.

◆ MMG5_pTria

Definition at line 351 of file libmmgtypes.h.

◆ MMG5_pxPoint

Definition at line 305 of file libmmgtypes.h.

◆ MMG5_pxPrism

Definition at line 496 of file libmmgtypes.h.

◆ MMG5_pxTetra

Definition at line 438 of file libmmgtypes.h.

Enumeration Type Documentation

◆ MMG5_entities

Identifies the types 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 228 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 240 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 217 of file libmmgtypes.h.