lavavu 1.8.74__cp311-cp311-manylinux_2_28_x86_64.whl → 1.8.76__cp311-cp311-manylinux_2_28_x86_64.whl

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/LavaVuPython.py CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file was automatically generated by SWIG (https://www.swig.org).
2
- # Version 4.1.0
2
+ # Version 4.2.0
3
3
  #
4
4
  # Do not make changes to this file unless you know what you are doing - modify
5
5
  # the SWIG interface file instead.
lavavu/control.py CHANGED
@@ -220,6 +220,13 @@ def _connectcode(target):
220
220
  else:
221
221
  return ""
222
222
 
223
+ def _emscriptencode(menu=False, lighttheme=True):
224
+ """
225
+ Returns WebGL base code for an interactive visualisation window
226
+ """
227
+ jslibs = [[], ['emscripten.js', 'LavaVu.js']]
228
+ return _webglcode('', ['emscripten.css'], jslibs, menu=menu, lighttheme=lighttheme)
229
+
223
230
  def _getcss(files=["styles.css"]):
224
231
  #Load stylesheets to inline tag
225
232
  return _filestohtml(files, tag="style")
lavavu/convert.py CHANGED
@@ -110,10 +110,10 @@ def points_to_volume_histogram(verts, weights, res=8, normed=True, clamp=None, b
110
110
 
111
111
  #H, edges = numpy.histogramdd(verts, bins=RES)
112
112
  if boundingbox is None:
113
- H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, normed=normed) #density=True for newer numpy
113
+ H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, density=normed) #density=True for newer numpy
114
114
  else:
115
115
  rg = ((vmin[0], vmax[0]), (vmin[1], vmax[1]), (vmin[2], vmax[2])) #provide bounding box as range
116
- H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, range=rg, normed=normed) #density=True for newer numpy
116
+ H, edges = numpy.histogramdd(verts, weights=weights, bins=RES, range=rg, density=normed) #density=True for newer numpy
117
117
 
118
118
  #Reverse ordering X,Y,Z to Z,Y,X for volume data
119
119
  values = H.transpose()
lavavu/html/drawbox.js CHANGED
@@ -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
  },
lavavu/html/menu.js CHANGED
@@ -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');
lavavu/html/webview.html CHANGED
@@ -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.74/LavaVu-amalgamated.min.js"></script>
30
+ <script async src="https://cdn.jsdelivr.net/gh/lavavu/lavavu.github.io@1.8.76/LavaVu-amalgamated.min.js"></script>
31
31
  <!--script src="dat.gui.min.js"></script>
32
32
  <script src="OK-min.js"></script>
33
33
 
lavavu/lavavu.py CHANGED
@@ -166,6 +166,37 @@ def _convert(data, dtype=None):
166
166
 
167
167
  return data
168
168
 
169
+ def is_documented_by(original):
170
+ def wrapper(target):
171
+ target.__doc__ = original.__doc__
172
+ return target
173
+ return wrapper
174
+
175
+ def _brightness_contrast_saturation(target, brightness=0.5, contrast=0.5, saturation=0.5):
176
+ """
177
+ Set brightness, contrast and saturation in the range [0,1]
178
+ Zero is minimum level
179
+ 0.5 is default, normal setting
180
+ 1 is maximum level
181
+
182
+ Parameters
183
+ ----------
184
+ brightness : float
185
+ Brightness level from 0 to 1, converts to lavavu brightness in range [-1,1]
186
+ 0 is full black, 0.5 is normal and 1.0 is full white
187
+ contrast : float
188
+ Contrast level from 0 to 1, converts to lavavu contrast in range [0,2]
189
+ 0 is grey, 0.5 is normal and 1.0 is maximum contrast
190
+ saturation : float
191
+ Saturation level from 0 to 1, converts to lavavu saturation in range [0,2]
192
+ 0 is greyscale, 0.5 is normal and 1.0 is maximum over-saturation
193
+ """
194
+ #Brightness in shader is [-1,1] where 0 is default
195
+ target["brightness"] = brightness * 2.0 - 1.0
196
+ #Contrast and saturation range from [0,2] where 1 is default
197
+ target["contrast"] = contrast * 2.0
198
+ target["saturation"] = saturation * 2.0
199
+
169
200
  def grid2d(corners=((0.,1.), (1.,0.)), dims=[2,2]):
