diff --git a/Packages/DV3D/Application.py b/Packages/DV3D/Application.py index 8608e86f3f..97988f94fa 100644 --- a/Packages/DV3D/Application.py +++ b/Packages/DV3D/Application.py @@ -93,3 +93,7 @@ def hideWidgets(self): def showWidgets(self): self.plot.showWidgets() +if __name__ == '__main__': + + from DistributedPointCollections import kill_all_zombies + kill_all_zombies() \ No newline at end of file diff --git a/Packages/DV3D/StructuredDataset.py b/Packages/DV3D/StructuredDataset.py index 62ee9e5b74..1e4c1db6f6 100644 --- a/Packages/DV3D/StructuredDataset.py +++ b/Packages/DV3D/StructuredDataset.py @@ -715,7 +715,10 @@ def getTransVarDataCube( self, varName, transVar, decimation, **args ): if decimation: decimationFactor = decimation[0]+1 args1 = {} - order = 'xyt' if ( timeBounds == None) else 'xyz' if levaxis else 'xy' + if ( timeBounds == None): + order = 'xyt' if timeaxis is not None else 'xy' + else: + order = 'xyz' if levaxis is not None else 'xy' try: nts = self.timeRange[1] if ( timeIndex <> None ) and useTimeIndex: @@ -756,7 +759,8 @@ def getTransVarDataCube( self, varName, transVar, decimation, **args ): try: rv = transVar( **args1 ) except Exception, err: - print>>sys.stderr, "Error Reading Variable", str(err) + print>>sys.stderr, "Error Reading Variable, args = ", str(args1) + traceback.print_exc() return CDMSDataset.NullVariable memoryLogger.log("Create Mask") diff --git a/Packages/DV3D/StructuredGridPlot.py b/Packages/DV3D/StructuredGridPlot.py index 89e7254595..de7f1e14a8 100644 --- a/Packages/DV3D/StructuredGridPlot.py +++ b/Packages/DV3D/StructuredGridPlot.py @@ -64,8 +64,17 @@ def processVerticalScalingCommand( self, args, config_function ): if args and args[0] == "StartConfig": ispec = self.inputSpecs[ 0 ] wbounds = ispec.getDataBounds() + self.zscaleBoxWidget = vtk.vtkBoxWidget() + self.zscaleBoxWidget.SetInteractor( self.renderWindowInteractor ) + self.zscaleBoxWidget.SetPlaceFactor(1.0) + self.zscaleBoxWidget.HandlesOff() + self.zscaleBoxWidget.SetEnabled(1) + oprop = self.zscaleBoxWidget.GetOutlineProperty() + oprop.SetColor( 0.0, 0.0, 0.0 ) + oprop.SetLineWidth( 2.0 ) self.zscaleBoxWidget.On() self.zscaleBoxWidget.PlaceWidget(wbounds) +# print " >>>>>>>>>>>>>>>>>>>>> Place box widget: ", str( wbounds ) elif args and args[0] == "Init": self.parameter_initializing = True ispec = self.inputSpecs[ 0 ] @@ -80,21 +89,15 @@ def processVerticalScalingCommand( self, args, config_function ): # verticalScale.setValues( [ zsval ] ) self.setZScale( zsval ) verticalScale.setValue( 'count', 1 ) - self.zscaleBoxWidget = vtk.vtkBoxWidget() - self.zscaleBoxWidget.SetInteractor( self.renderWindowInteractor ) - self.zscaleBoxWidget.SetPlaceFactor(1.0) - self.zscaleBoxWidget.HandlesOff() - oprop = self.zscaleBoxWidget.GetOutlineProperty() - oprop.SetColor( 0.0, 0.0, 0.0 ) - oprop.SetLineWidth( 2.0 ) self.parameter_initializing = False elif args and args[0] == "EndConfig": vscale = verticalScale.getValues() self.setZScale( vscale ) self.zscaleBoxWidget.Off() + self.zscaleBoxWidget.SetEnabled(0) + self.zscaleBoxWidget = None self.processConfigParameterChange( verticalScale ) elif args and args[0] == "InitConfig": - self.zscaleBoxWidget.SetEnabled(1) self.updateTextDisplay( config_function.label ) bbar = self.getInteractionButtons() self.skipIndex = 2 diff --git a/Packages/vcs/Lib/VTKPlots.py b/Packages/vcs/Lib/VTKPlots.py index db9db2313d..e98d59ea79 100644 --- a/Packages/vcs/Lib/VTKPlots.py +++ b/Packages/vcs/Lib/VTKPlots.py @@ -189,6 +189,9 @@ def configureEvent(self,obj,ev): self.oldCursor = cursor return + if self.get3DPlot() is not None: + return + sz = self.renWin.GetSize() if self._lastSize == sz: # We really only care about resize event @@ -1409,9 +1412,9 @@ def put_img_on_canvas(self,filename,zoom=1,xOffset=0,yOffset=0,*args,**kargs): def hideGUI(self): plot = self.get3DPlot() - if plot: plot.hideWidgets() - - if self.bg is False: + if plot: + plot.hideWidgets() + elif self.bg is False: from vtk_ui.manager import get_manager manager = get_manager(self.renWin.GetInteractor()) if manager: @@ -1419,13 +1422,11 @@ def hideGUI(self): def showGUI(self): plot = self.get3DPlot() - - if plot: plot.showWidgets() - - if self.bg is False: + if plot: + plot.showWidgets() + elif self.bg is False: from vtk_ui.manager import get_manager manager = get_manager(self.renWin.GetInteractor()) - if manager: # Set the UI renderer's layer on top of what's there right now layer = self.renWin.GetNumberOfLayers() + 1