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 # ----------------------------------
8 include creaMaracasVisu
14 define Mesh_tool_ApplyPatch creaMaracasVisu
16 author "info-dev@creatis.insa-lyon.fr"
17 description "Show N Points"
21 new creaMaracasVisu:ShowNPoints showNpoints
22 set showNpoints.Radio "2"
23 set showNpoints.Type "4"
24 set showNpoints.WinTitle "1.1 Splines"
26 new creaVtk:CreateMeshFromPoints Box04
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"
34 new wx:LayoutLine Box08
36 new vtk:UpdateRender Box11
37 set Box11.Active "true"
39 new creaMaracasVisu:DrawAxisTree3D Box30
40 set Box30.Colour "0 0 1"
41 set Box30.LineWidth "2"
43 new std:MultipleInputs Box31
45 new creaMaracasVisu:ManualContourModel_Box Box29
46 set Box29.NbPoints "40"
47 set Box29.OpenClose "false"
48 set Box29.OpenClose2 "false"
50 new creaMaracasVisu:wxPopupMenu Box57
51 set Box57.WithCtrlKey "true"
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"
65 new creaMaracasVisu:ShowNPoints_Tools Box60
67 new vtk:ImageVtkProperties Box68
69 new std:VectorFilterDouble Box70
72 new creaVtk:BooleanOperationPolyDataFilter Box77
73 set Box77.BoxProcessMode "Manual"
74 set Box77.ReorientDifferenceCells "false"
77 set Box78.In "Union Intersection Difference"
79 new wx:LayoutLine Box79
80 set Box79.Orientation "H"
81 set Box79.WinTitle "New Surface ( Magenta = Red+Yellow )"
83 new wx:CommandButton Box80
86 new std:MagicBox Box66
88 new std:MagicBox Box67
90 new creaMaracasVisu:PolyDataToActor_Widget Box48
92 new vtk:vtkImageDataPointerRelay Box35
96 set Box34.Label "true"
99 set Box34.ReactiveOnTrack "true"
100 set Box34.Title "Splines Opacity"
105 new creaMaracasVisu:PolyDataToActor_Widget Box37
106 set Box37.color "0 1 1"
107 set Box37.meshOpacity "100"
109 new wx:LayoutLine Box38
110 set Box38.Orientation "H"
111 set Box38.WinTitle "Interpolated Surface (Yellow)"
113 new wx:LayoutTab Box39
115 new wx:LayoutTab Box40
117 new wx:CommandButton Box42
118 set Box42.Label "Apply (Magenta->To Red)"
120 new wx:CommandButton Box43
121 set Box43.Label "Reset Tool"
123 new wx:LayoutLine Box44
124 set Box44.Orientation "V"
125 set Box44.WinTitle "1.2 Mesh Action"
127 new creaVtk:MeshManager_tool Box45
130 new std:MagicBox Box46
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"
137 new wx:LayoutLine Box50
138 set Box50.Orientation "V"
139 set Box50.WinTitle "Config"
141 new std:MultipleInputs Box51
143 new creaMaracasVisu:ShowNPoints_Tools Box52
146 new std:MultipleInputs Box53
148 new std:MultipleInputs Box55
150 new creaMaracasVisu:MeshContours_Widget Box62
151 set Box62.colorMesh "0 0 1"
153 new std:MagicBox Box63
155 new std:MagicBox Box64
157 new std:MagicBox Box65
159 new std:MagicBox Box69
161 new std:MagicBox Box71
163 new creaMaracasVisu:MeshContours_Widget Box72
164 set Box72.colorMesh "0 1 1"
166 new wx:LayoutLine Box81
167 set Box81.WinTitle "Step 1. Surface"
169 new wx:LayoutTab Box82
171 new wx:LayoutTab Box86
173 new wx:OutputText Box87
175 new wx:OutputText Box88
177 new creaVtk:MeshManager Box92
179 new creaVtk:MeshManager_tool Box93
182 new std:MagicBox Box94
184 new creaVtk:PolyDataNormals Box95
187 new creaVtk:LinearExtrusionFilter Box96
189 new creaMaracasVisu:PolyDataToActor_Widget Box98
193 set Box99.Label "true"
196 set Box99.ReactiveOnTrack "true"
197 set Box99.Title "Angle Correction"
202 new wx:LayoutLine Box101
203 set Box101.Orientation "V"
205 new wx:LayoutLine Box102
206 set Box102.Orientation "H"
207 set Box102.WinTitle "Extrusion"
209 new std:MultipleInputs Box103
211 new creaMaracasVisu:wxVtkBaseView_Info Box105
213 new wx:LayoutTab Box106
215 new creaMaracasVisu:MeshContours_Widget Box107
216 set Box107.colorMesh "1 1 0"
218 new creaVtk:MeshReduction_DecimatePro Box108
219 set Box108.TargetReduction "0.8"
221 new std:MagicBox Box109
223 new creaVtk:MeshReduction_QuadricDecimation Box110
224 set Box110.TargetReduction "0.5"
226 new std:AddStringToVector Box111
227 set Box111.In0 "Tool - Inverse Normals"
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"
234 new std:ConcatStrings Box114
236 new creaVtk:PolyDataNormals Box115
238 new creaVtk:PolyDataNormals Box116
240 new wx:LayoutLine Box117
241 set Box117.Orientation "H"
245 set Box118.Label "true"
248 set Box118.ReactiveOnTrack "true"
249 set Box118.Title "Extrusion"
251 new std:AddStringToVector Box119
252 set Box119.In0 "Auto Add Points (Start/Stop)"
254 new creaMaracasVisu:ShowNPoints_Tools Box120
255 set Box120.BoxProcessMode "Manual"
256 set Box120.Type "220"
258 new wx:CommandButton Box121
261 new wx:CommandButton Box127
264 new creaMaracasVisu:ShowNPoints_Tools Box128
265 set Box128.BoxProcessMode "Manual"
266 set Box128.Type "220"
268 new std:ConcatStrings Box130
271 new std:ConcatStrings Box131
274 new std:MultipleInputs Box126
276 new wx:LayoutLine Box129
277 set Box129.Orientation "H"
279 new std:GetVectorDoubleSubVector Box132
280 set Box132.ErrorValue "0"
284 new creaVtk:CleanPolyData Box133
286 new wx:LayoutLine Box134
287 set Box134.Orientation "V"
288 set Box134.WinTitle "1.3 Apply Changes"
290 new creaVtk:CleanMeshWithPatch Box135
292 new creaMaracasVisu:PolyDataToActor_Widget Box136
293 set Box136.active "true"
294 set Box136.color "1 1 1"
295 set Box136.meshOpacity "100"
297 new wx:LayoutLine Box137
298 set Box137.WinTitle "Beta"
300 new wx:CommandButton Box138
301 set Box138.Label "Run"
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
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 " "
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 " "