/*========================================================================= Program: bbtk Module: $RCSfile: bbwxvtkViewer2D.h,v $ Language: C++ Date: $Date: 2008/03/03 13:14:27 $ Version: $Revision: 1.1 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*//** * \brief Short description in one line * * Long description which * can span multiple lines */ /** * \file * \brief */ /** * \class Viewer2D * \brief */ #ifdef _USE_WXWIDGETS_ #ifdef _USE_VTK_ #ifndef __bbwxvtkViewer2D_h__ #define __bbwxvtkViewer2D_h__ #include "vtkImageData.h" #include "vtkImageViewer2.h" #include "vtkImplicitPlaneWidget.h" #include "bbtkWxBlackBox.h" #include "wxVTKRenderWindowInteractor.h" namespace bbwxvtk { class Viewer2D; //-------------------------------------------------------------------------- class Viewer2DWidget : public wxPanel { public: Viewer2DWidget(Viewer2D* box, wxWindow *parent); ~Viewer2DWidget(); void Update(); private: Viewer2D *mBox; vtkImageViewer2 *imageViewer; vtkImageData *backImageData; wxVTKRenderWindowInteractor *wxvtkrenderwindowinteractor; vtkImplicitPlaneWidget * maPlane1, * maPlane2, * mbPlane1, * mbPlane2; }; //------------------------------------------------------------------------ //------------------------------------------------------------------------ //------------------------------------------------------------------------ class /*BBTK_EXPORT*/ Viewer2D : public bbtk::WxBlackBox { BBTK_USER_BLACK_BOX_INTERFACE(Viewer2D,bbtk::WxBlackBox); BBTK_DECLARE_INPUT(Slice,int); BBTK_DECLARE_INPUT(Orientation,int); BBTK_DECLARE_INPUT(In,vtkImageData *); BBTK_DECLARE_OUTPUT(Out,int); BBTK_PROCESS(Process); void Process(); BBTK_CREATE_WIDGET(CreateWidget); void CreateWidget(); }; //================================================================= // UserBlackBox description BBTK_BEGIN_DESCRIBE_BLACK_BOX(Viewer2D,bbtk::WxBlackBox); BBTK_NAME("Viewer2D"); BBTK_AUTHOR("eduardo.davila@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Viewer2D widget (vtk)"); BBTK_CATEGORY("viewer"); BBTK_INPUT(Viewer2D,Slice,"Position of the slider",int); BBTK_INPUT(Viewer2D,Orientation,"Slicing orientation : 0:yz / 1:xz / 2:xy",int); BBTK_INPUT(Viewer2D,In,"Input Image",vtkImageData *); BBTK_OUTPUT(Viewer2D,Out,"Position of the slider",int); BBTK_END_DESCRIBE_BLACK_BOX(Viewer2D); //================================================================= }//namespace bbwxvtk #endif //__bbwxvtkViewer2D_h__ #endif //_USE_VTK_ #endif //_USE_WXWIDGETS_