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
291 set Box135.BoxProcessMode "Manual"
293 new creaMaracasVisu:PolyDataToActor_Widget Box136
294 set Box136.active "true"
295 set Box136.color "1 1 1"
296 set Box136.meshOpacity "100"
298 new wx:LayoutLine Box137
299 set Box137.WinTitle "Beta"
301 new wx:CommandButton Box138
302 set Box138.Label "Run"
304 new creaVtk:PolyDataToImageData Box139
306 new vtk:CreateImage Box140
308 new vtk:MarchingCubes Box141
309 set Box141.Value "128"
311 new vtk:ImageGaussianSmooth Box142
312 set Box142.StdDevX "1"
313 set Box142.StdDevY "1"
314 set Box142.StdDevZ "1"
316 new creaVtk:MeshReduction_DecimatePro Box143
317 set Box143.TargetReduction "0.8"
319 new creaVtk:MeshManager_tool Box144
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
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 " "
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 " "