13 #ifndef mitkPropertyRelationRuleBase_h
14 #define mitkPropertyRelationRuleBase_h
An object of this class represents an exception of MITK. Please don't instantiate exceptions manually...
Base class of identifiable objects.
Class that can be used to specify nested or wild carded property keys. E.g. for the use in context of...
RelationUIDType GetRelationUID(const IPropertyProvider *source, const IPropertyProvider *destination) const
NodePredicateBase::ConstPointer GetDestinationCandidateIndicator() const
virtual void Disconnect_datalayer(IPropertyOwner *source, const RelationUIDType &relationUID) const =0
bool IsSource(const IPropertyProvider *owner) const
std::vector< RelationType > RelationVectorType
RuleIDType GetRuleIDByInstanceID(const IPropertyProvider *source, const InstanceIDType &instanceID) const
static PropertyKeyPath GetRIIPropertyKeyPath(const std::string propName, const InstanceIDType &instanceID)
std::string GetRIIPropertyRegEx(const std::string propName="", const InstanceIDType &instanceID="") const
Identifiable::UIDType RelationUIDType
std::vector< RelationUIDType > RelationUIDVectorType
virtual std::string GetSourceRoleName() const =0
PropertyRelationRuleBase()=default
std::vector< std::pair< RelationUIDType, RuleIDType > > DataRelationUIDVectorType
std::string GetDestinationUIDByInstanceID(const IPropertyProvider *source, const InstanceIDType &instanceID) const
NodePredicateBase::ConstPointer GetConnectedSourcesDetector() const
static PropertyKeyPath GetRootKeyPath()
bool HasRelation(const IPropertyProvider *source, const IPropertyProvider *destination, RelationType requiredRelation=RelationType::None) const
RelationUIDType Connect(IPropertyOwner *source, const IPropertyProvider *destination) const
std::vector< PropertyKeyPath > GetRelationPropertyPaths(const IPropertyProvider *source, RelationUIDType relationUID, RelationType layer=RelationType::Data) const
RelationUIDVectorType GetExistingRelations(const IPropertyProvider *source, RelationType layer=RelationType::None) const
const Identifiable * CastProviderAsIdentifiable(const mitk::IPropertyProvider *provider) const
static PropertyKeyPath GetRIIRuleIDPropertyKeyPath(const InstanceIDType &instanceID="")
NodePredicateBase::ConstPointer GetDestinationDetector(const IPropertyProvider *source, RelationUIDType relationUID) const
mitkClassMacroItkParent(PropertyRelationRuleBase, itk::Object)
virtual RuleIDType GetRuleID() const =0
std::vector< InstanceIDType > InstanceIDVectorType
virtual std::string GetDisplayName() const =0
NodePredicateBase::ConstPointer GetSourcesDetector(const IPropertyProvider *destination, RelationType exclusiveRelation=RelationType::None) const
static InstanceIDType GetInstanceIDByPropertyName(const std::string propName)
static PropertyKeyPath GetRIIRelationUIDPropertyKeyPath(const InstanceIDType &instanceID="")
void Disconnect(IPropertyOwner *source, RelationUIDType relationUID, RelationType layer=RelationType::Complete) const
virtual bool IsSourceCandidate(const IPropertyProvider *owner) const
RelationUIDType GetRelationUIDByInstanceID(const IPropertyProvider *source, const InstanceIDType &instanceID) const
InstanceIDVectorType GetInstanceID_IDLayer(const IPropertyProvider *source, const IPropertyProvider *destination) const
InstanceIDType GetInstanceIDByRelationUID(const IPropertyProvider *source, const RelationUIDType &relationUID) const
NodePredicateBase::ConstPointer GetDestinationsDetector(const IPropertyProvider *source, RelationType exclusiveRelation=RelationType::None) const
RelationUIDVectorType GetRelationUIDs(const IPropertyProvider *source, const IPropertyProvider *destination) const
virtual bool IsDestinationCandidate(const IPropertyProvider *owner) const
virtual void Connect_datalayer(IPropertyOwner *source, const IPropertyProvider *destination, const InstanceIDType &instanceID) const =0
static std::vector< std::string > GetPropertyKeys(const IPropertyProvider *owner)
itk::LightObject::Pointer InternalClone() const override
itkCreateAnotherMacro(Self)
std::string InstanceIDType
~PropertyRelationRuleBase() override=default
virtual bool IsSupportedRuleID(const RuleIDType &ruleID) const
RelationVectorType GetRelationTypes(const IPropertyProvider *source, const IPropertyProvider *destination) const
static InstanceIDType NULL_INSTANCE_ID()
virtual bool IsAbstract() const
NodePredicateBase::ConstPointer GetSourceCandidateIndicator() const
void Disconnect(IPropertyOwner *source, const IPropertyProvider *destination, RelationType layer=RelationType::Complete) const
virtual std::string GetDestinationRoleName() const =0
virtual DataRelationUIDVectorType GetRelationUIDs_DataLayer(const IPropertyProvider *source, const IPropertyProvider *destination, const InstanceIDVectorType &instances_IDLayer) const =0
static PropertyKeyPath GetRIIDestinationUIDPropertyKeyPath(const InstanceIDType &instanceID="")
#define mitkExceptionClassMacro(ClassName, SuperClassName)
Find image slices visible on a given plane.