]> Creatis software - creaMaracasVisu.git/blob - bbtk/bbs/boxes/Mesh_tool_ApplyPatch.bbs
#3520 CleanMeshWithPatch
[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
292 new creaMaracasVisu:PolyDataToActor_Widget Box136
293   set Box136.active "true"
294   set Box136.color "1 1 1"
295   set Box136.meshOpacity "100"
296
297 new wx:LayoutLine Box137
298   set Box137.WinTitle "Beta"
299
300 new wx:CommandButton Box138
301   set Box138.Label "Run"
302
303
304 connect Box06.LstContourPointsX Box04.LstX
305 connect showNpoints.lstIndexs Box06.LstIndexsIn
306 connect Box06.LstContourPointsY Box04.LstY
307 connect Box06.LstContourPointsZ Box04.LstZ
308 connect Box06.LstIndexsOut Box04.LstIndexs
309 connect Box30.BoxChange Box31.In4
310 connect showNpoints.lstIndexs Box29.LstIndexsIn
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 Box70.Out0 Box29.LstControlPointsX
326 connect Box70.Out1 Box29.LstControlPointsY
327 connect Box70.Out2 Box29.LstControlPointsZ
328 connect Box78.Out Box77.Operation
329 connect Box66.Out Box11.Renderer
330 connect Box66.Out Box30.Renderer
331 connect Box66.Out showNpoints.Renderer
332 connect Box67.Out Box77.In1
333 connect Box04.Out Box48.polydata
334 connect Box66.Out Box48.render
335 connect Box48.boxchange Box31.In1
336 connect Box35.Out Box68.In
337 connect Box68.Spacing Box70.k1
338 connect Box35.Out showNpoints.Image
339 connect Box34.Out Box36.In1
340 connect Box36.Out Box30.Opacity
341 connect Box34.BoxChange Box31.In2
342 connect Box66.Out Box37.render
343 connect Box38.Widget Box39.Widget2
344 connect Box79.Widget Box40.Widget2
345 connect Box46.Out Box45.MeshManagerModel
346 connect Box49.OutString Box06.NbPoints
347 connect Box42.BoxChange Box51.BoxExecute
348 connect Box45.BoxChange Box51.In2
349 connect Box52.BoxChange Box51.In4
350 connect showNpoints.WidgetShowNPoints Box52.WidgetShowNPoints
351 connect Box80.BoxChange Box53.In2
352 connect Box53.BoxChange Box77.BoxExecute
353 connect Box42.BoxChange Box53.In3
354 connect Box43.BoxChange Box55.BoxExecute
355 connect Box52.BoxChange Box55.In2
356 connect Box43.BoxChange Box53.In6
357 connect Box63.BoxChange showNpoints.BoxExecute
358 connect Box63.BoxChange Box62._execute
359 connect Box64.Out Box57.wxVtkBaseView2
360 connect Box64.Out Box62._wxvtkbaseview2D1
361 connect Box65.Out Box57.wxVtkBaseView3
362 connect Box65.Out Box62._wxvtkbaseview2D2
363 connect Box69.Out Box57.wxVtkBaseView4
364 connect Box69.Out Box62._wxvtkbaseview2D3
365 connect Box71.Out Box57.wxVtkBaseView
366 connect Box71.Out Box62._wxvtkbaseview3D1
367 connect Box71.Out Box72._wxvtkbaseview3D1
368 connect Box64.Out Box72._wxvtkbaseview2D1
369 connect Box65.Out Box72._wxvtkbaseview2D2
370 connect Box69.Out Box72._wxvtkbaseview2D3
371 connect Box37.widget Box79.Widget4
372 connect Box62._widget Box38.Widget7
373 connect Box39.Widget Box81.Widget2
374 connect Box44.Widget Box82.Widget2
375 connect Box82.Widget Box79.Widget2
376 connect Box86.Widget Box38.Widget2
377 connect Box50.Widget Box86.Widget4
378 connect showNpoints.Widget Box86.Widget2
379 connect Box87.Widget Box50.Widget8
380 connect Box88.Widget Box50.Widget9
381 connect Box49.Widget Box50.Widget2
382 connect Box34.Widget Box50.Widget4
383 connect Box57.BoxChange Box08.BoxExecute
384 connect Box92.MeshManagerModel Box93.MeshManagerModel
385 connect Box77.BoxChange Box93.BoxExecute
386 connect Box92.MeshBase Box72._polydata
387 connect Box92.MeshBase Box37.polydata
388 connect Box37.boxchange Box72._execute
389 connect Box81.Widget Box08.Widget2
390 connect Box94.BoxChange Box37.boxexecute
391 connect Box77.BoxChange Box94.BoxExecute
392 connect Box04.Out Box95.In
393 connect Box95.Out Box96.In
394 connect Box99.Out Box100.In1
395 connect Box100.Out Box95.Param
396 connect Box99.BoxChange Box103.In4
397 connect Box103.BoxChange Box98.boxexecute
398 connect Box71.Out Box105.wxVtkBaseView
399 connect Box105.vtkRenderer Box66.In
400 connect Box98.boxchange Box31.In6
401 connect Box101.Widget Box102.Widget2
402 connect Box102.Widget Box106.Widget2
403 connect Box106.Widget Box81.Widget3
404 connect Box40.Widget Box81.Widget6
405 connect Box66.Out Box98.render
406 connect Box04.Out Box62._polydata
407 connect Box64.Out Box107._wxvtkbaseview2D1
408 connect Box65.Out Box107._wxvtkbaseview2D2
409 connect Box69.Out Box107._wxvtkbaseview2D3
410 connect Box71.Out Box107._wxvtkbaseview3D1
411 connect Box107._widget Box102.Widget6
412 connect Box103.BoxChange Box107._execute
413 connect Box63.BoxChange Box103.In1
414 connect Box67.Out Box60.Mesh
415 connect Box109.Out Box98.polydata
416 connect Box109.Out Box107._polydata
417 connect Box109.Out Box77.In2
418 connect Box96.Out Box110.In
419 connect Box72._widget Box79.Widget3
420 connect Box98.widget Box102.Widget8
421 connect Box48.widget Box38.Widget8
422 connect Box58.Out Box111.StringVector
423 connect Box111.Out Box57.In
424 connect Box57.Out Box112.sk1
425 connect Box112.Out1 Box114.In1
426 connect Box114.Out Box60.Type
427 connect Box115.Out Box45.Mesh
428 connect Box96.Out Box116.In
429 connect Box116.Out Box109.In
430 connect Box115.Out Box93.Mesh
431 connect Box43.Widget Box44.Widget1
432 connect Box78.Widget Box117.Widget2
433 connect Box80.Widget Box117.Widget4
434 connect Box117.Widget Box44.Widget3
435 connect Box118.Out Box96.ScalarFactor
436 connect Box118.BoxChange Box103.In3
437 connect Box119.Out Box58.StringVector
438 connect Box68.Spacing Box120.Spacing
439 connect showNpoints.WidgetShowNPoints Box120.WidgetShowNPoints
440 connect Box121.BoxChange Box120.BoxExecute
441 connect Box127.BoxChange Box128.BoxExecute
442 connect Box68.Spacing Box128.Spacing
443 connect showNpoints.WidgetShowNPoints Box128.WidgetShowNPoints
444 connect Box130.Out Box120.Params
445 connect Box131.Out Box128.Params
446 connect Box120.BoxChange Box31.In3
447 connect Box128.BoxChange Box31.In5
448 connect showNpoints.BoxChange Box126.In4
449 connect Box128.BoxChange Box126.In2
450 connect Box120.BoxChange Box126.In1
451 connect Box126.BoxChange Box31.BoxExecute
452 connect Box127.Widget Box129.Widget4
453 connect Box121.Widget Box129.Widget6
454 connect Box99.Widget Box101.Widget7
455 connect Box118.Widget Box101.Widget4
456 connect Box129.Widget Box101.Widget1
457 connect Box60.Out Box132.In
458 connect Box132.Out Box131.In1
459 connect Box132.Out Box130.In1
460 connect Box77.Out Box133.In
461 connect Box133.Out Box115.In
462 connect Box134.Widget Box82.Widget4
463 connect Box42.Widget Box134.Widget3
464 connect Box67.Out Box135.Mesh
465 connect Box04.Out Box135.Patch
466 connect showNpoints.lstPointsX Box135.LstX
467 connect showNpoints.lstPointsY Box135.LstY
468 connect showNpoints.lstPointsZ Box135.LstZ
469 connect showNpoints.lstIndexs Box135.LstIndexs
470 connect Box135.Out Box136.polydata
471 connect Box66.Out Box136.render
472 connect Box136.widget Box137.Widget2
473 connect Box137.Widget Box106.Widget4
474 connect Box138.Widget Box137.Widget4
475 connect Box138.BoxChange Box136.boxexecute
476 connect Box68.Spacing Box135.Spacing
477
478 # Complex input ports
479 input point showNpoints.In " "
480 input mesh Box67.In " "
481 input image Box35.In " "
482 input title Box08.WinTitle " "
483 input meshmanagermodel Box46.In " "
484 input boxChange Box63.In " "
485 input wxvtkbaseview2 Box64.In " "
486 input wxvtkbaseview3 Box65.In " "
487 input wxvtkbaseview4 Box69.In " "
488 input wxvtkbaseview1 Box71.In " "
489
490 # Complex output ports
491 output widget Box08.Widget " "
492 output interactorStyleMaracas Box57.InteractorStyleMaracas " "
493 output interactorStyleMaracas2 Box57.InteractorStyleMaracas2 " "
494 output interactorStyleMaracas3 Box57.InteractorStyleMaracas3 " "
495 output interactorStyleMaracas4 Box57.InteractorStyleMaracas4 " "
496
497
498 endefine