[Paraview] help with a simple script?
Celia Bremer
fuwsle at hotmail.com
Tue Nov 20 17:11:21 EST 2012
Seb,
I didn't even notice that. I tried it again, and this time, there's an object, but the end result is the same.
>>> paraview version 3.14.1, Date: 2012-02-17
from paraview.simple import *
>>> servermanager.LoadState("empty.pvsm")
>>> GetLayouts()
{('ViewLayout1', '2178'): <paraview.servermanager.ViewLayout object at 0x00000000103938D0>, ('ViewLayout1', '275'): <paraview.servermanager.ViewLayout object at 0x0000000010EE2668>}
>>> layouts=GetLayouts()
>>> print layouts
{('ViewLayout1', '2178'): <paraview.servermanager.ViewLayout object at 0x00000000103938D0>, ('ViewLayout1', '275'): <paraview.servermanager.ViewLayout object at 0x0000000010EE2668>}
>>> layout=layouts[0]
Traceback (most recent call last):
File "<console>", line 1, in <module>
KeyError: 0
And the same problem when I do it with a script with the for loop, "TypeError: 'ViewLayout' object does not support indexing".
Whether this is or isn't a real issue, I suppose you're talking about the extra layout tab that opens when I load a state? Does this mean that you can't replicate it? I tried it on another machine (it = making an empty state file on that machine and then loading it from the shell) and I got exactly the same behavior, the same extra tab and all.
Celia
________________________________
> Date: Tue, 20 Nov 2012 14:47:19 -0500
> Subject: Re: [Paraview] help with a simple script?
> From: sebastien.jourdain at kitware.com
> To: fuwsle at hotmail.com
> CC: dave.demarle at kitware.com; paraview at paraview.org
>
> Hi Celia,
>
> The weird thing is that you don't have any object in your layout.
>
> {('ViewLayout1', '2178'):>>>HERE<<< , ('ViewLayout1', '275'):>>>HERE<<< }
>
> This create the issue that you are seeing. Although, what you/we try to
> solve might not be the real issue.
> So I don't really know what is going on when you load your state on
> your machine.
>
> Seb
>
>
> On Tue, Nov 20, 2012 at 1:25 PM, Celia Bremer
> <fuwsle at hotmail.com<mailto:fuwsle at hotmail.com>> wrote:
>
>
> Seb,
> Thank you. I'm still having problems. Here's what happens.
> If I tack this code on to the end of my script (I didn't make it a
> function, so just the last 3 lines with the proper indentation),
> Paraview crashes once it gets to the code. An OpenGL window pops up and
> nothing's there (it's black), and then Windows says "paraview.exe
> stopped working".
> In the shell - well, I don't actually get to that point in the shell
> because I can't get to the first (or second, etc) layout in the array
> from GetLayouts() this way.
>>>> paraview version 3.14.1, Date: 2012-02-17
> from paraview.simple import *
>>>> servermanager.LoadState("empty.pvsm")
>>>> layouts=GetLayouts()
>>>> print layouts
> {('ViewLayout1', '2178'): , ('ViewLayout1', '275'): }
>>>> layout=layouts[0]
> Traceback (most recent call last):
> File "", line 1, in
> KeyError: 0
> So I thought maybe it should be GetLayouts.Values() since that can be
> indexed (I tried it in the shell). I changed the script to read "for
> layout in GetLayouts().values():". PV didn't crash but I got
> "TypeError: 'ViewLayout' object does not support indexing". This has to
> do with the arguments to UnRegisterProxy() - but I don't know what to
> do next because I don't know how to read the documentation at this
> point. (And I don't know what to google, so if anyone has
> suggestions...?) E.g. it says the syntax is UnRegisterProxy(self,
> groupname, proxyname, aProxy), but there are only 3 arguments here -
> pxm.UnRegisterProxy("layouts", layout[0], GetLayouts()[layout]). I also
> tried Delete(layout) but I got unregistration error.
> Celia
> ________________________________
>> Date: Mon, 19 Nov 2012 13:37:28 -0500
>> Subject: Re: [Paraview] help with a simple script?
>> From: sebastien.jourdain at kitware.com<mailto:sebastien.jourdain at kitware.com>
>> To: fuwsle at hotmail.com<mailto:fuwsle at hotmail.com>
>> CC: dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>;
> paraview at paraview.org<mailto:paraview at paraview.org>
>>
>> Hi Celia,
>>
>> I think you found a bug, but I think I have something for you.
>> The following method should clear the view/layouts.
>>
>> Seb
>>
>> $ def clearLayout():
>> ... pxm = servermanager.ProxyManager()
>>
>> ... for layout in GetLayouts():
>>
>> ... pxm.UnRegisterProxy("layouts", layout[0], GetLayouts()[layout])
>>
>>
>>
>> On Fri, Nov 16, 2012 at 2:28 PM, Celia Bremer
>> wrote:
>>
>> Seb,
>>
>> When I say that the OpenGL window freezes, I mean the window is
>> unresponsive in that I can't minimize it, and Windows task manager says
>> "Not Responding". There's nothing in the window except for the purple
>> background, even when there should be something, e.g. if I did Show(o)
>> before calling Render(), where o is one of the pipeline objects.
>>
>> The thing I called layout windows, and I suppose it's really called
>> something else (view layouts?), happens when I run the script from the
>> Python shell that comes with the GUI. I'm referring to the tabs,
>> "Layout #1", "Layout #2", etc. Here:
>>
>>>>> paraview version 3.14.1, Date: 2012-02-17
>> from paraview.simple import *
>>>>> GetLayouts()
>> {('ViewLayout1', '275'): 0x0000000010FB4748>}
>>>>> servermanager.LoadState("testpipeline.pvsm")
>>>>> GetLayouts()
>> {('ViewLayout1', '275'): 0x0000000010FB4748>, ('ViewLayout5', '2353'):
>> }
>>>>> servermanager.LoadState("testpipeline.pvsm")
>>>>> GetLayouts()
>> {('ViewLayout1', '275'): 0x0000000010FB4748>, ('ViewLayout5', '3972'):
>> ,
>> ('ViewLayout5', '2353'): 0x0000000010FB47B8>}
>>
>> This happens even if I use an empty state file, i.e. what I get when I
>> open Paraview GUI, save state, save as empty.pvsm. If I load this state
>> from the GUI, it opens in the original layout window, ViewLayout1,
>> without any craziness. If I open it from the shell as above, the first
>> tab splits into 2 views, the right view looks all weird (attached), a
>> new tab opens and the state file is loaded into a second tab. If I load
>> the state file again, then the second tab splits like the first (and if
>> there was any content, it stays on the left hand side), a third tab
>> opens, and the content shows up in the third tab. And so on. The names
>> of these new tabs depend on the state file (above: 1 5 5, it might be 3
>> 1 3 3, or if I use an empty state file, then it's 1 1 1 1), so I don't
>> know what's the deal with that, but as long as I can close them before
>> moving on to the next state file, I don't think it'll cause problems.
>>
>> Celia
>>
>> ________________________________
>>> Date: Fri, 16 Nov 2012 13:40:36 -0500
>>> Subject: Re: [Paraview] help with a simple script?
>>> From:
> sebastien.jourdain at kitware.com<mailto:sebastien.jourdain at kitware.com>
>>> To: fuwsle at hotmail.com<mailto:fuwsle at hotmail.com>
>>> CC: dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>;
>> paraview at paraview.org<mailto:paraview at paraview.org>
>>>
>>> Hi Celia,
>>>
>>> I'm not sure to follow what you mean by "it freezes" and "new layout
>> window".
>>>
>>> When you render something from Python, the window is not interactive,
>>> so maybe that's what you call freeze. And you need to manually call
>>> Render() to update its content.
>>> Regarding the layout window, I don't really have a clue what that
> could be.
>>>
>>> So I let you explain a bit more.
>>>
>>> Thanks,
>>>
>>> Seb
>>>
>>>
>>> On Fri, Nov 16, 2012 at 1:21 PM, Celia Bremer
>>>
>>>
>> wrote:
>>>
>>> Thank you. That worked but I still have problems: as soon as the OpenGL
>>> window opens to render, it freezes, even if all the objects are hidden.
>>> I think I'll have to do it from the Python shell from PV instead. I
>>> have just one more question.
>>>
>>> When I load a state using LoadState(), that automatically opens a new
>>> layout window. If I open the same state file from the GUI, no new
>>> window is opened, so I don't think it's a property stored in the state
>>> file. If I'm going to loop through 60 state files, I imagine all these
>>> windows would become a problem. How do I either close the window, or
>>> prevent it from opening in the first place?
>>>
>>> Celia
>>>
>>> ----------------------------------------
>>>> From:
>> dave.demarle at kitware.com<mailto:dave.demarle at kitware.com>
>>>> Date: Fri, 16 Nov 2012 10:52:45 -0500
>>>> Subject: Re: [Paraview] help with a simple script?
>>>> To:
>> fuwsle at hotmail.com<mailto:fuwsle at hotmail.com>
>>>> CC:
>>>
>> sebastien.jourdain at kitware.com<mailto:sebastien.jourdain at kitware.com>;
>>>
>> paraview at paraview.org<mailto:paraview at paraview.org>
>>>>
>>>>> from paraview import servermanager
>>>>> from paraview.simple import *
>>>>> servermanager.LoadState("test.pvsm")
>>>>
>>>> SetActiveView(GetRenderView()) #you are missing this
>>>>
>>>>> view = GetActiveView()
>>>>> view.ViewTime
>>>>>
>>>
>>
>
More information about the ParaView
mailing list