wolfhece 2.0.11__py3-none-any.whl → 2.0.13__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.
@@ -63,7 +63,7 @@ except Exception as ex:
63
63
 
64
64
  raise Exception(msg)
65
65
 
66
- from .wolf_array import WolfArray, getkeyblock, header_wolf, WolfArrayMB, WolfArrayMNAP, header_wolf
66
+ from .wolf_array import WolfArray, getkeyblock, header_wolf, WolfArrayMB, WolfArrayMNAP, header_wolf, SelectionData
67
67
  from .mesh2d import wolf2dprev
68
68
  from .PyVertexvectors import vector, zone, Zones
69
69
 
@@ -1148,10 +1148,10 @@ class Props_Res_2D(wx.Frame):
1148
1148
 
1149
1149
  # self.myzones.saveas(self.fnsave)
1150
1150
 
1151
- # def select_node_by_node(self):
1152
- # if self._mapviewer is not None:
1153
- # self._mapviewer.action = 'select node by node'
1154
- # self._mapviewer.active_array = self._parent
1151
+ def select_node_by_node(self):
1152
+ if self._mapviewer is not None:
1153
+ self._mapviewer.action = 'select node by node - results'
1154
+ self._mapviewer.active_res2d = self._parent
1155
1155
 
1156
1156
  # def select_zone_inside_manager(self):
1157
1157
 
@@ -2002,6 +2002,36 @@ class Wolfresults_2D(Element_To_Draw):
2002
2002
  self.properties:Props_Res_2D = None
2003
2003
  self.set_properties()
2004
2004
 
2005
+ self.mngselection = SelectionData(self)
2006
+ self.mngselection.dx, self.mngselection.dy = self[0].dx, self[0].dy
2007
+ self.myops = None
2008
+
2009
+ def get_bounds(self, abs=True):
2010
+ """
2011
+ Return bounds in coordinates
2012
+
2013
+ :param abs = if True, add translation to (x, y) (coordinate to global space)
2014
+ :return : tuple of two lists of two floats - ([xmin, xmax],[ymin, ymax])
2015
+ """
2016
+ if abs:
2017
+ return ([self.origx + self.translx, self.origx + self.translx + float(self.nbx) * self.dx],
2018
+ [self.origy + self.transly, self.origy + self.transly + float(self.nby) * self.dy])
2019
+ else:
2020
+ return ([self.origx, self.origx + float(self.nbx) * self.dx],
2021
+ [self.origy, self.origy + float(self.nby) * self.dy])
2022
+
2023
+ def check_bounds_ij(self, i:int, j:int):
2024
+ """Check if i and j are inside the array bounds"""
2025
+ x,y = self.get_xy_from_ij(i,j)
2026
+ return self.check_bounds_xy(x,y)
2027
+
2028
+ def check_bounds_xy(self, x:float, y:float):
2029
+ """Check if i and j are inside the array bounds"""
2030
+
2031
+ (xmin, xmax), (ymin, ymax) = self.get_bounds()
2032
+
2033
+ return x>=xmin and x<=xmax and y>=ymin and y<=ymax
2034
+
2005
2035
  @property
2006
2036
  def nullvalue(self):
2007
2037
  return self.epsilon
@@ -2115,7 +2145,7 @@ class Wolfresults_2D(Element_To_Draw):
2115
2145
 
2116
2146
  def __next__(self):
2117
2147
  self._iter += 1
2118
- return self[self._iter-1]
2148
+ return self[self._iter]
2119
2149
 
2120
2150
  def as_WolfArray(self, copyarray:bool=True) -> Union[WolfArray, WolfArrayMB]:
2121
2151
  """Récupération d'une matrice MB ou Mono sur base du résultat courant"""
@@ -2388,7 +2418,7 @@ class Wolfresults_2D(Element_To_Draw):
2388
2418
  curblock.min_field_size = minsize
2389
2419
 
2390
2420
  if which in views_2D:
2391
- self.delete_lists()
2421
+ # self.delete_lists()
2392
2422
 
2393
2423
  self._which_current_view = which
2394
2424
 
