This directory contains the Gmsh API:

  - gmsh.h: the header defining the Gmsh C++ API
  - gmshc.h: the header defining the Gmsh C API
  - gmsh.py: the module defining the Gmsh Python API
  - gmsh.jl: the module defining the Gmsh Julia API
  - gmsh.f90: the module defining the Gmsh Fortran API

These files are all automatically generated by the Python script 'gen.py'.

The additional file `gmsh.h_cwrap' redefines the C++ API in terms of the C API.
This is provided as a convenience for users of the binary Gmsh SDK whose C++
compiler ABI is not compatible with the ABI of the C++ compiler used to create
the SDK. To use these C++ bindings of the C API instead of the native C++ API,
simply rename `gmsh.h_cwrap' as `gmsh.h'. Note that this will lead to (slightly)
reduced performance compared to using the native Gmsh C++ API, as it entails
additional data copies between the C++ wrapper, the C API and the native C++
code.

See `tutorials/{c++,c,python,julia,fortran}' and `examples/api' for tutorials
and examples on how to use the Gmsh API.

To add a new function in the Gmsh API:

  - add the C++ implementation of the function in 'src/common/gmsh.cpp'
  - add the generic function prototype in 'gen.py'
  - run 'python gen.py'
