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 # ----------------------------------
8 include creaMaracasVisu
14 define Mesh_tool_ApplySurface 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"
25 new creaVtk:CreateMeshFromPoints Box04
27 new creaMaracasVisu:ManualContourModel_Box Box06
28 set Box06.DoubleContour "1"
29 set Box06.NbPoints "100"
31 new wx:LayoutLine Box08
33 new vtk:UpdateRender Box11
34 set Box11.Active "true"
36 new creaMaracasVisu:DrawAxisTree3D Box30
37 set Box30.Colour "0 0 1"
38 set Box30.LineWidth "2"
40 new std:MultipleInputs Box31
42 new creaMaracasVisu:ManualContourModel_Box Box29
43 set Box29.NbPoints "40"
45 new creaMaracasVisu:wxPopupMenu Box57
46 set Box57.WithCtrlKey "true"
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)"
60 new creaMaracasVisu:ShowNPoints_Tools Box60
62 new vtk:ImageVtkProperties Box68
64 new std:VectorFilterDouble Box70
67 new creaVtk:BooleanOperationPolyDataFilter Box77
68 set Box77.BoxProcessMode "Manual"
69 set Box77.ReorientDifferenceCells "false"
72 set Box78.In "Union Intersection Difference"
74 new wx:LayoutLine Box79
75 set Box79.Orientation "H"
76 set Box79.WinTitle "New Surface ( Magenta = Red+Yellow )"
78 new wx:CommandButton Box80
81 new std:MagicBox Box66
83 new std:MagicBox Box67
85 new creaMaracasVisu:PolyDataToActor_Widget Box48
87 new vtk:vtkImageDataPointerRelay Box35
91 set Box34.Label "true"
94 set Box34.ReactiveOnTrack "true"
95 set Box34.Title "Splines Opacity"
100 new creaMaracasVisu:PolyDataToActor_Widget Box37
101 set Box37.color "0 1 1"
102 set Box37.meshOpacity "100"
104 new wx:LayoutLine Box38
105 set Box38.Orientation "H"
106 set Box38.WinTitle "Interpolated Surface (Yellow)"
108 new wx:LayoutTab Box39
110 new wx:LayoutTab Box40
112 new wx:CommandButton Box42
113 set Box42.Label "Apply (Magenta->To Red)"
115 new wx:CommandButton Box43
116 set Box43.Label "Reset Tool"
118 new wx:LayoutLine Box44
119 set Box44.Orientation "V"
120 set Box44.WinTitle "1.2 Mesh Action"
122 new creaVtk:MeshManager_tool Box45
125 new std:MagicBox Box46
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"
132 new wx:LayoutLine Box50
133 set Box50.Orientation "V"
134 set Box50.WinTitle "Config"
136 new std:MultipleInputs Box51
138 new creaMaracasVisu:ShowNPoints_Tools Box52
141 new std:MultipleInputs Box53
143 new std:MultipleInputs Box55
145 new creaMaracasVisu:MeshContours_Widget Box62
146 set Box62.colorMesh "1 1 0"
148 new std:MagicBox Box63
150 new std:MagicBox Box64
152 new std:MagicBox Box65
154 new std:MagicBox Box69
156 new std:MagicBox Box71
158 new creaMaracasVisu:MeshContours_Widget Box72
159 set Box72.colorMesh "0 1 1"
161 new wx:LayoutLine Box81
162 set Box81.WinTitle "Step 1. Surface"
164 new wx:LayoutTab Box82
166 new wx:OutputText Box84
168 new wx:LayoutTab Box86
170 new creaVtk:MeshManager Box92
172 new creaVtk:MeshManager_tool Box93
175 new std:MagicBox Box94
177 new creaMaracasVisu:wxVtkBaseView_Info Box96
179 new creaVtk:PolyDataNormals Box97
181 new wx:LayoutLine Box98
182 set Box98.Orientation "H"
184 new std:AddStringToVector Box99
185 set Box99.In0 "Auto Add Points (Start/Stop)"
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"
192 new std:ConcatStrings Box101
194 new wx:CheckBox Box103
195 set Box103.In "false"
196 set Box103.ReactiveOnKeystroke "true"
197 set Box103.Title "Show Normals"
199 new creaVtk:GlyphPolyDataNormals Box104
200 set Box104.MaskRatio "2"
201 set Box104.Opacity "1"
204 new creaVtk:PolyDataNormals Box105
206 new wx:CheckBox Box106
208 set Box106.ReactiveOnKeystroke "true"
209 set Box106.Title "CloseSurface"
211 new wx:ComboBox Box108
213 new std:AddStringToVector Box109
214 set Box109.In0 "Close Spline 1"
215 set Box109.In1 "Close Spline 2"
216 set Box109.StringVector "Patch"
218 new std:StringSelect Box110
219 set Box110.In0 "false false"
220 set Box110.In1 "true false"
221 set Box110.In2 "false true"
223 new std:GetVectorStringElement Box111
226 new std:GetVectorStringElement Box112
229 new creaVtk:CleanPolyData Box113
231 new wx:LayoutLine Box114
232 set Box114.Orientation "V"
233 set Box114.WinTitle "1.3 Apply Changes"
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"
240 new wx:LayoutLine Box121
241 set Box121.Orientation "V"
242 set Box121.WinTitle "1.1 Splines"
244 new wx:LayoutLine Box127
245 set Box127.Orientation "H"
247 new wx:OutputText Box131
249 new creaMaracasVisu:ShowNPoints_Tools Box132
250 set Box132.BoxProcessMode "Manual"
251 set Box132.Type "250"
253 new std:ConcatStrings Box120
255 new wx:LayoutTab Box122
257 new wx:LayoutLine Box123
258 set Box123.Orientation "V"
259 set Box123.WinTitle "Visu"
261 new wx:LayoutTab Box124
263 new wx:LayoutLine Box125
264 set Box125.Orientation "V"
265 set Box125.WinTitle "Visu"
267 new wx:LayoutLine Box126
268 set Box126.Orientation "V"
269 set Box126.WinTitle "config"
271 new wx:LayoutTab Box128
273 new wx:OutputText Box129
275 new wx:OutputText Box134
277 new wx:LayoutLine Box135
278 set Box135.Orientation "V"
279 set Box135.WinTitle "config"
281 new wx:LayoutTab Box136
283 new wx:OutputText Box137
285 new wx:OutputText Box139
287 new std:VectorFilterDouble Box140
290 new std:MagicBox Box141
292 new std:MagicBox Box142
294 new std:ConcatStrings Box143
299 new creaVtk:TransformVector Box144
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
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 " "
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 " "