wolfhece 2.1.114__py3-none-any.whl → 2.1.115__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/apps/version.py CHANGED
@@ -5,7 +5,7 @@ class WolfVersion():
5
5
 
6
6
  self.major = 2
7
7
  self.minor = 1
8
- self.patch = 114
8
+ self.patch = 115
9
9
 
10
10
  def __str__(self):
11
11
 
wolfhece/pybridges.py CHANGED
@@ -17,6 +17,7 @@ from typing import Literal, Union
17
17
  import matplotlib.pyplot as plt
18
18
  from enum import Enum
19
19
  import logging
20
+ from pathlib import Path
20
21
 
21
22
  from .PyTranslate import _
22
23
  from .PyVertexvectors import Zones, zone, vector, vectorproperties, getIfromRGB
@@ -130,9 +131,10 @@ class Bridge(Zones):
130
131
  """
131
132
  new_bridge = cls()
132
133
  new_bridge.myname = name
134
+ new_bridge.idx = name
133
135
 
134
- position = zone(name = zones_in_file.PARTS.value, parent= new_bridge)
135
- new_bridge.add_zone(position)
136
+ position = zone(name = zones_in_file.PARTS.value)
137
+ new_bridge.add_zone(position, forceparent=True)
136
138
 
137
139
  new_bridge.centralpart = vector(name = parts_values.CENTRAL.value)
138
140
  position.add_vector(new_bridge.centralpart, forceparent=True)
@@ -143,8 +145,8 @@ class Bridge(Zones):
143
145
  new_bridge.downstream = vector(name = parts_values.DOWNSTREAM.value)
144
146
  position.add_vector(new_bridge.downstream, forceparent=True)
145
147
 
146
- river = zone(name = zones_in_file.RIVER.value, parent= new_bridge)
147
- new_bridge.add_zone(river)
148
+ river = zone(name = zones_in_file.RIVER.value)
149
+ new_bridge.add_zone(river, forceparent=True)
148
150
 
149
151
  new_bridge.leftbank = vector(name = rivers_values.LEFTBANK.value)
150
152
  new_bridge.riverbed = vector(name = rivers_values.RIVERBED.value)
@@ -154,16 +156,26 @@ class Bridge(Zones):
154
156
  river.add_vector(new_bridge.riverbed, forceparent=True)
155
157
  river.add_vector(new_bridge.rightbank, forceparent=True)
156
158
 
157
- new_bridge.add_zone(zone(name = zones_in_file.DECK.value, parent= new_bridge))
158
- new_bridge.add_zone(zone(name = zones_in_file.ROOF.value, parent= new_bridge))
159
- new_bridge.add_zone(zone(name = zones_in_file.PIER.value, parent= new_bridge))
160
- new_bridge.add_zone(zone(name = zones_in_file.CROSS_SECTIONS.value, parent= new_bridge))
161
- new_bridge.add_zone(zone(name = zones_in_file.EXTRACTION.value, parent= new_bridge))
159
+ new_bridge.add_zone(zone(name = zones_in_file.DECK.value), forceparent=True)
160
+ new_bridge.add_zone(zone(name = zones_in_file.ROOF.value), forceparent=True)
161
+ new_bridge.add_zone(zone(name = zones_in_file.PIER.value), forceparent=True)
162
+ new_bridge.add_zone(zone(name = zones_in_file.CROSS_SECTIONS.value), forceparent=True)
163
+ new_bridge.add_zone(zone(name = zones_in_file.EXTRACTION.value), forceparent=True)
164
+
165
+ new_bridge.fill_structure()
162
166
 
163
167
  return new_bridge
164
168
 
165
- def __init__(self, myfile='', ds:float=5., ox: float = 0, oy: float = 0, tx: float = 0, ty: float = 0, parent=None, is2D=True, wx_exists:bool = False):
166
- super().__init__(myfile, ox, oy, tx, ty, parent, is2D, wx_exists)
169
+ def __init__(self, myfile='', ds:float=5.,
170
+ ox: float = 0, oy: float = 0,
171
+ tx: float = 0, ty: float = 0,
172
+ parent=None, is2D=True,
173
+ idx: str = '',
174
+ wx_exists:bool = False,
175
+ mapviewer=None
176
+ ):
177
+
178
+ super().__init__(myfile, ox, oy, tx, ty, parent, is2D, idx=idx, plotted= wx_exists, mapviewer= mapviewer)
167
179
  self.init_ui()
168
180
 
169
181
  self.centralpart = None
@@ -176,6 +188,10 @@ class Bridge(Zones):
176
188
 
177
189
  self.polygons_zone = None
178
190
 
191
+ self.mapviewer = mapviewer
192
+
193
+ self.parent = parent
194
+
179
195
  if myfile != '':
180
196
  self.myname = splitext(basename(myfile))[0]
181
197
  extension = splitext(basename(myfile))[1]
@@ -376,14 +392,17 @@ class Bridge(Zones):
376
392
  centery = np.sum(np.asarray([cur.y for cur in curvert.myvertices[:4]]))/4.
377
393
  self.polygons_curvi[curvert.myname] = poly.project(Point([centerx,centery]))
378
394
 
379
- def plot(self):
395
+ def plot(self, sx=None, sy=None, xmin=None, ymin=None, xmax=None, ymax=None, size=None):
380
396
  """Plot into GUI"""
381
- self.centralpart.plot()
382
- self.upstream.plot()
383
- self.downstream.plot()
384
- self.leftbank.plot()
385
- self.rightbank.plot()
386
- self.riverbed.plot()
397
+
398
+ super().plot(sx, sy, xmin, ymin, xmax, ymax, size)
399
+
400
+ # self.centralpart.plot()
401
+ # self.upstream.plot()
402
+ # self.downstream.plot()
403
+ # self.leftbank.plot()
404
+ # self.rightbank.plot()
405
+ # self.riverbed.plot()
387
406
 
388
407
  def find_values_inside_parts(self, linked_arrays):
389
408
  """
