Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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 & 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
() {
87
p_instance
.
CleanCubes
();
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
:
108
static
CubeManager
p_instance
;
109
111
QMap<QString, Cube *>
p_cubes
;
113
QQueue<QString>
p_opened
;
114
116
unsigned
int
p_minimumCubes
;
117
};
118
}
119
120
#endif