netgen/ng/gui.cpp
Matthias Hochsteger 025f8750be GUI support from Python and some cleanup
Squashed commit of the following:

commit 5058ceb9351548937487aa94073e7f59236ae9fe
Merge: d37f0af 2da1465
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:33:55 2017 +0200

    Merge remote-tracking branch 'origin/master' into native_tcl_macos

commit d37f0afcc1389c0c3ec0899da9c1af158c926ca5
Author: Matthias <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:27:12 2017 +0200

    link gui to netgen, some fixes

commit 297141455cd4fab81709c13d6253ad8114beee4a
Author: Matthias <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:02:47 2017 +0200

    windows fixes

commit 9bf290a60835f29762b15ee3b722da132678f90c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 18:59:53 2017 +0200

    More cleanup, proper code separation

     ... between netgen exectuable and gui library

commit f46d438d3c9dd32f9f94642b4ec00b85611ef1dd
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 14:03:53 2017 +0200

    fix typos

commit b3d301ff4e321189aef469bff77f7cffa7b69e98
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:32:57 2017 +0200

    also link tk to togl on windows...

commit c3519abee7b041e45c913a45999ed2d29d4ff325
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:30:16 2017 +0200

    link TCL to togl on windows

commit 80b607436b45f38f4bac2708a78ef03561ad44e5
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:26:45 2017 +0200

    linkt TCL only to netgen executable

commit 080139a431e949e14cb9f05194e19c5129aca3d3
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:20:36 2017 +0200

    fix dll ex/import

commit dd68efacb01fbbbe3f136168f12fed41fa3c3c8a
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:15:39 2017 +0200

    fix dll export

commit 9023b9ca49b4c2b99f228f64564990e2d0246b8c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 12:06:14 2017 +0200

    use system tcl/tk on MacOS, but download tcl/tk for windows

commit 16eb4c1b01eb5229f93274791187b2c666bb8b8e
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 12:01:36 2017 +0200

    more cleanup

commit 6df5b82a7d9a1177a755446d563d6c4b98ff6329
Merge: af23786 2b0d3f0
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 11:45:42 2017 +0200

    Merge remote-tracking branch 'origin/master' into native_tcl_macos

commit af2378637a6513de3b50841ed6314cd7e12f7205
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 11:45:40 2017 +0200

    some cleanup

commit 81bbe117efe25df53c71f9ae603c50ee4557703a
Author: Joachim Schöberl <joachim.schoeberl@tuwien.ac.at>
Date:   Tue May 9 20:14:46 2017 +0200

    tk-gui

commit 387e6da678661dd3b9d75d696733f46fe43d789a
Merge: e658b5b e653d8e
Author: Joachim Schöberl <joachim.schoeberl@tuwien.ac.at>
Date:   Tue May 9 18:49:20 2017 +0200

    Merge remote-tracking branch 'origin/gui_from_python' into native_tcl_macos

commit e658b5b2c1ac3264f4165b5f6d2b821b3b1b0926
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Tue May 9 18:30:35 2017 +0200

    use native tcl on macos

commit e653d8e6789d20e24b16a68bf760415940e881f8
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 16:37:23 2017 +0200

    next fix

commit f663c80b00754d141a02fa6abde2077c841bbafb
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 16:23:21 2017 +0200

    Fix symbol export on windows

commit 70d99782423d33d3fa6f80e758a7377d0cb52840
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 15:14:56 2017 +0200

    GUI support from Python

    Enables experimental support for starting the Netgen GUI from Python
    directly.
    To use it, just import the gui module:
    > import netgen.gui
2017-05-10 19:34:42 +02:00

42 lines
972 B
C++

#include <mystdlib.h>
#include <inctcl.hpp>
#include <meshing.hpp>
#ifdef WIN32
#define DLL_HEADER_IMPORT __declspec(dllimport)
#define DLL_HEADER_EXPORT __declspec(dllexport)
#else
#define DLL_HEADER_IMPORT
#define DLL_HEADER_EXPORT
#endif
namespace netgen
{
DLL_HEADER_EXPORT Flags parameters;
}
DLL_HEADER_EXPORT bool nodisplay = false;
extern "C" int Ng_Init (Tcl_Interp * interp);
extern "C" int Ng_Vis_Init (Tcl_Interp * interp);
extern "C" void Ng_TclCmd(string);
// tcl package dynamic load
extern "C" int DLL_HEADER_EXPORT Gui_Init (Tcl_Interp * interp)
{
if (Ng_Init(interp) == TCL_ERROR) {
cerr << "Problem in Ng_Init: " << endl;
cout << "result = " << Tcl_GetStringResult (interp) << endl;
return TCL_ERROR;
}
if (!nodisplay && Ng_Vis_Init(interp) == TCL_ERROR) {
cerr << "Problem in Ng_Vis_Init: " << endl;
cout << "result = " << Tcl_GetStringResult (interp) << endl;
return TCL_ERROR;
}
return TCL_OK;
}