wolfhece 2.2.9__py3-none-any.whl → 2.2.11__py3-none-any.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.
wolfhece/PyDraw.py CHANGED
@@ -2008,6 +2008,8 @@ class WolfMapViewer(wx.Frame):
2008
2008
  self.treewidth = treewidth
2009
2009
  super(WolfMapViewer, self).__init__(wxparent, title=title, size=(w + self.treewidth, h))
2010
2010
 
2011
+ self._tmp_vector_distance = None # distance computation the vector
2012
+
2011
2013
  self._wxlogging = wxlogging
2012
2014
  self.action = None # Action à entreprendre
2013
2015
  self.update_absolute_minmax = False # Force la MAJ de la palette
@@ -4086,7 +4088,7 @@ class WolfMapViewer(wx.Frame):
4086
4088
  if ret == wx.ID_NO:
4087
4089
  return
4088
4090
 
4089
- with wx.lib.busy.BusyInfo(_('Updating 2D model')):
4091
+ with wx.BusyInfo(_('Updating 2D model')):
4090
4092
  wait = wx.BusyCursor()
4091
4093
 
4092
4094
  sux,suy,cont,interior = self.active_array.suxsuy_contour(self.wolfparent.filenamegen,True)
@@ -5734,12 +5736,12 @@ class WolfMapViewer(wx.Frame):
5734
5736
  fnpos = self.link_params['gltf pos']
5735
5737
  break
5736
5738
 
5737
- with wx.lib.busy.BusyInfo(_('Importing gltf/glb')):
5739
+ with wx.BusyInfo(_('Importing gltf/glb')):
5738
5740
  wait = wx.BusyCursor()
5739
5741
  sourcenew.import_from_gltf(fn, fnpos, 'scipy')
5740
5742
  del wait
5741
5743
 
5742
- with wx.lib.busy.BusyInfo(_('Update plots')):
5744
+ with wx.BusyInfo(_('Update plots')):
5743
5745
  # Création du différentiel -- Les opérateurs mathématiques sont surchargés
5744
5746
  diff.array = (sourcenew - source).array
5745
5747
  grad.array = sourcenew.get_gradient_norm().array
@@ -8986,7 +8988,7 @@ class WolfMapViewer(wx.Frame):
8986
8988
  fn = dlg.GetPath()
8987
8989
  dlg.Destroy()
8988
8990
 
8989
- with wx.lib.busy.BusyInfo(_('Export to gltf/glb')):
8991
+ with wx.BusyInfo(_('Export to gltf/glb')):
8990
8992
  wait = wx.BusyCursor()
8991
8993
  curarray.export_to_gltf(mybounds, fn)
8992
8994
  del wait
@@ -9037,7 +9039,7 @@ class WolfMapViewer(wx.Frame):
9037
9039
  method = dlg.GetStringSelection()
9038
9040
  dlg.Destroy()
9039
9041
 
9040
- with wx.lib.busy.BusyInfo(_('Importing gltf/glb')):
9042
+ with wx.BusyInfo(_('Importing gltf/glb')):
9041
9043
  wait = wx.BusyCursor()
9042
9044
  try:
9043
9045
  curarray.import_from_gltf(fn, fnpos, method)
@@ -9199,7 +9201,7 @@ class WolfMapViewer(wx.Frame):
9199
9201
  dlg.Destroy()
9200
9202
  return
9201
9203
 
9202
- with wx.lib.busy.BusyInfo(_('Loading masks')):
9204
+ with wx.BusyInfo(_('Loading masks')):
9203
9205
  wait = wx.BusyCursor()
9204
9206
  curarray:WolfArray
9205
9207
  for curarray in self.myarrays:
@@ -9830,7 +9832,7 @@ class WolfMapViewer(wx.Frame):
9830
9832
  testobj.read_txt_header()
9831
9833
 
9832
9834
  if testobj.wolftype in WOLF_ARRAY_MB:
9833
- # with wx.lib.busy.BusyInfo(_('Importing array')):
9835
+ # with wx.BusyInfo(_('Importing array')):
9834
9836
  # wait = wx.BusyCursor()
9835
9837
  # newobj = WolfArrayMB(filename, mapviewer=self)
9836
9838
  # del wait
