We have been developing an interface which allows us to control our simulations 
on the fly and have used a Qtimer in a custom panel, to query when new data is 
available from the server. When data is ready we

when the timer is triggered and the server reports that data is ready, we do a 
number of bookkepping taks, and then update the pipeline/representation and 
other stuff using server manager objects like so...

    this->Reader->InvokeCommand("Modified");
    this->Reader->UpdatePropertyInformation();
    this->Reader->UpdateVTKObjects();
    this->Reader->UpdatePipeline();

and finally after more stuff ... trigger a render ...


    if (pqActiveObjects::instance().activeView())
    {
      pqActiveObjects::instance().activeView()->render();
    }

This has been working fine for some months, but recently, we've been getting 
strange errors which look like the paraview client is interacting with the 
server manager, at the same time as we are triggering updates. A classic 
threading type problem. [We have added another thread to pvserver which accepts 
data from the simulation via its own socket communicator, this appears stable 
as we can do much stuff without forcing updates in the pvclient gui and we get 
no errors, these threads reside only inside pvserver ]

Within a Qt+ParaView framework, can anyone tell me if it is "safe" to Update 
pipelines from the server manager within a timer triggered slot. Is there an 
existing example of anything similar which updates server manager objects from 
a timer - also forcing renders. I know that rendering should be triggered from 
the gui thread only - should this be removed from the Qtimer slot.

Any feedback welcome.

Thanks

JB

--
John Biddiscombe,                            email:biddisco @ cscs.ch
http://www.cscs.ch/
CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
Via Cantonale, 6928 Manno, Switzerland      | Fax:  +41 (91) 610.82.82

_______________________________________________
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

Reply via email to