File: libmeshb7_helpers.h

package info (click to toggle)
libmeshb 7.80-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,848 kB
  • sloc: ansic: 12,810; f90: 1,146; fortran: 406; makefile: 218
file content (73 lines) | stat: -rw-r--r-- 2,876 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73


/*----------------------------------------------------------------------------*/
/*                                                                            */
/*                            LIBMESHB-HELPERS V0.91                          */
/*                                                                            */
/*----------------------------------------------------------------------------*/
/*                                                                            */
/* Description:         libmeshb's helper functions' headers                  */
/* Author:              Loic MARECHAL                                         */
/* Creation date:       mar 24 2021                                           */
/* Last modification:   nov 05 2021                                           */
/*                                                                            */
/*----------------------------------------------------------------------------*/


#ifndef LIBMESHB7_HELPERS_H
#define LIBMESHB7_HELPERS_H


/*----------------------------------------------------------------------------*/
/* Defines                                                                    */
/*----------------------------------------------------------------------------*/

#include <stdint.h>

#ifdef INT64
#define itg int64_t
#else
#define itg int32_t
#endif

#ifdef REAL32
#define fpn float
#else
#define fpn double
#endif

/*----------------------------------------------------------------------------*/
/* Prototypes of public structures                                            */
/*----------------------------------------------------------------------------*/

typedef struct
{
   int64_t MshIdx;
   itg NmbBndHdr, (*BndHdrTab)[2], NmbBndVer, *BndVerTab;
   itg NmbInrHdr, (*InrHdrTab)[2], NmbInrVer, *InrVerTab;
   itg NmbVolHdr, (*VolHdrTab)[2], NmbVolFac, *VolFacTab;
}PolMshSct;

/*----------------------------------------------------------------------------*/
/* Prototypes of public procedures                                            */
/*----------------------------------------------------------------------------*/

#ifdef __cplusplus
extern "C" {
#endif

extern PolMshSct *GmfAllocatePolyhedralStructure(int64_t);
extern void       GmfFreePolyghedralStructure   (PolMshSct *);
extern int        GmfReadBoundaryPolygons       (PolMshSct *);
extern int        GmfReadPolyhedra              (PolMshSct *);
extern itg        GmfGetBoundaryPolygon         (PolMshSct *, itg, itg *);
extern itg        GmfGetInnerPolygon            (PolMshSct *, itg, itg *);
extern itg        GmfGetPolyhedron              (PolMshSct *, itg, itg *);
extern itg        GmfTesselatePolygon           (PolMshSct *, itg, itg (*)[3], itg (*)[3]);
extern float      GmfEvaluateNumbering          (int, int, int *, int *);

#ifdef __cplusplus
} // end extern "C"
#endif

#endif