00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-05-12 19:56:03 +0200 (Di, 12. Mai 2009) $ 00006 Version: $Revision: 17179 $ 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_PlanarFigure_WRITER__H_ 00020 #define _MITK_PlanarFigure_WRITER__H_ 00021 00022 #include <itkProcessObject.h> 00023 #include "PlanarFigureExports.h" 00024 #include <mitkFileWriter.h> 00025 #include <mitkPlanarFigure.h> 00026 00027 class TiXmlElement; 00028 namespace mitk 00029 { 00030 00037 class PlanarFigure_EXPORT PlanarFigureWriter : public mitk::FileWriter 00038 { 00039 public: 00040 00041 mitkClassMacro( PlanarFigureWriter, mitk::FileWriter ); 00042 00043 mitkWriterMacro; 00044 00045 itkNewMacro( Self ); 00046 00047 typedef mitk::PlanarFigure InputType; 00048 00049 typedef InputType::Pointer InputTypePointer; 00050 00055 itkSetStringMacro( FileName ); 00056 00060 itkGetStringMacro( FileName ); 00061 00065 itkSetStringMacro( FilePrefix ); 00066 00070 itkGetStringMacro( FilePrefix ); 00071 00075 itkSetStringMacro( FilePattern ); 00076 00080 itkGetStringMacro( FilePattern ); 00081 00086 void SetInput( InputType* input ); 00087 00094 void SetInput( const unsigned int& num, InputType* input); 00095 00099 PlanarFigure* GetInput(); 00100 00105 PlanarFigure* GetInput( const unsigned int& num ); 00106 00107 00111 virtual std::vector<std::string> GetPossibleFileExtensions(); 00112 00116 virtual std::string GetFileExtension(); 00117 00121 virtual bool CanWriteDataType( DataNode* ); 00122 00126 virtual std::string GetWritenMIMEType(); 00127 00131 virtual void SetInput( DataNode* ); 00132 00136 itkGetConstMacro(Success, bool); 00137 00138 protected: 00139 00143 PlanarFigureWriter(); 00144 00148 virtual ~PlanarFigureWriter(); 00149 00150 00154 virtual void GenerateData(); 00155 00156 00162 virtual void ResizeInputs( const unsigned int& num ); 00163 00171 TiXmlElement* CreateXMLVectorElement(const char* name, itk::FixedArray<mitk::ScalarType, 3> v); 00172 00173 std::string m_FileName; 00174 std::string m_FilePrefix; 00175 std::string m_FilePattern; 00176 std::string m_Extension; 00177 std::string m_MimeType; 00178 bool m_Success; 00179 }; 00180 } 00181 00182 #endif