From 89f100d62b34e0248551ba2ce51de2c1ec7aa890 Mon Sep 17 00:00:00 2001 From: Eduardo DAVILA Date: Fri, 24 Nov 2017 11:21:43 +0100 Subject: [PATCH] 3150 creaVtk Feature New Normal - PointPicker box --- .../bbs/appli/exampleProbeFilter_tensors.bbg | 60 ++++-- .../bbs/appli/exampleProbeFilter_tensors.bbs | 41 ++-- .../bbs/appli/exampleTensorsVisu.bbg | 44 ++-- .../bbs/appli/exampleTensorsVisu.bbs | 30 ++- .../bbs/appli/exampleVectorsTensorsVisu.bbg | 74 +++++-- .../bbs/appli/exampleVectorsTensorsVisu.bbs | 62 ++++-- .../bbs/appli/exampleVectorsVisu.bbg | 48 +++-- .../bbs/appli/exampleVectorsVisu.bbs | 31 ++- bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.cxx | 200 ++++++++++++++++++ bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.h | 67 ++++++ 10 files changed, 533 insertions(+), 124 deletions(-) create mode 100644 bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.cxx create mode 100644 bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.h diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbg b/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbg index 22a99c2..53b9fec 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbg +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbg @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBG BlackBox Diagram file -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbg +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbg # ---------------------------------- APP_START @@ -9,12 +9,12 @@ DESCRIPTION:Description ?? AUTHOR:Author ?? COMPLEXBOX:FALSE COMPLEXINPUTS:0 -BOXES:12 +BOXES:14 BOX creaMaracasVisu:ViewerNV:Box03 ISEXEC:FALSE 27.598176:-3.687687:-900.000000 -88.238176:-13.687687:-900.000000 +91.318176:-13.687687:-900.000000 PORT nTypeView:"5" FIN_BOX @@ -22,7 +22,7 @@ BOX wx:LayoutSplit:Box05 ISEXEC:TRUE 20.586047:-67.968368:-900.000000 -66.161047:-77.968368:-900.000000 +59.666047:-77.968368:-900.000000 PORT Proportion:"10" FIN_BOX @@ -30,19 +30,19 @@ BOX wx:FileSelector:Box06 ISEXEC:FALSE -79.676950:57.942181:-900.000000 --34.101950:47.942181:-900.000000 +-42.301950:47.942181:-900.000000 FIN_BOX BOX vtk:LoadHola:Box07 ISEXEC:FALSE 68.757525:22.245082:-900.000000 -114.332525:12.245082:-900.000000 +104.307525:12.245082:-900.000000 FIN_BOX BOX vtk:StructuredPointsReader:Box08 ISEXEC:FALSE -77.857785:27.419739:-900.000000 --6.682785:17.419739:-900.000000 +-29.157785:17.419739:-900.000000 PORT In:"/home/davila/Creatis/creaVtk/data/Tensors.vtk" FIN_BOX @@ -50,17 +50,17 @@ BOX creaVtk:TensorsVisu:Box09 ISEXEC:FALSE -44.769242:-85.189889:-900.000000 -0.805758:-95.189889:-900.000000 +-7.494242:-95.189889:-900.000000 PORT Active:"true" PORT -ScaleFactor:"1000" +ScaleFactor:"1" FIN_BOX BOX creaVtk:PlaneWidget:Box10 ISEXEC:FALSE --29.723943:-18.957230:-900.000000 -15.851057:-28.957230:-900.000000 +-27.619879:-20.159552:-900.000000 +10.905121:-30.159552:-900.000000 PORT Resolution:"30" FIN_BOX @@ -68,33 +68,47 @@ BOX wx:CheckBox:Box11 ISEXEC:FALSE -24.728663:7.325304:-900.000000 -20.846337:-2.674696:-900.000000 +11.596337:-2.674696:-900.000000 FIN_BOX BOX vtk:ProbeFilter:Box12 ISEXEC:FALSE -77.064820:-49.613778:-900.000000 --31.489820:-59.613778:-900.000000 +-40.664820:-59.613778:-900.000000 FIN_BOX BOX std:MagicBox:Box13 ISEXEC:FALSE -82.283365:-10.718419:-900.000000 --36.708365:-20.718419:-900.000000 +-46.208365:-20.718419:-900.000000 FIN_BOX BOX std:MagicBox:Box14 ISEXEC:FALSE -84.428272:-63.543396:-900.000000 --38.853272:-73.543396:-900.000000 +-48.353272:-73.543396:-900.000000 FIN_BOX BOX std:MagicBox:Box15 ISEXEC:FALSE -29.807925:-37.290341:-900.000000 -15.767075:-47.290341:-900.000000 +6.267075:-47.290341:-900.000000 FIN_BOX -CONNECTIONS:15 +BOX +std:Configuration:Box16 +ISEXEC:FALSE +-26.300794:65.827130:-900.000000 +13.124206:55.827130:-900.000000 +FIN_BOX +BOX +std:ConcatStrings:Box17 +ISEXEC:FALSE +-30.208341:45.688237:-900.000000 +9.516659:35.688237:-900.000000 +PORT +In2:"/creaVtk/Tensors.vtk" +FIN_BOX +CONNECTIONS:17 CONNECTION Box03:Widget:Box05:Widget2 NumberOfControlPoints:0 @@ -105,9 +119,6 @@ CONNECTION Box03:Renderer1:Box09:Renderer NumberOfControlPoints:0 CONNECTION -Box07:Out:Box10:In -NumberOfControlPoints:0 -CONNECTION Box03:Renderer1:Box10:Renderer NumberOfControlPoints:0 CONNECTION @@ -140,4 +151,13 @@ NumberOfControlPoints:0 CONNECTION Box15:Out:Box12:Input NumberOfControlPoints:0 +CONNECTION +Box17:Out:Box08:In +NumberOfControlPoints:0 +CONNECTION +Box16:DataPath:Box17:In1 +NumberOfControlPoints:0 +CONNECTION +Box08:Out:Box10:In +NumberOfControlPoints:0 APP_END diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbs b/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbs index 6a7ba04..56cb810 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbs +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbs @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBS BlackBox Script -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbs +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleProbeFilter_tensors.bbs # ---------------------------------- # BBTK GEditor Script @@ -18,35 +18,40 @@ author "Author ??" description "Description ??" category "" -new ViewerNV Box03 +new creaMaracasVisu:ViewerNV Box03 set Box03.nTypeView "5" -new LayoutSplit Box05 +new wx:LayoutSplit Box05 set Box05.Proportion "10" -new FileSelector Box06 +new wx:FileSelector Box06 -new LoadHola Box07 +new vtk:LoadHola Box07 -new StructuredPointsReader Box08 +new vtk:StructuredPointsReader Box08 set Box08.In "/home/davila/Creatis/creaVtk/data/Tensors.vtk" -new TensorsVisu Box09 +new creaVtk:TensorsVisu Box09 set Box09.Active "true" - set Box09.ScaleFactor "1000" + set Box09.ScaleFactor "1" -new PlaneWidget Box10 +new creaVtk:PlaneWidget Box10 set Box10.Resolution "30" -new CheckBox Box11 +new wx:CheckBox Box11 -new ProbeFilter Box12 +new vtk:ProbeFilter Box12 -new MagicBox Box13 +new std:MagicBox Box13 -new MagicBox Box14 +new std:MagicBox Box14 -new MagicBox Box15 +new std:MagicBox Box15 + +new std:Configuration Box16 + +new std:ConcatStrings Box17 + set Box17.In2 "/creaVtk/Tensors.vtk" connect Box03.Widget Box05.Widget2 @@ -55,8 +60,6 @@ connect Box07.Out Box03.In connect Box03.Renderer1 Box09.Renderer -connect Box07.Out Box10.In - connect Box03.Renderer1 Box10.Renderer connect Box10.BoxChange Box09.BoxExecute @@ -79,6 +82,12 @@ connect Box10.Out Box15.In connect Box15.Out Box12.Input +connect Box17.Out Box08.In + +connect Box16.DataPath Box17.In1 + +connect Box08.Out Box10.In + # Complex input ports diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbg b/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbg index ef820d9..54479cc 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbg +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbg @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBG BlackBox Diagram file -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbg +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbg # ---------------------------------- APP_START @@ -9,12 +9,12 @@ DESCRIPTION:Description ?? AUTHOR:Author ?? COMPLEXBOX:FALSE COMPLEXINPUTS:0 -BOXES:8 +BOXES:10 BOX vtk:MaskPoint:Box01 ISEXEC:FALSE -92.837953:-22.712415:-900.000000 --47.262953:-32.712415:-900.000000 +-56.687953:-32.712415:-900.000000 PORT Ratio:"1" FIN_BOX @@ -22,7 +22,7 @@ BOX creaMaracasVisu:ViewerNV:Box03 ISEXEC:FALSE 27.598176:-3.687687:-900.000000 -88.238176:-13.687687:-900.000000 +91.318176:-13.687687:-900.000000 PORT nTypeView:"5" FIN_BOX @@ -30,7 +30,7 @@ BOX wx:CommandButton:Box04 ISEXEC:FALSE 0.713746:16.059283:-900.000000 -46.288746:6.059283:-900.000000 +43.488746:6.059283:-900.000000 PORT Label:"Run" FIN_BOX @@ -38,7 +38,7 @@ BOX wx:LayoutSplit:Box05 ISEXEC:TRUE 20.586047:-67.968368:-900.000000 -66.161047:-77.968368:-900.000000 +59.666047:-77.968368:-900.000000 PORT Proportion:"10" FIN_BOX @@ -46,19 +46,19 @@ BOX wx:FileSelector:Box06 ISEXEC:FALSE -79.676950:57.942181:-900.000000 --34.101950:47.942181:-900.000000 +-42.301950:47.942181:-900.000000 FIN_BOX BOX vtk:LoadHola:Box07 ISEXEC:FALSE 68.757525:22.245082:-900.000000 -114.332525:12.245082:-900.000000 +104.307525:12.245082:-900.000000 FIN_BOX BOX vtk:StructuredPointsReader:Box08 ISEXEC:FALSE -77.679349:22.958827:-900.000000 --6.504349:12.958827:-900.000000 +-28.979349:12.958827:-900.000000 PORT In:"/home/davila/Creatis/creaVtk/data/Tensors.vtk" FIN_BOX @@ -66,13 +66,27 @@ BOX creaVtk:TensorsVisu:Box09 ISEXEC:FALSE -72.890772:-52.601588:-900.000000 --27.315772:-62.601588:-900.000000 +-35.615772:-62.601588:-900.000000 PORT Active:"true" PORT -ScaleFactor:"1000" +ScaleFactor:"1" FIN_BOX -CONNECTIONS:7 +BOX +std:Configuration:Box10 +ISEXEC:FALSE +-21.942377:61.919584:-900.000000 +17.482623:51.919584:-900.000000 +FIN_BOX +BOX +std:ConcatStrings:Box11 +ISEXEC:FALSE +-22.844118:39.376046:-900.000000 +16.880882:29.376046:-900.000000 +PORT +In2:"/creaVtk/Tensors.vtk" +FIN_BOX +CONNECTIONS:9 CONNECTION Box03:Widget:Box05:Widget2 NumberOfControlPoints:0 @@ -94,4 +108,10 @@ NumberOfControlPoints:0 CONNECTION Box03:Renderer1:Box09:Renderer NumberOfControlPoints:0 +CONNECTION +Box10:DataPath:Box11:In1 +NumberOfControlPoints:0 +CONNECTION +Box11:Out:Box08:In +NumberOfControlPoints:0 APP_END diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbs b/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbs index 07e26f3..9579c58 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbs +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbs @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBS BlackBox Script -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbs +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleTensorsVisu.bbs # ---------------------------------- # BBTK GEditor Script @@ -12,33 +12,39 @@ include vtk include creaMaracasVisu include wx include creaVtk +include std author "Author ??" description "Description ??" category "" -new MaskPoint Box01 +new vtk:MaskPoint Box01 set Box01.Ratio "1" -new ViewerNV Box03 +new creaMaracasVisu:ViewerNV Box03 set Box03.nTypeView "5" -new CommandButton Box04 +new wx:CommandButton Box04 set Box04.Label "Run" -new LayoutSplit Box05 +new wx:LayoutSplit Box05 set Box05.Proportion "10" -new FileSelector Box06 +new wx:FileSelector Box06 -new LoadHola Box07 +new vtk:LoadHola Box07 -new StructuredPointsReader Box08 +new vtk:StructuredPointsReader Box08 set Box08.In "/home/davila/Creatis/creaVtk/data/Tensors.vtk" -new TensorsVisu Box09 +new creaVtk:TensorsVisu Box09 set Box09.Active "true" - set Box09.ScaleFactor "1000" + set Box09.ScaleFactor "1" + +new std:Configuration Box10 + +new std:ConcatStrings Box11 + set Box11.In2 "/creaVtk/Tensors.vtk" connect Box03.Widget Box05.Widget2 @@ -55,6 +61,10 @@ connect Box04.BoxChange Box09.BoxExecute connect Box03.Renderer1 Box09.Renderer +connect Box10.DataPath Box11.In1 + +connect Box11.Out Box08.In + # Complex input ports diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbg b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbg index f8f2435..ea59ce2 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbg +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbg @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBG BlackBox Diagram file -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbg +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbg # ---------------------------------- APP_START @@ -9,12 +9,12 @@ DESCRIPTION:Description ?? AUTHOR:Author ?? COMPLEXBOX:FALSE COMPLEXINPUTS:0 -BOXES:22 +BOXES:25 BOX vtk:ProbeFilter:Box02 ISEXEC:FALSE -72.827186:46.485275:-900.000000 --27.252186:36.485275:-900.000000 +-36.427186:36.485275:-900.000000 PORT BoxProcessMode:"Reactive" FIN_BOX @@ -22,7 +22,7 @@ BOX creaMaracasVisu:ViewerNV:Box03 ISEXEC:FALSE 100.754389:107.101567:-900.000000 -161.394389:97.101567:-900.000000 +164.474389:97.101567:-900.000000 PORT nTypeView:"5" FIN_BOX @@ -30,7 +30,7 @@ BOX wx:LayoutSplit:Box05 ISEXEC:TRUE 93.773391:-155.982170:-900.000000 -139.348391:-165.982170:-900.000000 +132.853391:-165.982170:-900.000000 PORT Orientation:"H" FIN_BOX @@ -38,13 +38,13 @@ BOX vtk:LoadHola:Box09 ISEXEC:FALSE 153.098742:161.145048:-900.000000 -198.673742:151.145048:-900.000000 +188.648742:151.145048:-900.000000 FIN_BOX BOX vtk:StructuredPointsReader:Box10 ISEXEC:FALSE 77.275714:159.302494:-900.000000 -148.450714:149.302494:-900.000000 +125.975714:149.302494:-900.000000 PORT In:"/home/davila/Creatis/creaVtk/data/Vectors.vtk" FIN_BOX @@ -52,7 +52,7 @@ BOX vtk:UpdateRender:Box22 ISEXEC:FALSE 57.580543:-82.265335:-900.000000 -103.155543:-92.265335:-900.000000 +97.905543:-92.265335:-900.000000 PORT Active:"true" FIN_BOX @@ -82,7 +82,7 @@ BOX vtk:MaskPoint:Box20 ISEXEC:FALSE 202.746122:43.877665:-900.000000 -248.321122:33.877665:-900.000000 +238.896122:33.877665:-900.000000 PORT BoxProcessMode:"Reactive" FIN_BOX @@ -90,7 +90,7 @@ BOX std:MultipleInputs:Box23 ISEXEC:FALSE 77.740897:-58.895166:-900.000000 -123.315897:-68.895166:-900.000000 +117.440897:-68.895166:-900.000000 PORT BoxProcessMode:"Reactive" FIN_BOX @@ -98,31 +98,31 @@ BOX vtk:MaskPoints_Interface:Box26 ISEXEC:FALSE 196.880728:81.972510:-900.000000 -268.055728:71.972510:-900.000000 +243.605728:71.972510:-900.000000 FIN_BOX BOX creaVtk:VectorsVisu_Widget:Box28 ISEXEC:FALSE 192.922416:25.437003:-900.000000 -238.497416:15.437003:-900.000000 +238.347416:15.437003:-900.000000 FIN_BOX BOX creaVtk:VectorsVisu_Widget:Box29 ISEXEC:FALSE -70.109941:26.627454:-900.000000 --24.534941:16.627454:-900.000000 +-24.684941:16.627454:-900.000000 FIN_BOX BOX creaVtk:PlaneWidget_Widget:Box30 ISEXEC:FALSE -122.569978:109.259211:-900.000000 --51.394978:99.259211:-900.000000 +-76.244978:99.259211:-900.000000 FIN_BOX BOX vtk:StructuredPointsReader:Box31 ISEXEC:FALSE -26.958110:153.790191:-900.000000 -44.216890:143.790191:-900.000000 +21.741890:143.790191:-900.000000 PORT In:"/home/davila/Creatis/creaVtk/data/Tensors.vtk" FIN_BOX @@ -130,7 +130,7 @@ BOX vtk:ProbeFilter:Box32 ISEXEC:FALSE -1.580734:47.184663:-900.000000 -43.994266:37.184663:-900.000000 +34.819266:37.184663:-900.000000 PORT BoxProcessMode:"Reactive" FIN_BOX @@ -138,7 +138,7 @@ BOX creaVtk:TensorsVisu_Wideget:Box33 ISEXEC:FALSE -3.481701:19.788307:-900.000000 -67.693299:9.788307:-900.000000 +42.868299:9.788307:-900.000000 FIN_BOX BOX wx:LayoutTab:Box36 @@ -150,13 +150,13 @@ BOX creaVtk:TensorsVisu_Wideget:Box37 ISEXEC:FALSE 201.537958:-19.000913:-900.000000 -272.712958:-29.000913:-900.000000 +247.887958:-29.000913:-900.000000 FIN_BOX BOX vtk:MaskPoint:Box38 ISEXEC:FALSE 211.630192:-3.346943:-900.000000 -257.205192:-13.346943:-900.000000 +247.780192:-13.346943:-900.000000 FIN_BOX BOX wx:LayoutTab:Box39 @@ -164,7 +164,29 @@ ISEXEC:FALSE 161.271124:-70.566315:-900.000000 218.831124:-80.566315:-900.000000 FIN_BOX -CONNECTIONS:41 +BOX +std:Configuration:Box40 +ISEXEC:FALSE +-6.709461:207.169332:-900.000000 +32.715539:197.169332:-900.000000 +FIN_BOX +BOX +std:ConcatStrings:Box41 +ISEXEC:FALSE +-20.599223:183.862782:-900.000000 +19.125777:173.862782:-900.000000 +PORT +In2:"/creaVtk/Tensors.vtk" +FIN_BOX +BOX +std:ConcatStrings:Box42 +ISEXEC:FALSE +30.947016:185.735466:-900.000000 +70.672016:175.735466:-900.000000 +PORT +In2:"/creaVtk/Vectors.vtk" +FIN_BOX +CONNECTIONS:45 CONNECTION Box03:Widget:Box05:Widget2 NumberOfControlPoints:0 @@ -288,4 +310,16 @@ NumberOfControlPoints:0 CONNECTION Box39:Widget:Box19:Widget2 NumberOfControlPoints:0 +CONNECTION +Box40:DataPath:Box41:In1 +NumberOfControlPoints:0 +CONNECTION +Box40:DataPath:Box42:In1 +NumberOfControlPoints:0 +CONNECTION +Box41:Out:Box31:In +NumberOfControlPoints:0 +CONNECTION +Box42:Out:Box10:In +NumberOfControlPoints:0 APP_END diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbs b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbs index 1ea7e57..37abe99 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbs +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbs @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBS BlackBox Script -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbs +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsTensorsVisu.bbs # ---------------------------------- # BBTK GEditor Script @@ -18,60 +18,68 @@ author "Author ??" description "Description ??" category "" -new ProbeFilter Box02 +new vtk:ProbeFilter Box02 set Box02.BoxProcessMode "Reactive" -new ViewerNV Box03 +new creaMaracasVisu:ViewerNV Box03 set Box03.nTypeView "5" -new LayoutSplit Box05 +new wx:LayoutSplit Box05 set Box05.Orientation "H" -new LoadHola Box09 +new vtk:LoadHola Box09 -new StructuredPointsReader Box10 +new vtk:StructuredPointsReader Box10 set Box10.In "/home/davila/Creatis/creaVtk/data/Vectors.vtk" -new UpdateRender Box22 +new vtk:UpdateRender Box22 set Box22.Active "true" -new LayoutLine Box15 +new wx:LayoutLine Box15 set Box15.WinTitle "Plane" -new LayoutTab Box17 +new wx:LayoutTab Box17 -new LayoutLine Box19 +new wx:LayoutLine Box19 set Box19.WinTitle "Volume" -new MaskPoint Box20 +new vtk:MaskPoint Box20 set Box20.BoxProcessMode "Reactive" -new MultipleInputs Box23 +new std:MultipleInputs Box23 set Box23.BoxProcessMode "Reactive" -new MaskPoints_Interface Box26 +new vtk:MaskPoints_Interface Box26 -new VectorsVisu_Widget Box28 +new creaVtk:VectorsVisu_Widget Box28 -new VectorsVisu_Widget Box29 +new creaVtk:VectorsVisu_Widget Box29 -new PlaneWidget_Widget Box30 +new creaVtk:PlaneWidget_Widget Box30 -new StructuredPointsReader Box31 +new vtk:StructuredPointsReader Box31 set Box31.In "/home/davila/Creatis/creaVtk/data/Tensors.vtk" -new ProbeFilter Box32 +new vtk:ProbeFilter Box32 set Box32.BoxProcessMode "Reactive" -new TensorsVisu_Wideget Box33 +new creaVtk:TensorsVisu_Wideget Box33 -new LayoutTab Box36 +new wx:LayoutTab Box36 -new TensorsVisu_Wideget Box37 +new creaVtk:TensorsVisu_Wideget Box37 -new MaskPoint Box38 +new vtk:MaskPoint Box38 -new LayoutTab Box39 +new wx:LayoutTab Box39 + +new std:Configuration Box40 + +new std:ConcatStrings Box41 + set Box41.In2 "/creaVtk/Tensors.vtk" + +new std:ConcatStrings Box42 + set Box42.In2 "/creaVtk/Vectors.vtk" connect Box03.Widget Box05.Widget2 @@ -156,6 +164,14 @@ connect Box28.Widget Box39.Widget1 connect Box39.Widget Box19.Widget2 +connect Box40.DataPath Box41.In1 + +connect Box40.DataPath Box42.In1 + +connect Box41.Out Box31.In + +connect Box42.Out Box10.In + # Complex input ports diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbg b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbg index b39e036..54ec6c8 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbg +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbg @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBG BlackBox Diagram file -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbg +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbg # ---------------------------------- APP_START @@ -9,12 +9,12 @@ DESCRIPTION:Description ?? AUTHOR:Author ?? COMPLEXBOX:FALSE COMPLEXINPUTS:0 -BOXES:8 +BOXES:10 BOX vtk:MaskPoint:Box01 ISEXEC:FALSE -87.126923:-1.070619:-900.000000 --41.551923:-11.070619:-900.000000 +-50.976923:-11.070619:-900.000000 PORT Ratio:"1" FIN_BOX @@ -22,15 +22,17 @@ BOX creaVtk:VectorsVisu:Box02 ISEXEC:FALSE -38.604946:-35.505673:-900.000000 -6.970054:-45.505673:-900.000000 +-0.979946:-45.505673:-900.000000 PORT -ScaleFactor:"100" +Active:"true" +PORT +ScaleFactor:"1" FIN_BOX BOX creaMaracasVisu:ViewerNV:Box03 ISEXEC:FALSE 27.598176:-3.687687:-900.000000 -73.173176:-13.687687:-900.000000 +91.318176:-13.687687:-900.000000 PORT nTypeView:"5" FIN_BOX @@ -38,7 +40,7 @@ BOX wx:CommandButton:Box04 ISEXEC:FALSE 0.713746:16.059283:-900.000000 -46.288746:6.059283:-900.000000 +43.488746:6.059283:-900.000000 PORT Label:"Run" FIN_BOX @@ -46,31 +48,45 @@ BOX wx:LayoutSplit:Box05 ISEXEC:TRUE 20.586047:-67.968368:-900.000000 -66.161047:-77.968368:-900.000000 +59.666047:-77.968368:-900.000000 PORT Proportion:"10" FIN_BOX BOX wx:FileSelector:Box06 ISEXEC:FALSE --79.676950:57.942181:-900.000000 --34.101950:47.942181:-900.000000 +-82.100831:48.785297:-900.000000 +-44.725831:38.785297:-900.000000 FIN_BOX BOX vtk:LoadHola:Box07 ISEXEC:FALSE 68.757525:22.245082:-900.000000 -114.332525:12.245082:-900.000000 +104.307525:12.245082:-900.000000 FIN_BOX BOX vtk:StructuredPointsReader:Box08 ISEXEC:FALSE -77.679349:22.958827:-900.000000 --6.504349:12.958827:-900.000000 +-28.979349:12.958827:-900.000000 PORT In:"/home/davila/Creatis/creaVtk/data/Vectors.vtk" FIN_BOX -CONNECTIONS:7 +BOX +std:Configuration:Box09 +ISEXEC:FALSE +-32.049096:69.753914:-900.000000 +7.375904:59.753914:-900.000000 +FIN_BOX +BOX +std:ConcatStrings:Box10 +ISEXEC:FALSE +-37.166178:46.323063:-900.000000 +2.558822:36.323063:-900.000000 +PORT +In2:"/creaVtk/Vectors.vtk" +FIN_BOX +CONNECTIONS:9 CONNECTION Box01:Out:Box02:In NumberOfControlPoints:0 @@ -92,4 +108,10 @@ NumberOfControlPoints:0 CONNECTION Box08:Out:Box01:In NumberOfControlPoints:0 +CONNECTION +Box09:DataPath:Box10:In1 +NumberOfControlPoints:0 +CONNECTION +Box10:Out:Box08:In +NumberOfControlPoints:0 APP_END diff --git a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbs b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbs index aab35e2..03a4658 100644 --- a/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbs +++ b/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbs @@ -1,6 +1,6 @@ # ---------------------------------- # - BBTKGEditor v 1.4 BBS BlackBox Script -# - /home/davila/Creatis/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbs +# - /tmpEED/creaTools/creatools_source/creaVtk/bbtk_creaVtk_PKG/bbs/appli/exampleVectorsVisu.bbs # ---------------------------------- # BBTK GEditor Script @@ -12,33 +12,40 @@ include vtk include creaVtk include creaMaracasVisu include wx +include std author "Author ??" description "Description ??" category "" -new MaskPoint Box01 +new vtk:MaskPoint Box01 set Box01.Ratio "1" -new VectorsVisu Box02 - set Box02.ScaleFactor "100" +new creaVtk:VectorsVisu Box02 + set Box02.Active "true" + set Box02.ScaleFactor "1" -new ViewerNV Box03 +new creaMaracasVisu:ViewerNV Box03 set Box03.nTypeView "5" -new CommandButton Box04 +new wx:CommandButton Box04 set Box04.Label "Run" -new LayoutSplit Box05 +new wx:LayoutSplit Box05 set Box05.Proportion "10" -new FileSelector Box06 +new wx:FileSelector Box06 -new LoadHola Box07 +new vtk:LoadHola Box07 -new StructuredPointsReader Box08 +new vtk:StructuredPointsReader Box08 set Box08.In "/home/davila/Creatis/creaVtk/data/Vectors.vtk" +new std:Configuration Box09 + +new std:ConcatStrings Box10 + set Box10.In2 "/creaVtk/Vectors.vtk" + connect Box01.Out Box02.In @@ -54,6 +61,10 @@ connect Box07.Out Box03.In connect Box08.Out Box01.In +connect Box09.DataPath Box10.In1 + +connect Box10.Out Box08.In + # Complex input ports diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.cxx new file mode 100644 index 0000000..03181ce --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.cxx @@ -0,0 +1,200 @@ +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +#include "bbcreaVtkPointPicker.h" +#include "bbcreaVtkPackage.h" + +#include +#include +#include +#include +#include + +namespace bbcreaVtk +{ + + + +void creaVtkCallbackPointPicker::Execute(vtkObject *caller, unsigned long, void*) +{ + printf("creaVtkCallbackPointPicker EED Picker\n"); + vtkRenderWindowInteractor *iren = static_cast(caller); + + int* pos = iren->GetEventPosition(); + vtkCellPicker *picker = vtkCellPicker::New(); + picker->SetTolerance(0.0005); + picker->Pick(pos[0], pos[1], 0, iren->GetRenderWindow()->GetRenderers()->GetFirstRenderer() ); + + if(picker->GetCellId() != -1) + { + printf("creaVtkCallbackPointPicker EED picker OK\n"); + } else { + printf("creaVtkCallbackPointPicker EED picker --\n"); + } // if + + +/* +{ + + std::cout << "Pick position is: " << worldPosition[0] << " " << worldPosition[1] + << " " << worldPosition[2] << endl; + + vtkSmartPointer ids = + vtkSmartPointer::New(); + ids->SetNumberOfComponents(1); + ids->InsertNextValue(picker->GetCellId()); + + vtkSmartPointer selectionNode = + vtkSmartPointer::New(); + selectionNode->SetFieldType(vtkSelectionNode::CELL); + selectionNode->SetContentType(vtkSelectionNode::INDICES); + selectionNode->SetSelectionList(ids); + + vtkSmartPointer selection = + vtkSmartPointer::New(); + selection->AddNode(selectionNode); + + vtkSmartPointer extractSelection = + vtkSmartPointer::New(); +#if VTK_MAJOR_VERSION <= 5 + extractSelection->SetInput(0, this->Data); + extractSelection->SetInput(1, selection); +#else + extractSelection->SetInputData(0, this->Data); + extractSelection->SetInputData(1, selection); +#endif + extractSelection->Update(); + + // In selection + vtkSmartPointer selected = + vtkSmartPointer::New(); + selected->ShallowCopy(extractSelection->GetOutput()); + + std::cout << "There are " << selected->GetNumberOfPoints() + << " points in the selection." << std::endl; + std::cout << "There are " << selected->GetNumberOfCells() + << " cells in the selection." << std::endl; + + +#if VTK_MAJOR_VERSION <= 5 + selectedMapper->SetInputConnection( + selected->GetProducerPort()); +#else + selectedMapper->SetInputData(selected); +#endif + + selectedActor->SetMapper(selectedMapper); + selectedActor->GetProperty()->EdgeVisibilityOn(); + selectedActor->GetProperty()->SetEdgeColor(1,0,0); + selectedActor->GetProperty()->SetLineWidth(3); + + this->Interactor->GetRenderWindow()->GetRenderers()->GetFirstRenderer()->AddActor(selectedActor); + + } +*/ + + + +} + + +//-------------------------------------------------------- +//-------------------------------------------------------- +//-------------------------------------------------------- + + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,PointPicker) +BBTK_BLACK_BOX_IMPLEMENTATION(PointPicker,bbtk::AtomicBlackBox); +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void PointPicker::Process() +{ + +// THE MAIN PROCESSING METHOD BODY +// Here we simply set the input 'In' value to the output 'Out' +// And print out the output value +// INPUT/OUTPUT ACCESSORS ARE OF THE FORM : +// void bbSet{Input|Output}NAME(const TYPE&) +// const TYPE& bbGet{Input|Output}NAME() const +// Where : +// * NAME is the name of the input/output +// (the one provided in the attribute 'name' of the tag 'input') +// * TYPE is the C++ type of the input/output +// (the one provided in the attribute 'type' of the tag 'input') + +// bbSetOutputOut( bbGetInputIn() ); +// std::cout << "Output value = " <SetTolerance(0.005); + +// picker->AddObserver("EndPickEvent", annotatePick) +// iren = vtk.vtkRenderWindowInteractor() +// iren.SetPicker(picker) + +/* + creaVtkCallbackPointPicker *callPicker = creaVtkCallbackPointPicker::New(); + picker->AddObserver( vtkCommand::EndPickEvent , callPicker ); + picker->AddObserver( vtkCommand::StartPickEvent , callPicker ); + picker->AddObserver( vtkCommand::MouseMoveEvent , callPicker ); + bbGetInputRenderer()->GetRenderWindow()->GetInteractor()->SetPicker(picker); +*/ + + creaVtkCallbackPointPicker *callPicker = creaVtkCallbackPointPicker::New(); + callPicker->_renderer = bbGetInputRenderer(); + vtkRenderWindowInteractor *vrwi = bbGetInputRenderer()->GetRenderWindow()->GetInteractor(); + vrwi->AddObserver( vtkCommand::EndPickEvent , callPicker ); + vrwi->AddObserver( vtkCommand::StartPickEvent , callPicker ); + vrwi->AddObserver( vtkCommand::MouseMoveEvent , callPicker ); + + } // if firsttime + +} +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void PointPicker::bbUserSetDefaultValues() +{ + +// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX +// Here we initialize the input 'In' to 0 +// bbSetInputIn(0); + + firsttime=true; +} +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void PointPicker::bbUserInitializeProcessing() +{ + +// THE INITIALIZATION METHOD BODY : +// Here does nothing +// but this is where you should allocate the internal/output pointers +// if any + + +} +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +void PointPicker::bbUserFinalizeProcessing() +{ + +// THE FINALIZATION METHOD BODY : +// Here does nothing +// but this is where you should desallocate the internal/output pointers +// if any + +} +} +// EO namespace bbcreaVtk + + diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.h b/bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.h new file mode 100644 index 0000000..804309f --- /dev/null +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPointPicker.h @@ -0,0 +1,67 @@ +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +#ifndef __bbcreaVtkPointPicker_h_INCLUDED__ +#define __bbcreaVtkPointPicker_h_INCLUDED__ +#include "bbcreaVtk_EXPORT.h" +#include "bbtkAtomicBlackBox.h" +#include "iostream" + +#include "vtkCommand.h" +#include "vtkRenderer.h" + +namespace bbcreaVtk +{ + + +//--------------------------------------------- +class creaVtkCallbackPointPicker : public vtkCommand +{ + public: + static creaVtkCallbackPointPicker *New() { return new creaVtkCallbackPointPicker; } + void Delete() { delete this; } + virtual void Execute(vtkObject *caller, unsigned long, void*); + +}; + + +//--------------------------------------------- +//--------------------------------------------- +//--------------------------------------------- + + +class bbcreaVtk_EXPORT PointPicker + : + public bbtk::AtomicBlackBox +{ + BBTK_BLACK_BOX_INTERFACE(PointPicker,bbtk::AtomicBlackBox); +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== + BBTK_DECLARE_INPUT(Renderer,vtkRenderer*); + BBTK_DECLARE_OUTPUT(Out,std::vector); + BBTK_PROCESS(Process); + void Process(); + + bool firsttime; +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +}; + +BBTK_BEGIN_DESCRIBE_BLACK_BOX(PointPicker,bbtk::AtomicBlackBox); +BBTK_NAME("PointPicker"); +BBTK_AUTHOR("InfoDev"); +BBTK_DESCRIPTION("No Description."); +BBTK_CATEGORY("empty"); +BBTK_INPUT(PointPicker,Renderer,"vtk Renderer",vtkRenderer*,""); +BBTK_OUTPUT(PointPicker,Out,"First output",std::vector,""); +BBTK_END_DESCRIBE_BLACK_BOX(PointPicker); +//===== +// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) +//===== +} +// EO namespace bbcreaVtk + +#endif // __bbcreaVtkPointPicker_h_INCLUDED__ + -- 2.47.1