wolfhece 2.2.41__py3-none-any.whl → 2.2.43__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 +73 -19
- wolfhece/apps/version.py +1 -1
- wolfhece/mesh2d/wolf2dprev.py +45 -17
- wolfhece/models/walous_ocs.pal +49 -0
- wolfhece/pywalous.py +346 -141
- wolfhece/wolf_array.py +148 -78
- {wolfhece-2.2.41.dist-info → wolfhece-2.2.43.dist-info}/METADATA +1 -1
- {wolfhece-2.2.41.dist-info → wolfhece-2.2.43.dist-info}/RECORD +11 -10
- {wolfhece-2.2.41.dist-info → wolfhece-2.2.43.dist-info}/WHEEL +0 -0
- {wolfhece-2.2.41.dist-info → wolfhece-2.2.43.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.2.41.dist-info → wolfhece-2.2.43.dist-info}/top_level.txt +0 -0
wolfhece/wolf_array.py
CHANGED
@@ -116,6 +116,30 @@ try:
|
|
116
116
|
except ImportError as e:
|
117
117
|
raise Exception(_('Error importing pydownloader module'))
|
118
118
|
|
119
|
+
|
120
|
+
import math
|
121
|
+
from fractions import Fraction
|
122
|
+
|
123
|
+
def pgcd_decimal(a, b):
|
124
|
+
# Convertir les décimaux en fractions exactes
|
125
|
+
fa = Fraction(a).limit_denominator()
|
126
|
+
fb = Fraction(b).limit_denominator()
|
127
|
+
|
128
|
+
# Extraire les numérateurs et dénominateurs
|
129
|
+
num_a, den_a = fa.numerator, fa.denominator
|
130
|
+
num_b, den_b = fb.numerator, fb.denominator
|
131
|
+
|
132
|
+
# Mettre au même dénominateur
|
133
|
+
lcm_den = math.lcm(den_a, den_b)
|
134
|
+
a_int = num_a * (lcm_den // den_a)
|
135
|
+
b_int = num_b * (lcm_den // den_b)
|
136
|
+
|
137
|
+
# PGCD des entiers
|
138
|
+
pgcd_int = math.gcd(a_int, b_int)
|
139
|
+
|
140
|
+
# Revenir à l’échelle décimale
|
141
|
+
return pgcd_int / lcm_den
|
142
|
+
|
119
143
|
WOLF_ARRAY_HILLSHAPE = -1
|
120
144
|
WOLF_ARRAY_FULL_SINGLE = 1
|
121
145
|
WOLF_ARRAY_FULL_DOUBLE = 2
|
@@ -7288,6 +7312,8 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7288
7312
|
else:
|
7289
7313
|
return
|
7290
7314
|
|
7315
|
+
need_wx = False
|
7316
|
+
|
7291
7317
|
raster:gdal.Dataset
|
7292
7318
|
if crop is not None :
|
7293
7319
|
if not os.path.exists(fn):
|
@@ -7297,44 +7323,47 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7297
7323
|
tmpdx = self.dx
|
7298
7324
|
|
7299
7325
|
fn_crop = fn + '_crop.tif'
|
7300
|
-
if type(crop) is np.ndarray:
|
7301
|
-
pass
|
7302
|
-
elif type(crop) is list:
|
7303
|
-
pass
|
7304
|
-
else:
|
7305
|
-
if not self.wx_exists:
|
7306
|
-
logging.error(_('Crop must be a list or a numpy array with 4 values - xmin, xmax, ymin, ymax'))
|
7307
|
-
return
|
7308
7326
|
|
7309
|
-
|
7310
|
-
|
7327
|
+
raster_in:gdal.Dataset
|
7328
|
+
raster_in = gdal.Open(fn)
|
7311
7329
|
|
7312
|
-
|
7313
|
-
|
7314
|
-
|
7315
|
-
|
7330
|
+
proj = raster_in.GetProjection()
|
7331
|
+
# check if proj is epsg:31370
|
7332
|
+
if 'Lambert 72' not in proj and "31370" not in proj:
|
7333
|
+
logging.error(_('{} projection is not Lambert 72 - EPSG:31370').format(fn))
|
7316
7334
|
|
7317
|
-
|
7318
|
-
|
7335
|
+
raster_in2 = gdal.Dataset()
|
7336
|
+
gdal.Warp(raster_in2, raster_in, dstSRS='EPSG:31370')
|
7319
7337
|
|
7320
|
-
|
7321
|
-
|
7322
|
-
|
7338
|
+
# Close the raster_in
|
7339
|
+
raster_in.FlushCache()
|
7340
|
+
raster_in = None
|
7323
7341
|
|
7324
|
-
|
7342
|
+
raster_in = raster_in2
|
7325
7343
|
|
7326
|
-
|
7327
|
-
|
7328
|
-
|
7344
|
+
if raster_in is None:
|
7345
|
+
logging.error(_('Could not reproject the file {fn}'))
|
7346
|
+
return
|
7329
7347
|
|
7330
|
-
|
7331
|
-
|
7332
|
-
|
7348
|
+
geotr = raster_in.GetGeoTransform()
|
7349
|
+
self.dx = geotr[1]
|
7350
|
+
self.dy = abs(geotr[5])
|
7333
7351
|
|
7334
|
-
|
7335
|
-
|
7336
|
-
|
7337
|
-
|
7352
|
+
ulx = geotr[0]
|
7353
|
+
uly = geotr[3]
|
7354
|
+
llx = ulx + geotr[1] * raster_in.RasterXSize
|
7355
|
+
lly = uly + geotr[5] * raster_in.RasterYSize
|
7356
|
+
|
7357
|
+
if type(crop) is np.ndarray:
|
7358
|
+
pass
|
7359
|
+
elif type(crop) in [list, tuple]:
|
7360
|
+
pass
|
7361
|
+
else:
|
7362
|
+
if not self.wx_exists:
|
7363
|
+
logging.error(_('Crop must be a list or a numpy array with 4 values - xmin, xmax, ymin, ymax'))
|
7364
|
+
return
|
7365
|
+
|
7366
|
+
need_wx = True
|
7338
7367
|
|
7339
7368
|
newcrop = CropDialog(None, self.get_mapviewer())
|
7340
7369
|
|
@@ -7375,7 +7404,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7375
7404
|
|
7376
7405
|
xmin, xmax, ymin, ymax = crop
|
7377
7406
|
|
7378
|
-
if
|
7407
|
+
if need_wx:
|
7379
7408
|
|
7380
7409
|
with wx.FileDialog(None, _('Save the cropped file for later'), wildcard="Tiff files (*.tif)|*.tif",
|
7381
7410
|
style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) as fileDialog:
|
@@ -7393,15 +7422,13 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7393
7422
|
|
7394
7423
|
fn = fn_crop
|
7395
7424
|
else:
|
7396
|
-
|
7397
|
-
tmpfile = NamedTemporaryFile(suffix='.tif')
|
7425
|
+
fn_tmp = '__tmp_wolf.tif'
|
7398
7426
|
|
7399
7427
|
if uly > lly:
|
7400
|
-
raster = gdal.Translate(
|
7428
|
+
raster = gdal.Translate(fn_tmp, fn, projWin=[xmin, ymax, xmax, ymin])
|
7401
7429
|
else:
|
7402
|
-
raster = gdal.Translate(
|
7403
|
-
|
7404
|
-
fn = str(tmpfile.name)
|
7430
|
+
raster = gdal.Translate(fn_tmp, fn, projWin=[xmin, ymin, xmax, ymax])
|
7431
|
+
fn = fn_tmp
|
7405
7432
|
else:
|
7406
7433
|
raster = gdal.Open(fn)
|
7407
7434
|
|
@@ -7501,6 +7528,12 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
7501
7528
|
raster.FlushCache()
|
7502
7529
|
raster = None
|
7503
7530
|
|
7531
|
+
try:
|
7532
|
+
if fn_tmp == '__tmp_wolf.tif':
|
7533
|
+
os.remove(fn_tmp)
|
7534
|
+
except:
|
7535
|
+
pass
|
7536
|
+
|
7504
7537
|
def add_ops_sel(self):
|
7505
7538
|
"""
|
7506
7539
|
Adding selection manager and operations array
|
@@ -10254,7 +10287,7 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10254
10287
|
self.write_txt_header()
|
10255
10288
|
self.write_array()
|
10256
10289
|
|
10257
|
-
def get_rebin_shape_size(self, factor:float) -> tuple[tuple[int, int], tuple[float, float]]:
|
10290
|
+
def get_rebin_shape_size(self, factor:float, reshape_array_if_necessary:bool = False) -> tuple[tuple[int, int], tuple[float, float]]:
|
10258
10291
|
"""
|
10259
10292
|
Return the new shape after rebinning.
|
10260
10293
|
|
@@ -10274,13 +10307,44 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10274
10307
|
|
10275
10308
|
newnbx = self.nbx
|
10276
10309
|
newnby = self.nby
|
10277
|
-
|
10278
|
-
|
10279
|
-
|
10280
|
-
|
10281
|
-
|
10282
|
-
|
10283
|
-
newnby = self.nby
|
10310
|
+
|
10311
|
+
if factor >=1.0:
|
10312
|
+
# Decrease resolution
|
10313
|
+
to_reshape = False
|
10314
|
+
if np.mod(self.nbx,factor) != 0 or np.mod(self.nby,factor) != 0 :
|
10315
|
+
newnbx = self.nbx
|
10316
|
+
newnby = self.nby
|
10317
|
+
if np.mod(self.nbx,factor) !=0:
|
10318
|
+
newnbx = int(self.nbx + factor - np.mod(self.nbx,factor))
|
10319
|
+
to_reshape = True
|
10320
|
+
if np.mod(self.nby,factor) !=0:
|
10321
|
+
newnby = int(self.nby + factor - np.mod(self.nby,factor))
|
10322
|
+
to_reshape = True
|
10323
|
+
|
10324
|
+
if to_reshape and reshape_array_if_necessary:
|
10325
|
+
logging.warning(f"The shape ({self.nbx}, {self.nby}) is not a multiple of the factor {factor}")
|
10326
|
+
new_array = ma.masked_array(np.ones((newnbx, newnby), dtype= self.dtype) * self.nullvalue, dtype= self.dtype)
|
10327
|
+
new_array[:self.nbx, :self.nby] = self.array
|
10328
|
+
self.array = new_array
|
10329
|
+
else:
|
10330
|
+
# Increase resolution
|
10331
|
+
if abs(int(1/factor) - 1/factor) > 1e-6:
|
10332
|
+
# find the greatest common divisor of between self.dx and old_dx
|
10333
|
+
gcd = pgcd_decimal(self.dx, self.dx * factor)
|
10334
|
+
intermediate_factor = gcd / self.dx
|
10335
|
+
|
10336
|
+
[newnbx,newnby], [dx,dy] = self.get_rebin_shape_size(intermediate_factor)
|
10337
|
+
|
10338
|
+
factor = factor / intermediate_factor
|
10339
|
+
|
10340
|
+
if np.mod(newnbx,factor) != 0 or np.mod(newnby,factor) != 0 :
|
10341
|
+
if np.mod(newnbx,factor) !=0:
|
10342
|
+
newnbx = int(newnbx + factor - np.mod(newnbx,factor))
|
10343
|
+
if np.mod(newnby,factor) !=0:
|
10344
|
+
newnby = int(newnby + factor - np.mod(newnby,factor))
|
10345
|
+
|
10346
|
+
newdx = dx * factor
|
10347
|
+
newdy = dy * factor
|
10284
10348
|
|
10285
10349
|
newnbx = int(newnbx / factor)
|
10286
10350
|
newnby = int(newnby / factor)
|
@@ -10327,6 +10391,9 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10327
10391
|
|
10328
10392
|
"""
|
10329
10393
|
|
10394
|
+
op_str = operation
|
10395
|
+
(testnbx, testnby), __ = self.get_rebin_shape_size(factor)
|
10396
|
+
|
10330
10397
|
if operation_matrix is not None:
|
10331
10398
|
tmp_header = self.get_rebin_header(factor)
|
10332
10399
|
if not operation_matrix.is_like(tmp_header):
|
@@ -10348,36 +10415,11 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10348
10415
|
logging.error(_("Operator not supported -- Must be a string in ['sum', 'mean', 'min', 'max', 'median'] or a Rebin_Ops Enum"))
|
10349
10416
|
|
10350
10417
|
|
10351
|
-
|
10352
|
-
|
10353
|
-
|
10354
|
-
|
10355
|
-
|
10356
|
-
if np.mod(self.nbx,factor) !=0:
|
10357
|
-
newnbx = int(self.nbx + factor - np.mod(self.nbx,factor))
|
10358
|
-
if np.mod(self.nby,factor) !=0:
|
10359
|
-
newnby = int(self.nby + factor - np.mod(self.nby,factor))
|
10360
|
-
|
10361
|
-
# We ensure that the null_value is converted to the type of the array.
|
10362
|
-
# Not doing so leads to a change in the array type because
|
10363
|
-
# of numpy2 type promotion.
|
10364
|
-
newarray = np.ma.masked_array( np.full((newnbx,newnby), self.nullvalue, dtype = self.dtype) )
|
10365
|
-
#newarray = np.ma.ones((newnbx,newnby), dtype = self.dtype) * self.nullvalue
|
10366
|
-
newarray[:self.nbx,:self.nby] = self.array
|
10367
|
-
newarray.mask[:self.nbx,:self.nby] = self.array.mask
|
10368
|
-
self.array = newarray
|
10369
|
-
|
10370
|
-
self.nbx = newnbx
|
10371
|
-
self.nby = newnby
|
10372
|
-
|
10373
|
-
self.nbx = int(self.nbx / factor)
|
10374
|
-
self.nby = int(self.nby / factor)
|
10375
|
-
|
10376
|
-
self.dx = self.dx * float(factor)
|
10377
|
-
self.dy = self.dy * float(factor)
|
10378
|
-
new_shape = (self.nbx, self.nby)
|
10379
|
-
|
10380
|
-
if factor>1.:
|
10418
|
+
new_shape, (dx, dy) = self.get_rebin_shape_size(factor, reshape_array_if_necessary= True)
|
10419
|
+
|
10420
|
+
if factor >=1.0:
|
10421
|
+
# Decrease resolution
|
10422
|
+
|
10381
10423
|
if operation_matrix is not None:
|
10382
10424
|
# Reshape the input array to split it into blocks of size f x f
|
10383
10425
|
reshaped_a = self.array.reshape(new_shape[0], int(factor), new_shape[1], int(factor))
|
@@ -10407,15 +10449,43 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
10407
10449
|
self.set_nullvalue_in_mask()
|
10408
10450
|
else:
|
10409
10451
|
|
10410
|
-
|
10452
|
+
# Increase resolution
|
10453
|
+
|
10454
|
+
if abs(int(1/factor) - 1/factor) > 1e-6:
|
10411
10455
|
logging.warning(f"The factor {factor} doesn't lead to an integer dimension for the Kronecker product")
|
10456
|
+
logging.warning("The array will be rebinned firstly using the most common factor and then using the operation")
|
10457
|
+
|
10458
|
+
# find the greatest common divisor of between self.dx and old_dx
|
10459
|
+
gcd = pgcd_decimal(self.dx, self.dx * factor)
|
10460
|
+
intermediate_factor = gcd / self.dx
|
10461
|
+
|
10462
|
+
logging.warning(f"The greatest common divisor is {gcd}")
|
10463
|
+
|
10464
|
+
tmp = WolfArray(mold=self, whichtype=self.wolftype)
|
10465
|
+
tmp.rebin(intermediate_factor)
|
10412
10466
|
|
10413
|
-
|
10414
|
-
|
10467
|
+
if op_str is None:
|
10468
|
+
op_str = 'min'
|
10415
10469
|
|
10470
|
+
tmp.rebin(factor / intermediate_factor, operation= op_str)
|
10471
|
+
self.array = tmp.array
|
10472
|
+
tmp.array = None
|
10473
|
+
del tmp
|
10474
|
+
else:
|
10475
|
+
|
10476
|
+
ones = np.ones( (int(1/factor), int(1/factor)), dtype=int)
|
10477
|
+
self.array = np.kron(self.array, ones).astype(self.array.dtype)
|
10416
10478
|
|
10417
10479
|
self.mask_data(self.nullvalue)
|
10418
10480
|
|
10481
|
+
self.nbx = new_shape[0]
|
10482
|
+
self.nby = new_shape[1]
|
10483
|
+
self.dx = dx
|
10484
|
+
self.dy = dy
|
10485
|
+
|
10486
|
+
assert isinstance(self.array, ma.MaskedArray), _('The array must be a masked array')
|
10487
|
+
assert self.array.shape == (testnbx, testnby), _(f'Bad shape: {self.array.shape} != {(testnbx, testnby)}')
|
10488
|
+
|
10419
10489
|
self.count()
|
10420
10490
|
|
10421
10491
|
# rebin must not change the type of the array
|
@@ -9,7 +9,7 @@ wolfhece/MulticriteriAnalysis.py,sha256=vGmkzYagZohNe0XjwGJ6VUXcDPjOt80lNFthXpzx
|
|
9
9
|
wolfhece/PandasGrid.py,sha256=etfVhIHzja4Z1EUY6BcDOKX-w7V-Xou1yaf0NMqmclo,4599
|
10
10
|
wolfhece/PyConfig.py,sha256=13DDWjJdohYHwn1uRVHB0s8Jcwq_b9pwcwbAr8NlZyc,19667
|
11
11
|
wolfhece/PyCrosssections.py,sha256=6K9xhupnIVXzLdsLTPN9e1v0xck9BdWZd0-EgpWg9us,133277
|
12
|
-
wolfhece/PyDraw.py,sha256=
|
12
|
+
wolfhece/PyDraw.py,sha256=jCXBonWGmqTQD9AXsii-yalFpUFLKTrfPP2wzh-57NE,741859
|
13
13
|
wolfhece/PyGui.py,sha256=GpVRxNpR8WNDFyHnDvhtHFFsq_cZZlyVgSkFiS-ARYI,185342
|
14
14
|
wolfhece/PyGuiHydrology.py,sha256=dmBlRO8AljsvCPH6eVt0l9ZLx7g5j7Ubl9Srk7ECwyA,34693
|
15
15
|
wolfhece/PyHydrographs.py,sha256=1P5XAURNqCvtSsMQXhOn1ihjTpr725sRsZdlCEhhk6M,3730
|
@@ -61,13 +61,13 @@ wolfhece/pylogging.py,sha256=4TI8hgBB65z-zpvU5Rfa2jkPXPhJaqXjHVPwbcdzTNc,4528
|
|
61
61
|
wolfhece/pypolygons_scen.py,sha256=NWaNeK0RSUeOkgukeogK9FLmQiDjGZ9yhqs9208fojM,46237
|
62
62
|
wolfhece/pyshields.py,sha256=KMtUO5kD0lisKnJD1NsDz-qaY5DpFcmS4O3WkXtUSmo,27898
|
63
63
|
wolfhece/pyviews.py,sha256=zuZjWUptRDm1MTE1PN4Xj_qSITnojgDMG0LlFIBH3SE,13739
|
64
|
-
wolfhece/pywalous.py,sha256=
|
64
|
+
wolfhece/pywalous.py,sha256=qF_hzmVFBjM3JP6RV4tbKEVTBsiOGcBJ_O82uoX2Rxg,38595
|
65
65
|
wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
66
66
|
wolfhece/textpillow.py,sha256=7hgfsLYAaE_rNKD-g8xsON8sdWvoV8vbqnGGxIayShE,14137
|
67
67
|
wolfhece/tools2d_dll.py,sha256=TfvvmyZUqEZIH0uHwUCJf0bdmCks_AiidDt23Unsp5w,13550
|
68
68
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
69
69
|
wolfhece/toolshydrology_dll.py,sha256=cIGyhxV8H5f7GXhDqAamM7uC0W0hQTou3eTkqZdnqBE,5656
|
70
|
-
wolfhece/wolf_array.py,sha256=
|
70
|
+
wolfhece/wolf_array.py,sha256=39O7kYjksEbCC2yn0mu6AfabmVrBWrmoybbfjw4gfIQ,578890
|
71
71
|
wolfhece/wolf_hist.py,sha256=fTEb60Q4TEwobdZsRU4CFXAId1eOKdWAqF8lnF1xEWc,3590
|
72
72
|
wolfhece/wolf_texture.py,sha256=Pt1j_lX74p70Fj3y3qYxYMuN8gghVd8_ih1vFhTIdkA,23884
|
73
73
|
wolfhece/wolf_tiles.py,sha256=v-HohqaWuMYdn75XLnA22dlloAG90iwnIqrgnB0ASQ4,10488
|
@@ -95,7 +95,7 @@ wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVz
|
|
95
95
|
wolfhece/apps/hydrometry.py,sha256=lhhJsFeb4zGL4bNQTs0co85OQ_6ssL1Oy0OUJCzhfYE,656
|
96
96
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
97
97
|
wolfhece/apps/splashscreen.py,sha256=EdGDN9NhudIiP7c3gVqj7dp4MWFB8ySizM_tpMnsgpE,3091
|
98
|
-
wolfhece/apps/version.py,sha256=
|
98
|
+
wolfhece/apps/version.py,sha256=kWgIrbzo3PaJpeEetSvb9-zhutuO1cGL5wg1gqsJFDM,388
|
99
99
|
wolfhece/apps/wolf.py,sha256=mRnjYsUu4KIsRuamdQWAINFMuwN4eJgMo9erG-hkZ70,729
|
100
100
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
101
101
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -243,7 +243,7 @@ wolfhece/mesh2d/config_manager.py,sha256=DcdxCIIs_dyC6ayJOBULeY364LONogL9PBaqBtC
|
|
243
243
|
wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=r43pHHdCtmNp5R2zh1Ckb7EzwQDf6C4YMLwRFTl4KMc,5006
|
244
244
|
wolfhece/mesh2d/gpu_2d.py,sha256=xyZst3ZSYmRp9G0kxlUvTahAiMC9sNEH0MRUlEjqFZI,25999
|
245
245
|
wolfhece/mesh2d/simple_2d.py,sha256=wqENJwpUPxKQcpGIcymQXUj2KgkGWCVH6cs4Os9h9Gs,112581
|
246
|
-
wolfhece/mesh2d/wolf2dprev.py,sha256=
|
246
|
+
wolfhece/mesh2d/wolf2dprev.py,sha256=823RckzGGCQ00h0uti-nL7JoVsAZ_Hv9C02lnvizDIg,495518
|
247
247
|
wolfhece/models/5_coul.pal,sha256=OI1UqcNIDBpJn2k_VDel__r-hKjjvdob0eqinGCI3QY,160
|
248
248
|
wolfhece/models/6_coul.pal,sha256=z7NK2dg0tAQBUweRQV54dIwJbPM1U5y1AR2LLw19Idw,148
|
249
249
|
wolfhece/models/7_coul.pal,sha256=XTnnUyCE8ONokScB2YzYDnSTft7E6sppmr7P-XwMsCE,205
|
@@ -265,6 +265,7 @@ wolfhece/models/shields_cst.pal,sha256=zUGFI6HiL0bsHeOzcWNih3F9cxXKXLLZYA5rtqRbz
|
|
265
265
|
wolfhece/models/vulnerability.pal,sha256=Fevrc_9owywLhbPMBunXDcrGXPJhARo9iSV1eOq3roA,106
|
266
266
|
wolfhece/models/walous_niv1.pal,sha256=mHMjCB-ja47mV3ZsvDOhS2CEK8YN6ewOkf1W7l7JQ8k,138
|
267
267
|
wolfhece/models/walous_niv2.pal,sha256=B5wt5-O88dpaiA6yR4uriOy0tfDVU_cms0Xr6Dw9ZGg,377
|
268
|
+
wolfhece/models/walous_ocs.pal,sha256=DlicMO2qlH3_WPm_bwVBK6lTuUn2MXRcfIpkjl8D2oo,227
|
268
269
|
wolfhece/models/waterdepths.pal,sha256=8rcQfuZOeLKzYv5sARPkhpvZYc1OToj3ZukcbuRUgIY,136
|
269
270
|
wolfhece/models/white_black.pal,sha256=BKjVN1kuk1OtJB9S3uM5fxteWbggI3Pb8p9WdDptT4c,51
|
270
271
|
wolfhece/opengl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -319,8 +320,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=u4C7CXe_bUyGKx7c_Bi0x9
|
|
319
320
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
320
321
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
321
322
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
322
|
-
wolfhece-2.2.
|
323
|
-
wolfhece-2.2.
|
324
|
-
wolfhece-2.2.
|
325
|
-
wolfhece-2.2.
|
326
|
-
wolfhece-2.2.
|
323
|
+
wolfhece-2.2.43.dist-info/METADATA,sha256=6-h2-a9g7o3Tg99jRn5s_izELlJ5gWaMZSPzG6SlW0A,2785
|
324
|
+
wolfhece-2.2.43.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
325
|
+
wolfhece-2.2.43.dist-info/entry_points.txt,sha256=Jr187pyvA3EeJiQLjZK9yo6mJX7IAn6ygZU9T8qF_gQ,658
|
326
|
+
wolfhece-2.2.43.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
327
|
+
wolfhece-2.2.43.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|