X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxViewer.cpp;h=523e780051d5f6640d2e0490400dda5493230b5f;hb=b818afb24157d3474ecb598a98d92667745a6aa3;hp=8639888215e9e2cacd2658e939589078d534ab25;hpb=47344ac4f0a977d14c539921adc2de84808f3df0;p=creaImageIO.git diff --git a/src2/creaImageIOWxViewer.cpp b/src2/creaImageIOWxViewer.cpp index 8639888..523e780 100644 --- a/src2/creaImageIOWxViewer.cpp +++ b/src2/creaImageIOWxViewer.cpp @@ -5,16 +5,16 @@ #include #include #include - +#include #include #include #include using namespace crea; - +// Memory tracking allocation namespace creaImageIO { - + //===================================================================== //===================================================================== @@ -26,21 +26,11 @@ namespace creaImageIO {} void* Entry(); - // void SetImagesToPlay(std::vector im); - // void ShowImage(vtkImageData* v); - // void StartIterator(); void OnExit(); private: - //std::vector mImagesToPlay; - //vtkImageViewer2* mViewer; - /// Associated wxvtk interactor - //crea::creawxVTKRenderWindowInteractor *mInteractor; - //std::vector::iterator i; + WxViewer* mWxViewer; - - // int mx1,mx2,my1,my2,mz1,mz2; - // double mspx,mspy,mspz; }; //===================================================================== @@ -62,7 +52,7 @@ namespace creaImageIO size) { wxMutexLocker lock(mMutex); - GimmickDebugMessage(1,"WxViewer::WxViewer" + GimmickDebugMessage(6,"WxViewer::WxViewer" <UseCaptureMouseOn(); @@ -80,8 +69,7 @@ namespace creaImageIO mViewer->SetupInteractor ( mInteractor ); mCurrent = 0; - - mPlayer = 0; + mPlayer = 0; topsizer-> Add( mInteractor ,1,wxGROW ,0); SetSizer( topsizer ); @@ -94,68 +82,21 @@ namespace creaImageIO WxViewer::~WxViewer() { wxMutexLocker lock(mMutex); - GimmickDebugMessage(1,"WxViewer::~WxViewer" + GimmickDebugMessage(6,"WxViewer::~WxViewer" < >& pointers) { - wxMutexLocker lock(mMutex); - if(images.size()>0) - { - GimmickDebugMessage(5,"WxViewer::SetImage "<UnRegister(NULL); - images[i] = im; - // if (im!=0) im->Register(NULL); - } - - } - - } - - //================================================================ - - - - //================================================================ - - bool WxViewer::ImagesEmpty() - { - wxMutexLocker lock(mMutex); - return images.empty(); - } - //================================================================ - - //================================================================ - - void WxViewer::SetMovieSize(unsigned int si) - { - wxMutexLocker lock(mMutex); - GimmickDebugMessage(5,"WxViewer::SetMovieSize("<<(int)si<<")" - <UnRegister(NULL); - } - } - images.clear(); - for (unsigned int i=0;i= images.size()) mCurrent = 0; + if(imagePointers.size()>0) + { + if (mCurrent iph = imagePointers[mCurrent]; + //ImagePointerHolder* iph= imagePointers[mCurrent]; + vtkImageData* currIm=iph->Get(); + ShowImage(currIm); + if ( currIm != mLastImageShown ) + { + mNeedRefresh = true; + mLastImageShown = currIm; + } + mCurrent++; + } + else + { + mCurrent = 0; + //ImagePointerHolder* iph=imagePointers[mCurrent]; + boost::shared_ptr iph = imagePointers[mCurrent]; + vtkImageData* currIm=iph->Get(); + ShowImage(currIm); + if ( currIm != mLastImageShown ) + { + mNeedRefresh = true; + mLastImageShown = currIm; + } + mCurrent++; + } + } } //================================================================ - - - //===================================================================== void WxViewer::ShowImage(vtkImageData* im) { - GimmickDebugMessage(5,"WxViewer::ShowImage" + GimmickDebugMessage(6,"WxViewer::ShowImage" <GetScalarRange(); mViewer->SetColorWindow(range[1] - range[0]); mViewer->SetColorLevel(0.5 * (range[1] + range[0])); + mViewer->GetRenderer()->ResetCamera(); double bounds[6]; @@ -235,32 +195,21 @@ namespace creaImageIO mViewer->GetRenderer()->ResetCameraClippingRange(bounds); + mViewer->GetRenderer()->SetBackground(0.1,0.1,0.2); + - } - - //::wxWakeUpIdle(); + } } //================================================================ - //================================================== - void WxViewer::OnInternalIdle() - { - // mInteractor->Refresh(); - if(images.size()>0) - { -// mInteractor->Render(); - } - //mViewer->Render(); - } - //================================================================ bool WxViewer::RefreshIfNecessary() { if (mNeedRefresh) { - GimmickMessage(1,"WxViewer : Refreshing"<Render(); mNeedRefresh = false; @@ -268,15 +217,18 @@ namespace creaImageIO } return false; } + //================================================================ + //================================================== void WxViewer::StopPlayer() { wxMutexLocker lock(mMutex); - if (mPlayer==0) return; + if (mPlayer==0 ) return; mPlayer->Delete(); mPlayer=0; } - + //================================================================ + //================================================== void WxViewer::StartPlayer() { @@ -287,9 +239,6 @@ namespace creaImageIO mPlayer->Run(); } - - - // BEGIN_EVENT_TABLE(WxGimmickFrame, wxDialog) // END_EVENT_TABLE() @@ -307,7 +256,7 @@ namespace creaImageIO void* WxViewerPlayer::Entry() { - GimmickMessage(1,"WxViewerPlayer::Entry()"<