Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
libmmg3d.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
45#ifndef MMG3DLIB_H
46#define MMG3DLIB_H
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52#include "mmg/common/libmmgtypes.h"
53#include "mmg/mmg3d/mmg3d_export.h"
54
58#define MMG3D_LMAX 10240
59
106};
107
108/*--------------------------- functions header ---------------------------*/
109/* Initialization functions */
110/* init structures */
145 LIBMMG3D_EXPORT int MMG3D_Init_mesh(const int starter,...);
171
172/* init file names */
225 const char* solin);
244 const char* solout);
245
246/* init structure sizes */
268 MMG5_int np, int typSol);
269
294 MMG5_int nentities, int *typSol);
295
318 LIBMMG3D_EXPORT int MMG3D_Set_meshSize(MMG5_pMesh mesh,MMG5_int np,MMG5_int ne,MMG5_int nprism,
319 MMG5_int nt,MMG5_int nquad,MMG5_int na);
320
321/* init structure datas */
343 LIBMMG3D_EXPORT int MMG3D_Set_vertex(MMG5_pMesh mesh, double c0, double c1,
344 double c2, MMG5_int ref,MMG5_int pos);
367 LIBMMG3D_EXPORT int MMG3D_Set_vertices(MMG5_pMesh mesh, double *vertices,MMG5_int *refs);
390 LIBMMG3D_EXPORT int MMG3D_Set_tetrahedron(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1,
391 MMG5_int v2, MMG5_int v3, MMG5_int ref, MMG5_int pos);
414 MMG5_int *refs);
438 LIBMMG3D_EXPORT int MMG3D_Set_prism(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1,
439 MMG5_int v2, MMG5_int v3, MMG5_int v4, MMG5_int v5, MMG5_int ref, MMG5_int pos);
461 LIBMMG3D_EXPORT int MMG3D_Set_prisms(MMG5_pMesh mesh, MMG5_int *prisms,
462 MMG5_int *refs);
463
484 LIBMMG3D_EXPORT int MMG3D_Set_triangle(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1,
485 MMG5_int v2, MMG5_int ref,MMG5_int pos);
507 LIBMMG3D_EXPORT int MMG3D_Set_triangles(MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs);
529 LIBMMG3D_EXPORT int MMG3D_Set_quadrilateral(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1,
530 MMG5_int v2, MMG5_int v3, MMG5_int ref,MMG5_int pos);
552 LIBMMG3D_EXPORT int MMG3D_Set_quadrilaterals(MMG5_pMesh mesh, MMG5_int *quads, MMG5_int *refs);
572 LIBMMG3D_EXPORT int MMG3D_Set_edge(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int ref,MMG5_int pos);
589
607
624
641
658
676
694 LIBMMG3D_EXPORT int MMG3D_Set_requiredTetrahedra(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq);
695
714 LIBMMG3D_EXPORT int MMG3D_Unset_requiredTetrahedra(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq);
715
732
749
767 LIBMMG3D_EXPORT int MMG3D_Set_requiredTriangles(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq);
768
786 LIBMMG3D_EXPORT int MMG3D_Unset_requiredTriangles(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq);
787
805
823
842 LIBMMG3D_EXPORT int MMG3D_Set_parallelTriangles(MMG5_pMesh mesh, MMG5_int *parIdx, MMG5_int npar);
843
862 LIBMMG3D_EXPORT int MMG3D_Unset_parallelTriangles(MMG5_pMesh mesh, MMG5_int *parIdx, MMG5_int npar);
863
880
897
914
931
952 LIBMMG3D_EXPORT int MMG3D_Set_normalAtVertex(MMG5_pMesh mesh, MMG5_int k, double n0, double n1,
953 double n2) ;
954
973 LIBMMG3D_EXPORT int MMG3D_Set_scalarSol(MMG5_pSol met, double s,MMG5_int pos);
1011 LIBMMG3D_EXPORT int MMG3D_Set_vectorSol(MMG5_pSol met, double vx,double vy, double vz,
1012 MMG5_int pos);
1029 LIBMMG3D_EXPORT int MMG3D_Set_vectorSols(MMG5_pSol met, double *sols);
1053 LIBMMG3D_EXPORT int MMG3D_Set_tensorSol(MMG5_pSol met, double m11,double m12, double m13,
1054 double m22,double m23, double m33, MMG5_int pos);
1071 LIBMMG3D_EXPORT int MMG3D_Set_tensorSols(MMG5_pSol met, double *sols);
1094 LIBMMG3D_EXPORT int MMG3D_Set_ithSol_inSolsAtVertices(MMG5_pSol sol,int i, double* s,MMG5_int pos);
1117
1131
1132/* check init */
1149
1171 MMG5_int val);
1192 double val);
1218 MMG5_int ref,double hmin,double hmax,double hausd);
1219
1240 LIBMMG3D_EXPORT int MMG3D_Set_multiMat(MMG5_pMesh mesh, MMG5_pSol sol,MMG5_int ref,int split,
1241 MMG5_int rin, MMG5_int rex);
1242
1263
1264
1287 LIBMMG3D_EXPORT int MMG3D_Get_meshSize(MMG5_pMesh mesh, MMG5_int* np, MMG5_int* ne,MMG5_int *nprism, MMG5_int* nt,
1288 MMG5_int* nquad, MMG5_int* na);
1311 MMG5_int* np,int* typSol);
1335 MMG5_int* nentities,int* typSol);
1363 LIBMMG3D_EXPORT int MMG3D_Get_vertex(MMG5_pMesh mesh, double* c0, double* c1, double* c2,
1364 MMG5_int* ref,int* isCorner, int* isRequired);
1365
1390 LIBMMG3D_EXPORT int MMG3D_GetByIdx_vertex(MMG5_pMesh mesh, double* c0, double* c1, double* c2, MMG5_int* ref,
1391 int* isCorner, int* isRequired,MMG5_int idx);
1392
1422 LIBMMG3D_EXPORT int MMG3D_Get_vertices(MMG5_pMesh mesh, double* vertices, MMG5_int* refs,
1423 int* areCorners, int* areRequired);
1449 LIBMMG3D_EXPORT int MMG3D_Get_tetrahedron(MMG5_pMesh mesh, MMG5_int* v0, MMG5_int* v1, MMG5_int* v2,
1450 MMG5_int* v3,MMG5_int* ref, int* isRequired);
1477 LIBMMG3D_EXPORT int MMG3D_Get_tetrahedra(MMG5_pMesh mesh, MMG5_int* tetra,MMG5_int* refs,
1478 int* areRequired);
1506 LIBMMG3D_EXPORT int MMG3D_Get_prism(MMG5_pMesh mesh, MMG5_int* v0, MMG5_int* v1, MMG5_int* v2,
1507 MMG5_int* v3,MMG5_int* v4,MMG5_int* v5,MMG5_int* ref, int* isRequired);
1534 LIBMMG3D_EXPORT int MMG3D_Get_prisms(MMG5_pMesh mesh, MMG5_int* prisms,MMG5_int* refs,
1535 int* areRequired);
1558 LIBMMG3D_EXPORT int MMG3D_Get_triangle(MMG5_pMesh mesh, MMG5_int* v0, MMG5_int* v1, MMG5_int* v2, MMG5_int* ref,
1559 int* isRequired);
1585 LIBMMG3D_EXPORT int MMG3D_Get_triangles(MMG5_pMesh mesh, MMG5_int* tria, MMG5_int* refs,
1586 int* areRequired);
1609 LIBMMG3D_EXPORT int MMG3D_Get_quadrilateral(MMG5_pMesh mesh, MMG5_int* v0, MMG5_int* v1, MMG5_int* v2,MMG5_int* v3,
1610 MMG5_int* ref, int* isRequired);
1636 LIBMMG3D_EXPORT int MMG3D_Get_quadrilaterals(MMG5_pMesh mesh, MMG5_int* quads, MMG5_int* refs,
1637 int* areRequired);
1659 LIBMMG3D_EXPORT int MMG3D_Get_edge(MMG5_pMesh mesh, MMG5_int* e0, MMG5_int* e1, MMG5_int* ref,
1660 int* isRidge, int* isRequired);
1679 LIBMMG3D_EXPORT int MMG3D_Set_edges(MMG5_pMesh mesh, MMG5_int *edges, MMG5_int* refs);
1701 LIBMMG3D_EXPORT int MMG3D_Get_edges(MMG5_pMesh mesh,MMG5_int *edges,MMG5_int* refs,
1702 int *areRidges,int *areRequired);
1723 LIBMMG3D_EXPORT int MMG3D_Get_normalAtVertex(MMG5_pMesh mesh, MMG5_int k, double *n0, double *n1,
1724 double *n2) ;
1725
1743
1759 LIBMMG3D_EXPORT int MMG3D_Get_scalarSol(MMG5_pSol met, double* s);
1794 LIBMMG3D_EXPORT int MMG3D_Get_vectorSol(MMG5_pSol met, double* vx, double* vy, double* vz);
1811 LIBMMG3D_EXPORT int MMG3D_Get_vectorSols(MMG5_pSol met, double* sols);
1832 LIBMMG3D_EXPORT int MMG3D_Get_tensorSol(MMG5_pSol met, double *m11,double *m12, double *m13,
1833 double *m22,double *m23, double *m33);
1850 LIBMMG3D_EXPORT int MMG3D_Get_tensorSols(MMG5_pSol met, double *sols);
1872 LIBMMG3D_EXPORT int MMG3D_Get_ithSol_inSolsAtVertices(MMG5_pSol sol,int i, double* s,MMG5_int pos);
1895
1912
1936 LIBMMG3D_EXPORT int MMG3D_Add_tetrahedron(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1,
1937 MMG5_int v2, MMG5_int v3, MMG5_int ref);
1938
1961 LIBMMG3D_EXPORT MMG5_int MMG3D_Add_vertex(MMG5_pMesh mesh, double c0, double c1,
1962 double c2, MMG5_int ref);
1963
1964/* input/output functions */
2005
2052
2099
2121
2141
2179
2273
2291
2309
2351
2388
2404
2405/* deallocations */
2437 LIBMMG3D_EXPORT int MMG3D_Free_all(const int starter,...);
2438
2473
2505 LIBMMG3D_EXPORT int MMG3D_Free_names(const int starter,...);
2506
2507/* library */
2525
2546
2566
2582
2596 LIBMMG3D_EXPORT int MMG3D_parsar(int argc,char *argv[],MMG5_pMesh mesh,MMG5_pSol met,MMG5_pSol sol);
2597
2629 LIBMMG3D_EXPORT int MMG3D_usage(char *prog);
2658
2685 double lmin, double lmax, MMG5_int *eltab,int8_t metRidTyp);
2706 LIBMMG3D_EXPORT void MMG3D_searchqua(MMG5_pMesh mesh, MMG5_pSol met, double critmin,
2707 MMG5_int *eltab,int8_t metRidTyp);
2735 double lmax,MMG5_int *eltab,int8_t metRidTyp);
2736
2759 LIBMMG3D_EXPORT int MMG3D_Get_adjaTet(MMG5_pMesh mesh,MMG5_int kel, MMG5_int listet[4]);
2780 LIBMMG3D_EXPORT extern double (*MMG3D_lenedgCoor)(double *ca,double *cb,double *sa,double *sb);
2781
2799
2816
2833
2850
2851
2867
2891
2916 LIBMMG3D_EXPORT int MMG3D_Get_nonBdyTriangle(MMG5_pMesh mesh, MMG5_int* v0, MMG5_int* v1, MMG5_int* v2, MMG5_int* ref, MMG5_int idx);
2917
2941 LIBMMG3D_EXPORT int MMG3D_Get_tetFromTria(MMG5_pMesh mesh, MMG5_int ktri, MMG5_int *ktet, int *iface);
2942
2968 LIBMMG3D_EXPORT int MMG3D_Get_tetsFromTria(MMG5_pMesh mesh, MMG5_int ktri, MMG5_int ktet[2], int iface[2]);
2969
2994 LIBMMG3D_EXPORT int MMG3D_Compute_eigenv(double m[6],double lambda[3],double vp[3][3]);
2995
3011
3025
3026
3032#ifdef __cplusplus
3033}
3034#endif
3035
3036#endif
const int starter
MMG5_pMesh MMG5_pSol * sol
MMG5_pMesh char * meshin
MMG5_pMesh * mesh
MMG5_pMesh char * filename
MMG5_Info info
LIBMMG3D_EXPORT int MMG3D_loadGenericMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:1176
LIBMMG3D_EXPORT int MMG3D_Get_vectorSols(MMG5_pSol met, double *sols)
LIBMMG3D_EXPORT int MMG3D_Set_vertex(MMG5_pMesh mesh, double c0, double c1, double c2, MMG5_int ref, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_saveMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:1259
LIBMMG3D_EXPORT int MMG3D_Unset_requiredEdge(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Get_tensorSols(MMG5_pSol met, double *sols)
LIBMMG3D_EXPORT int MMG3D_Set_iparameter(MMG5_pMesh mesh, MMG5_pSol sol, int iparam, MMG5_int val)
LIBMMG3D_EXPORT int MMG3D_Set_outputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solout)
LIBMMG3D_EXPORT int MMG3D_Get_ithSols_inSolsAtVertices(MMG5_pSol sol, int i, double *s)
LIBMMG3D_EXPORT int MMG3D_Add_tetrahedron(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int v3, MMG5_int ref)
LIBMMG3D_EXPORT int MMG3D_Set_edges(MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs)
LIBMMG3D_EXPORT int MMG3D_Set_parallelTriangles(MMG5_pMesh mesh, MMG5_int *parIdx, MMG5_int npar)
LIBMMG3D_EXPORT int MMG3D_Set_tensorSol(MMG5_pSol met, double m11, double m12, double m13, double m22, double m23, double m33, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_Free_structures(const int starter,...)
LIBMMG3D_EXPORT double(* MMG3D_lenedgCoor)(double *ca, double *cb, double *sa, double *sb)
Definition: mmg3dexterns.c:10
LIBMMG3D_EXPORT int MMG3D_Set_tetrahedron(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int v3, MMG5_int ref, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_Clean_isoSurf(MMG5_pMesh mesh)
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTriangles(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq)
LIBMMG3D_EXPORT int MMG3D_Set_ithSol_inSolsAtVertices(MMG5_pSol sol, int i, double *s, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_Init_mesh(const int starter,...)
LIBMMG3D_EXPORT int MMG3D_Get_edges(MMG5_pMesh mesh, MMG5_int *edges, MMG5_int *refs, int *areRidges, int *areRequired)
LIBMMG3D_EXPORT int MMG3D_Set_requiredVertex(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Set_corner(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_parsop(MMG5_pMesh mesh, MMG5_pSol met)
LIBMMG3D_EXPORT int MMG3D_Unset_ridge(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Set_quadrilaterals(MMG5_pMesh mesh, MMG5_int *quads, MMG5_int *refs)
LIBMMG3D_EXPORT int MMG3D_Set_requiredTetrahedra(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq)
LIBMMG3D_EXPORT int MMG3D_Set_constantSize(MMG5_pMesh mesh, MMG5_pSol met)
LIBMMG3D_EXPORT int MMG3D_Set_prisms(MMG5_pMesh mesh, MMG5_int *prisms, MMG5_int *refs)
LIBMMG3D_EXPORT int MMG3D_Set_dparameter(MMG5_pMesh mesh, MMG5_pSol sol, int dparam, double val)
LIBMMG3D_EXPORT int MMG3D_loadMshMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:1118
LIBMMG3D_EXPORT int MMG3D_Get_quadrilateral(MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *v3, MMG5_int *ref, int *isRequired)
LIBMMG3D_EXPORT double MMG3D_Get_tetrahedronQuality(MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Set_ridge(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Set_edge(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int ref, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_switch_metricStorage(MMG5_pMesh mesh, MMG5_pSol met)
LIBMMG3D_EXPORT int MMG3D_loadVtkMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
LIBMMG3D_EXPORT int MMG3D_Set_vectorSols(MMG5_pSol met, double *sols)
LIBMMG3D_EXPORT int MMG3D_Set_prism(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int v3, MMG5_int v4, MMG5_int v5, MMG5_int ref, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_hashTetra(MMG5_pMesh mesh, int pack)
Definition: hash_3d.c:122
LIBMMG3D_EXPORT int MMG3D_saveMshMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:2124
LIBMMG3D_EXPORT int MMG3D_Set_triangles(MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs)
LIBMMG3D_EXPORT int MMG3D_Set_scalarSol(MMG5_pSol met, double s, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_Get_triangle(MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *ref, int *isRequired)
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTetrahedra(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq)
LIBMMG3D_EXPORT int MMG3D_searchlen(MMG5_pMesh mesh, MMG5_pSol met, double lmin, double lmax, MMG5_int *eltab, int8_t metRidTyp)
LIBMMG3D_EXPORT int MMG3D_Compute_eigenv(double m[6], double lambda[3], double vp[3][3])
LIBMMG3D_EXPORT int MMG3D_Get_iparameter(MMG5_pMesh mesh, MMG5_int iparam)
LIBMMG3D_EXPORT int MMG3D_Set_tetrahedra(MMG5_pMesh mesh, MMG5_int *tetra, MMG5_int *refs)
LIBMMG3D_EXPORT void MMG3D_destockOptions(MMG5_pMesh mesh, MMG5_Info *info)
LIBMMG3D_EXPORT int MMG3D_saveVtuMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
LIBMMG3D_EXPORT int MMG3D_Unset_parallelTriangles(MMG5_pMesh mesh, MMG5_int *parIdx, MMG5_int npar)
LIBMMG3D_EXPORT int MMG3D_Set_ithSols_inSolsAtVertices(MMG5_pSol sol, int i, double *s)
LIBMMG3D_EXPORT int MMG3D_mmg3dls(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_pSol met)
Definition: libmmg3d.c:1192
LIBMMG3D_EXPORT int(* MMG3D_doSol)(MMG5_pMesh mesh, MMG5_pSol met)
Definition: mmg3dexterns.c:11
LIBMMG3D_EXPORT void MMG3D_searchqua(MMG5_pMesh mesh, MMG5_pSol met, double critmin, MMG5_int *eltab, int8_t metRidTyp)
LIBMMG3D_EXPORT int MMG3D_Set_vectorSol(MMG5_pSol met, double vx, double vy, double vz, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_saveTetgenMesh(MMG5_pMesh, const char *)
Definition: inout_3d.c:2644
LIBMMG3D_EXPORT int MMG3D_Set_parallelTriangle(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Chk_meshData(MMG5_pMesh mesh, MMG5_pSol met)
LIBMMG3D_EXPORT void MMG3D_Init_fileNames(MMG5_pMesh mesh, MMG5_pSol sol)
LIBMMG3D_EXPORT int MMG3D_Get_solsAtVerticesSize(MMG5_pMesh mesh, MMG5_pSol *sol, int *nsols, MMG5_int *nentities, int *typSol)
LIBMMG3D_EXPORT int MMG3D_Set_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int typEntity, MMG5_int np, int typSol)
LIBMMG3D_EXPORT int MMG3D_Set_requiredTriangle(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT void MMG3D_Set_handGivenMesh(MMG5_pMesh mesh)
LIBMMG3D_EXPORT int MMG3D_saveMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:2119
LIBMMG3D_EXPORT int MMG3D_Get_tensorSol(MMG5_pSol met, double *m11, double *m12, double *m13, double *m22, double *m23, double *m33)
LIBMMG3D_EXPORT MMG5_int MMG3D_Add_vertex(MMG5_pMesh mesh, double c0, double c1, double c2, MMG5_int ref)
LIBMMG3D_EXPORT int MMG3D_Get_tetrahedron(MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *v3, MMG5_int *ref, int *isRequired)
LIBMMG3D_EXPORT int MMG3D_Set_requiredEdge(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Get_tetrahedra(MMG5_pMesh mesh, MMG5_int *tetra, MMG5_int *refs, int *areRequired)
LIBMMG3D_EXPORT int MMG3D_Unset_parallelTriangle(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_mmg3dmov(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol disp)
Definition: libmmg3d.c:1475
LIBMMG3D_EXPORT int MMG3D_saveVtuMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
LIBMMG3D_EXPORT int MMG3D_saveVtkMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTetrahedron(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Set_meshSize(MMG5_pMesh mesh, MMG5_int np, MMG5_int ne, MMG5_int nprism, MMG5_int nt, MMG5_int nquad, MMG5_int na)
LIBMMG3D_EXPORT int MMG3D_Get_numberOfNonBdyTriangles(MMG5_pMesh mesh, MMG5_int *nb_tria)
LIBMMG3D_EXPORT int MMG3D_mmg3dlib(MMG5_pMesh mesh, MMG5_pSol met)
Definition: libmmg3d.c:975
LIBMMG3D_EXPORT int MMG3D_Get_scalarSols(MMG5_pSol met, double *s)
LIBMMG3D_EXPORT int MMG3D_Get_prisms(MMG5_pMesh mesh, MMG5_int *prisms, MMG5_int *refs, int *areRequired)
LIBMMG3D_EXPORT int MMG3D_Set_scalarSols(MMG5_pSol met, double *s)
LIBMMG3D_EXPORT int MMG3D_saveSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:2300
LIBMMG3D_EXPORT int MMG3D_Get_triangles(MMG5_pMesh mesh, MMG5_int *tria, MMG5_int *refs, int *areRequired)
LIBMMG3D_EXPORT void MMG3D_Set_commonFunc(void)
Definition: libmmg3d.c:1745
LIBMMG3D_EXPORT int MMG3D_Set_requiredTetrahedron(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_parsar(int argc, char *argv[], MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol)
MMG3D_Param
Input parameters for mmg library.
Definition: libmmg3d.h:69
@ MMG3D_DPARAM_hmin
Definition: libmmg3d.h:97
@ MMG3D_IPARAM_debug
Definition: libmmg3d.h:72
@ MMG3D_IPARAM_numberOfLocalParam
Definition: libmmg3d.h:87
@ MMG3D_IPARAM_isoref
Definition: libmmg3d.h:95
@ MMG3D_IPARAM_noswap
Definition: libmmg3d.h:82
@ MMG3D_IPARAM_opnbdy
Definition: libmmg3d.h:77
@ MMG3D_DPARAM_angleDetection
Definition: libmmg3d.h:96
@ MMG3D_DPARAM_hsiz
Definition: libmmg3d.h:99
@ MMG3D_IPARAM_isosurf
Definition: libmmg3d.h:75
@ MMG3D_DPARAM_hausd
Definition: libmmg3d.h:100
@ MMG3D_IPARAM_nosurf
Definition: libmmg3d.h:84
@ MMG3D_IPARAM_anisosize
Definition: libmmg3d.h:92
@ MMG3D_IPARAM_nomove
Definition: libmmg3d.h:83
@ MMG3D_IPARAM_renum
Definition: libmmg3d.h:91
@ MMG3D_DPARAM_hgrad
Definition: libmmg3d.h:101
@ MMG3D_IPARAM_nosizreq
Definition: libmmg3d.h:94
@ MMG3D_DPARAM_rmc
Definition: libmmg3d.h:104
@ MMG3D_IPARAM_angle
Definition: libmmg3d.h:73
@ MMG3D_IPARAM_noinsert
Definition: libmmg3d.h:81
@ MMG3D_DPARAM_ls
Definition: libmmg3d.h:103
@ MMG3D_DPARAM_hgradreq
Definition: libmmg3d.h:102
@ MMG3D_IPARAM_xreg
Definition: libmmg3d.h:86
@ MMG3D_PARAM_size
Definition: libmmg3d.h:105
@ MMG3D_DPARAM_hmax
Definition: libmmg3d.h:98
@ MMG3D_IPARAM_numsubdomain
Definition: libmmg3d.h:90
@ MMG3D_IPARAM_lag
Definition: libmmg3d.h:78
@ MMG3D_IPARAM_nreg
Definition: libmmg3d.h:85
@ MMG3D_IPARAM_numberOfMat
Definition: libmmg3d.h:89
@ MMG3D_IPARAM_verbose
Definition: libmmg3d.h:70
@ MMG3D_IPARAM_numberOfLSBaseReferences
Definition: libmmg3d.h:88
@ MMG3D_IPARAM_optimLES
Definition: libmmg3d.h:80
@ MMG3D_IPARAM_optim
Definition: libmmg3d.h:79
@ MMG3D_IPARAM_iso
Definition: libmmg3d.h:74
@ MMG3D_IPARAM_octree
Definition: libmmg3d.h:93
@ MMG3D_IPARAM_nofem
Definition: libmmg3d.h:76
@ MMG3D_IPARAM_mem
Definition: libmmg3d.h:71
LIBMMG3D_EXPORT int MMG3D_Set_inputSolName(MMG5_pMesh mesh, MMG5_pSol sol, const char *solin)
LIBMMG3D_EXPORT int MMG3D_Free_all(const int starter,...)
LIBMMG3D_EXPORT int MMG3D_saveVtkMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
LIBMMG3D_EXPORT int MMG3D_loadSol(MMG5_pMesh mesh, MMG5_pSol met, const char *filename)
Definition: inout_3d.c:2129
LIBMMG3D_EXPORT int MMG3D_saveAllSols(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:2338
LIBMMG3D_EXPORT int MMG3D_loadMshMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:1058
LIBMMG3D_EXPORT int MMG3D_GetByIdx_vertex(MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired, MMG5_int idx)
LIBMMG3D_EXPORT int MMG3D_Get_scalarSol(MMG5_pSol met, double *s)
LIBMMG3D_EXPORT int MMG3D_Get_ithSol_inSolsAtVertices(MMG5_pSol sol, int i, double *s, MMG5_int pos)
LIBMMG3D_EXPORT void MMG3D_setfunc(MMG5_pMesh mesh, MMG5_pSol met)
LIBMMG3D_EXPORT int MMG3D_Get_normalAtVertex(MMG5_pMesh mesh, MMG5_int k, double *n0, double *n1, double *n2)
LIBMMG3D_EXPORT int MMG3D_Get_prism(MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *v3, MMG5_int *v4, MMG5_int *v5, MMG5_int *ref, int *isRequired)
LIBMMG3D_EXPORT int MMG3D_Set_outputMeshName(MMG5_pMesh mesh, const char *meshout)
LIBMMG3D_EXPORT int MMG3D_loadMesh(MMG5_pMesh mesh, const char *filename)
Definition: inout_3d.c:1044
LIBMMG3D_EXPORT int MMG3D_loadVtuMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inoutcpp_3d.cpp:73
LIBMMG3D_EXPORT int MMG3D_Get_vectorSol(MMG5_pSol met, double *vx, double *vy, double *vz)
LIBMMG3D_EXPORT void MMG3D_Free_solutions(MMG5_pMesh mesh, MMG5_pSol sol)
LIBMMG3D_EXPORT int MMG3D_Get_tetsFromTria(MMG5_pMesh mesh, MMG5_int ktri, MMG5_int ktet[2], int iface[2])
LIBMMG3D_EXPORT int MMG3D_mmg3dcheck(MMG5_pMesh mesh, MMG5_pSol met, MMG5_pSol sol, double critmin, double lmin, double lmax, MMG5_int *eltab, int8_t metRidTyp)
LIBMMG3D_EXPORT int MMG3D_Get_quadrilaterals(MMG5_pMesh mesh, MMG5_int *quads, MMG5_int *refs, int *areRequired)
LIBMMG3D_EXPORT int MMG3D_Get_adjaTet(MMG5_pMesh mesh, MMG5_int kel, MMG5_int listet[4])
Return adjacent elements of a tetrahedron.
LIBMMG3D_EXPORT int MMG3D_Get_vertices(MMG5_pMesh mesh, double *vertices, MMG5_int *refs, int *areCorners, int *areRequired)
LIBMMG3D_EXPORT void MMG3D_Init_parameters(MMG5_pMesh mesh)
LIBMMG3D_EXPORT int MMG3D_Set_tensorSols(MMG5_pSol met, double *sols)
LIBMMG3D_EXPORT int MMG3D_Set_localParameter(MMG5_pMesh mesh, MMG5_pSol sol, int typ, MMG5_int ref, double hmin, double hmax, double hausd)
LIBMMG3D_EXPORT int MMG3D_loadVtkMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
LIBMMG3D_EXPORT int MMG3D_Set_quadrilateral(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int v3, MMG5_int ref, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_Set_multiMat(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int ref, int split, MMG5_int rin, MMG5_int rex)
LIBMMG3D_EXPORT int MMG3D_Set_inputMeshName(MMG5_pMesh mesh, const char *meshin)
LIBMMG3D_EXPORT int MMG3D_Unset_requiredTriangle(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_loadAllSols(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
Definition: inout_3d.c:2202
LIBMMG3D_EXPORT int MMG3D_Set_requiredTriangles(MMG5_pMesh mesh, MMG5_int *reqIdx, MMG5_int nreq)
LIBMMG3D_EXPORT int MMG3D_Unset_requiredVertex(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Get_solSize(MMG5_pMesh mesh, MMG5_pSol sol, int *typEntity, MMG5_int *np, int *typSol)
LIBMMG3D_EXPORT int MMG3D_Get_tetFromTria(MMG5_pMesh mesh, MMG5_int ktri, MMG5_int *ktet, int *iface)
LIBMMG3D_EXPORT int MMG3D_stockOptions(MMG5_pMesh mesh, MMG5_Info *info)
LIBMMG3D_EXPORT int MMG3D_defaultValues(MMG5_pMesh mesh)
LIBMMG3D_EXPORT int MMG3D_Set_lsBaseReference(MMG5_pMesh mesh, MMG5_pSol sol, MMG5_int br)
LIBMMG3D_EXPORT int MMG3D_Get_meshSize(MMG5_pMesh mesh, MMG5_int *np, MMG5_int *ne, MMG5_int *nprism, MMG5_int *nt, MMG5_int *nquad, MMG5_int *na)
LIBMMG3D_EXPORT int MMG3D_Unset_corner(MMG5_pMesh mesh, MMG5_int k)
LIBMMG3D_EXPORT int MMG3D_Set_vertices(MMG5_pMesh mesh, double *vertices, MMG5_int *refs)
LIBMMG3D_EXPORT int MMG3D_Set_solsAtVerticesSize(MMG5_pMesh mesh, MMG5_pSol *sol, int nsols, MMG5_int nentities, int *typSol)
LIBMMG3D_EXPORT int MMG3D_Free_allSols(MMG5_pMesh mesh, MMG5_pSol *sol)
LIBMMG3D_EXPORT int MMG3D_Free_names(const int starter,...)
LIBMMG3D_EXPORT int MMG3D_Set_normalAtVertex(MMG5_pMesh mesh, MMG5_int k, double n0, double n1, double n2)
LIBMMG3D_EXPORT int MMG3D_Get_nonBdyTriangle(MMG5_pMesh mesh, MMG5_int *v0, MMG5_int *v1, MMG5_int *v2, MMG5_int *ref, MMG5_int idx)
LIBMMG3D_EXPORT int MMG3D_loadVtuMesh_and_allData(MMG5_pMesh mesh, MMG5_pSol *sol, const char *filename)
LIBMMG3D_EXPORT int MMG3D_Get_vertex(MMG5_pMesh mesh, double *c0, double *c1, double *c2, MMG5_int *ref, int *isCorner, int *isRequired)
LIBMMG3D_EXPORT int MMG3D_usage(char *prog)
LIBMMG3D_EXPORT int MMG3D_Set_triangle(MMG5_pMesh mesh, MMG5_int v0, MMG5_int v1, MMG5_int v2, MMG5_int ref, MMG5_int pos)
LIBMMG3D_EXPORT int MMG3D_Get_edge(MMG5_pMesh mesh, MMG5_int *e0, MMG5_int *e1, MMG5_int *ref, int *isRidge, int *isRequired)
LIBMMG3D_EXPORT int MMG3D_saveGenericMesh(MMG5_pMesh mesh, MMG5_pSol sol, const char *filename)
Definition: inout_3d.c:2048
#define LIBMMG3D_EXPORT
Definition: mmg3d_export.h:31
Store input parameters of the run.
Definition: libmmgtypes.h:516
MMG mesh structure.
Definition: libmmgtypes.h:605