/*========================================================================= Program: bbtk Module: $RCSfile: bbvtkImagePlanes.h,v $ Language: C++ Date: $Date: 2008/04/18 12:59:52 $ Version: $Revision: 1.3 $ 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 Pattern for the definition of a new type of Node (header) */ /** * \class bbtk::NodePatern * \brief Pattern for the definition of a new type of Node */ #ifdef _USE_VTK_ #ifndef __bbvtkImagePlanes_h_INCLUDED__ #define __bbvtkImagePlanes_h_INCLUDED__ #include "bbtkAtomicBlackBox.h" #include "vtkImageData.h" //#include "vtkOutlineFilter.h" //#include "vtkPolyDataMapper.h" //#include "vtkActor.h" #include "vtkImagePlaneWidget.h" #include "vtkCellPicker.h" //#include "vtkProperty.h" //#include "vtkRenderer.h" //#include "vtkCamera.h" namespace bbvtk { class /*BBTK_EXPORT*/ ImagePlanes : public bbtk::AtomicBlackBox { public: BBTK_BLACK_BOX_INTERFACE(ImagePlanes,bbtk::AtomicBlackBox); // BBTK_DECLARE_INPUT(Contour,int); BBTK_DECLARE_INPUT(In,vtkImageData *); BBTK_DECLARE_OUTPUT(PlaneX,vtkImagePlaneWidget*); BBTK_DECLARE_OUTPUT(PlaneY,vtkImagePlaneWidget*); BBTK_DECLARE_OUTPUT(PlaneZ,vtkImagePlaneWidget*); BBTK_PROCESS(Process); void Process(); protected: virtual void bbUserConstructor(); virtual void bbUserCopyConstructor(); void Init(); private: vtkImagePlaneWidget* planeWidgetX; vtkImagePlaneWidget* planeWidgetY; vtkImagePlaneWidget* planeWidgetZ; }; //================================================================= // UserBlackBox description BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImagePlanes,bbtk::AtomicBlackBox); BBTK_NAME("ImagePlanes"); BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr"); BBTK_DESCRIPTION("Creates three 3D planes with the input image mapped onto with which the user can interact. The output vtkImagePlaneWidget objects are to be inserted into a 3D scene (e.g. a Viewer3D)"); BBTK_CATEGORY("3D object creator"); BBTK_INPUT(ImagePlanes,In,"Input Image",vtkImageData *,""); BBTK_OUTPUT(ImagePlanes,PlaneX,"The image plane in X direction",vtkImagePlaneWidget*,""); BBTK_OUTPUT(ImagePlanes,PlaneY,"The image plane in Y direction",vtkImagePlaneWidget*,""); BBTK_OUTPUT(ImagePlanes,PlaneZ,"The image plane in Z direction",vtkImagePlaneWidget*,""); BBTK_END_DESCRIBE_BLACK_BOX(ImagePlanes); //================================================================= }//namespace bbvtk #endif //__bbtvtkImagePlanes_h__ #endif //_USE_VTK_