@@ -2419,7 +2449,7 @@ class Wolfresults_2D(Element_To_Draw):
2419
2449
  self.update_zoom_factor()
2420
2450
 
2421
2451
  # self.mypal.automatic = True
2422
- self.reset_plot()
2452
+ # self.reset_plot()
2423
2453
 
2424
2454
  self.plotting=False
2425
2455
  self.mimic_plotdata()
@@ -3292,22 +3322,34 @@ class Wolfresults_2D(Element_To_Draw):
3292
3322
  else:
3293
3323
  return nullvalue
3294
3324
 
3295
- def get_xy_from_ij(self, i, j, which_block, aswolf=False, abs=True):
3325
+ def get_xy_from_ij(self, i:int, j:int, which_block:int=1, aswolf:bool=False, abs:bool=True):
3296
3326
  """
3297
3327
  Retourne les coordonnées (x,y) depuis les indices (i,j) et le numéro de block
3328
+
3329
+ :param i: i index
3330
+ :param j: j index
3331
+ :param which_block: block number; 1-based;
3332
+ :param aswolf: True to add 1 to i and j to match the VB6/Fortran numbering format
3333
+ :param abs: True to return absolute coordinates
3298
3334
  """
3299
3335
 
3300
3336
  x,y = self.myblocks[getkeyblock(which_block,False)].waterdepth.get_xy_from_ij(i, j, aswolf=aswolf, abs=abs)
3301
3337
  return x,y
3302
3338
 
3303
- def get_ij_from_xy(self, x:float, y:float, which_block, aswolf=False, abs=True):
3339
+ def get_ij_from_xy(self, x:float, y:float, which_block:int = 1, aswolf=False, abs=True):
3304
3340
  """
3305
3341
  Retrouve les indices d'un point (x,y) dans un bloc spécifique
3306
3342
 
3307
3343
  Utilise la routine du même nom dans la martrice 'waterdepth'
3344
+
3345
+ :param x: x coordinate
3346
+ :param y: y coordinate
3347
+ :param which_block: block number; 1-based;
3348
+ :param aswolf: True to add 1 to i and j to match the VB6/Fortran numbering format
3349
+ :param abs: True to return absolute coordinates
3308
3350
  """
3309
3351
 
3310
- i,j = self.myblocks[getkeyblock(which_block,False)].waterdepth.get_ij_from_xy(x,y, aswolf=aswolf, abs=abs)
3352
+ i,j = self.myblocks[getkeyblock(which_block, False)].waterdepth.get_ij_from_xy(x,y, aswolf=aswolf, abs=abs)
3311
3353
 
3312
3354
  return i,j # Par défaut en indices Python et non WOLF (VB6/Fortran)
3313
3355
 
@@ -3483,6 +3525,10 @@ class Wolfresults_2D(Element_To_Draw):
3483
3525
  self.myparam.weak_bc_x.myzones.plot()
3484
3526
  self.myparam.weak_bc_y.myzones.plot()
3485
3527
 
3528
+ # Plot selected nodes
3529
+ if self.mngselection is not None:
3530
+ self.mngselection.plot_selection()
3531
+
3486
3532
  self.mimic_plotdata(False)
3487
3533
 
3488
3534
  def fillonecellgrid(self,curscale,loci,locj,force=False):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wolfhece
3
- Version: 2.0.11
3
+ Version: 2.0.13
4
4
  Author-email: Stéphane Champailler <stephane.champailler@uliege.be>, Pierre Archambeau <pierre.archambeau@uliege.be>
5
5
  Project-URL: Homepage, https://uee.uliege.be/hece
6
6
  Project-URL: Issues, https://uee.uliege.be/hece
@@ -5,11 +5,11 @@ wolfhece/Lidar2002.py,sha256=sXZ6p8_EKI5l8fJswIMAABT6dqHKVexU52Tjl1uuisU,5770
5
5
  wolfhece/ManageParams.py,sha256=Wgt5Zh7QBtyiwTAltPHunSLqt4XuVuRH76GTUrXabS4,219
