Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkPlanarFigureWriterFactory.cpp
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 
14 
15 #include "itkCreateObjectFunction.h"
16 #include "itkVersion.h"
17 
18 #include <mitkPlanarFigureWriter.h>
19 
20 namespace mitk
21 {
22  template <class T>
23  class CreatePlanarFigureWriter : public itk::CreateObjectFunctionBase
24  {
25  public:
27  typedef CreatePlanarFigureWriter Self;
28  typedef itk::SmartPointer<Self> Pointer;
29 
31  itkFactorylessNewMacro(Self) LightObject::Pointer CreateObject() override
32  {
33  typename T::Pointer p = T::New();
34  p->Register();
35  return p.GetPointer();
36  }
37 
38  protected:
39  CreatePlanarFigureWriter() {}
40  ~CreatePlanarFigureWriter() override {}
41  private:
42  CreatePlanarFigureWriter(const Self &); // purposely not implemented
43  void operator=(const Self &); // purposely not implemented
44  };
45 
47  {
48  this->RegisterOverride("IOWriter",
49  "PlanarFigureWriter",
50  "PlanarFigure xml Writer",
51  true,
52  mitk::CreatePlanarFigureWriter<mitk::PlanarFigureWriter>::New());
53  }
54 
56  itk::ObjectFactoryBase::Pointer PlanarFigureWriterFactory::GetInstance()
57  {
58  static itk::ObjectFactoryBase::Pointer factory(mitk::PlanarFigureWriterFactory::New().GetPointer());
59  return factory;
60  }
61 
63  {
64  if (GetInstance()->GetReferenceCount() == 1)
65  {
66  ObjectFactoryBase::RegisterFactory(GetInstance().GetPointer());
67  }
68  }
69 
71  {
72  ObjectFactoryBase::UnRegisterFactory(GetInstance().GetPointer());
73  }
74 
75  const char *PlanarFigureWriterFactory::GetITKSourceVersion() const { return ITK_SOURCE_VERSION; }
76  const char *PlanarFigureWriterFactory::GetDescription() const { return "PlanarFigureWriterFactory"; }
77 } // end namespace mitk
const char * GetITKSourceVersion(void) const override
DataCollection - Class to facilitate loading/accessing structured data.
const char * GetDescription(void) const override