mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-24 04:50:34 +05:00
Don't load gui libraries when importing netgen
This commit is contained in:
parent
81b22633cd
commit
22e57a1159
@ -1538,6 +1538,32 @@ project_boundaries : Optional[str] = None
|
||||
.def(py::init<>())
|
||||
;
|
||||
m.def("SetParallelPickling", [](bool par) { parallel_pickling = par; });
|
||||
m.def ("_Redraw",
|
||||
([](bool blocking, double fr)
|
||||
{
|
||||
static auto last_time = std::chrono::system_clock::now()-std::chrono::seconds(10);
|
||||
auto now = std::chrono::system_clock::now();
|
||||
double elapsed = std::chrono::duration<double>(now-last_time).count();
|
||||
if (blocking || elapsed * fr > 1)
|
||||
{
|
||||
Ng_Redraw(blocking);
|
||||
last_time = std::chrono::system_clock::now();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}),
|
||||
py::arg("blocking")=false, py::arg("fr") = 25, R"raw_string(
|
||||
Redraw all
|
||||
|
||||
Parameters:
|
||||
|
||||
blocking : bool
|
||||
input blocking
|
||||
|
||||
fr : double
|
||||
input framerate
|
||||
|
||||
)raw_string");
|
||||
}
|
||||
|
||||
PYBIND11_MODULE(libmesh, m) {
|
||||
|
@ -3580,32 +3580,6 @@ NGGUI_API void ExportMeshVis(py::module &m)
|
||||
([] () {
|
||||
return vsmesh.GetMesh();
|
||||
}));
|
||||
m.def ("_Redraw",
|
||||
([](bool blocking, double fr)
|
||||
{
|
||||
static auto last_time = std::chrono::system_clock::now()-std::chrono::seconds(10);
|
||||
auto now = std::chrono::system_clock::now();
|
||||
double elapsed = std::chrono::duration<double>(now-last_time).count();
|
||||
if (blocking || elapsed * fr > 1)
|
||||
{
|
||||
Ng_Redraw(blocking);
|
||||
last_time = std::chrono::system_clock::now();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}),
|
||||
py::arg("blocking")=false, py::arg("fr") = 25, R"raw_string(
|
||||
Redraw all
|
||||
|
||||
Parameters:
|
||||
|
||||
blocking : bool
|
||||
input blocking
|
||||
|
||||
fr : double
|
||||
input framerate
|
||||
|
||||
)raw_string");
|
||||
}
|
||||
// BOOST_PYTHON_MODULE(libvisual)
|
||||
// {
|
||||
|
@ -5,12 +5,9 @@
|
||||
#include <core/ngcore_api.hpp>
|
||||
|
||||
void NGCORE_API_IMPORT ExportNetgenMeshing(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportMeshVis(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportCSG(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportCSGVis(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportGeom2d(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportSTL(py::module &m);
|
||||
void NGCORE_API_IMPORT ExportSTLVis(py::module &m);
|
||||
#ifdef OCCGEOMETRY
|
||||
void NGCORE_API_IMPORT ExportNgOCC(py::module &m);
|
||||
#endif // OCCGEOMETRY
|
||||
|
@ -16,23 +16,7 @@ del os
|
||||
|
||||
from . import libngpy
|
||||
|
||||
if config.USE_GUI:
|
||||
from . import libngguipy
|
||||
global _Redraw, Redraw
|
||||
_Redraw = libngguipy.meshvis._Redraw
|
||||
from netgen.libngpy._meshing import _Redraw
|
||||
|
||||
def RedrawWithEventHandling(*args, **kwargs):
|
||||
try:
|
||||
if libngguipy.meshvis._Redraw(*args, **kwargs):
|
||||
import netgen
|
||||
import tkinter
|
||||
cnt = 0
|
||||
while(netgen.gui.win.tk.dooneevent(tkinter._tkinter.DONT_WAIT) and cnt < 100):
|
||||
cnt += 1
|
||||
except:
|
||||
pass
|
||||
|
||||
Redraw = RedrawWithEventHandling
|
||||
else:
|
||||
def Redraw(*args, **kwargs):
|
||||
pass
|
||||
def Redraw(*args, **kwargs):
|
||||
return _Redraw(*args, **kwargs)
|
||||
|
@ -1,5 +1,8 @@
|
||||
import netgen
|
||||
|
||||
from . import libngguipy
|
||||
from . import libngpy
|
||||
|
||||
def StartGUI():
|
||||
from tkinter import Tk
|
||||
from netgen import config
|
||||
@ -18,7 +21,7 @@ def StartGUI():
|
||||
win.tk.eval('lappend ::auto_path ' + netgen._netgen_lib_dir)
|
||||
win.tk.eval('lappend ::auto_path ' + netgen._netgen_bin_dir)
|
||||
# load with absolute path to avoid issues on MacOS
|
||||
win.tk.eval('load "'+netgen._netgen_lib_dir.replace('\\','/')+'/libgui[info sharedlibextension]" gui')
|
||||
win.tk.eval('load "'+netgen._netgen_lib_dir.replace('\\','/')+'/libnggui[info sharedlibextension]" gui')
|
||||
|
||||
if config.is_python_package and 'darwin' in sys.platform:
|
||||
# libngsolve and other libraries are installed into netgen python dir to keep relative installation paths, but tcl won't find them there automatically
|
||||
@ -27,6 +30,17 @@ def StartGUI():
|
||||
|
||||
win.tk.eval( netgen.libngpy._meshing._ngscript)
|
||||
|
||||
def _Redraw(*args, **kwargs):
|
||||
if libngpy._meshing._Redraw(*args, **kwargs):
|
||||
import netgen
|
||||
import tkinter
|
||||
cnt = 0
|
||||
while(win.tk.dooneevent(tkinter._tkinter.DONT_WAIT) and cnt < 100):
|
||||
cnt += 1
|
||||
|
||||
netgen._Redraw = _Redraw
|
||||
_Redraw(blocking=True)
|
||||
|
||||
|
||||
if not netgen.libngpy._meshing._netgen_executable_started:
|
||||
import os
|
||||
|
Loading…
Reference in New Issue
Block a user