+void ImageUndoRedo::DrawUR( ImageInfoUR* imageInfo, const bool& undo )
+{
+ VTKImageDataPointerType img;
+ if( undo )
+ {
+ img = imageInfo->GetUndoImage( );
+ } else {
+ img = imageInfo->GetRedoImage( );
+ } //else
+ RegionSType region = imageInfo->GetImageMManager()->GetModifiedRegion();
+ m_RestorBaseInitialPointX = imageInfo->GetImageMManager()->GetBaseInitialPointX();
+ m_RestorBaseInitialPointY = imageInfo->GetImageMManager()->GetBaseInitialPointY();
+ m_RestorBaseInitialPointZ = imageInfo->GetImageMManager()->GetBaseInitialPointZ();
+
+ if( img != NULL)
+ {
+ int *dim = img->GetDimensions( );
+ int sizeXImageIn = dim[ 0 ];
+ size_t linesize = sizeXImageIn * sizeof(unsigned short);
+ for( int j = region.minY, y = 0; j <= region.maxY; j++, y++ )
+ {
+ for( int k = region.minZ, z = 0; k <= region.maxZ; k++, z++ )
+ {
+ void* ptrsrc = img->GetScalarPointer( 0, y, z );
+ void* ptrdest = this->m_CurrentImage->GetScalarPointer( region.minX, j, k );
+ memcpy( ptrdest, ptrsrc, linesize );
+ } // for k
+ } // for j
+ this->m_CurrentImage->Modified( );
+ } // if img
+ this->m_ImagesDeque->ManageMemory( );
+}
+// ----------------------------------------------------------------------------------
+
+int ImageUndoRedo::GetRestorBaseInitialPointX()
+{
+ return m_RestorBaseInitialPointX;
+}
+
+int ImageUndoRedo::GetRestorBaseInitialPointY()
+{
+ return m_RestorBaseInitialPointY;
+}