Text archives Help
- From:
- To:
- Subject: [Manta] r2362 - trunk/scenes/csafe/python
- Date: Sat, 20 Dec 2008 19:56:15 -0700 (MST)
Author: brownlee
Date: Sat Dec 20 19:56:13 2008
New Revision: 2362
Modified:
trunk/scenes/csafe/python/Configuration.py
trunk/scenes/csafe/python/Histogram.py
trunk/scenes/csafe/python/SceneInfo.py
trunk/scenes/csafe/python/csafe_demo.cfg
trunk/scenes/csafe/python/csafe_scene.py
Log:
CSAFE fixes. fixing configuration writing, you can update measurement frame
as you type instead of clicking OK. Had to remove the code that only
contained one window for the measurementsFrame as the windows contents are
different whether it's volume or particle data
Modified: trunk/scenes/csafe/python/Configuration.py
==============================================================================
--- trunk/scenes/csafe/python/Configuration.py (original)
+++ trunk/scenes/csafe/python/Configuration.py Sat Dec 20 19:56:13 2008
@@ -34,7 +34,10 @@
histoGroups = scene.frame.histoGroups
f.write('[currentHistogram]\n')
- f.write( str( scene.frame.histoGroups.index( scene.currentHistogram ) ) )
+ if (scene.currentHistogram != None):
+ f.write( str( scene.frame.histoGroups.index( scene.currentHistogram )
) )
+ else :
+ f.write(0)
f.write('\n\n')
f.write('[currentParticleHistogram]\n')
Modified: trunk/scenes/csafe/python/Histogram.py
==============================================================================
--- trunk/scenes/csafe/python/Histogram.py (original)
+++ trunk/scenes/csafe/python/Histogram.py Sat Dec 20 19:56:13 2008
@@ -13,6 +13,8 @@
from csafe_scene import setup
from wxManta import moveToMouse, opj
+import FloatSpin as FS
+
data = []
numBuckets = 1
hMin = 0.0
@@ -47,8 +49,10 @@
# self.cropMax = 1.5;
self.colorMin = -99999.0
self.colorMax = 99999.0
+ self.colorDMin = dataMin
+ self.colorDMax = dataMax
self.dMin = dataMin
- self.dMax = dataMax #the min and max of displayed data
+ self.dMax = dataMax #the min and max of displayed data (zoomin in
region)
self.zoomDMin = dataMin #min data value of data to display (may not
be an actual value contianed in data)
self.zoomDMax = dataMax #max data value of data to display (may not
be an actual value contianed in data)
self.absoluteDMin = self.dMin #absolute min of the data
@@ -57,11 +61,9 @@
wx.EVT_PAINT(self, self.OnPaint)
self.transferF = transferF
self.SetValues(histValues, len(histValues), width, height)
- self.colorDMin = self.dMin
- self.colorDMax = self.dMax
+ self.cropDMin = self.absoluteDMin
+ self.cropDMax = self.absoluteDMax
self.Update()
- self.zoomDMin = self.dMin
- self.zoomDMax = self.dMax
self.Bind(wx.EVT_LEFT_DOWN, self.OnClick)
self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
self.Bind(wx.EVT_RIGHT_UP, self.OnRightClick)
@@ -77,12 +79,14 @@
self.dMax = dataMax #the min and max of displayed data
self.zoomDMin = dataMin #min data value of data to display (may not
be an actual value contianed in data)
self.zoomDMax = dataMax #max data value of data to display (may not
be an actual value contianed in data)
- self.absoluteDMin = self.dMin #absolute min of the data (ignoring
zoom)
- self.absoluteDMax = self.dMax
- self.colorDMin = self.dMin #scale colors by this minimum value
- self.colorDMax = self.dMax #scale colors by this maximum value
+ self.absoluteDMin = dataMin #absolute min of the data (ignoring
zoom)
+ self.absoluteDMax = dataMax
+ self.colorDMin = dataMin #scale colors by this minimum value
+ self.colorDMax = dataMax #scale colors by this maximum value
self.zoomDMin = self.dMin
- self.zoomDMax = self.dMax
+ self.zoomDMax = self.dMax
+ self.cropDMin = dataMin
+ self.cropDMax = dataMax
self.data = histValues
self.numBuckets = len(histValues)
self.Update()
@@ -151,7 +155,7 @@
self.draggingLeft = False
self.draggingRight = False
self.cropMin = pos
- self.UpdateDMinMax()
+ self.UpdateDisplayedValues()
def OnLeftUp(self, evt):
pos = float(evt.GetPosition().x -
self.paddingW/2.0)/float(self.width)
@@ -160,7 +164,9 @@
temp = self.cropMax
self.cropMax = self.cropMin
self.cropMin = temp
- self.UpdateDMinMax()
+ self.UpdateDisplayedValues()
+ self.UpdateCropDMin()
+ self.UpdateCropDmax()
self.Refresh()
self.dragging = False
@@ -176,11 +182,13 @@
#pdc = wx.PaintDC(self)
#pdc.Clear()
#dc = wx.GCDC(pdc)
+ if (self.dMin == self.dMax): # don't interact if no clipping range
+ return
pos = float(evt.GetPosition().x -
self.paddingW/2.0)/float(self.width)
update_clip = False
if self.selecting == True:
self.cropMax = pos
- self.UpdateDMinMax()
+ self.UpdateDisplayedValues()
self.Refresh()
update_clip = True
if self.dragging == True:
@@ -191,17 +199,21 @@
self.cropMin = 0
if self.cropMax > 1.0:
self.cropMax = 1.0
- self.UpdateDMinMax()
+ self.UpdateDisplayedValues()
+ self.UpdateCropDMin()
+ self.UpdateCropDMax()
self.Refresh()
update_clip = True
if self.draggingLeft == True:
self.cropMin = pos
- self.UpdateDMinMax()
+ self.UpdateDisplayedValues()
+ self.UpdateCropDMin()
self.Refresh()
update_clip = True
elif self.draggingRight == True:
self.cropMax = pos
- self.UpdateDMinMax()
+ self.UpdateDisplayedValues()
+ self.UpdateCropDMax()
self.Refresh()
update_clip = True
if (update_clip and self.parent.group != 1): # if not the volumedata
@@ -223,7 +235,7 @@
self.Update()
#update dMin/Max, cropMin/Max based on zoomDMin/Max
- def UpdateDMinMax(self):
+ def UpdateDisplayedValues(self):
absoluteDWidth = self.absoluteDMax - self.absoluteDMin
if absoluteDWidth == 0:
absoluteDWidth = 1.0
@@ -234,12 +246,25 @@
self.dMax = maxBucket*(absoluteDWidth/self.numBuckets)
else:
self.dMin = self.dMax = 0.0
+
+
+ def UpdateCropDMin(self):
dWidth = self.dMax - self.dMin
self.cropDMin = self.cropMin*dWidth + self.dMin # cropped data min
+ if (self.parent.group == 1):
+ self.colorDMin = self.cropDMin
+ self.scene.test.setVolColorMinMax(self.colorDMin, self.colorDMax)
+ self.scene.test.setVolClipMinMax(self.absoluteDMin,
self.absoluteDMax, self.cropDMin, self.cropDMax)
+ self.Update()
+
+ def UpdateCropDMax(self):
+ dWidth = self.dMax - self.dMin
self.cropDMax = self.cropMax*dWidth + self.dMin # cropped data max
-
if (self.parent.group == 1):
- self.scene.test.setVolClipMinMax(self.dMin, self.dMax,
self.cropDMin, self.cropDMax)
+ self.colorDMax = self.cropDMax
+ self.scene.test.setVolColorMinMax(self.colorDMin, self.colorDMax)
+ self.scene.test.setVolClipMinMax(self.absoluteDMin,
self.absoluteDMax, self.cropDMin, self.cropDMax)
+ self.Update()
def UpdateCropToD(self):
dWidth = self.dMax - self.dMin
@@ -256,7 +281,7 @@
width = self.width
height = self.height
print "0.1"
- self.UpdateDMinMax()
+ self.UpdateDisplayedValues()
print "1"
data = self.data
@@ -308,6 +333,8 @@
# end += step
colorWidth = float(self.colorDMax - self.colorDMin)
+ if (colorWidth == 0.0):
+ colorWidth = 1.0;
croppedHeightValues = int(width)*[0]
print "colors"
for i in range(0,int(width)):
@@ -329,7 +356,7 @@
if frequency > hMax:
hMax = frequency
if hMax > hMin:
- for i in range(0, width):
+ for i in range(0, int(width)):
frequency = croppedHeightValues[i]
barHeightNorm = float(frequency)/float(hMax)
# print str(frequency) + " " + str(barHeightNorm)
@@ -369,7 +396,8 @@
if cropMax > 1.0:
cropMax = 1.0
cropWidth = (float(cropMax) - float(cropMin))*float(self.width)
- dc.DrawRectangle(float(cropMin)*float(self.width) +
self.paddingW/2.0 , 0, cropWidth, self.height)
+ if (self.dMin != self.dMax):
+ dc.DrawRectangle(float(cropMin)*float(self.width) +
self.paddingW/2.0 , 0, cropWidth, self.height)
# draw cropping texta
dc.SetTextForeground(wx.Colour(255,255,255))
@@ -451,7 +479,7 @@
for i in range(0, self.scene.histogramBuckets):
self.datavalues.append(5)
self.dataMin = 0
- self.dataMax = 100
+ self.dataMax = 0
self.numbuckets = self.scene.histogramBuckets
self.width = 300.0
self.height = 40.0
@@ -692,9 +720,7 @@
self.SetAutoLayout(True)
def OnClickMeasurements(self, evt):
- global measurementsWindow
- if not measurementsWindow:
- measurementsWindow = MeasurementsFrame( self, -1, self.title + "
Measurements",
+ measurementsWindow = MeasurementsFrame( self, -1, self.title + "
Measurements",
self.histogram.zoomDMin,
self.histogram.zoomDMax,
self.histogram.cropDMin,
self.histogram.cropDMax,
self.histogram.colorDMin, self.histogram.colorDMax, self.group)
@@ -703,6 +729,9 @@
measurementsWindow.Raise()
def SendValues(self, zoomMin, zoomMax, cropMin, cropMax, colorMin,
colorMax): # sent from MeasurementsFrame
+ if (self.histogram.parent.group == 1):
+ colorMin = cropMin
+ colorMax = cropMax
print "min, max: " + str(cropMin) + " " + str(cropMax)
self.histogram.zooms.append( (self.histogram.zoomDMin,
self.histogram.zoomDMax))
self.histogram.zoomDMin = zoomMin
@@ -712,28 +741,30 @@
self.histogram.Update()
min = 0
max = 0
+ adWidth = self.histogram.absoluteDMax - self.histogram.absoluteDMin
dWidth = self.histogram.dMax - self.histogram.dMin
if dWidth == 0:
dWidth = 1.0
self.histogram.cropMin = (cropMin - self.histogram.dMin)/dWidth
self.histogram.cropMax = (cropMax - self.histogram.dMin)/dWidth
- if self.histogram.cropDMin < 0.0:
- self.histogram.cropDMin = 0.0
- if self.histogram.cropDMin > 1.0:
- self.histogram.cropDMin = 1.0
- if self.histogram.cropDMax < 0.0:
- self.histogram.cropDMax = 0.0
- if self.histogram.cropDMax > 1.0:
- self.histogram.cropDMax = 1.0
+ if self.histogram.cropMin < 0.0:
+ self.histogram.cropMin = 0.0
+ if self.histogram.cropMin > 1.0:
+ self.histogram.cropMin = 1.0
+ if self.histogram.cropMax < 0.0:
+ self.histogram.cropMax = 0.0
+ if self.histogram.cropMax > 1.0:
+ self.histogram.cropMax = 1.0
- self.histogram.cropDMin = self.histogram.cropMin*dWidth +
self.histogram.dMin # cropped data min
- self.histogram.cropDMax = self.histogram.cropMax*dWidth +
self.histogram.dMin # cropped data max
+ self.histogram.cropDMin = cropMin # cropped data min
+ self.histogram.cropDMax = cropMax # cropped data max
if (self.histogram.parent.group == 0):
if self.transferFPanel.transferFPanel.histogramGroup == self:
self.scene.test.setSphereColorMinMax(self.histogram.varIndex, colorMin,
colorMax)
else:
self.scene.test.setVolColorMinMax(colorMin, colorMax)
- self.scene.test.setVolClipMinMax(self.histogram.dMin,
self.histogram.dMax, cropMin, cropMax)
+
self.scene.test.setVolClipMinMax(self.histogram.absoluteDMin,
self.histogram.absoluteDMax, cropMin, cropMax)
+ print "vals: " + str(self.histogram.dMin) + " " +
str(self.histogram.dMax) + " " + str(cropMin) + " " + str(cropMax)
def OnClickZoomIn(self, evt):
self.histogram.ZoomIn()
@@ -834,28 +865,36 @@
gbs = wx.GridBagSizer(5,5)
self.group = group
self.zoomText = wx.StaticText(self, -1, "Zoom into data values: ",
(20, 10))
- self.zoomMinTcl = wx.TextCtrl(self, -1, str(zoomMin), size=(125, -1))
- self.zoomMaxTcl = wx.TextCtrl(self, -1, str(zoomMax), size=(125, -1))
- # if (group == 0): # Particles
+ spin = self.zoomMinFS = self.addSpinner(self,zoomMin);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnZoomMinFS, self.zoomMinFS )
+ spin = self.zoomMaxFS = self.addSpinner(self,zoomMax);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnZoomMaxFS, self.zoomMaxFS )
self.cropText = wx.StaticText(self, -1, "Crop displayed data values:
", (20, 10))
- self.cropMinTcl = wx.TextCtrl(self, -1, str(cropMin), size=(125, -1))
- self.cropMaxTcl = wx.TextCtrl(self, -1, str(cropMax), size=(125, -1))
- self.colorText = wx.StaticText(self, -1, "Crop color values: ", (20,
10))
- self.colorMinTcl = wx.TextCtrl(self, -1, str(colorMin), size=(125,
-1))
- self.colorMaxTcl = wx.TextCtrl(self, -1, str(colorMax), size=(125,
-1))
+ spin = self.cropMinFS = self.addSpinner(self,cropMin);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnCropMinFS, self.cropMinFS )
+ spin = self.cropMaxFS = self.addSpinner(self,cropMax);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnCropMaxFS, self.cropMaxFS )
+
+ if (group == 0): # Particles
+ self.colorText = wx.StaticText(self, -1, "Crop color values: ",
(20, 10))
+ spin = self.colorMinFS =self. addSpinner(self,colorMin);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnColorMinFS, self.colorMinFS )
+ spin = self.colorMaxFS = self.addSpinner(self,colorMax);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnColorMaxFS, self.colorMaxFS )
self.button = wx.Button(self, -1, "OK")
self.cancelB = wx.Button(self, -1, "Cancel")
gbs.Add(self.zoomText, (1,0))
- gbs.Add(self.zoomMinTcl, (1,1))
- gbs.Add(self.zoomMaxTcl, (1,2))
-# if (group == 0):
+ gbs.Add(self.zoomMinFS, (1,1))
+ gbs.Add(self.zoomMaxFS, (1,2))
gbs.Add(self.cropText, (2,0))
- gbs.Add(self.cropMinTcl, (2,1))
- gbs.Add(self.cropMaxTcl, (2,2))
- gbs.Add(self.colorText, (3,0))
- gbs.Add(self.colorMinTcl, (3,1))
- gbs.Add(self.colorMaxTcl, (3,2))
+ gbs.Add(self.cropMinFS, (2,1))
+ gbs.Add(self.cropMaxFS, (2,2))
+
+ if (group == 0):
+ gbs.Add(self.colorText, (3,0))
+ gbs.Add(self.colorMinFS, (3,1))
+ gbs.Add(self.colorMaxFS, (3,2))
vs2 = wx.BoxSizer( wx.HORIZONTAL )
@@ -876,22 +915,85 @@
self.Bind(wx.EVT_BUTTON, self.OnOK, self.button)
self.Bind(wx.EVT_BUTTON, self.OnCancel, self.cancelB)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
+
+ def addSpinner(self, where, value, id=wx.ID_ANY):
+ floatspin = FS.FloatSpin(where, id,
+ increment=0.01, value=value,
+ extrastyle=FS.FS_LEFT)
+ floatspin.SetFormat("%g")
+ floatspin.SetDigits(5)
+ return floatspin
+
+ def OnZoomMinFS(self, evt):
+ print "OnZoomMin"
+ val = self.zoomMinFS.GetValue()
+ val2 = self.zoomMaxFS.GetValue()
+ if (val > val2):
+ val = val2
+ self.zoomMinFS.SetValue(val2);
+ self.ApplyValues()
+
+ def OnZoomMaxFS(self, evt):
+ val = self.zoomMaxFS.GetValue()
+ val2 = self.zoomMinFS.GetValue()
+ if (val < val2):
+ val = val2
+ self.zoomMaxFS.SetValue(val2);
+ self.ApplyValues()
+
+ def OnCropMinFS(self, evt):
+ val = self.cropMinFS.GetValue()
+ val2 = self.cropMaxFS.GetValue()
+ if (val > val2):
+ val = val2
+ self.cropMinFS.SetValue(val2);
+ self.ApplyValues()
+
+ def OnCropMaxFS(self, evt):
+ val = self.cropMaxFS.GetValue()
+ val2 = self.cropMinFS.GetValue()
+ if (val < val2):
+ val = val2
+ self.cropMaxFS.SetValue(val2);
+ self.ApplyValues()
+
+ def OnColorMinFS(self, evt):
+ val = self.colorMinFS.GetValue()
+ val2 = self.colorMaxFS.GetValue()
+ if (val > val2):
+ val = val2
+ self.colorMinFS.SetValue(val2);
+ self.ApplyValues()
+
+ def OnColorMaxFS(self, evt):
+ val = self.colorMaxFS.GetValue()
+ val2 = self.colorMinFS.GetValue()
+ if (val < val2):
+ val = val2
+ self.colorMaxFS.SetValue(val2);
+ self.ApplyValues()
def OnCancel(self, evt):
self.Show( False )
-
- def OnOK(self, event):
- zoomMin = self.zoomMinTcl.GetValue()
- zoomMax = self.zoomMaxTcl.GetValue()
+
+ def ApplyValues(self):
+ zoomMin = self.zoomMinFS.GetValue()
+ zoomMax = self.zoomMaxFS.GetValue()
cropMin = 0
cropMax = 0
- cropMin = self.cropMinTcl.GetValue()
- cropMax = self.cropMaxTcl.GetValue()
- colorMin = self.colorMinTcl.GetValue()
- colorMax = self.colorMaxTcl.GetValue()
+ cropMin = self.cropMinFS.GetValue()
+ cropMax = self.cropMaxFS.GetValue()
+ if (self.group == 0):
+ colorMin = self.colorMinFS.GetValue()
+ colorMax = self.colorMaxFS.GetValue()
+ else:
+ colorMin = cropMin
+ colorMax = cropMax
#print "zomMin: " + str(zoomMin)
self.parent.SendValues(float(zoomMin), float(zoomMax),
float(cropMin), float(cropMax), float(colorMin), float(colorMax))
-
+
+ def OnOK(self, event):
+ self.ApplyValues()
self.Show( False )
def OnCloseWindow(self, event):
Modified: trunk/scenes/csafe/python/SceneInfo.py
==============================================================================
--- trunk/scenes/csafe/python/SceneInfo.py (original)
+++ trunk/scenes/csafe/python/SceneInfo.py Sat Dec 20 19:56:13 2008
@@ -40,4 +40,5 @@
self.forceDataMin = float(0) #manually set volume data range
self.forceDataMax = float(0)
self.stepSize = float(0.0125)
+ self.currentHistogram = None
Modified: trunk/scenes/csafe/python/csafe_demo.cfg
==============================================================================
--- trunk/scenes/csafe/python/csafe_demo.cfg (original)
+++ trunk/scenes/csafe/python/csafe_demo.cfg Sat Dec 20 19:56:13 2008
@@ -179,13 +179,127 @@
1.0 1.0 0.0 0.0 1.0
+[Transfer Function]
+InvRainbowIso
+10
+12
+0.0 0.527999997139 0.527999997139 1.0 1.0
+0.0909090936184 0.303999990225 0.582400023937 1.0 1.0
+0.181818187237 0.0 0.665600001812 0.832000017166 1.0
+0.272727280855 0.0 0.712000012398 0.569599986076 1.0
+0.363636374474 0.0 0.744000017643 0.297600001097 1.0
+0.454545468092 0.0 0.759999990463 0.0 1.0
+0.54545456171 0.303999990225 0.759999990463 0.0 1.0
+0.636363625526 0.550400018692 0.688000023365 0.0 1.0
+0.727272748947 0.680000007153 0.624000012875 0.0 1.0
+0.818181872368 0.751999974251 0.601599991322 0.0 1.0
+0.909090936184 1.0 0.500800013542 0.167999997735 1.0
+1.0 1.0 0.423999994993 0.423999994993 1.0
+
+
+[Transfer Function]
+InvRainbow
+11
+12
+0.0 0.0 0.0 1.0 1.0
+0.0909090936184 0.0 0.40000000596 1.0 1.0
+0.181818187237 0.0 0.800000011921 1.0 1.0
+0.272727280855 0.0 1.0 0.800000011921 1.0
+0.363636374474 0.0 1.0 0.40000000596 1.0
+0.454545468092 0.0 1.0 0.0 1.0
+0.54545456171 0.40000000596 1.0 0.0 1.0
+0.636363625526 0.800000011921 1.0 0.0 1.0
+0.727272748947 1.0 0.917647063732 0.0 1.0
+0.818181872368 1.0 0.800000011921 0.0 1.0
+0.909090936184 1.0 0.40000000596 0.0 1.0
+1.0 1.0 0.0 0.0 1.0
+
+
+[Transfer Function]
+Rainbow
+12
+12
+0.0 1.0 0.0 0.0 1.0
+0.0909090936184 1.0 0.40000000596 0.0 1.0
+0.181818187237 0.0 0.800000011921 0.0 1.0
+0.272727280855 1.0 0.917647063732 0.0 1.0
+0.363636374474 0.800000011921 1.0 0.0 1.0
+0.454545468092 0.40000000596 1.0 0.0 1.0
+0.54545456171 0.0 1.0 0.0 1.0
+0.636363625526 0.0 1.0 0.40000000596 1.0
+0.727272748947 0.0 1.0 0.800000011921 1.0
+0.818181872368 0.0 0.800000011921 1.0 1.0
+0.909090936184 0.0 0.40000000596 1.0 1.0
+1.0 1.0 0.0 0.0 1.0
+
+
+[Transfer Function]
+InvGrayscale
+13
+2
+0.0 1.0 1.0 1.0 1.0
+1.0 0.0 0.0 0.0 1.0
+
+
+[Transfer Function]
+InvBlackBody
+14
+13
+0.0 1.0 1.0 1.0 1.0
+0.0833333358169 1.0 1.0 0.705882370472 1.0
+0.166666671634 1.0 0.96862745285 0.470588237047 1.0
+0.25 1.0 0.89411765337 0.313725501299 1.0
+0.333333343267 1.0 0.800000011921 0.215686276555 1.0
+0.416666686535 1.0 0.639215707779 0.0784313753247 1.0
+0.5 1.0 0.470588237047 0.0 1.0
+0.58333337307 0.901960790157 0.278431385756 0.0 1.0
+0.666666686535 0.784313738346 0.160784319043 0.0 1.0
+0.75 0.600000023842 0.0705882385373 0.0 1.0
+0.83333337307 0.40000000596 0.00784313771874 0.0 1.0
+0.916666686535 0.203921571374 0.0 0.0 1.0
+1.0 0.0 0.0 0.0 1.0
+
+
+[Transfer Function]
+BlackBody
+15
+13
+0.0 0.0 0.0 0.0 1.0
+0.0833333358169 0.203921571374 0.0 0.0 1.0
+0.166666671634 0.40000000596 0.00784313771874 0.0 1.0
+0.25 0.600000023842 0.0705882385373 0.0 1.0
+0.333333343267 0.784313738346 0.160784319043 0.0 1.0
+0.416666686535 0.901960790157 0.278431385756 0.0 1.0
+0.5 1.0 0.470588237047 0.0 1.0
+0.58333337307 1.0 0.639215707779 0.0784313753247 1.0
+0.666666686535 1.0 0.800000011921 0.215686276555 1.0
+0.75 1.0 0.89411765337 0.313725501299 1.0
+0.83333337307 1.0 0.96862745285 0.470588237047 1.0
+0.916666686535 1.0 1.0 0.705882370472 1.0
+1.0 1.0 1.0 1.0 1.0
+
+
+[Transfer Function]
+GreyScale
+16
+2
+0.0 0.0 0.0 0.0 1.0
+1.0 1.0 1.0 1.0 1.0
+
+
+[currentHistogram]
+0
+
+[currentParticleHistogram]
+0
+
[Histogram]
volume
0
1
-300.0 2100.0
-300.0 2100.0
-288.0 2088.0
+0 0
+0 100
+0.0 0.0
0
@@ -193,9 +307,9 @@
x
0
0
-4.07959487347e-06 0.0587819218636
-4.07959487347e-06 0.0587819218636
-0.0 0.0587778422687
+0 0
+0 100
+0.0 0.0
1
@@ -203,9 +317,9 @@
y
1
0
--0.0613283030689 0.0587040632963
--0.0613283030689 0.0587040632963
--0.0612165068462 0.0576155358553
+0 0
+0 100
+0.0 0.0
2
@@ -213,9 +327,9 @@
z
2
0
-3.517361165e-06 0.0709128901362
-3.517361165e-06 0.0709128901362
-0.0 0.0709093727751
+0 0
+0 100
+0.0 0.0
3
@@ -223,9 +337,9 @@
p.mass
3
0
-3.00736237129e-12 9.78749994829e-07
-3.00736237129e-12 9.78749994829e-07
-0.0 9.78746987466e-07
+0 0
+0 100
+0.0 0.0
4
@@ -233,9 +347,9 @@
p.temperature
4
0
-17.9502124786 5116.43701172
-17.9502124786 5116.43701172
-0.0 5098.48679924
+0 0
+0 100
+0.0 0.0
5
@@ -243,9 +357,9 @@
p.stress Trace/3
5
0
--23199981568.0 13832486912.0
--23199981568.0 13832486912.0
--22960130457.6 13702013337.6
+0 0
+0 100
+0.0 0.0
6
@@ -253,9 +367,9 @@
Radius from p.volume
6
0
-2.95434688269e-06 0.000362312624929
-2.95434688269e-06 0.000362312624929
-0.0 0.000359358278047
+0 0
+0 100
+0.0 0.0
8
@@ -263,12 +377,18 @@
Material Index
7
0
-0.0 1.0
-0.0 1.0
-0.0 1.0
+0 0
+0 100
+0.0 0.0
9
+[Eye]
+0.340429008007 0.161851003766 -0.441882014275
+0.0411402992904 0.0475210994482 0.0508046001196
+-0.0893697962165 0.980803906918 0.173310980201
+12.0038995743 12.0038995743
+
[Scene Properties]
300.0
2100.0
@@ -276,9 +396,9 @@
6
0.001
4
-8
--0.49600000000000000000 -0.49600000000000000000 -0.49600000000000000000
-0.49600000000000000000 0.49600000000000000000 0.49600000000000000000
+4
+-0.496 -0.496 -0.496
+0.496 0.496 0.496
1
/home/sci/brownlee/Data-Explosion/vol/temp_CC_M02_0002.nrrd
1
Modified: trunk/scenes/csafe/python/csafe_scene.py
==============================================================================
--- trunk/scenes/csafe/python/csafe_scene.py (original)
+++ trunk/scenes/csafe/python/csafe_scene.py Sat Dec 20 19:56:13 2008
@@ -137,7 +137,7 @@
self.Bind(wx.EVT_MENU, self.Menu202, id=202)
self.Bind(wx.EVT_MENU, self.Menu107, id=107)
self.Bind(wx.EVT_MENU, self.Menu108, id=108)
- self.Bind(wx.EVT_MENU, self.Menu109, id=109)
+ self.Bind(wx.EVT_MENU, self.MenuQuit, id=109)
self.Bind(wx.EVT_MENU, self.Menu203, id=203)
self.Bind(wx.EVT_MENU, self.Menu204, id=204)
self.Bind(wx.EVT_MENU, self.Menu110, id=110)
@@ -147,6 +147,7 @@
self.Bind(wx.EVT_MENU, self.ShowHelp, id=ZOOM_HELP_ID)
self.Bind(wx.EVT_MENU, self.ShowHelp, id=COLORMAP_HELP_ID)
self.Bind(wx.EVT_SIZE, self.OnResize)
+ self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
self.SetBackgroundColour(self.scene.bgColor)
@@ -287,8 +288,14 @@
Configuration.WriteNRRDList(self.scene, path)
################ Quit #################
- def Menu109(self, e):
- exit()
+ def MenuQuit(self, e):
+ self.Close()
+
+ ################ OnCloseWindow #################
+ def OnCloseWindow(self, evt):
+ self.scene.mantaApp.frame.ShutdownEngine()
+ self.scene.mantaApp.frame.Destroy()
+ self.Destroy()
################ Add/Remove Files #################
def Menu201(self, evt):
- [Manta] r2362 - trunk/scenes/csafe/python, brownlee, 12/20/2008
Archive powered by MHonArc 2.6.16.