Paraview crashes while executing the loop. I tried it on two computers multiple times.
---------------------------------------- > Subject: Re: [Paraview] help with a simple script? > From: sebastien.jourd...@kitware.com > Date: Wed, 21 Nov 2012 08:33:40 -0500 > To: fuw...@hotmail.com > > The loop that i made should get rid of all the tab. None should remain. > > On Nov 20, 2012, at 23:08, Celia Bremer <fuw...@hotmail.com> wrote: > >> >> Seb, >> >> Sorry about that. It works meaning the first tab gets closed, but then when >> I try to load the next state, it crashes - but only if I load the next state >> from the shell. If I load the next state from the GUI, everything's fine. >> >> servermanager.LoadState("empty.pvsm") >> OldestLayout=GetLayouts().keys()[1] >> servermanager.ProxyManager().UnRegisterProxy("layouts", OldestLayout[0], >> GetLayouts()[OldestLayout]) >> del OldestLayout >> >> At this point, everything looks great: there's only one tab and it has >> nothing in it except the purple background. But then when I do >> servermanager.LoadState("empty.pvsm"), a new tab opens, but this time, it's >> the *new* tab that splits into two like in the screenshot I sent last week. >> Then the empty (black) OpenGL window comes up, and Windows says >> "paraview.exe stopped working". (If, however, I load empty.pvsm from the >> GUI, everything's dandy. Also, if I don't get rid of the first layout >> window, I can load another state file.) >> >> Is there some alternative method? I tried this: >> >>>>> servermanager.ProxyManager().UnRegisterProxies() >>>>> servermanager.misc.ViewLayout(registrationGroup="layouts") >> <paraview.servermanager.ViewLayout object at 0x00000000134016A0> >> >> But then when I load the state (even from the GUI), it crashes. Is it >> because I didn't create a view (3D, etc), and if so, how would I do that? Or >> maybe there's other stuff that needs to get re-created? >> >> Celia >> >> ________________________________ >>> Date: Tue, 20 Nov 2012 19:05:00 -0500 >>> Subject: Re: [Paraview] help with a simple script? >>> From: sebastien.jourd...@kitware.com >>> To: fuw...@hotmail.com >>> >>> Well "for layout in GetLayouts():" is not the same as GetLayouts()[..] >>> >>> >>> On Tue, Nov 20, 2012 at 5:11 PM, Celia Bremer >>> <fuw...@hotmail.com<mailto:fuw...@hotmail.com>> wrote: >>> >>> 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.jourd...@kitware.com<mailto:sebastien.jourd...@kitware.com> >>>> To: fuw...@hotmail.com<mailto:fuw...@hotmail.com> >>>> CC: dave.dema...@kitware.com<mailto:dave.dema...@kitware.com>; >>> paraview@paraview.org<mailto:paraview@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 >>> <fuw...@hotmail.com<mailto:fuw...@hotmail.com><mailto:fuw...@hotmail.com<mailto:fuw...@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.jourd...@kitware.com<mailto:sebastien.jourd...@kitware.com><mailto:sebastien.jourd...@kitware.com<mailto:sebastien.jourd...@kitware.com>> >>>>> To: >>> fuw...@hotmail.com<mailto:fuw...@hotmail.com><mailto:fuw...@hotmail.com<mailto:fuw...@hotmail.com>> >>>>> CC: >>> dave.dema...@kitware.com<mailto:dave.dema...@kitware.com><mailto:dave.dema...@kitware.com<mailto:dave.dema...@kitware.com>>; >>> paraview@paraview.org<mailto:paraview@paraview.org><mailto:paraview@paraview.org<mailto:paraview@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.jourd...@kitware.com<mailto:sebastien.jourd...@kitware.com><mailto:sebastien.jourd...@kitware.com<mailto:sebastien.jourd...@kitware.com>> >>>>>> To: >>> fuw...@hotmail.com<mailto:fuw...@hotmail.com><mailto:fuw...@hotmail.com<mailto:fuw...@hotmail.com>> >>>>>> CC: >>> dave.dema...@kitware.com<mailto:dave.dema...@kitware.com><mailto:dave.dema...@kitware.com<mailto:dave.dema...@kitware.com>>; >>> paraview@paraview.org<mailto:paraview@paraview.org><mailto:paraview@paraview.org<mailto:paraview@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.dema...@kitware.com<mailto:dave.dema...@kitware.com><mailto:dave.dema...@kitware.com<mailto:dave.dema...@kitware.com>> >>>>>>> Date: Fri, 16 Nov 2012 10:52:45 -0500 >>>>>>> Subject: Re: [Paraview] help with a simple script? >>>>>>> To: >>> fuw...@hotmail.com<mailto:fuw...@hotmail.com><mailto:fuw...@hotmail.com<mailto:fuw...@hotmail.com>> >>>>>>> CC: >>> sebastien.jourd...@kitware.com<mailto:sebastien.jourd...@kitware.com><mailto:sebastien.jourd...@kitware.com<mailto:sebastien.jourd...@kitware.com>>; >>> paraview@paraview.org<mailto:paraview@paraview.org><mailto:paraview@paraview.org<mailto:paraview@paraview.org>> >>>>>>> >>>>>>>> from paraview import servermanager >>>>>>>> from paraview.simple import * >>>>>>>> servermanager.LoadState("test.pvsm") >>>>>>> >>>>>>> SetActiveView(GetRenderView()) #you are missing this >>>>>>> >>>>>>>> view = GetActiveView() >>>>>>>> view.ViewTime >>> _______________________________________________ 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