Image3DDequeUR::Image3DDequeUR() {
this->m_globalPath = "/tmp/";
- this->m_currentPos = -1;
+ this->m_currentUndoPos = -1;
}
//virtual
Image3DDequeUR::~Image3DDequeUR() {
this->saveImageAsMHD(img, fullpath);
//Adding to deque
this->m_ImgDeque.push_back(imageInfo);
- this->m_currentPos = this->m_ImgDeque.size() - 1;
-
}
//virtual
void Image3DDequeUR::loadImageToPMemory(const unsigned int& index) {
//ATENCIIIOOOON TIENE QUE HACER POP PARA PONER EL REDO
//virtual
-ImageType* Image3DDequeUR::undo() {
- if (this->m_currentPos == -1) {
- return NULL;
+ImageInfoUR Image3DDequeUR::undo() {
+ if (this->m_currentUndoPos == -1) {
+ ImageInfoUR retAux;
+ return (retAux);
} //fi
- this->m_currentPos--;
- return (NULL);
+ ImageInfoUR imgRet = m_ImgDeque[(unsigned int) m_currentUndoPos];
+ this->m_currentUndoPos--;
+ return (imgRet);
}
//virtual
-ImageType* Image3DDequeUR::redo() {
- if (this->m_currentPos == ( this->m_ImgDeque.size() - 1 )) {
- return NULL;
+ImageInfoUR Image3DDequeUR::redo() {
+ if (this->m_currentUndoPos != (this->m_ImgDeque.size() - 1)) {
+ this->m_currentUndoPos++;
+ return (m_ImgDeque[(unsigned int) m_currentUndoPos]);
} //fi
- this->m_currentPos++;
- return (NULL);
+ ImageInfoUR retAux;
+ return (retAux);
}
void Image3DDequeUR::setGlobalPath(const std::string& globalPath) {
this->m_globalPath = globalPath;
std::string Image3DDequeUR::getGlobalPath() {
return (this->m_globalPath);
}
+void Image3DDequeUR::setUndoPointerOnTop() {
+ this->m_currentUndoPos = this->m_ImgDeque.size() - 1;
+}