@@ -875,7 +894,8 @@ class Bridge(Zones):
875
894
 
876
895
  class Bridges(Element_To_Draw):
877
896
 
878
- def __init__(self, directory:str, idx: str = '', plotted: bool = True, mapviewer=None, need_for_wx: bool = False) -> None:
897
+ def __init__(self, directory:str, idx: str = '', plotted: bool = True, mapviewer=None, need_for_wx: bool = False, TypeObj = Bridge) -> None:
898
+
879
899
  super().__init__(idx, plotted, mapviewer, need_for_wx)
880
900
 
881
901
  self.myelts = {}
@@ -886,15 +906,42 @@ class Bridges(Element_To_Draw):
886
906
 
887
907
  self.keys_values = None
888
908
 
909
+ self._directory = directory
910
+
911
+ self.xmin = 0.
912
+ self.xmax = 0.
913
+ self.ymin = 0.
914
+ self.ymax = 0.
915
+
889
916
  if exists(directory):
890
917
  for filename in scandir(directory):
891
918
  # checking if it is a file
892
919
  if filename.is_file():
893
920
  if filename.path.endswith('.vec') or filename.path.endswith('.vecz'):
894
- self.myelts[filename] = Bridge(filename.path)
921
+ self.myelts[filename] = TypeObj(filename.path, idx=Path(filename).stem, parent=mapviewer)
895
922
 
896
923
  self.find_minmax(True)
897
924
 
925
+ def addnew(self, idx: str = ''):
926
+ """
927
+ Add a new bridge
928
+ """
929
+
930
+ if idx in self.myelts.keys():
931
+ logging.warning(_('Bridge {} already exists'.format(idx)))
932
+ logging.warning(_('Please choose another name'))
933
+ return
934
+
935
+ newbridge = Bridge.new_bridge(idx)
936
+
937
+ newbridge.filename = self._directory + '/' + idx + '.vecz'
938
+
939
+ self.myelts[idx] = newbridge
940
+
941
+ self.find_minmax(True)
942
+
943
+ return newbridge
944
+
898
945
  def plot(self, sx=None, sy=None, xmin=None, ymin=None, xmax=None, ymax=None, size=None):
