#include "VolumePrepWorker.h" #include "VolumePrepService.h" #include VolumePrepWorker::VolumePrepWorker(QObject* parent) : QObject(parent) {} void VolumePrepWorker::run(vtkImageData* input) { m_abort.store(false); emit progress(0.0); if (m_abort.load()) { emit aborted(); return; } VolumePrepService svc; vtkImageData* out = svc.prepare(input); if (m_abort.load()) { if (out) out->Delete(); emit aborted(); return; } emit progress(100.0); emit finished(out); } void VolumePrepWorker::abort() { m_abort.store(true); }