Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkNavigationDataSet.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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
18 #define MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
19 
20 #include <MitkIGTBaseExports.h>
21 #include "mitkBaseData.h"
22 #include "mitkNavigationData.h"
23 
24 namespace mitk {
34  {
35  public:
36 
43  typedef std::vector< std::vector<mitk::NavigationData::Pointer> >::iterator NavigationDataSetIterator;
44 
51  typedef std::vector< std::vector<mitk::NavigationData::Pointer> >::const_iterator NavigationDataSetConstIterator;
52 
54 
55  mitkNewMacro1Param(Self, unsigned int);
56 
64  bool AddNavigationDatas( std::vector<mitk::NavigationData::Pointer> navigationDatas );
65 
73  NavigationData::Pointer GetNavigationDataForIndex( unsigned int index, unsigned int toolIndex ) const;
74 
76  //* \brief Get last mitk::Navigation object for given tool whose timestamp is less than the given timestamp.
77  //* @param toolIndex Index of the tool from which mitk::NavigationData should be returned.
78  //* @param timestamp Timestamp for selecting last object before.
79  //* @return Last mitk::NavigationData with timestamp less than given timestamp, 0 if there is no adequate object.
80  //*/
81  // Method not yet supported!
82  //NavigationData::Pointer GetNavigationDataBeforeTimestamp( mitk::NavigationData::TimeStampType timestamp , unsigned int toolIndex ) const;
83 
92  virtual std::vector< mitk::NavigationData::Pointer > GetDataStreamForTool(unsigned int toolIndex);
93 
102  virtual std::vector< mitk::NavigationData::Pointer > GetTimeStep(unsigned int index) const;
103 
111  unsigned int GetNumberOfTools() const;
112 
121  unsigned int Size() const;
122 
128  virtual NavigationDataSetConstIterator Begin() const;
129 
135  virtual NavigationDataSetConstIterator End() const;
136 
137  // virtual methods, that need to be implemented, but aren't reasonable for NavigationData
138  virtual void SetRequestedRegionToLargestPossibleRegion( ) override;
139  virtual bool RequestedRegionIsOutsideOfTheBufferedRegion( ) override;
140  virtual bool VerifyRequestedRegion( ) override;
141  virtual void SetRequestedRegion( const itk::DataObject *data ) override;
142 
146  virtual bool IsEmpty() const override;
147 
148  protected:
153  NavigationDataSet( unsigned int numTools );
154  virtual ~NavigationDataSet( );
155 
162  std::vector<std::vector<NavigationData::Pointer> > m_NavigationDataVectors;
163 
167  unsigned int m_NumberOfTools;
168  };
169 }
170 
171 #endif // MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
unsigned int m_NumberOfTools
The Number of Tools that this class is going to support.
itk::SmartPointer< Self > Pointer
std::vector< std::vector< mitk::NavigationData::Pointer > >::iterator NavigationDataSetIterator
This iterator iterates over the distinct time steps in this set.
#define mitkNewMacro1Param(classname, type)
Definition: mitkCommon.h:76
Base of all data objects.
Definition: mitkBaseData.h:39
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Data structure which stores streams of mitk::NavigationData for multiple tools.
#define MITKIGTBASE_EXPORT
std::vector< std::vector< NavigationData::Pointer > > m_NavigationDataVectors
Holds all the mitk::NavigationData objects managed by this class.
std::vector< std::vector< mitk::NavigationData::Pointer > >::const_iterator NavigationDataSetConstIterator
This iterator iterates over the distinct time steps in this set. And is const.