NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkIGIDataType.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef niftkIGIDataType_h
16 #define niftkIGIDataType_h
17 
18 #include "niftkIGIDataSourcesExports.h"
20 #include <mitkCommon.h>
21 #include <itkVersion.h>
22 #include <itkObject.h>
23 #include <itkObjectFactoryBase.h>
24 
25 namespace niftk
26 {
27 
35 class NIFTKIGIDATASOURCES_EXPORT IGIDataType : public itk::Object
36 {
37 public:
38 
40  typedef unsigned long int IGIIndexType;
41 
42  mitkClassMacroItkParent(IGIDataType, itk::Object)
43  itkNewMacro(IGIDataType)
44 
45  IGITimeType GetTimeStampInNanoSeconds() const;
46  void SetTimeStampInNanoSeconds(const IGITimeType& time);
47 
48  itkSetMacro(Duration, IGITimeType);
49  itkGetMacro(Duration, IGITimeType);
50 
51  itkSetMacro(FrameId, IGIIndexType);
52  itkGetMacro(FrameId, IGIIndexType);
53 
54  itkSetMacro(IsSaved, bool);
55  itkGetMacro(IsSaved, bool);
56 
57  itkSetMacro(ShouldBeSaved, bool);
58  itkGetMacro(ShouldBeSaved, bool);
59 
60  itkSetMacro(FileName, std::string);
61  itkGetMacro(FileName, std::string);
62 
66  virtual void* GetData() const { return NULL; }
67 
68 protected:
69 
70  IGIDataType(); // Purposefully hidden.
71  virtual ~IGIDataType(); // Purposefully hidden.
72 
73  IGIDataType(const IGIDataType&); // Purposefully not implemented.
74  IGIDataType& operator=(const IGIDataType&); // Purposefully not implemented.
75 
76 private:
77 
78  IGITimeType m_TimeStamp;
79  IGITimeType m_Duration;
80  IGIIndexType m_FrameId;
81  bool m_IsSaved;
82  bool m_ShouldBeSaved;
83  std::string m_FileName;
84 };
85 
86 } // end namespace
87 
88 #endif
Definition: niftkMeshSmoother.cxx:19
unsigned long int IGIIndexType
Definition: niftkIGIDataType.h:40
SystemTimeServiceI::TimeType IGITimeType
Definition: niftkIGIDataType.h:39
Abstract base class for IGI Data, such as objects containing tracking data, video frames or ultrasoun...
Definition: niftkIGIDataType.h:35
unsigned long long TimeType
Definition: niftkSystemTimeServiceI.h:38
Definition: niftkExceptionObject.h:21
GLsizei const GLcharARB ** string
Definition: glew.h:5194