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 */
188
207
219
233 MMG5_int rin, MMG5_int rex);
234
235
249
250/* deallocations */
252
266
279LIBMMG_CORE_EXPORT extern int MMG5_Set_defaultTruncatureSizes(MMG5_pMesh mesh,int8_t sethmin,int8_t sethmax);
280
293
303const char* MMG5_Get_tagName(uint16_t tag);
304
314
324
334LIBMMG_CORE_EXPORT int MMG5_saveEdge(MMG5_pMesh mesh,const char *filename,const char *ext);
335
336/* Useful tools to manage C strings */
345LIBMMG_CORE_EXPORT char *MMG5_Get_basename(char *path);
346
358LIBMMG_CORE_EXPORT int MMG5_Get_format( char *ptr, int fmt );
359
370
379LIBMMG_CORE_EXPORT char *MMG5_Get_path(char *path);
380
389LIBMMG_CORE_EXPORT char *MMG5_Remove_ext (char* path,char *ext);
390
391/* Enum utilities: print enum fields under a string form */
401
411
421
422
432
433#ifdef __cplusplus
434}
435#endif
436
437#endif
MMG5_pMesh MMG5_pSol * sol
MMG5_pMesh char * meshin
MMG5_pMesh * mesh
MMG5_pMesh char * filename
const char * MMG5_Get_tagName(uint16_t tag)
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:104
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:2818
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:2743
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:368
LIBMMG_CORE_EXPORT int MMG5_Set_inputParamName(MMG5_pMesh mesh, const char *fparamin)
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:176
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)
Types used throughout the Mmg libraries.
MMG5_type
Type of solutions.
Definition: libmmgtypes.h:217
MMG5_Format
Type of supported file format.
Definition: libmmgtypes.h:240
MMG5_entities
Identifies the types of mesh entities.
Definition: libmmgtypes.h:228
#define LIBMMG_CORE_EXPORT
MMG mesh structure.
Definition: libmmgtypes.h:613