Dear all,

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.

Thanks,

Christophe

-- 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine

Free software: http://gmsh.info | http://getdp.info | http://onelab.info


_______________________________________________
gmsh-announce mailing list
gmsh-announce@onelab.info
http://onelab.info/mailman/listinfo/gmsh-announce

Reply via email to