NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkLookupTableManager.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 niftkLookupTableManager_h
16 #define niftkLookupTableManager_h
17 
18 #include <niftkCoreExports.h>
19 
20 #include <unordered_map>
21 #include <vector>
22 
23 #include <QString>
24 
25 
26 class vtkLookupTable;
27 
28 namespace niftk
29 {
30 
31 class LookupTableContainer;
32 
43 class NIFTKCORE_EXPORT LookupTableManager
44 {
45 
46 public:
47 
48  typedef std::unordered_map<std::string, const LookupTableContainer*> LookupTableMapType;
49 
52 
54  virtual ~LookupTableManager();
55 
59  unsigned int GetNumberOfLookupTables();
60 
65  const LookupTableContainer* GetLookupTableContainer(const QString& name);
66 
70  std::vector<QString> GetTableNames();
71 
75  void AddLookupTableContainer(const LookupTableContainer* container);
76 
80  void ReplaceLookupTableContainer(const LookupTableContainer* container, const QString& name);
81 
83  bool CheckName(const QString& name);
84 
85 private:
86 
88  LookupTableMapType m_Containers;
89 
90 };
91 
92 }
93 
94 #endif
Class to manage access to LookupTableContainers.
Definition: niftkLookupTableManager.h:43
Class to contain a vtkLookupTable and to store meta-data attributes like display name, which order to display it in in GUI, etc.
Definition: niftkLookupTableContainer.h:34
std::unordered_map< std::string, const LookupTableContainer * > LookupTableMapType
Definition: niftkLookupTableManager.h:48
GLuint const GLchar * name
Definition: glew.h:1798
Definition: niftkExceptionObject.h:21