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

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

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

Go to the source code of this file.

Functions

static int MMG3D_Alloc_mesh (MMG5_pMesh *mesh, MMG5_pSol *met, MMG5_pSol *ls, MMG5_pSol *disp)
 
static void MMG3D_Init_woalloc_mesh (MMG5_pMesh mesh, MMG5_pSol *met, MMG5_pSol *ls, MMG5_pSol *disp)
 
int MMG3D_Init_mesh_var (va_list argptr)
 
int MMG3D_Free_all_var (va_list argptr)
 
void MMG3D_Free_arrays (MMG5_pMesh *mesh, MMG5_pSol *sol, MMG5_pSol *ls, MMG5_pSol *disp, MMG5_pSol *field)
 
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.

Definition in file variadic_3d.c.

Function Documentation

◆ MMG3D_Alloc_mesh()

static int MMG3D_Alloc_mesh ( MMG5_pMesh mesh,
MMG5_pSol met,
MMG5_pSol ls,
MMG5_pSol disp 
)
inlinestatic
Parameters
meshpointer toward the mesh structure.
metpointer toward a sol structure (metric).
lspointer toward the level-set (in ls-mode).
disppointer toward a sol structure (displacement).
Returns
1 if success, 0 if fail.

Allocate the mesh and solutions structures at MMG3D format.

Definition at line 57 of file variadic_3d.c.

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.

Definition at line 261 of file variadic_3d.c.

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

◆ MMG3D_Free_arrays()

void MMG3D_Free_arrays ( MMG5_pMesh mesh,
MMG5_pSol sol,
MMG5_pSol ls,
MMG5_pSol disp,
MMG5_pSol field 
)
Parameters
meshpointer toward the mesh structure.
solpointer toward a solution / level-set.
solpointer toward a displacement.

Free mesh arrays.

Definition at line 359 of file variadic_3d.c.

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

Definition at line 547 of file variadic_3d.c.

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

Definition at line 449 of file variadic_3d.c.

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

Definition at line 177 of file variadic_3d.c.

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

◆ MMG3D_Init_woalloc_mesh()

static void MMG3D_Init_woalloc_mesh ( MMG5_pMesh  mesh,
MMG5_pSol met,
MMG5_pSol ls,
MMG5_pSol disp 
)
inlinestatic
Parameters
meshpointer toward the mesh structure.
metpointer toward a sol structure (metric).
lspointer toward the level-set (in ls-mode).
disppointer toward a sol structure (displacement).

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

Definition at line 97 of file variadic_3d.c.

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