1 # ----------------------------------
2 # - BBTKGEditor v 1.5 BBS BlackBox Script (Complex Box)
3 # - /home/garzon/Creatis/C23/creatools_source/creaMaracasVisu/bbtk/bbs/boxes/Mesh_tool_ApplyCut.bbs
4 # ----------------------------------
8 include creaMaracasVisu
14 define Mesh_tool_ApplyCut 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
27 set Box04.CloseSurface "true"
29 new creaMaracasVisu:ManualContourModel_Box Box06
30 set Box06.DoubleContour "1"
31 set Box06.NbPoints "100"
32 set Box06.OpenClose "true"
33 set Box06.OpenClose2 "false"
35 new wx:LayoutLine Box08
37 new vtk:UpdateRender Box11
38 set Box11.Active "true"
40 new creaMaracasVisu:DrawAxisTree3D Box30
41 set Box30.Colour "0 0 1"
42 set Box30.LineWidth "2"
44 new std:MultipleInputs Box31
46 new creaMaracasVisu:ManualContourModel_Box Box29
47 set Box29.NbPoints "40"
48 set Box29.OpenClose "true"
49 set Box29.OpenClose2 "false"
51 new creaMaracasVisu:wxPopupMenu Box57
52 set Box57.WithCtrlKey "true"
54 new std:AddStringToVector Box58
55 set Box58.In0 "+ Add point"
56 set Box58.In1 "(+) Insert point"
57 set Box58.In2 "Track point"
58 set Box58.In3 "Set Nearest point"
59 set Box58.In4 "- Erase point"
60 set Box58.In5 "-- Delete all points"
61 set Box58.In6 "----------------------"
62 set Box58.In7 "+> Insert group after"
63 set Box58.In8 "- Delete group"
64 set Box58.In9 "Tool - Inverse Normals"
66 new creaMaracasVisu:ShowNPoints_Tools Box60
68 new vtk:ImageVtkProperties Box68
70 new std:VectorFilterDouble Box70
73 new creaVtk:BooleanOperationPolyDataFilter Box77
74 set Box77.BoxProcessMode "Manual"
75 set Box77.ReorientDifferenceCells "false"
78 set Box78.In "Union Intersection Difference"
80 new wx:LayoutLine Box79
81 set Box79.Orientation "H"
82 set Box79.WinTitle "New Surface ( Magenta = Red+Yellow )"
84 new wx:CommandButton Box80
87 new std:MagicBox Box66
89 new std:MagicBox Box67
91 new creaMaracasVisu:PolyDataToActor_Widget Box48
93 new vtk:vtkImageDataPointerRelay Box35
97 set Box34.Label "true"
100 set Box34.ReactiveOnTrack "true"
101 set Box34.Title "Splines Opacity"
106 new creaMaracasVisu:PolyDataToActor_Widget Box37
107 set Box37.color "0 1 1"
108 set Box37.meshOpacity "100"
110 new wx:LayoutLine Box38
111 set Box38.Orientation "H"
112 set Box38.WinTitle "Interpolated Surface (Yellow)"
114 new wx:LayoutTab Box39
116 new wx:LayoutTab Box40
118 new wx:CommandButton Box42
119 set Box42.Label "Apply (Magenta->To Red)"
121 new wx:CommandButton Box43
122 set Box43.Label "Reset Tool"
124 new wx:LayoutLine Box44
125 set Box44.Orientation "V"
126 set Box44.WinTitle "1.2 Mesh Action"
128 new creaVtk:MeshManager_tool Box45
131 new std:MagicBox Box46
133 new wx:ComboBox Box49
134 set Box49.In "25 50 100 150"
135 set Box49.Selection "1"
136 set Box49.Title "Number of Points"
138 new wx:LayoutLine Box50
139 set Box50.Orientation "V"
140 set Box50.WinTitle "Config"
142 new std:MultipleInputs Box51
144 new creaMaracasVisu:ShowNPoints_Tools Box52
147 new std:MultipleInputs Box53
149 new std:MultipleInputs Box55
151 new creaMaracasVisu:MeshContours_Widget Box62
152 set Box62.colorMesh "1 1 0"
154 new std:MagicBox Box63
156 new std:MagicBox Box64
158 new std:MagicBox Box65
160 new std:MagicBox Box69
162 new std:MagicBox Box71
164 new creaMaracasVisu:MeshContours_Widget Box72
165 set Box72.colorMesh "0 1 1"
167 new wx:LayoutLine Box81
168 set Box81.WinTitle "Step 1. Surface"
170 new wx:LayoutTab Box82
172 new wx:OutputText Box84
174 new wx:LayoutTab Box86
176 new creaVtk:MeshManager Box92
178 new creaVtk:MeshManager_tool Box93
181 new std:MagicBox Box94
183 new creaMaracasVisu:wxVtkBaseView_Info Box96
185 new creaVtk:PolyDataNormals Box97
187 new wx:LayoutLine Box98
188 set Box98.Orientation "H"
190 new std:AddStringToVector Box99
191 set Box99.In0 "Auto Add Points (Start/Stop)"
193 new std:VectorFilterString Box100
194 set Box100.In0 "0 1 2 3 4 5 6 7 8 9 10"
195 set Box100.In1 "1 5 10 20 30 40 50 0 100 110 210"
198 new std:ConcatStrings Box101
200 new wx:CheckBox Box103
201 set Box103.In "false"
202 set Box103.ReactiveOnKeystroke "true"
203 set Box103.Title "Show Normals"
205 new creaVtk:GlyphPolyDataNormals Box104
206 set Box104.MaskRatio "2"
207 set Box104.Opacity "1"
210 new creaVtk:PolyDataNormals Box105
212 new std:AddStringToVector Box113
214 new std:ConcatStrings Box114
217 new std:ConcatStrings Box115
220 new wx:CommandButton Box116
223 new wx:CommandButton Box117
226 new creaMaracasVisu:ShowNPoints_Tools Box118
227 set Box118.BoxProcessMode "Manual"
228 set Box118.Type "320"
230 new creaMaracasVisu:ShowNPoints_Tools Box119
231 set Box119.BoxProcessMode "Manual"
232 set Box119.Type "320"
234 new wx:LayoutLine Box120
235 set Box120.Orientation "H"
237 new std:GetVectorDoubleSubVector Box121
238 set Box121.ErrorValue "0"
242 new std:ConcatStrings Box123
245 new std:ConcatStrings Box124
248 new wx:CommandButton Box125
251 new wx:CommandButton Box126
254 new creaMaracasVisu:ShowNPoints_Tools Box127
255 set Box127.BoxProcessMode "Manual"
256 set Box127.Type "330"
258 new creaMaracasVisu:ShowNPoints_Tools Box128
259 set Box128.BoxProcessMode "Manual"
260 set Box128.Type "330"
262 new std:GetVectorDoubleSubVector Box130
263 set Box130.ErrorValue "0"
267 new wx:LayoutLine Box131
268 set Box131.Orientation "H"
270 new wx:OutputText Box132
271 set Box132.In "Expand area"
273 new wx:OutputText Box133
274 set Box133.In "Widen"
276 new wx:LayoutLine Box135
277 set Box135.WinTitle "Flat surface"
279 new wx:OutputText Box138
280 set Box138.In "Expand"
282 new std:ConcatStrings Box139
285 new std:ConcatStrings Box140
288 new wx:CommandButton Box141
291 new wx:CommandButton Box142
294 new creaMaracasVisu:ShowNPoints_Tools Box143
295 set Box143.BoxProcessMode "Manual"
296 set Box143.Type "320"
298 new creaMaracasVisu:ShowNPoints_Tools Box144
299 set Box144.BoxProcessMode "Manual"
300 set Box144.Type "320"
302 new wx:LayoutLine Box145
303 set Box145.Orientation "H"
305 new std:GetVectorDoubleSubVector Box146
306 set Box146.ErrorValue "0"
310 new creaMaracasVisu:ShowNPoints_Tools Box147
312 new wx:LayoutLine Box148
313 set Box148.WinTitle "Volume"
315 new creaMaracasVisu:ShowNPoints_Tools Box159
316 set Box159.Type "310"
318 new wx:OutputText Box161
319 set Box161.In "Change width"
321 new std:ConcatStrings Box162
324 new std:ConcatStrings Box163
327 new wx:CommandButton Box164
330 new wx:CommandButton Box165
333 new creaMaracasVisu:ShowNPoints_Tools Box166
334 set Box166.BoxProcessMode "Manual"
335 set Box166.Type "330"
337 new creaMaracasVisu:ShowNPoints_Tools Box167
338 set Box167.BoxProcessMode "Manual"
339 set Box167.Type "330"
341 new wx:LayoutLine Box168
342 set Box168.Orientation "H"
344 new std:GetVectorDoubleSubVector Box169
345 set Box169.ErrorValue "0"
349 new wx:LayoutTab Box184
350 set Box184.WinTitle "Tool"
352 new std:StringSelect Box185
353 set Box185.In0 "true"
354 set Box185.In1 "true"
355 set Box185.In2 "false"
356 set Box185.In3 "true"
358 new wx:LayoutLine Box187
359 set Box187.WinTitle "Patch"
361 new wx:OutputText Box188
362 set Box188.In "Move center point"
364 new std:ConcatStrings Box189
367 new std:ConcatStrings Box190
370 new wx:CommandButton Box191
373 new wx:CommandButton Box192
376 new creaMaracasVisu:ShowNPoints_Tools Box193
377 set Box193.BoxProcessMode "Manual"
378 set Box193.Type "220"
380 new creaMaracasVisu:ShowNPoints_Tools Box194
381 set Box194.BoxProcessMode "Manual"
382 set Box194.Type "220"
384 new wx:LayoutLine Box195
385 set Box195.Orientation "H"
387 new std:GetVectorDoubleSubVector Box197
388 set Box197.ErrorValue "0"
392 new wx:OutputText Box198
393 set Box198.In "Expand"
395 new std:ConcatStrings Box199
398 new std:ConcatStrings Box200
401 new wx:CommandButton Box201
404 new wx:CommandButton Box202
407 new creaMaracasVisu:ShowNPoints_Tools Box203
408 set Box203.BoxProcessMode "Manual"
409 set Box203.Type "340"
411 new creaMaracasVisu:ShowNPoints_Tools Box204
412 set Box204.BoxProcessMode "Manual"
413 set Box204.Type "340"
415 new wx:LayoutLine Box205
416 set Box205.Orientation "H"
418 new std:GetVectorDoubleSubVector Box206
419 set Box206.ErrorValue "0"
423 new wx:CommandButton Box207
424 set Box207.Label "Setup from 3 or 4 points"
426 new creaMaracasVisu:ShowNPoints_Tools Box208
427 set Box208.Type "200"
429 new wx:OutputText Box210
430 set Box210.In "Expand"
432 new std:ConcatStrings Box211
435 new std:ConcatStrings Box212
438 new wx:CommandButton Box213
441 new wx:CommandButton Box214
444 new creaMaracasVisu:ShowNPoints_Tools Box215
445 set Box215.BoxProcessMode "Manual"
446 set Box215.Type "320"
448 new creaMaracasVisu:ShowNPoints_Tools Box216
449 set Box216.BoxProcessMode "Manual"
450 set Box216.Type "320"
452 new wx:LayoutLine Box217
453 set Box217.Orientation "H"
455 new std:GetVectorDoubleSubVector Box218
456 set Box218.ErrorValue "0"
460 new std:ConcatStrings Box227
463 new creaVtk:CleanPolyData Box224
465 new wx:LayoutLine Box225
466 set Box225.Orientation "V"
467 set Box225.WinTitle "1.3 Apply Changes"
470 connect Box06.LstContourPointsX Box04.LstX
471 connect showNpoints.lstIndexs Box06.LstIndexsIn
472 connect Box06.LstContourPointsY Box04.LstY
473 connect Box06.LstContourPointsZ Box04.LstZ
474 connect Box06.LstIndexsOut Box04.LstIndexs
475 connect Box30.BoxChange Box31.In4
476 connect showNpoints.lstIndexs Box29.LstIndexsIn
477 connect Box29.LstContourPointsX Box30.lstPointX
478 connect Box29.LstContourPointsY Box30.lstPointY
479 connect Box29.LstContourPointsZ Box30.lstPointZ
480 connect Box29.LstIndexsOut Box30.lstIndexs
481 connect Box31.BoxChange Box11.BoxExecute
482 connect showNpoints.WidgetShowNPoints Box60.WidgetShowNPoints
483 connect Box57.BoxChange Box60.BoxExecute
484 connect Box68.Spacing Box60.Spacing
485 connect showNpoints.lstPointsX Box70.In0
486 connect showNpoints.lstPointsY Box70.In1
487 connect showNpoints.lstPointsZ Box70.In2
488 connect Box70.Out0 Box06.LstControlPointsX
489 connect Box70.Out1 Box06.LstControlPointsY
490 connect Box70.Out2 Box06.LstControlPointsZ
491 connect Box70.Out0 Box29.LstControlPointsX
492 connect Box70.Out1 Box29.LstControlPointsY
493 connect Box70.Out2 Box29.LstControlPointsZ
494 connect Box78.Out Box77.Operation
495 connect Box66.Out Box11.Renderer
496 connect Box66.Out Box30.Renderer
497 connect Box66.Out showNpoints.Renderer
498 connect Box67.Out Box77.In1
499 connect Box04.Out Box48.polydata
500 connect Box66.Out Box48.render
501 connect showNpoints.BoxChange Box31.BoxExecute
502 connect Box48.boxchange Box31.In1
503 connect Box35.Out Box68.In
504 connect Box68.Spacing Box70.k1
505 connect Box35.Out showNpoints.Image
506 connect Box34.Out Box36.In1
507 connect Box36.Out Box30.Opacity
508 connect Box34.BoxChange Box31.In2
509 connect Box66.Out Box37.render
510 connect Box38.Widget Box39.Widget2
511 connect Box79.Widget Box40.Widget2
512 connect Box46.Out Box45.MeshManagerModel
513 connect Box49.OutString Box06.NbPoints
514 connect Box42.BoxChange Box51.BoxExecute
515 connect Box45.BoxChange Box51.In2
516 connect Box52.BoxChange Box51.In4
517 connect showNpoints.WidgetShowNPoints Box52.WidgetShowNPoints
518 connect Box80.BoxChange Box53.In2
519 connect Box53.BoxChange Box77.BoxExecute
520 connect Box42.BoxChange Box53.In3
521 connect Box43.BoxChange Box55.BoxExecute
522 connect Box52.BoxChange Box55.In2
523 connect Box43.BoxChange Box53.In6
524 connect Box63.BoxChange showNpoints.BoxExecute
525 connect Box63.BoxChange Box62._execute
526 connect Box64.Out Box57.wxVtkBaseView2
527 connect Box64.Out Box62._wxvtkbaseview2D1
528 connect Box65.Out Box57.wxVtkBaseView3
529 connect Box65.Out Box62._wxvtkbaseview2D2
530 connect Box69.Out Box57.wxVtkBaseView4
531 connect Box69.Out Box62._wxvtkbaseview2D3
532 connect Box71.Out Box57.wxVtkBaseView
533 connect Box71.Out Box62._wxvtkbaseview3D1
534 connect Box04.Out Box62._polydata
535 connect Box71.Out Box72._wxvtkbaseview3D1
536 connect Box64.Out Box72._wxvtkbaseview2D1
537 connect Box65.Out Box72._wxvtkbaseview2D2
538 connect Box69.Out Box72._wxvtkbaseview2D3
539 connect Box72._widget Box79.Widget6
540 connect Box62._widget Box38.Widget7
541 connect Box39.Widget Box81.Widget2
542 connect Box40.Widget Box81.Widget4
543 connect Box44.Widget Box82.Widget2
544 connect Box82.Widget Box79.Widget2
545 connect Box84.Widget Box44.Widget9
546 connect Box86.Widget Box38.Widget2
547 connect Box50.Widget Box86.Widget4
548 connect showNpoints.Widget Box86.Widget2
549 connect Box49.Widget Box50.Widget2
550 connect Box34.Widget Box50.Widget4
551 connect Box57.BoxChange Box08.BoxExecute
552 connect Box92.MeshManagerModel Box93.MeshManagerModel
553 connect Box92.MeshBase Box72._polydata
554 connect Box92.MeshBase Box37.polydata
555 connect Box37.boxchange Box72._execute
556 connect Box81.Widget Box08.Widget2
557 connect Box94.BoxChange Box37.boxexecute
558 connect Box77.BoxChange Box94.BoxExecute
559 connect Box71.Out Box96.wxVtkBaseView
560 connect Box96.vtkRenderer Box66.In
561 connect Box37.widget Box79.Widget7
562 connect Box48.widget Box38.Widget8
563 connect Box43.Widget Box44.Widget1
564 connect Box78.Widget Box98.Widget2
565 connect Box80.Widget Box98.Widget4
566 connect Box98.Widget Box44.Widget3
567 connect Box99.Out Box58.StringVector
568 connect Box100.Out1 Box101.In1
569 connect Box101.Out Box60.Type
570 connect Box57.Out Box100.sk1
571 connect Box103.Out Box104.Active
572 connect Box66.Out Box104.Renderer
573 connect Box103.BoxChange Box104.BoxExecute
574 connect Box104.BoxChange Box31.In6
575 connect Box04.Out Box105.In
576 connect Box105.Out Box104.In
577 connect Box58.Out Box113.StringVector
578 connect Box113.Out Box57.In
579 connect Box67.Out Box60.Mesh
580 connect Box117.BoxChange Box119.BoxExecute
581 connect Box116.BoxChange Box118.BoxExecute
582 connect Box114.Out Box118.Params
583 connect Box115.Out Box119.Params
584 connect showNpoints.WidgetShowNPoints Box119.WidgetShowNPoints
585 connect showNpoints.WidgetShowNPoints Box118.WidgetShowNPoints
586 connect Box116.Widget Box120.Widget1
587 connect Box117.Widget Box120.Widget3
588 connect Box121.Out Box114.In1
589 connect Box121.Out Box115.In1
590 connect Box126.BoxChange Box128.BoxExecute
591 connect Box125.BoxChange Box127.BoxExecute
592 connect Box123.Out Box127.Params
593 connect Box124.Out Box128.Params
594 connect Box130.Out Box123.In1
595 connect Box130.Out Box124.In1
596 connect showNpoints.WidgetShowNPoints Box128.WidgetShowNPoints
597 connect showNpoints.WidgetShowNPoints Box127.WidgetShowNPoints
598 connect Box125.Widget Box131.Widget1
599 connect Box126.Widget Box131.Widget3
600 connect Box103.Widget Box50.Widget5
601 connect Box60.Out Box130.In
602 connect Box60.Out Box121.In
603 connect Box77.BoxChange Box93.BoxExecute
604 connect Box138.Widget Box135.Widget4
605 connect Box142.BoxChange Box144.BoxExecute
606 connect Box141.BoxChange Box143.BoxExecute
607 connect Box139.Out Box143.Params
608 connect Box140.Out Box144.Params
609 connect Box146.Out Box139.In1
610 connect Box146.Out Box140.In1
611 connect Box145.Widget Box135.Widget6
612 connect showNpoints.WidgetShowNPoints Box147.WidgetShowNPoints
613 connect Box68.Spacing Box147.Spacing
614 connect Box67.Out Box147.Mesh
615 connect showNpoints.WidgetShowNPoints Box144.WidgetShowNPoints
616 connect showNpoints.WidgetShowNPoints Box143.WidgetShowNPoints
617 connect Box68.Spacing Box159.Spacing
618 connect Box165.BoxChange Box167.BoxExecute
619 connect Box164.BoxChange Box166.BoxExecute
620 connect Box162.Out Box166.Params
621 connect Box163.Out Box167.Params
622 connect Box169.Out Box162.In1
623 connect Box169.Out Box163.In1
624 connect showNpoints.WidgetShowNPoints Box159.WidgetShowNPoints
625 connect showNpoints.WidgetShowNPoints Box166.WidgetShowNPoints
626 connect showNpoints.WidgetShowNPoints Box167.WidgetShowNPoints
627 connect Box168.Widget Box148.Widget8
628 connect Box161.Widget Box148.Widget7
629 connect Box141.Widget Box145.Widget3
630 connect Box142.Widget Box145.Widget4
631 connect Box164.Widget Box168.Widget3
632 connect Box165.Widget Box168.Widget4
633 connect Box135.Widget Box184.Widget2
634 connect Box148.Widget Box184.Widget4
635 connect Box184.Widget Box86.Widget6
636 connect Box184.Selection Box185.In
637 connect Box185.Out Box04.CloseSurface
638 connect Box185.Out Box06.OpenClose
639 connect Box147.Out Box146.In
640 connect Box192.BoxChange Box194.BoxExecute
641 connect Box191.BoxChange Box193.BoxExecute
642 connect Box189.Out Box193.Params
643 connect Box190.Out Box194.Params
644 connect Box195.Widget Box187.Widget8
645 connect Box188.Widget Box187.Widget7
646 connect Box191.Widget Box195.Widget3
647 connect Box192.Widget Box195.Widget4
648 connect Box187.Widget Box184.Widget6
649 connect showNpoints.WidgetShowNPoints Box194.WidgetShowNPoints
650 connect showNpoints.WidgetShowNPoints Box193.WidgetShowNPoints
651 connect Box197.Out Box189.In1
652 connect Box197.Out Box190.In1
653 connect Box202.BoxChange Box204.BoxExecute
654 connect Box201.BoxChange Box203.BoxExecute
655 connect Box199.Out Box203.Params
656 connect Box200.Out Box204.Params
657 connect Box201.Widget Box205.Widget3
658 connect Box202.Widget Box205.Widget4
659 connect Box206.Out Box199.In1
660 connect Box206.Out Box200.In1
661 connect Box205.Widget Box187.Widget5
662 connect Box198.Widget Box187.Widget4
663 connect showNpoints.WidgetShowNPoints Box204.WidgetShowNPoints
664 connect showNpoints.WidgetShowNPoints Box203.WidgetShowNPoints
665 connect Box159.Out Box169.In
666 connect Box207.BoxChange Box208.BoxExecute
667 connect Box208.Out Box197.In
668 connect Box208.Out Box206.In
669 connect Box214.BoxChange Box216.BoxExecute
670 connect Box213.BoxChange Box215.BoxExecute
671 connect Box211.Out Box215.Params
672 connect Box212.Out Box216.Params
673 connect Box218.Out Box211.In1
674 connect Box218.Out Box212.In1
675 connect Box213.Widget Box217.Widget3
676 connect Box214.Widget Box217.Widget4
677 connect Box159.Out Box218.In
678 connect Box217.Widget Box148.Widget5
679 connect Box210.Widget Box148.Widget4
680 connect showNpoints.WidgetShowNPoints Box215.WidgetShowNPoints
681 connect showNpoints.WidgetShowNPoints Box216.WidgetShowNPoints
682 connect showNpoints.WidgetShowNPoints Box208.WidgetShowNPoints
683 connect Box207.Widget Box187.Widget1
684 connect Box67.Out Box208.Mesh
685 connect Box68.Spacing Box208.Spacing
686 connect Box67.Out Box159.Mesh
687 connect Box227.Out Box147.Type
688 connect Box04.Out Box77.In2
689 connect Box97.Out Box45.Mesh
690 connect Box77.Out Box224.In
691 connect Box224.Out Box97.In
692 connect Box97.Out Box93.Mesh
693 connect Box42.Widget Box225.Widget1
694 connect Box225.Widget Box82.Widget4
696 # Complex input ports
697 input point showNpoints.In " "
698 input mesh Box67.In " "
699 input image Box35.In " "
700 input title Box08.WinTitle " "
701 input meshmanagermodel Box46.In " "
702 input boxChange Box63.In " "
703 input wxvtkbaseview2 Box64.In " "
704 input wxvtkbaseview3 Box65.In " "
705 input wxvtkbaseview4 Box69.In " "
706 input wxvtkbaseview1 Box71.In " "
708 # Complex output ports
709 output widget Box08.Widget " "
710 output interactorStyleMaracas Box57.InteractorStyleMaracas " "
711 output interactorStyleMaracas3 Box57.InteractorStyleMaracas3 " "
712 output interactorStyleMaracas4 Box57.InteractorStyleMaracas4 " "
713 output interactorStyleMaracas2 Box57.InteractorStyleMaracas2 " "