mmg3d
variadic_3d.c File Reference

C variadic functions definitions for MMG3D library. More...

#include "mmg3d.h"
Include dependency graph for variadic_3d.c:

Functions

static int MMG3D_Alloc_mesh (MMG5_pMesh *mesh, MMG5_pSol *sol, MMG5_pSol *disp)
 
static void MMG3D_Init_woalloc_mesh (MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol disp)
 
int MMG3D_Init_mesh_var (va_list argptr)
 
int MMG3D_Free_all_var (va_list argptr)
 
int MMG3D_Free_structures_var (va_list argptr)
 
int MMG3D_Free_names_var (va_list argptr)
 

Detailed Description

C variadic functions definitions for MMG3D library.

Author
Algiane Froehly (Inria/UBordeaux)
Version
5
Date
01 2014
Warning
Use the MMG3D_ prefix: MMG5_ prefix will became obsolete soon...
Note
This file contains some internal functions for the API, see the mmg3d/libmmg3d.h header file for the documentation of all the usefull user's API functions.

variadic functions definitions for MMG3D library.

Function Documentation

◆ MMG3D_Alloc_mesh()

static int MMG3D_Alloc_mesh ( MMG5_pMesh mesh,
MMG5_pSol sol,
MMG5_pSol disp 
)
inlinestatic
Parameters
meshpointer toward the mesh structure.
solpointer toward a sol structure (metric or level-set).
disppointer toward a sol structure (displacement).
Returns
1 if success, 0 if fail.

Allocate the mesh and solutions structures at MMG3D format.

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

◆ MMG3D_Free_all_var()

int MMG3D_Free_all_var ( va_list  argptr)
Parameters
argptrlist of the mmg structures that must be deallocated. Each structure must follow one of the MMG5_ARG* preprocessor variable that allow to identify it.

argptr contains at least a pointer toward a MMG5_pMesh structure (that will contain the mesh and identified by the MMG5_ARG_ppMesh keyword)

To call the MMG3D_mmg3dlib function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the ouput metric (and the input one, if provided) and identified by the MMG5_ARG_ppMet keyword).

To call the MMG3D_mmg3dls function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the level-set function and identified by the MMG5_ARG_ppLs keyword).

To call the MMG3D_mmg3dmov library, you must also provide a pointer toward a MMG5_pSol structure storing the displacement (and identified by the MMG5_ARG_ppDisp keyword).

Returns
0 if fail, 1 if success

Internal function for deallocations before return (taking a va_list as argument).

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.
Here is the call graph for this function:

◆ MMG3D_Free_names_var()

int MMG3D_Free_names_var ( va_list  argptr)
Parameters
argptrlist of the mmg structures for whose we want to deallocate the name. Each structure must follow one of the MMG5_ARG* preprocessor variable that allow to identify it.

argptr contains at least a pointer toward a MMG5_pMesh structure (that will contain the mesh and identified by the MMG5_ARG_ppMesh keyword)

To call the MMG3D_mmg3dlib function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the ouput metric (and the input one, if provided) and identified by the MMG5_ARG_ppMet keyword).

To call the MMG3D_mmg3dls function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the level-set function and identified by the MMG5_ARG_ppLs keyword).

To call the MMG3D_mmg3dmov library, you must also provide a pointer toward a MMG5_pSol structure storing the displacement (and identified by the MMG5_ARG_ppDisp keyword).

Returns
0 if fail, 1 if success

Internal function for name deallocations before return (taking a va_list as argument).

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.
Here is the call graph for this function:

◆ MMG3D_Free_structures_var()

int MMG3D_Free_structures_var ( va_list  argptr)
Parameters
argptrlist of the mmg structures that must be deallocated. Each structure must follow one of the MMG5_ARG* preprocessor variable that allow to identify it.

argptr contains at least a pointer toward a MMG5_pMesh structure (that will contain the mesh and identified by the MMG5_ARG_ppMesh keyword)

To call the MMG3D_mmg3dlib function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the ouput metric (and the input one, if provided) and identified by the MMG5_ARG_ppMet keyword).

To call the MMG3D_mmg3dls function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the level-set function and identified by the MMG5_ARG_ppLs keyword).

To call the MMG3D_mmg3dmov library, you must also provide a pointer toward a MMG5_pSol structure storing the displacement (and identified by the MMG5_ARG_ppDisp keyword).

Returns
0 if fail, 1 if success

Internal function for structures deallocations before return (taking a va_list as argument).

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.
Here is the call graph for this function:

◆ MMG3D_Init_mesh_var()

int MMG3D_Init_mesh_var ( va_list  argptr)
Parameters
argptrlist of the mmg structures that must be initialized. Each structure must follow one of the MMG5_ARG* preprocessor variable that allow to identify it.

argptr contains at least a pointer toward a MMG5_pMesh structure (that will contain the mesh and identified by the MMG5_ARG_ppMesh keyword)

To call the MMG3D_mmg3dlib function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the ouput metric (and the input one, if provided) and identified by the MMG5_ARG_ppMet keyword).

To call the MMG3D_mmg3dls function, you must also provide a pointer toward a MMG5_pSol structure (that will contain the level-set function and identified by the MMG5_ARG_ppLs keyword).

To call the MMG3D_mmg3dmov library, you must also provide a pointer toward a MMG5_pSol structure storing the displacement (and identified by the MMG5_ARG_ppDisp keyword).

Returns
1 if success, 0 if fail

Internal function for structure allocations (taking a va_list argument).

Here is the call graph for this function:

◆ MMG3D_Init_woalloc_mesh()

static void MMG3D_Init_woalloc_mesh ( MMG5_pMesh  mesh,
MMG5_pSol  sol,
MMG5_pSol  disp 
)
inlinestatic
Parameters
meshpointer toward the mesh structure.
solpointer toward a sol structure (metric or level-set).
disppointer toward a sol structure (displacement).

Initialization of mesh and solution structures to their default values (default names, versions, dimensions...).

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