170
201
  """
171
202
  Generate a 2d grid of vertices
@@ -1102,7 +1133,7 @@ class Object(dict):
1102
1133
 
1103
1134
  self._loadScalar(data, LavaVuPython.lucLuminanceData, width, height, depth)
1104
1135
 
1105
- def texture(self, data=None, flip=True, filter=2, bgr=False):
1136
+ def texture(self, data=None, flip=True, filter=2, bgr=False, label=""):
1106
1137
  """
1107
1138
  Load or clear texture data for object
1108
1139
 
@@ -1116,6 +1147,10 @@ class Object(dict):
1116
1147
  either (height, width, channels) for RGB(A) image
1117
1148
  or (height, width) for single channel grayscale image
1118
1149
  Pass a string to load a texture from given filename
1150
+ label : string
1151
+ Optional label to load a custom texture by name of uniform used
1152
+ If provided, will attempt to find the texture by this label and replace its data
1153
+ If not provided, will use the default/primary texture for the object
1119
1154
  flip : boolean
1120
1155
  flip the texture vertically after loading
1121
1156
  (default is enabled as usually required for OpenGL but can be disabled)
@@ -1129,7 +1164,7 @@ class Object(dict):
1129
1164
  self.parent.app.clearTexture(self.ref)
1130
1165
  return
1131
1166
  if isinstance(data, str):
1132
- self.parent.app.setTexture(self.ref, data, flip, filter, bgr)
1167
+ self.parent.app.setTexture(self.ref, data, flip, filter, bgr, label)
1133
1168
  return
1134
1169
 
1135
1170
  data = _convert(data)
@@ -1145,9 +1180,9 @@ class Object(dict):
1145
1180
  if data.dtype == numpy.float32:
1146
1181
  data = _convert(data, numpy.uint8)
1147
1182
  if data.dtype == numpy.uint32:
1148
- self.parent.app.textureUInt(self.ref, data.ravel(), width, height, channels, flip, filter, bgr)
1183
+ self.parent.app.textureUInt(self.ref, data.ravel(), width, height, channels, flip, filter, bgr, label)
1149
1184
  elif data.dtype == numpy.uint8:
1150
- self.parent.app.textureUChar(self.ref, data.ravel(), width, height, channels, flip, filter, bgr)
1185
+ self.parent.app.textureUChar(self.ref, data.ravel(), width, height, channels, flip, filter, bgr, label)
1151
1186
 
1152
1187
  def labels(self, data):
1153
1188
  """
@@ -1593,6 +1628,10 @@ class Object(dict):
1593
1628
  """
1594
1629
  self.parent.export_mesh(filepath, [self], rgba)
1595
1630
 
1631
+ @is_documented_by(_brightness_contrast_saturation)
1632
+ def brightness_contrast_saturation(self, brightness=0, contrast=0, saturation=0):
1633
+ return _brightness_contrast_saturation(self)
1634
+
1596
1635
  #Wrapper dict+list of objects
1597
1636
  class _Objects(dict):
1598
1637
  """
@@ -1901,7 +1940,7 @@ class ColourMap(dict):
1901
1940
  Convert to greyscale
1902
1941
  """
1903
1942
  if data is not None:
1904
- if isinstance(data, str) and re.match('^[\w_]+$', data) is not None:
1943
+ if isinstance(data, str) and re.match(r'^[\w_]+$', data) is not None:
1905
1944
  #Single word of alphanumeric characters, if not a built-in map, try matplotlib
1906
1945
  if data not in self.parent.defaultcolourmaps():
1907
1946
  newdata = matplotlib_colourmap(data)
@@ -3899,6 +3938,7 @@ class Viewer(dict):
3899
3938
  if not is_notebook():
3900
3939
  #Open the file in a new browser window
3901
3940
  import webbrowser
3941
+ #TODO: this url doesn't work
3902
3942
  webbrowser.open("/webview.html", new=1, autoraise=True)
3903
3943
  else:
3904
3944
  from IPython.display import display,HTML,IFrame
