Skip to content

Commit e48e5f9

Browse files
committed
Merge pull request #1138 from UV-CDAT/vcs3D-fix_2.2_interaction_problems
Vcs3 d fix 2.2 interaction problems
2 parents 6a25e00 + 5a63d71 commit e48e5f9

File tree

4 files changed

+30
-18
lines changed

4 files changed

+30
-18
lines changed

Packages/DV3D/Application.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,7 @@ def hideWidgets(self):
9393
def showWidgets(self):
9494
self.plot.showWidgets()
9595

96+
if __name__ == '__main__':
97+
98+
from DistributedPointCollections import kill_all_zombies
99+
kill_all_zombies()

Packages/DV3D/StructuredDataset.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,10 @@ def getTransVarDataCube( self, varName, transVar, decimation, **args ):
715715
if decimation: decimationFactor = decimation[0]+1
716716

717717
args1 = {}
718-
order = 'xyt' if ( timeBounds == None) else 'xyz' if levaxis else 'xy'
718+
if ( timeBounds == None):
719+
order = 'xyt' if timeaxis is not None else 'xy'
720+
else:
721+
order = 'xyz' if levaxis is not None else 'xy'
719722
try:
720723
nts = self.timeRange[1]
721724
if ( timeIndex <> None ) and useTimeIndex:
@@ -756,7 +759,8 @@ def getTransVarDataCube( self, varName, transVar, decimation, **args ):
756759
try:
757760
rv = transVar( **args1 )
758761
except Exception, err:
759-
print>>sys.stderr, "Error Reading Variable", str(err)
762+
print>>sys.stderr, "Error Reading Variable, args = ", str(args1)
763+
traceback.print_exc()
760764
return CDMSDataset.NullVariable
761765

762766
memoryLogger.log("Create Mask")

Packages/DV3D/StructuredGridPlot.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,17 @@ def processVerticalScalingCommand( self, args, config_function ):
6464
if args and args[0] == "StartConfig":
6565
ispec = self.inputSpecs[ 0 ]
6666
wbounds = ispec.getDataBounds()
67+
self.zscaleBoxWidget = vtk.vtkBoxWidget()
68+
self.zscaleBoxWidget.SetInteractor( self.renderWindowInteractor )
69+
self.zscaleBoxWidget.SetPlaceFactor(1.0)
70+
self.zscaleBoxWidget.HandlesOff()
71+
self.zscaleBoxWidget.SetEnabled(1)
72+
oprop = self.zscaleBoxWidget.GetOutlineProperty()
73+
oprop.SetColor( 0.0, 0.0, 0.0 )
74+
oprop.SetLineWidth( 2.0 )
6775
self.zscaleBoxWidget.On()
6876
self.zscaleBoxWidget.PlaceWidget(wbounds)
77+
# print " >>>>>>>>>>>>>>>>>>>>> Place box widget: ", str( wbounds )
6978
elif args and args[0] == "Init":
7079
self.parameter_initializing = True
7180
ispec = self.inputSpecs[ 0 ]
@@ -80,21 +89,15 @@ def processVerticalScalingCommand( self, args, config_function ):
8089
# verticalScale.setValues( [ zsval ] )
8190
self.setZScale( zsval )
8291
verticalScale.setValue( 'count', 1 )
83-
self.zscaleBoxWidget = vtk.vtkBoxWidget()
84-
self.zscaleBoxWidget.SetInteractor( self.renderWindowInteractor )
85-
self.zscaleBoxWidget.SetPlaceFactor(1.0)
86-
self.zscaleBoxWidget.HandlesOff()
87-
oprop = self.zscaleBoxWidget.GetOutlineProperty()
88-
oprop.SetColor( 0.0, 0.0, 0.0 )
89-
oprop.SetLineWidth( 2.0 )
9092
self.parameter_initializing = False
9193
elif args and args[0] == "EndConfig":
9294
vscale = verticalScale.getValues()
9395
self.setZScale( vscale )
9496
self.zscaleBoxWidget.Off()
97+
self.zscaleBoxWidget.SetEnabled(0)
98+
self.zscaleBoxWidget = None
9599
self.processConfigParameterChange( verticalScale )
96100
elif args and args[0] == "InitConfig":
97-
self.zscaleBoxWidget.SetEnabled(1)
98101
self.updateTextDisplay( config_function.label )
99102
bbar = self.getInteractionButtons()
100103
self.skipIndex = 2

Packages/vcs/Lib/VTKPlots.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,9 @@ def configureEvent(self,obj,ev):
189189
self.oldCursor = cursor
190190
return
191191

192+
if self.get3DPlot() is not None:
193+
return
194+
192195
sz = self.renWin.GetSize()
193196
if self._lastSize == sz:
194197
# We really only care about resize event
@@ -1409,23 +1412,21 @@ def put_img_on_canvas(self,filename,zoom=1,xOffset=0,yOffset=0,*args,**kargs):
14091412

14101413
def hideGUI(self):
14111414
plot = self.get3DPlot()
1412-
if plot: plot.hideWidgets()
1413-
1414-
if self.bg is False:
1415+
if plot:
1416+
plot.hideWidgets()
1417+
elif self.bg is False:
14151418
from vtk_ui.manager import get_manager
14161419
manager = get_manager(self.renWin.GetInteractor())
14171420
if manager:
14181421
self.renWin.RemoveRenderer(manager.renderer)
14191422

14201423
def showGUI(self):
14211424
plot = self.get3DPlot()
1422-
1423-
if plot: plot.showWidgets()
1424-
1425-
if self.bg is False:
1425+
if plot:
1426+
plot.showWidgets()
1427+
elif self.bg is False:
14261428
from vtk_ui.manager import get_manager
14271429
manager = get_manager(self.renWin.GetInteractor())
1428-
14291430
if manager:
14301431
# Set the UI renderer's layer on top of what's there right now
14311432
layer = self.renWin.GetNumberOfLayers() + 1

0 commit comments

Comments
 (0)