6
6
  wolfhece/PyConfig.py,sha256=oGSL1WsLM9uinlNP4zGBLK3uHPmBfduUi7R-VtWuRFA,8034
7
7
  wolfhece/PyCrosssections.py,sha256=HtvhSracK8Yz6RCNQCfjzflvend_DtybI9mTb9gnTrs,111048
8
- wolfhece/PyDraw.py,sha256=Mz1U4lbL65UiBJs2uBx1s7TcvkH6DVihVzJ83GtEgsk,295669
9
- wolfhece/PyGui.py,sha256=WWu4CJrmwsih5c6YLoXnxGdtrCi77cefecMaqr_bVzc,52313
8
+ wolfhece/PyDraw.py,sha256=LdJiB4GW-1s-b4VlMge0NYC2XQbb_Q4lIUR3ngYZO9s,298905
9
+ wolfhece/PyGui.py,sha256=mzJCRjMHtebFrxmPnwUK6YpQgMf5iiiCTm0hCOuRsOY,52722
10
10
  wolfhece/PyGuiHydrology.py,sha256=t7EqOMyA1mkVg_aATMaduR-aqs04V-uRCifyHVmPqRs,7133
11
11
  wolfhece/PyHydrographs.py,sha256=2BqsvZSb8WuH22SYxU_BcakfA43yV_qA0ujWQE4uwQo,3407
12
- wolfhece/PyPalette.py,sha256=Y3GHvP-J56IsBeNsgn_bJR3tQwAISMZ9r-tcGIJ55wk,21544
12
+ wolfhece/PyPalette.py,sha256=2nZnI1YlMP658F5A844b9Wnac5QMgaaYAsgpu4_TjP8,21814
13
13
  wolfhece/PyParams.py,sha256=PzGnWzlo7dyw9yaDZ90eS3HrXrPEukN1BOEtTPsthEU,77473
14
14
  wolfhece/PyPictures.py,sha256=wI6t38rmRiNG1pGWTXVW-nWQO2mg8SH7Gf-X2HIi02A,2023
15
15
  wolfhece/PyTranslate.py,sha256=4appkmNeHHZLFmUtaA_k5_5QL-5ymxnbVN4R2OblmtE,622
@@ -20,7 +20,7 @@ wolfhece/RatingCurve.py,sha256=Psw4OknvqVXOjIomJxCW4hGd_q2HZ4DmcwV-wJXehds,21420
20
20
  wolfhece/RatingCurveData.py,sha256=5UvnIm89BwqjnEbLCcY3CA8WoFd_xHJbooNy62fX5iY,57660
21
21
  wolfhece/RatingCurve_xml.py,sha256=iP6hanwG6EzddcWF2zvsuU9JLfrPtq7-AOFwcz2HO8k,24469
22
22
  wolfhece/ReadDataDCENN.py,sha256=4OMDBgkZ_v7OWmVhyQ-reab7MPxGhFEDY2qS8yThhdM,1240
23
- wolfhece/Results2DGPU.py,sha256=JC-bCtBine4i-j9Ab3Hd_xuinuapgxGWRNGU-pchtsI,16016
23
+ wolfhece/Results2DGPU.py,sha256=EeitHU4WsMpHsissLue_w9fxw2JEN2-poNDVnBgeTPg,16018
24
24
  wolfhece/__init__.py,sha256=FRDE8PiJAWxX9PMXsShRMZ8YADAY4WIgKMRh52rmhiw,23
25
25
  wolfhece/_add_path.py,sha256=nudniS-lsgHwXXq5o626XRDzIeYj76GoGKYt6lcu2Nc,616
26
26
  wolfhece/cli.py,sha256=Xj0yfgs7MnvNCk5Td_Qp_oz4DMI66eBHu2bkVrGW3OU,1828
@@ -45,12 +45,12 @@ wolfhece/pywalous.py,sha256=jwp251AzGBc0VmMzOqA0IJiRRa6yQIfccRM8lVGszIY,4474
45
45
  wolfhece/rain_SPWMI.py,sha256=YqsF-yFro3y_a6MfVRFfr-Rxi7NR1gl_i8VX7scmzes,13548
