Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::NodePredicateProperty Class Reference

Predicate that evaluates whether a DataNode has a specific property. More...

#include <mitkNodePredicateProperty.h>

Inheritance diagram for mitk::NodePredicateProperty:
Collaboration diagram for mitk::NodePredicateProperty:

Public Member Functions

 mitkClassMacro (NodePredicateProperty, NodePredicateBase)
 
 mitkNewMacro1Param (NodePredicateProperty, const char *)
 
 mitkNewMacro2Param (NodePredicateProperty, const char *, mitk::BaseProperty *)
 
 mitkNewMacro3Param (NodePredicateProperty, const char *, mitk::BaseProperty *, const mitk::BaseRenderer *)
 
 ~NodePredicateProperty () override
 Destructor. More...
 
bool CheckNode (const mitk::DataNode *node) const override
 Check whether the node has the expected property. More...
 
- Public Member Functions inherited from mitk::NodePredicateBase
 mitkClassMacroItkParent (NodePredicateBase, itk::Object)
 
 ~NodePredicateBase () override
 Virtual destructor. More...
 

Protected Member Functions

 NodePredicateProperty (const char *propertyName, mitk::BaseProperty *p=nullptr, const mitk::BaseRenderer *renderer=nullptr)
 Constructor to check for a named property. More...
 

Protected Attributes

mitk::BaseProperty::Pointer m_ValidProperty
 
std::string m_ValidPropertyName
 
const mitk::BaseRenderer * m_Renderer
 

Detailed Description

Predicate that evaluates whether a DataNode has a specific property.

If only a property name is specified (second constructor parameter is nullptr), the predicate checks for the existence of any property with that name. If a property value is also provided, the predicate checks that the node's property matches the given value (using operator==).

If a renderer is specified, the renderer-specific property is checked. Otherwise, the renderer-independent property is checked.

See also
NodePredicateDataProperty, NodePredicateBase, DataNode::GetProperty

Definition at line 36 of file mitkNodePredicateProperty.h.

Constructor & Destructor Documentation

◆ ~NodePredicateProperty()

mitk::NodePredicateProperty::~NodePredicateProperty ( )
override

Destructor.

◆ NodePredicateProperty()

mitk::NodePredicateProperty::NodePredicateProperty ( const char *  propertyName,
mitk::BaseProperty *  p = nullptr,
const mitk::BaseRenderer *  renderer = nullptr 
)
protected

Constructor to check for a named property.

Member Function Documentation

◆ CheckNode()

bool mitk::NodePredicateProperty::CheckNode ( const mitk::DataNode *  node) const
overridevirtual

Check whether the node has the expected property.

If m_ValidProperty is nullptr, only the existence of a property with the configured name is checked. Otherwise, both name and value equality are verified.

Parameters
[in]nodeThe DataNode to evaluate. Must not be nullptr.
Returns
true if the property exists (and matches the expected value, if set).
Exceptions
std::invalid_argumentif node is nullptr or the property name is empty.

Implements mitk::NodePredicateBase.

◆ mitkClassMacro()

mitk::NodePredicateProperty::mitkClassMacro ( NodePredicateProperty  ,
NodePredicateBase   
)

◆ mitkNewMacro1Param()

mitk::NodePredicateProperty::mitkNewMacro1Param ( NodePredicateProperty  ,
const char *   
)

◆ mitkNewMacro2Param()

mitk::NodePredicateProperty::mitkNewMacro2Param ( NodePredicateProperty  ,
const char *  ,
mitk::BaseProperty *   
)

◆ mitkNewMacro3Param()

mitk::NodePredicateProperty::mitkNewMacro3Param ( NodePredicateProperty  ,
const char *  ,
mitk::BaseProperty *  ,
const mitk::BaseRenderer *   
)

Member Data Documentation

◆ m_Renderer

const mitk::BaseRenderer* mitk::NodePredicateProperty::m_Renderer
protected

Definition at line 71 of file mitkNodePredicateProperty.h.

◆ m_ValidProperty

mitk::BaseProperty::Pointer mitk::NodePredicateProperty::m_ValidProperty
protected

Definition at line 68 of file mitkNodePredicateProperty.h.

◆ m_ValidPropertyName

std::string mitk::NodePredicateProperty::m_ValidPropertyName
protected

Definition at line 70 of file mitkNodePredicateProperty.h.


The documentation for this class was generated from the following file: