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