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"
189 set Box100.In1 "1 5 10 20 30 40 50 0 100 110 205 210 240"
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"
239 new wx:LayoutLine Box121
240 set Box121.Orientation "V"
241 set Box121.WinTitle "1.1 Splines"
243 new wx:LayoutLine Box127
244 set Box127.Orientation "H"
246 new wx:OutputText Box131
248 new creaMaracasVisu:ShowNPoints_Tools Box132
249 set Box132.BoxProcessMode "Manual"
250 set Box132.Type "250"
252 new std:ConcatStrings Box120
254 new wx:LayoutTab Box122
256 new wx:LayoutLine Box123
257 set Box123.Orientation "V"
258 set Box123.WinTitle "Visu"
260 new wx:LayoutTab Box124
262 new wx:LayoutLine Box125
263 set Box125.Orientation "V"
264 set Box125.WinTitle "Visu"
266 new wx:LayoutLine Box126
267 set Box126.Orientation "V"
268 set Box126.WinTitle "config"
270 new wx:LayoutTab Box128
272 new wx:OutputText Box129
274 new wx:OutputText Box134
276 new wx:LayoutLine Box135
277 set Box135.Orientation "V"
278 set Box135.WinTitle "config"
280 new wx:LayoutTab Box136
282 new wx:OutputText Box137
284 new wx:OutputText Box139
287 connect Box06.LstContourPointsX Box04.LstX
288 connect showNpoints.lstIndexs Box06.LstIndexsIn
289 connect Box06.LstContourPointsY Box04.LstY
290 connect Box06.LstContourPointsZ Box04.LstZ
291 connect Box06.LstIndexsOut Box04.LstIndexs
292 connect Box30.BoxChange Box31.In4
293 connect showNpoints.lstIndexs Box29.LstIndexsIn
294 connect Box29.LstContourPointsX Box30.lstPointX
295 connect Box29.LstContourPointsY Box30.lstPointY
296 connect Box29.LstContourPointsZ Box30.lstPointZ
297 connect Box29.LstIndexsOut Box30.lstIndexs
298 connect Box31.BoxChange Box11.BoxExecute
299 connect showNpoints.WidgetShowNPoints Box60.WidgetShowNPoints
300 connect Box57.BoxChange Box60.BoxExecute
301 connect Box68.Spacing Box60.Spacing
302 connect showNpoints.lstPointsX Box70.In0
303 connect showNpoints.lstPointsY Box70.In1
304 connect showNpoints.lstPointsZ Box70.In2
305 connect Box70.Out0 Box06.LstControlPointsX
306 connect Box70.Out1 Box06.LstControlPointsY
307 connect Box70.Out2 Box06.LstControlPointsZ
308 connect Box70.Out0 Box29.LstControlPointsX
309 connect Box70.Out1 Box29.LstControlPointsY
310 connect Box70.Out2 Box29.LstControlPointsZ
311 connect Box78.Out Box77.Operation
312 connect Box66.Out Box11.Renderer
313 connect Box66.Out Box30.Renderer
314 connect Box66.Out showNpoints.Renderer
315 connect Box67.Out Box77.In1
316 connect Box66.Out Box48.render
317 connect showNpoints.BoxChange Box31.BoxExecute
318 connect Box48.boxchange Box31.In1
319 connect Box35.Out Box68.In
320 connect Box68.Spacing Box70.k1
321 connect Box35.Out showNpoints.Image
322 connect Box34.Out Box36.In1
323 connect Box36.Out Box30.Opacity
324 connect Box34.BoxChange Box31.In2
325 connect Box66.Out Box37.render
326 connect Box38.Widget Box39.Widget2
327 connect Box79.Widget Box40.Widget2
328 connect Box46.Out Box45.MeshManagerModel
329 connect Box49.OutString Box06.NbPoints
330 connect Box42.BoxChange Box51.BoxExecute
331 connect Box45.BoxChange Box51.In2
332 connect Box52.BoxChange Box51.In4
333 connect showNpoints.WidgetShowNPoints Box52.WidgetShowNPoints
334 connect Box80.BoxChange Box53.In2
335 connect Box53.BoxChange Box77.BoxExecute
336 connect Box42.BoxChange Box53.In3
337 connect Box43.BoxChange Box55.BoxExecute
338 connect Box52.BoxChange Box55.In2
339 connect Box43.BoxChange Box53.In6
340 connect Box63.BoxChange showNpoints.BoxExecute
341 connect Box63.BoxChange Box62._execute
342 connect Box64.Out Box57.wxVtkBaseView2
343 connect Box64.Out Box62._wxvtkbaseview2D1
344 connect Box65.Out Box57.wxVtkBaseView3
345 connect Box65.Out Box62._wxvtkbaseview2D2
346 connect Box69.Out Box57.wxVtkBaseView4
347 connect Box69.Out Box62._wxvtkbaseview2D3
348 connect Box71.Out Box57.wxVtkBaseView
349 connect Box71.Out Box62._wxvtkbaseview3D1
350 connect Box04.Out Box62._polydata
351 connect Box71.Out Box72._wxvtkbaseview3D1
352 connect Box64.Out Box72._wxvtkbaseview2D1
353 connect Box65.Out Box72._wxvtkbaseview2D2
354 connect Box69.Out Box72._wxvtkbaseview2D3
355 connect Box39.Widget Box81.Widget2
356 connect Box40.Widget Box81.Widget4
357 connect Box44.Widget Box82.Widget2
358 connect Box82.Widget Box79.Widget2
359 connect Box84.Widget Box44.Widget9
360 connect Box86.Widget Box38.Widget2
361 connect Box49.Widget Box50.Widget2
362 connect Box34.Widget Box50.Widget4
363 connect Box57.BoxChange Box08.BoxExecute
364 connect Box92.MeshManagerModel Box93.MeshManagerModel
365 connect Box77.BoxChange Box93.BoxExecute
366 connect Box92.MeshBase Box72._polydata
367 connect Box92.MeshBase Box37.polydata
368 connect Box37.boxchange Box72._execute
369 connect Box81.Widget Box08.Widget2
370 connect Box94.BoxChange Box37.boxexecute
371 connect Box77.BoxChange Box94.BoxExecute
372 connect Box71.Out Box96.wxVtkBaseView
373 connect Box96.vtkRenderer Box66.In
374 connect Box97.Out Box45.Mesh
375 connect Box97.Out Box93.Mesh
376 connect Box43.Widget Box44.Widget1
377 connect Box78.Widget Box98.Widget2
378 connect Box80.Widget Box98.Widget4
379 connect Box98.Widget Box44.Widget3
380 connect Box99.Out Box58.StringVector
381 connect Box100.Out1 Box101.In1
382 connect Box101.Out Box60.Type
383 connect Box57.Out Box100.sk1
384 connect Box103.Out Box104.Active
385 connect Box66.Out Box104.Renderer
386 connect Box103.BoxChange Box104.BoxExecute
387 connect Box104.BoxChange Box31.In6
388 connect Box04.Out Box105.In
389 connect Box105.Out Box104.In
390 connect Box106.Out Box04.CloseSurface
391 connect Box106.BoxChange Box31.In7
392 connect Box109.Out Box108.In
393 connect Box108.Out Box110.In
394 connect Box110.Out Box111.In
395 connect Box110.Out Box112.In
396 connect Box111.Out Box06.OpenClose
397 connect Box112.Out Box06.OpenClose2
398 connect Box112.Out Box29.OpenClose2
399 connect Box111.Out Box29.OpenClose
400 connect Box77.Out Box113.In
401 connect Box113.Out Box97.In
402 connect Box04.Out Box77.In2
403 connect Box42.Widget Box114.Widget2
404 connect Box105.Out Box48.polydata
405 connect Box58.Out Box115.StringVector
406 connect Box115.Out Box57.In
407 connect Box67.Out Box60.Mesh
408 connect Box49.OutString Box29.NbPoints
409 connect showNpoints.Widget Box121.Widget1
410 connect Box121.Widget Box86.Widget2
411 connect Box108.Widget Box127.Widget2
412 connect Box127.Widget Box50.Widget6
413 connect Box106.Widget Box127.Widget5
414 connect Box103.Widget Box50.Widget7
415 connect Box131.Widget Box50.Widget9
416 connect showNpoints.WidgetShowNPoints Box132.WidgetShowNPoints
417 connect Box68.Spacing Box132.Spacing
418 connect Box105.Out Box132.Mesh
419 connect Box105.BoxChange Box132.BoxExecute
420 connect Box108.Out Box120.In1
421 connect Box120.Out Box132.Params
422 connect Box114.Widget Box122.Widget2
423 connect Box122.Widget Box79.Widget4
424 connect Box50.Widget Box124.Widget3
425 connect Box124.Widget Box38.Widget4
426 connect Box72._widgetB Box126.Widget2
427 connect Box37.widgetB Box126.Widget4
428 connect Box72._widgetA Box123.Widget2
429 connect Box37.widgetA Box123.Widget4
430 connect Box123.Widget Box128.Widget1
431 connect Box128.Widget Box79.Widget7
432 connect Box126.Widget Box128.Widget3
433 connect Box136.Widget Box38.Widget7
434 connect Box125.Widget Box136.Widget2
435 connect Box135.Widget Box136.Widget4
436 connect Box62._widgetA Box125.Widget2
437 connect Box48.widgetA Box125.Widget4
438 connect Box62._widgetB Box135.Widget3
439 connect Box48.widgetB Box135.Widget5
440 connect Box139.Widget Box125.Widget9
441 connect Box137.Widget Box135.Widget9
442 connect Box129.Widget Box126.Widget9
443 connect Box134.Widget Box123.Widget9
445 # Complex input ports
446 input point showNpoints.In " "
447 input mesh Box67.In " "
448 input image Box35.In " "
449 input title Box08.WinTitle " "
450 input meshmanagermodel Box46.In " "
451 input boxChange Box63.In " "
452 input wxvtkbaseview2 Box64.In " "
453 input wxvtkbaseview3 Box65.In " "
454 input wxvtkbaseview4 Box69.In " "
455 input wxvtkbaseview1 Box71.In " "
457 # Complex output ports
458 output widget Box08.Widget " "
459 output interactorStyleMaracas Box57.InteractorStyleMaracas " "
460 output interactorStyleMaracas2 Box57.InteractorStyleMaracas2 " "
461 output interactorStyleMaracas3 Box57.InteractorStyleMaracas3 " "
462 output interactorStyleMaracas4 Box57.InteractorStyleMaracas4 " "