lavavu 1.8.62__tar.gz → 1.8.75__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lavavu-1.8.62 → lavavu-1.8.75}/Makefile +8 -7
- lavavu-1.8.75/PKG-INFO +10 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/README.md +1 -1
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/drawbox.js +9 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/emscripten-template.js +1 -1
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/menu.js +1 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/webview.html +1 -1
- lavavu-1.8.75/lavavu.egg-info/PKG-INFO +10 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu.egg-info/SOURCES.txt +0 -15
- lavavu-1.8.75/pyproject.toml +82 -0
- lavavu-1.8.75/setup.cfg +4 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/setup.py +35 -74
- {lavavu-1.8.62 → lavavu-1.8.75}/src/DrawingObject.cpp +13 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/LavaVu.cpp +18 -246
- {lavavu-1.8.62 → lavavu-1.8.75}/src/LavaVu.h +0 -2
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/GLFWViewer.cpp +2 -2
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Model.cpp +46 -5
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Model.h +1 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Util.cpp +9 -2
- {lavavu-1.8.62 → lavavu-1.8.75}/src/VideoEncoder.cpp +4 -2
- {lavavu-1.8.62 → lavavu-1.8.75}/src/View.cpp +4 -4
- lavavu-1.8.75/src/version.cpp +2 -0
- lavavu-1.8.62/PKG-INFO +0 -28
- lavavu-1.8.62/lavavu/LavaVuPython.py +0 -560
- lavavu-1.8.62/lavavu/__init__.py +0 -15
- lavavu-1.8.62/lavavu/__main__.py +0 -12
- lavavu-1.8.62/lavavu/amalgamate.py +0 -15
- lavavu-1.8.62/lavavu/aserver.py +0 -357
- lavavu-1.8.62/lavavu/control.py +0 -1699
- lavavu-1.8.62/lavavu/convert.py +0 -888
- lavavu-1.8.62/lavavu/lavavu.py +0 -5678
- lavavu-1.8.62/lavavu/points.py +0 -191
- lavavu-1.8.62/lavavu/server.py +0 -343
- lavavu-1.8.62/lavavu/tracers.py +0 -124
- lavavu-1.8.62/lavavu/vutils.py +0 -213
- lavavu-1.8.62/lavavu.egg-info/PKG-INFO +0 -28
- lavavu-1.8.62/lavavu.egg-info/entry_points.txt +0 -4
- lavavu-1.8.62/lavavu.egg-info/requires.txt +0 -3
- lavavu-1.8.62/pyproject.toml +0 -15
- lavavu-1.8.62/setup.cfg +0 -7
- lavavu-1.8.62/src/version.cpp +0 -2
- {lavavu-1.8.62 → lavavu-1.8.75}/LICENSE.md +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/MANIFEST.in +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/dict.json +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/font.bin +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/LavaVu-amalgamated.css +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/OK-min.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/baseviewer.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/control.css +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/control.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/dat-gui-light-theme.css +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/dat.gui.min.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/draw.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/emscripten.css +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/favicon.ico +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/gl-matrix-min.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/gui.css +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/server.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/stats.min.js +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/styles.css +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/html/webview-template.html +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/default.frag +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/default.vert +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/fontShader.frag +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/fontShader.vert +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/lineShader.frag +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/lineShader.vert +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/pointShader.frag +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/pointShader.vert +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/triShader.frag +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/triShader.vert +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/volumeShader.frag +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu/shaders/volumeShader.vert +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu.egg-info/dependency_links.txt +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/lavavu.egg-info/top_level.txt +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/requirements.txt +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/ApplicationInterface.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/ColourMap.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/ColourMap.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Colours.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Colours.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Contour.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Contour.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/DrawingObject.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Extensions.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Extensions.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/FontLine.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/FontSans.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/GLUtils.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/GLUtils.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Geometry.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Geometry.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/GraphicsUtil.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/GraphicsUtil.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Include.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/InputInterface.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/InteractiveViewer.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/IsoSurface.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/IsoSurface.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/LavaVuPython_wrap.cxx +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Lines.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/LinesSorted.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Links.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/CGLViewer.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/CGLViewer.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/CocoaViewer.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/CocoaViewer.mm +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/EGLViewer.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/EGLViewer.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/GLFWViewer.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/OSMesaViewer.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/OSMesaViewer.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/X11Viewer.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/X11Viewer.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Main/main.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/OpenGLViewer.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/OpenGLViewer.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/OutputInterface.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Points.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/QuadSurfaces.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/RenderContext.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/RenderContext.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Session.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Session.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Shaders.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Shaders.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Shapes.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/TimeStep.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Tracers.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/TriSurfaces.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Triangles.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Util.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Vectors.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/VideoEncoder.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/View.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/ViewerApp.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/ViewerTypes.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/Volumes.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/base64.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/base64.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/fifo_map.hpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/jpeg/jpgd.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/jpeg/jpgd.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/jpeg/jpge.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/jpeg/jpge.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/json.hpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/linalg.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/miniz/miniz.c +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/miniz/miniz.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/png/lodepng.cpp +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/png/lodepng.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/sqlite3/sqlite3.c +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/sqlite3/sqlite3.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/stb_image_resize.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/tiny_obj_loader.h +0 -0
- {lavavu-1.8.62 → lavavu-1.8.75}/src/version.h +0 -0
@@ -129,7 +129,7 @@ vpath %.cc src
|
|
129
129
|
#When releasing, just build with the clean version from setup.py
|
130
130
|
ifneq ($(LV_RELEASE), 1)
|
131
131
|
#Otherwise update version using git tag
|
132
|
-
TMP := $(shell $(PYTHON)
|
132
|
+
TMP := $(shell $(PYTHON) setup.py version)
|
133
133
|
endif
|
134
134
|
|
135
135
|
SRC := $(wildcard src/*.cpp) $(wildcard src/Main/*Viewer.cpp) $(wildcard src/jpeg/*.cpp)
|
@@ -186,24 +186,25 @@ $(LIBRARY): $(ALLOBJS) | paths
|
|
186
186
|
$(CXX) -o $(LIBRARY) $(LIBBUILD) $(LIBINSTALL) $(ALLOBJS) $(LIBS)
|
187
187
|
|
188
188
|
#Emscripten build steps...
|
189
|
-
#
|
190
|
-
#
|
191
|
-
#
|
192
|
-
#
|
189
|
+
#(em++/emcc now included in ubuntu but fails when we try and add LIBPNG)
|
190
|
+
#curl -L https://github.com/emscripten-core/emsdk/archive/refs/heads/main.zip --output emscripten.zip
|
191
|
+
#unzip emscripten.zip
|
192
|
+
#rm emscripten.zip
|
193
|
+
#cd emsdk-main/
|
193
194
|
#./emsdk install latest
|
194
195
|
#./emsdk activate latest
|
195
196
|
#source emsdk_env.sh
|
196
197
|
#cd ../LavaVu
|
197
198
|
#make emscripten -j5
|
198
|
-
#source ~/emsdk-2.0.14/emsdk_env.sh
|
199
199
|
emscripten: DEFINES = -DGLES2 -DHAVE_GLFW -DUSE_FONTS
|
200
200
|
emscripten: CXX = em++
|
201
201
|
emscripten: CC = emcc
|
202
202
|
emscripten: LIBS = -ldl -lpthread -lm -lGL -lglfw
|
203
|
-
emscripten: LINKFLAGS = -s USE_WEBGL2=1 -s MIN_WEBGL_VERSION=2 -s MAX_WEBGL_VERSION=2 -s DISABLE_EXCEPTION_CATCHING=0 -s LEGACY_GL_EMULATION=0 -s USE_GLFW=3 -s ALLOW_MEMORY_GROWTH=1 -s FETCH=1 -s
|
203
|
+
emscripten: LINKFLAGS = -lidbfs.js -s ASYNCIFY -s USE_WEBGL2=1 -s MIN_WEBGL_VERSION=2 -s MAX_WEBGL_VERSION=2 -s DISABLE_EXCEPTION_CATCHING=0 -s LEGACY_GL_EMULATION=0 -s USE_GLFW=3 -s ALLOW_MEMORY_GROWTH=1 -s FETCH=1 -s EXPORTED_RUNTIME_METHODS=[FS]
|
204
204
|
#emscripten: -s MODULARIZE=1 -s 'EXPORT_NAME="createLavaVuModule"' #Would need this to load multiple instances on a page without IFrames
|
205
205
|
emscripten: LINKFLAGS += --preload-file lavavu/dict.json@dict.json --preload-file lavavu/shaders@/shaders --preload-file lavavu/font.bin@font.bin
|
206
206
|
EM_FLAGS =
|
207
|
+
#--use-port=libpng
|
207
208
|
#EM_FLAGS = -pthread
|
208
209
|
ifeq ($(CONFIG),debug)
|
209
210
|
#Debugging - better detection of segfaults etc
|
lavavu-1.8.75/PKG-INFO
ADDED
@@ -3,7 +3,7 @@
|
|
3
3
|
[](https://github.com/lavavu/LavaVu/actions?query=workflow:Test)
|
4
4
|
[](https://github.com/lavavu/LavaVu/actions?query=workflow:Deploy)
|
5
5
|
[](https://zenodo.org/badge/latestdoi/45163055)
|
6
|
-
[](https://mybinder.org/v2/gh/lavavu/LavaVu/1.8.
|
6
|
+
[](https://mybinder.org/v2/gh/lavavu/LavaVu/1.8.75)
|
7
7
|
|
8
8
|
A scientific visualisation tool with a python interface for fast and flexible visual analysis.
|
9
9
|
|
@@ -190,6 +190,14 @@ function canvasBoxMouseMove(event, mouse) {
|
|
190
190
|
|
191
191
|
mouse.element.viewer.draw();
|
192
192
|
|
193
|
+
//Instant updates
|
194
|
+
if (mouse.element.viewer.alwaysdraw) {
|
195
|
+
if (mouse.element.viewer.rotating)
|
196
|
+
mouse.element.viewer.command('' + mouse.element.viewer.getRotationString());
|
197
|
+
else
|
198
|
+
mouse.element.viewer.command('' + mouse.element.viewer.getTranslationString());
|
199
|
+
}
|
200
|
+
|
193
201
|
return false;
|
194
202
|
}
|
195
203
|
|
@@ -422,6 +430,7 @@ function BoxViewer(canvas) {
|
|
422
430
|
|
423
431
|
//Non-persistant settings
|
424
432
|
this.mode = 'Rotate';
|
433
|
+
this.alwaysdraw = false;
|
425
434
|
if (!this.gl) return;
|
426
435
|
|
427
436
|
//Create the renderers
|
@@ -67,7 +67,7 @@ var Module = {
|
|
67
67
|
},
|
68
68
|
locateFile: function(path, prefix) {
|
69
69
|
// Source from github by default
|
70
|
-
if (path.endsWith("LavaVu.wasm") || path.endsWith("LavaVu.data")) return "https://cdn.jsdelivr.net/gh/lavavu/lavavu.github.io@LAVAVU_VERSION/" + path;
|
70
|
+
//if (path.endsWith("LavaVu.wasm") || path.endsWith("LavaVu.data")) return "https://cdn.jsdelivr.net/gh/lavavu/lavavu.github.io@LAVAVU_VERSION/" + path;
|
71
71
|
// otherwise, use the default, the prefix (JS file's dir) + the path
|
72
72
|
return prefix + path;
|
73
73
|
},
|
@@ -320,6 +320,7 @@ function createMenu(viewer, onchange, webglmode, global) {
|
|
320
320
|
gui.add({"Export GLDB" : function() {window.commands.push('export');}}, 'Export GLDB');
|
321
321
|
} else if (viewer.canvas) {
|
322
322
|
//Server render
|
323
|
+
gui.add(viewer, "alwaysdraw");
|
323
324
|
var url = viewer.canvas.imgtarget.baseurl;
|
324
325
|
if (url)
|
325
326
|
gui.add({"Popup Viewer" : function() {window.open(url, "LavaVu", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=1024,height=768");}}, 'Popup Viewer');
|
@@ -27,7 +27,7 @@
|
|
27
27
|
|
28
28
|
<input id="fileinput" type="file" style="visibility:hidden" onchange="useFileInput(this)" />
|
29
29
|
|
30
|
-
<script async src="https://cdn.jsdelivr.net/gh/lavavu/lavavu.github.io@1.8.
|
30
|
+
<script async src="https://cdn.jsdelivr.net/gh/lavavu/lavavu.github.io@1.8.75/LavaVu-amalgamated.min.js"></script>
|
31
31
|
<!--script src="dat.gui.min.js"></script>
|
32
32
|
<script src="OK-min.js"></script>
|
33
33
|
|
@@ -4,27 +4,12 @@ Makefile
|
|
4
4
|
README.md
|
5
5
|
pyproject.toml
|
6
6
|
requirements.txt
|
7
|
-
setup.cfg
|
8
7
|
setup.py
|
9
|
-
lavavu/LavaVuPython.py
|
10
|
-
lavavu/__init__.py
|
11
|
-
lavavu/__main__.py
|
12
|
-
lavavu/amalgamate.py
|
13
|
-
lavavu/aserver.py
|
14
|
-
lavavu/control.py
|
15
|
-
lavavu/convert.py
|
16
8
|
lavavu/dict.json
|
17
9
|
lavavu/font.bin
|
18
|
-
lavavu/lavavu.py
|
19
|
-
lavavu/points.py
|
20
|
-
lavavu/server.py
|
21
|
-
lavavu/tracers.py
|
22
|
-
lavavu/vutils.py
|
23
10
|
lavavu.egg-info/PKG-INFO
|
24
11
|
lavavu.egg-info/SOURCES.txt
|
25
12
|
lavavu.egg-info/dependency_links.txt
|
26
|
-
lavavu.egg-info/entry_points.txt
|
27
|
-
lavavu.egg-info/requires.txt
|
28
13
|
lavavu.egg-info/top_level.txt
|
29
14
|
lavavu/html/LavaVu-amalgamated.css
|
30
15
|
lavavu/html/OK-min.js
|
@@ -0,0 +1,82 @@
|
|
1
|
+
[project]
|
2
|
+
name = "lavavu"
|
3
|
+
authors = [
|
4
|
+
{name = "Owen Kaluza", email = "owen@kaluza.id.au"},
|
5
|
+
]
|
6
|
+
description = "Python interface to LavaVu OpenGL 3D scientific visualisation utilities"
|
7
|
+
readme = "README.md"
|
8
|
+
license = {file = "LICENSE.md"}
|
9
|
+
classifiers = [
|
10
|
+
'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
|
11
|
+
'Intended Audience :: Developers',
|
12
|
+
'Intended Audience :: Science/Research',
|
13
|
+
'Operating System :: POSIX :: Linux',
|
14
|
+
'Operating System :: MacOS',
|
15
|
+
'Operating System :: Microsoft :: Windows',
|
16
|
+
'Environment :: X11 Applications',
|
17
|
+
'Environment :: MacOS X :: Cocoa',
|
18
|
+
'Environment :: Win32 (MS Windows)',
|
19
|
+
'Topic :: Multimedia :: Graphics :: 3D Rendering',
|
20
|
+
'Topic :: Scientific/Engineering :: Visualization',
|
21
|
+
'Development Status :: 5 - Production/Stable',
|
22
|
+
'Programming Language :: C++',
|
23
|
+
'Programming Language :: Python :: 3',
|
24
|
+
'Programming Language :: Python :: 3.6',
|
25
|
+
'Programming Language :: Python :: 3.7',
|
26
|
+
'Programming Language :: Python :: 3.8',
|
27
|
+
'Programming Language :: Python :: 3.9',
|
28
|
+
'Programming Language :: Python :: 3.10',
|
29
|
+
'Programming Language :: Python :: 3.11',
|
30
|
+
'Programming Language :: Python :: 3.12',
|
31
|
+
'Programming Language :: Python :: 3 :: Only',
|
32
|
+
'Framework :: Jupyter',
|
33
|
+
'Framework :: IPython'
|
34
|
+
]
|
35
|
+
requires-python = ">=3.5"
|
36
|
+
dynamic = ["version", "dependencies"]
|
37
|
+
#dynamic = ["version", "description", "dependencies"]
|
38
|
+
|
39
|
+
[project.urls]
|
40
|
+
Documentation = "https://lavavu.github.io"
|
41
|
+
Source = "https://github.com/lavavu/LavaVu"
|
42
|
+
|
43
|
+
#[project.scripts]
|
44
|
+
[project.gui-scripts]
|
45
|
+
LavaVu = 'lavavu.__main__:main'
|
46
|
+
|
47
|
+
[tool.setuptools]
|
48
|
+
include-package-data = false
|
49
|
+
#packages = ["lavavu"]
|
50
|
+
#package-dir = {'lavavu' = 'lavavu'}
|
51
|
+
#exclude = ["html", "shaders"]
|
52
|
+
|
53
|
+
[tool.setuptools.packages.find]
|
54
|
+
include = ["lavavu*"]
|
55
|
+
exclude = ["html*", "shaders*"]
|
56
|
+
|
57
|
+
[tool.setuptools.dynamic]
|
58
|
+
dependencies = {file = ["requirements.txt"]}
|
59
|
+
version = {attr = "setup.version"}
|
60
|
+
|
61
|
+
[tool.setuptools.package-data]
|
62
|
+
lavavu = ['font.bin', 'dict.json', 'shaders/*', 'html/*', '*.dll']
|
63
|
+
|
64
|
+
[build-system]
|
65
|
+
build-backend = "setuptools.build_meta"
|
66
|
+
requires = [
|
67
|
+
"wheel",
|
68
|
+
"setuptools>=61.2",
|
69
|
+
"packaging",
|
70
|
+
"numpy==1.13.3; python_version=='3.6'",
|
71
|
+
"numpy==1.14.5; python_version=='3.7'",
|
72
|
+
"numpy==1.24.4; python_version=='3.8'",
|
73
|
+
"numpy==2.0.0; python_version=='3.9'",
|
74
|
+
"numpy==2.0.0; python_version=='3.10'",
|
75
|
+
"numpy==2.0.0; python_version=='3.11'",
|
76
|
+
"numpy==2.0.0; python_version=='3.12'",
|
77
|
+
]
|
78
|
+
|
79
|
+
[project.entry-points."gui_scripts"]
|
80
|
+
LV = 'lavavu.__main__:main'
|
81
|
+
LavaVu = 'lavavu.__main__:main'
|
82
|
+
|
lavavu-1.8.75/setup.cfg
ADDED
@@ -1,11 +1,7 @@
|
|
1
1
|
import os
|
2
2
|
import sys
|
3
3
|
from setuptools import setup
|
4
|
-
from setuptools.command.install import install
|
5
|
-
from setuptools.command.develop import develop
|
6
|
-
from setuptools.command.egg_info import egg_info
|
7
4
|
from setuptools import Extension
|
8
|
-
from setuptools import find_packages
|
9
5
|
try:
|
10
6
|
from setuptools import _distutils as distutils
|
11
7
|
from setuptools._distutils import sysconfig
|
@@ -23,7 +19,7 @@ import shutil
|
|
23
19
|
|
24
20
|
#Current version
|
25
21
|
#(must be of the form X.Y.Z to trigger wheel builds)
|
26
|
-
version = "1.8.
|
22
|
+
version = "1.8.75"
|
27
23
|
|
28
24
|
"""
|
29
25
|
To release a new verison:
|
@@ -97,7 +93,7 @@ if sys.argv[-1] == 'check':
|
|
97
93
|
webbrowser.open("docs/index.html")
|
98
94
|
sys.exit()
|
99
95
|
#Run with "tag" arg to create a release tag
|
100
|
-
|
96
|
+
elif sys.argv[-1] == 'release':
|
101
97
|
#Commit and push docs
|
102
98
|
wd = os.getcwd()
|
103
99
|
os.chdir("docs")
|
@@ -117,13 +113,13 @@ if sys.argv[-1] == 'release':
|
|
117
113
|
sys.exit()
|
118
114
|
|
119
115
|
#Run with "publish" arg to upload the release
|
120
|
-
|
116
|
+
elif sys.argv[-1] == 'publish':
|
121
117
|
os.system("python setup.py sdist")
|
122
118
|
os.system("twine upload dist/lavavu-%s.tar.gz" % version)
|
123
119
|
sys.exit()
|
124
120
|
|
125
121
|
# Just output the wheel name for current arch + environment
|
126
|
-
|
122
|
+
elif sys.argv[-1] == 'wheelname':
|
127
123
|
# https://stackoverflow.com/a/60644659/866759
|
128
124
|
from setuptools.dist import Distribution
|
129
125
|
lavavu = Extension('lavavu', [])
|
@@ -136,6 +132,26 @@ if sys.argv[-1] == 'wheelname':
|
|
136
132
|
print(wheel_name)
|
137
133
|
sys.exit()
|
138
134
|
|
135
|
+
elif sys.argv[-1] == 'version':
|
136
|
+
#Replaces _getversion.py,
|
137
|
+
#Get current git tag version
|
138
|
+
git_version = os.popen("git describe --tags --always 2> /dev/null").read()
|
139
|
+
if len(git_version) == 0:
|
140
|
+
#Just report the current release version
|
141
|
+
#Still need to write if file doesn't exist
|
142
|
+
if os.path.exists('src/version.cpp'):
|
143
|
+
print(version)
|
144
|
+
exit()
|
145
|
+
else:
|
146
|
+
#Strip trailing newline
|
147
|
+
version = version.rstrip('\r\n')
|
148
|
+
#Replace first - with .
|
149
|
+
version = version.replace('-', '.', 1)
|
150
|
+
|
151
|
+
#Update version.cpp
|
152
|
+
write_version()
|
153
|
+
exit()
|
154
|
+
|
139
155
|
#Get extra lib and include dirs
|
140
156
|
inc_dirs = []
|
141
157
|
lib_dirs = []
|
@@ -257,25 +273,6 @@ if __name__ == "__main__":
|
|
257
273
|
else:
|
258
274
|
cflags += ['-g', '-O0']
|
259
275
|
|
260
|
-
#Parallel build
|
261
|
-
num_jobs = 1
|
262
|
-
if not 'arm' in platform.machine():
|
263
|
-
try:
|
264
|
-
num_jobs = os.cpu_count()
|
265
|
-
except AttributeError:
|
266
|
-
import multiprocessing
|
267
|
-
num_jobs = multiprocessing.cpu_count()
|
268
|
-
|
269
|
-
if num_jobs > 1:
|
270
|
-
try:
|
271
|
-
from numpy.distutils.ccompiler import CCompiler_compile
|
272
|
-
from setuptools._distutils import ccompiler
|
273
|
-
ccompiler.CCompiler.compile = CCompiler_compile
|
274
|
-
os.environ['NPY_NUM_BUILD_JOBS'] = str(num_jobs)
|
275
|
-
print('Using parallel build, jobs: ', num_jobs)
|
276
|
-
except ImportError:
|
277
|
-
print("Numpy not found, parallel compile not available")
|
278
|
-
|
279
276
|
#OS Specific
|
280
277
|
if P == 'Windows':
|
281
278
|
#Windows - include all dependencies
|
@@ -337,12 +334,14 @@ if __name__ == "__main__":
|
|
337
334
|
cflags += ['-std=c++0x']
|
338
335
|
#Build sqlite3
|
339
336
|
#Don't compile when just running 'setup.py egg_info'
|
340
|
-
|
341
|
-
|
337
|
+
sqlite3 = 'build/src/sqlite3/sqlite3.o'
|
338
|
+
if len(sys.argv) < 2 or sys.argv[1] == 'egg_info' or os.path.exists(sqlite3):
|
339
|
+
pass
|
342
340
|
else:
|
343
|
-
sqlite3 = build_sqlite3(sqlite3_path)
|
341
|
+
#sqlite3 = build_sqlite3(sqlite3_path)
|
342
|
+
build_sqlite3(sqlite3_path)
|
344
343
|
inc_dirs += [sqlite3_path]
|
345
|
-
extra_objects = sqlite3
|
344
|
+
extra_objects = [sqlite3]
|
346
345
|
|
347
346
|
# Optional external libraries - check if installed
|
348
347
|
if find_library('png') and check_libraries(['png', 'z'], ['png.h', 'zlib.h']):
|
@@ -436,9 +435,9 @@ if __name__ == "__main__":
|
|
436
435
|
#Binary package data for wheels
|
437
436
|
#Package_data works for wheels(binary) only - so add everything we need for the wheels here
|
438
437
|
#(MANIFEST.in contents will be included with sdist only unless include_package_data is enabled)
|
439
|
-
package_data = {'lavavu': ['font.bin', 'dict.json', 'shaders/*', 'html/*']}
|
440
|
-
if P == 'Windows':
|
441
|
-
|
438
|
+
#package_data = {'lavavu': ['font.bin', 'dict.json', 'shaders/*', 'html/*']}
|
439
|
+
#if P == 'Windows':
|
440
|
+
# package_data['lavavu'] += ['*.dll']
|
442
441
|
|
443
442
|
dist_name = "lavavu"
|
444
443
|
#Rename package so can be distributed as an alternative (eg: lavavu-osmesa)
|
@@ -446,46 +445,8 @@ if __name__ == "__main__":
|
|
446
445
|
dist_name = os.environ['LV_PACKAGE']
|
447
446
|
|
448
447
|
setup(name = dist_name,
|
449
|
-
|
450
|
-
author_email = "owen.kaluza@monash.edu",
|
451
|
-
url = "https://github.com/lavavu/LavaVu",
|
452
|
-
version = version,
|
453
|
-
license = "LGPL-3",
|
454
|
-
description = "Python interface to LavaVu OpenGL 3D scientific visualisation utilities",
|
455
|
-
long_description = 'See https://github.com/lavavu/LavaVu for more info',
|
456
|
-
packages = ['lavavu'],
|
457
|
-
package_dir = {'lavavu': 'lavavu'},
|
458
|
-
package_data = package_data,
|
459
|
-
install_requires = requirements,
|
460
|
-
platforms = ['any'],
|
461
|
-
entry_points = {
|
462
|
-
'gui_scripts': [
|
463
|
-
'LV = lavavu.__main__:main',
|
464
|
-
'LavaVu = lavavu.__main__:main'
|
465
|
-
]
|
466
|
-
},
|
467
|
-
#Use below to include files from MANIFEST.in or specify package_data, not both
|
468
|
-
#include_package_data = True,
|
469
|
-
classifiers = [
|
470
|
-
'Intended Audience :: Developers',
|
471
|
-
'Intended Audience :: Science/Research',
|
472
|
-
'License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)',
|
473
|
-
'Operating System :: POSIX :: Linux',
|
474
|
-
'Operating System :: MacOS',
|
475
|
-
'Operating System :: Microsoft :: Windows',
|
476
|
-
'Environment :: X11 Applications',
|
477
|
-
'Environment :: MacOS X :: Cocoa',
|
478
|
-
'Environment :: Win32 (MS Windows)',
|
479
|
-
'Topic :: Multimedia :: Graphics :: 3D Rendering',
|
480
|
-
'Topic :: Scientific/Engineering :: Visualization',
|
481
|
-
'Development Status :: 5 - Production/Stable',
|
482
|
-
'Programming Language :: C++',
|
483
|
-
'Programming Language :: Python :: 3.6',
|
484
|
-
'Programming Language :: Python :: 3.7',
|
485
|
-
'Programming Language :: Python :: 3.8',
|
486
|
-
'Framework :: Jupyter',
|
487
|
-
'Framework :: IPython',
|
488
|
-
],
|
448
|
+
version = version,
|
489
449
|
ext_modules = [lv]
|
490
450
|
)
|
491
451
|
|
452
|
+
|
@@ -35,6 +35,9 @@
|
|
35
35
|
|
36
36
|
#include "DrawingObject.h"
|
37
37
|
#include "Model.h"
|
38
|
+
#ifdef __EMSCRIPTEN__
|
39
|
+
#include <emscripten.h>
|
40
|
+
#endif
|
38
41
|
|
39
42
|
DrawingObject::DrawingObject(Session& session, std::string name, std::string props, unsigned int id)
|
40
43
|
: session(session), dbid(id), properties(session.globals, session.defaults)
|
@@ -240,6 +243,14 @@ TextureData* DrawingObject::useTexture(Texture_Ptr tex)
|
|
240
243
|
{
|
241
244
|
//printf("Load texture from property\n");
|
242
245
|
std::string texfn = properties["texture"];
|
246
|
+
#if defined(__EMSCRIPTEN__)
|
247
|
+
for (int i=0; i<100; i++)
|
248
|
+
{
|
249
|
+
if (FileExists(texfn)) break;
|
250
|
+
printf("Waiting for texture to download");
|
251
|
+
emscripten_sleep(100);
|
252
|
+
}
|
253
|
+
#endif
|
243
254
|
if (texfn.length() > 0 && FileExists(texfn))
|
244
255
|
{
|
245
256
|
bool flip = properties["fliptexture"];
|
@@ -283,8 +294,10 @@ TextureData* DrawingObject::useTexture(Texture_Ptr tex)
|
|
283
294
|
|
284
295
|
if (texfn.length() > 0)
|
285
296
|
debug_print("Texture File: %s not found!\n", texfn.c_str());
|
297
|
+
#if not defined(__EMSCRIPTEN__)
|
286
298
|
//If load failed, skip from now on
|
287
299
|
properties.data["texture"] = "";
|
300
|
+
#endif
|
288
301
|
}
|
289
302
|
}
|
290
303
|
//else
|