*/
#include <creaImageIOWxViewer.h>
-#include <creaImageIOSystem.h>
+
#include <fstream>
#include <vtkCamera.h>
#include <vtkRenderer.h>
#include <vtkImageData.h>
-#include <creawxVTKRenderWindowInteractor.h>
#include <creaMessageManager.h>
#include <stdio.h>
#include <time.h>
//=====================================================================
+ class wxThreadEED3
+ {
+ public:
+ void Delete() { printf("EED wxThreadEED3::Delete() \n"); }
+ int Run() { printf("EED wxThreadEED3::Run() \n"); return 0;}
+ void Pause() { printf("EED wxThreadEED3::Pause() \n"); }
+ void Create() { printf("EED wxThreadEED3::Create() \n"); }
+ bool IsAlive() { printf("EED wxThreadEED3::IsAlive() \n"); return false; }
+ bool TestDestroy() { printf("EED wxThreadEED3::TestDestroy() \n"); return false; }
+ int GetCurrentId() { printf("EED wxThreadEED3::GetCurrentId() \n"); return -999; }
+ };
+
+
//=====================================================================
+//EED 2018-08-20
+// class WxViewerPlayer: public wxThreadEED3
class WxViewerPlayer: public wxThread
{
public:
size)
{
wxMutexLocker lock(mMutex);
- GimmickDebugMessage(6,"WxViewer::WxViewer"
- <<std::endl);
+ GimmickDebugMessage(6,"WxViewer::WxViewer" <<std::endl);
- mNeedRefresh = false;
+ mNeedRefresh = false;
mLastImageShown = NULL;
// previewer
- mInteractor = new crea::creawxVTKRenderWindowInteractor(this,-1);
+ mInteractor = new crea::wxVTKRenderWindowInteractor(this,-1);
mInteractor->UseCaptureMouseOn();
mViewer = vtkImageViewer2::New();
mViewer->SetupInteractor ( mInteractor );
- mCurrent = 0;
- mPlayer = 0;
+ mCurrent = 0;
+ mPlayer = NULL;
// Grid to place checkbox and slider
mflexSizer = new wxFlexGridSizer(1,2,1,1);
WxViewer::~WxViewer()
{
wxMutexLocker lock(mMutex);
- GimmickDebugMessage(6,"WxViewer::~WxViewer"
- <<std::endl);
+ GimmickDebugMessage(6,"WxViewer::~WxViewer"<<std::endl);
// TO DO : desallocate cleanly
if(mPlayer)
{
GimmickDebugMessage(6,"WxViewer::SetImageVector"<<std::endl);
imagePointers=pointers;
- mslide->SetMax(pointers.size());
+ mslide->SetMax((int)pointers.size());
mslide->SetMin(1);
// Refresh don't work, TO MODIFY
mslide->Refresh();
void WxViewer::ShowNextImage()
{
-
-
- mMutex.Unlock();
+ mMutex.Unlock();
wxMutexLocker lock(mMutex);
GimmickMessage(2,"WxViewer::ShowNextImage() "
mNeedRefresh = true;
mLastImageShown = currIm;
}
- mCurrent++;
- }
- else
- {
+ mCurrent++;
+ } else {
mCurrent = 0;
//ImagePointerHolder* iph=imagePointers[mCurrent];
boost::shared_ptr<ImagePointerHolder> iph = imagePointers[mCurrent];
mLastImageShown = currIm;
}
mCurrent++;
- }
- }
+ } // if mCurrent
+ } // if imagePointers
}
//================================================================
<<std::endl);
if (im==0) return;
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
mViewer->SetInput(im);
+#else
+ mViewer->SetInputData(im);
+#endif
mViewer->SetSlice( 0 );
int x1,x2,y1,y2,z1,z2;
double spx,spy,spz;
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
im->Update();
+#else
+ // ...
+#endif
+
//std::cout << "in WxViewer::ShowImage PrintSelf() =";
//im->PrintSelf(std::cout, vtkIndent(2));
im->GetSpacing(spx,spy,spz);
//im->GetExtent (x1,x2,y1,y2,z1,z2); // JPR
+
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
im->GetWholeExtent (x1,x2,y1,y2,z1,z2);
+#else
+ im->GetExtent (x1,x2,y1,y2,z1,z2);
+#endif
+
+
/*
std::cout << "in WxViewer::ShowImage GetWholeExtent ext =";
std::cout << " [x1]=" << x1;
//================================================================
bool WxViewer::RefreshIfNecessary()
{
- if (mNeedRefresh)
- {
- GimmickDebugMessage(10,"WxViewer : Refreshing"<<std::endl);
-
- mInteractor->Render();
- mNeedRefresh = false;
- return true;
- }
+ if (mNeedRefresh==true)
+ {
+ GimmickDebugMessage(10,"WxViewer : Refreshing"<<std::endl);
+ mInteractor->Render();
+ mNeedRefresh = false;
+ return true;
+ }
return false;
}
//================================================================
void WxViewer::StopPlayer()
{
wxMutexLocker lock(mMutex);
- if (mPlayer==0 ) return;
+ if (mPlayer==NULL ) return;
mPlayer->Delete();
- mPlayer=0;
+ mPlayer=NULL;
mMutex.Unlock();
}
//================================================================
if(mcheck->IsChecked())
{
// wxMutexLocker lock(mMutex);
- if (mPlayer != 0) return;
+ if (mPlayer != NULL) return;
mPlayer = new WxViewerPlayer(this);
mPlayer->Create();
mPlayer->Run();
- }
- else
- {
+ } else {
ShowNextImage();
- }
+ } // if
}
//================================================================
{
mPlayer->Pause();
mPlayer->Delete();
- mPlayer = 0;
+ mPlayer = NULL;
}
StartPlayer();
}