X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.cxx;h=1daee2c666332458ffba9e6f722d31c5b8f7c1f9;hb=8649395a11ea115c175a8d566178833d4aec6e04;hp=9e66956e6ec953e566e303c86b5a87ef21b73e27;hpb=ddd6f0056c0aa56b94f2231b97987325ecab3c3b;p=clitk.git diff --git a/vv/vvSlicerManager.cxx b/vv/vvSlicerManager.cxx index 9e66956..1daee2c 100644 --- a/vv/vvSlicerManager.cxx +++ b/vv/vvSlicerManager.cxx @@ -22,8 +22,6 @@ #include "vvSlicerManagerCommand.h" #include "vvInteractorStyleNavigator.h" #include "vvLandmarks.h" -#include "vvImageReader.h" -#include "vvImageReader.h" #include "vvMesh.h" #include "vvImageMapToWLColors.h" #include "vvBlendImageActor.h" @@ -62,19 +60,12 @@ vvSlicerManager::vvSlicerManager(int numberOfSlicers) mFusionWindow = 1000; mFusionLevel = 1000; - mReader = NULL; - mImage = NULL; - mVF=NULL; - mVectorReader = NULL; - mOverlayReader = NULL; - mFusionReader = NULL; mLandmarks = NULL; mLinkedId.resize(0); - for ( int i = 0; i < numberOfSlicers; i++) { - vvSlicer *slicer = vvSlicer::New(); - mSlicers.push_back(slicer); - } + for ( int i = 0; i < numberOfSlicers; i++) + mSlicers.push_back(vtkSmartPointer::New()); + mPreviousSlice.resize(numberOfSlicers); mPreviousTSlice.resize(numberOfSlicers); } @@ -84,22 +75,6 @@ vvSlicerManager::vvSlicerManager(int numberOfSlicers) //---------------------------------------------------------------------------- vvSlicerManager::~vvSlicerManager() { - for ( unsigned int i = 0; i < mSlicers.size(); i++) { - if (mSlicers[i] != NULL) - mSlicers[i]->Delete(); - } - if (mReader) { - delete mReader; - } - if (mVectorReader) { - delete mVectorReader; - } - if (mOverlayReader) { - delete mOverlayReader; - } - if (mFusionReader) { - delete mFusionReader; - } if (mLandmarks) delete mLandmarks; } @@ -151,8 +126,8 @@ void vvSlicerManager::ToggleContourSuperposition() bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n, unsigned int slice) { mType = type; - if (mReader == NULL) - mReader = new vvImageReader; + if (mReader.IsNull()) + mReader = vvImageReader::New(); std::vector filenames; filenames.push_back(filename); mReader->SetInputFilenames(filenames); @@ -207,8 +182,8 @@ bool vvSlicerManager::SetImages(std::vector filenames,LoadedImageTy mFileName = vtksys::SystemTools::GetFilenameName(mFileName); mFileName = fileWithoutExtension + vtksys::SystemTools::GetFilenameExtension(filenames[0]); - if (mReader == NULL) - mReader = new vvImageReader; + if (mReader.IsNull()) + mReader = vvImageReader::New(); mReader->SetInputFilenames(filenames); mReader->Update(type); @@ -242,8 +217,8 @@ bool vvSlicerManager::SetOverlay(std::string filename,int dim, std::string compo mLastError = " Overlay dimension cannot be greater then reference image!"; return false; } - if (mOverlayReader == NULL) - mOverlayReader = new vvImageReader; + if (mOverlayReader.IsNull()) + mOverlayReader = vvImageReader::New(); std::vector filenames; filenames.push_back(filename); mOverlayReader->SetInputFilenames(filenames); @@ -270,8 +245,8 @@ bool vvSlicerManager::SetFusion(std::string filename,int dim, std::string compon mLastError = " Overlay dimension cannot be greater then reference image!"; return false; } - if (mFusionReader == NULL) - mFusionReader = new vvImageReader; + if (mFusionReader.IsNull()) + mFusionReader = vvImageReader::New(); std::vector filenames; filenames.push_back(filename); mFusionReader->SetInputFilenames(filenames); @@ -295,8 +270,8 @@ bool vvSlicerManager::SetFusion(std::string filename,int dim, std::string compon //---------------------------------------------------------------------------- bool vvSlicerManager::SetVF(std::string filename) { - if (mVectorReader == NULL) - mVectorReader = new vvImageReader; + if (mVectorReader.IsNull()) + mVectorReader = vvImageReader::New(); mVectorReader->SetInputFilename(filename); mVectorReader->Update(VECTORFIELD); if (mVectorReader->GetLastError().size() != 0) { @@ -505,15 +480,15 @@ void vvSlicerManager::SetColorLevel(double s) //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -void vvSlicerManager::SetCursorVisibility(int s) +void vvSlicerManager::SetCursorAndCornerAnnotationVisibility(int s) { for ( unsigned int i = 0; i < mSlicers.size(); i++) { mSlicers[i]->SetCursorVisibility(s); + mSlicers[i]->SetCornerAnnotationVisibility(s); } } //---------------------------------------------------------------------------- - //---------------------------------------------------------------------------- void vvSlicerManager::SetOpacity(int i, double factor) { @@ -797,25 +772,18 @@ void vvSlicerManager::ReloadVF() //---------------------------------------------------------------------------- void vvSlicerManager::RemoveActor(const std::string& actor_type, int overlay_index) { - if (actor_type =="overlay") { - delete mOverlayReader; + if (actor_type =="overlay") mOverlayReader = NULL; - } - if (actor_type =="fusion") { - delete mFusionReader; + if (actor_type =="fusion") mFusionReader = NULL; - } - for (unsigned int i = 0; i < mSlicers.size(); i++) { + for (unsigned int i = 0; i < mSlicers.size(); i++) mSlicers[i]->RemoveActor(actor_type,overlay_index); - } + if (actor_type=="vector") { mVF=NULL; - if (mVectorReader) { - delete mVectorReader; - mVectorReader=NULL; - } + mVectorReader=NULL; } } //----------------------------------------------------------------------------