[Gmsh] Feedback on new Gmsh API

Christophe Geuzaine cgeuzaine at uliege.be
Wed Dec 6 23:33:47 CET 2017



> On 5 Dec 2017, at 16:26, Juan Sanchez <juan.e.sanchez at gmail.com> wrote:
> 
> Thanks for doing this.
> 
> Will it be possible for commands sent to the API to be serialized to a
> GEO file?

For the most part, yes: with the built-in cad kernel you can serialize to a .geo file (with gmsh::write("file.geo")); for opencascade you can serialize to brep (with gmsh::write("file.brep")).

>  This is so the structure can be programmatically defined in
> a scripting language, and have the result sent to someone without the
> API.  In addition, is it possible to view the results debugged in the
> GUI?

Yes, either using the above serialized files and the standalone Gmsh app, or directly with the new small API for the graphical user interface. See demos/api/gui.{py,cpp} for an example.

Christophe

> 
> Regards,
> 
> Juan
> 
> 
> On Sun, Dec 3, 2017 at 2:19 AM, Christophe Geuzaine <cgeuzaine at uliege.be> wrote:
>> 
>> 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 mailing list
>> gmsh at onelab.info
>> http://onelab.info/mailman/listinfo/gmsh
> 
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info
> http://onelab.info/mailman/listinfo/gmsh


-- 
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




More information about the gmsh mailing list