Medical Imaging Interaction Toolkit  2021.10.99-1c4db16f
Medical Imaging Interaction Toolkit
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 (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 MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
14 #define MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
15 
16 #include <MitkIGTBaseExports.h>
17 #include "mitkBaseData.h"
18 #include "mitkNavigationData.h"
19 
20 namespace mitk {
30  {
31  public:
32 
39  typedef std::vector< std::vector<mitk::NavigationData::Pointer> >::iterator NavigationDataSetIterator;
40 
47  typedef std::vector< std::vector<mitk::NavigationData::Pointer> >::const_iterator NavigationDataSetConstIterator;
48 
50 
51  mitkNewMacro1Param(Self, unsigned int);
52 
60  bool AddNavigationDatas( std::vector<mitk::NavigationData::Pointer> navigationDatas );
61 
69  NavigationData::Pointer GetNavigationDataForIndex( unsigned int index, unsigned int toolIndex ) const;
70 
79  virtual std::vector< mitk::NavigationData::Pointer > GetDataStreamForTool(unsigned int toolIndex);
80 
89  virtual std::vector< mitk::NavigationData::Pointer > GetTimeStep(unsigned int index) const;
90 
98  unsigned int GetNumberOfTools() const;
99 
108  unsigned int Size() const;
109 
115  virtual NavigationDataSetConstIterator Begin() const;
116 
122  virtual NavigationDataSetConstIterator End() const;
123 
124  // virtual methods, that need to be implemented, but aren't reasonable for NavigationData
125  void SetRequestedRegionToLargestPossibleRegion( ) override;
126  bool RequestedRegionIsOutsideOfTheBufferedRegion( ) override;
127  bool VerifyRequestedRegion( ) override;
128  void SetRequestedRegion( const itk::DataObject *data ) override;
129 
133  bool IsEmpty() const override;
134 
135  //Converts Navigation Data for each tool to a Point Set and adds it to the data storage
136  void ConvertNavigationDataToPointSet() const;
137 
138  protected:
143  NavigationDataSet( unsigned int numTools );
144  ~NavigationDataSet( ) override;
145 
152  std::vector<std::vector<NavigationData::Pointer> > m_NavigationDataVectors;
153 
157  unsigned int m_NumberOfTools;
158  };
159 }
160 
161 #endif // MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
unsigned int m_NumberOfTools
The Number of Tools that this class is going to support.
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:68
Base of all data objects.
Definition: mitkBaseData.h:42
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
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.