00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 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 00019 #ifndef _MITK_BASE_DATA_SOURCE_H 00020 #define _MITK_BASE_DATA_SOURCE_H 00021 00022 #include "mitkBaseProcess.h" 00023 #include "mitkBaseData.h" 00024 00025 namespace mitk 00026 { 00027 00039 class MITK_CORE_EXPORT BaseDataSource : public BaseProcess 00040 { 00041 public: 00042 mitkClassMacro( BaseDataSource, BaseProcess ); 00043 00044 typedef mitk::BaseData OutputType; 00045 00046 typedef OutputType::Pointer OutputTypePointer; 00047 00058 virtual itk::DataObject::Pointer MakeOutput ( unsigned int idx ) = 0; 00059 00064 virtual void SetOutput( OutputType* output ); 00065 00071 virtual void SetOutput( unsigned int idx, OutputType* output ); 00072 00077 virtual OutputType* GetOutput(); 00078 00084 virtual OutputType* GetOutput ( unsigned int idx ); 00085 00086 protected: 00087 00088 BaseDataSource(); 00089 00090 virtual ~BaseDataSource(); 00091 00092 }; 00093 00094 } 00095 #endif // #define _MITK_BASE_DATA_SOURCE_H