@@ -9839,7 +9841,7 @@ class WolfMapViewer(wx.Frame):
9839
9841
  if which.lower() == 'array_crop':
9840
9842
  newobj = WolfArray(filename, mapviewer=self, crop='newcrop')
9841
9843
  else:
9842
- # with wx.lib.busy.BusyInfo(_('Importing array')):
9844
+ # with wx.BusyInfo(_('Importing array')):
9843
9845
  # wait = wx.BusyCursor()
9844
9846
  # newobj = WolfArray(filename, mapviewer=self)
9845
9847
  # del wait
@@ -9945,7 +9947,7 @@ class WolfMapViewer(wx.Frame):
9945
9947
  curtree = self.myitemsvector
9946
9948
 
9947
9949
  if newobj is None:
9948
- with wx.lib.busy.BusyInfo(_('Importing files')):
9950
+ with wx.BusyInfo(_('Importing files')):
9949
9951
  wait = wx.BusyCursor()
9950
9952
  newobj = Bridges(filename, mapviewer=self)
9951
9953
  del wait
@@ -9961,7 +9963,7 @@ class WolfMapViewer(wx.Frame):
9961
9963
  curtree = self.myitemsvector
9962
9964
 
9963
9965
  if newobj is None:
9964
- with wx.lib.busy.BusyInfo(_('Importing files')):
9966
+ with wx.BusyInfo(_('Importing files')):
9965
9967
  wait = wx.BusyCursor()
9966
9968
  newobj = Weirs(filename, mapviewer=self)
9967
9969
  del wait
@@ -9996,7 +9998,7 @@ class WolfMapViewer(wx.Frame):
9996
9998
  dirname_comp = file.GetPath()
9997
9999
  file.Destroy()
9998
10000
 
9999
- with wx.lib.busy.BusyInfo(_('Importing files')):
10001
+ with wx.BusyInfo(_('Importing files')):
10000
10002
  wait = wx.BusyCursor()
10001
10003
  newobj = Tiles(filename, parent=self, linked_data_dir=dirname, mapviewer=self)
10002
10004
  del wait
@@ -10152,7 +10154,7 @@ class WolfMapViewer(wx.Frame):
10152
10154
  curtree = self.myitemsres2d
10153
10155
 
10154
10156
  if newobj is None:
10155
- with wx.lib.busy.BusyInfo(_('Importing 2D model')):
10157
+ with wx.BusyInfo(_('Importing 2D model')):
10156
10158
  wait = wx.BusyCursor()
10157
10159
  newobj = Wolfresults_2D(filename, mapviewer=self)
10158
10160
  del wait
@@ -10168,7 +10170,7 @@ class WolfMapViewer(wx.Frame):
10168
10170
  curtree = self.myitemsres2d
10169
10171
 
10170
10172
  if newobj is None:
10171
- with wx.lib.busy.BusyInfo(_('Importing 2D GPU model')):
10173
+ with wx.BusyInfo(_('Importing 2D GPU model')):
10172
10174
  wait = wx.BusyCursor()
10173
10175
  newobj = wolfres2DGPU(filename, mapviewer=self)
10174
10176
  del wait
@@ -10183,7 +10185,7 @@ class WolfMapViewer(wx.Frame):
10183
10185
  curdict = self.myvectors
10184
10186
  curtree = self.myitemsvector
10185
10187
  if newobj is None:
10186
- with wx.lib.busy.BusyInfo(_('Importing file')):
10188
+ with wx.BusyInfo(_('Importing file')):
10187
10189
  wait = wx.BusyCursor()
10188
10190
  newobj = Zones(filename, parent=self)
10189
10191
  del wait
@@ -10220,7 +10222,7 @@ class WolfMapViewer(wx.Frame):
10220
10222
  if ret == wx.ID_OK:
10221
10223
  dirlaz = dlg.GetPath()
10222
10224
 
10223
- with wx.lib.busy.BusyInfo(_('Importing cross sections')):
10225
+ with wx.BusyInfo(_('Importing cross sections')):
10224
10226
  wait = wx.BusyCursor()
10225
10227
  if curfilter == 1: # txt 2022
10226
10228
  newobj = crosssections(filename, format='2022', dirlaz=dirlaz, mapviewer=self)
@@ -10346,7 +10348,7 @@ class WolfMapViewer(wx.Frame):
10346
10348
  curdict = self.mytri
