Skip to content

Commit 102701b

Browse files
committed
Merge pull request #1227 from chaosphere2112/open_interact
Allow open/interact without plotting anything
2 parents cb68b41 + b4143c2 commit 102701b

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

Packages/vcs/Lib/VTKPlots.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def interact(self,*args,**kargs):
8585
warnings.warn("Cannot start interaction. Blank plot?")
8686
return
8787
warnings.warn("Press 'Q' to exit interactive mode and continue script execution")
88+
self.showGUI()
8889
interactor.Start()
8990

9091
def endEvent(self,obj,event):
@@ -296,9 +297,11 @@ def createRenWin(self,*args,**kargs):
296297

297298
if self.renderer == None:
298299
self.renderer = self.createRenderer()
299-
if self.bg is False:
300+
if self.bg != True:
300301
self.createDefaultInteractor(self.renderer)
301302
self.renWin.AddRenderer(self.renderer)
303+
if "open" in kargs and kargs["open"]:
304+
self.renWin.Render()
302305

303306
def createRenderer(self, *args, **kargs):
304307
# For now always use the canvas background
@@ -1452,7 +1455,7 @@ def hideGUI(self):
14521455

14531456
if plot:
14541457
plot.hideWidgets()
1455-
elif self.bg is False:
1458+
elif self.bg != True:
14561459
from vtk_ui.manager import get_manager, manager_exists
14571460
if manager_exists(self.renWin.GetInteractor()):
14581461
manager = get_manager(self.renWin.GetInteractor())
@@ -1463,7 +1466,7 @@ def showGUI(self, render=True):
14631466

14641467
if plot:
14651468
plot.showWidgets()
1466-
elif self.bg is False:
1469+
elif self.bg != True:
14671470
from vtk_ui.manager import get_manager, manager_exists
14681471
if manager_exists(self.renWin.GetInteractor()):
14691472
manager = get_manager(self.renWin.GetInteractor())

Packages/vcs/Lib/configurator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ def click(self, object, event):
339339
self.clicking = (self.interactor.GetEventPosition(), datetime.datetime.now())
340340

341341
def show(self):
342-
if len(self.displays) == 0:
342+
if self.interactor is None:
343343
return
344344
self.place()
345345
self.toolbar.show()
Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
1-
21
import vcs
3-
x=vcs.init()
2+
import sys
3+
4+
x = vcs.init()
45
x.drawlogooff()
56
x.open()
7+
8+
inter = x.backend.renWin.GetInteractor()
9+
10+
11+
def end_interact(obj, event):
12+
print "Interaction began"
13+
inter.TerminateApp()
14+
sys.exit(0)
15+
16+
inter.AddObserver("StartEvent", end_interact)
617
x.interact()
18+
19+
# Should not reach this point
20+
print "Did not start interact."
21+
sys.exit(1)

0 commit comments

Comments
 (0)