Medical Imaging Interaction Toolkit  2023.12.99-3b10b122
Medical Imaging Interaction Toolkit
mitkIPropertyRelations.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 (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkIPropertyRelations_h
14 #define mitkIPropertyRelations_h
15 
17 #include <mitkServiceInterface.h>
18 
19 namespace mitk
20 {
29  {
30  public:
31  virtual ~IPropertyRelations();
32 
33  using RuleResultVectorType = std::list<PropertyRelationRuleBase::ConstPointer>;
35  using RuleIDVectorType = std::vector<RuleIDType>;
36 
47  virtual bool AddRule(const PropertyRelationRuleBase *rule, bool overwrite = false) = 0;
48 
53  virtual RuleResultVectorType GetRulesForSource(const IPropertyProvider* source) const = 0;
54 
59  virtual RuleResultVectorType GetRulesForSourceCandidate(const IPropertyProvider* sourceCandidate) const = 0;
60 
65  virtual RuleResultVectorType GetRulesForDestinationCandidate(const IPropertyProvider* destCandidate) const = 0;
66 
71  virtual PropertyRelationRuleBase::ConstPointer GetRule(const RuleIDType &ruleID) const = 0;
72 
74  virtual RuleIDVectorType GetRuleIDs() const = 0;
75 
81  virtual bool HasRuleForSource(const IPropertyProvider* source) const = 0;
82 
85  virtual void RemoveAllRules() = 0;
86 
89  virtual void RemoveRule(const RuleIDType &ruleID) = 0;
90  };
91 }
92 
93 MITK_DECLARE_SERVICE_INTERFACE(mitk::IPropertyRelations, "org.mitk.IPropertyRelations")
94 
95 #endif
mitkServiceInterface.h
mitk::PropertyRelationRuleBase::RuleIDType
std::string RuleIDType
Definition: mitkPropertyRelationRuleBase.h:81
mitk::PropertyRelationRuleBase
Definition: mitkPropertyRelationRuleBase.h:74
mitk::IPropertyRelations::RuleResultVectorType
std::list< PropertyRelationRuleBase::ConstPointer > RuleResultVectorType
Definition: mitkIPropertyRelations.h:33
itk::SmartPointer< const Self >
mitk::IPropertyRelations::RuleIDVectorType
std::vector< RuleIDType > RuleIDVectorType
Definition: mitkIPropertyRelations.h:35
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::IPropertyRelations::RuleIDType
PropertyRelationRuleBase::RuleIDType RuleIDType
Definition: mitkIPropertyRelations.h:34
mitk::IPropertyRelations
Interface of property relations service.
Definition: mitkIPropertyRelations.h:28
mitkPropertyRelationRuleBase.h
mitk::IPropertyProvider
Definition: mitkIPropertyProvider.h:24
MITK_DECLARE_SERVICE_INTERFACE
#define MITK_DECLARE_SERVICE_INTERFACE(IFace, IId)
Definition: mitkServiceInterface.h:26
MITKCORE_EXPORT
#define MITKCORE_EXPORT
Definition: MitkCoreExports.h:15