NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkNiftyLinkDataType.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 niftkNiftyLinkDataType_h
16 #define niftkNiftyLinkDataType_h
17 
18 #include <niftkIGIDataType.h>
19 #include <MessageHandling/NiftyLinkMessageContainer.h>
20 
21 namespace niftk
22 {
23 
29 {
30 
31 public:
32 
34  itkNewMacro(NiftyLinkDataType)
35 
36  virtual void* GetData() const override { return m_Message.data(); }
37 
38  niftk::NiftyLinkMessageContainer::Pointer GetMessageContainer() const { return m_Message; }
39  void SetMessageContainer(niftk::NiftyLinkMessageContainer::Pointer message)
40  {
41  m_Message = message;
42  this->Modified();
43  }
44 
48  bool IsFastToSave();
49 
50 protected:
51 
52  NiftyLinkDataType(); // Purposefully hidden.
53  virtual ~NiftyLinkDataType(); // Purposefully hidden.
54 
55  NiftyLinkDataType(const NiftyLinkDataType&); // Purposefully not implemented.
56  NiftyLinkDataType& operator=(const NiftyLinkDataType&); // Purposefully not implemented.
57 
58 private:
59 
60  niftk::NiftyLinkMessageContainer::Pointer m_Message;
61 
62 }; // end class
63 
64 } // end namespace
65 
66 #endif
GLsizei GLenum GLuint GLuint GLsizei GLchar * message
Definition: glew.h:2539
mitkClassMacro(NiftyLinkDataType, IGIDataType) static Pointer New()
bool IsFastToSave()
Meaning, can we save to disk in under 40 ms?
Definition: niftkNiftyLinkDataType.cxx:36
NiftyLinkDataType & operator=(const NiftyLinkDataType &)
Definition: niftkNiftyLinkDataType.h:28
Abstract base class for IGI Data, such as objects containing tracking data, video frames or ultrasoun...
Definition: niftkIGIDataType.h:35
virtual void * GetData() const override
This object can contain any data, and derived classes should override this.
Definition: niftkNiftyLinkDataType.h:36
NiftyLinkDataType()
Definition: niftkNiftyLinkDataType.cxx:23
void SetMessageContainer(niftk::NiftyLinkMessageContainer::Pointer message)
Definition: niftkNiftyLinkDataType.h:39
niftk::NiftyLinkMessageContainer::Pointer GetMessageContainer() const
Definition: niftkNiftyLinkDataType.h:38
Definition: niftkExceptionObject.h:21
virtual ~NiftyLinkDataType()
Definition: niftkNiftyLinkDataType.cxx:30