CustusX  2021.04.21-dev+develop.337f9
An IGT application
cxAccusurfFilterService.h
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 #ifndef CXACCUSURFFILTER_H
12 #define CXACCUSURFFILTER_H
13 
14 #include "org_custusx_filter_accusurf_Export.h"
15 
16 #include "cxPatientModelService.h"
17 #include "cxFilterImpl.h"
18 
19 class ctkPluginContext;
20 
21 namespace cx
22 {
23 
33 typedef boost::shared_ptr<class Accusurf> AccusurfPtr;
34 
35 class org_custusx_filter_accusurf_EXPORT AccusurfFilter : public FilterImpl
36 {
37  Q_OBJECT
38  Q_INTERFACES(cx::Filter)
39 
40 public:
42  virtual ~AccusurfFilter() {}
43 
44  virtual QString getType() const;
45  virtual QString getName() const;
46  virtual QString getHelp() const;
47 
48  virtual bool execute();
49  virtual bool postProcess();
50 
51  // extensions:
52  DoublePropertyPtr getAccusurfThicknessUp(QDomElement root);
53  DoublePropertyPtr getAccusurfThicknessDown(QDomElement root);
54 
55 
56 protected:
57  virtual void createOptions();
58  virtual void createInputTypes();
59  virtual void createOutputTypes();
60 
61 private slots:
62 
63 private:
64  AccusurfPtr mAccusurf;
65  vtkPolyDataPtr mOutput;
66  vtkImageDataPtr mAccusurfImage;
67 };
68 typedef boost::shared_ptr<class AccusurfFilter> AccusurfFilterPtr;
69 
70 
71 } // namespace cx
72 
73 
74 
75 #endif // CXACCUSURFFILTER_H
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
boost::shared_ptr< class AccusurfFilter > AccusurfFilterPtr
boost::shared_ptr< class Accusurf > AccusurfPtr
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
vtkSmartPointer< class vtkImageData > vtkImageDataPtr
Namespace for all CustusX production code.