]> Creatis software - bbtk.git/blob - packages/kw/src/bbkwViewer3D.h
3485a6791244b5fbdb098bfc47fef288fc13be0b
[bbtk.git] / packages / kw / src / bbkwViewer3D.h
1 /*=========================================================================
2                                                                                 
3   Program:   bbtk
4   Module:    $RCSfile: bbkwViewer3D.h,v $
5   Language:  C++
6   Date:      $Date: 2008/12/16 12:48:08 $
7   Version:   $Revision: 1.1 $
8                                                                                 
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.
12                                                                                 
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.
16                                                                                 
17 =========================================================================*//**
18  * \brief Short description in one line
19  * 
20  * Long description which 
21  * can span multiple lines
22  */
23 /**
24  * \file 
25  * \brief Pattern for the definition of a new type of Node (header)
26  */
27 /**
28  * \class bbtk::NodePatern 
29  * \brief Pattern for the definition of a new type of Node 
30  */
31
32
33 #ifdef USE_KWWIDGETS
34 #ifdef USE_VTK
35
36
37 #ifndef __bbkwViewer3D_h__
38 #define __bbkwViewer3D_h__
39
40 #include "bbtkKWBlackBox.h"
41 #include "vtkProp3D.h"
42 #include "vtkInteractorObserver.h"
43
44 #include "bbkw_EXPORT.h"
45
46 namespace bbkw
47 {
48
49   //------------------------------------------------------------------------  
50   class bbkw_EXPORT kwViewer3D : public bbtk::KWBlackBox
51   {    
52     BBTK_BLACK_BOX_INTERFACE(kwViewer3D,bbtk::KWBlackBox);
53     BBTK_DECLARE_INPUT(In1, vtkProp3D *);
54     BBTK_DECLARE_INPUT(In2, vtkProp3D *);
55     BBTK_DECLARE_INPUT(In3, vtkProp3D *);
56     BBTK_DECLARE_INPUT(In4, vtkProp3D *);
57     BBTK_DECLARE_INPUT(In5, vtkProp3D *);
58     BBTK_DECLARE_INPUT(Obs1, vtkInteractorObserver *);
59     BBTK_DECLARE_INPUT(Obs2, vtkInteractorObserver *);
60     BBTK_DECLARE_INPUT(Obs3, vtkInteractorObserver *);
61     BBTK_DECLARE_INPUT(Obs4, vtkInteractorObserver *);
62     BBTK_DECLARE_INPUT(Obs5, vtkInteractorObserver *);
63     BBTK_PROCESS(Process);
64     BBTK_CREATE_KWWIDGET(CreateWidget);
65     //    BBTK_ON_SHOW_WIDGET(OnShowWidget);
66   
67     void Process();
68     void CreateWidget(vtkKWFrame*);
69     //    void OnShowWidget();
70
71   protected:
72     virtual void bbUserConstructor();
73     virtual void bbUserDestructor();
74   };
75    
76   //=================================================================
77   // UserBlackBox description
78   BBTK_BEGIN_DESCRIBE_BLACK_BOX(kwViewer3D,bbtk::KWBlackBox);
79   BBTK_NAME("kwViewer3D");
80   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
81   BBTK_DESCRIPTION("3D viewer widget (vtkKWRenderWidget)");
82   BBTK_CATEGORY("viewer");
83   BBTK_INPUT(kwViewer3D,In1,"Input actor",vtkProp3D *,"");
84   BBTK_INPUT(kwViewer3D,In2,"Input actor",vtkProp3D *,"");
85   BBTK_INPUT(kwViewer3D,In3,"Input actor",vtkProp3D *,"");
86   BBTK_INPUT(kwViewer3D,In4,"Input actor",vtkProp3D *,"");
87   BBTK_INPUT(kwViewer3D,In5,"Input actor",vtkProp3D *,"");
88   BBTK_INPUT(kwViewer3D,Obs1,"Input observer",vtkInteractorObserver *,"");
89   BBTK_INPUT(kwViewer3D,Obs2,"Input observer",vtkInteractorObserver *,"");
90   BBTK_INPUT(kwViewer3D,Obs3,"Input observer",vtkInteractorObserver *,"");
91   BBTK_INPUT(kwViewer3D,Obs4,"Input observer",vtkInteractorObserver *,"");
92   BBTK_INPUT(kwViewer3D,Obs5,"Input observer",vtkInteractorObserver *,"");
93   BBTK_END_DESCRIBE_BLACK_BOX(kwViewer3D);
94   //=================================================================
95
96
97 }//namespace bbtk
98
99 #endif  //__bbkwViewer3D_h__
100
101 #endif //USE_KW
102 #endif //USE_VTK
103