Just for confirmation. I updated, recompiled and it works like a charm! Thanks again,
Marco On Thu, Jul 16, 2009 at 8:31 PM, M. Nawijn<[email protected]> wrote: > Thanks a lot! I will recompile and try it. > > Marco > > On Thu, Jul 16, 2009 at 6:07 PM, pat marion<[email protected]> wrote: >> I committed a fix to cvs. The problem was that >> ScalarBarWidgetRepresentation proxy does not have an Input property, >> so a runtime error was thrown when servermanager.GetRepresentation() >> tried to read the property value. I added a try/except. >> >> By the way, scalar bars can be created now through the paraview.simple >> module if you have the latest paraview: >> >>>>> help(CreateScalarBar) >> Help on function CreateScalarBar in module paraview.simple: >> >> CreateScalarBar(**params) >> Create and return a scalar bar widget. The returned widget may >> be added to a render view by appending it to the view's representations >> The widget must have a valid lookup table before it is added to a view. >> It is possible to pass the lookup table (and other properties) as >> arguments >> to this method: >> >> lt = MakeBlueToRedLt(3.5, 7.5) >> bar = CreateScalarBar(LookupTable=lt, Title="Velocity") >> GetRenderView().Representations.append(bar) >> >> By default the returned widget is selectable and resizable. >> >> >> Committed patch: >> >> RCS file: >> /cvsroot/ParaView3/ParaView3/Utilities/VTKPythonWrapping/paraview/servermanager.py,v >> retrieving revision 1.60 >> diff -u -3 -r1.60 servermanager.py >> --- servermanager.py 30 Jun 2009 15:50:25 -0000 1.60 >> +++ servermanager.py 16 Jul 2009 15:56:00 -0000 >> @@ -1986,8 +1986,9 @@ >> >> def GetRepresentation(aProxy, view): >> for rep in view.Representations: >> - if rep.Input == aProxy: >> - return rep >> + try: isRep = rep.Input == aProxy >> + except: isRep = False >> + if isRep: return rep >> return None >> >> def CreateRepresentation(aProxy, view, **extraArgs): >> >> >> >> Pat >> >> On Thu, Jul 16, 2009 at 10:34 AM, Utkarsh Ayachit >> <[email protected]> wrote: >>> >>> Marco, >>> >>> Looks like Pat ran into this issue recently as well. He's investigating it. >>> >>> Utkarsh >>> >>> On Thu, Jul 16, 2009 at 5:12 AM, M. Nawijn<[email protected]> wrote: >>> > I just found out the offending line that gives me the problem. >>> > Given the following code: >>> > >>> > from paraview.simple import * >>> > >>> > lt = MakeBlueToRedLT(-1.0, 1.0) >>> > >>> > bar = servermanager.rendering.ScalarBarWidgetRepresentation() >>> > bar.LookupTable = lt >>> > bar.LabelColor = [0.0, 1.0, 0.0] >>> > bar.Title = r'W [mm]' >>> > bar.TitleColor = [0.0, 1.0, 0.0] >>> > bar.LabelFontSize = 14 >>> > bar.AspectRatio = 15.0 >>> > bar.AutomaticLabelFormat = 0 >>> > >>> > reader = XMLUnstructuredGridReader(FileName='disp-stage-%d.vtu' % 17) >>> > >>> > Show() >>> > Render() >>> > >>> > #UpdatePipeline() >>> > >>> > view = GetActiveView() >>> > view.Background = [0,0,0] >>> > ResetCamera(view) >>> > view.UseOffscreenRenderingForScreenshots = 0 >>> > >>> > dp = GetDisplayProperties() >>> > dp.ColorArrayName = 'W' >>> > >>> > rep = GetRepresentation() >>> > rep.LookupTable = lt >>> > >>> > view.Representations.append(bar) >>> > >>> > # Don't know how to get this into the view >>> > text = Text() >>> > text.Text = "Hello" >>> > >>> > Show() >>> > Render() >>> > >>> > WriteImage('test.png') >>> > >>> > The code fails to add the text if I have the following line enabled: >>> > >>> > view.Representations.append(bar) >>> > >>> > If I uncomment this line, the text is added to the view as expected. >>> > Does anybody have a clue why this is? >>> > >>> > I added the traceback below: >>> > >>> > vtkFileSeriesReader : [ ...........] >>> > vtkPVGeometryFilter : [ ...........] >>> > vtkPVCacheKeeper : [ ...........] >>> > vtkPainterPolyDataMapper : [ ...........] >>> > vtkPainterPolyDataMapper : [ ...........] >>> > vtkPainterPolyDataMapper : [ ...........] >>> > Traceback (most recent call last): >>> > File "test3.py", line 42, in <module> >>> > Show() >>> > File >>> > "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py", >>> > line 112, in Show >>> > rep = GetDisplayProperties(proxy, view) >>> > File >>> > "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py", >>> > line 101, in GetDisplayProperties >>> > return GetRepresentation(proxy, view) >>> > File >>> > "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py", >>> > line 90, in GetRepresentation >>> > rep = servermanager.GetRepresentation(proxy, view) >>> > File >>> > "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py", >>> > line 1989, in GetRepresentation >>> > if rep.Input == aProxy: >>> > File >>> > "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py", >>> > line 357, in __getattr__ >>> > return getattr(self.SMProxy, name) >>> > AttributeError: Input >>> > >>> > Kind regards, >>> > >>> > Marco >>> > >>> > >>> > >>> > On Wed, Jul 15, 2009 at 10:33 PM, M. Nawijn<[email protected]> wrote: >>> >> The script works. Somehow it seems like it does not work in >>> >> combination with my reader. >>> >> >>> >> Many thanks for your help. I have to go now, but I hope you have another >>> >> idea. >>> >> >>> >> Kind regards, >>> >> >>> >> Marco >>> >> >>> >> On Wed, Jul 15, 2009 at 10:27 PM, Utkarsh >>> >> Ayachit<[email protected]> wrote: >>> >>> Oops correction, I had a typo in the script: >>> >>> #======================= >>> >>> from paraview.simple import * >>> >>> Sphere() >>> >>> Show() >>> >>> Render() >>> >>> >>> >>> t = Text() >>> >>> t.Text = "Hello World" >>> >>> Show() >>> >>> Render() >>> >>> #======================= >>> >>> >>> >>> >>> >>> >>> >>> On Wed, Jul 15, 2009 at 4:25 PM, Utkarsh >>> >>> Ayachit<[email protected]> wrote: >>> >>>> Does the following script work: >>> >>>> #======================= >>> >>>> from paraview.simple import * >>> >>>> Sphere() >>> >>>> Show() >>> >>>> Render() >>> >>>> >>> >>>> t = Text() >>> >>>> t.Text = "Hello World" >>> >>>> t.Show() >>> >>>> Render() >>> >>>> #======================= >>> >>>> >>> >>>> Utkarsh >>> >>>> >>> >>>> >>> >>>> On Wed, Jul 15, 2009 at 4:23 PM, M. Nawijn<[email protected]> wrote: >>> >>>>> Hello Utkarsh, >>> >>>>> >>> >>>>> Thank you for the fast response. I tried this already before posting >>> >>>>> my question to the mailing list, however, when I inserted the Show(), >>> >>>>> I get the following error: >>> >>>>> >>> >>>>> vtkFileSeriesReader : [ ...........] >>> >>>>> vtkPainterPolyDataMapper : [ ...........] >>> >>>>> vtkPainterPolyDataMapper : [ ...........] >>> >>>>> Traceback (most recent call last): >>> >>>>> File "test3.py", line 39, in <module> >>> >>>>> Show() >>> >>>>> File >>> >>>>> "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py", >>> >>>>> line 112, in Show >>> >>>>> rep = GetDisplayProperties(proxy, view) >>> >>>>> File >>> >>>>> "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py", >>> >>>>> line 101, in GetDisplayProperties >>> >>>>> return GetRepresentation(proxy, view) >>> >>>>> File >>> >>>>> "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/simple.py", >>> >>>>> line 90, in GetRepresentation >>> >>>>> rep = servermanager.GetRepresentation(proxy, view) >>> >>>>> File >>> >>>>> "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py", >>> >>>>> line 1989, in GetRepresentation >>> >>>>> if rep.Input == aProxy: >>> >>>>> File >>> >>>>> "/home/nawijn/scratch/paraview-bin/Utilities/VTKPythonWrapping/paraview/servermanager.py", >>> >>>>> line 357, in __getattr__ >>> >>>>> return getattr(self.SMProxy, name) >>> >>>>> AttributeError: Input >>> >>>>> >>> >>>>> >>> >>>>> Any suggestions? >>> >>>>> >>> >>>>> On Wed, Jul 15, 2009 at 10:17 PM, Utkarsh >>> >>>>> Ayachit<[email protected]> wrote: >>> >>>>>> "Text" is a data source similar to the reader. You need to "Show" it >>> >>>>>> to add it to the active view. >>> >>>>>> >>> >>>>>> Just do: >>> >>>>>> load = 100.0 >>> >>>>>> # Don't know how to get this into the view >>> >>>>>> text = Text() >>> >>>>>> text.Text = "Load %6.3f" % load >>> >>>>>> Show() >>> >>>>>> >>> >>>>>> Utkarsh >>> >>>>>> >>> >>>>>> On Wed, Jul 15, 2009 at 4:01 PM, M. Nawijn<[email protected]> wrote: >>> >>>>>>> Hello, >>> >>>>>>> >>> >>>>>>> I am a newbie in Paraview Python scripting, so I apologize upfront >>> >>>>>>> if >>> >>>>>>> this is a trivial question. >>> >>>>>>> >>> >>>>>>> I am processing a set of datafiles obtained from an optical >>> >>>>>>> measurement system. I so far succeeded in loading the data file, >>> >>>>>>> adding a color legend and storing the resulting view in a image >>> >>>>>>> file. >>> >>>>>>> Sample code is posted below. >>> >>>>>>> >>> >>>>>>> What I would like to do next is add a text source to the view to >>> >>>>>>> provide some contextual information about the data (in particular >>> >>>>>>> the >>> >>>>>>> external load level at which the data was captured). I managed to >>> >>>>>>> add >>> >>>>>>> a text source to an "empty" view (so without first reading the >>> >>>>>>> data), >>> >>>>>>> but I cannot find a way to have the data and text source together. >>> >>>>>>> >>> >>>>>>> Can someone explain how I can add this to the view? >>> >>>>>>> >>> >>>>>>> Kind regards, >>> >>>>>>> >>> >>>>>>> Marco >>> >>>>>>> >>> >>>>>>> #==== What I have so far >>> >>>>>>> =================================================== >>> >>>>>>> >>> >>>>>>> from paraview.simple import * >>> >>>>>>> >>> >>>>>>> lt = MakeBlueToRedLT(-1.0, 1.0) >>> >>>>>>> >>> >>>>>>> bar = servermanager.rendering.ScalarBarWidgetRepresentation() >>> >>>>>>> bar.LookupTable = lt >>> >>>>>>> bar.LabelColor = [0.0, 1.0, 0.0] >>> >>>>>>> bar.Title = r'W [mm]' >>> >>>>>>> bar.TitleColor = [0.0, 1.0, 0.0] >>> >>>>>>> bar.LabelFontSize = 14 >>> >>>>>>> bar.AspectRatio = 15.0 >>> >>>>>>> bar.AutomaticLabelFormat = 0 >>> >>>>>>> >>> >>>>>>> reader = XMLUnstructuredGridReader(FileName='disp-stage-%d.vtu' % >>> >>>>>>> 17) >>> >>>>>>> >>> >>>>>>> Show() >>> >>>>>>> >>> >>>>>>> #UpdatePipeline() >>> >>>>>>> >>> >>>>>>> view = GetActiveView() >>> >>>>>>> view.Background = [0,0,0] >>> >>>>>>> ResetCamera(view) >>> >>>>>>> view.UseOffscreenRenderingForScreenshots = 0 >>> >>>>>>> >>> >>>>>>> dp = GetDisplayProperties() >>> >>>>>>> dp.ColorArrayName = 'W' >>> >>>>>>> >>> >>>>>>> rep = GetRepresentation() >>> >>>>>>> rep.LookupTable = lt >>> >>>>>>> >>> >>>>>>> view.Representations.append(bar) >>> >>>>>>> >>> >>>>>>> load = 100.0 >>> >>>>>>> # Don't know how to get this into the view >>> >>>>>>> text = Text() >>> >>>>>>> text.Text = "Load %6.3f" % load >>> >>>>>>> >>> >>>>>>> # Image does not show the text >>> >>>>>>> WriteImage('test.png') >>> >>>>>>> _______________________________________________ >>> >>>>>>> Powered by www.kitware.com >>> >>>>>>> >>> >>>>>>> Visit other Kitware open-source projects at >>> >>>>>>> http://www.kitware.com/opensource/opensource.html >>> >>>>>>> >>> >>>>>>> Please keep messages on-topic and check the ParaView Wiki at: >>> >>>>>>> http://paraview.org/Wiki/ParaView >>> >>>>>>> >>> >>>>>>> Follow this link to subscribe/unsubscribe: >>> >>>>>>> http://www.paraview.org/mailman/listinfo/paraview >>> >>>>>>> >>> >>>>>> >>> >>>>> >>> >>>> >>> >>> >>> >> >>> > >> > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
