X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxViewer.h;h=528336455f0fedb5e9cd2be74f5b83b78e83f13b;hb=e88bcb692a9d4bcc2ce1618a27d4fcb275a32a70;hp=f416cfc6b59fabc244d48bf491da70ba82ba385a;hpb=0475a9d0f4623a7ce65d1f8b0c14e53b305b1c10;p=creaImageIO.git diff --git a/src2/creaImageIOWxViewer.h b/src2/creaImageIOWxViewer.h index f416cfc..5283364 100644 --- a/src2/creaImageIOWxViewer.h +++ b/src2/creaImageIOWxViewer.h @@ -10,6 +10,7 @@ #include #include +#include // For image preview // vtk and wxvtk classes @@ -23,10 +24,9 @@ namespace creaImageIO class WxViewer : public wxPanel { - + public: - // friend class ThreadedMovie; - /// Ctor + /// Ctors WxViewer(); WxViewer(wxWindow *parent, const wxWindowID id, @@ -35,46 +35,41 @@ namespace creaImageIO const wxSize& size); /// Dtor virtual ~WxViewer(); - ///Shows the image in the vector as a movie - //void ShowImages(); - /// Sets the movie size - void SetMovieSize(unsigned int); - ///Sets the ith image of the movie - void SetImage(int i, vtkImageData* im); - ///Clears the selection of images - // void ClearImages(); - ///Returns true if the image vector is empty - bool ImagesEmpty(); - /// + /// Shows the next image in the image vector void ShowNextImage(); - - void OnInternalIdle(); - - void StopPlayer(); + ///Starts the image player + void StartPlayer(); + ///Stops the image player + void StopPlayer(); + ///Refreshes the interface if the current image shown has changed + bool RefreshIfNecessary(); + ///Sets a new image vector to be read + void SetImageVector(std::vector& pointers); + private: - ///Shows the image passed as parameter + ///Shows the image passed as parameter void ShowImage(vtkImageData* im); - /// Previewer vtkImageViewer2* mViewer; /// Associated wxvtk interactor crea::creawxVTKRenderWindowInteractor *mInteractor; - /// Current extent int mx1,mx2,my1,my2,mz1,mz2; /// Current spacing double mspx,mspy,mspz; - - /// The vector of images to show - std::vector images; - /// + /// Current image shown int mCurrent; ///The threaded movie player WxViewerPlayer* mPlayer; - /// The mutex wxMutex mMutex; + /// Boolean that declares if the player needs to be refreshed + bool mNeedRefresh; + ///Last image shown + vtkImageData* mLastImageShown; + ///The vectors of images to be shown + std::vector imagePointers; };