]> Creatis software - bbtk.git/blob - packages/kw/src/bbkwViewer3D.cxx
0e427168f4b73c674e5809e326ccb27d699394ac
[bbtk.git] / packages / kw / src / bbkwViewer3D.cxx
1 /*=========================================================================
2                                                                                 
3   Program:   bbtk
4   Module:    $RCSfile: bbkwViewer3D.cxx,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 /**
19  *  \file 
20  *  \brief 
21  */
22
23
24 #ifdef _USE_WXWIDGETS_
25
26
27 #include "bbkwViewer3D.h"
28 #include "bbkwPackage.h"
29
30 #include "vtkKWRenderWidget.h"
31
32 namespace bbkw
33 {
34
35   BBTK_ADD_BLACK_BOX_TO_PACKAGE(kw,kwViewer3D);
36   BBTK_BLACK_BOX_IMPLEMENTATION(kwViewer3D,bbtk::KWBlackBox);
37
38   void kwViewer3D::bbUserConstructor() 
39   { 
40     bbSetInputIn1(NULL);
41     bbSetInputIn2(NULL);
42     bbSetInputIn3(NULL);
43     bbSetInputIn4(NULL);
44     bbSetInputIn5(NULL);
45     bbSetInputObs1(NULL);
46     bbSetInputObs2(NULL);
47     bbSetInputObs3(NULL);
48     bbSetInputObs4(NULL);
49     bbSetInputObs5(NULL);
50     bbSetOutputWidget(NULL);
51   }
52   
53   void kwViewer3D::bbUserDestructor() 
54   { 
55     /*
56    vtkKWRenderWidget* w = (vtkKWRenderWidget*)bbGetOutputWidget();
57     if (w) 
58       {
59         w->Delete();
60       }
61     */
62   }
63
64   void kwViewer3D::Process() 
65   { 
66     vtkKWRenderWidget* w = (vtkKWRenderWidget*)bbGetOutputWidget();
67     if (w) 
68       {
69         if ( (bbGetInputIn1()!=NULL) &&
70              (bbGetInputStatus("In1")!=bbtk::UPTODATE))
71           {
72             w->AddViewProp(bbGetInputIn1());
73           }
74         if ( (bbGetInputIn2()!=NULL) &&
75              (bbGetInputStatus("In2")!=bbtk::UPTODATE))
76           {
77             w->AddViewProp(bbGetInputIn2());
78           }
79         if ( (bbGetInputIn3()!=NULL) &&
80              (bbGetInputStatus("In3")!=bbtk::UPTODATE))
81           {
82             w->AddViewProp(bbGetInputIn3());
83           }
84         if ( (bbGetInputIn4()!=NULL) &&
85              (bbGetInputStatus("In4")!=bbtk::UPTODATE))
86           {
87             w->AddViewProp(bbGetInputIn4());
88           }
89         if ( (bbGetInputIn5()!=NULL) &&
90              (bbGetInputStatus("In5")!=bbtk::UPTODATE))
91           {
92             w->AddViewProp(bbGetInputIn5());
93           }
94         w->ResetCamera();
95         w->Render();
96       }
97   }
98   
99
100   void kwViewer3D::CreateWidget(vtkKWFrame* parent)
101   {
102     vtkKWRenderWidget *w = vtkKWRenderWidget::New();
103     bbSetOutputWidget(w);
104     w->SetParent((vtkKWWidget*)parent);
105     w->Create();
106     w->SetRenderModeToInteractive();
107
108     Process();
109     w->Delete();
110     /*
111     vtkRenderWindowInteractor *interactor = w->GetInteractor();
112     if (interactor!=NULL)
113       {
114         if (bbGetInputObs1()!=NULL) 
115           {
116             bbGetInputObs1()->SetInteractor(interactor);
117             bbGetInputObs1()->EnabledOn();
118           }
119         if (bbGetInputObs2()!=NULL) 
120           {
121             bbGetInputObs2()->SetInteractor(interactor);
122             bbGetInputObs2()->EnabledOn();
123           }
124         if (bbGetInputObs3()!=NULL) 
125           {
126             bbGetInputObs3()->SetInteractor(interactor);
127             bbGetInputObs3()->EnabledOn();
128           }
129         if (bbGetInputObs4()!=NULL) 
130           {
131             bbGetInputObs4()->SetInteractor(interactor);
132             bbGetInputObs4()->EnabledOn();
133           }
134         if (bbGetInputObs5()!=NULL) 
135           {
136             bbGetInputObs5()->SetInteractor(interactor);
137             bbGetInputObs5()->EnabledOn();
138           }
139         bbSetOutputInteractor(  w->GetInteractor() );
140       }
141    
142
143     */
144     
145   }
146
147
148
149
150 }//namespace bbkw
151
152 #endif
153