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