//virtual
void ImageUndoRedo::Undo( )
{
+printf("EED ImageUndoRedo::Undo Start\n");
ImageInfoUR* imageInfo = this->m_ImagesDeque->Undo( );
if( imageInfo != NULL)
{
this->DrawUR( imageInfo, true );
this->UpdateUndoImage( );
- }
+ } //if imageInfo
+printf("EED ImageUndoRedo::Undo End\n");
+
}
// ----------------------------------------------------------------------------------
//virtual
#if VTK_MAJOR_VERSION <= 5
this->m_CurrentImage->Update( );
#else
- // ..
+ this->m_CurrentImage->Modified( );
#endif
this->UpdateUndoImage( );
}
+
// ----------------------------------------------------------------------------------
//virtual
void ImageUndoRedo::SetURImages( ImageMManagerType* imMManager )
std::cerr << "INVALID REGION" << std::endl;
}
}
+
// ----------------------------------------------------------------------------------
void ImageUndoRedo::UpdateUndoImage( )
{
#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 );
#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 )
{
+printf("EED ImageUndoRedo::GetImageRegion Start\n");
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 );
+
+printf("EED ImageUndoRedo::GetImageRegion region %d %d %d %d %d %d\n", 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( );
#if VTK_MAJOR_VERSION <= 5
imgResult->Update( );
#else
- // ..
+ imgResult->Modified( );
#endif
+printf("EED ImageUndoRedo::GetImageRegion End\n");
return ( imgResult );
}
// ----------------------------------------------------------------------------------
//virtual
void ImageUndoRedo::DrawUR( ImageInfoUR* imageInfo, const bool& undo )
{
+printf("EED ImageUndoRedo::DrawUR Start\n");
VTKImageDataPointerType img;
if( undo )
{
RegionSType region = imageInfo->GetImageMManager( )->GetModifiedRegion( );
if( img != NULL)
{
- int *dim = img->GetDimensions( );
- int sizeXImageIn = dim[ 0 ];
- size_t linesize = sizeXImageIn * sizeof(unsigned short);
+ int *dim = img->GetDimensions( );
+printf("EED ImageUndoRedo::DrawUR dim = %d %d %d\n", dim[0],dim[1],dim[2]);
+ int ext[6]; img->GetExtent( ext );
+printf("EED ImageUndoRedo::DrawUR ext = %d %d %d %d %d %d\n", ext[0],ext[1],ext[2],ext[3],ext[4],ext[5] );
+
+ 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( );
+printf("EED ImageUndoRedo::DrawUR End\n");
}
// ----------------------------------------------------------------------------------