Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkNavigationDataSource.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 
18 #ifndef MITKNAVIGATIONDATASOURCE_H_HEADER_INCLUDED_
19 #define MITKNAVIGATIONDATASOURCE_H_HEADER_INCLUDED_
20 
21 #include <itkProcessObject.h>
22 #include "mitkNavigationData.h"
23 #include "mitkPropertyList.h"
24 #include "MitkIGTExports.h"
25 
26 // Microservices
27 #include <mitkServiceInterface.h>
28 #include <usServiceRegistration.h>
29 
30 namespace mitk {
31 
42  class MITKIGT_EXPORT NavigationDataSource : public itk::ProcessObject
43  {
44  public:
45  mitkClassMacroItkParent(NavigationDataSource, itk::ProcessObject);
46 
50  itkGetMacro(Name,std::string);
51 
55  itkSetMacro(Name,std::string);
56 
60  NavigationData* GetOutput(void);
61 
65  NavigationData* GetOutput(DataObjectPointerArraySizeType idx);
66 
70  NavigationData* GetOutput(const std::string& navDataName);
71 
77  DataObjectPointerArraySizeType GetOutputIndex(std::string navDataName);
78 
83  virtual void RegisterAsMicroservice();
84 
88  virtual void UnRegisterMicroservice();
89 
94  std::string GetMicroserviceID();
95 
99  static const std::string US_INTERFACE_NAME;
100  static const std::string US_PROPKEY_DEVICENAME;
101  static const std::string US_PROPKEY_ID;
102  static const std::string US_PROPKEY_ISACTIVE; //NOT IMPLEMENTED YET!
103 
109  virtual void GraftNthOutput(unsigned int idx, itk::DataObject *graft);
110 
116  virtual void GraftOutput(itk::DataObject *graft);
117 
124  virtual itk::DataObject::Pointer MakeOutput ( DataObjectPointerArraySizeType idx ) override;
125 
132  virtual itk::DataObject::Pointer MakeOutput(const DataObjectIdentifierType &name) override;
133 
142  virtual void SetParameters(const mitk::PropertyList*){};
143 
157  virtual mitk::PropertyList::ConstPointer GetParameters() const;
158 
162  virtual void Freeze();
163 
165  virtual void UnFreeze();
166 
168  itkGetMacro(IsFrozen,bool);
169 
170 
171  protected:
173  virtual ~NavigationDataSource();
174 
175  std::string m_Name;
176 
178 
179 
180  private:
181  us::ServiceRegistration<Self> m_ServiceRegistration;
182  };
183 } // namespace mitk
184 // This is the microservice declaration. Do not meddle!
185 MITK_DECLARE_SERVICE_INTERFACE(mitk::NavigationDataSource, "org.mitk.services.NavigationDataSource")
186 #endif /* MITKNAVIGATIONDATASOURCE_H_HEADER_INCLUDED_ */
itk::SmartPointer< Self > Pointer
Navigation Data.
DataCollection - Class to facilitate loading/accessing structured data.
Key-value list holding instances of BaseProperty.
static const std::string US_PROPKEY_ID
static const std::string US_INTERFACE_NAME
These Constants are used in conjunction with Microservices.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
static const std::string US_PROPKEY_ISACTIVE
virtual void SetParameters(const mitk::PropertyList *)
Set all filter parameters as the PropertyList p.
static const std::string US_PROPKEY_DEVICENAME
MITK_DECLARE_SERVICE_INTERFACE(mitk::ISimulationService,"org.mitk.ISimulationService")