[Gmsh] Feedback on new Gmsh API
cgeuzaine at uliege.be
Sun Dec 3 09:19:27 CET 2017
One of our main goals for the next versions of Gmsh is the release of a stable Application Programming Interface (API), allowing users/developers to easily embed Gmsh (as a library) in their own codes. The design goals for this API are the following: the API should
- allow to do everything that can be done in .geo files (and then more)
- be robust, in particular to wrong input data (i.e. "never crash")
- allow to do simple things, simply
- be maintainable over the long run
To achieve these goals the API
- is purely functional
- only uses basic types from the target language (C++, C or Python)
- is automatically generated from a master API description file
- is fully documented
An initial version of the API has landed in the Git repository, and we would like to get your early feedback. It is defined in the https://gitlab.onelab.info/gmsh/gmsh/blob/master/api directory:
- C++ header: https://gitlab.onelab.info/gmsh/gmsh/blob/master/api/gmsh.h
- C header: https://gitlab.onelab.info/gmsh/gmsh/blob/master/api/gmshc.h
- Python module: https://gitlab.onelab.info/gmsh/gmsh/blob/master/api/gmsh.py
Several examples on how to use the C++ and Python API are available in the https://gitlab.onelab.info/gmsh/gmsh/blob/master/demos/api directory. In particular, this directory contains C++ and Python versions of several of the .geo tutorials from https://gitlab.onelab.info/gmsh/gmsh/blob/master/tutorial.
We plan to release a first (beta) version of the API in Gmsh 3.1, and a first stable version in Gmsh 4.0.
You can send your feedback directly to the mailing list, or comment in the issue tracker https://gitlab.onelab.info/gmsh/gmsh/issues/188.
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science
Free software: http://gmsh.info | http://getdp.info | http://onelab.info
More information about the gmsh