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