899
946
  """
900
947
  Plot elements inside PyDraw
@@ -1449,8 +1496,14 @@ class Bridges(Element_To_Draw):
1449
1496
 
1450
1497
  class Weir(Bridge):
1451
1498
 
1452
- def __init__(self, myfile='', ds: float = 5, ox: float = 0, oy: float = 0, tx: float = 0, ty: float = 0, parent=None, is2D=True, wx_exists: bool = False):
1453
- super().__init__(myfile, ds, ox, oy, tx, ty, parent, is2D, wx_exists)
1499
+ def __init__(self, myfile='', ds: float = 5,
1500
+ ox: float = 0, oy: float = 0,
1501
+ tx: float = 0, ty: float = 0,
1502
+ parent=None, is2D=True,
1503
+ idx='',
1504
+ wx_exists: bool = False):
1505
+
1506
+ super().__init__(myfile, ds, ox, oy, tx, ty, parent, is2D, idx, wx_exists)
1454
1507
 
1455
1508
  def colorize(self):
1456
1509
  self.centralpart.myprop.color = getIfromRGB((102,102,255))
@@ -1459,8 +1512,12 @@ class Weir(Bridge):
1459
1512
 
1460
1513
  class Weirs(Bridges):
1461
1514
 
1462
- def __init__(self, directory: str, idx='', plotted=True, mapviewer=None) -> None:
1463
- super().__init__(directory, idx, plotted, mapviewer)
1515
+ def __init__(self, directory: str,
1516
+ idx:str='', plotted:bool=True,
1517
+ mapviewer=None, need_for_wx: bool = False,
1518
+ TypeObj = Weir) -> None:
1519
+
1520
+ super().__init__(directory, idx, plotted, mapviewer, need_for_wx= need_for_wx, TypeObj=TypeObj)
1464
1521
 
1465
1522
  def _get_list(self, site) -> list[Weir]:
1466
1523
  if site is None:
@@ -1275,6 +1275,12 @@ class Config_Manager_2D_GPU:
1275
1275
  # check for infiltration
1276
1276
  if exists(dir / '__infiltration.tif'):
1277
1277
  infiltration = WolfArray(str(dir / '__infiltration.tif'))
1278
+
1279
+ if infiltration.nullvalue != 0:
1280
+ infiltration.nullvalue = 0
1281
+ infiltration.set_nullvalue_in_mask()
1282
+ logging.warning(_('Bad null value for infiltration ! -- Set to 0 !'))
1283
+
1278
1284
  if infiltration.wolftype != WOLF_ARRAY_FULL_INTEGER:
1279
1285
  logging.error(_('Infiltration .tif must be a full integer array ! -- The array will be ignored !'))
1280
1286
  infiltration = WolfArray(srcheader=bat.get_header(), whichtype= WOLF_ARRAY_FULL_INTEGER)
@@ -1282,6 +1288,7 @@ class Config_Manager_2D_GPU:
1282
1288
  else:
1283
1289
  infiltration = WolfArray(srcheader=bat.get_header(), whichtype= WOLF_ARRAY_FULL_INTEGER)
1284
1290
  infiltration.array.data[:,:] = 0
1291
+ infiltration.nullvalue = 0
1285
1292
 
1286
1293
  # check for roof
1287
1294
  if exists(dir / '__roof.tif'):
wolfhece/wolf_array.py CHANGED
@@ -2623,8 +2623,13 @@ class Ops_Array(wx.Frame):
2623
2623
  def OnContourList(self, event:wx.MouseEvent):
2624
2624
  """ Create contour - list of values """
2625
2625
 
2626
+ if self.parentarray is None:
2627
+ logging.error('No parent array')
2628
+ logging.info('Nothing to do ! -- Check the routine OnContourList if needed !')
2629
+ return
2630
+
2626
2631
  with wx.TextEntryDialog(None, 'List of specific values separated by comma or tuple (min;max;step)\n\nValues in tuples must be separated by ";"',
2627
- 'List of values', f'{self.parentarray.array.min()}, {self.parentarray.array.max()}') as dlg:
2632
+ 'List of values', f'{self.parentarray.zmin}, {self.parentarray.zmax}') as dlg:
2628
2633
 
2629
2634
  if dlg.ShowModal() == wx.ID_OK:
2630
2635
  txt = dlg.GetValue()
@@ -5483,6 +5488,30 @@ class WolfArray(Element_To_Draw, header_wolf):
5483
5488
 
5484
5489
  return dtype
5485
5490
 
5491
+ @property
5492
+ def zmin(self):
5493
+ """ Return the minimum value of the masked array """
5494
+
5495
+ return np.ma.min(self.array)
5496
+
5497
+ @property
5498
+ def zmax(self):
5499
+ """ Return the maximum value of the masked array """
5500
+
5501
+ return np.ma.max(self.array)
5502
+
5503
+ @property
5504
+ def zmin_global(self):
5505
+ """ Return the minimum value of the array -- all data (masked or not) """
5506
+
5507
+ return np.min(self.array.data)
5508
+
5509
+ @property
5510
+ def zmax_global(self):
5511
+ """ Return the maximum value of the array -- all data (masked or not) """
5512
+
5513
+ return np.max(self.array.data)
5514
+
5486
5515
  def loadnap_and_apply(self):
5487
5516
  """
