X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolRigidReg.cxx;h=a3ee90233c8d30b5a047b444a5dcfd2c8dd9336c;hb=8dc75d1449323b08bf7378cded6f0bec24b2016f;hp=5cc862d5aaf2b34fefac0a35b4a24cef2839f148;hpb=3a823a03d4a2217e41e4dd3b05a8ea825bb762a5;p=clitk.git diff --git a/vv/vvToolRigidReg.cxx b/vv/vvToolRigidReg.cxx index 5cc862d..a3ee902 100644 --- a/vv/vvToolRigidReg.cxx +++ b/vv/vvToolRigidReg.cxx @@ -19,6 +19,7 @@ // vv #include "vvToolRigidReg.h" #include "vvSlicer.h" +#include // vtk #include @@ -458,97 +459,11 @@ void vvToolRigidReg::ExtentMax(const double pointExtent[8][4], double maxExtent[ //------------------------------------------------------------------------------ void vvToolRigidReg::Render() -{ //out << __func__ << endl; -#if VTK_MAJOR_VERSION > 5 -vtkMatrix4x4* matrix = mCurrentSlicerManager->GetImage()->GetTransform()[0]->GetMatrix(); -vtkMatrix4x4* matrixTranspose = matrix->NewInstance(); -for (int i=0; i<3; ++i) { - for (int j=0; j<3; ++j) - { - matrixTranspose->SetElement(i,j,matrix->GetElement(j,i)); - } -} -for (int i=0; i<4; ++i) { - matrixTranspose->SetElement(3,i,matrix->GetElement(3,i)); -} -for (int i=0; i<4; ++i) { - matrixTranspose->SetElement(i,3,matrix->GetElement(i,3)); -} -#endif - for (int i=0; iGetNumberOfSlicers(); i++) - { -#if VTK_MAJOR_VERSION > 5 - double pointExtent[8][4], pointExtentUpdate[8][4]; - std::vector w_ext; - w_ext=mCurrentSlicerManager->GetImage()->GetSize(); - pointExtent[0][0] = 0.0; - pointExtent[0][1] = 0.0; - pointExtent[0][2] = 0.0; - pointExtent[0][3] = 1.0; - pointExtent[1][0] = w_ext[0]-1; - pointExtent[1][1] = w_ext[1]-1; - pointExtent[1][2] = w_ext[2]-1; - pointExtent[1][3] = 1.0; - pointExtent[2][0] = 0.0; - pointExtent[2][1] = w_ext[1]-1; - pointExtent[2][2] = w_ext[2]-1; - pointExtent[2][3] = 1.0; - pointExtent[3][0] = w_ext[0]-1; - pointExtent[3][1] = 0.0; - pointExtent[3][2] = w_ext[2]-1; - pointExtent[3][3] = 1.0; - pointExtent[4][0] = w_ext[0]-1; - pointExtent[4][1] = w_ext[1]-1; - pointExtent[4][2] = 0.0; - pointExtent[4][3] = 1.0; - pointExtent[5][0] = 0.0; - pointExtent[5][1] = 0.0; - pointExtent[5][2] = w_ext[2]-1; - pointExtent[5][3] = 1.0; - pointExtent[6][0] = 0.0; - pointExtent[6][1] = w_ext[1]-1; - pointExtent[6][2] = 0.0; - pointExtent[6][3] = 1.0; - pointExtent[7][0] = w_ext[0]-1; - pointExtent[7][1] = 0.0; - pointExtent[7][2] = 0.0; - pointExtent[7][3] = 1.0; - - for (int k=0; k<8; ++k) { - for (int j=0; j<3; ++j) - { - pointExtent[k][j] = mCurrentSlicerManager->GetImage()->GetOrigin()[j] + mCurrentSlicerManager->GetImage()->GetSpacing()[j] * pointExtent[k][j]; - } - matrixTranspose->MultiplyPoint(pointExtent[k], pointExtentUpdate[k]); - for (int j=0; j<3; ++j) - { - pointExtentUpdate[k][j] = (pointExtentUpdate[k][j] - mCurrentSlicerManager->GetImage()->GetOrigin()[j])/mCurrentSlicerManager->GetImage()->GetSpacing()[j]; - } - } -double extUpdateTemp[2][3]; -int extUpdate[6]; -ExtentMax(pointExtentUpdate, extUpdateTemp); -for (int j=0; j<3; ++j) { - extUpdate[2*j] = 0; - extUpdate[2*j+1] = itk::Math::Round(extUpdateTemp[1][j] - extUpdateTemp[0][j]); -} - mCurrentSlicerManager->GetSlicer(i)->SetRegisterExtent(extUpdate); - extUpdate[2*mCurrentSlicerManager->GetSlicer(i)->GetOrientation()] = mCurrentSlicerManager->GetSlicer(i)->GetSlice(); - extUpdate[2*mCurrentSlicerManager->GetSlicer(i)->GetOrientation()+1] = mCurrentSlicerManager->GetSlicer(i)->GetSlice(); - - vtkSmartPointer mapperOpenGL= vtkSmartPointer::New(); - try { - mapperOpenGL = dynamic_cast(mCurrentSlicerManager->GetSlicer(i)->GetImageActor()->GetMapper()); - } catch (const std::bad_cast& e) { - std::cerr << e.what() << std::endl; - std::cerr << "Conversion error" << std::endl; - return; - } - mapperOpenGL->SetCroppingRegion(extUpdate); -#endif +{ +for (int i=0; iGetNumberOfSlicers(); i++) { mCurrentSlicerManager->GetSlicer(i)->ForceUpdateDisplayExtent(); mCurrentSlicerManager->GetSlicer(i)->Render(); - } +} } //------------------------------------------------------------------------------