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

Composite predicate that forms a logical OR (disjunction) from its child predicates. More...

#include <mitkNodePredicateOr.h>

Inheritance diagram for mitk::NodePredicateOr:
Collaboration diagram for mitk::NodePredicateOr:

Public Member Functions

 mitkClassMacro (NodePredicateOr, NodePredicateCompositeBase)
 
 mitkNewMacro2Param (NodePredicateOr, const NodePredicateBase *, const NodePredicateBase *)
 
 mitkNewMacro3Param (NodePredicateOr, const NodePredicateBase *, const NodePredicateBase *, const NodePredicateBase *)
 
 ~NodePredicateOr () override
 Destructor. More...
 
bool CheckNode (const DataNode *node) const override
 Check whether the node satisfies any child predicate (logical OR). More...
 
- Public Member Functions inherited from mitk::NodePredicateCompositeBase
 mitkClassMacro (NodePredicateCompositeBase, NodePredicateBase)
 
 ~NodePredicateCompositeBase () override=0
 Pure virtual destructor (with implementation) making this class abstract. More...
 
virtual void AddPredicate (const NodePredicateBase *p)
 Add a child predicate to this composite. More...
 
virtual void RemovePredicate (const NodePredicateBase *p)
 Remove a child predicate from this composite. More...
 
virtual ChildPredicates GetPredicates () const
 Return all child predicates (immutable copy). More...
 
- Public Member Functions inherited from mitk::NodePredicateBase
 mitkClassMacroItkParent (NodePredicateBase, itk::Object)
 
 ~NodePredicateBase () override
 Virtual destructor. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 NodePredicateOr ()
 Constructor. More...
 
 NodePredicateOr (const NodePredicateBase *p1, const NodePredicateBase *p2)
 Convenience constructor that adds p1 and p2 to list of child predicates. More...
 
 NodePredicateOr (const NodePredicateBase *p1, const NodePredicateBase *p2, const NodePredicateBase *p3)
 Convenience constructor that adds p1, p2 and p3 to list of child predicates. More...
 

Additional Inherited Members

- Public Types inherited from mitk::NodePredicateCompositeBase
typedef std::list< NodePredicateBase::ConstPointer > ChildPredicates
 List type for storing child predicate smart pointers. More...
 
- Protected Attributes inherited from mitk::NodePredicateCompositeBase
ChildPredicates m_ChildPredicates
 List of child predicates managed by this composite. More...
 

Detailed Description

Composite predicate that forms a logical OR (disjunction) from its child predicates.

A node passes the check if at least one child predicate returns true. Evaluation short-circuits on the first true result.

NodePredicateDataType::New("Image"),
NodePredicateDataType::New("Surface"));
auto imagesOrSurfaces = dataStorage->GetSubset(pred);
static Pointer New()
See also
NodePredicateAnd, NodePredicateNot, NodePredicateCompositeBase

Definition at line 36 of file mitkNodePredicateOr.h.

Constructor & Destructor Documentation

◆ ~NodePredicateOr()

mitk::NodePredicateOr::~NodePredicateOr ( )
override

Destructor.

◆ NodePredicateOr() [1/3]

mitk::NodePredicateOr::NodePredicateOr ( )
protected

Constructor.

◆ NodePredicateOr() [2/3]

mitk::NodePredicateOr::NodePredicateOr ( const NodePredicateBase *  p1,
const NodePredicateBase *  p2 
)
protected

Convenience constructor that adds p1 and p2 to list of child predicates.

◆ NodePredicateOr() [3/3]

mitk::NodePredicateOr::NodePredicateOr ( const NodePredicateBase *  p1,
const NodePredicateBase *  p2,
const NodePredicateBase *  p3 
)
protected

Convenience constructor that adds p1, p2 and p3 to list of child predicates.

Member Function Documentation

◆ CheckNode()

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

Check whether the node satisfies any child predicate (logical OR).

Parameters
[in]nodeThe DataNode to evaluate. Must not be nullptr.
Returns
true if at least one child predicate returns true for the node.
Exceptions
std::invalid_argumentif no child predicates have been added or node is nullptr.

Implements mitk::NodePredicateBase.

◆ mitkClassMacro()

mitk::NodePredicateOr::mitkClassMacro ( NodePredicateOr  ,
NodePredicateCompositeBase   
)

◆ mitkNewMacro2Param()

mitk::NodePredicateOr::mitkNewMacro2Param ( NodePredicateOr  ,
const NodePredicateBase *  ,
const NodePredicateBase *   
)

◆ mitkNewMacro3Param()

mitk::NodePredicateOr::mitkNewMacro3Param ( NodePredicateOr  ,
const NodePredicateBase *  ,
const NodePredicateBase *  ,
const NodePredicateBase *   
)

◆ New()

static Pointer mitk::NodePredicateOr::New ( )
static

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