10347
10349
  curtree = self.myitemstri
10348
10350
  if newobj is None:
10349
- with wx.lib.busy.BusyInfo(_('Importing triangulation')):
10351
+ with wx.BusyInfo(_('Importing triangulation')):
10350
10352
  wait = wx.BusyCursor()
10351
10353
  newobj = Triangulation(filename, mapviewer=self)
10352
10354
  del wait
@@ -11584,6 +11586,11 @@ class WolfMapViewer(wx.Frame):
11584
11586
 
11585
11587
  self.rightdown = (x, y)
11586
11588
 
11589
+ elif self.action == 'distance along vector':
11590
+
11591
+ # add a vertex to the vector
11592
+ self._tmp_vector_distance.add_vertex(wolfvertex(x, y))
11593
+
11587
11594
  elif self.action == 'move triangles':
11588
11595
 
11589
11596
  if self.active_tri is None:
@@ -12342,6 +12349,39 @@ class WolfMapViewer(wx.Frame):
12342
12349
  type = Type_Param.String,
12343
12350
  comment = '')
12344
12351
 
12352
+ if self._tmp_vector_distance is not None:
12353
+ curgroup = _('Temporary vector')
12354
+ self.mytooltip.myparams[curgroup] = {}
12355
+ curpar = _('Length [m]')
12356
+ self._tmp_vector_distance.update_lengths()
12357
+ self.mytooltip.add_param(groupname = curgroup,
12358
+ name = curpar,
12359
+ value = '{:3f}'.format(self._tmp_vector_distance.length2D),
12360
+ type = Type_Param.Float,
12361
+ comment = '')
12362
+
12363
+ if self._tmp_vector_distance.nbvertices > 4:
12364
+ _polygon = self._tmp_vector_distance.asshapely_pol()
12365
+ _area = _polygon.area
12366
+ curpar = _('Area [m2]')
12367
+ self.mytooltip.add_param(groupname = curgroup,
12368
+ name = curpar,
12369
+ value = '{:3f}'.format(_area),
12370
+ type = Type_Param.Float,
12371
+ comment = '')
12372
+ curpar = _('Area [ha]')
12373
+ self.mytooltip.add_param(groupname = curgroup,
12374
+ name = curpar,
12375
+ value = '{:3f}'.format(_area / 10000.),
12376
+ type = Type_Param.Float,
12377
+ comment = '')
12378
+ curpar = _('Area [km2]')
12379
+ self.mytooltip.add_param(groupname = curgroup,
12380
+ name = curpar,
12381
+ value = '{:3f}'.format(_area / 1e6),
12382
+ type = Type_Param.Float,
12383
+ comment = '')
12384
+
12345
12385
  for locarray in self.myres2D:
12346
12386
  locarray:Wolfresults_2D
12347
12387
  curgroup = locarray.idx
@@ -12735,10 +12775,10 @@ class WolfMapViewer(wx.Frame):
12735
12775
 
12736
12776
  self.active_vertex.limit2bounds(self.active_vector.mylimits)
12737
12777
 
12738
- if self.action == 'dynamic parallel':
12778
+ elif self.action == 'dynamic parallel':
12739
12779
  self.active_zone.parallel_active(self.dynapar_dist)
12740
12780
 
12741
- if self.action == 'move vector':
12781
+ elif self.action == 'move vector':
12742
12782
  if self.active_vector is not None:
12743
12783
  if self.active_vector._move_start is not None:
12744
12784
 
@@ -12753,7 +12793,7 @@ class WolfMapViewer(wx.Frame):
12753
12793
 
12754
12794
  self.active_vector.move(delta_x, delta_y)
12755
12795
 
12756
- if self.action == 'move triangles':
12796
+ elif self.action == 'move triangles':
12757
12797
  if self.active_tri is not None:
12758
12798
  if self.active_tri._move_start is not None:
12759
12799
 
@@ -12770,18 +12810,18 @@ class WolfMapViewer(wx.Frame):
12770
12810
 
12771
12811
  self.active_tri.reset_plot()
12772
12812
 
12773
- if self.action == 'rotate vector':
12813
+ elif self.action == 'rotate vector':
12774
12814
  if self.active_vector is not None:
