00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2007-12-11 14:46:19 +0100 (Di, 11 Dez 2007) $ 00006 Version: $Revision: 13129 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #include "mitkNodePredicateFirstLevel.h" 00019 00020 mitk::NodePredicateFirstLevel::NodePredicateFirstLevel(mitk::DataStorage* ds) 00021 : NodePredicateBase(), m_DataStorage(ds) 00022 { 00023 } 00024 00025 mitk::NodePredicateFirstLevel::~NodePredicateFirstLevel() 00026 { 00027 } 00028 00029 00030 bool mitk::NodePredicateFirstLevel::CheckNode(const mitk::DataNode* node) const 00031 { 00032 if (node == NULL) 00033 throw std::invalid_argument("NodePredicateFirstLevel: invalid node"); 00034 00035 00036 if(m_DataStorage.IsNull()) 00037 throw std::invalid_argument("NodePredicateFirstLevel: DataStorage is invalid"); 00038 00039 mitk::DataStorage::SetOfObjects::ConstPointer list = m_DataStorage->GetSources(node, NULL, true); 00040 return (list->Size() == 0); 00041 }