| 3753 | } |
| 3754 | |
| 3755 | void |
| 3756 | ViewerCurrentFrameRequestSchedulerPrivate::processProducedFrame(const RenderStatsPtr& stats, |
| 3757 | const BufferableObjectList& frames) |
| 3758 | { |
| 3759 | assert( QThread::currentThread() == qApp->thread() ); |
| 3760 | |
| 3761 | if ( !frames.empty() ) { |
| 3762 | viewer->aboutToUpdateTextures(); |
| 3763 | } |
| 3764 | |
| 3765 | //bool hasDoneSomething = false; |
| 3766 | for (BufferableObjectList::const_iterator it2 = frames.begin(); it2 != frames.end(); ++it2) { |
| 3767 | assert(*it2); |
| 3768 | boost::shared_ptr<UpdateViewerParams> params = boost::dynamic_pointer_cast<UpdateViewerParams>(*it2); |
| 3769 | assert(params); |
| 3770 | if ( params && (params->tiles.size() >= 1) ) { |
| 3771 | if (stats) { |
| 3772 | double timeSpent; |
| 3773 | std::map<NodePtr, NodeRenderStats > ret = stats->getStats(&timeSpent); |
| 3774 | viewer->reportStats(0, ViewIdx(0), timeSpent, ret); |
| 3775 | } |
| 3776 | |
| 3777 | viewer->updateViewer(params); |
| 3778 | } |
| 3779 | } |
| 3780 | |
| 3781 | |
| 3782 | ///At least redraw the viewer, we might be here when the user removed a node upstream of the viewer. |
| 3783 | viewer->redrawViewer(); |
| 3784 | } |
| 3785 | |
| 3786 | void |
| 3787 | ViewerCurrentFrameRequestScheduler::onAbortRequested(bool keepOldestRender) |
no test coverage detected