Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
libmmgcommon_private.h
Go to the documentation of this file.
1/* =============================================================================
2** This file is part of the mmg software package for the tetrahedral
3** mesh modification.
4** Copyright (c) Bx INP/CNRS/Inria/UBordeaux/UPMC, 2004-
5**
6** mmg is free software: you can redistribute it and/or modify it
7** under the terms of the GNU Lesser General Public License as published
8** by the Free Software Foundation, either version 3 of the License, or
9** (at your option) any later version.
10**
11** mmg is distributed in the hope that it will be useful, but WITHOUT
12** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13** FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14** License for more details.
15**
16** You should have received a copy of the GNU Lesser General Public
17** License and of the GNU General Public License along with mmg (in
18** files COPYING.LESSER and COPYING). If not, see
19** <http://www.gnu.org/licenses/>. Please read their terms carefully and
20** use this copy of the mmg distribution only if you accept them.
21** =============================================================================
22*/
23
34#ifndef MMGLIBCOMMON_H
35#define MMGLIBCOMMON_H
36
37#include <stdarg.h>
38
39#include "libmmgtypes.h"
40
41#include "chrono_private.h"
42
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
49#define MMG5_VOLFRAC 1.e-5
50
51/*----------------------------- functions header -----------------------------*/
52/* Initialization functions */
66
79
80/* init file names */
151
172
191
203
217 MMG5_int rin, MMG5_int rex);
218
219
233
234/* deallocations */
236
250
263LIBMMG_CORE_EXPORT extern int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh,int8_t sethmin,int8_t sethmax);
264
277
287const char* MMG5_Get_tagName(int tag);
288
298
308
318LIBMMG_CORE_EXPORT int MMG5_saveEdge(MMG5_pMesh mesh,const char *filename,const char *ext);
319
320/* Useful tools to manage C strings */
329LIBMMG_CORE_EXPORT char *MMG5_Get_basename(char *path);
330
342LIBMMG_CORE_EXPORT int MMG5_Get_format( char *ptr, int fmt );
343
354
363LIBMMG_CORE_EXPORT char *MMG5_Get_path(char *path);
364
373LIBMMG_CORE_EXPORT char *MMG5_Remove_ext (char* path,char *ext);
374
375/* Enum utilities: print enum fields under a string form */
385
395
405
406
416
417#ifdef __cplusplus
418}
419#endif
420
421#endif
MMG5_pMesh MMG5_pSol * sol
MMG5_pMesh char * meshin
MMG5_pMesh * mesh
MMG5_pMesh char * filename
LIBMMG_CORE_EXPORT int MMG5_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
LIBMMG_CORE_EXPORT int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh, int8_t sethmin, int8_t sethmax)
LIBMMG_CORE_EXPORT int MMG5_Set_multiMat(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int ref, int split, MMG5_int rin, MMG5_int rex)
Definition: libtools.c:102
LIBMMG_CORE_EXPORT int MMG5_Free_allSols(MMG5_pMesh mesh, MMG5_pSol *sol)
LIBMMG_CORE_EXPORT int MMG5_saveEdge(MMG5_pMesh mesh, const char *filename, const char *ext)
Definition: inout.c:2816
LIBMMG_CORE_EXPORT char * MMG5_Get_basename(char *path)
LIBMMG_CORE_EXPORT int MMG5_unscaleMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol ls)
Definition: scalem.c:689
LIBMMG_CORE_EXPORT void MMG5_mmgFree_names(MMG5_pMesh mesh, MMG5_pSol met)
LIBMMG_CORE_EXPORT int MMG5_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
LIBMMG_CORE_EXPORT int MMG5_Get_format(char *ptr, int fmt)
LIBMMG_CORE_EXPORT const char * MMG5_Get_entitiesName(enum MMG5_entities ent)
LIBMMG_CORE_EXPORT const char * MMG5_Get_typeName(enum MMG5_type typ)
LIBMMG_CORE_EXPORT int MMG5_saveNode(MMG5_pMesh mesh, const char *filename)
Definition: inout.c:2741
const char * MMG5_Get_tagName(int tag)
LIBMMG_CORE_EXPORT void() MMG5_Init_parameters(MMG5_pMesh mesh)
Definition: API_functions.c:51
LIBMMG_CORE_EXPORT int MMG5_Clean_isoEdges(MMG5_pMesh mesh)
Definition: libtools.c:365
LIBMMG_CORE_EXPORT int MMG5_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
LIBMMG_CORE_EXPORT int MMG5_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
LIBMMG_CORE_EXPORT char * MMG5_Get_filenameExt(char *filename)
LIBMMG_CORE_EXPORT char * MMG5_Remove_ext(char *path, char *ext)
LIBMMG_CORE_EXPORT char * MMG5_Get_path(char *path)
LIBMMG_CORE_EXPORT void MMG5_Free_structures(MMG5_pMesh mesh, MMG5_pSol sol)
LIBMMG_CORE_EXPORT int MMG5_Set_lsBaseReference(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int br)
Definition: libtools.c:174
LIBMMG_CORE_EXPORT int MMG5_scaleMesh(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol ls)
Definition: scalem.c:649
LIBMMG_CORE_EXPORT const char * MMG5_Get_formatName(enum MMG5_Format fmt)
LIBMMG_CORE_EXPORT int MMG5_Compute_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double *hsize)
LIBMMG_CORE_EXPORT void MMG5_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met, double hsiz)
LIBMMG_CORE_EXPORT void MMG5_Init_fileNames(MMG5_pMesh mesh, MMG5_pSol sol)
MMG5_type
Type of solutions.
Definition: libmmgtypes.h:211
MMG5_Format
Type of supported file format.
Definition: libmmgtypes.h:234
MMG5_entities
Type of mesh entities.
Definition: libmmgtypes.h:222
#define LIBMMG_CORE_EXPORT
MMG mesh structure.
Definition: libmmgtypes.h:605