12775
12815
  if self.active_vector._rotation_center is not None:
12776
12816
  self.active_vector.rotate_xy(x, y)
12777
12817
 
12778
- if self.action == 'rotate triangles':
12818
+ elif self.action == 'rotate triangles':
12779
12819
  if self.active_tri is not None:
12780
12820
  if self.active_tri._rotation_center is not None:
12781
12821
  self.active_tri.rotate_xy(x, y)
12782
12822
  self.active_tri.reset_plot()
12783
12823
 
12784
- if self.action == 'move zone':
12824
+ elif self.action == 'move zone':
12785
12825
  if self.active_zone is not None:
12786
12826
  if self.active_zone._move_start is not None:
12787
12827
  delta_x = x - self.active_zone._move_start[0]
@@ -12795,11 +12835,20 @@ class WolfMapViewer(wx.Frame):
12795
12835
 
12796
12836
  self.active_zone.move(delta_x, delta_y)
12797
12837
 
12798
- if self.action == 'rotate zone':
12838
+ elif self.action == 'rotate zone':
12799
12839
  if self.active_zone is not None:
12800
12840
  if self.active_zone._rotation_center is not None:
12801
12841
  self.active_zone.rotate_xy(x, y)
12802
12842
 
12843
+ elif self.action == 'distance along vector':
12844
+ if self._tmp_vector_distance is not None:
12845
+ self._tmp_vector_distance.myvertices[-1].x = x
12846
+ self._tmp_vector_distance.myvertices[-1].y = y
12847
+
12848
+ if self._tmp_vector_distance.nbvertices ==2:
12849
+ self._tmp_vector_distance.myvertices[0].x = x
12850
+ self._tmp_vector_distance.myvertices[0].y = y
12851
+
12803
12852
  self.Paint()
12804
12853
 
12805
12854
  # Store the position of the mouse as last known position
@@ -12943,6 +12992,10 @@ class WolfMapViewer(wx.Frame):
12943
12992
  # we must reset the temporary vector
12944
12993
  self.active_vector.reset()
12945
12994
 
12995
+ if self.action == 'distance along vector':
12996
+
12997
+ self._tmp_vector_distance = None
12998
+
12946
12999
  elif self.action == 'pick landmap':
12947
13000
 
12948
13001
  self.end_action(_('End of landmap picking'))
@@ -13172,6 +13225,7 @@ class WolfMapViewer(wx.Frame):
13172
13225
  # r : reset de la sélection de la matrice courante\n \
13173
13226
  # R : reset de toutes les sélections de la matrice courante\n \
13174
13227
  # P : sélection de la section transversale par click souris\n \
13228
+ # D : calcule de distance le long d'un vecteur temporaire\n \
13175
13229
  # \n \
13176
13230
  # RETURN : end current action (cf aussi double clicks droit 'OnRDClick')\n \
13177
13231
  # DELETE : remove item\n \
@@ -13220,6 +13274,7 @@ class WolfMapViewer(wx.Frame):
13220
13274
  'ALT+C': _('Drawing : copy canvas to Clipboard as Matplotlib image'),
13221
13275
  'ALT+SHIFT+C': _('Drawing : copy canvas to Clipboard as Matplotlib image with axes - multiviewers'),
13222
13276
  'CTRL+ALT+SHIFT+C': _('Drawing : copy canvas to Clipboard as Matplotlib image with axes - all arrays one by one'),
13277
+ 'd or D': _('Drawing : calculate distance along a temporary vector'),
13223
13278
 
13224
13279
  'CTRL+o': _('Results : increase transparency of the current result'),
13225
13280
  'CTRL+O': _('Results : decrease transparency of the current result'),
@@ -13326,6 +13381,14 @@ class WolfMapViewer(wx.Frame):
13326
13381
  logging.info(_('ACTION : ') + _(message) if message != '' else _('ACTION : End of action') )
13327
13382
  self.msg_action(1)
13328
13383
 
13384
+ def distance_by_multiple_clicks(self):
13385
+ """ Distance between multiple clicks """
13386
+
13387
+ self.start_action('distance along vector', _('Distance by multiple clicks -- Select the points'))
13388
+ self._tmp_vector_distance = vector()
13389
+ self._tmp_vector_distance.add_vertex([wolfvertex(0., 0.),
13390
+ wolfvertex(0., 0.)])
13391
+
13329
13392
  def OnHotKey(self, e: wx.KeyEvent):
