13 #ifndef mitkPropertyRelations_h
14 #define mitkPropertyRelations_h
59 using RuleMap = std::map<const std::string, PropertyRelationRuleBase::ConstPointer>;
Interface implemented by classes that provide access to property information.
Interface of property relations service.
std::vector< RuleIDType > RuleIDVectorType
PropertyRelationRuleBase::RuleIDType RuleIDType
std::list< PropertyRelationRuleBase::ConstPointer > RuleResultVectorType
Base class for defining and detecting property-based relations between data objects.
Concrete implementation of the IPropertyRelations service interface.
RuleIDVectorType GetRuleIDs() const override
Get all IDs of registered rules.
~PropertyRelations() override
RuleResultVectorType GetRulesForDestinationCandidate(const IPropertyProvider *destCandidate) const override
Get all relation rules that would accept the passed IPropertOwner as destination.
RuleResultVectorType GetRulesForSource(const IPropertyProvider *source) const override
Get all relation rules the passed source is really a source of. (PropertyRelationRuleBase::IsSource()...
void RemoveRule(const RuleIDType &ruleID) override
Remove relation rule instance with the passed ID. If rule does not exist nothing happens.
bool AddRule(const PropertyRelationRuleBase *rule, bool overwrite=false) override
Add rule for a specific relation. If there is already a property rule instance it won't be added....
PropertyRelationRuleBase::ConstPointer GetRule(const RuleIDType &ruleID) const override
Get the relation rule that has the specified ruleID.
bool HasRuleForSource(const IPropertyProvider *source) const override
Check if a passed instance has defined relation covered by the registered rules.
void RemoveAllRules() override
Remove all relation rules.
RuleResultVectorType GetRulesForSourceCandidate(const IPropertyProvider *sourceCandidate) const override
Get all relation rules that would accept the passed IPropertOwner as source.
Find image slices visible on a given plane.
MITKCORE_EXPORT IPropertyRelations * CreateTestInstancePropertyRelations()
Create an unmanaged instance of PropertyRelations for testing purposes.