+void ImageUndoRedo::DrawUR( ImageInfoUR* imageInfo, const bool& undo )
+{
+ VTKImageDataPointerType img;
+ if( undo )
+ {
+ img = imageInfo->GetUndoImage( );
+ } //fi
+ else
+ {
+ img = imageInfo->GetRedoImage( );
+ } //else
+ RegionSType region = imageInfo->GetImageMManager( )->GetModifiedRegion( );
+ 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 );
+ }
+ }
+ this->m_CurrentImage->Modified( );
+ }
+ this->m_ImagesDeque->ManageMemory( );