13330
13393
  """
13331
13394
  Gestion des touches clavier -- see print_shortcuts for more details
@@ -14001,6 +14064,9 @@ class WolfMapViewer(wx.Frame):
14001
14064
  if self.active_laz is not None:
14002
14065
  self.active_laz.add_pose_in_memory()
14003
14066
 
14067
+ elif key == ord('D'):
14068
+ self.distance_by_multiple_clicks()
14069
+
14004
14070
  def paste_values(self,fromarray:WolfArray):
14005
14071
  """ Paste selected values from a WolfArray to the active array """
14006
14072
 
@@ -14309,6 +14375,10 @@ class WolfMapViewer(wx.Frame):
14309
14375
  # Gestion des BC (si actif)
14310
14376
  if self.active_bc is not None:
14311
14377
  self.active_bc.plot()
14378
+
14379
+ if self._tmp_vector_distance is not None:
14380
+ self._tmp_vector_distance.plot()
14381
+
14312
14382
  # try:
14313
14383
  # if self.active_bc is not None:
14314
14384
  # self.active_bc.plot()
wolfhece/PyGui.py CHANGED
@@ -153,6 +153,7 @@ class GenMapManager(wx.Frame):
153
153
  return self._configuration
154
154
 
155
155
  class MapManager(GenMapManager):
156
+
156
157
  def __init__(self,*args, **kw):
157
158
  super().__init__(*args, **kw)
158
159
 
wolfhece/PyVertex.py CHANGED
@@ -1039,6 +1039,8 @@ class cloud_vertices(Element_To_Draw):
1039
1039
  Plot OpenGL
1040
1040
 
1041
1041
  Legend is an image texture
1042
+
1043
+ FIXME : to be improved
1042
1044
  """
1043
1045
  if self.get_mapviewer() is None:
1044
1046
  logging.warning(_('No mapviewer available for legend plot'))
@@ -1405,3 +1407,23 @@ class cloud_vertices(Element_To_Draw):
1405
1407
  return newcloud
1406
1408
  else:
1407
1409
  return all_s, all_z
1410
+
1411
+ def plot_matplotlib(self, ax=None, **kwargs):
1412
+ """
1413
+ Plot the cloud using matplotlib
1414
+
1415
+ :param ax: axis to plot on -- if None, a new figure is created
1416
+ :param kwargs: additional arguments for matplotlib
1417
+
1418
+ """
1419
+ import matplotlib.pyplot as plt
1420
+
1421
+ if ax is None:
1422
+ fig, ax = plt.subplots()
1423
+
1424
+ x = [cur['vertex'].x for cur in self.myvertices.values()]
1425
+ y = [cur['vertex'].y for cur in self.myvertices.values()]
1426
+
1427
+ ax.scatter(x, y, **kwargs)
1428
+
1429
+ return fig, ax
wolfhece/__init__.py CHANGED
@@ -1,11 +1,14 @@
1
1
  from . import _add_path
2
+ from .PyTranslate import _
2
3
 
3
4
  try:
4
- from osgeo import gdal, osr
5
+ from osgeo import gdal, osr, ogr
5
6
  gdal.UseExceptions()
7
+ ogr.UseExceptions()
8
+ osr.UseExceptions()
6
9
  except ImportError as e:
7
10
  print(e)
8
- raise Exception(_('Error importing GDAL library'))
11
+ raise Exception(_('Error importing GDAL library\nPlease ensure GDAL is installed and the Python bindings are available\n\ngdal wheels can be found at https://github.com/cgohlke/geospatial-wheels'))
9
12
 
10
13
  from .apps.version import WolfVersion
11
14
 
wolfhece/apps/version.py CHANGED
@@ -5,7 +5,7 @@ class WolfVersion():
5
5
 
6
6
  self.major = 2
7
7
  self.minor = 2
8
- self.patch = 9
8
+ self.patch = 11
9
9
 
10
10
  def __str__(self):
11
11
 
@@ -436,7 +436,7 @@ class hydrometry():
436
436
 
437
437
  return self.url+'?request='+which.value+'&format='+format + datasource
438
438
 
