USGS

Isis 3.0 Object Programmers' Reference

Home

CubeManager.h
1 #ifndef CubeManager_h
2 #define CubeManager_h
3 
4 #include <QString>
5 #include <QMap>
6 #include <QQueue>
7 
8 /*
9  * Unless noted otherwise, the portions of Isis written by the
10  * USGS are public domain. See individual third-party library
11  * and package descriptions for intellectual property
12  * information,user agreements, and related information.
13  *
14  * Although Isis has been used by the USGS, no warranty, expressed or implied,
15  * is made by the USGS as to the accuracy and functioning of such software
16  * and related material nor shall the fact of distribution constitute any such
17  * warranty, and no responsibility is assumed by the USGS in connection
18  * therewith.
19  *
20  * For additional information, launch
21  * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html in a browser or see
22  * the Privacy &amp; Disclaimers page on the Isis website,
23  * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on
24  * http://www.usgs.gov/privacy.html.
25  */
26 namespace Isis {
27  class Cube;
28 
51  class CubeManager {
52  public:
53  CubeManager();
54  ~CubeManager();
55 
65  static Cube *Open(const QString &cubeFileName) {
66  return p_instance.OpenCube(cubeFileName);
67  }
68 
77  static void CleanUp(const QString &cubeFileName) {
78  p_instance.CleanCubes(cubeFileName);
79  }
80 
86  static void CleanUp() {
88  };
89 
90  void CleanCubes(const QString &cubeFileName);
91  void CleanCubes();
92 
93  Cube *OpenCube(const QString &cubeFileName);
94 
102  void SetNumOpenCubes(unsigned int numCubes) {
103  p_minimumCubes = numCubes;
104  }
105 
106  protected:
109 
114 
116  unsigned int p_minimumCubes;
117  };
118 }
119 
120 #endif