1 /*=========================================================================
4 Module: $RCSfile: bbvtkImagePlanes.h,v $
6 Date: $Date: 2008/04/18 12:59:52 $
7 Version: $Revision: 1.3 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*//**
18 * \brief Short description in one line
20 * Long description which
21 * can span multiple lines
25 * \brief Pattern for the definition of a new type of Node (header)
28 * \class bbtk::NodePatern
29 * \brief Pattern for the definition of a new type of Node
36 #ifndef __bbvtkImagePlanes_h_INCLUDED__
37 #define __bbvtkImagePlanes_h_INCLUDED__
40 #include "bbtkAtomicBlackBox.h"
42 #include "vtkImageData.h"
43 //#include "vtkOutlineFilter.h"
44 //#include "vtkPolyDataMapper.h"
45 //#include "vtkActor.h"
46 #include "vtkImagePlaneWidget.h"
47 #include "vtkCellPicker.h"
48 //#include "vtkProperty.h"
50 //#include "vtkRenderer.h"
51 //#include "vtkCamera.h"
58 class /*BBTK_EXPORT*/ ImagePlanes : public bbtk::AtomicBlackBox
61 BBTK_BLACK_BOX_INTERFACE(ImagePlanes,bbtk::AtomicBlackBox);
62 // BBTK_DECLARE_INPUT(Contour,int);
63 BBTK_DECLARE_INPUT(In,vtkImageData *);
64 BBTK_DECLARE_OUTPUT(PlaneX,vtkImagePlaneWidget*);
65 BBTK_DECLARE_OUTPUT(PlaneY,vtkImagePlaneWidget*);
66 BBTK_DECLARE_OUTPUT(PlaneZ,vtkImagePlaneWidget*);
67 BBTK_PROCESS(Process);
71 virtual void bbUserConstructor();
72 virtual void bbUserCopyConstructor();
75 vtkImagePlaneWidget* planeWidgetX;
76 vtkImagePlaneWidget* planeWidgetY;
77 vtkImagePlaneWidget* planeWidgetZ;
80 //=================================================================
81 // UserBlackBox description
82 BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImagePlanes,bbtk::AtomicBlackBox);
83 BBTK_NAME("ImagePlanes");
84 BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
85 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)");
86 BBTK_CATEGORY("3D object creator");
87 BBTK_INPUT(ImagePlanes,In,"Input Image",vtkImageData *,"");
88 BBTK_OUTPUT(ImagePlanes,PlaneX,"The image plane in X direction",vtkImagePlaneWidget*,"");
89 BBTK_OUTPUT(ImagePlanes,PlaneY,"The image plane in Y direction",vtkImagePlaneWidget*,"");
90 BBTK_OUTPUT(ImagePlanes,PlaneZ,"The image plane in Z direction",vtkImagePlaneWidget*,"");
91 BBTK_END_DESCRIBE_BLACK_BOX(ImagePlanes);
92 //=================================================================
100 #endif //__bbtvtkImagePlanes_h__