@@ -3916,6 +3956,26 @@ class Viewer(dict):
3916
3956
  </div>""".format(resolution[0], resolution[1], url)
3917
3957
  display(HTML(html))
3918
3958
 
3959
+ """
3960
+ #EXPERIMENTAL EMSCRIPTEN INLINE VERSION
3961
+ html = control._emscriptencode(menu)
3962
+ ID = str(len(self.webglviews))
3963
+ template = control.emscripten_inline
3964
+ #template = template.replace('---ID---', ID)
3965
+ #template = template.replace('---INIT---', 'initPage(\'{0}\', {1});'.format(ID, "true" if menu else "false"))
3966
+ #template = template.replace('---CONTENT---', control.hiddenhtml)
3967
+ #template = template.replace('---WIDTH---', str(resolution[0]))
3968
+ #template = template.replace('---HEIGHT---', str(resolution[1]))
3969
+ html = template.replace('---SCRIPTS---', html)
3970
+ self.webglviews.append(ID)
3971
+
3972
+ #Display inline in cell
3973
+ #from IPython.display import IFrame
3974
+ #display(IFrame(filename, width=resolution[0], height=resolution[1]))
3975
+ from IPython.display import display,HTML
3976
+ display(HTML(html))
3977
+ """
3978
+
3919
3979
  def webgl(self, filename=None, resolution=(640,480), browser=False, menu=True, **kwargs):
3920
3980
  """
3921
3981
  Create a WebGL page with a 3D interactive view of the active model
@@ -4631,6 +4691,59 @@ class Viewer(dict):
4631
4691
  self.render()
4632
4692
  convert.export_any(filepath, objects)
4633
4693
 
4694
+ @is_documented_by(_brightness_contrast_saturation)
4695
+ def brightness_contrast_saturation(self, brightness=0, contrast=0, saturation=0):
4696
+ return _brightness_contrast_saturation(self, brightness, contrast, saturation)
4697
+
4698
+ def set_properties(self, objects=None, **kwargs):
4699
+ """
4700
+ Set properties on viewer or on a set of objects by name
4701
+
4702
+ Parameters
4703
+ ----------
4704
+ objects : list
4705
+ List of objects or object names, if not provided the properties will be applied globally to the Viewer itself
4706
+ **kwargs :
4707
+ key=value property names and values to set
4708
+ """
4709
+ if objects is None:
4710
+ for key in kwargs:
4711
+ self[key] = kwargs[key]
4712
+ else:
4713
+ for o in objects:
4714
+ if isinstance(o, str):
4715
+ obj = self.objects[o]
4716
+ else:
4717
+ obj = o
4718
+ for key in kwargs:
4719
+ obj[key] = kwargs[key]
4720
+
4721
+ def set_uniforms(self, objects=None, **kwargs):
4722
+ """
4723
+ Set uniform variables on a set of objects by name or all objects
4724
+ Uniforms are parameters sent directly to the shader program and can have any
4725
+ valid GLSL variable name, it just needs to match the declaration in the shader
4726
+
4727
+ Parameters
4728
+ ----------
4729
+ objects : list
4730
+ List of objects or object names, if not provided the full object list will be iterated
4731
+ **kwargs :
4732
+ key=value uniform names and values to set
4733
+ """
4734
+ if objects == None: objects = self.objects.list
4735
+ if not isinstance(objects, list):
4736
+ objects = [objects]
4737
+ for o in objects:
4738
+ if isinstance(o, str):
4739
+ obj = self.objects[o]
4740
+ else:
4741
+ obj = o
4742
+ uniforms = obj['uniforms']
4743
+ for key in kwargs:
4744
+ uniforms[key] = kwargs[key]
4745
+ obj['uniforms'] = uniforms
4746
+
4634
4747
  #Wrapper for list of geomdata objects
4635
4748
  class Geometry(list):
4636
4749
  """
@@ -5257,7 +5370,7 @@ class Video(object):
5257
5370
  def __exit__(self, exc_type, exc_value, exc_traceback):
5258
5371
  self.stop()
5259
5372
  if exc_value == None:
5260
- print('Recording complete, filename: ', self.filename)
5373
+ #print('Recording complete, filename: ', self.filename)
5261
5374
  self.play()
5262
5375
  else:
5263
5376
  print('Recording failed: ', exc_value)
lavavu/vutils.py CHANGED
@@ -81,15 +81,10 @@ def download(url, filename=None, overwrite=False, quiet=False):
81
81
  filename : str
82
82
  Actual filename written to local filesystem
83
83
  """
84
- #Python 3 moved modules
85
- try:
86
- from urllib.request import urlopen, URLError, HTTPError, Request
87
- from urllib.parse import urlparse
88
- from urllib.parse import quote
89
- except ImportError:
90
- from urllib2 import urlopen, URLError, HTTPError, Request
91
- from urllib import quote
92
- from urlparse import urlparse
84
+ from urllib.request import urlopen, URLError, HTTPError, Request
85
+ from urllib.parse import urlparse
86
+ from urllib.parse import quote
87
+ import http.client
93
88
 
