/*========================================================================= medInria Copyright (c) INRIA 2013 - 2018. All rights reserved. See LICENSE.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =========================================================================*/ #include #include #include #include #include #include class medDWIMaskingProcessNodePrivate { public: dtkComposerTransmitterReceiver input; dtkComposerTransmitterEmitter output; }; medDWIMaskingProcessNode::medDWIMaskingProcessNode() : dtkComposerNodeObject(), d(new medDWIMaskingProcessNodePrivate()) { this->appendReceiver(&d->input); this->appendEmitter (&d->output); this->setFactory(medCore::dwiMasking::pluginFactory()); } medDWIMaskingProcessNode::~medDWIMaskingProcessNode() { } void medDWIMaskingProcessNode::run() { if (d->input.isEmpty()) { dtkDebug() << Q_FUNC_INFO << "The input is not set. Aborting."; return; } medAbstractDWIMaskingProcess *filter = this->object(); if (this->object()) { filter->setInput(d->input.data()); filter->run(); d->output.setData(filter->output()); } } QWidget* medDWIMaskingProcessNode::editor() { medAbstractProcess* process = this->object(); if (!process) { return nullptr; } medAbstractProcessPresenter* presenter = medWidgets::dwiMasking::presenterFactory().create(process); return presenter->buildToolBoxWidget(); }