#include "imageUndoRedo.h"
// ----------------------------------------------------------------------------------
-ImageUndoRedo::ImageUndoRedo( )
+ImageUndoRedo::ImageUndoRedo()
{
this->m_ImagesDeque = new IDequeType( );
}
+
// ----------------------------------------------------------------------------------
//virtual
ImageUndoRedo::~ImageUndoRedo( )
{
-
}
+
// ----------------------------------------------------------------------------------
//virtual
void ImageUndoRedo::Undo( )
{
this->DrawUR( imageInfo, true );
this->UpdateUndoImage( );
- }
+ } //if imageInfo
}
// ----------------------------------------------------------------------------------
//virtual
void ImageUndoRedo::SetImage( VTKImageDataPointerType image )
{
this->m_CurrentImage = image;
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
this->m_CurrentImage->Update( );
+#else
+ this->m_CurrentImage->Modified( );
+#endif
+
this->UpdateUndoImage( );
}
+
// ----------------------------------------------------------------------------------
//virtual
void ImageUndoRedo::SetURImages( ImageMManagerType* imMManager )
if( newImageManager->ValidateRegion( ) )
{
RegionSType region = newImageManager->GetModifiedRegion( );
- VTKImageDataPointerType imgUndo = this->GetImageRegion( region,
- this->m_UndoImage );
- VTKImageDataPointerType imgRedo = this->GetImageRegion( region,
- this->m_CurrentImage );
- this->m_ImagesDeque->AddImagesToURContainer( imgUndo, imgRedo,
- newImageManager );
+ VTKImageDataPointerType imgUndo = this->GetImageRegion( region,this->m_UndoImage );
+ VTKImageDataPointerType imgRedo = this->GetImageRegion( region,this->m_CurrentImage );
+ this->m_ImagesDeque->AddImagesToURContainer( imgUndo, imgRedo,newImageManager );
this->UpdateUndoImage( );
- }
- else
- {
+ } else {
std::cerr << "INVALID REGION" << std::endl;
}
}
+
// ----------------------------------------------------------------------------------
void ImageUndoRedo::UpdateUndoImage( )
{
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
this->m_CurrentImage->Update( );
+#else
+ this->m_CurrentImage->Modified( );
+#endif
this->m_UndoImage = VTKImageDataPointerType::New( );
this->m_UndoImage->DeepCopy( m_CurrentImage );
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
this->m_UndoImage->Update( );
+#else
+ this->m_UndoImage->Modified( );
+#endif
}
+
// ----------------------------------------------------------------------------------
-ImageUndoRedo::VTKImageDataPointerType ImageUndoRedo::GetImageRegion(
- const RegionSType& region, VTKImageDataPointerType img )
+ImageUndoRedo::VTKImageDataPointerType ImageUndoRedo::GetImageRegion( const RegionSType& region, VTKImageDataPointerType img )
{
VTKExtractVOIPointerType extract = VTKExtractVOIPointerType::New( );
- extract->SetVOI( region.minX, region.maxX, region.minY, region.maxY,
- region.minZ, region.maxZ );
+ extract->SetVOI( region.minX, region.maxX, region.minY, region.maxY,region.minZ, region.maxZ );
extract->SetSampleRate( 1, 1, 1 );
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
extract->SetInput( img );
+#else
+ extract->SetInputData( img );
+ extract->Update();
+#endif
VTKImageDataPointerType imgResult = extract->GetOutput( );
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
imgResult->Update( );
+#else
+ imgResult->Modified( );
+#endif
return ( imgResult );
}
// ----------------------------------------------------------------------------------
if( undo )
{
img = imageInfo->GetUndoImage( );
- } //fi
- else
- {
+ } else {
img = imageInfo->GetRedoImage( );
} //else
- RegionSType region = imageInfo->GetImageMManager( )->GetModifiedRegion( );
+ 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);
+ 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 );
+ 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;
+}
+
+int ImageUndoRedo::GetRestorBaseInitialPointZ()
+{
+ return m_RestorBaseInitialPointZ;
+}
+