[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Gmsh was originally written in C, and later enhanced with various C++ additions. The resulting code is a hybrid C/C++ beast, hopefully not too badly structured... The scripting language is parsed using Lex and Yacc (actually, Flex and Bison), while the GUI relies on OpenGL for the 3D graphics and FLTK for the widget set. See http://www.opengl.org, http://www.mesa3d.org and http://www.fltk.org for more information.
Gmsh's build system is based on autoconf, and should work on most modern platforms providing standard compliant C and C++ compilers. Practical notes on how to compile Gmsh's source code are included in the distribution. Note that compiling the Windows version requires the Cygwin tools (freely available from http://www.cygwin.com). See B. Frequently asked questions, for more information.
10.1 Coding style 10.2 Option handling
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you plan to contribute code to the Gmsh project, here are some easy rules to make the code easy to read/debug/maintain:
-Wall
to
FLAGS
in the `variables' file);
Msg()
function to print information, errors, ...;
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
To add a new option in Gmsh:
Context_T
class (`Common/Context.h') if
it's a classical option, or in the Post_View
class
(`Common/View.h') if it's a post-processing view-dependent option;
opt_XXX
) and a
default value for this option;
opt_XXX
in `Common/Options.cpp' (and
add the prototype in `Common/Options.h');
opt_XXX
to the OK callback for the corresponding
option panel (in `Fltk/Callbacks.cpp').
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |