Text archives Help
- From:
- To:
- Subject: [Manta] r2390 - in trunk: Model/Materials scenes/csafe/python
- Date: Thu, 19 Mar 2009 07:51:21 -0600 (MDT)
Author: brownlee
Date: Thu Mar 19 07:51:19 2009
New Revision: 2390
Modified:
trunk/Model/Materials/Volume.cc
trunk/scenes/csafe/python/Histogram.py
trunk/scenes/csafe/python/SceneInfo.py
trunk/scenes/csafe/python/csafe_scene.py
Log:
updating measurements frame with histogram, adding reset button, fixing
rainbow colormap
Modified: trunk/Model/Materials/Volume.cc
==============================================================================
--- trunk/Model/Materials/Volume.cc (original)
+++ trunk/Model/Materials/Volume.cc Thu Mar 19 07:51:19 2009
@@ -48,18 +48,19 @@
case Rainbow:
{
float p = 1.0f/11.0f;
- _slices.push_back(ColorSlice(p*11, RGBAColor(Color(RGB(0, 0, 1)),
1)));
- _slices.push_back(ColorSlice(p*10, RGBAColor(Color(RGB(0,
0.40000001, 1)), 1)));
- _slices.push_back(ColorSlice(p*9, RGBAColor(Color(RGB(0, 0.80000001,
1)), 1)));
- _slices.push_back(ColorSlice(p*8, RGBAColor(Color(RGB(0, 1,
0.80000001)), 1)));
- _slices.push_back(ColorSlice(p*7, RGBAColor(Color(RGB(0, 1,
0.40000001)), 1)));
- _slices.push_back(ColorSlice(p*6, RGBAColor(Color(RGB(0, 1, 0)),
1)));
- _slices.push_back(ColorSlice(p*5, RGBAColor(Color(RGB(0.40000001, 1,
0)), 1)));
- _slices.push_back(ColorSlice(p*4, RGBAColor(Color(RGB(0.80000001, 1,
0)), 1)));
- _slices.push_back(ColorSlice(p*3, RGBAColor(Color(RGB(1, 0.91764706,
0)), 1)));
- _slices.push_back(ColorSlice(p*2, RGBAColor(Color(RGB(1, 0.80000001,
0)), 1)));
- _slices.push_back(ColorSlice(p*1, RGBAColor(Color(RGB(1, 0.40000001,
0)), 1)));
_slices.push_back(ColorSlice(p*0, RGBAColor(Color(RGB(1, 0, 0)),
1)));
+ _slices.push_back(ColorSlice(p*1, RGBAColor(Color(RGB(1, 0.40000001,
0)), 1)));
+ _slices.push_back(ColorSlice(p*2, RGBAColor(Color(RGB(1, 0.80000001,
0)), 1)));
+ _slices.push_back(ColorSlice(p*3, RGBAColor(Color(RGB(1, 0.91764706,
0)), 1)));
+ _slices.push_back(ColorSlice(p*4, RGBAColor(Color(RGB(0.80000001, 1,
0)), 1)));
+ _slices.push_back(ColorSlice(p*5, RGBAColor(Color(RGB(0.40000001, 1,
0)), 1)));
+ _slices.push_back(ColorSlice(p*6, RGBAColor(Color(RGB(0, 1, 0)),
1)));
+
+ _slices.push_back(ColorSlice(p*7, RGBAColor(Color(RGB(0, 1,
0.40000001)), 1)));
+ _slices.push_back(ColorSlice(p*8, RGBAColor(Color(RGB(0, 1,
0.80000001)), 1)));
+ _slices.push_back(ColorSlice(p*9, RGBAColor(Color(RGB(0, 0.80000001,
1)), 1)));
+ _slices.push_back(ColorSlice(p*10, RGBAColor(Color(RGB(0,
0.40000001, 1)), 1)));
+ _slices.push_back(ColorSlice(p*11, RGBAColor(Color(RGB(0, 0, 1)),
1)));
break;
}
case InvBlackBody:
Modified: trunk/scenes/csafe/python/Histogram.py
==============================================================================
--- trunk/scenes/csafe/python/Histogram.py (original)
+++ trunk/scenes/csafe/python/Histogram.py Thu Mar 19 07:51:19 2009
@@ -97,21 +97,30 @@
delta = evt.GetWheelDelta()
rot = evt.GetWheelRotation()/delta
# zoom in if rot > 0, out if ro < 0
+ dWidth = self.zoomDMax - self.zoomDMin
+ zoomAmount = 0.75 # the smaller the more zooming
if (rot > 0):
- zoomAmount = 0.75 # the smaller the more zooming
self.zooms.append( (self.zoomDMin, self.zoomDMax))
- dWidth = self.zoomDMax - self.zoomDMin
self.zoomDMax = (pos + zoomAmount*(1.0 - pos))*dWidth +
self.zoomDMin
self.zoomDMin = (pos - zoomAmount*pos)*dWidth + self.zoomDMin
- tempMin = self.cropDMin
- tempMax = self.cropDMax
- self.Update()
- self.cropDMin = tempMin
- self.cropDMax = tempMax
- self.UpdateCropToD()
+
if (rot < 0):
- self.ZoomOut()
+ self.zoomDMax += (pos + zoomAmount*(1.0 - pos))*dWidth
+ self.zoomDMin -= (pos - zoomAmount*pos)*dWidth
+
+ if (self.zoomDMin < self.absoluteDMin):
+ self.zoomDMin = self.absoluteDMin
+ if (self.zoomDMax > self.absoluteDMax):
+ self.zoomDMax = self.absoluteDMax
+
+ tempMin = self.cropDMin
+ tempMax = self.cropDMax
+ self.Update()
+ self.cropDMin = tempMin
+ self.cropDMax = tempMax
+ self.UpdateCropToD()
+ self.UpdateMeasurementsFrame()
def ZoomIn(self):
self.zooms.append( (self.zoomDMin, self.zoomDMax))
@@ -157,6 +166,7 @@
self.draggingRight = False
self.cropMin = pos
self.UpdateDisplayedValues()
+ self.UpdateMeasurementsFrame()
def OnLeftUp(self, evt):
pos = float(evt.GetPosition().x -
self.paddingW/2.0)/float(self.width)
@@ -169,6 +179,7 @@
self.UpdateCropDMin()
self.UpdateCropDMax()
self.Refresh()
+ self.UpdateMeasurementsFrame()
self.dragging = False
self.selecting = False
@@ -217,6 +228,8 @@
self.UpdateCropDMax()
self.Refresh()
update_clip = True
+ if (update_clip):
+ self.UpdateMeasurementsFrame()
if (update_clip and self.parent.group != 1): # if not the volumedata
index = self.varIndex;
min = float(self.cropDMin - 0.00001)
@@ -273,6 +286,10 @@
else:
self.cropMin = (self.cropDMin - self.dMin)/dWidth
self.cropMax = (self.cropDMax - self.dMin)/dWidth
+
+ def UpdateMeasurementsFrame(self):
+ if self.scene.measurementsFrame != None and
self.scene.measurementsFrame.parent.histogram == self:
+ self.scene.measurementsFrame.SendValues(self.zoomDMin,
self.zoomDMax, self.cropDMin, self.cropDMax, self.colorDMin, self.colorDMax)
def Update(self):
@@ -713,13 +730,16 @@
self.SetAutoLayout(True)
def OnClickMeasurements(self, evt):
- measurementsWindow = MeasurementsFrame( self, -1, self.title + "
Measurements",
+ if (self.scene.measurementsFrame == None):
+ self.scene.measurementsFrame = 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)
- moveToMouse( measurementsWindow )
- measurementsWindow.Show(True)
- measurementsWindow.Raise()
+ moveToMouse( self.scene.measurementsFrame )
+ self.scene.measurementsFrame.Show(True)
+ self.scene.measurementsFrame.Raise()
+ self.scene.measurementsFrame.SetParent(self)
+ self.histogram.UpdateMeasurementsFrame()
def SendValues(self, zoomMin, zoomMax, cropMin, cropMax, colorMin,
colorMax): # sent from MeasurementsFrame
if (self.histogram.parent.group == 1):
@@ -868,14 +888,17 @@
spin = self.cropMaxFS = self.addSpinner(panel,cropMax);
self.Bind(FS.EVT_FLOATSPIN, self.OnCropMaxFS, self.cropMaxFS )
- if (group == 0): # Particles
- self.colorText = wx.StaticText(panel, -1, "Crop color values: ",
(20, 10))
- spin = self.colorMinFS =self. addSpinner(panel,colorMin);
- self.Bind(FS.EVT_FLOATSPIN, self.OnColorMinFS, self.colorMinFS )
- spin = self.colorMaxFS = self.addSpinner(panel,colorMax);
- self.Bind(FS.EVT_FLOATSPIN, self.OnColorMaxFS, self.colorMaxFS )
+ #if (group == 0): # Particles
+ self.colorText = wx.StaticText(panel, -1, "Crop color values: ",
(20, 10))
+ spin = self.colorMinFS =self. addSpinner(panel,colorMin);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnColorMinFS, self.colorMinFS )
+ spin = self.colorMaxFS = self.addSpinner(panel,colorMax);
+ self.Bind(FS.EVT_FLOATSPIN, self.OnColorMaxFS, self.colorMaxFS )
self.button = wx.Button(panel, -1, "OK")
self.cancelB = wx.Button(panel, -1, "Cancel")
+ self.resetB = wx.Button(panel, -1, "Reset")
+ self.Bind(wx.EVT_BUTTON, self.OnReset, self.resetB)
+
gbs.Add(self.zoomText, (1,0))
gbs.Add(self.zoomMinFS, (1,1))
@@ -884,10 +907,14 @@
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))
+ if (group == 1):
+ self.colorText.Show(False)
+ self.colorMinFS.Show(False)
+ self.colorMaxFS.Show(False)
+ gbs.Add(self.colorText, (3,0))
+ gbs.Add(self.colorMinFS, (3,1))
+ gbs.Add(self.colorMaxFS, (3,2))
+ gbs.Add(self.resetB, (4,2))
vs2 = wx.BoxSizer( wx.HORIZONTAL )
@@ -993,8 +1020,6 @@
def ApplyValues(self):
zoomMin = self.zoomMinFS.GetValue()
zoomMax = self.zoomMaxFS.GetValue()
- cropMin = 0
- cropMax = 0
cropMin = self.cropMinFS.GetValue()
cropMax = self.cropMaxFS.GetValue()
if (self.group == 0):
@@ -1004,11 +1029,50 @@
colorMin = cropMin
colorMax = cropMax
self.parent.SendValues(float(zoomMin), float(zoomMax),
float(cropMin), float(cropMax), float(colorMin), float(colorMax))
+
+ #who to send values to. Should have SendValues function
+ def SetParent(self,parent):
+ self.parent = parent
+ self.group = parent.group
+ self.SetTitle(parent.title)
+ if (self.group == 0):
+ self.colorMinFS.Show(True)
+ self.colorMaxFS.Show(True)
+ else:
+ self.colorMinFS.Show(False)
+ self.colorMaxFS.Show(False)
+
+
+ def SendValues(self, zoomMin, zoomMax, cropMin, cropMax, colorMin,
colorMax):
+ self.zoomMinFS.SetValue(zoomMin)
+ self.zoomMaxFS.SetValue(zoomMax)
+ self.cropMinFS.SetValue(cropMin)
+ self.cropMaxFS.SetValue(cropMax)
+ if (self.group == 0):
+ self.colorMinFS.SetValue(colorMin)
+ self.colorMaxFS.SetValue(colorMax)
+ self.ApplyValues()
+
+ def OnReset(self, evt):
+ zoomMin = self.parent.histogram.absoluteDMin
+ zoomMax = self.parent.histogram.absoluteDMax
+ cropMin = zoomMin
+ cropMax = zoomMax
+ colorMin = zoomMin
+ colorMax = zoomMax
+ self.zoomMinFS.SetValue(zoomMin)
+ self.zoomMaxFS.SetValue(zoomMax)
+ self.cropMinFS.SetValue(cropMin)
+ self.cropMaxFS.SetValue(cropMax)
+ if (self.group == 0):
+ self.colorMinFS.SetValue(colorMin)
+ self.colorMaxFS.SetValue(colorMax)
+ self.ApplyValues()
def OnOK(self, event):
self.ApplyValues()
self.Show( False )
def OnCloseWindow(self, event):
- self.Destroy()
+ self.Show(False)
Modified: trunk/scenes/csafe/python/SceneInfo.py
==============================================================================
--- trunk/scenes/csafe/python/SceneInfo.py (original)
+++ trunk/scenes/csafe/python/SceneInfo.py Thu Mar 19 07:51:19 2009
@@ -44,3 +44,4 @@
self.currentHistogram = None
self.autoBuildHistograms = True
self.readConfiguration = False
+ self.measurementsFrame = None
Modified: trunk/scenes/csafe/python/csafe_scene.py
==============================================================================
--- trunk/scenes/csafe/python/csafe_scene.py (original)
+++ trunk/scenes/csafe/python/csafe_scene.py Thu Mar 19 07:51:19 2009
@@ -368,7 +368,7 @@
if index == self.histoGroups[i].varIndex and
self.histoGroups[i].group == 0:
found = True
if found == False:
- hist =
Histogram.HistogramGroup(self.panel,self.scene,index,name,3)
+ hist =
Histogram.HistogramGroup(self.panel,self.scene,index,name,5)
self.histoGroups.append(hist)
@@ -557,7 +557,7 @@
self.transferFunctions.append(self.t0)
self.transferFunctions.append(TransferF.TransferF(self, [],
id+1, "InvRainbowIso", manta_new(RGBAColorMap(0))))
self.transferFunctions.append(TransferF.TransferF(self, [],
id+2, "InvRainbow", manta_new(RGBAColorMap(1))))
- self.transferFunctions.append(TransferF.TransferF(self, [],
id+3, "Rainbow", manta_new(RGBAColorMap(2))))
+ self.transferFunctions.append(TransferF.TransferF(self, [],
id+3, "Rainbow", manta_new(RGBAColorMap(1))))
self.transferFunctions.append(TransferF.TransferF(self, [],
id+4, "InvGrayscale", manta_new(RGBAColorMap(3))))
self.transferFunctions.append(TransferF.TransferF(self, [],
id+5, "InvBlackBody", manta_new(RGBAColorMap(4))))
self.transferFunctions.append(TransferF.TransferF(self, [],
id+6, "BlackBody", manta_new(RGBAColorMap(5))))
- [Manta] r2390 - in trunk: Model/Materials scenes/csafe/python, brownlee, 03/19/2009
Archive powered by MHonArc 2.6.16.