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

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 `demos/api' for examples on how to use the Gmsh API. In particular,
`demos/api' contains C++, C, Python and Julia versions of several of the `.geo'
tutorials from `tutorials'.

To add a new function in the Gmsh API:

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