[Paraview] Python state trace w/glyphs not working

pat marion pat.marion at kitware.com
Mon Apr 19 16:57:34 EDT 2010


Pushed the fixes to git.

Here is python macro I've been using to test the trace state.  I add this to
the macro toolbar so I can run it with one click.  It does a trace state,
clears all the sources & views, then executes the trace to restore your
state.  This means you can click the button at any time and you *should* get
back what you started with.  Of course, there are some pipelines that do not
restore correctly (just recently noticed the 2D Render View is not available
in python...)  Any errors that may be produced will be displayed in the
python console, but probably not echoed to stdout.

# reload_state.py
from paraview import smstate

def clear_proxies():
   groups = ["sources", "representations", "views",
                   "implicit_functions", "piecewise_functions",
                   "lookup_tables", "scalar_bars", "selection_sources"]
   for g in groups:
       for p in servermanager.ProxyManager().GetProxiesInGroup(g).values():
           Delete(p)

def reload_state():
    smstate.run()
    trace_string = smstate.smtrace.get_trace_string()
    clear_proxies()
    code = compile(trace_string, "paraview_trace", "exec")
    exec(code)

reload_state()


Pat

On Fri, Apr 16, 2010 at 12:50 PM, pat marion <pat.marion at kitware.com> wrote:

> This fix will be committed after the git transition.  I also fixed another
> bug about adding scalar bars to the correct view when a state has multiple
> views.  Also added a new test.
>
> Pat
>
>
> On Thu, Apr 15, 2010 at 7:33 PM, Eric E. Monson <emonson at cs.duke.edu>wrote:
>
>> Thanks a lot for looking into it and finding a fix so quickly, Pat!
>>
>> I need to set up some offline animations for some of my users and it's so
>> much easier now that all the python trace stuff is in place -- trace it, add
>> an AnimateReader at the end and then all I have to worry about is data file
>> names. (Well, in practice I do a little clean-up of the trace, but it's so
>> much easier than having to do it from scratch in python -- get to set up the
>> vis in PV and then generate similar animations in batch for other simulation
>> runs. Nice.)
>>
>> Talk to you later,
>> -Eric
>>
>>
>> On Apr 15, 2010, at 6:26 PM, pat marion wrote:
>>
>> Hi Eric,
>>
>> Yeah, this never worked (well it worked for a while due to a bug, but
>> stopped working when I fixed the bug....)  It affects filters that have
>> Input properties with ProxyListDomain.  Stream tracer, probe location are
>> other examples I can find.  Turns out it was an easy fix, I'll push the
>> change tomorrow:
>>
>> diff --git a/Utilities/VTKPythonWrapping/paraview/smstate.py
>> b/Utilities/VTKPythonWrapping/paraview/smstate.py
>> index d40f3ad..7409c5a 100644
>> --- a/Utilities/VTKPythonWrapping/paraview/smstate.py
>> +++ b/Utilities/VTKPythonWrapping/paraview/smstate.py
>> @@ -39,6 +39,10 @@ def get_all_inputs_registered(proxy):
>>      itr = servermanager.PropertyIterator(proxy.SMProxy)
>>      for prop in itr:
>>          if prop.IsA("vtkSMInputProperty"):
>> +            # Don't worry about input properties with ProxyListDomains,
>> +            # these input proxies do not need to be constructed by
>> python.
>> +            if prop.GetDomain("proxy_list") is not None:
>> +                return True
>>              for i in xrange(prop.GetNumberOfProxies()):
>>                  input_proxy = prop.GetProxy(i)
>>                  info = smtrace.get_proxy_info(input_proxy,
>> search_existing=False)
>>
>>
>>
>> Pat
>>
>> On Thu, Apr 15, 2010 at 3:17 PM, Eric E. Monson <emonson at cs.duke.edu>wrote:
>>
>>> Hey all,
>>>
>>> I haven't been using the python trace or state trace much lately, but I
>>> just noticed a problem that shows up both on the Ubuntu 64-bit 3.8 RC1
>>> binary and CVS PV 3.9 on OS X, so it might be pretty general. If I do:
>>>
>>> PointSource: 100 pts, rad 10
>>> Glyph: Sphere (the rest default)
>>>
>>> and do a Trace State, the beginning of the trace looks like this:
>>>
>>> WARNING: Missing dependencies, could not register proxies:
>>> [<paraview.servermanager.Glyph object at 0x12910d490>]
>>> WARNING: Missing dependencies, could not register proxies:
>>> [<paraview.servermanager.GeometryRepresentation object at 0x12913ead0>]
>>> try: paraview.simple
>>> except: from paraview.simple import *
>>> Glyph1 = GetActiveSource()
>>> DataRepresentation2 = GetDisplayProperties(Glyph1)
>>> RenderView1 = CreateRenderView()
>>> RenderView1.LightSpecularColor = [1.0, 1.0, 1.0]
>>> [...]
>>>
>>> So I can't do a state trace that includes a glyph filter. Sorry I haven't
>>> investigated more to see how widespread a problem it is, or if it's only
>>> with Glyph.
>>>
>>> Thanks,
>>> -Eric
>>>
>>> ------------------------------------------------------
>>> Eric E Monson
>>> Duke Visualization Technology Group
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100419/44113330/attachment.htm>


More information about the ParaView mailing list