wolfhece 2.1.73__py3-none-any.whl → 2.1.75__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 +16 -0
- wolfhece/apps/version.py +1 -1
- wolfhece/wolf_array.py +218 -12
- {wolfhece-2.1.73.dist-info → wolfhece-2.1.75.dist-info}/METADATA +1 -1
- {wolfhece-2.1.73.dist-info → wolfhece-2.1.75.dist-info}/RECORD +8 -8
- {wolfhece-2.1.73.dist-info → wolfhece-2.1.75.dist-info}/WHEEL +0 -0
- {wolfhece-2.1.73.dist-info → wolfhece-2.1.75.dist-info}/entry_points.txt +0 -0
- {wolfhece-2.1.73.dist-info → wolfhece-2.1.75.dist-info}/top_level.txt +0 -0
wolfhece/PyDraw.py
CHANGED
@@ -8677,6 +8677,8 @@ class WolfMapViewer(wx.Frame):
|
|
8677
8677
|
'R': _('Arrays : reset the selection and the associated dictionnary'),
|
8678
8678
|
|
8679
8679
|
'1,2...9': _('Arrays : transfer the selection to the associated dictionary - key 1 to 9'),
|
8680
|
+
'>, <' : _('Arrays : dilate/erode the selection'),
|
8681
|
+
'CTRL+>, CTRL+<': _('Arrays : dilate/erode the selection unselecting the values inside the contour'),
|
8680
8682
|
|
8681
8683
|
'i': _('Arrays : 2D interpolation based on the selection on the current matrix'),
|
8682
8684
|
'CTRL+C': _('Arrays : Set copy source and current selection to clipboard as string'),
|
@@ -8799,6 +8801,13 @@ class WolfMapViewer(wx.Frame):
|
|
8799
8801
|
else:
|
8800
8802
|
logging.info(_('Please activate a simulation before search a specific result'))
|
8801
8803
|
|
8804
|
+
elif key == 60 and shiftdown: #'>'
|
8805
|
+
if self.active_array is not None:
|
8806
|
+
self.active_array.dilate_contour_selection(1)
|
8807
|
+
elif key == 60 and not shiftdown: #'<'
|
8808
|
+
if self.active_array is not None:
|
8809
|
+
self.active_array.erode_contour_selection()
|
8810
|
+
|
8802
8811
|
elif key == wx.WXK_F2 and shiftdown:
|
8803
8812
|
|
8804
8813
|
if self.active_res2d is not None:
|
@@ -9065,6 +9074,13 @@ class WolfMapViewer(wx.Frame):
|
|
9065
9074
|
if key == wx.WXK_DELETE:
|
9066
9075
|
self.removeobj()
|
9067
9076
|
|
9077
|
+
elif key == 60 and shiftdown: #'>'
|
9078
|
+
if self.active_array is not None:
|
9079
|
+
self.active_array.dilate_selection(1)
|
9080
|
+
elif key == 60 and not shiftdown: #'<'
|
9081
|
+
if self.active_array is not None:
|
9082
|
+
self.active_array.erode_selection(1)
|
9083
|
+
|
9068
9084
|
elif key == wx.WXK_ESCAPE:
|
9069
9085
|
|
9070
9086
|
logging.info(_('Escape key pressed -- Set all active objects and "action" to None'))
|
wolfhece/apps/version.py
CHANGED
wolfhece/wolf_array.py
CHANGED
@@ -1736,6 +1736,9 @@ class Ops_Array(wx.Frame):
|
|
1736
1736
|
bSizer21 = wx.BoxSizer(wx.HORIZONTAL)
|
1737
1737
|
|
1738
1738
|
bSizer16 = wx.BoxSizer(wx.VERTICAL)
|
1739
|
+
bSizer16_1 = wx.BoxSizer(wx.VERTICAL)
|
1740
|
+
bSizer16_2 = wx.BoxSizer(wx.VERTICAL)
|
1741
|
+
bSizer16_3 = wx.BoxSizer(wx.VERTICAL)
|
1739
1742
|
|
1740
1743
|
selectmethodChoices = [_("by clicks"), _("inside active vector"), _("inside active zone"),
|
1741
1744
|
_("inside temporary vector"), _("along active vector"), _("along active zone"),
|
@@ -1763,28 +1766,36 @@ class Ops_Array(wx.Frame):
|
|
1763
1766
|
self.LaunchSelection.SetFont(font)
|
1764
1767
|
|
1765
1768
|
bSizer16.Add(self.LaunchSelection, 0, wx.EXPAND)
|
1769
|
+
|
1766
1770
|
self.AllSelection = wx.Button(self.selection, wx.ID_ANY,
|
1767
1771
|
_("Select all nodes"), wx.DefaultPosition,
|
1768
1772
|
wx.DefaultSize, 0)
|
1769
1773
|
self.AllSelection.SetToolTip(_("Select all nodes in one click - store 'All' in the selection list"))
|
1770
|
-
|
1774
|
+
bSizer16_1.Add(self.AllSelection, 0, wx.EXPAND)
|
1775
|
+
|
1771
1776
|
self.MoveSelection = wx.Button(self.selection, wx.ID_ANY,
|
1772
1777
|
_("Move current selection to..."), wx.DefaultPosition,
|
1773
1778
|
wx.DefaultSize, 0)
|
1774
1779
|
self.MoveSelection.SetToolTip(_("Store the current selection in an indexed list -- useful for some interpolation methods"))
|
1775
|
-
|
1780
|
+
bSizer16_1.Add(self.MoveSelection, 0, wx.EXPAND)
|
1781
|
+
|
1782
|
+
self.ReselectMemory = wx.Button(self.selection, wx.ID_ANY,
|
1783
|
+
_("Reselect from..."), wx.DefaultPosition,
|
1784
|
+
wx.DefaultSize, 0)
|
1785
|
+
self.ReselectMemory.SetToolTip(_("Reselect the nodes from an indexed list"))
|
1786
|
+
bSizer16_1.Add(self.ReselectMemory, 0, wx.EXPAND)
|
1787
|
+
|
1776
1788
|
self.ResetSelection = wx.Button(self.selection, wx.ID_ANY,
|
1777
1789
|
_("Reset"), wx.DefaultPosition,
|
1778
1790
|
wx.DefaultSize, 0)
|
1779
1791
|
self.ResetSelection.SetToolTip(_("Reset the current selection list (keyboard shortcut r)"))
|
1780
|
-
|
1781
|
-
bSizer16.Add(self.ResetSelection, 0, wx.EXPAND)
|
1792
|
+
bSizer16_1.Add(self.ResetSelection, 0, wx.EXPAND)
|
1782
1793
|
|
1783
1794
|
self.ResetAllSelection = wx.Button(self.selection, wx.ID_ANY,
|
1784
1795
|
_("Reset All"), wx.DefaultPosition,
|
1785
1796
|
wx.DefaultSize, 0)
|
1786
1797
|
self.ResetAllSelection.SetToolTip(_("Reset the current selection list and the indexed lists (keyboard shortcut R)"))
|
1787
|
-
|
1798
|
+
bSizer16_1.Add(self.ResetAllSelection, 0, wx.EXPAND)
|
1788
1799
|
|
1789
1800
|
self.to_clipboard_str = wx.Button(self.selection, wx.ID_ANY, _("To clipboard (str)"), wx.DefaultPosition,
|
1790
1801
|
wx.DefaultSize, 0)
|
@@ -1794,8 +1805,45 @@ class Ops_Array(wx.Frame):
|
|
1794
1805
|
wx.DefaultSize, 0)
|
1795
1806
|
self.to_clipboard_script.SetToolTip(_("Copy the current selection to the clipboard as a script"))
|
1796
1807
|
|
1797
|
-
|
1798
|
-
|
1808
|
+
bSizer16_2.Add(self.to_clipboard_str, 0, wx.EXPAND, 2)
|
1809
|
+
bSizer16_2.Add(self.to_clipboard_script, 0, wx.EXPAND, 2)
|
1810
|
+
|
1811
|
+
erode_dilate_sizer = wx.BoxSizer(wx.VERTICAL)
|
1812
|
+
self.expand_selection = wx.Button(self.selection, wx.ID_ANY, _("Expand/Dilate selection"), wx.DefaultPosition,
|
1813
|
+
wx.DefaultSize, 0)
|
1814
|
+
self.expand_selection.SetToolTip(_("Expand the current selection to the nearest nodes"))
|
1815
|
+
|
1816
|
+
self.contract_selection = wx.Button(self.selection, wx.ID_ANY, _("Contract/Erode selection"), wx.DefaultPosition,
|
1817
|
+
wx.DefaultSize, 0)
|
1818
|
+
self.contract_selection.SetToolTip(_("Contract the current selection to the nearest nodes"))
|
1819
|
+
|
1820
|
+
self.expand_unselect_interior = wx.Button(self.selection, wx.ID_ANY, _("Expand/Dilate contour"), wx.DefaultPosition,
|
1821
|
+
wx.DefaultSize, 0)
|
1822
|
+
self.expand_unselect_interior.SetToolTip(_("Expand the contour of the current selection and unselect the interior nodes"))
|
1823
|
+
|
1824
|
+
self.unselect_interior = wx.Button(self.selection, wx.ID_ANY, _("Unselect interior"), wx.DefaultPosition,
|
1825
|
+
wx.DefaultSize, 0)
|
1826
|
+
self.unselect_interior.SetToolTip(_("Conserve the contour of the current selection and unselect the interior nodes"))
|
1827
|
+
|
1828
|
+
erode_dilate_sizer.Add(self.expand_selection, 0, wx.EXPAND)
|
1829
|
+
erode_dilate_sizer.Add(self.contract_selection, 0, wx.EXPAND)
|
1830
|
+
erode_dilate_sizer.Add(self.expand_unselect_interior, 0, wx.EXPAND)
|
1831
|
+
erode_dilate_sizer.Add(self.unselect_interior, 0, wx.EXPAND)
|
1832
|
+
|
1833
|
+
erode_dilate_options = wx.BoxSizer(wx.HORIZONTAL)
|
1834
|
+
self._label_passes = wx.StaticText(self.selection, wx.ID_ANY, _("Passes"), wx.DefaultPosition, wx.DefaultSize, 0)
|
1835
|
+
self._erode_dilate_value = wx.TextCtrl(self.selection, wx.ID_ANY, u"1", wx.DefaultPosition, wx.DefaultSize, style=wx.TE_CENTER)
|
1836
|
+
self._erode_dilate_value.SetToolTip(_("Number of passes for the erode/dilate operation"))
|
1837
|
+
|
1838
|
+
erode_dilate_options.Add(self._label_passes, 0, wx.EXPAND)
|
1839
|
+
erode_dilate_options.Add(self._erode_dilate_value, 0, wx.EXPAND)
|
1840
|
+
|
1841
|
+
self._erode_dilate_structure = wx.ComboBox(self.selection, wx.ID_ANY, _("Cross"), wx.DefaultPosition, wx.DefaultSize,
|
1842
|
+
["Cross", "Square"], wx.CB_READONLY)
|
1843
|
+
self._erode_dilate_structure.SetToolTip(_("Structuring element for the erode/dilate operation"))
|
1844
|
+
erode_dilate_options.Add(self._erode_dilate_structure, 1, wx.EXPAND)
|
1845
|
+
|
1846
|
+
erode_dilate_sizer.Add(erode_dilate_options, 0, wx.EXPAND)
|
1799
1847
|
|
1800
1848
|
# MultiBlocks
|
1801
1849
|
# ----------------
|
@@ -1821,7 +1869,9 @@ class Ops_Array(wx.Frame):
|
|
1821
1869
|
|
1822
1870
|
# bSizer16.Add(self._open_block, 0, wx.EXPAND)
|
1823
1871
|
|
1824
|
-
|
1872
|
+
bSizer16_1.Add(erode_dilate_sizer, 1, wx.EXPAND, 5)
|
1873
|
+
bSizer16.Add(bSizer16_1, 1, wx.EXPAND, 5)
|
1874
|
+
bSizer16.Add(bSizer16_2, 1, wx.EXPAND, 5)
|
1825
1875
|
bSizer21.Add(bSizer16, 1, wx.EXPAND, 5)
|
1826
1876
|
|
1827
1877
|
# VECTORS Manager
|
@@ -1996,6 +2046,7 @@ class Ops_Array(wx.Frame):
|
|
1996
2046
|
self.LaunchSelection.Bind(wx.EVT_BUTTON, self.OnLaunchSelect)
|
1997
2047
|
self.AllSelection.Bind(wx.EVT_BUTTON, self.OnAllSelect)
|
1998
2048
|
self.MoveSelection.Bind(wx.EVT_BUTTON, self.OnMoveSelect)
|
2049
|
+
self.ReselectMemory.Bind(wx.EVT_BUTTON, self.OnReselectMemory)
|
1999
2050
|
self.ResetSelection.Bind(wx.EVT_BUTTON, self.OnResetSelect)
|
2000
2051
|
self.ResetAllSelection.Bind(wx.EVT_BUTTON, self.OnResetAllSelect)
|
2001
2052
|
self.to_clipboard_str.Bind(wx.EVT_BUTTON, self.OnToClipboardStr)
|
@@ -2024,6 +2075,11 @@ class Ops_Array(wx.Frame):
|
|
2024
2075
|
self.histoupdatezoom.Bind(wx.EVT_BUTTON, self.OnClickHistoUpdate)
|
2025
2076
|
self.histoupdateerase.Bind(wx.EVT_BUTTON, self.OnClickHistoUpdate)
|
2026
2077
|
|
2078
|
+
self.contract_selection.Bind(wx.EVT_BUTTON, self.OnContractSelection)
|
2079
|
+
self.expand_selection.Bind(wx.EVT_BUTTON, self.OnExpandSelection)
|
2080
|
+
self.expand_unselect_interior.Bind(wx.EVT_BUTTON, self.OnExpandUnselectInterior)
|
2081
|
+
self.unselect_interior.Bind(wx.EVT_BUTTON, self.OnUnselectInterior)
|
2082
|
+
|
2027
2083
|
icon = wx.Icon()
|
2028
2084
|
icon_path = Path(__file__).parent / "apps/wolf_logo2.bmp"
|
2029
2085
|
icon.CopyFromBitmap(wx.Bitmap(str(icon_path), wx.BITMAP_TYPE_ANY))
|
@@ -2188,18 +2244,86 @@ class Ops_Array(wx.Frame):
|
|
2188
2244
|
self.parentarray.myops.nbselect.SetLabelText('All')
|
2189
2245
|
self.parentarray.myops.nbselect2.SetLabelText('All')
|
2190
2246
|
|
2247
|
+
def OnReselectMemory(self, event):
|
2248
|
+
"""
|
2249
|
+
Reselect from memory
|
2250
|
+
"""
|
2251
|
+
|
2252
|
+
if self.parentarray.mngselection is not None:
|
2253
|
+
self.parentarray.mngselection.reselect_from_memory()
|
2254
|
+
|
2191
2255
|
def OnMoveSelect(self, event):
|
2192
2256
|
"""Transfert de la sélection courante dans un dictionnaire"""
|
2193
2257
|
|
2194
2258
|
dlg = wx.TextEntryDialog(self, 'Choose id', 'id?')
|
2195
2259
|
ret = dlg.ShowModal()
|
2260
|
+
|
2261
|
+
if ret == wx.ID_CANCEL:
|
2262
|
+
logging.info('Cancel transfer')
|
2263
|
+
dlg.Destroy()
|
2264
|
+
return
|
2265
|
+
|
2196
2266
|
idtxt = dlg.GetValue()
|
2267
|
+
dlg.Destroy()
|
2197
2268
|
|
2198
|
-
|
2199
|
-
|
2200
|
-
|
2269
|
+
if self.parentarray.SelectionData is not None:
|
2270
|
+
if self.parentarray.SelectionData.nb > 0:
|
2271
|
+
dlg = wx.ColourDialog(self)
|
2272
|
+
ret = dlg.ShowModal()
|
2273
|
+
if ret == wx.ID_OK:
|
2274
|
+
color = dlg.GetColourData()
|
2275
|
+
color = color.GetColour().Get()
|
2276
|
+
dlg.Destroy()
|
2277
|
+
else:
|
2278
|
+
logging.info('Cancel transfer')
|
2279
|
+
dlg.Destroy()
|
2280
|
+
return
|
2281
|
+
else:
|
2282
|
+
color = (20,20,20,255)
|
2201
2283
|
|
2202
|
-
self.parentarray.SelectionData.move_selectionto(idtxt, color
|
2284
|
+
self.parentarray.SelectionData.move_selectionto(idtxt, color)
|
2285
|
+
|
2286
|
+
def OnContractSelection(self, event):
|
2287
|
+
""" Contract selection """
|
2288
|
+
|
2289
|
+
nb = int(self._erode_dilate_value.GetValue())
|
2290
|
+
if self._erode_dilate_structure.GetValue() == 'Cross':
|
2291
|
+
structure = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
|
2292
|
+
else:
|
2293
|
+
structure = np.ones((3, 3))
|
2294
|
+
|
2295
|
+
usemask = self.selectrestricttomask.GetValue()
|
2296
|
+
|
2297
|
+
self.parentarray.erode_selection(nb, usemask = usemask, structure = structure)
|
2298
|
+
|
2299
|
+
def OnExpandSelection(self, event):
|
2300
|
+
""" Expand selection """
|
2301
|
+
nb = int(self._erode_dilate_value.GetValue())
|
2302
|
+
if self._erode_dilate_structure.GetValue() == 'Cross':
|
2303
|
+
structure = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
|
2304
|
+
else:
|
2305
|
+
structure = np.ones((3, 3))
|
2306
|
+
|
2307
|
+
usemask = self.selectrestricttomask.GetValue()
|
2308
|
+
|
2309
|
+
self.parentarray.dilate_selection(nb, usemask, structure)
|
2310
|
+
|
2311
|
+
def OnExpandUnselectInterior(self, event):
|
2312
|
+
""" Expand contour """
|
2313
|
+
|
2314
|
+
nb = int(self._erode_dilate_value.GetValue())
|
2315
|
+
if self._erode_dilate_structure.GetValue() == 'Cross':
|
2316
|
+
structure = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
|
2317
|
+
else:
|
2318
|
+
structure = np.ones((3, 3))
|
2319
|
+
|
2320
|
+
usemask = self.selectrestricttomask.GetValue()
|
2321
|
+
|
2322
|
+
self.parentarray.dilate_contour_selection(nb, usemask, structure)
|
2323
|
+
|
2324
|
+
def OnUnselectInterior(self, event):
|
2325
|
+
""" Contract contour """
|
2326
|
+
self.parentarray.erode_contour_selection()
|
2203
2327
|
|
2204
2328
|
def reset_selection(self):
|
2205
2329
|
"""
|
@@ -3124,6 +3248,39 @@ class SelectionData():
|
|
3124
3248
|
else:
|
3125
3249
|
logging.warning(_('Cannot open the clipboard'))
|
3126
3250
|
|
3251
|
+
def reselect_from_memory(self, idx:list[str] = None):
|
3252
|
+
"""
|
3253
|
+
Reselect a stored selection
|
3254
|
+
|
3255
|
+
:param idx: id/key of the selection
|
3256
|
+
"""
|
3257
|
+
|
3258
|
+
if idx is None:
|
3259
|
+
keys = list(self.selections.keys())
|
3260
|
+
with wx.MultiChoiceDialog(None, "Choose the memory to reselect", "Choices", keys+['All']) as dlg:
|
3261
|
+
ret = dlg.ShowModal()
|
3262
|
+
if ret == wx.ID_CANCEL:
|
3263
|
+
return
|
3264
|
+
|
3265
|
+
idx = dlg.GetSelections()
|
3266
|
+
if len(idx) == 0:
|
3267
|
+
return
|
3268
|
+
|
3269
|
+
if len(idx) == 1 and idx[0] == len(keys):
|
3270
|
+
idx = keys
|
3271
|
+
elif len(idx) in idx:
|
3272
|
+
idx = keys
|
3273
|
+
else:
|
3274
|
+
idx = [keys[i] for i in idx]
|
3275
|
+
|
3276
|
+
for curidx in idx:
|
3277
|
+
if curidx in self.selections:
|
3278
|
+
self.myselection += self.selections[curidx]['select']
|
3279
|
+
else:
|
3280
|
+
logging.error(_('Selection {} does not exist').format(idx))
|
3281
|
+
|
3282
|
+
self.update_nb_nodes_selection()
|
3283
|
+
self.parent.reset_plot()
|
3127
3284
|
|
3128
3285
|
def move_selectionto(self, idx:str, color:list[float], resetplot:bool=True):
|
3129
3286
|
"""
|
@@ -4610,6 +4767,55 @@ class WolfArray(Element_To_Draw, header_wolf):
|
|
4610
4767
|
|
4611
4768
|
self.add_ops_sel() # Ajout d'un gestionnaire de sélection et d'opérations
|
4612
4769
|
|
4770
|
+
def erode_selection(self, nbiter:int= 1, usemask:bool = True, structure:np.ndarray = np.ones((3,3))):
|
4771
|
+
""" Erode the selection """
|
4772
|
+
|
4773
|
+
if self.SelectionData is not None:
|
4774
|
+
if self.SelectionData.nb > 0:
|
4775
|
+
self.SelectionData.erode_selection(nbiter, usemask, structure)
|
4776
|
+
self.SelectionData.update_nb_nodes_selection()
|
4777
|
+
self.reset_plot()
|
4778
|
+
else:
|
4779
|
+
logging.info('No selection to contract/erode')
|
4780
|
+
|
4781
|
+
def dilate_selection(self, nbiter:int= 1, usemask:bool = True, structure:np.ndarray = np.ones((3,3))):
|
4782
|
+
""" Dilate the selection """
|
4783
|
+
|
4784
|
+
if self.SelectionData is not None:
|
4785
|
+
if self.SelectionData.nb > 0:
|
4786
|
+
self.SelectionData.dilate_selection(nbiter, usemask, structure)
|
4787
|
+
self.SelectionData.update_nb_nodes_selection()
|
4788
|
+
self.reset_plot()
|
4789
|
+
else:
|
4790
|
+
logging.info('No selection to dilate')
|
4791
|
+
|
4792
|
+
def dilate_contour_selection(self, nbiter:int= 1, usemask:bool = True, structure:np.ndarray = np.ones((3,3))):
|
4793
|
+
""" Dilate the contour of the selection """
|
4794
|
+
|
4795
|
+
if self.SelectionData is not None:
|
4796
|
+
if self.SelectionData.nb > 0:
|
4797
|
+
oldsel = self.SelectionData.myselection.copy()
|
4798
|
+
self.SelectionData.dilate_selection(nbiter, usemask, structure)
|
4799
|
+
newsel = self.SelectionData.myselection.copy()
|
4800
|
+
self.SelectionData.myselection = [cur for cur in newsel if cur not in oldsel]
|
4801
|
+
self.SelectionData.update_nb_nodes_selection()
|
4802
|
+
self.reset_plot()
|
4803
|
+
else:
|
4804
|
+
logging.info('No selection to expand/dilate')
|
4805
|
+
|
4806
|
+
def erode_contour_selection(self):
|
4807
|
+
""" Erode the contour of the selection """
|
4808
|
+
if self.SelectionData is not None:
|
4809
|
+
if self.SelectionData.nb > 0:
|
4810
|
+
oldselect = self.SelectionData.myselection.copy()
|
4811
|
+
self.SelectionData.erode_selection(1)
|
4812
|
+
newselect = self.SelectionData.myselection.copy()
|
4813
|
+
self.SelectionData.myselection = [cur for cur in oldselect if cur not in newselect]
|
4814
|
+
self.SelectionData.update_nb_nodes_selection()
|
4815
|
+
self.reset_plot()
|
4816
|
+
else:
|
4817
|
+
logging.info('No selection to contract/erode')
|
4818
|
+
|
4613
4819
|
def set_opacity(self, alpha:float):
|
4614
4820
|
""" Set the transparency of the array """
|
4615
4821
|
|
@@ -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=FB8u0belXOXTb03Ln6RdVWvMgjzi3oGPCmw2dWa3lNg,8332
|
9
9
|
wolfhece/PyCrosssections.py,sha256=FnmM9DWY_SAF2EDH9Gu2PojXNtSTRF4-aYQuAAJXBh4,112771
|
10
|
-
wolfhece/PyDraw.py,sha256=
|
10
|
+
wolfhece/PyDraw.py,sha256=nud0raPc9AYDLgA3dYNOaOXQCWzLzCicxmxp7VihYtQ,416394
|
11
11
|
wolfhece/PyGui.py,sha256=oBIBpgBQRR_XXucKE5-RFrtqKj0DRg9VlUCRo8Mzalc,105009
|
12
12
|
wolfhece/PyGuiHydrology.py,sha256=f60E8K9eGTnRq5RDF6yvt-ahf2AYegwQ9t25zZ2Mk1A,14946
|
13
13
|
wolfhece/PyHydrographs.py,sha256=jwtSNMMACwarxrtN1UeQYth99UNrhwPx1IGgUwcooHA,3774
|
@@ -48,7 +48,7 @@ wolfhece/pywalous.py,sha256=yRaWJjKckXef1d9D5devP0yFHC9uc6kRV4G5x9PNq9k,18972
|
|
48
48
|
wolfhece/rain_SPWMI.py,sha256=qCfcmF7LajloOaCwnTrrSMzyME03YyilmRUOqrPrv3U,13846
|
49
49
|
wolfhece/textpillow.py,sha256=map7HsGYML_o5NHRdFg2s_TVQed_lDnpYNDv27MM0Vw,14130
|
50
50
|
wolfhece/tools_mpl.py,sha256=gQ3Jg1iuZiecmMqa5Eli2ZLSkttu68VXL8YmMDBaEYU,564
|
51
|
-
wolfhece/wolf_array.py,sha256=
|
51
|
+
wolfhece/wolf_array.py,sha256=4D2fj4-Zaqe-IBRB-X4rhjAuHNlnYl9mT15KJeeyl50,395523
|
52
52
|
wolfhece/wolf_hist.py,sha256=7jeVrgSkM3ErJO6SRMH_PGzfLjIdw8vTy87kesldggk,3582
|
53
53
|
wolfhece/wolf_texture.py,sha256=DS5eobLxrq9ljyebYfpMSQPn8shkUAZZVfqrOKN_QUU,16951
|
54
54
|
wolfhece/wolf_tiles.py,sha256=2Ho2I20rHRY81KXxjgLOYISdF4OkJ2d6omeY4shDoGI,10386
|
@@ -72,7 +72,7 @@ wolfhece/apps/check_install.py,sha256=Xoi_d8MzKzNAy2xqEpERdsqgRPu0hbBWukI0WkIYzD
|
|
72
72
|
wolfhece/apps/curvedigitizer.py,sha256=Yps4bcayzbsz0AoVc_dkSk35dEhhn_esIBy1Ziefgmk,5334
|
73
73
|
wolfhece/apps/isocurrent.py,sha256=dagmGR8ja9QQ1gwz_8fU-N052hIw-W0mWGVkzLu6C7I,4247
|
74
74
|
wolfhece/apps/splashscreen.py,sha256=SrustmIQeXnsiD-92OzjdGhBi-S7c_j-cSvuX4T6rtg,2929
|
75
|
-
wolfhece/apps/version.py,sha256=
|
75
|
+
wolfhece/apps/version.py,sha256=xL8JIrHIqANzTmqWx_eqnA9DTXZoDlLxaaofqhuey1I,388
|
76
76
|
wolfhece/apps/wolf.py,sha256=j_CgvsL8rwixbVvVD5Z0s7m7cHZ86gmFLojKGuetMls,729
|
77
77
|
wolfhece/apps/wolf2D.py,sha256=4z_OPQ3IgaLtjexjMKX9ppvqEYyjFLt1hcfFABy3-jU,703
|
78
78
|
wolfhece/apps/wolf_logo.bmp,sha256=ruJ4MA51CpGO_AYUp_dB4SWKHelvhOvd7Q8NrVOjDJk,3126
|
@@ -283,8 +283,8 @@ wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=8PlMYrb_8jI8h9F0_EagpM
|
|
283
283
|
wolfhece/ui/wolf_times_selection_comparison_models.py,sha256=ORy7fz4dcp691qKzaOZHrRLZ0uXNhL-LIHxmpDGL6BI,5007
|
284
284
|
wolfhece/wintab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
285
285
|
wolfhece/wintab/wintab.py,sha256=8A-JNONV6ujgsgG3lM5Uw-pVgglPATwKs86oBzzljoc,7179
|
286
|
-
wolfhece-2.1.
|
287
|
-
wolfhece-2.1.
|
288
|
-
wolfhece-2.1.
|
289
|
-
wolfhece-2.1.
|
290
|
-
wolfhece-2.1.
|
286
|
+
wolfhece-2.1.75.dist-info/METADATA,sha256=90OU0iX7noC8qKik5I2b-UqAjkalAUEMy8qdKctQovo,2570
|
287
|
+
wolfhece-2.1.75.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
|
288
|
+
wolfhece-2.1.75.dist-info/entry_points.txt,sha256=Q5JuIWV4odeIJI3qc6fV9MwRoz0ezqPVlFC1Ppm_vdQ,395
|
289
|
+
wolfhece-2.1.75.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
|
290
|
+
wolfhece-2.1.75.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|