Changeset 958
- Timestamp:
- Feb 25, 2005, 1:44:53 PM (20 years ago)
- Location:
- inundation/ga/storm_surge/pmesh
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
inundation/ga/storm_surge/pmesh/mesh.py
r935 r958 30 30 SET_COLOUR='red' 31 31 32 33 #for alpha shapes boundary type 34 RAW = 0 35 REMOVE_HOLES = 1 36 REMOVE_SHARP_INDENTS = 2 37 REMOVE_PINCH_OFF = 3 32 38 33 39 … … 1192 1198 return newsegs 1193 1199 1194 def autoSegment(self, alpha = None ):1200 def autoSegment(self, alpha = None, boundary_type=REMOVE_PINCH_OFF): 1195 1201 """ 1196 1202 Precon: There must be 3 or more vertices in the userVertices structure … … 1201 1207 points.append((vertex.x,vertex.y)) 1202 1208 shape = alpha_shape.alpha_shape.Alpha_Shape(points, alpha = alpha) 1209 shape.set_boundary_type(flag = boundary_type) 1203 1210 boundary_segs = shape.get_boundary() 1204 1211 -
inundation/ga/storm_surge/pmesh/pmesh.py
r953 r958 23 23 DEFAULT_ATTRIBUTE = 'elevation' 24 24 25 #for alpha shapes 25 26 NO_SELECTION = 0 26 27 AUTO = 1 27 28 SET_ALPHA = 2 29 28 30 29 31 class Draw(AppShell.AppShell): … … 623 625 def autoSegmentGiveAlphaButton (self, parent): 624 626 dialog = AutoSegmentDialog(self.canvas, self.meshLastAlpha) 625 if dialog. var.get() == SET_ALPHA:627 if dialog.use_optimum.get() == SET_ALPHA: 626 628 if dialog.alphaValueOk: 627 self.autoSegment(alpha = dialog.alpha) 629 self.autoSegment(alpha = dialog.alpha, 630 boundary_type=dialog.boundary_type.get()) 628 631 else: 629 632 showerror('pMesh', … … 631 634 else: 632 635 self.autoSegment() 633 634 635 def autoSegment (self, alpha = None ):636 637 638 def autoSegment (self, alpha = None, boundary_type=mesh.REMOVE_PINCH_OFF): 636 639 """ 637 640 add Segments to bound all vertices … … 1449 1452 self.title("Automatically Add Segments") 1450 1453 1451 self.var = IntVar() 1452 self.var.set(AUTO) # should initialise the radio buttons. It doesn't 1453 #self.var.set(NO_SELECTION) 1454 self.ck = Radiobutton(master, value = AUTO, variable=self.var) 1454 self.use_optimum = IntVar() 1455 self.use_optimum.set(AUTO) # should initialise the radio buttons. 1456 # It doesn't 1457 self.boundary_type = IntVar() 1458 1459 #self.use_optimum.set(NO_SELECTION) 1460 self.ck = Radiobutton(master, value = AUTO, variable=self.use_optimum) 1455 1461 self.ck.grid(row=1, column=0) 1456 1462 Label(master, text='Use optimum alpha').grid(row=1, column=1, sticky=W) 1457 1463 1458 self.ck2 = Radiobutton(master, value = SET_ALPHA, variable=self.var) 1464 self.ck2 = Radiobutton(master, value = SET_ALPHA, 1465 variable=self.use_optimum) 1459 1466 self.ck2.grid(row=2, column=0) 1460 1467 … … 1471 1478 self.alpha_str.grid(row=2, column=3, sticky=W) 1472 1479 1480 #boundary type buttons 1481 self.ck3 = Radiobutton(master, value = mesh.RAW, 1482 variable=self.boundary_type) 1483 self.ck3.grid(row=3, column=0) 1484 Label(master, text='Raw boundary').grid(row=3, column=1, sticky=W) 1485 # 1486 self.ck4 = Radiobutton(master, value = mesh.REMOVE_HOLES, 1487 variable=self.boundary_type) 1488 self.ck4.grid(row=4, column=0) 1489 Label(master, text='Remove small holes').grid(row=4,column=1, sticky=W) 1490 # 1491 self.ck5 = Radiobutton(master, value = mesh.REMOVE_SHARP_INDENTS, 1492 variable=self.boundary_type) 1493 self.ck5.grid(row=5, column=0) 1494 Label(master, 1495 text='Remove small holes \n& sharp indents').grid(row=5, 1496 column=1, 1497 sticky=W) 1498 # 1499 self.ck6 = Radiobutton(master, value = mesh.REMOVE_PINCH_OFF, 1500 variable=self.boundary_type) 1501 self.ck6.grid(row=6, column=0) 1502 Label(master, 1503 text='Remove small holes & \nsharp indents & pinch off').grid( \ 1504 row=6, 1505 column=1, 1506 sticky=W) 1507 1508 1473 1509 self.alpha = 0 1474 1510 self.alphaValueOk = False
Note: See TracChangeset
for help on using the changeset viewer.