NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxFilterTimedAlgorithm.cpp
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #include "cxFilterTimedAlgorithm.h"
13 #include "cxLogger.h"
14 #include "cxFilter.h"
15 
16 namespace cx
17 {
18 
20  ThreadedTimedAlgorithm<bool>(filter->getName(), 20)
21 {
22  mFilter = filter;
23  mUseDefaultMessages = false;
24 }
25 
27 {}
28 
30 {
31  return mFilter;
32 }
33 
35 {
36  mFilter->preProcess();
37 }
38 
40 {
41  bool success = this->getResult();
42 
43  mFilter->postProcess();
44 
45  if (success)
46  {
47  reportSuccess(QString("Done \"%1\": [%2s]")
48  .arg(mFilter->getName())
49  .arg(this->getSecondsPassedAsString()));
50  }
51  else
52  {
53  reportWarning(QString("Failed \"%1\": [%2s]")
54  .arg(mFilter->getName())
55  .arg(this->getSecondsPassedAsString()));
56  }
57 }
58 
59 bool FilterTimedAlgorithm::calculate()
60 {
61  return mFilter->execute();
62 }
63 
64 
65 } // namespace cx
cx::reportSuccess
void reportSuccess(QString msg)
Definition: cxLogger.cpp:72
cxLogger.h
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cx::FilterTimedAlgorithm::getFilter
FilterPtr getFilter()
Definition: cxFilterTimedAlgorithm.cpp:29
cx::ThreadedTimedAlgorithm< bool >::getResult
bool getResult()
Definition: cxThreadedTimedAlgorithm.h:74
cx::ThreadedTimedAlgorithm
Base class for algorithms that wants to thread and time their execution. T is the return type of the ...
Definition: cxThreadedTimedAlgorithm.h:37
cx::TimedBaseAlgorithm::mUseDefaultMessages
bool mUseDefaultMessages
Definition: cxTimedAlgorithm.h:76
cx::FilterTimedAlgorithm::postProcessingSlot
virtual void postProcessingSlot()
Definition: cxFilterTimedAlgorithm.cpp:39
cxFilter.h
cx::FilterTimedAlgorithm::~FilterTimedAlgorithm
virtual ~FilterTimedAlgorithm()
Definition: cxFilterTimedAlgorithm.cpp:26
cxFilterTimedAlgorithm.h
cx::FilterTimedAlgorithm::preProcessingSlot
virtual void preProcessingSlot()
Definition: cxFilterTimedAlgorithm.cpp:34
cx::FilterPtr
boost::shared_ptr< class Filter > FilterPtr
Definition: cxForwardDeclarations.h:155
cx::FilterTimedAlgorithm::FilterTimedAlgorithm
FilterTimedAlgorithm(FilterPtr filter)
Definition: cxFilterTimedAlgorithm.cpp:19
cx::reportWarning
void reportWarning(QString msg)
Definition: cxLogger.cpp:70