|
Isis Developer Reference
|
Go to the documentation of this file. 1 #ifndef CubeDataThread_h
2 #define CubeDataThread_h
12 template<
typename T>
class QList;
14 template<
typename A,
typename B>
struct QPair;
15 template<
typename A,
typename B>
class QMap;
24 class UniversalGroundMap;
67 bool mustOpenReadWrite =
false);
83 void ReadCube(
int cubeId,
int startSample,
int startLine,
84 int endSample,
int endLine,
int band,
void *caller);
85 void ReadWriteCube(
int cubeId,
int startSample,
int startLine,
86 int endSample,
int endLine,
int band,
void *caller);
154 int OverlapIndex(
const Brick *initial,
int cubeId,
155 int instanceNum,
bool &exact);
157 void GetCubeData(
int cubeId,
int ss,
int sl,
int es,
int el,
int band,
158 void *caller,
bool sharedLock);
160 void AcquireLock(QReadWriteLock *lockObject,
bool readLock);
162 bool FreeBrick(
int brickIndex);
174 QMutex *p_threadSafeMutex;
205 int p_numChangeListeners;
208 unsigned int p_currentId;
217 unsigned int p_currentLocksWaiting;
void SetBasePosition(const int start_sample, const int start_line, const int start_band)
This method is used to set the base position of the shape buffer.
Definition: Brick.h:120
virtual ~CubeDataThread()
This class is a self-contained thread, so normally it would be bad to simply delete it.
Definition: CubeDataThread.cpp:66
Universal Ground Map.
Definition: UniversalGroundMap.h:69
void DoneWithData(int, const Isis::Brick *)
When done processing with a brick (reading or writing) this slot needs to be signalled to free locks ...
Definition: CubeDataThread.cpp:587
CubeDataThread()
This constructs a CubeDataThread().
Definition: CubeDataThread.cpp:35
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
void ReadWriteCube(int cubeId, int startSample, int startLine, int endSample, int endLine, int band, void *caller)
This slot should be connected to and upon receiving a signal it will begin the necessary cube I/O to ...
Definition: CubeDataThread.cpp:462
File name manipulation and expansion.
Definition: FileName.h:100
Buffer for containing a three dimensional section of an image.
Definition: Brick.h:45
Encapsulation of Cube I/O with Change Notifications.
Definition: CubeDataThread.h:59
int FindCubeId(const Cube *) const
Given a Cube pointer, return the cube ID associated with it.
Definition: CubeDataThread.cpp:351
void AddChangeListener()
You must call this method after connecting to the BrickChanged signal, otherwise you are not guarante...
Definition: CubeDataThread.cpp:230
void BrickChanged(int cubeId, const Isis::Brick *data)
DO NOT CONNECT TO THIS SIGNAL WITHOUT CALLING AddChangeListener().
const Cube * GetCube(int cubeId) const
This returns a constant pointer to a Cube at the given Cube ID.
Definition: CubeDataThread.cpp:767
int AddCube(const FileName &fileName, bool mustOpenReadWrite=false)
This method is designed to be callable from any thread before data is requested, though no known side...
Definition: CubeDataThread.cpp:125
QString expanded() const
Returns a QString of the full file name including the file path, excluding the attributes.
Definition: FileName.cpp:196
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
void ReadReady(void *requester, int cubeId, const Isis::Brick *data)
This signal will be emitted when ReadCube has finished processing.
int BricksInMemory()
This is a helper method for both testing/debugging and general information that provides the current ...
Definition: CubeDataThread.cpp:734
UniversalGroundMap * GetUniversalGroundMap(int cubeId) const
This returns a new Universal Ground Map given a Cube ID.
Definition: CubeDataThread.cpp:750
IO Handler for Isis Cubes.
Definition: Cube.h:167
void ReadWriteReady(void *requester, int cubeId, Isis::Brick *data)
This signal will be emitted when ReadWriteCube has finished processing.
Isis exception class.
Definition: IException.h:91
#define ASSERT(x)
Definition: IsisDebug.h:134
int Band(const int index=0) const
Returns the band position associated with a shape buffer index.
Definition: Buffer.cpp:162
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
void RemoveChangeListener()
You must call this method after disconnecting from the BrickChanged signal, otherwise bricks cannot b...
Definition: CubeDataThread.cpp:238
void RemoveCube(int cubeId)
Removes a cube from this lock manager.
Definition: CubeDataThread.cpp:192
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:23
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:22
int size() const
Returns the total number of pixels in the shape buffer.
Definition: Buffer.h:97
void ReadCube(int cubeId, int startSample, int startLine, int endSample, int endLine, int band, void *caller)
This slot should be connected to and upon receiving a signal it will begin the necessary cube I/O to ...
Definition: CubeDataThread.cpp:427
Adds specific functionality to C++ strings.
Definition: IString.h:165
int Sample(const int index=0) const
Returns the sample position associated with a shape buffer index.
Definition: Buffer.cpp:127
void open(const QString &cfile, QString access="r")
This method will open an isis cube for reading or reading/writing.
Definition: Cube.cpp:627
int Line(const int index=0) const
Returns the line position associated with a shape buffer index.
Definition: Buffer.cpp:145
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16