5488
5517
  Load a mask file (aka nap) and apply it to the array;
@@ -9498,6 +9527,45 @@ class WolfArrayMB(WolfArray):
9498
9527
  if self.myblocks is None:
9499
9528
  self.myblocks = {}
9500
9529
 
9530
+ @property
9531
+ def zmin(self) -> float:
9532
+ """ Return the minimum value of the array """
9533
+
9534
+ zmin = np.min([curblock.zmin for curblock in self.myblocks.values()])
9535
+
9536
+ return zmin
9537
+
9538
+ @property
9539
+ def zmax(self) -> float:
9540
+ """ Return the maximum value of the array """
9541
+
9542
+ zmax = np.max([curblock.zmax for curblock in self.myblocks.values()])
9543
+
9544
+ return zmax
9545
+
9546
+ @property
9547
+ def zmin_global(self) -> float:
9548
+ """ Return the minimum value of the array """
9549
+
9550
+ zmin = np.min([curblock.zmin_global for curblock in self.myblocks.values()])
9551
+
9552
+ return zmin
9553
+
9554
+ @property
9555
+ def zmax_global(self) -> float:
9556
+ """ Return the maximum value of the array """
9557
+
9558
+ zmax = np.max([curblock.zmax_global for curblock in self.myblocks.values()])
9559
+
9560
+ return zmax
9561
+
9562
+
9563
+ def contour(self, levels:Union[int, list[float]] = 10) -> Zones:
9564
+ """ Compute contour lines """
9565
+
9566
+ tmp = self.as_WolfArray()
9567
+ return tmp.contour(levels)
9568
+
9501
9569
  def extract_selection(self):
9502
9570
  """ Extract the current selection """
9503
9571
 
@@ -9522,7 +9590,6 @@ class WolfArrayMB(WolfArray):
9522
9590
  if mapviewer is not None:
9523
9591
  mapviewer.add_object('array', newobj = newarray, ToCheck = True, id = self.idx + '_extracted')
9524
9592
 
9525
-
9526
9593
  @property
9527
9594
  def nullvalue(self) -> float:
9528
9595
  """ Return the null value """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: wolfhece
3
- Version: 2.1.114
3
+ Version: 2.1.115
4
4
  Author-email: Pierre Archambeau <pierre.archambeau@uliege.be>
5
5
  License: Copyright (c) 2024 University of Liege. All rights reserved.
6
6
  Project-URL: Homepage, https://uee.uliege.be/hece
@@ -7,22 +7,22 @@ wolfhece/ManageParams.py,sha256=EeuUI5Vvh9ixCvYf8YShMC1s1Yacc7OxOCN7q81gqiQ,517
7
7
  wolfhece/Model1D.py,sha256=SI4oNF_J3MdjiWZoizS8kuRXLMVyymX9dYfYJNVCQVI,476989
8
8
  wolfhece/PyConfig.py,sha256=Bb1T8qjgKMChadJYDrHO9uo6CwItiAXScZpYkDXqZF8,11387
9
9
  wolfhece/PyCrosssections.py,sha256=FnmM9DWY_SAF2EDH9Gu2PojXNtSTRF4-aYQuAAJXBh4,112771
