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
255 connect Box06.LstContourPointsX Box04.LstX
256 connect showNpoints.lstIndexs Box06.LstIndexsIn
257 connect Box06.LstContourPointsY Box04.LstY
258 connect Box06.LstContourPointsZ Box04.LstZ
259 connect Box06.LstIndexsOut Box04.LstIndexs
260 connect Box30.BoxChange Box31.In4
261 connect showNpoints.lstIndexs Box29.LstIndexsIn
262 connect Box29.LstContourPointsX Box30.lstPointX
263 connect Box29.LstContourPointsY Box30.lstPointY
264 connect Box29.LstContourPointsZ Box30.lstPointZ
265 connect Box29.LstIndexsOut Box30.lstIndexs
266 connect Box31.BoxChange Box11.BoxExecute
267 connect showNpoints.WidgetShowNPoints Box60.WidgetShowNPoints
268 connect Box57.BoxChange Box60.BoxExecute
269 connect Box68.Spacing Box60.Spacing
270 connect showNpoints.lstPointsX Box70.In0
271 connect showNpoints.lstPointsY Box70.In1
272 connect showNpoints.lstPointsZ Box70.In2
273 connect Box70.Out0 Box06.LstControlPointsX
274 connect Box70.Out1 Box06.LstControlPointsY
275 connect Box70.Out2 Box06.LstControlPointsZ
276 connect Box70.Out0 Box29.LstControlPointsX
277 connect Box70.Out1 Box29.LstControlPointsY
278 connect Box70.Out2 Box29.LstControlPointsZ
279 connect Box78.Out Box77.Operation
280 connect Box66.Out Box11.Renderer
281 connect Box66.Out Box30.Renderer
282 connect Box66.Out showNpoints.Renderer
283 connect Box67.Out Box77.In1
284 connect Box66.Out Box48.render
285 connect showNpoints.BoxChange Box31.BoxExecute
286 connect Box48.boxchange Box31.In1
287 connect Box35.Out Box68.In
288 connect Box68.Spacing Box70.k1
289 connect Box35.Out showNpoints.Image
290 connect Box34.Out Box36.In1
291 connect Box36.Out Box30.Opacity
292 connect Box34.BoxChange Box31.In2
293 connect Box66.Out Box37.render
294 connect Box38.Widget Box39.Widget2
295 connect Box79.Widget Box40.Widget2
296 connect Box46.Out Box45.MeshManagerModel
297 connect Box49.OutString Box06.NbPoints
298 connect Box42.BoxChange Box51.BoxExecute
299 connect Box45.BoxChange Box51.In2
300 connect Box52.BoxChange Box51.In4
301 connect showNpoints.WidgetShowNPoints Box52.WidgetShowNPoints
302 connect Box80.BoxChange Box53.In2
303 connect Box53.BoxChange Box77.BoxExecute
304 connect Box42.BoxChange Box53.In3
305 connect Box43.BoxChange Box55.BoxExecute
306 connect Box52.BoxChange Box55.In2
307 connect Box43.BoxChange Box53.In6
308 connect Box63.BoxChange showNpoints.BoxExecute
309 connect Box63.BoxChange Box62._execute
310 connect Box64.Out Box57.wxVtkBaseView2
311 connect Box64.Out Box62._wxvtkbaseview2D1
312 connect Box65.Out Box57.wxVtkBaseView3
313 connect Box65.Out Box62._wxvtkbaseview2D2
314 connect Box69.Out Box57.wxVtkBaseView4
315 connect Box69.Out Box62._wxvtkbaseview2D3
316 connect Box71.Out Box57.wxVtkBaseView
317 connect Box71.Out Box62._wxvtkbaseview3D1
318 connect Box04.Out Box62._polydata
319 connect Box71.Out Box72._wxvtkbaseview3D1
320 connect Box64.Out Box72._wxvtkbaseview2D1
321 connect Box65.Out Box72._wxvtkbaseview2D2
322 connect Box69.Out Box72._wxvtkbaseview2D3
323 connect Box72._widget Box79.Widget6
324 connect Box62._widget Box38.Widget7
325 connect Box39.Widget Box81.Widget2
326 connect Box40.Widget Box81.Widget4
327 connect Box44.Widget Box82.Widget2
328 connect Box82.Widget Box79.Widget2
329 connect Box84.Widget Box44.Widget9
330 connect Box86.Widget Box38.Widget2
331 connect Box50.Widget Box86.Widget4
332 connect Box49.Widget Box50.Widget2
333 connect Box34.Widget Box50.Widget4
334 connect Box57.BoxChange Box08.BoxExecute
335 connect Box92.MeshManagerModel Box93.MeshManagerModel
336 connect Box77.BoxChange Box93.BoxExecute
337 connect Box92.MeshBase Box72._polydata
338 connect Box92.MeshBase Box37.polydata
339 connect Box37.boxchange Box72._execute
340 connect Box81.Widget Box08.Widget2
341 connect Box94.BoxChange Box37.boxexecute
342 connect Box77.BoxChange Box94.BoxExecute
343 connect Box71.Out Box96.wxVtkBaseView
344 connect Box96.vtkRenderer Box66.In
345 connect Box37.widget Box79.Widget7
346 connect Box48.widget Box38.Widget8
347 connect Box97.Out Box45.Mesh
348 connect Box97.Out Box93.Mesh
349 connect Box43.Widget Box44.Widget1
350 connect Box78.Widget Box98.Widget2
351 connect Box80.Widget Box98.Widget4
352 connect Box98.Widget Box44.Widget3
353 connect Box99.Out Box58.StringVector
354 connect Box100.Out1 Box101.In1
355 connect Box101.Out Box60.Type
356 connect Box57.Out Box100.sk1
357 connect Box103.Out Box104.Active
358 connect Box66.Out Box104.Renderer
359 connect Box103.BoxChange Box104.BoxExecute
360 connect Box104.BoxChange Box31.In6
361 connect Box04.Out Box105.In
362 connect Box105.Out Box104.In
363 connect Box106.Out Box04.CloseSurface
364 connect Box106.BoxChange Box31.In7
365 connect Box109.Out Box108.In
366 connect Box108.Out Box110.In
367 connect Box110.Out Box111.In
368 connect Box110.Out Box112.In
369 connect Box111.Out Box06.OpenClose
370 connect Box112.Out Box06.OpenClose2
371 connect Box112.Out Box29.OpenClose2
372 connect Box111.Out Box29.OpenClose
373 connect Box77.Out Box113.In
374 connect Box113.Out Box97.In
375 connect Box04.Out Box77.In2
376 connect Box42.Widget Box114.Widget2
377 connect Box114.Widget Box82.Widget3
378 connect Box105.Out Box48.polydata
379 connect Box58.Out Box115.StringVector
380 connect Box115.Out Box57.In
381 connect Box67.Out Box60.Mesh
382 connect Box49.OutString Box29.NbPoints
383 connect showNpoints.Widget Box121.Widget1
384 connect Box121.Widget Box86.Widget2
385 connect Box108.Widget Box127.Widget2
386 connect Box127.Widget Box50.Widget6
387 connect Box106.Widget Box127.Widget5
388 connect Box103.Widget Box50.Widget7
389 connect Box131.Widget Box50.Widget9
390 connect showNpoints.WidgetShowNPoints Box132.WidgetShowNPoints
391 connect Box68.Spacing Box132.Spacing
392 connect Box105.Out Box132.Mesh
393 connect Box105.BoxChange Box132.BoxExecute
394 connect Box108.Out Box120.In1
395 connect Box120.Out Box132.Params
397 # Complex input ports
398 input point showNpoints.In " "
399 input mesh Box67.In " "
400 input image Box35.In " "
401 input title Box08.WinTitle " "
402 input meshmanagermodel Box46.In " "
403 input boxChange Box63.In " "
404 input wxvtkbaseview2 Box64.In " "
405 input wxvtkbaseview3 Box65.In " "
406 input wxvtkbaseview4 Box69.In " "
407 input wxvtkbaseview1 Box71.In " "
409 # Complex output ports
410 output widget Box08.Widget " "
411 output interactorStyleMaracas Box57.InteractorStyleMaracas " "
412 output interactorStyleMaracas2 Box57.InteractorStyleMaracas2 " "
413 output interactorStyleMaracas3 Box57.InteractorStyleMaracas3 " "
414 output interactorStyleMaracas4 Box57.InteractorStyleMaracas4 " "