X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxViewer.h;h=528336455f0fedb5e9cd2be74f5b83b78e83f13b;hb=b029354f54449e058d14c671e7155e65b4086de6;hp=21fbf50a46981357379dbdd6d710d3c6b827eb05;hpb=7c5180e6b19690ba9a264f2a66c04bc0a03c53ef;p=creaImageIO.git diff --git a/src2/creaImageIOWxViewer.h b/src2/creaImageIOWxViewer.h index 21fbf50..5283364 100644 --- a/src2/creaImageIOWxViewer.h +++ b/src2/creaImageIOWxViewer.h @@ -10,6 +10,7 @@ #include #include +#include // For image preview // vtk and wxvtk classes @@ -19,14 +20,13 @@ namespace creaImageIO { - class ThreadedMovie; + class WxViewerPlayer; - class WxViewer : public wxFrame + class WxViewer : public wxPanel { - - public: - friend class ThreadedMovie; - /// Ctor + + public: + /// Ctors WxViewer(); WxViewer(wxWindow *parent, const wxWindowID id, @@ -35,30 +35,41 @@ namespace creaImageIO const wxSize& size); /// Dtor virtual ~WxViewer(); - ///Shows the image in the vector as a movie - void ShowImages(); - ///Shows the image passed as parameter - void ShowImage(vtkImageData* im); - ///Adds an image to the selection - void AddImage(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(); + ///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: - /// Previewer + ///Shows the image passed as parameter + void ShowImage(vtkImageData* im); + /// Previewer vtkImageViewer2* mViewer; /// Associated wxvtk interactor - crea::creawxVTKRenderWindowInteractor *mInteractor; - + 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; - ///The threaded movie - ThreadedMovie* mMovie; + /// 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; };