10
- wolfhece/PyDraw.py,sha256=4VOvHsdTXUP3C0W4qH1mPtBrO31GS1BTb3aPUgkbTDM,497161
11
- wolfhece/PyGui.py,sha256=Ceaby7kyTFf-eZQy4b6sI_b6y2ssN37bSGWBqOcb5VM,144145
10
+ wolfhece/PyDraw.py,sha256=efChYsrkRWnVYJJecpVJoUUEajOGus6_05OHrmKMfc0,502367
11
+ wolfhece/PyGui.py,sha256=RlrLoCBdbiMnR4FSUD1yuy8fs--hxUl_zPu7zuduCLE,144706
12
12
  wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
13
13
  wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
14
- wolfhece/PyPalette.py,sha256=-D2sC7wzGGW8yBtiwXc1CsxHpCj-olxGohZrsdzmaCM,31794
14
+ wolfhece/PyPalette.py,sha256=n3Aj6vgxj8LCN-aNR4Q9NY215Cf4GMthb33UGsl3BUg,31828
15
15
  wolfhece/PyParams.py,sha256=GRp1zZDUJIjs8PtjwScDdov-E9orr1JWOntDazN5AOw,98577
16
16
  wolfhece/PyPictures.py,sha256=m1kY0saW6Y9Q0bDCo47lW6XxDkBrbQG-Fd8uVn8G5ic,2514
17
17
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
18
18
  wolfhece/PyVertex.py,sha256=qFf8UPvkbwumRRfjpBcgZmqpHtcEtIEoUh30rWFF-lQ,45205
19
- wolfhece/PyVertexvectors.py,sha256=2-ZsBtauyq_n8ZjtBf0r_ze4H_2L8DYrOd53oVeYUAw,284650
19
+ wolfhece/PyVertexvectors.py,sha256=NILb6FUMQLIiA-tdMCnW2RXmqToBQ5Y0DiXf5Od5Fy4,287908
20
20
  wolfhece/PyWMS.py,sha256=WmOzHP02wVcB5RGJAlENL_NzF9rYfvLxslRFyxaEt1Q,6615
21
21
  wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
22
22
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
23
23
  wolfhece/RatingCurve_xml.py,sha256=cUjReVMHFKtakA2wVey5zz6lCgHlSr72y7ZfswZDvTM,33891
24
24
  wolfhece/ReadDataDCENN.py,sha256=vm-I4YMryvRldjXTvRYEUCxZsjb_tM7U9yj6OaPyD0k,1538
25
- wolfhece/Results2DGPU.py,sha256=dtLGrNe0VOWJHw5moduLBIaXFf2xRkmpKlIfmB2zje0,24453
25
+ wolfhece/Results2DGPU.py,sha256=WC-nerHaKVmR6XXst5RClp6M3heQ0yjTu5VupF-vXew,25896
26
26
  wolfhece/__init__.py,sha256=FRDE8PiJAWxX9PMXsShRMZ8YADAY4WIgKMRh52rmhiw,23
27
27
  wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
28
28
  wolfhece/analyze_vect.py,sha256=3lkMwaQ4KRddBVRvlP9PcM66wZwwC0eCmypP91AW-os,6015
@@ -42,7 +42,7 @@ wolfhece/multiprojects.py,sha256=Sd6Bl6YP33jlR79A6rvSLu23vq8sqbFYL8lWuVPkEpE,215
42
42
  wolfhece/picc.py,sha256=0X_pzhSBoVxgtTfJ37pkOQO3Vbr9yurPaD1nVeurx8k,8531
43
43
  wolfhece/pidcontroller.py,sha256=PHYenOdzfyPK2pXAhyRolCxMSMRd2AFza0eVMafpPHk,5205
44
44
  wolfhece/pyGui1D.py,sha256=9g7OS3YiKsqy--6y0cBD7x2gaqTTYFXWkxImpgnTA20,121937