439
- def daily_token(self):
439
+ def daily_token(self, timeout:int =5):
440
440
  """
441
441
  Get daily token to be identified on hydrometry website
442
442
 
@@ -457,7 +457,10 @@ class hydrometry():
457
457
  data = {'grant_type' :'client_credentials'}
458
458
 
459
459
  try:
460
- self.token = requests.post(self.urltoken, data=data, headers=headers).json()
460
+ self.token = requests.post(self.urltoken,
461
+ data=data,
462
+ headers=headers,
463
+ timeout=timeout).json()
461
464
 
462
465
  if 'error' in self.token:
463
466
  self.token = None
@@ -468,8 +471,10 @@ class hydrometry():
468
471
  json.dump(self.token, f)
469
472
  except:
470
473
  self._header = {'Authorization': 'Bearer '}
474
+ self.token = {'access_token': 0}
475
+ with open(today, 'w') as f:
476
+ json.dump(self.token, f)
471
477
  return
472
- self.token = None
473
478
 
474
479
  try:
475
480
  self._header = {'Authorization': 'Bearer {}'.format(self.token['access_token'])}
@@ -659,7 +659,7 @@ class Particle_system_to_draw(Element_To_Draw):
659
659
  logging.error(_('Dir {} does not contain particles'.format(fpath.parent)))
660
660
 
661
661
  self._ps.load(f)
662
- # with wx.lib.busy.BusyInfo(_('Importing particle system')):
662
+ # with wx.BusyInfo(_('Importing particle system')):
663
663
  # wx.Log.FlushActive()
664
664
  # wait = wx.BusyCursor()
665
665
  # self._ps.load(f)
wolfhece/pyviews.py CHANGED
@@ -44,7 +44,7 @@ class WolfViews(Element_To_Draw):
44
44
 
45
45
  mykeys = ['cross_sections', 'vector', 'array']
46
46
 
47
- # with wx.lib.busy.BusyInfo(_('Opening project')):
47
+ # with wx.BusyInfo(_('Opening project')):
48
48
  # wait = wx.BusyCursor()
49
49
 
50
50
  # if 'cross_sections' in myproject.myparams.keys():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wolfhece
3
- Version: 2.2.9
3
+ Version: 2.2.11
4
4
  Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
5
5
  Project-URL: Homepage, https://uee.uliege.be/hece
6
6
  Project-URL: Issues, https://uee.uliege.be/hece
@@ -11,7 +11,7 @@ Classifier: Operating System :: POSIX :: Linux
11
11
  Classifier: Topic :: Scientific/Engineering :: Physics
12
12
  Requires-Python: <3.11,>=3.10
13
13
  Description-Content-Type: text/markdown
14
- Requires-Dist: wxpython
14
+ Requires-Dist: wxpython==4.2.*
15
15
  Requires-Dist: pyogrio
16
16
  Requires-Dist: fiona
17
17
  Requires-Dist: msvc-runtime
@@ -8,15 +8,15 @@ wolfhece/Model1D.py,sha256=SI4oNF_J3MdjiWZoizS8kuRXLMVyymX9dYfYJNVCQVI,476989
8
8
  wolfhece/PandasGrid.py,sha256=YIleVkUkoP2MjtQBZ9Xgwk61zbgMj4Pmjj-clVTfPRs,2353
9
9
  wolfhece/PyConfig.py,sha256=Y0wtSIFpAMYa7IByh7hbW-WEOVjNsQEduq7vhIYdZQw,16716
10
10
  wolfhece/PyCrosssections.py,sha256=igU_ELrg5VrHU6RNbF5tHxPyVImpR3xdpfopJYc7haw,114711
11
- wolfhece/PyDraw.py,sha256=F2iKDT-hqIgBTFfq5ochWSQsrPgRjgiYWRoG7Fg16DQ,631736
12
- wolfhece/PyGui.py,sha256=IU97wVlmer3Q2MpWbJv4MQWH7nYbc5uN4pRzhr4jdlM,145197
11
+ wolfhece/PyDraw.py,sha256=MUxnzykOYLJFkF9tA6nutkasSTyDEuNzbwnfa_vmZF8,635057
12
+ wolfhece/PyGui.py,sha256=jhpOPYRDG3ms1oi7FUs2W80T4SdPssZEnijxqFtn6vA,145199
13
13
  wolfhece/PyGuiHydrology.py,sha256=sKafpOopBg50L5llZCI_fZtbebVTDtxvoRI6-osUwhg,14745
14
14
  wolfhece/PyHydrographs.py,sha256=1P5XAURNqCvtSsMQXhOn1ihjTpr725sRsZdlCEhhk6M,3730
15
15
  wolfhece/PyPalette.py,sha256=k9b_95GYD0USQ8DS5zGXeZ577712U6772kmhEbJtlXw,35406
16
16
  wolfhece/PyParams.py,sha256=Dh9C_WYICMjo3m9roRySsu8ZgFzzYhSr6RpbaXZni0M,99423
17
17
  wolfhece/PyPictures.py,sha256=m1kY0saW6Y9Q0bDCo47lW6XxDkBrbQG-Fd8uVn8G5ic,2514
18
18
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
19
- wolfhece/PyVertex.py,sha256=XGmTP35UTe94904Q7Wpg0J5WiifW_xxmMZgENcrUoew,49792
19
+ wolfhece/PyVertex.py,sha256=WT2UprotBUEA6rvs8kXfPRscKrhIL4_pya2UylzoBJE,50385
20
20
  wolfhece/PyVertexvectors.py,sha256=yPqE1rmqCSAucjNjSo1_srKHMwjqYWe0lx7S2Wbpryw,327905
21
21
  wolfhece/PyWMS.py,sha256=LWkQk3R7miiVal-n5K5P5ClSQJA_vi5ImBxYGuxCx9A,9122
22
22
  wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
@@ -24,7 +24,7 @@ wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,5
24
24
  wolfhece/RatingCurve_xml.py,sha256=cUjReVMHFKtakA2wVey5zz6lCgHlSr72y7ZfswZDvTM,33891
25
25
  wolfhece/ReadDataDCENN.py,sha256=vm-I4YMryvRldjXTvRYEUCxZsjb_tM7U9yj6OaPyD0k,1538
26
26
  wolfhece/Results2DGPU.py,sha256=45bLAkWvqHcw60QIP7qXyizbmS7buoDC7ndzOVfiWXg,26302
27
- wolfhece/__init__.py,sha256=kw2zFam1CqCH6CHgRHCZt7YXzsGaOQ-PwNkIi_E2H-Y,272
27
+ wolfhece/__init__.py,sha256=5ijazf1b2m6y5V8VJwbYKh0AVnTSwuwrmSIu7rp21Ds,502
28
28
  wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
29
29
  wolfhece/analyze_vect.py,sha256=3lkMwaQ4KRddBVRvlP9PcM66wZwwC0eCmypP91AW-os,6015
30
30
  wolfhece/cli.py,sha256=U8D7e_OezfrRfgMsa4TyQ7rI4voLKSY3RK-c8fb6rrw,3156
@@ -52,7 +52,7 @@ wolfhece/pydike.py,sha256=bKUwVvFMtAI4np4JJAkIa4xBDLw9l4py3l-Mjlfr_rM,2242
52
52
  wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
53
53
  wolfhece/pypolygons_scen.py,sha256=WubNPQEk4fC--4qIHZK6mJqQnRs4mAWUpmjRL8q33Sw,46069
54
54
  wolfhece/pyshields.py,sha256=6YncgmcA6QvbyIl4jbFRf24uJVjhiSplQKWtZH42lXI,24108
55
- wolfhece/pyviews.py,sha256=5Hqqo9MRw1eiomYkmc7QywNu1KmEkytLJG-wH_aG38Y,13748
55
+ wolfhece/pyviews.py,sha256=zuZjWUptRDm1MTE1PN4Xj_qSITnojgDMG0LlFIBH3SE,13739
56
56
  wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
57
57
  wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
58
58
  wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
@@ -86,7 +86,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
86
86
  wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
87
87
  wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
88
88
  wolfhece/apps/splashscreen.py,sha256=eCPAUYscZPWDYKBHDBWum_VIcE7WXOCBe1GLHL3KUmU,3088
89
- wolfhece/apps/version.py,sha256=o3OeBwd6Tgmc0fmEMZt8FtBtsdsee74REzxvxPvGof4,387
89
+ wolfhece/apps/version.py,sha256=7QZAT1d9GLNuNxvmWqljtE_PSXDCpxUUptXZYxgSOJU,388
90
90
  wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
91
91
  wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
92
92
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -148,7 +148,7 @@ wolfhece/hydrology/read.py,sha256=BaaIp1x44wPQz2LkWtzu7ZNKx3Gw_WDtAw-B4y_C2IU,95
148
148
  wolfhece/hydrology/slope_manager.py,sha256=vlek0z8qcqB61eleiksyOe3QR1vpbtwfeowy6ms7_Fg,5580
149
149
  wolfhece/hydrology/wolfMap_treatment.py,sha256=eAxr24zJGwmDof1aZpcxewVvv_bWDvoO8t9Wwf99Mlo,10606
150
150
  wolfhece/hydrometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
- wolfhece/hydrometry/kiwis.py,sha256=Y_rAEgnBFwGL7VY2nEAZ2_buoO4gDplMprRaB27-7RE,62665
151
+ wolfhece/hydrometry/kiwis.py,sha256=pCupiQvzOM0vtuN1Iqr7iba2kj-4gtj_-vDE-NWMAew,62936
152
152
  wolfhece/hydrometry/kiwis_gui.py,sha256=xubayI3ijq87l47pcVtP-D9mOGurOSu9rKz511oa7n0,24898
153
153
  wolfhece/hydrometry/kiwis_wolfgui.py,sha256=GPa5YNp2V2ZlxYQjPiCXERgPuWB_zij4ec2yHpRvoFA,4027
154
154
  wolfhece/icons/folder_open.png,sha256=ykBlU2FtGcpjAu1YO4_eGlDg2svgs_IAs-4d5O2e3AM,2329
@@ -162,7 +162,7 @@ wolfhece/lagrangian/advection.py,sha256=_fuDx8AcOVWxY1dYq3no3lSCmLwrw49AAAEr6icE
162
162
  wolfhece/lagrangian/emitter.py,sha256=D-94Joy_bJmhwDIomEDVo1q0LsuzrwaSpzSLjCWXSmo,11862
163
163
  wolfhece/lagrangian/example_domain.py,sha256=-xDTmo1vZWG3yZt3VdhEiOjvtbm77b_AuGb90Rgq2Rk,4787
164
164
  wolfhece/lagrangian/particle_system.py,sha256=ZwlgwH8JuBh3KBzxBZzSZi6ya3ftvk-4P3Lk4s_zh4A,23999
165
- wolfhece/lagrangian/particle_system_ui.py,sha256=NDQZ1NbwAKiIf5Jvr-oLvWBjJu4BjF_J3kSk1IYZfh4,29601
165
+ wolfhece/lagrangian/particle_system_ui.py,sha256=bW_4_42ghRRcGfErsFNfZDsrPdEmUaBLHmvCAaJsjzs,29592
166
166
  wolfhece/lagrangian/particles.py,sha256=sqp-_gfsIt8s3GNcI1eKaeOBMSo2C-wPrL7FpjkEyuw,9953
167
167
  wolfhece/lagrangian/velocity_field.py,sha256=oGVjNm98gEpawreFIrC1lDyC5bEhkk2CsyYAlF1Kq50,10574
168
168
  wolfhece/lazviewer/__init__.py,sha256=lz60EpQOBZ-zjvYzff6Y11jzAmC7mjOaxRYAfoqizQs,473
@@ -316,8 +316,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
316
316
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
317
317
  wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
318
318
  wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
319
- wolfhece-2.2.9.dist-info/METADATA,sha256=74AfxciyoQG4-CEALkQzsakBxo5x04S9O2ZXDjoLWgc,2744
320
- wolfhece-2.2.9.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
321
- wolfhece-2.2.9.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
322
- wolfhece-2.2.9.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
323
- wolfhece-2.2.9.dist-info/RECORD,,
319
+ wolfhece-2.2.11.dist-info/METADATA,sha256=WU-WG7V6U8UF36KRM4fYr8N0gyWury_OcISSfJBQ0cQ,2752
320
+ wolfhece-2.2.11.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
321
+ wolfhece-2.2.11.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
322
+ wolfhece-2.2.11.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
323
+ wolfhece-2.2.11.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (79.0.0)
2
+ Generator: setuptools (79.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5