46
46
  wolfhece/textpillow.py,sha256=YJxF4JzPv3G1oqenJgWVYq3OPZx9iFtrmeIfvBwbJVU,8735
47
47
  wolfhece/tools_mpl.py,sha256=q8Yc4aukPPiUcEzREvZRM_em67XqXaahdoaNt0DETfE,266
48
- wolfhece/wolf_array.py,sha256=qfhtpW-WhZN3xj43wK1_243wk5XAQq2KKPXzYzFIsFA,268936
48
+ wolfhece/wolf_array.py,sha256=eMdZcBQIqvBqIjzhYd-zKmsh50xnDpYZSbMt1EzTbZw,278186
49
49
  wolfhece/wolf_hist.py,sha256=JpRXvzJLUP-RkSkvth3DQWglgTMFI2ZEUDb4RYOfeeI,3284
50
50
  wolfhece/wolf_texture.py,sha256=quflEvi32lWSvOPa0aDCDl-8Jv-jGtLHbR2rdx67LsI,14883
51
51
  wolfhece/wolf_tiles.py,sha256=F2JsJHdAP8fIffNJdG_J26bonCIRtIwMmxKFqdSCRDA,10088
52
52
  wolfhece/wolf_vrt.py,sha256=wuMPAXNYTByNGNtvWhwW1fQelPstAPTQZECgXHZ0oTM,5180
53
- wolfhece/wolfresults_2D.py,sha256=wiHpAQ8W6X3lyE3XkJBMEB198Pbp3i96WslCUXZjI2I,142147
53
+ wolfhece/wolfresults_2D.py,sha256=l0E84-4h9AeyGGsrVaUSo5QZB8mjyf7TnKnhTlY7RA0,144087
54
54
  wolfhece/xyz_file.py,sha256=aQOcTHkHRhXHxL_WxTHwzygp6e47San7SHSpxKQU0dw,5457
55
55
  wolfhece/apps/ManageParams.py,sha256=its7JhceQiwzQVl95wA51GZs1zjtbpUNvbqvdvDTeyM,316
56
56
  wolfhece/apps/Optimisation_hydro.py,sha256=25H5PVN_Gh3mkDQ6BWbJjBqsGCNdGapZOqKECcOGJIQ,398
@@ -200,7 +200,7 @@ wolfhece/mar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
200
200
  wolfhece/mar/commontools.py,sha256=vCmoNI2sMOco6Y4KPpKb7WORq45qFU_lSxbKGV9oZ8A,53824
201
201
  wolfhece/mar/interface_MAR_WOLF.py,sha256=MWeXaHLDT4Eo9jZOAvz013lmpgGYT1v9VUYGAgBgSRU,21454
202
202
  wolfhece/mesh2d/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
- wolfhece/mesh2d/bc_manager.py,sha256=8WTKkWX_mwp-AihFkJWrcWxugrUTbTnAO4H867QLOkc,51172
203
+ wolfhece/mesh2d/bc_manager.py,sha256=vSVogXy1x3A6fZKWA6mPZSGX2e3EAUVmEjD9Bgww_hU,51173
204
204
  wolfhece/mesh2d/cell_tracker.py,sha256=AR-Bty-QnrY1ni8Lwak2kU2UWMAJSBCF2ugl2YpfsB4,8660
205
205
  wolfhece/mesh2d/config_manager.py,sha256=0zVoSD4DNsm_180d8ulDLy8EGFBhTUVApBvRpY730Zk,15284
206
206
  wolfhece/mesh2d/cst_2D_boundary_conditions.py,sha256=BaJeKHyJiKEFWBkTQeYsDBW86703ooj65MFVpPMgjLg,2810
@@ -224,19 +224,21 @@ wolfhece/rem/RasterViz.py,sha256=TDhWyMppcYBL71HfhpZuMgYKhz7faZg-MEOQJo_3Ivo,291
224
224
  wolfhece/rem/__init__.py,sha256=S2-J5uEGK_VaMFjRUYFIdSScJjZyuXH4RmMmnG3OG7I,19
