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 creaMaracasVisu:ShowNPoints_Tools Box116
240 set Box116.BoxProcessMode "Manual"
241 set Box116.Params " -1"
242 set Box116.Type "230"
244 new wx:CommandButton Box117
247 new wx:LayoutLine Box118
248 set Box118.Orientation "H"
250 new wx:CommandButton Box119
253 new creaMaracasVisu:ShowNPoints_Tools Box120
254 set Box120.BoxProcessMode "Manual"
255 set Box120.Params " 1"
256 set Box120.Type "230"
258 new wx:LayoutLine Box121
259 set Box121.Orientation "V"
260 set Box121.WinTitle "1.1 Splines"
262 new creaMaracasVisu:ShowNPoints_Tools Box122
263 set Box122.BoxProcessMode "Manual"
264 set Box122.Params "-1"
265 set Box122.Type "235"
267 new wx:CommandButton Box123
270 new wx:LayoutLine Box124
271 set Box124.Orientation "H"
273 new wx:CommandButton Box125
276 new creaMaracasVisu:ShowNPoints_Tools Box126
277 set Box126.BoxProcessMode "Manual"
278 set Box126.Params "1"
279 set Box126.Type "235"
281 new wx:LayoutLine Box127
282 set Box127.Orientation "H"
284 new wx:LayoutLine Box130
285 set Box130.Orientation "V"
287 new wx:OutputText Box131
290 connect Box06.LstContourPointsX Box04.LstX
291 connect showNpoints.lstIndexs Box06.LstIndexsIn
292 connect Box06.LstContourPointsY Box04.LstY
293 connect Box06.LstContourPointsZ Box04.LstZ
294 connect Box06.LstIndexsOut Box04.LstIndexs
295 connect Box30.BoxChange Box31.In4
296 connect showNpoints.lstIndexs Box29.LstIndexsIn
297 connect Box29.LstContourPointsX Box30.lstPointX
298 connect Box29.LstContourPointsY Box30.lstPointY
299 connect Box29.LstContourPointsZ Box30.lstPointZ
300 connect Box29.LstIndexsOut Box30.lstIndexs
301 connect Box31.BoxChange Box11.BoxExecute
302 connect showNpoints.WidgetShowNPoints Box60.WidgetShowNPoints
303 connect Box57.BoxChange Box60.BoxExecute
304 connect Box68.Spacing Box60.Spacing
305 connect showNpoints.lstPointsX Box70.In0
306 connect showNpoints.lstPointsY Box70.In1
307 connect showNpoints.lstPointsZ Box70.In2
308 connect Box70.Out0 Box06.LstControlPointsX
309 connect Box70.Out1 Box06.LstControlPointsY
310 connect Box70.Out2 Box06.LstControlPointsZ
311 connect Box70.Out0 Box29.LstControlPointsX
312 connect Box70.Out1 Box29.LstControlPointsY
313 connect Box70.Out2 Box29.LstControlPointsZ
314 connect Box78.Out Box77.Operation
315 connect Box66.Out Box11.Renderer
316 connect Box66.Out Box30.Renderer
317 connect Box66.Out showNpoints.Renderer
318 connect Box67.Out Box77.In1
319 connect Box66.Out Box48.render
320 connect showNpoints.BoxChange Box31.BoxExecute
321 connect Box48.boxchange Box31.In1
322 connect Box35.Out Box68.In
323 connect Box68.Spacing Box70.k1
324 connect Box35.Out showNpoints.Image
325 connect Box34.Out Box36.In1
326 connect Box36.Out Box30.Opacity
327 connect Box34.BoxChange Box31.In2
328 connect Box66.Out Box37.render
329 connect Box38.Widget Box39.Widget2
330 connect Box79.Widget Box40.Widget2
331 connect Box46.Out Box45.MeshManagerModel
332 connect Box49.OutString Box06.NbPoints
333 connect Box42.BoxChange Box51.BoxExecute
334 connect Box45.BoxChange Box51.In2
335 connect Box52.BoxChange Box51.In4
336 connect showNpoints.WidgetShowNPoints Box52.WidgetShowNPoints
337 connect Box80.BoxChange Box53.In2
338 connect Box53.BoxChange Box77.BoxExecute
339 connect Box42.BoxChange Box53.In3
340 connect Box43.BoxChange Box55.BoxExecute
341 connect Box52.BoxChange Box55.In2
342 connect Box43.BoxChange Box53.In6
343 connect Box63.BoxChange showNpoints.BoxExecute
344 connect Box63.BoxChange Box62._execute
345 connect Box64.Out Box57.wxVtkBaseView2
346 connect Box64.Out Box62._wxvtkbaseview2D1
347 connect Box65.Out Box57.wxVtkBaseView3
348 connect Box65.Out Box62._wxvtkbaseview2D2
349 connect Box69.Out Box57.wxVtkBaseView4
350 connect Box69.Out Box62._wxvtkbaseview2D3
351 connect Box71.Out Box57.wxVtkBaseView
352 connect Box71.Out Box62._wxvtkbaseview3D1
353 connect Box04.Out Box62._polydata
354 connect Box71.Out Box72._wxvtkbaseview3D1
355 connect Box64.Out Box72._wxvtkbaseview2D1
356 connect Box65.Out Box72._wxvtkbaseview2D2
357 connect Box69.Out Box72._wxvtkbaseview2D3
358 connect Box72._widget Box79.Widget6
359 connect Box62._widget Box38.Widget7
360 connect Box39.Widget Box81.Widget2
361 connect Box40.Widget Box81.Widget4
362 connect Box44.Widget Box82.Widget2
363 connect Box82.Widget Box79.Widget2
364 connect Box84.Widget Box44.Widget9
365 connect Box86.Widget Box38.Widget2
366 connect Box50.Widget Box86.Widget4
367 connect Box49.Widget Box50.Widget2
368 connect Box34.Widget Box50.Widget4
369 connect Box57.BoxChange Box08.BoxExecute
370 connect Box92.MeshManagerModel Box93.MeshManagerModel
371 connect Box77.BoxChange Box93.BoxExecute
372 connect Box92.MeshBase Box72._polydata
373 connect Box92.MeshBase Box37.polydata
374 connect Box37.boxchange Box72._execute
375 connect Box81.Widget Box08.Widget2
376 connect Box94.BoxChange Box37.boxexecute
377 connect Box77.BoxChange Box94.BoxExecute
378 connect Box71.Out Box96.wxVtkBaseView
379 connect Box96.vtkRenderer Box66.In
380 connect Box37.widget Box79.Widget7
381 connect Box48.widget Box38.Widget8
382 connect Box97.Out Box45.Mesh
383 connect Box97.Out Box93.Mesh
384 connect Box43.Widget Box44.Widget1
385 connect Box78.Widget Box98.Widget2
386 connect Box80.Widget Box98.Widget4
387 connect Box98.Widget Box44.Widget3
388 connect Box99.Out Box58.StringVector
389 connect Box100.Out1 Box101.In1
390 connect Box101.Out Box60.Type
391 connect Box57.Out Box100.sk1
392 connect Box103.Out Box104.Active
393 connect Box66.Out Box104.Renderer
394 connect Box103.BoxChange Box104.BoxExecute
395 connect Box104.BoxChange Box31.In6
396 connect Box04.Out Box105.In
397 connect Box105.Out Box104.In
398 connect Box106.Out Box04.CloseSurface
399 connect Box106.BoxChange Box31.In7
400 connect Box109.Out Box108.In
401 connect Box108.Out Box110.In
402 connect Box110.Out Box111.In
403 connect Box110.Out Box112.In
404 connect Box111.Out Box06.OpenClose
405 connect Box112.Out Box06.OpenClose2
406 connect Box112.Out Box29.OpenClose2
407 connect Box111.Out Box29.OpenClose
408 connect Box77.Out Box113.In
409 connect Box113.Out Box97.In
410 connect Box04.Out Box77.In2
411 connect Box42.Widget Box114.Widget2
412 connect Box114.Widget Box82.Widget3
413 connect Box105.Out Box48.polydata
414 connect Box58.Out Box115.StringVector
415 connect Box115.Out Box57.In
416 connect Box67.Out Box60.Mesh
417 connect Box49.OutString Box29.NbPoints
418 connect showNpoints.WidgetShowNPoints Box116.WidgetShowNPoints
419 connect Box68.Spacing Box116.Spacing
420 connect Box117.BoxChange Box116.BoxExecute
421 connect Box117.Widget Box118.Widget2
422 connect Box119.Widget Box118.Widget3
423 connect Box119.BoxChange Box120.BoxExecute
424 connect showNpoints.WidgetShowNPoints Box120.WidgetShowNPoints
425 connect Box68.Spacing Box120.Spacing
426 connect Box105.Out Box116.Mesh
427 connect Box105.Out Box120.Mesh
428 connect showNpoints.Widget Box121.Widget1
429 connect Box121.Widget Box86.Widget2
430 connect Box123.BoxChange Box122.BoxExecute
431 connect Box123.Widget Box124.Widget2
432 connect Box125.Widget Box124.Widget3
433 connect Box125.BoxChange Box126.BoxExecute
434 connect showNpoints.WidgetShowNPoints Box122.WidgetShowNPoints
435 connect showNpoints.WidgetShowNPoints Box126.WidgetShowNPoints
436 connect Box108.Widget Box127.Widget2
437 connect Box127.Widget Box50.Widget6
438 connect Box130.Widget Box121.Widget3
439 connect Box106.Widget Box127.Widget5
440 connect Box103.Widget Box50.Widget7
441 connect Box131.Widget Box50.Widget9
442 connect Box124.Widget Box130.Widget1
443 connect Box118.Widget Box130.Widget3
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 " "