wolfhece 2.1.86__py3-none-any.whl → 2.1.87__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/PyVertexvectors.py +80 -25
- wolfhece/apps/check_version.py +49 -0
- wolfhece/apps/version.py +1 -1
- wolfhece/scenario/check_scenario.py +10 -1
- wolfhece/scenario/config_manager.py +42 -7
- {wolfhece-2.1.86.dist-info → wolfhece-2.1.87.dist-info}/METADATA +1 -1
- {wolfhece-2.1.86.dist-info → wolfhece-2.1.87.dist-info}/RECORD +10 -9
- {wolfhece-2.1.86.dist-info → wolfhece-2.1.87.dist-info}/WHEEL +0 -0
- {wolfhece-2.1.86.dist-info → wolfhece-2.1.87.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.1.86.dist-info → wolfhece-2.1.87.dist-info}/top_level.txt +0 -0
wolfhece/PyVertexvectors.py
CHANGED
@@ -1842,7 +1842,7 @@ class vector:
|
|
1842
1842
|
|
1843
1843
|
return s3d
|
1844
1844
|
|
1845
|
-
def get_sz(self,cumul=True):
|
1845
|
+
def get_sz(self, cumul=True):
|
1846
1846
|
"""
|
1847
1847
|
Calcule et retourne la distance horizontale cumulée ou non
|
1848
1848
|
de chaque point vis-à-vis du premier point
|
@@ -2306,7 +2306,7 @@ class vector:
|
|
2306
2306
|
|
2307
2307
|
return fig,ax
|
2308
2308
|
|
2309
|
-
def deepcopy_vector(self, name: str = None, parentzone = None):
|
2309
|
+
def deepcopy_vector(self, name: str = None, parentzone = None) -> 'vector':
|
2310
2310
|
"""
|
2311
2311
|
Return a deep copy of the vector.
|
2312
2312
|
"""
|
@@ -2323,6 +2323,13 @@ class vector:
|
|
2323
2323
|
|
2324
2324
|
return copied_vector
|
2325
2325
|
|
2326
|
+
def deepcopy(self, name: str = None, parentzone = None) -> 'vector':
|
2327
|
+
"""
|
2328
|
+
Return a deep copy of the vector.
|
2329
|
+
"""
|
2330
|
+
|
2331
|
+
return self.deepcopy_vector(name, parentzone)
|
2332
|
+
|
2326
2333
|
def set_legend_to_centroid(self, text:str='', visible:bool=True):
|
2327
2334
|
"""
|
2328
2335
|
Positionne la légende au centre du vecteur
|
@@ -2387,10 +2394,18 @@ class vector:
|
|
2387
2394
|
def sz(self):
|
2388
2395
|
return self.get_sz()
|
2389
2396
|
|
2397
|
+
@property
|
2398
|
+
def s(self):
|
2399
|
+
sz = self.get_sz()
|
2400
|
+
return sz[0]
|
2401
|
+
|
2390
2402
|
@x.setter
|
2391
|
-
def x(self, new_x:np.ndarray):
|
2403
|
+
def x(self, new_x:np.ndarray | list):
|
2392
2404
|
""" Set the x values of the vertices """
|
2393
2405
|
|
2406
|
+
if isinstance(new_x, list):
|
2407
|
+
new_x = np.array(new_x)
|
2408
|
+
|
2394
2409
|
if len(new_x) != self.nbvertices:
|
2395
2410
|
logging.warning(_('New x values have not the same length as the number of vertices'))
|
2396
2411
|
return
|
@@ -2401,9 +2416,12 @@ class vector:
|
|
2401
2416
|
self._reset_listogl()
|
2402
2417
|
|
2403
2418
|
@y.setter
|
2404
|
-
def y(self, new_y:np.ndarray):
|
2419
|
+
def y(self, new_y:np.ndarray | list):
|
2405
2420
|
""" Set the y values of the vertices """
|
2406
2421
|
|
2422
|
+
if isinstance(new_y, list):
|
2423
|
+
new_y = np.array(new_y)
|
2424
|
+
|
2407
2425
|
if len(new_y) != self.nbvertices:
|
2408
2426
|
logging.warning(_('New y values have not the same length as the number of vertices'))
|
2409
2427
|
return
|
@@ -2414,9 +2432,15 @@ class vector:
|
|
2414
2432
|
self._reset_listogl()
|
2415
2433
|
|
2416
2434
|
@z.setter
|
2417
|
-
def z(self, new_z:np.ndarray):
|
2435
|
+
def z(self, new_z:np.ndarray | float | list):
|
2418
2436
|
""" Set the z values of the vertices """
|
2419
2437
|
|
2438
|
+
if isinstance(new_z, (int, float)):
|
2439
|
+
new_z = np.full(self.nbvertices, new_z, dtype=float)
|
2440
|
+
|
2441
|
+
if isinstance(new_z, list):
|
2442
|
+
new_z = np.array(new_z)
|
2443
|
+
|
2420
2444
|
if len(new_z) != self.nbvertices:
|
2421
2445
|
logging.warning(_('New z values have not the same length as the number of vertices'))
|
2422
2446
|
return
|
@@ -2431,9 +2455,12 @@ class vector:
|
|
2431
2455
|
self._reset_listogl()
|
2432
2456
|
|
2433
2457
|
@xyz.setter
|
2434
|
-
def xyz(self, new_xyz:np.ndarray):
|
2458
|
+
def xyz(self, new_xyz:np.ndarray | list):
|
2435
2459
|
""" Set the x, y, z values of the vertices """
|
2436
2460
|
|
2461
|
+
if isinstance(new_xyz, list):
|
2462
|
+
new_xyz = np.array(new_xyz)
|
2463
|
+
|
2437
2464
|
if len(new_xyz) != self.nbvertices:
|
2438
2465
|
logging.warning(_('New xyz values have not the same length as the number of vertices'))
|
2439
2466
|
return
|
@@ -2452,9 +2479,12 @@ class vector:
|
|
2452
2479
|
self._reset_listogl()
|
2453
2480
|
|
2454
2481
|
@xy.setter
|
2455
|
-
def xy(self, new_xy:np.ndarray):
|
2482
|
+
def xy(self, new_xy:np.ndarray | list):
|
2456
2483
|
""" Set the x, y values of the vertices """
|
2457
2484
|
|
2485
|
+
if isinstance(new_xy, list):
|
2486
|
+
new_xy = np.array(new_xy)
|
2487
|
+
|
2458
2488
|
if len(new_xy) != self.nbvertices:
|
2459
2489
|
logging.warning(_('New xy values have not the same length as the number of vertices'))
|
2460
2490
|
return
|
@@ -2466,9 +2496,12 @@ class vector:
|
|
2466
2496
|
self._reset_listogl()
|
2467
2497
|
|
2468
2498
|
@xz.setter
|
2469
|
-
def xz(self, new_xz:np.ndarray):
|
2499
|
+
def xz(self, new_xz:np.ndarray | list):
|
2470
2500
|
""" Set the x, z values of the vertices """
|
2471
2501
|
|
2502
|
+
if isinstance(new_xz, list):
|
2503
|
+
new_xz = np.array(new_xz)
|
2504
|
+
|
2472
2505
|
if len(new_xz) != self.nbvertices:
|
2473
2506
|
logging.warning(_('New xz values have not the same length as the number of vertices'))
|
2474
2507
|
return
|
@@ -2485,9 +2518,12 @@ class vector:
|
|
2485
2518
|
self._reset_listogl()
|
2486
2519
|
|
2487
2520
|
@xyzi.setter
|
2488
|
-
def xyzi(self, new_xyzi:np.ndarray):
|
2521
|
+
def xyzi(self, new_xyzi:np.ndarray | list):
|
2489
2522
|
""" Set the x, y, z, in_use values of the vertices """
|
2490
2523
|
|
2524
|
+
if isinstance(new_xyzi, list):
|
2525
|
+
new_xyzi = np.array(new_xyzi)
|
2526
|
+
|
2491
2527
|
if len(new_xyzi) != self.nbvertices:
|
2492
2528
|
logging.warning(_('New xyzi values have not the same length as the number of vertices'))
|
2493
2529
|
return
|
@@ -2501,9 +2537,12 @@ class vector:
|
|
2501
2537
|
self._reset_listogl()
|
2502
2538
|
|
2503
2539
|
@xyi.setter
|
2504
|
-
def xyi(self, new_xyi:np.ndarray):
|
2540
|
+
def xyi(self, new_xyi:np.ndarray | list):
|
2505
2541
|
""" Set the x, y, in_use values of the vertices """
|
2506
2542
|
|
2543
|
+
if isinstance(new_xyi, list):
|
2544
|
+
new_xyi = np.array(new_xyi)
|
2545
|
+
|
2507
2546
|
if len(new_xyi) != self.nbvertices:
|
2508
2547
|
logging.warning(_('New xyi values have not the same length as the number of vertices'))
|
2509
2548
|
return
|
@@ -2516,9 +2555,12 @@ class vector:
|
|
2516
2555
|
self._reset_listogl()
|
2517
2556
|
|
2518
2557
|
@i.setter
|
2519
|
-
def i(self, new_i:np.ndarray):
|
2558
|
+
def i(self, new_i:np.ndarray | list):
|
2520
2559
|
""" Set the in_use values of the vertices """
|
2521
2560
|
|
2561
|
+
if isinstance(new_i, list):
|
2562
|
+
new_i = np.array(new_i)
|
2563
|
+
|
2522
2564
|
if len(new_i) != self.nbvertices:
|
2523
2565
|
logging.warning(_('New i values have not the same length as the number of vertices'))
|
2524
2566
|
return
|
@@ -4128,22 +4170,28 @@ class zone:
|
|
4128
4170
|
glDeleteLists(self.idgllist,1)
|
4129
4171
|
self.idgllist=-99999
|
4130
4172
|
|
4131
|
-
def deepcopy_zone(self, name: str =None, parent: str= None):
|
4173
|
+
def deepcopy_zone(self, name: str =None, parent: str= None) -> "zone":
|
4132
4174
|
""" Return a deep copy of the zone"""
|
4133
4175
|
|
4134
4176
|
if name is None:
|
4135
4177
|
name = self.myname + '_copy'
|
4136
|
-
|
4137
|
-
|
4138
|
-
|
4139
|
-
|
4140
|
-
copied_zone
|
4141
|
-
|
4142
|
-
|
4143
|
-
|
4144
|
-
|
4145
|
-
|
4146
|
-
|
4178
|
+
|
4179
|
+
if parent is not None:
|
4180
|
+
copied_zone = zone(name=name, parent=parent)
|
4181
|
+
else:
|
4182
|
+
copied_zone = zone(name=name)
|
4183
|
+
|
4184
|
+
copied_zone.myvectors = []
|
4185
|
+
for vec in self.myvectors:
|
4186
|
+
copied_vec = vec.deepcopy_vector(parentzone = copied_zone)
|
4187
|
+
copied_zone.add_vector(copied_vec, forceparent=True)
|
4188
|
+
|
4189
|
+
return copied_zone
|
4190
|
+
|
4191
|
+
def deepcopy(self, name: str =None, parent: str= None) -> "zone":
|
4192
|
+
""" Return a deep copy of the zone"""
|
4193
|
+
|
4194
|
+
return self.deepcopy_zone(name, parent)
|
4147
4195
|
|
4148
4196
|
def show_properties(self):
|
4149
4197
|
""" Show properties of the zone --> will be applied to all vectors int he zone """
|
@@ -6638,18 +6686,25 @@ class Zones(wx.Frame, Element_To_Draw):
|
|
6638
6686
|
dlg.Destroy()
|
6639
6687
|
return
|
6640
6688
|
|
6641
|
-
def deepcopy_zones(self, name:str = None):
|
6689
|
+
def deepcopy_zones(self, name:str = None) -> "Zones":
|
6642
6690
|
"""
|
6643
6691
|
Return the deep copy of the current
|
6644
6692
|
Zones (a new object).
|
6645
6693
|
"""
|
6646
|
-
copied_Zones = Zones()
|
6694
|
+
copied_Zones = Zones(idx=name)
|
6647
6695
|
for zne in self.myzones:
|
6648
6696
|
new_zne = zne.deepcopy_zone(parent= copied_Zones)
|
6649
6697
|
copied_Zones.add_zone(new_zne,forceparent=True)
|
6650
6698
|
copied_Zones.find_minmax(True)
|
6651
6699
|
return copied_Zones
|
6652
6700
|
|
6701
|
+
def deepcopy(self, name:str = None) -> "Zones":
|
6702
|
+
"""
|
6703
|
+
Return the deep copy of the current
|
6704
|
+
Zones (a new object).
|
6705
|
+
"""
|
6706
|
+
return self.deepcopy_zones(name=name)
|
6707
|
+
|
6653
6708
|
class Grid(Zones):
|
6654
6709
|
"""
|
6655
6710
|
Grid to draw on the mapviewer.
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import pkg_resources
|
2
|
+
|
3
|
+
from .version import WolfVersion
|
4
|
+
|
5
|
+
def validate_version(expected_version:str):
|
6
|
+
|
7
|
+
# Test de la version afin de s'assurer que les dernières fonctionnalités sont présentes
|
8
|
+
major, minor, patch = str(WolfVersion()).split('.')
|
9
|
+
major = int(major)
|
10
|
+
minor = int(minor)
|
11
|
+
patch = int(patch)
|
12
|
+
|
13
|
+
major_expected, minor_expected, patch_expected = expected_version.split('.')
|
14
|
+
major_expected = int(major_expected)
|
15
|
+
minor_expected = int(minor_expected)
|
16
|
+
patch_expected = int(patch_expected)
|
17
|
+
|
18
|
+
test = major == major_expected and minor == minor_expected and patch >= patch_expected
|
19
|
+
|
20
|
+
if test:
|
21
|
+
return 'Version correcte'
|
22
|
+
else:
|
23
|
+
return 'Version incorrecte'
|
24
|
+
|
25
|
+
def validate_package_version(expected_version:str):
|
26
|
+
# Test de la version afin de s'assurer que les dernières fonctionnalités sont présentes
|
27
|
+
# Obtenir la version du paquet 'wolfhece' dans l'espace de
|
28
|
+
# stockage des paquets de l'environnement Python actif.
|
29
|
+
# Potentiellement différente de la version accessible via le PATH
|
30
|
+
# en fonction de la amchine utilisée.
|
31
|
+
pkg_wolfhece = pkg_resources.get_distribution('wolfhece')
|
32
|
+
locversion_pkg = pkg_wolfhece.version
|
33
|
+
major, minor, patch = str(locversion_pkg).split('.')
|
34
|
+
major = int(major)
|
35
|
+
minor = int(minor)
|
36
|
+
patch = int(patch)
|
37
|
+
|
38
|
+
major_expected, minor_expected, patch_expected = expected_version.split('.')
|
39
|
+
major_expected = int(major_expected)
|
40
|
+
minor_expected = int(minor_expected)
|
41
|
+
patch_expected = int(patch_expected)
|
42
|
+
|
43
|
+
test = major == major_expected and minor == minor_expected and patch >= patch_expected
|
44
|
+
|
45
|
+
if test:
|
46
|
+
return 'Version correcte'
|
47
|
+
else:
|
48
|
+
return 'Version incorrecte'
|
49
|
+
|
wolfhece/apps/version.py
CHANGED
@@ -110,9 +110,18 @@ def import_files(module_files:Union[list[Path],list[str]]) -> list[types.ModuleT
|
|
110
110
|
if isinstance(py_file, str):
|
111
111
|
py_file = Path(py_file)
|
112
112
|
|
113
|
+
olddir = os.getcwd()
|
113
114
|
sys.path.insert(0, str(py_file.parent.absolute()))
|
114
|
-
|
115
|
+
os.chdir(py_file.parent)
|
116
|
+
|
117
|
+
mod_name = py_file.name.replace('.py','')
|
118
|
+
if mod_name in sys.modules:
|
119
|
+
del sys.modules[mod_name]
|
120
|
+
|
121
|
+
module = importlib.import_module(mod_name)
|
122
|
+
# sys.modules.get('update_top_mann_scen')
|
115
123
|
sys.path.pop(0)
|
124
|
+
os.chdir(olddir)
|
116
125
|
|
117
126
|
modules.append(module)
|
118
127
|
|
@@ -788,26 +788,46 @@ class Config_Manager_2D_GPU:
|
|
788
788
|
def _import_scripts_topo_manning(self, from_path:Path) -> list[types.ModuleType]:
|
789
789
|
""" find all scripts from/up a path """
|
790
790
|
|
791
|
+
# tous les fichiers .py
|
792
|
+
# import des modules
|
793
|
+
imported_modules = import_files(from_path.glob('*.py'))
|
794
|
+
|
795
|
+
return imported_modules
|
796
|
+
|
797
|
+
def _list_modules(self, from_path:Path):
|
798
|
+
""" List all modules in structure """
|
799
|
+
import shutil
|
800
|
+
|
791
801
|
curtree = self.get_tree(from_path)
|
792
802
|
curdicts = self.get_dicts(curtree)
|
793
803
|
|
794
804
|
# tous les fichiers .py -> list of lists
|
795
805
|
all_py = [curpy for curdict in curdicts for curpy in curdict[GPU_2D_file_extensions.PY.value][WOLF_UPDATE]]
|
796
806
|
|
797
|
-
#
|
798
|
-
|
807
|
+
# make a copy in the cache folder
|
808
|
+
cache_dir = from_path / '.cache_tmi'
|
809
|
+
cache_dir.mkdir(exist_ok=True)
|
799
810
|
|
800
|
-
|
811
|
+
# delete all file in the cache folder
|
812
|
+
for curfile in cache_dir.glob('*.py'):
|
813
|
+
curfile.unlink()
|
801
814
|
|
815
|
+
# make a copy of all files in the cache folder
|
816
|
+
for idx, cur_py in enumerate(all_py):
|
817
|
+
shutil.copy(cur_py, cache_dir / f'{idx}.py')
|
818
|
+
|
819
|
+
return self._import_scripts_topo_manning(cache_dir)
|
802
820
|
|
803
821
|
def _apply_scripts_update_topo_maning_inf(self,
|
804
|
-
|
822
|
+
dir_modules:Path,
|
805
823
|
array_bat:WolfArray,
|
806
824
|
array_mann:WolfArray,
|
807
825
|
array_inf:WolfArray):
|
808
826
|
""" Apply all scripts from a list of modules """
|
809
827
|
|
810
|
-
|
828
|
+
all_py = self._list_modules(dir_modules)
|
829
|
+
|
830
|
+
for curmod in all_py:
|
811
831
|
instmod = curmod.Update_Sim_Scenario()
|
812
832
|
instmod.update_topobathy(array_bat)
|
813
833
|
instmod.update_manning(array_mann)
|
@@ -815,6 +835,7 @@ class Config_Manager_2D_GPU:
|
|
815
835
|
|
816
836
|
def _import_scripts_bc(self, from_path:Path) -> list[types.ModuleType]:
|
817
837
|
""" find all scripts from/up a path """
|
838
|
+
import shutil
|
818
839
|
|
819
840
|
curtree = self.get_tree(from_path)
|
820
841
|
curdicts = self.get_dicts(curtree)
|
@@ -822,8 +843,21 @@ class Config_Manager_2D_GPU:
|
|
822
843
|
# tous les fichiers .py -> list of lists
|
823
844
|
all_py = [curpy for curdict in curdicts for curpy in curdict[GPU_2D_file_extensions.PY.value][WOLF_BC]]
|
824
845
|
|
846
|
+
cache_dir = from_path / '.cache_bc'
|
847
|
+
cache_dir.mkdir(exist_ok=True)
|
848
|
+
|
849
|
+
# delete all file in the cache folder
|
850
|
+
for curfile in cache_dir.glob('*.py'):
|
851
|
+
curfile.unlink()
|
852
|
+
|
853
|
+
# make a copy of all files in the cache folder
|
854
|
+
cache_py = []
|
855
|
+
for idx, cur_py in enumerate(all_py):
|
856
|
+
shutil.copy(cur_py, cache_dir / f'{idx}.py')
|
857
|
+
cache_py.append(cache_dir / f'{idx}.py')
|
858
|
+
|
825
859
|
# import des modules
|
826
|
-
imported_modules = import_files(
|
860
|
+
imported_modules = import_files(cache_py)
|
827
861
|
|
828
862
|
return imported_modules
|
829
863
|
|
@@ -1014,7 +1048,8 @@ class Config_Manager_2D_GPU:
|
|
1014
1048
|
infiltration.array.data[:,:] = 0
|
1015
1049
|
|
1016
1050
|
# applying Python scrpitps on ARRAYS
|
1017
|
-
self._apply_scripts_update_topo_maning_inf(self._import_scripts_topo_manning(dir), bat, man, infiltration)
|
1051
|
+
# self._apply_scripts_update_topo_maning_inf(self._import_scripts_topo_manning(dir), bat, man, infiltration)
|
1052
|
+
self._apply_scripts_update_topo_maning_inf(dir, bat, man, infiltration)
|
1018
1053
|
|
1019
1054
|
# save arrays on disk
|
1020
1055
|
bat.write_all(str(dir / '__bathymetry_after_scripts.tif'))
|
@@ -16,7 +16,7 @@ wolfhece/PyParams.py,sha256=LGt9uBFRVeS0F_kObJw8bPkWFqYSzf5pUTscxVU5Mxo,97725
|
|
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=MtZVjIWIi62QX_oqNosb56xPgjhOGVeGz-XsD82tsNg,40614
|
19
|
-
wolfhece/PyVertexvectors.py,sha256=
|
19
|
+
wolfhece/PyVertexvectors.py,sha256=mKwu_gMHMPTayfBNscbXEvi4cEVU3TUMz4ZBwfTSflo,249665
|
20
20
|
wolfhece/PyWMS.py,sha256=fyyzm2HFwq8aRwVYHKiBatcZOeKnFi6DWhv4nfscySQ,4602
|
21
21
|
wolfhece/RatingCurve.py,sha256=bUjIrQjvIjkD4V-z8bZmA6pe1ILtYNM0-3fT6YUY1RU,22498
|
22
22
|
wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
|
@@ -70,11 +70,12 @@ wolfhece/apps/WolfPython3.png,sha256=3G84zx14HnlB9YXMY4VUAO7IB3eu7JFvi4Kpmc_4zBE
|
|
70
70
|
wolfhece/apps/__init__.py,sha256=OzzKItATWV0mDkz_LC2L3w5sgT2rt8ExXXCbR_FwvlY,24
|
71
71
|
wolfhece/apps/acceptability.py,sha256=hMIxTRNQARTTWJJaakb6kEK9udNh-w64VDgxxezVk3k,790
|
72
72
|
wolfhece/apps/check_install.py,sha256=Xoi_d8MzKzNAy2xqEpERdsqgRPu0hbBWukI0WkIYzD0,1701
|
73
|
+
wolfhece/apps/check_version.py,sha256=Zze7ltzcM2ZzIGMwkcASIjapCG8CEzzW9kwNscA3NhM,1768
|
73
74
|
wolfhece/apps/curvedigitizer.py,sha256=Yps4bcayzbsz0AoVc_dkSk35dEhhn_esIBy1Ziefgmk,5334
|
74
75
|
wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
|
75
76
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
76
77
|
wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
|
77
|
-
wolfhece/apps/version.py,sha256=
|
78
|
+
wolfhece/apps/version.py,sha256=W5dXUE8GFyOo5XU-puzJWyW83xPeYE1ki3o6TPwugMw,388
|
78
79
|
wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
|
79
80
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
80
81
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -260,8 +261,8 @@ wolfhece/report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
260
261
|
wolfhece/report/reporting.py,sha256=JUEXovx_S4jpYkJEBU0AC-1Qw2OkkWyV3VAp6iOfSHc,19494
|
261
262
|
wolfhece/report/wolf_report.png,sha256=NoSV58LSwb-oxCcZScRiJno-kxDwRdm_bK-fiMsKJdA,592485
|
262
263
|
wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
263
|
-
wolfhece/scenario/check_scenario.py,sha256=
|
264
|
-
wolfhece/scenario/config_manager.py,sha256=
|
264
|
+
wolfhece/scenario/check_scenario.py,sha256=VVjtxfcLAgq_Pf8VSqRq6BJ-y4Zi24CntJpZWxAv3n8,5162
|
265
|
+
wolfhece/scenario/config_manager.py,sha256=0B_ZtMkcbZRwzkXHwT6jSC3-Lq85P2oBiq1Qxjkfh2w,86869
|
265
266
|
wolfhece/scenario/imposebc_void.py,sha256=PqA_99hKcaqK5zsK6IRIc5Exgg3WVpgWU8xpwNL49zQ,5571
|
266
267
|
wolfhece/scenario/update_void.py,sha256=ay8C_FxfXN627Hx46waaAO6F3ovYmOCTxseUumKAY7c,7474
|
267
268
|
wolfhece/shaders/fragment_shader_texture.glsl,sha256=w6h8d5mJqFaGbao0LGmjRcFFdcEQ3ICIl9JpuT71K5k,177
|
@@ -284,8 +285,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
284
285
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
285
286
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
286
287
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
287
|
-
wolfhece-2.1.
|
288
|
-
wolfhece-2.1.
|
289
|
-
wolfhece-2.1.
|
290
|
-
wolfhece-2.1.
|
291
|
-
wolfhece-2.1.
|
288
|
+
wolfhece-2.1.87.dist-info/METADATA,sha256=0XES9NJJEV_c5J9SqwgKEn5iDnaVZZZk3jLNkIaqJTo,2570
|
289
|
+
wolfhece-2.1.87.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
|
290
|
+
wolfhece-2.1.87.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
|
291
|
+
wolfhece-2.1.87.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
292
|
+
wolfhece-2.1.87.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|