225
225
  wolfhece/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
226
  wolfhece/scenario/check_scenario.py,sha256=Q0_jA3PYapcbCT881YojTwKoRi_RjZpevHXhtP9VoqE,4619
227
- wolfhece/scenario/config_manager.py,sha256=mcad9PXsMVYDLCCAYWbun_oercmEpt7pABVW6dfYUCA,55123
228
- wolfhece/scenario/imposebc_void.py,sha256=59MFld_jJq1m0O8f4Dlh_1wtBlHKNTCEjbEK2A1EaUo,5163
227
+ wolfhece/scenario/config_manager.py,sha256=kYN2V82B8nwUUBmhPzoTATAPVncSg1s7pf4Inp_8WcU,55245
228
+ wolfhece/scenario/imposebc_void.py,sha256=rZs_y0-dOeiHEw_hJyiPeEyL2fmOve-sFtrV57SWhe8,5247
229
229
  wolfhece/scenario/update_void.py,sha256=r9ztr9LlJbd6BgOK-KWpYvUAUakZCyze58-olucbVcI,7156
230
+ wolfhece/shaders/quad_geom_shader.glsl,sha256=cHLwA6RfHIbzCB8S0Pu6C2Wi1i-DtGBYJdZWq-YBQ3M,922
230
231
  wolfhece/shaders/simple_fragment_shader.glsl,sha256=rk8uBroc8MX8r8K3S71zCSSMGtU27ChZIna-sTiIS9A,112
231
232
  wolfhece/shaders/simple_vertex_shader.glsl,sha256=crJlvIx-nNcUpKyK4KpJWR789xG-RqSa56yr4DRq4d4,285
233
+ wolfhece/shaders/simple_vertex_shader_wo_mvp.glsl,sha256=CT5dr1s0kdL90MtZi22DelFzFVns-w0XcrVbPan6yOc,122
232
234
  wolfhece/sounds/son12.wav,sha256=iZJYSrKkE4HLXJwWzszVR07w_3d-WLO8npFlUcxQlrc,12664
233
235
  wolfhece/sounds/son6.wav,sha256=v7CFE-PlGvVcRC3oAaWBBGngutCDS_MUiCIhNHkpv2Y,7884
234
236
  wolfhece/sounds/sonsw1.wav,sha256=HhuGeZ3iIyJdDALmM-jvGZDkKw3IZ3JXCuQZkN3Zjtc,212550
235
237
  wolfhece/sounds/sonsw2.wav,sha256=pFLVt6By0_EPQNt_3KfEZ9a1uSuYTgQSX1I_Zurv9Rc,110636
236
238
  wolfhece/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
237
239
  wolfhece/ui/wolf_multiselection_collapsiblepane.py,sha256=yGbU_JsF56jsmms0gh7mxa7tbNQ_SxqhpAZxhm-mTy4,14860
238
- wolfhece-2.0.11.dist-info/METADATA,sha256=jiqUp2WNSN2RcS6V4l6W6Mmv0Z9RmqOIH36riwYY3Iw,2053
239
- wolfhece-2.0.11.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
240
- wolfhece-2.0.11.dist-info/entry_points.txt,sha256=IHhq-i2W9QpyXFHKe2Ld8j1R4hW5DmYqrZsuSsXkdEE,245
241
- wolfhece-2.0.11.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
242
- wolfhece-2.0.11.dist-info/RECORD,,
240
+ wolfhece-2.0.13.dist-info/METADATA,sha256=MzxbbpRv4ctOCVW9othMrQX-JbdBAkSk5BUYX3Fs4rM,2053
241
+ wolfhece-2.0.13.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
242
+ wolfhece-2.0.13.dist-info/entry_points.txt,sha256=IHhq-i2W9QpyXFHKe2Ld8j1R4hW5DmYqrZsuSsXkdEE,245
243
+ wolfhece-2.0.13.dist-info/top_level.txt,sha256=EfqZXMVCn7eILUzx9xsEu2oBbSo9liWPFWjIHik0iCI,9
244
+ wolfhece-2.0.13.dist-info/RECORD,,