]> Creatis software - creaWT.git/blob - wt/bbtk_wt_PKG/src/bbwtRender3D.cxx
2498 BBTK FeatureNewNormal wt-version PackageWt
[creaWT.git] / wt / bbtk_wt_PKG / src / bbwtRender3D.cxx
1 //===== 
2 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
3 //===== 
4 #include "bbwtRender3D.h"
5 #include "bbwtPackage.h"
6 #include "bbtkUtilities.h"
7
8 namespace bbwt
9 {
10
11 BBTK_ADD_BLACK_BOX_TO_PACKAGE(wt,Render3D)
12 BBTK_BLACK_BOX_IMPLEMENTATION(Render3D,bbtk::WtBlackBox);
13 //===== 
14 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
15 //===== 
16 void Render3D::Process()
17 {
18
19 // THE MAIN PROCESSING METHOD BODY
20 //   Here we simply set the input 'In' value to the output 'Out'
21 //   And print out the output value
22 // INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
23 //    void bbSet{Input|Output}NAME(const TYPE&)
24 //    const TYPE& bbGet{Input|Output}NAME() const 
25 //    Where :
26 //    * NAME is the name of the input/output
27 //      (the one provided in the attribute 'name' of the tag 'input')
28 //    * TYPE is the C++ type of the input/output
29 //      (the one provided in the attribute 'type' of the tag 'input')
30
31
32 /*
33                 std::cout<<"DEBUG -----------------------------------------------   3    -----------------"<<std::endl;
34
35 std::cout<<"DEBUG    XTK --------------- PROCESS   RENDER 3D  ----  "<<std::endl;
36
37     Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget();
38         std::cout<<"DEBUG --------------------------------------------   4    -----------------"<<std::endl;
39     Wt::WContainerWidget* aux;
40 //    std::string cadena = "var nue = new X.mesh();nue.file = 'http://x.babymri.org/?skull.vtk';"+w->jsRef()+".mRender.add(nue);        ";
41     std::string cadena = "";
42                 if((aux=bbCreateWidgetOfInput("Image1",w))!=0)
43                 {
44                 std::cout<<"DEBUG --------------------------------------------   9    -----------------"<<std::endl;
45                         cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";
46                 std::cout<<"EXISTE  +++++++++++++++++++++  " + aux->jsRef()<<std::endl;
47                 }
48 /*              if((aux=bbCreateWidgetOfInput("Image2",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
49                 if((aux=bbCreateWidgetOfInput("Image3",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
50                 if((aux=bbCreateWidgetOfInput("Image4",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
51                 if((aux=bbCreateWidgetOfInput("Image5",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
52                 if((aux=bbCreateWidgetOfInput("Image6",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
53                 if((aux=bbCreateWidgetOfInput("Image7",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
54                 if((aux=bbCreateWidgetOfInput("Image8",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
55                 if((aux=bbCreateWidgetOfInput("Image9",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
56 */
57 /*
58                 cadena = cadena + "" + w->jsRef() + ".mRender.render();";
59 std::cout<<" DEBUG XTK  -----PROCESS RENDER STRING ---"<<cadena<<std::endl;
60         std::cout<<"DEBUG --------------------------------------------   10    -----------------"<<std::endl;
61 /*      if(initDone == false)
62         {
63         std::cout<<"DEBUG --------------------------------------------   11    -----------------"<<std::endl;
64                 std::string cadena1 =" \
65                                                                                                         var mRender = new X.renderer3D();       \
66                                                                                                         mRender.container = '" +w->id()+ "';    \
67                                                                                                         mRender.init(); \
68                                                                                                         " + w->jsRef() + ".mRender = mRender;   ";
69         //      w->doJavaScript(cadena1);
70                 initDone = true;
71         }
72 */
73
74         //      w->doJavaScript(cadena);
75
76
77                 Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget();
78                 Wt::WWidget* aux;
79                 std::string cadena = "";
80                 /*int count = w->count();
81                 //int i=0;
82                 /*for(int i =0;i<count;i++)
83                 {
84                         aux = w->widget(i);
85                         cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";
86                         w->doJavaScript("alert('EXISTE   ---' + " + aux->jsRef() + ".mObject.classname + ' -----' + "+aux->jsRef()+".mObject.file);");
87                 }*/
88 /*              if((aux=bbCreateWidgetOfInput("Image1",w))!=0)
89                 {
90                         cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";
91                         
92                         w->doJavaScript("alert('EXISTE   ---' + " + aux->jsRef() + ".mObject.classname + ' -----' + "+aux->jsRef()+".mObject.file);");
93                         std::cout<<"                ---------  Object consultado con ref  :   "<<aux->jsRef()<<std::endl;
94                         //w->doJavaScript("alert("+aux->jsRef() + ".mObject.file);");
95                 }
96 */
97
98
99                 if(bbGetInputImage1() != "")
100                 {
101                         cadena = cadena + "" + w->jsRef() + ".mRender.add(" + bbGetInputImage1() + ".mObject);";
102                         w->doJavaScript("alert('EXISTE   ---' + " +bbGetInputImage1() + ".mObject.classname + ' -----' + "+bbGetInputImage1()+".mObject.file);");
103                 }
104
105                 cadena = cadena + "" + w->jsRef() + ".mRender.render();";
106                 //std::cout<<"---------------------------------------------------------------CA:"<<cadena<<std::endl;
107                 w->doJavaScript(cadena);
108         
109
110
111 }
112
113 void Render3D::CreateWidget(Wt::WContainerWidget* parent)
114 {
115 /*
116         std::cout<<"DEBUG ------------------------------------------   1    -----------------"<<std::endl;
117         initDone = false;
118         std::cout<<"DEBUG XTK CREANDO RENDERER --------"<<std::endl;
119         Wt::WContainerWidget *w = new Wt::WContainerWidget(parent);
120         
121         std::string cadena1 =" \
122                                                                                                         var mRender = new X.renderer3D();       \
123                                                                                                         mRender.container = '" +w->id()+ "';    \
124                                                                                                         mRender.init(); \
125                                                                                                         " + w->jsRef() + ".mRender = mRender;   ";
126         w->doJavaScript(cadena1);
127
128
129
130         bbSetOutputWidget(w);
131         std::cout<<"DEBUG --------------------------------------------   2    -----------------"<<std::endl;
132         Process();
133         //this->bbSignalOutputModification();
134         //Process();
135 */
136
137         Wt::WContainerWidget *w = new Wt::WContainerWidget(parent);
138         
139         std::string cadena1 =" \
140                                                                                                         var mRender = new X.renderer3D();       \
141                                                                                                         mRender.container = '" +w->id()+ "';    \
142                                                                                                         mRender.init(); \
143                                                                                                         " + w->jsRef() + ".mRender = mRender;   ";
144         w->doJavaScript(cadena1);
145
146         Wt::WContainerWidget* aux;
147
148 /*      if((aux=bbCreateWidgetOfInput("Image1",w))!=0)
149         {
150                 w->addWidget(aux);
151         }*/
152 /*              if((aux=bbCreateWidgetOfInput("Image2",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
153                 if((aux=bbCreateWidgetOfInput("Image3",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
154                 if((aux=bbCreateWidgetOfInput("Image4",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
155                 if((aux=bbCreateWidgetOfInput("Image5",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
156                 if((aux=bbCreateWidgetOfInput("Image6",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
157                 if((aux=bbCreateWidgetOfInput("Image7",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
158                 if((aux=bbCreateWidgetOfInput("Image8",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
159                 if((aux=bbCreateWidgetOfInput("Image9",w))!=0){cadena = cadena + "" + w->jsRef() + ".mRender.add(" + aux->jsRef() + ".mObject);";}
160 */
161
162         bbSetOutputWidget(w);
163         //Process();
164
165 }
166
167
168 //===== 
169 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
170 //===== 
171 void Render3D::bbUserSetDefaultValues()
172 {
173
174 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
175 //    Here we initialize the input 'In' to 0
176    bbSetInputImage1("");
177 /*   bbSetInputImage2(0);
178    bbSetInputImage3(0);
179    bbSetInputImage4(0);
180    bbSetInputImage5(0);
181    bbSetInputImage6(0);
182    bbSetInputImage7(0);
183    bbSetInputImage8(0);
184    bbSetInputImage9(0);
185 */
186   
187 }
188 //===== 
189 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
190 //===== 
191 void Render3D::bbUserInitializeProcessing()
192 {
193
194 //  THE INITIALIZATION METHOD BODY :
195 //    Here does nothing 
196 //    but this is where you should allocate the internal/output pointers 
197 //    if any 
198
199   
200 }
201 //===== 
202 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
203 //===== 
204 void Render3D::bbUserFinalizeProcessing()
205 {
206
207 //  THE FINALIZATION METHOD BODY :
208 //    Here does nothing 
209 //    but this is where you should desallocate the internal/output pointers 
210 //    if any
211   
212 }
213 }
214 // EO namespace bbwt
215
216