]> Creatis software - creaMaracasVisu.git/blob - bbtk/bbs/boxes/Mesh_tool_ApplySurface.bbs
#3533 Update Curent contour and actual point ShowNPoints in Undo Redo
[creaMaracasVisu.git] / bbtk / bbs / boxes / Mesh_tool_ApplySurface.bbs
1 # ----------------------------------
2 # - BBTKGEditor v 1.5 BBS BlackBox Script (Complex Box)
3 # - /Users/davila/Creatis/C23/creatools_source/creaMaracasVisu/bbtk/bbs/boxes/Mesh_tool_ApplySurface.bbs
4 # ----------------------------------
5
6 include std
7 include itkvtk
8 include creaMaracasVisu
9 include creaVtk
10 include wx
11 include vtk
12 include std
13
14 define Mesh_tool_ApplySurface creaMaracasVisu
15
16 author "info-dev@creatis.insa-lyon.fr"
17 description "Show N Points"
18
19 category "demo"
20
21 new creaMaracasVisu:ShowNPoints showNpoints
22   set showNpoints.Radio "2"
23   set showNpoints.Type "4"
24
25 new creaVtk:CreateMeshFromPoints Box04
26
27 new creaMaracasVisu:ManualContourModel_Box Box06
28   set Box06.DoubleContour "1"
29   set Box06.NbPoints "100"
30
31 new wx:LayoutLine Box08
32
33 new vtk:UpdateRender Box11
34   set Box11.Active "true"
35
36 new creaMaracasVisu:DrawAxisTree3D Box30
37   set Box30.Colour "0 0 1"
38   set Box30.LineWidth "2"
39
40 new std:MultipleInputs Box31
41
42 new creaMaracasVisu:ManualContourModel_Box Box29
43   set Box29.NbPoints "40"
44
45 new creaMaracasVisu:wxPopupMenu Box57
46   set Box57.WithCtrlKey "true"
47
48 new std:AddStringToVector Box58
49   set Box58.In0 "+  Add point"
50   set Box58.In1 "(+)  Insert point"
51   set Box58.In2 "Track point"
52   set Box58.In3 "Set Nearest point"
53   set Box58.In4 "-  Erase point"
54   set Box58.In5 "--  Delete all points"
55   set Box58.In6 "----------------------"
56   set Box58.In7 "+>  Insert group after"
57   set Box58.In8 "- Delete group"
58   set Box58.In9 "Tool - Create Volume Surface from 3 or 4 points (use Close Spline 2 - Close Surface Off)"
59
60 new creaMaracasVisu:ShowNPoints_Tools Box60
61
62 new vtk:ImageVtkProperties Box68
63
64 new std:VectorFilterDouble Box70
65   set Box70.Type "11"
66
67 new creaVtk:BooleanOperationPolyDataFilter Box77
68   set Box77.BoxProcessMode "Manual"
69   set Box77.ReorientDifferenceCells "false"
70
71 new wx:ComboBox Box78
72   set Box78.In "Union Intersection Difference"
73
74 new wx:LayoutLine Box79
75   set Box79.Orientation "H"
76   set Box79.WinTitle "New Surface ( Magenta  =  Red+Yellow )"
77
78 new wx:CommandButton Box80
79   set Box80.Label "Run"
80
81 new std:MagicBox Box66
82
83 new std:MagicBox Box67
84
85 new creaMaracasVisu:PolyDataToActor_Widget Box48
86
87 new vtk:vtkImageDataPointerRelay Box35
88
89 new wx:Slider Box34
90   set Box34.In "50"
91   set Box34.Label "true"
92   set Box34.Max "100"
93   set Box34.Min "0"
94   set Box34.ReactiveOnTrack "true"
95   set Box34.Title "Splines Opacity"
96
97 new std:Div Box36
98   set Box36.In2 "100"
99
100 new creaMaracasVisu:PolyDataToActor_Widget Box37
101   set Box37.color "0 1 1"
102   set Box37.meshOpacity "100"
103
104 new wx:LayoutLine Box38
105   set Box38.Orientation "H"
106   set Box38.WinTitle "Interpolated Surface (Yellow)"
107
108 new wx:LayoutTab Box39
109
110 new wx:LayoutTab Box40
111
112 new wx:CommandButton Box42
113   set Box42.Label "Apply  (Magenta->To Red)"
114
115 new wx:CommandButton Box43
116   set Box43.Label "Reset Tool"
117
118 new wx:LayoutLine Box44
119   set Box44.Orientation "V"
120   set Box44.WinTitle "1.2   Mesh Action"
121
122 new creaVtk:MeshManager_tool Box45
123   set Box45.Tool "30"
124
125 new std:MagicBox Box46
126
127 new wx:ComboBox Box49
128   set Box49.In "25 50 100 150"
129   set Box49.Selection "1"
130   set Box49.Title "Number of Points"
131
132 new wx:LayoutLine Box50
133   set Box50.Orientation "V"
134   set Box50.WinTitle "Config"
135
136 new std:MultipleInputs Box51
137
138 new creaMaracasVisu:ShowNPoints_Tools Box52
139   set Box52.Type "120"
140
141 new std:MultipleInputs Box53
142
143 new std:MultipleInputs Box55
144
145 new creaMaracasVisu:MeshContours_Widget Box62
146   set Box62.colorMesh "1 1 0"
147
148 new std:MagicBox Box63
149
150 new std:MagicBox Box64
151
152 new std:MagicBox Box65
153
154 new std:MagicBox Box69
155
156 new std:MagicBox Box71
157
158 new creaMaracasVisu:MeshContours_Widget Box72
159   set Box72.colorMesh "0 1 1"
160
161 new wx:LayoutLine Box81
162   set Box81.WinTitle "Step 1.   Surface"
163
164 new wx:LayoutTab Box82
165
166 new wx:OutputText Box84
167
168 new wx:LayoutTab Box86
169
170 new creaVtk:MeshManager Box92
171
172 new creaVtk:MeshManager_tool Box93
173   set Box93.Tool "35"
174
175 new std:MagicBox Box94
176
177 new creaMaracasVisu:wxVtkBaseView_Info Box96
178
179 new creaVtk:PolyDataNormals Box97
180
181 new wx:LayoutLine Box98
182   set Box98.Orientation "H"
183
184 new std:AddStringToVector Box99
185   set Box99.In0 "Auto Add Points (Start/Stop)"
186
187 new std:VectorFilterString Box100
188   set Box100.In0 "0  1  2   3   4   5   6   7   8      9       10   11   12   13"
189   set Box100.In1 "1  5 10 20 30 40 50 0  100   110   205  210  240  400"
190   set Box100.Type "2"
191
192 new std:ConcatStrings Box101
193
194 new wx:CheckBox Box103
195   set Box103.In "false"
196   set Box103.ReactiveOnKeystroke "true"
197   set Box103.Title "Show Normals"
198
199 new creaVtk:GlyphPolyDataNormals Box104
200   set Box104.MaskRatio "2"
201   set Box104.Opacity "1"
202   set Box104.Size "5"
203
204 new creaVtk:PolyDataNormals Box105
205
206 new wx:CheckBox Box106
207   set Box106.In "true"
208   set Box106.ReactiveOnKeystroke "true"
209   set Box106.Title "CloseSurface"
210
211 new wx:ComboBox Box108
212
213 new std:AddStringToVector Box109
214   set Box109.In0 "Close Spline 1"
215   set Box109.In1 "Close Spline 2"
216   set Box109.StringVector "Patch"
217
218 new std:StringSelect Box110
219   set Box110.In0 "false false"
220   set Box110.In1 "true false"
221   set Box110.In2 "false true"
222
223 new std:GetVectorStringElement Box111
224   set Box111.I "0"
225
226 new std:GetVectorStringElement Box112
227   set Box112.I "1"
228
229 new creaVtk:CleanPolyData Box113
230
231 new wx:LayoutLine Box114
232   set Box114.Orientation "V"
233   set Box114.WinTitle "1.3   Apply Changes"
234
235 new std:AddStringToVector Box115
236   set Box115.In0 "Tool - Inverse Normals"
237   set Box115.In1 "Tool - Join start and end points to current spline"
238   set Box115.In2 "Tool - Separate and order contours around axis"
239
240 new wx:LayoutLine Box121
241   set Box121.Orientation "V"
242   set Box121.WinTitle "1.1   Splines"
243
244 new wx:LayoutLine Box127
245   set Box127.Orientation "H"
246
247 new wx:OutputText Box131
248
249 new creaMaracasVisu:ShowNPoints_Tools Box132
250   set Box132.BoxProcessMode "Manual"
251   set Box132.Type "250"
252
253 new std:ConcatStrings Box120
254
255 new wx:LayoutTab Box122
256
257 new wx:LayoutLine Box123
258   set Box123.Orientation "V"
259   set Box123.WinTitle "Visu"
260
261 new wx:LayoutTab Box124
262
263 new wx:LayoutLine Box125
264   set Box125.Orientation "V"
265   set Box125.WinTitle "Visu"
266
267 new wx:LayoutLine Box126
268   set Box126.Orientation "V"
269   set Box126.WinTitle "config"
270
271 new wx:LayoutTab Box128
272
273 new wx:OutputText Box129
274
275 new wx:OutputText Box134
276
277 new wx:LayoutLine Box135
278   set Box135.Orientation "V"
279   set Box135.WinTitle "config"
280
281 new wx:LayoutTab Box136
282
283 new wx:OutputText Box137
284
285 new wx:OutputText Box139
286
287 new std:VectorFilterDouble Box140
288   set Box140.Type "14"
289
290 new std:MagicBox Box141
291
292 new std:MagicBox Box142
293
294 new std:ConcatStrings Box143
295   set Box143.In2 "  "
296   set Box143.In4 "  "
297   set Box143.In6 "  "
298
299 new creaVtk:TransformVector Box144
300   set Box144.InX "0"
301   set Box144.InY "1"
302   set Box144.InZ "0"
303
304
305 connect Box06.LstContourPointsX Box04.LstX
306 connect showNpoints.lstIndexs Box06.LstIndexsIn
307 connect Box06.LstContourPointsY Box04.LstY
308 connect Box06.LstContourPointsZ Box04.LstZ
309 connect Box06.LstIndexsOut Box04.LstIndexs
310 connect Box30.BoxChange Box31.In4
311 connect Box29.LstContourPointsX Box30.lstPointX
312 connect Box29.LstContourPointsY Box30.lstPointY
313 connect Box29.LstContourPointsZ Box30.lstPointZ
314 connect Box29.LstIndexsOut Box30.lstIndexs
315 connect Box31.BoxChange Box11.BoxExecute
316 connect showNpoints.WidgetShowNPoints Box60.WidgetShowNPoints
317 connect Box57.BoxChange Box60.BoxExecute
318 connect Box68.Spacing Box60.Spacing
319 connect showNpoints.lstPointsX Box70.In0
320 connect showNpoints.lstPointsY Box70.In1
321 connect showNpoints.lstPointsZ Box70.In2
322 connect Box70.Out0 Box06.LstControlPointsX
323 connect Box70.Out1 Box06.LstControlPointsY
324 connect Box70.Out2 Box06.LstControlPointsZ
325 connect Box78.Out Box77.Operation
326 connect Box66.Out Box11.Renderer
327 connect Box66.Out Box30.Renderer
328 connect Box66.Out showNpoints.Renderer
329 connect Box67.Out Box77.In1
330 connect Box66.Out Box48.render
331 connect showNpoints.BoxChange Box31.BoxExecute
332 connect Box48.boxchange Box31.In1
333 connect Box35.Out Box68.In
334 connect Box68.Spacing Box70.k1
335 connect Box35.Out showNpoints.Image
336 connect Box34.Out Box36.In1
337 connect Box36.Out Box30.Opacity
338 connect Box34.BoxChange Box31.In2
339 connect Box66.Out Box37.render
340 connect Box38.Widget Box39.Widget2
341 connect Box79.Widget Box40.Widget2
342 connect Box46.Out Box45.MeshManagerModel
343 connect Box49.OutString Box06.NbPoints
344 connect Box42.BoxChange Box51.BoxExecute
345 connect Box45.BoxChange Box51.In2
346 connect Box52.BoxChange Box51.In4
347 connect showNpoints.WidgetShowNPoints Box52.WidgetShowNPoints
348 connect Box80.BoxChange Box53.In2
349 connect Box53.BoxChange Box77.BoxExecute
350 connect Box42.BoxChange Box53.In3
351 connect Box43.BoxChange Box55.BoxExecute
352 connect Box52.BoxChange Box55.In2
353 connect Box43.BoxChange Box53.In6
354 connect Box63.BoxChange showNpoints.BoxExecute
355 connect Box63.BoxChange Box62._execute
356 connect Box64.Out Box57.wxVtkBaseView2
357 connect Box64.Out Box62._wxvtkbaseview2D1
358 connect Box65.Out Box57.wxVtkBaseView3
359 connect Box65.Out Box62._wxvtkbaseview2D2
360 connect Box69.Out Box57.wxVtkBaseView4
361 connect Box69.Out Box62._wxvtkbaseview2D3
362 connect Box71.Out Box57.wxVtkBaseView
363 connect Box71.Out Box62._wxvtkbaseview3D1
364 connect Box04.Out Box62._polydata
365 connect Box71.Out Box72._wxvtkbaseview3D1
366 connect Box64.Out Box72._wxvtkbaseview2D1
367 connect Box65.Out Box72._wxvtkbaseview2D2
368 connect Box69.Out Box72._wxvtkbaseview2D3
369 connect Box39.Widget Box81.Widget2
370 connect Box40.Widget Box81.Widget4
371 connect Box44.Widget Box82.Widget2
372 connect Box82.Widget Box79.Widget2
373 connect Box84.Widget Box44.Widget9
374 connect Box86.Widget Box38.Widget2
375 connect Box49.Widget Box50.Widget2
376 connect Box34.Widget Box50.Widget4
377 connect Box57.BoxChange Box08.BoxExecute
378 connect Box92.MeshManagerModel Box93.MeshManagerModel
379 connect Box77.BoxChange Box93.BoxExecute
380 connect Box92.MeshBase Box72._polydata
381 connect Box92.MeshBase Box37.polydata
382 connect Box37.boxchange Box72._execute
383 connect Box81.Widget Box08.Widget2
384 connect Box94.BoxChange Box37.boxexecute
385 connect Box77.BoxChange Box94.BoxExecute
386 connect Box71.Out Box96.wxVtkBaseView
387 connect Box96.vtkRenderer Box66.In
388 connect Box97.Out Box45.Mesh
389 connect Box97.Out Box93.Mesh
390 connect Box43.Widget Box44.Widget1
391 connect Box78.Widget Box98.Widget2
392 connect Box80.Widget Box98.Widget4
393 connect Box98.Widget Box44.Widget3
394 connect Box99.Out Box58.StringVector
395 connect Box100.Out1 Box101.In1
396 connect Box101.Out Box60.Type
397 connect Box57.Out Box100.sk1
398 connect Box103.Out Box104.Active
399 connect Box66.Out Box104.Renderer
400 connect Box103.BoxChange Box104.BoxExecute
401 connect Box104.BoxChange Box31.In6
402 connect Box04.Out Box105.In
403 connect Box105.Out Box104.In
404 connect Box106.Out Box04.CloseSurface
405 connect Box106.BoxChange Box31.In7
406 connect Box109.Out Box108.In
407 connect Box108.Out Box110.In
408 connect Box110.Out Box111.In
409 connect Box110.Out Box112.In
410 connect Box111.Out Box06.OpenClose
411 connect Box112.Out Box06.OpenClose2
412 connect Box112.Out Box29.OpenClose2
413 connect Box111.Out Box29.OpenClose
414 connect Box77.Out Box113.In
415 connect Box113.Out Box97.In
416 connect Box04.Out Box77.In2
417 connect Box42.Widget Box114.Widget2
418 connect Box105.Out Box48.polydata
419 connect Box58.Out Box115.StringVector
420 connect Box115.Out Box57.In
421 connect Box67.Out Box60.Mesh
422 connect Box49.OutString Box29.NbPoints
423 connect showNpoints.Widget Box121.Widget1
424 connect Box121.Widget Box86.Widget2
425 connect Box108.Widget Box127.Widget2
426 connect Box127.Widget Box50.Widget6
427 connect Box106.Widget Box127.Widget5
428 connect Box103.Widget Box50.Widget7
429 connect Box131.Widget Box50.Widget9
430 connect showNpoints.WidgetShowNPoints Box132.WidgetShowNPoints
431 connect Box68.Spacing Box132.Spacing
432 connect Box105.Out Box132.Mesh
433 connect Box105.BoxChange Box132.BoxExecute
434 connect Box108.Out Box120.In1
435 connect Box120.Out Box132.Params
436 connect Box114.Widget Box122.Widget2
437 connect Box122.Widget Box79.Widget4
438 connect Box50.Widget Box124.Widget3
439 connect Box124.Widget Box38.Widget4
440 connect Box72._widgetB Box126.Widget2
441 connect Box37.widgetB Box126.Widget4
442 connect Box72._widgetA Box123.Widget2
443 connect Box37.widgetA Box123.Widget4
444 connect Box123.Widget Box128.Widget1
445 connect Box128.Widget Box79.Widget7
446 connect Box126.Widget Box128.Widget3
447 connect Box136.Widget Box38.Widget7
448 connect Box125.Widget Box136.Widget2
449 connect Box135.Widget Box136.Widget4
450 connect Box62._widgetA Box125.Widget2
451 connect Box48.widgetA Box125.Widget4
452 connect Box62._widgetB Box135.Widget3
453 connect Box48.widgetB Box135.Widget5
454 connect Box139.Widget Box125.Widget9
455 connect Box137.Widget Box135.Widget9
456 connect Box129.Widget Box126.Widget9
457 connect Box134.Widget Box123.Widget9
458 connect Box70.Out0 Box140.In0
459 connect Box70.Out1 Box140.In1
460 connect Box70.Out2 Box140.In2
461 connect showNpoints.lstIndexs Box140.In3
462 connect showNpoints.lstSelectedIndexs Box140.k1
463 connect Box140.Out0 Box29.LstControlPointsX
464 connect Box140.Out1 Box29.LstControlPointsY
465 connect Box140.Out2 Box29.LstControlPointsZ
466 connect Box140.Out3 Box29.LstIndexsIn
467 connect Box142.Out Box143.In1
468 connect Box141.Out Box144.Transform
469 connect Box144.OutX Box143.In3
470 connect Box144.OutY Box143.In5
471 connect Box144.OutZ Box143.In7
472 connect Box143.Out Box60.Params
473
474 # Complex input ports
475 input point showNpoints.In " "
476 input mesh Box67.In " "
477 input image Box35.In " "
478 input title Box08.WinTitle " "
479 input meshmanagermodel Box46.In " "
480 input boxChange Box63.In " "
481 input wxvtkbaseview2 Box64.In " "
482 input wxvtkbaseview3 Box65.In " "
483 input wxvtkbaseview4 Box69.In " "
484 input wxvtkbaseview1 Box71.In " "
485 input freeplane_transform Box141.In " "
486 input freeplane_point Box142.In " "
487
488 # Complex output ports
489 output widget Box08.Widget " "
490 output interactorStyleMaracas Box57.InteractorStyleMaracas " "
491 output interactorStyleMaracas2 Box57.InteractorStyleMaracas2 " "
492 output interactorStyleMaracas3 Box57.InteractorStyleMaracas3 " "
493 output interactorStyleMaracas4 Box57.InteractorStyleMaracas4 " "
494
495 exec Box37
496
497 endefine