Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkPlanarFigureWriter.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef _MITK_PlanarFigure_WRITER__H_
14 #define _MITK_PlanarFigure_WRITER__H_
15 
17 #include <itkProcessObject.h>
19 #include <mitkPlanarFigure.h>
20 
21 class TiXmlElement;
22 namespace mitk
23 {
31  {
32  public:
34 
36 
37  itkFactorylessNewMacro(Self);
38 
39  itkCloneMacro(Self);
40 
42 
44 
49  itkSetStringMacro(FileName);
50 
54  itkGetStringMacro(FileName);
55 
59  itkSetStringMacro(FilePrefix);
60 
64  itkGetStringMacro(FilePrefix);
65 
69  itkSetStringMacro(FilePattern);
70 
74  itkGetStringMacro(FilePattern);
75 
76  using Superclass::SetInput;
77 
82  void SetInput(InputType *input);
83 
90  void SetInput(const unsigned int &num, InputType *input);
91 
95  PlanarFigure *GetInput();
96 
101  PlanarFigure *GetInput(const unsigned int &num);
102 
106  std::vector<std::string> GetPossibleFileExtensions() override;
107 
111  std::string GetFileExtension() override;
112 
116  bool CanWriteDataType(DataNode *) override;
117 
121  std::string GetWritenMIMEType() override;
122 
126  virtual void SetInput(DataNode *);
127 
128  std::string GetSupportedBaseData() const override;
129 
133  itkGetConstMacro(Success, bool);
134 
135  const char *GetDefaultFilename() override { return "PlanarFigure.pf"; }
136  const char *GetFileDialogPattern() override { return "Planar Figure Files (*.pf)"; }
137  const char *GetDefaultExtension() override { return ".pf"; }
139  {
140  return dynamic_cast<mitk::PlanarFigure *>(data.GetPointer());
141  }
142  void DoWrite(BaseData::Pointer data) override
143  {
144  if (CanWriteBaseDataType(data))
145  {
146  this->SetInput(dynamic_cast<mitk::PlanarFigure *>(data.GetPointer()));
147  this->Update();
148  }
149  }
150 
155  void ReleaseMemory() override;
156 
157  protected:
162 
166  ~PlanarFigureWriter() override;
167 
171  void GenerateData() override;
172 
178  virtual void ResizeInputs(const unsigned int &num);
179 
187  TiXmlElement *CreateXMLVectorElement(const char *name, itk::FixedArray<mitk::ScalarType, 3> v);
188 
189  std::string m_FileName;
190  std::string m_FilePrefix;
191  std::string m_FilePattern;
192  std::string m_Extension;
193  std::string m_MimeType;
194  bool m_Success;
195  };
196 }
197 
198 #endif
const char * GetFileDialogPattern() override
XML-based writer for mitk::PlanarFigures.
const char * GetDefaultExtension() override
static void Update(vtkPolyData *)
Definition: mitkSurface.cpp:31
DataCollection - Class to facilitate loading/accessing structured data.
Interface for FileWriters with extra information. Should be merged into FileWriter.
bool CanWriteBaseDataType(BaseData::Pointer data) override
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:40
Interface class of writers that write data to files.
InputType::Pointer InputTypePointer
void DoWrite(BaseData::Pointer data) override
#define MITKPLANARFIGURE_EXPORT
Base-class for geometric planar (2D) figures, such as lines, circles, rectangles, polygons...
const char * GetDefaultFilename() override
Class for nodes of the DataTree.
Definition: mitkDataNode.h:57