45
- wolfhece/pybridges.py,sha256=pNdtk42QiY4I2XPZJux5VsY3PLEPHPegefziu6n3tO4,64298
45
+ wolfhece/pybridges.py,sha256=FI17lGHzd3DGhkOAXgvJEOyvj4vBeGBTBO6RJRc4f7o,65761
46
46
  wolfhece/pydike.py,sha256=hPBQsmSTW4QAp1wcOzb-TL3L7eet2WT1sJx2q-WNQ-Q,2241
47
47
  wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
48
48
  wolfhece/pypolygons_scen.py,sha256=vMfAKXKrW6vKR7l9Fl2hEt-jihLwIiMur7qNTNfwRg4,46101
@@ -52,7 +52,7 @@ wolfhece/pywalous.py,sha256=mWB7UxlYMIbPxNUDlONQEjcOOy9VSaRU9aYWZ5IFLu8,19164
52
52
  wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
53
53
  wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
54
54
  wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
55
- wolfhece/wolf_array.py,sha256=FNUmNOFadluyJNrKgPfC5ImKdWjjN--REFvLwF9zCTA,425937
55
+ wolfhece/wolf_array.py,sha256=tmNeSS0MgZCxoxqHWb3ZW-HdeZCbWYDTq4C80WG7nWs,427777
56
56
  wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
57
57
  wolfhece/wolf_texture.py,sha256=ecoXXmmcLuyG1oPqU2dB_k03qMTCLTVQoSq1xi1EalU,17359
58
58
  wolfhece/wolf_tiles.py,sha256=-YfTelZjpfgqZXd1yMsGFajz_oDISXkC0zB5fW-8MBY,10486
@@ -80,7 +80,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
80
80
  wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
81
81
  wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
82
82
  wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
83
- wolfhece/apps/version.py,sha256=CWBoicutlw9l2lxnSX8E5td0ZcXCgNCMSr9DvDRDf0c,389
83
+ wolfhece/apps/version.py,sha256=EyQh37QGtlBEUyYiAlz_IouaM-UGYFtRP6aZcJqEcwg,389
84
84
  wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
85
85
  wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
86
86
  wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
@@ -270,7 +270,7 @@ wolfhece/report/reporting.py,sha256=JUEXovx_S4jpYkJEBU0AC-1Qw2OkkWyV3VAp6iOfSHc,
270
270
  wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
271
271
  wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
272
272
  wolfhece/scenario/check_scenario.py,sha256=d-LWa_FxmPxTSc_H1lDHwqLB6TCqj1IUrRJhatfPMMA,5623
273
- wolfhece/scenario/config_manager.py,sha256=xdM-dXZ5OgHGE0vwYSvk3j1sZ5angj04YUNRewUUvc0,106736
273
+ wolfhece/scenario/config_manager.py,sha256=pB6ofxjdWu06ASeJbK7GKpcq-wwjaGbrpIsQ0ZITMaI,107010
274
274
  wolfhece/scenario/imposebc_void.py,sha256=PqA_99hKcaqK5zsK6IRIc5Exgg3WVpgWU8xpwNL49zQ,5571
275
275
  wolfhece/scenario/update_void.py,sha256=zb4LBX7uQCJykZWOKPQMTDtzoWkPRJqlx2qWMPvCnw8,8755
276
276
  wolfhece/shaders/fragment_shader_texture.glsl,sha256=w6h8d5mJqFaGbao0LGmjRcFFdcEQ3ICIl9JpuT71K5k,177
@@ -293,8 +293,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
293
293
  wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
294
294
  wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
295
  wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
296
- wolfhece-2.1.114.dist-info/METADATA,sha256=oA6BOqUpWBBi5TOwAxTNPB8jcVEFO2MqvfnRm7K-aSc,2587
297
- wolfhece-2.1.114.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
298
- wolfhece-2.1.114.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
299
- wolfhece-2.1.114.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
300
- wolfhece-2.1.114.dist-info/RECORD,,
296
+ wolfhece-2.1.115.dist-info/METADATA,sha256=qEqSZhvJvgQbQKdX-NHur3c_tbeYO7QeQYkDWrPvTlE,2587
297
+ wolfhece-2.1.115.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
298
+ wolfhece-2.1.115.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
299
+ wolfhece-2.1.115.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
300
+ wolfhece-2.1.115.dist-info/RECORD,,