94
89
  if filename is None:
95
90
  filename = url[url.rfind("/")+1:]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lavavu
3
- Version: 1.8.74
3
+ Version: 1.8.76
4
4
  Summary: Python interface to LavaVu OpenGL 3D scientific visualisation utilities
5
5
  Author-email: Owen Kaluza <owen@kaluza.id.au>
6
6
  License: ### Licensing
@@ -212,7 +212,7 @@ Classifier: Framework :: IPython
212
212
  Requires-Python: >=3.5
213
213
  Description-Content-Type: text/markdown
214
214
  License-File: LICENSE.md
215
- Requires-Dist: numpy >=1.18
215
+ Requires-Dist: numpy>=1.18
216
216
  Requires-Dist: aiohttp
217
217
  Requires-Dist: jupyter-server-proxy
218
218
 
@@ -221,7 +221,7 @@ Requires-Dist: jupyter-server-proxy
221
221
  [![Build Status](https://github.com/lavavu/LavaVu/workflows/Test/badge.svg)](https://github.com/lavavu/LavaVu/actions?query=workflow:Test)
222
222
  [![Deploy Status](https://github.com/lavavu/LavaVu/workflows/Deploy/badge.svg?branch=1.7.3)](https://github.com/lavavu/LavaVu/actions?query=workflow:Deploy)
223
223
  [![DOI](https://zenodo.org/badge/45163055.svg)](https://zenodo.org/badge/latestdoi/45163055)
224
- [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lavavu/LavaVu/1.8.74)
224
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/lavavu/LavaVu/1.8.76)
225
225
 
226
226
  A scientific visualisation tool with a python interface for fast and flexible visual analysis.
227
227
 
@@ -1,63 +1,63 @@
1
- lavavu-1.8.74.dist-info/entry_points.txt,sha256=LC2qXR6EMe45Cb7zGAF99R9HFrAECP6Qkp_YuG6HZB0,44
2
- lavavu-1.8.74.dist-info/LICENSE.md,sha256=EhfNgC6BYh5gDEaq4tcrN3S0wbO4CtJO46botJnCF8c,8603
3
- lavavu-1.8.74.dist-info/WHEEL,sha256=rXTyXyQoYziFyUpVEYrIuAy9CTFtulKy0KGjWo_INgQ,113
4
- lavavu-1.8.74.dist-info/top_level.txt,sha256=JptS0k1nlBumjLs_0hITr3_XUJhxqvKBXD2jGho3E3A,7
5
- lavavu-1.8.74.dist-info/RECORD,,
6
- lavavu-1.8.74.dist-info/METADATA,sha256=KBDh8ndRnRNa9f90EFhmqkshLuJitRahywEwJdcwpzg,18238
7
- lavavu.libs/libavutil-841c257b.so.59.26.100,sha256=JIOuHAVPLJ4yHSwTem-VdrMZT7eocoK52SnltRMFfew,1001001
8
- lavavu.libs/libtiff-b477d465.so.5.3.0,sha256=r1onUuuM8PAMq6GY0yo-l0Vc5Wz9J8ILr-sOS7XIMhg,517801
9
- lavavu.libs/libavformat-2ff9657b.so.61.4.100,sha256=MkswpL_cGVT8xY8MXa-Uxd1wxj1cfjFSp4EEHQmeo0A,2674049
10
- lavavu.libs/libswscale-f7c5d113.so.8.2.100,sha256=2lB2bdMYO2mC9yV6IpX4w1R2Dc8U2ayweU8nZGl45Rs,624017
1
+ lavavu.libs/libswscale-12194c6c.so.8.2.100,sha256=M8RfhosM8ZezWmVQhcCKhUBIefnlVtPBwd-sbw9kjuE,624017
2
+ lavavu.libs/libavformat-92c3debc.so.61.5.101,sha256=s0b8iuOJjJpnIT7FaP3qCAhBpZQ8gb5uUZF7g_yDx1c,2686353
3
+ lavavu.libs/libavcodec-4cf69f6b.so.61.11.100,sha256=onl3DB1Edq8zRUi320K02s-m74ousH9XfgE5texdyH4,14727113
11
4
  lavavu.libs/libjpeg-da649728.so.62.2.0,sha256=IoO1YzjSjixVQSs5SiWK95E-RREenSFc2B97tb-x_5E,437961
5
+ lavavu.libs/libavutil-928f2adb.so.59.35.100,sha256=XewPt9tCf0D1Y3XixmnXu4n73n6zeqRmvJR1hJ4hC-Y,1005145
12
6
  lavavu.libs/libbz2-e34b29ae.so.1.0.6,sha256=t0Rx5MGhoqFd8hOzCgew5TwGvZFpy_XTk-dae2FXAEs,79145
13
- lavavu.libs/libswresample-6845a360.so.5.2.100,sha256=Sq3p-kw81f8sCgAUd20xV73rIMHgIDe2KOm4SdZS22Y,128265
7
+ lavavu.libs/libx264-bf5099d6.so.164,sha256=zYqC15b_Rpp58vk0W-g8KEEo4wj-H7hq6U_iNIB4dDo,2431745
8
+ lavavu.libs/libswresample-c9f3a84c.so.5.2.100,sha256=pXiaGEg1d30jmXwZ-COuwo3CKDrVysA-UPdhjFFNKzc,128265
9
+ lavavu.libs/libtiff-97fb0e7a.so.5.3.0,sha256=ReUrhN0yHYGg-Fws0_oHS7soNRaqYFAMCqpS5FXXbMU,517801
14
10
  lavavu.libs/libjbig-2504a0c3.so.2.1,sha256=VejIx8sDX3xfCuJkrk9HEyWBYjZbUiTyIRuoPqT-ibE,54265
15
- lavavu.libs/libx264-f6f11719.so.164,sha256=gRSM4VOh2sahsRw-7ElQdJ0NkkJYl1o8pu1C98m2ubs,2431745
16
- lavavu.libs/libavcodec-263b1f1c.so.61.8.100,sha256=mSdcn5iRNkRbRT7H0O-PfQQyWenE-96O8Joxdy1E0gA,14665625
17
- lavavu/amalgamate.py,sha256=Xloq1IZ4VUvYiROzQtwKcQIWC65c7EZrdiGVhZdolL8,586
18
- lavavu/control.py,sha256=MWoYWBhqJbq_1GArE79SQAcZ1rINlvl0bx5nV5XTf8U,65568
19
- lavavu/aserver.py,sha256=SfFvLeDTcx1XtS8fY_HIrDmh3q9HicCBRSAriY5yyOE,12003
20
- lavavu/tracers.py,sha256=0dB6v9Jg5G-IeZxiVFvbPoTycGvyAQBtgyEAZUmq4XU,4257
21
- lavavu/points.py,sha256=jRRtA6CrcA46Y2jUJmkxnIiVoMC5a14xEd_ojhmjhz4,5871
22
- lavavu/font.bin,sha256=fvi5zkvmq6gh9v3jXedBVuxNJWKmHtbjECzv6eT9wb4,225360
23
- lavavu/vutils.py,sha256=L5TpyGlRHThhGChzaKhB70NQd75o3ctyKhSqZTsxceg,5624
24
- lavavu/convert.py,sha256=JT73q32YMchuSIkoH_A0cTUVwfns8fWLGjyWp2A5i5M,35514
25
- lavavu/server.py,sha256=L-_yPCbNfwYxJCPjDQtr_lxPnDp4oMNVFyxXhBERYrQ,12468
26
- lavavu/lavavu.py,sha256=j710i05alXW92-C73OUb_SEZP19IoKB-NAz40Mf-ss8,201005
27
- lavavu/__main__.py,sha256=EbDetijCjyoiNxmExqnDGoRVs996tSVave5DML9zuMY,235
28
- lavavu/_LavaVuPython.cpython-311-x86_64-linux-gnu.so,sha256=R_96d2X_4HSF0WH_UFMlBo1ZXnfIwcKM8z50PgKnao8,75969209
29
- lavavu/LavaVuPython.py,sha256=Ki8G9XYHkyfqmxG6BohDWomvSn5eJwG9cHqGzEhZDDs,33131
30
11
  lavavu/dict.json,sha256=Zb1QnJOsx2DK3M1tRSXRUQ5PjEpOo3SMM3tTNHIKMPs,52722
12
+ lavavu/_LavaVuPython.cpython-311-x86_64-linux-gnu.so,sha256=VSDXD9Q76sPH0geDLyR0GxlmKwneo2yb5XsNXcPqsC8,76534817
13
+ lavavu/__main__.py,sha256=EbDetijCjyoiNxmExqnDGoRVs996tSVave5DML9zuMY,235
14
+ lavavu/server.py,sha256=L-_yPCbNfwYxJCPjDQtr_lxPnDp4oMNVFyxXhBERYrQ,12468
15
+ lavavu/font.bin,sha256=fvi5zkvmq6gh9v3jXedBVuxNJWKmHtbjECzv6eT9wb4,225360
16
+ lavavu/LavaVuPython.py,sha256=ZdBJROEPysd_N_Od88PEO8Y1fjCOd05_vP6YBnJymN0,33131
17
+ lavavu/tracers.py,sha256=0dB6v9Jg5G-IeZxiVFvbPoTycGvyAQBtgyEAZUmq4XU,4257
18
+ lavavu/vutils.py,sha256=6Vm_xl1bp9mWlfk7jgLDwbRw-tdE_oxin77YkLel3_4,5437
19
+ lavavu/lavavu.py,sha256=_6kKbk3KXUTDWYoSCkcnYLKOQPRkZteDepBApKepPUs,205612
31
20
  lavavu/__init__.py,sha256=JroZQiUbuVN7ifixk2zNDGlyLGaM8bqfRbw4D_F9qIQ,191
32
- lavavu/html/LavaVu-amalgamated.css,sha256=iE2xrxFcwmY0AcASrXxNa_RpvFEbS_YO4H5OILbPteE,8640
33
- lavavu/html/emscripten.css,sha256=wkaIJhXaxuMchinQX9Z8c12cJomyvFQMeIZ62WGQEPQ,1813
21
+ lavavu/points.py,sha256=jRRtA6CrcA46Y2jUJmkxnIiVoMC5a14xEd_ojhmjhz4,5871
22
+ lavavu/aserver.py,sha256=SfFvLeDTcx1XtS8fY_HIrDmh3q9HicCBRSAriY5yyOE,12003
23
+ lavavu/control.py,sha256=eNocZPc-2Dz-nSty_KRz_9RzLvbU0clJGuAV3qnzxbU,65841
24
+ lavavu/amalgamate.py,sha256=Xloq1IZ4VUvYiROzQtwKcQIWC65c7EZrdiGVhZdolL8,586
25
+ lavavu/convert.py,sha256=tbYRjLE2l1hI4d6tsW41Lia1JXmrWSc0-JAYCiMrjys,35516
26
+ lavavu/shaders/pointShader.frag,sha256=T1PA9Z6FiE66rS2sAmmFIbYM2VqEkLBycxV-sx3nACY,3384
27
+ lavavu/shaders/lineShader.frag,sha256=aCmOWC20fHinR32p6LZPdCZP6abn-K1V2slbJ_5NoVA,945
28
+ lavavu/shaders/fontShader.vert,sha256=yCBmRugaPUeUQUdIh62-AK_5KELiJqVS2M82iyIqPwo,290
29
+ lavavu/shaders/volumeShader.vert,sha256=uGdQjGqi7V5kE6V7nxymfugtU4cbf6u570xBy13RgmY,78
30
+ lavavu/shaders/lineShader.vert,sha256=6kJQcfu3eqaj910_KdaklVRvYxNbeu0ZbpDEOxRVde0,522
31
+ lavavu/shaders/fontShader.frag,sha256=DXAzO7kS36TBzYMJW0XqFiQQTTc4jFedGiUkLjelYKs,444
32
+ lavavu/shaders/pointShader.vert,sha256=rnEa8PfIK3kFtFg04Ataf10aWsjEkh1URY2ipV1xTMY,1235
33
+ lavavu/shaders/triShader.vert,sha256=pJXftq7IiqiGe7NTMmuBUMDs4OZc9TD8lNJ4q-8B57Q,1120
34
+ lavavu/shaders/triShader.frag,sha256=pG6eWiVgtHB8cSHyB8W3SHrc7-mLqaCRlZaHZfsEKhc,5007
35
+ lavavu/shaders/default.vert,sha256=9J5Oqg8ns711fSNeQTtdA7ENb2sfonx0KGh1QfHp5Ws,317
36
+ lavavu/shaders/volumeShader.frag,sha256=CIFSfwI8xVZ0ALme2QPMcXWl5yB55WCGnfJZ1Led6TU,16120
37
+ lavavu/shaders/default.frag,sha256=xCkYz8QriRlnAr-NtenZSIWI_liSxv9jz3Lp5immK9k,258
38
+ lavavu/html/server.js,sha256=b5eNlWWbiEk90n3WARJ1Mh7lmfHM0pOtZfrrmM-wfyc,7099
39
+ lavavu/html/dat-gui-light-theme.css,sha256=uPhvJs-1IAsdxudItyOw8lZy8Hrih0zmFM1u-xRwZ-M,1142
40
+ lavavu/html/control.css,sha256=PVLwmle00ciEckUV5ZIRmI3Whxhl7-mlVexnyyxoU70,3259
41
+ lavavu/html/webview-template.html,sha256=Mh9sOd6YEOiwJa_fPwyY4s9AdCuvsaHKLwVipVk_4Go,1530
42
+ lavavu/html/styles.css,sha256=68pH0fWIc0mP1puFbsIg0ET9G1ujd40Aiqfx4phuzjs,2983
34
43
  lavavu/html/OK-min.js,sha256=-4Gc1-dWfxP_w6r9ZOHa8u-X2BlGUoSQbX68lwCxQ3E,39115
44
+ lavavu/html/gui.css,sha256=PRDLsYwM6cgLC9zZsEAG0dnnSd-HYH6oSEfsdEBkuxk,582
35
45
  lavavu/html/draw.js,sha256=57LlHlYRh0IvWVwzGDnF6PaCxYLzokpokLNCuZlG1ds,84108
36
- lavavu/html/styles.css,sha256=68pH0fWIc0mP1puFbsIg0ET9G1ujd40Aiqfx4phuzjs,2983
37
- lavavu/html/emscripten-template.js,sha256=8OBEPzJYW00-b2d-BUQetFIivIO8PD_ktiCXd_GAEHQ,6133
38
- lavavu/html/webview-template.html,sha256=Mh9sOd6YEOiwJa_fPwyY4s9AdCuvsaHKLwVipVk_4Go,1530
46
+ lavavu/html/stats.min.js,sha256=iiwrLW4SUBhrzWrfW2VZP_9mowHX-Ks1EKORFv4EHdE,1965
47
+ lavavu/html/webview.html,sha256=vD2cFL5mpl1TLA_-Ys6_yiOt8snXxu5YrGfDiVAmRoI,1522
48
+ lavavu/html/emscripten-template.js,sha256=h63mzl3Lv7aQT1wMOiOucPOvHTJjpKkzsL-SFVYaZlA,6135
49
+ lavavu/html/drawbox.js,sha256=SJxFSmWd7QVFI5__66hFkKzLKeqg1JPcx-gJuqdMkXw,34590
39
50
  lavavu/html/dat.gui.min.js,sha256=S4_QjoXe4IOpU0f0Sj5jEQLTWPoX9uRl1ohB91jyhuw,56992
40
- lavavu/html/server.js,sha256=b5eNlWWbiEk90n3WARJ1Mh7lmfHM0pOtZfrrmM-wfyc,7099
41
- lavavu/html/gl-matrix-min.js,sha256=qfhP_dWP2bTSL1ibMX2IYw7KDXBW2IhgpfhvU9kKjhM,23143
42
- lavavu/html/favicon.ico,sha256=OrIWwvxOSnOCuynrGRUyEIVQng0ZwA9Rrz89S9eiog0,1150
43
- lavavu/html/menu.js,sha256=Kep88q4kEPXUfoa4xEEOLWieFph8pFnp1UR92d7VRiA,21466
44
- lavavu/html/gui.css,sha256=PRDLsYwM6cgLC9zZsEAG0dnnSd-HYH6oSEfsdEBkuxk,582
45
51
  lavavu/html/control.js,sha256=Gi3eszKip1JsrM1HrMvSJWjqFZql6DPXdMUkU6Zuj7Q,11466
46
- lavavu/html/control.css,sha256=PVLwmle00ciEckUV5ZIRmI3Whxhl7-mlVexnyyxoU70,3259
47
- lavavu/html/dat-gui-light-theme.css,sha256=uPhvJs-1IAsdxudItyOw8lZy8Hrih0zmFM1u-xRwZ-M,1142
48
- lavavu/html/drawbox.js,sha256=oaB6bokR4uA2mT9IDLZR7n6P-eDQ86auGbRQHWX423M,34280
52
+ lavavu/html/gl-matrix-min.js,sha256=qfhP_dWP2bTSL1ibMX2IYw7KDXBW2IhgpfhvU9kKjhM,23143
53
+ lavavu/html/menu.js,sha256=WCli3UYcQ7frjNq0aAXNALu33iNiN8lpTYwKZ7pUcn4,21501
54
+ lavavu/html/emscripten.css,sha256=wkaIJhXaxuMchinQX9Z8c12cJomyvFQMeIZ62WGQEPQ,1813
49
55
  lavavu/html/baseviewer.js,sha256=u3UhC1At6rMBKmcQ7d2DXTRxQ20wsQkc4lqA-7sL7i4,9567
50
- lavavu/html/webview.html,sha256=f0WSNwiUOTanA_FHqZixSuydfGYby2UD942nedv2_Vo,1522
51
- lavavu/html/stats.min.js,sha256=iiwrLW4SUBhrzWrfW2VZP_9mowHX-Ks1EKORFv4EHdE,1965
52
- lavavu/shaders/triShader.frag,sha256=pG6eWiVgtHB8cSHyB8W3SHrc7-mLqaCRlZaHZfsEKhc,5007
53
- lavavu/shaders/volumeShader.frag,sha256=CIFSfwI8xVZ0ALme2QPMcXWl5yB55WCGnfJZ1Led6TU,16120
54
- lavavu/shaders/fontShader.frag,sha256=DXAzO7kS36TBzYMJW0XqFiQQTTc4jFedGiUkLjelYKs,444
55
- lavavu/shaders/volumeShader.vert,sha256=uGdQjGqi7V5kE6V7nxymfugtU4cbf6u570xBy13RgmY,78
56
- lavavu/shaders/default.frag,sha256=xCkYz8QriRlnAr-NtenZSIWI_liSxv9jz3Lp5immK9k,258
57
- lavavu/shaders/pointShader.frag,sha256=T1PA9Z6FiE66rS2sAmmFIbYM2VqEkLBycxV-sx3nACY,3384
58
- lavavu/shaders/triShader.vert,sha256=pJXftq7IiqiGe7NTMmuBUMDs4OZc9TD8lNJ4q-8B57Q,1120
59
- lavavu/shaders/default.vert,sha256=9J5Oqg8ns711fSNeQTtdA7ENb2sfonx0KGh1QfHp5Ws,317
60
- lavavu/shaders/lineShader.frag,sha256=aCmOWC20fHinR32p6LZPdCZP6abn-K1V2slbJ_5NoVA,945
61
- lavavu/shaders/pointShader.vert,sha256=rnEa8PfIK3kFtFg04Ataf10aWsjEkh1URY2ipV1xTMY,1235
62
- lavavu/shaders/fontShader.vert,sha256=yCBmRugaPUeUQUdIh62-AK_5KELiJqVS2M82iyIqPwo,290
63
- lavavu/shaders/lineShader.vert,sha256=6kJQcfu3eqaj910_KdaklVRvYxNbeu0ZbpDEOxRVde0,522
56
+ lavavu/html/favicon.ico,sha256=OrIWwvxOSnOCuynrGRUyEIVQng0ZwA9Rrz89S9eiog0,1150
57
+ lavavu/html/LavaVu-amalgamated.css,sha256=iE2xrxFcwmY0AcASrXxNa_RpvFEbS_YO4H5OILbPteE,8640
58
+ lavavu-1.8.76.dist-info/RECORD,,
59
+ lavavu-1.8.76.dist-info/entry_points.txt,sha256=LC2qXR6EMe45Cb7zGAF99R9HFrAECP6Qkp_YuG6HZB0,44
60
+ lavavu-1.8.76.dist-info/WHEEL,sha256=zsO-dIKIJUdwFBTak2sgt-MV2GcWQBgc69BtJ30UAGY,113
61
+ lavavu-1.8.76.dist-info/LICENSE.md,sha256=EhfNgC6BYh5gDEaq4tcrN3S0wbO4CtJO46botJnCF8c,8603
62
+ lavavu-1.8.76.dist-info/top_level.txt,sha256=JptS0k1nlBumjLs_0hITr3_XUJhxqvKBXD2jGho3E3A,7
63
+ lavavu-1.8.76.dist-info/METADATA,sha256=_Q3RNrqe4mm_Qb3CM15xfNkX9b7Wq0ORAlIYrUdry-k,18237
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (70.1.1)
2
+ Generator: setuptools (74.0.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-manylinux_2_28_x86_64
5
5
 
index 6f036dd..c421222 100755
Binary file
index 52388fa..3b2e222 100755
Binary file
index 02615d5..c032573 100755
Binary file
index 8a33816..eb1508c 100755
Binary file
index 7e28ab8..3d47415 100755
Binary file
index 4564390..81bef4f 100755
Binary file