[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