wolfhece 2.1.108__py3-none-any.whl → 2.1.110__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 +234 -5
- wolfhece/PyVertex.py +17 -1
- wolfhece/PyVertexvectors.py +732 -112
- wolfhece/apps/curvedigitizer.py +197 -141
- wolfhece/apps/version.py +1 -1
- wolfhece/lazviewer/laz_viewer.py +22 -0
- wolfhece/matplotlib_fig.py +433 -66
- wolfhece/pybridges.py +227 -87
- {wolfhece-2.1.108.dist-info → wolfhece-2.1.110.dist-info}/METADATA +1 -1
- {wolfhece-2.1.108.dist-info → wolfhece-2.1.110.dist-info}/RECORD +13 -13
- {wolfhece-2.1.108.dist-info → wolfhece-2.1.110.dist-info}/WHEEL +0 -0
- {wolfhece-2.1.108.dist-info → wolfhece-2.1.110.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.1.108.dist-info → wolfhece-2.1.110.dist-info}/top_level.txt +0 -0
wolfhece/pybridges.py
CHANGED
@@ -48,10 +48,18 @@ class stored_values_coords(Enum):
|
|
48
48
|
X = (0, 'CoordX')
|
49
49
|
Y = (1, 'CoordY')
|
50
50
|
|
51
|
-
class
|
51
|
+
class zones_in_file_fr_vec(Enum):
|
52
52
|
PARTS = '3 zones'
|
53
53
|
RIVER = 'entier'
|
54
|
-
|
54
|
+
|
55
|
+
class zones_in_file(Enum):
|
56
|
+
PARTS = _('bridge_position')
|
57
|
+
RIVER = _('river')
|
58
|
+
DECK = _('deck')
|
59
|
+
ROOF = _('roof')
|
60
|
+
PIER = _('pier')
|
61
|
+
CROSS_SECTIONS = _('crosssections')
|
62
|
+
EXTRACTION = _('extraction')
|
55
63
|
|
56
64
|
class operators(Enum):
|
57
65
|
MEDIAN = 'median'
|
@@ -66,6 +74,16 @@ class parts_values(Enum):
|
|
66
74
|
UPSTREAM = _('upstream')
|
67
75
|
DOWNSTREAM = _('downstream')
|
68
76
|
|
77
|
+
class rivers_values(Enum):
|
78
|
+
RIVERBED = _('riverbed')
|
79
|
+
LEFTBANK = _('leftbank')
|
80
|
+
RIGHTBANK = _('rightbank')
|
81
|
+
|
82
|
+
class cs_values(Enum):
|
83
|
+
UPSTREAM = _('upstream')
|
84
|
+
MIDDLE = _('middle')
|
85
|
+
DOWNSTREAM = _('downstream')
|
86
|
+
|
69
87
|
class Bridge(Zones):
|
70
88
|
"""
|
71
89
|
Bridge class
|
@@ -105,108 +123,230 @@ class Bridge(Zones):
|
|
105
123
|
|
106
124
|
"""
|
107
125
|
|
126
|
+
@classmethod
|
127
|
+
def new_bridge(cls, name:str):
|
128
|
+
"""
|
129
|
+
Create a new bridge with name
|
130
|
+
"""
|
131
|
+
new_bridge = cls()
|
132
|
+
new_bridge.myname = name
|
133
|
+
|
134
|
+
position = zone(name = zones_in_file.PARTS.value, parent= new_bridge)
|
135
|
+
new_bridge.add_zone(position)
|
136
|
+
|
137
|
+
new_bridge.centralpart = vector(name = parts_values.CENTRAL.value)
|
138
|
+
position.add_vector(new_bridge.centralpart, forceparent=True)
|
139
|
+
|
140
|
+
new_bridge.upstream = vector(name = parts_values.UPSTREAM.value)
|
141
|
+
position.add_vector(new_bridge.upstream, forceparent=True)
|
142
|
+
|
143
|
+
new_bridge.downstream = vector(name = parts_values.DOWNSTREAM.value)
|
144
|
+
position.add_vector(new_bridge.downstream, forceparent=True)
|
145
|
+
|
146
|
+
river = zone(name = zones_in_file.RIVER.value, parent= new_bridge)
|
147
|
+
new_bridge.add_zone(river)
|
148
|
+
|
149
|
+
new_bridge.leftbank = vector(name = rivers_values.LEFTBANK.value)
|
150
|
+
new_bridge.riverbed = vector(name = rivers_values.RIVERBED.value)
|
151
|
+
new_bridge.rightbank = vector(name = rivers_values.RIGHTBANK.value)
|
152
|
+
|
153
|
+
river.add_vector(new_bridge.leftbank, forceparent=True)
|
154
|
+
river.add_vector(new_bridge.riverbed, forceparent=True)
|
155
|
+
river.add_vector(new_bridge.rightbank, forceparent=True)
|
156
|
+
|
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))
|
162
|
+
|
163
|
+
return new_bridge
|
164
|
+
|
108
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):
|
109
166
|
super().__init__(myfile, ox, oy, tx, ty, parent, is2D, wx_exists)
|
110
167
|
self.init_ui()
|
111
168
|
|
112
|
-
self.
|
169
|
+
self.centralpart = None
|
170
|
+
self.upstream = None
|
171
|
+
self.downstream = None
|
113
172
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
curzone = self.get_zone(0)
|
118
|
-
curzone.myname = zones_in_file.PARTS.value # on force le nom de la zone pour éviter de refaire le test ailleurs
|
119
|
-
if curzone is None:
|
120
|
-
raise Warning(_('Bad file : {}'.format(myfile)))
|
173
|
+
self.riverbed = None
|
174
|
+
self.leftbank = None
|
175
|
+
self.rightbank = None
|
121
176
|
|
122
|
-
|
177
|
+
self.polygons_zone = None
|
123
178
|
|
124
|
-
|
125
|
-
|
126
|
-
|
179
|
+
if myfile != '':
|
180
|
+
self.myname = splitext(basename(myfile))[0]
|
181
|
+
extension = splitext(basename(myfile))[1]
|
127
182
|
|
128
|
-
self.upstream = curzone.get_vector('amont') # 4 vertices from Upstream Left Deck to Upstream Right Deck passing by Upstream Left Bank and Upstream Right Bank
|
129
|
-
self.downstream = curzone.get_vector('aval') # 4 vertices from Downstream Left Deck Left to Downstream Right Deck passing by Downstream Left Bank and Downstream Right Bank
|
130
183
|
|
131
|
-
|
184
|
+
if extension == '.vec':
|
132
185
|
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
186
|
+
# recherche de la zone du fichier contenant les 3 parties de l'ouvrage
|
187
|
+
curzone = self.get_zone(zones_in_file_fr_vec.PARTS.value)
|
188
|
+
if curzone is None:
|
189
|
+
curzone = self.get_zone(0)
|
190
|
+
curzone.myname = zones_in_file_fr_vec.PARTS.value # on force le nom de la zone pour éviter de refaire le test ailleurs
|
191
|
+
if curzone is None:
|
192
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
137
193
|
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
if self.rightbank is None:
|
181
|
-
raise Warning(_('Bad file : {}'.format(myfile)))
|
182
|
-
|
183
|
-
self.rightbank.reverse()
|
184
|
-
|
185
|
-
curzone.myvectors = [self.leftbank, self.riverbed, self.rightbank] #inverse order to be up -> down
|
186
|
-
|
187
|
-
#création des polygones de rivière
|
188
|
-
curzone.create_polygon_from_parallel(ds)
|
189
|
-
self.polygons_zone:zone
|
190
|
-
self.polygons_zone = self.get_zone(-1)
|
191
|
-
self.polygons_curvi = {}
|
192
|
-
for curvert in self.polygons_zone.myvectors:
|
193
|
-
self.polygons_curvi[curvert.myname] = curvert.myvertices[0].z
|
194
|
+
# attribution des vecteurs pour les différentes parties de l'ouvrage
|
195
|
+
|
196
|
+
self.centralpart = curzone.get_vector('tablier') # 4 vertices from Upstream Left to Dowstream Left passing by Upstream Right and Downstream Right
|
197
|
+
if self.centralpart is None:
|
198
|
+
self.centralpart = curzone.get_vector('seuil') # 4 vertices from Upstream Left to Dowstream Left passing by Upstream Right and Downstream Right
|
199
|
+
|
200
|
+
self.upstream = curzone.get_vector('amont') # 4 vertices from Upstream Left Deck to Upstream Right Deck passing by Upstream Left Bank and Upstream Right Bank
|
201
|
+
self.downstream = curzone.get_vector('aval') # 4 vertices from Downstream Left Deck Left to Downstream Right Deck passing by Downstream Left Bank and Downstream Right Bank
|
202
|
+
|
203
|
+
xydeck = self.centralpart.asnparray()
|
204
|
+
|
205
|
+
# point central de l'ouvrage
|
206
|
+
self.centerx = np.mean(xydeck[:,0]) # X coordinate of the deck
|
207
|
+
self.centery = np.mean(xydeck[:,1]) # X coordinate of the deck
|
208
|
+
self.curvi = 0 # s curvilinear coordinate of the deck along a support polyline
|
209
|
+
|
210
|
+
"""
|
211
|
+
Si certaines parties ne sont pas attribuées, il peut s'agir d'une mauvaise appellation.
|
212
|
+
Dans ce cas, on attribue sur base de la position dans la zone
|
213
|
+
"""
|
214
|
+
assert curzone.nbvectors==3, _('Bad number of parts')
|
215
|
+
|
216
|
+
if self.centralpart is None:
|
217
|
+
self.centralpart = curzone.get_vector(0)
|
218
|
+
if self.upstream is None:
|
219
|
+
self.upstream = curzone.get_vector(1)
|
220
|
+
if self.downstream is None:
|
221
|
+
self.downstream = curzone.get_vector(2)
|
222
|
+
|
223
|
+
if self.centralpart is None:
|
224
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
225
|
+
if self.upstream is None:
|
226
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
227
|
+
if self.downstream is None:
|
228
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
229
|
+
|
230
|
+
curzone = self.get_zone(zones_in_file_fr_vec.RIVER.value)
|
231
|
+
if curzone is None:
|
232
|
+
curzone = self.get_zone(1)
|
233
|
+
curzone.myname = zones_in_file_fr_vec.RIVER.value # on force le nom de la zone pour éviter de refaire le test ailleurs
|
234
|
+
if curzone is None:
|
235
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
194
236
|
|
195
|
-
|
196
|
-
|
237
|
+
self.riverbed = curzone.get_vector('parallèle') # vertices from upstream to downstream
|
238
|
+
if self.riverbed is None:
|
239
|
+
self.riverbed = curzone.get_vector(1)
|
240
|
+
if self.riverbed is None:
|
241
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
242
|
+
|
243
|
+
self.riverbed.reverse()
|
244
|
+
|
245
|
+
self.leftbank = curzone.get_vector(2) # vertices from upstream to downstream
|
246
|
+
if self.leftbank is None:
|
247
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
248
|
+
|
249
|
+
self.leftbank.reverse()
|
250
|
+
|
251
|
+
self.rightbank = curzone.get_vector(0) # vertices from upstream to downstream
|
252
|
+
if self.rightbank is None:
|
253
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
254
|
+
|
255
|
+
self.rightbank.reverse()
|
256
|
+
|
257
|
+
elif extension == '.vecz':
|
258
|
+
|
259
|
+
zone_names = [curzone.myname for curzone in self.myzones]
|
260
|
+
|
261
|
+
# test if all zones are present
|
262
|
+
for curkey in zones_in_file:
|
263
|
+
if curkey.value not in zone_names:
|
264
|
+
logging.warning(_('Zone {} not found in file {}'.format(curkey.value, myfile)))
|
265
|
+
|
266
|
+
|
267
|
+
if zones_in_file.PARTS.value in zone_names:
|
268
|
+
# recherche de la zone du fichier contenant les 3 parties de l'ouvrage
|
269
|
+
curzone = self.get_zone(zones_in_file.PARTS.value)
|
270
|
+
|
271
|
+
vec_names = [curvec.myname for curvec in curzone.myvectors]
|
272
|
+
for curkey in parts_values:
|
273
|
+
if curkey.value not in vec_names:
|
274
|
+
logging.error(_('Vector {} not found in zone {}'.format(curkey.value, zones_in_file.PARTS.value)))
|
275
|
+
|
276
|
+
# attribution des vecteurs pour les différentes parties de l'ouvrage
|
277
|
+
self.centralpart = curzone.get_vector(parts_values.CENTRAL.value) # 4 vertices from Upstream Left to Dowstream Left passing by Upstream Right and Downstream Right
|
278
|
+
self.upstream = curzone.get_vector(parts_values.UPSTREAM.value) # 4 vertices from Upstream Left Deck to Upstream Right Deck passing by Upstream Left Bank and Upstream Right Bank
|
279
|
+
self.downstream = curzone.get_vector(parts_values.DOWNSTREAM.value) # 4 vertices from Downstream Left Deck Left to Downstream Right Deck passing by Downstream Left Bank and Downstream Right Bank
|
280
|
+
|
281
|
+
xydeck = self.centralpart.asnparray()
|
282
|
+
|
283
|
+
# point central de l'ouvrage
|
284
|
+
self.centerx = np.mean(xydeck[:,0]) # X coordinate of the deck
|
285
|
+
self.centery = np.mean(xydeck[:,1]) # X coordinate of the deck
|
286
|
+
self.curvi = 0 # s curvilinear coordinate of the deck along a support polyline
|
287
|
+
|
288
|
+
if self.centralpart is None:
|
289
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
290
|
+
if self.upstream is None:
|
291
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
292
|
+
if self.downstream is None:
|
293
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
294
|
+
|
295
|
+
if zones_in_file.RIVER.value in zone_names:
|
296
|
+
curzone = self.get_zone(zones_in_file.RIVER.value)
|
297
|
+
|
298
|
+
self.riverbed = curzone.get_vector(rivers_values.RIVERBED.value) # vertices from upstream to downstream
|
299
|
+
self.leftbank = curzone.get_vector(rivers_values.LEFTBANK.value) # vertices from upstream to downstream
|
300
|
+
self.rightbank = curzone.get_vector(rivers_values.RIGHTBANK.value) # vertices from upstream to downstream
|
301
|
+
|
302
|
+
if self.riverbed is None:
|
303
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
304
|
+
if self.leftbank is None:
|
305
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
306
|
+
if self.rightbank is None:
|
307
|
+
raise Warning(_('Bad file : {}'.format(myfile)))
|
308
|
+
|
309
|
+
self.create_polygon_river(ds)
|
310
|
+
self.force_plot()
|
311
|
+
|
312
|
+
self.colorize()
|
313
|
+
|
314
|
+
def force_plot(self):
|
197
315
|
|
198
316
|
vecs = [self.centralpart, self.upstream, self.downstream, self.riverbed, self.leftbank, self.rightbank]
|
199
317
|
vec: vector
|
200
318
|
for vec in vecs:
|
201
|
-
vec
|
319
|
+
if vec is not None:
|
320
|
+
vec.myprop.used=True
|
202
321
|
|
203
|
-
|
322
|
+
def create_polygon_river(self, ds:float=5.):
|
323
|
+
""" Create river polygons """
|
324
|
+
|
325
|
+
if self.leftbank is not None and self.riverbed is not None and self.rightbank is not None:
|
326
|
+
|
327
|
+
self.polygons_zone = zone(name= "polygons_river")
|
328
|
+
self.add_zone(self.polygons_zone, forceparent=True)
|
329
|
+
self.polygons_zone.myvectors = [self.leftbank, self.riverbed, self.rightbank] #inverse order to be up -> down
|
330
|
+
|
331
|
+
#création des polygones de rivière
|
332
|
+
self.polygons_zone.create_polygon_from_parallel(ds)
|
333
|
+
|
334
|
+
self.polygons_zone = self.get_zone(-1)
|
335
|
+
self.polygons_curvi = {}
|
336
|
+
for curvert in self.polygons_zone.myvectors:
|
337
|
+
self.polygons_curvi[curvert.myname] = curvert.myvertices[0].z
|
338
|
+
|
339
|
+
for vec in self.polygons_zone.myvectors:
|
340
|
+
vec.myprop.used=False # cache les polygones pour ne pas surcharger l'affichage éventuel
|
204
341
|
|
205
342
|
def colorize(self):
|
206
343
|
"""Colorisation des polygones pour l'interface graphique"""
|
207
|
-
|
208
|
-
self.upstream.
|
209
|
-
|
344
|
+
|
345
|
+
if self.centralpart is not None and self.upstream is not None and self.downstream is not None:
|
346
|
+
|
347
|
+
self.centralpart.myprop.color = getIfromRGB((0,255,0))
|
348
|
+
self.upstream.myprop.color = getIfromRGB((255,0,0))
|
349
|
+
self.downstream.myprop.color = getIfromRGB((0,0,255))
|
210
350
|
|
211
351
|
def get_distance(self, x:float, y:float):
|
212
352
|
"""
|
@@ -260,7 +400,7 @@ class Bridge(Zones):
|
|
260
400
|
ATTENTION : si linked_arrays est un dictionnaire, alors un niveau supérieur est ajouté sur base des clés de ce dictionnaire, dans ce cas, self.linked est un dict et non une liste
|
261
401
|
|
262
402
|
"""
|
263
|
-
curzone = self.get_zone(
|
403
|
+
curzone = self.get_zone(zones_in_file_fr_vec.PARTS.value)
|
264
404
|
|
265
405
|
if isinstance(linked_arrays, dict):
|
266
406
|
|
@@ -1314,8 +1454,8 @@ class Weir(Bridge):
|
|
1314
1454
|
|
1315
1455
|
def colorize(self):
|
1316
1456
|
self.centralpart.myprop.color = getIfromRGB((102,102,255))
|
1317
|
-
self.upstream.myprop.color
|
1318
|
-
self.downstream.myprop.color
|
1457
|
+
self.upstream.myprop.color = getIfromRGB((255,0,127))
|
1458
|
+
self.downstream.myprop.color = getIfromRGB((102,0,204))
|
1319
1459
|
|
1320
1460
|
class Weirs(Bridges):
|
1321
1461
|
|
@@ -7,7 +7,7 @@ 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=
|
10
|
+
wolfhece/PyDraw.py,sha256=wMiD3KR-IYKkaDI_WTMICH8gDEhy00jpaVxeJUwlI-U,492633
|
11
11
|
wolfhece/PyGui.py,sha256=Ceaby7kyTFf-eZQy4b6sI_b6y2ssN37bSGWBqOcb5VM,144145
|
12
12
|
wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
|
13
13
|
wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
|
@@ -15,8 +15,8 @@ wolfhece/PyPalette.py,sha256=81n1P-olOe4wElTLv-miSDhqvJU_RHcxgfpHt794dSw,31436
|
|
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
|
-
wolfhece/PyVertex.py,sha256=
|
19
|
-
wolfhece/PyVertexvectors.py,sha256=
|
18
|
+
wolfhece/PyVertex.py,sha256=qFf8UPvkbwumRRfjpBcgZmqpHtcEtIEoUh30rWFF-lQ,45205
|
19
|
+
wolfhece/PyVertexvectors.py,sha256=DiJfZrTj5Iy65O_z902-Hg7WzCGaKcguUgMw6moPy_c,283030
|
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
|
@@ -37,12 +37,12 @@ wolfhece/import_ascfiles.py,sha256=6Zl8qBR9c6VtyziookQ8YE9KC0GtW_J9WFt5ubyGp-s,4
|
|
37
37
|
wolfhece/ins.py,sha256=uUeLMS1n3GPnfJhxl0Z2l-UXpmPUgthuwct282OOEzk,36184
|
38
38
|
wolfhece/irm_qdf.py,sha256=KyrIk0Gu50Q702EWxRpwKTWI2KGjtHA1l8CL-Y469O0,26394
|
39
39
|
wolfhece/ismember.py,sha256=fkLvaH9fhx-p0QrlEzqa6ySO-ios3ysjAgXVXzLgSpY,2482
|
40
|
-
wolfhece/matplotlib_fig.py,sha256=
|
40
|
+
wolfhece/matplotlib_fig.py,sha256=2_Jgh45t1QfMwH7RhDV007-uBMtQvM_tVPkPEocG3tI,81047
|
41
41
|
wolfhece/multiprojects.py,sha256=Sd6Bl6YP33jlR79A6rvSLu23vq8sqbFYL8lWuVPkEpE,21549
|
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=
|
45
|
+
wolfhece/pybridges.py,sha256=pNdtk42QiY4I2XPZJux5VsY3PLEPHPegefziu6n3tO4,64298
|
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
|
@@ -76,11 +76,11 @@ wolfhece/apps/__init__.py,sha256=OzzKItATWV0mDkz_LC2L3w5sgT2rt8ExXXCbR_FwvlY,24
|
|
76
76
|
wolfhece/apps/acceptability.py,sha256=hMIxTRNQARTTWJJaakb6kEK9udNh-w64VDgxxezVk3k,790
|
77
77
|
wolfhece/apps/check_install.py,sha256=Zb_HE43sT6f-BOjvQUa-Kur6TjedFKUcwZOgTkKH3Sc,2398
|
78
78
|
wolfhece/apps/check_version.py,sha256=Zze7ltzcM2ZzIGMwkcASIjapCG8CEzzW9kwNscA3NhM,1768
|
79
|
-
wolfhece/apps/curvedigitizer.py,sha256=
|
79
|
+
wolfhece/apps/curvedigitizer.py,sha256=lEJJwgAfulrrWQc-U6ij6sj59hWN3SZl4Yu1kQxVzzA,9106
|
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=
|
83
|
+
wolfhece/apps/version.py,sha256=c8lUQbXJcDVHJjFBNDZvtl4JrQsc4JqOzcDAfm1UYVs,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
|
@@ -154,7 +154,7 @@ wolfhece/lagrangian/particles.py,sha256=S52_-3rzgVhift6l4Gznvsf_RTggzvNaD1dPvQUr
|
|
154
154
|
wolfhece/lagrangian/velocity_field.py,sha256=oGVjNm98gEpawreFIrC1lDyC5bEhkk2CsyYAlF1Kq50,10574
|
155
155
|
wolfhece/lazviewer/__init__.py,sha256=lz60EpQOBZ-zjvYzff6Y11jzAmC7mjOaxRYAfoqizQs,473
|
156
156
|
wolfhece/lazviewer/_add_path.py,sha256=GDwPnzHuGRXGriDNcu1SQ6HetFDGIApeAQZEzYArGvI,605
|
157
|
-
wolfhece/lazviewer/laz_viewer.py,sha256=
|
157
|
+
wolfhece/lazviewer/laz_viewer.py,sha256=RENRGgW5BYaM97i6a0D5tgqtTswt3bJ7h5LPNqj5QQA,44124
|
158
158
|
wolfhece/lazviewer/libs/Qt5Core.dll,sha256=sTJ_ctYFY9KHMNytF-lzH_078zIvnKTjN-71FDkOWPw,4924928
|
159
159
|
wolfhece/lazviewer/libs/Qt5Gui.dll,sha256=07BeaOeYByraGkKYeDiSDYLawHM8tyd55pVJlKbZ4Y0,5436416
|
160
160
|
wolfhece/lazviewer/libs/Qt5Network.dll,sha256=U-9FiLE9LUKru8r8EQxTnwwlMpwS8JzUtenhkKTCox0,1038336
|
@@ -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.
|
297
|
-
wolfhece-2.1.
|
298
|
-
wolfhece-2.1.
|
299
|
-
wolfhece-2.1.
|
300
|
-
wolfhece-2.1.
|
296
|
+
wolfhece-2.1.110.dist-info/METADATA,sha256=2II_IjksPPQB_4OyVus6GWhpup0SU4T-n_CPFYENPqE,2618
|
297
|
+
wolfhece-2.1.110.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
298
|
+
wolfhece-2.1.110.dist-info/entry_points.txt,sha256=ZZ-aSfbpdcmo-wo84lRFzBN7LaSnD1XRGSaAKVX-Gpc,522
|
299
|
+
wolfhece-2.1.110.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
300
|
+
wolfhece-2.1.110.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|