--- /dev/null
+# ----------------------------------
+# - BBTKGEditor v 1.6 BBG BlackBox Diagram file
+# - /Users/davila/Creatis/C23/creatools_source/creaContours/bbtk/bbs/boxes/ContourMovePointIn3D.bbg
+# ----------------------------------
+
+APP_START
+CATEGORY:<VOID>
+DESCRIPTION:Description ??
+AUTHOR:Author ??
+EXPORTFORMAT:0
+COMPLEXBOX:TRUE
+COMPLEXBOXNAME:ContourMovePointIn3D
+PACKAGENAME:creaContours
+COMPLEXOUTPUTS:1
+COMPLEX_PORT
+wxwindowout
+17.246455:-111.745877:-900.000000
+FIN_COMPLEX_PORT
+COMPLEXINPUTS:10
+COMPLEX_PORT
+contourmainframe
+87.402342:123.895825:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+vtkrender3D
+117.063710:123.705688:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+_iAxis
+-34.348442:120.152126:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+lstX
+-119.548138:116.413202:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+lstY
+-97.633102:116.765205:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+lstZ
+-75.492565:117.136530:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+_lstIndex
+-164.624212:115.618232:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+point
+16.147631:116.433675:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+spc
+33.285665:116.286191:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+active
+-196.064919:113.846235:-900.000000
+FIN_COMPLEX_PORT
+BOXES:55
+BOX
+toolsbbtk:ImageVtkPropertiesWidget:Box303
+ISEXEC:FALSE
+-5828.849693:-593.897977:-900.000000
+-5805.524693:-596.397977:-900.000000
+FIN_BOX
+BOX
+std:VectorFilterDouble:Box477
+ISEXEC:FALSE
+-89.376546:33.756355:-900.000000
+-63.096546:31.256355:-900.000000
+PORT
+Type:"14"
+FIN_BOX
+BOX
+vtk:SphereList:Box478
+ISEXEC:FALSE
+-79.693963:0.030328:-900.000000
+-57.988963:-2.469672:-900.000000
+PORT
+Opacity:"1"
+PORT
+lstRadio:"3"
+FIN_BOX
+BOX
+wx:CommandButton:Box480
+ISEXEC:FALSE
+38.186417:-22.022207:-900.000000
+60.946417:-24.522207:-900.000000
+PORT
+Label:"-"
+FIN_BOX
+BOX
+wx:CommandButton:Box481
+ISEXEC:FALSE
+66.220728:-21.589227:-900.000000
+88.980728:-24.089227:-900.000000
+PORT
+Label:"+"
+FIN_BOX
+BOX
+wx:LayoutLine:Box482
+ISEXEC:FALSE
+38.352530:-31.061707:-900.000000
+73.432530:-33.561707:-900.000000
+PORT
+Orientation:"H"
+FIN_BOX
+BOX
+std:ConcatStrings:Box485
+ISEXEC:FALSE
+-35.341576:56.102270:-900.000000
+-12.581576:53.602270:-900.000000
+FIN_BOX
+BOX
+vtk:UpdateRender:Box486
+ISEXEC:FALSE
+-39.024982:-49.092177:-900.000000
+-16.889982:-51.592177:-900.000000
+PORT
+Active:"true"
+FIN_BOX
+BOX
+wx:Slider:Box487
+ISEXEC:FALSE
+-39.857631:42.707829:-900.000000
+-8.297631:40.207829:-900.000000
+PORT
+In:"0"
+PORT
+Label:"true"
+PORT
+Max:"125"
+PORT
+Min:"0"
+PORT
+ReactiveOnTrack:"true"
+PORT
+Title:"Sphere size"
+FIN_BOX
+BOX
+std:Div:Box488
+ISEXEC:FALSE
+-40.160604:32.377733:-900.000000
+-19.125604:29.877733:-900.000000
+PORT
+In2:"100"
+FIN_BOX
+BOX
+std:Mul:Box489
+ISEXEC:FALSE
+-41.460784:25.675390:-900.000000
+-20.375784:23.175390:-900.000000
+PORT
+In2:"2"
+FIN_BOX
+BOX
+std:MultipleInputs:Box490
+ISEXEC:FALSE
+-84.805814:15.212490:-900.000000
+-62.725814:12.712490:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box491
+ISEXEC:FALSE
+-48.821878:13.901856:-900.000000
+-26.061878:11.401856:-900.000000
+FIN_BOX
+BOX
+std:VectorFilterDouble:Box492
+ISEXEC:FALSE
+-48.358232:-0.184888:-900.000000
+-22.078232:-2.684888:-900.000000
+PORT
+Type:"10"
+FIN_BOX
+BOX
+vtk:SphereList:Box493
+ISEXEC:FALSE
+-52.709173:-33.528010:-900.000000
+-31.004173:-36.028010:-900.000000
+PORT
+Colour:"1 1 0"
+PORT
+Opacity:"1"
+PORT
+lstRadio:"3"
+FIN_BOX
+BOX
+std:ConcatStrings:Box495
+ISEXEC:FALSE
+-21.835749:12.892024:-900.000000
+0.924251:10.392024:-900.000000
+FIN_BOX
+BOX
+std:GetVectorDoubleElement:Box498
+ISEXEC:FALSE
+-50.731757:-7.699619:-900.000000
+-27.496757:-10.199619:-900.000000
+PORT
+I:"0"
+FIN_BOX
+BOX
+std:GetVectorDoubleElement:Box499
+ISEXEC:FALSE
+-19.338795:-8.384267:-900.000000
+3.896205:-10.884267:-900.000000
+PORT
+I:"1"
+FIN_BOX
+BOX
+std:GetVectorDoubleElement:Box500
+ISEXEC:FALSE
+13.342317:-8.064090:-900.000000
+36.577317:-10.564090:-900.000000
+PORT
+I:"2"
+FIN_BOX
+BOX
+std:ConcatStrings:Box501
+ISEXEC:FALSE
+-46.317731:-14.879402:-900.000000
+-23.557731:-17.379402:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box502
+ISEXEC:FALSE
+-19.629552:-13.244000:-900.000000
+3.130448:-15.744000:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box503
+ISEXEC:FALSE
+12.217486:-13.601278:-900.000000
+34.977486:-16.101278:-900.000000
+FIN_BOX
+BOX
+std:MathOperationVector:Box505
+ISEXEC:FALSE
+-39.422524:6.150166:-900.000000
+-14.902524:3.650166:-900.000000
+PORT
+Type:"2"
+FIN_BOX
+BOX
+std:Mul:Box506
+ISEXEC:FALSE
+-25.329422:19.081811:-900.000000
+-4.244422:16.581811:-900.000000
+PORT
+In2:"1.1"
+FIN_BOX
+BOX
+creaContours:wxContourMainFrame_tool:Box541
+ISEXEC:FALSE
+-19.660798:-92.124407:-900.000000
+3.684202:-94.624407:-900.000000
+PORT
+Type:"10"
+FIN_BOX
+BOX
+std:ConcatStrings:Box548
+ISEXEC:FALSE
+7.355017:-62.980422:-900.000000
+30.115017:-65.480422:-900.000000
+PORT
+In2:" "
+PORT
+In4:" "
+PORT
+In6:" "
+FIN_BOX
+BOX
+std:ConcatStrings:Box549
+ISEXEC:FALSE
+-4.861435:-75.764152:-900.000000
+17.898565:-78.264152:-900.000000
+PORT
+In2:" -1"
+PORT
+In4:" "
+FIN_BOX
+BOX
+std:ConcatStrings:Box550
+ISEXEC:FALSE
+28.946262:-75.664996:-900.000000
+51.706262:-78.164996:-900.000000
+PORT
+In2:" 1"
+PORT
+In4:" "
+FIN_BOX
+BOX
+creaContours:wxContourMainFrame_tool:Box551
+ISEXEC:FALSE
+22.847460:-92.494385:-900.000000
+46.192460:-94.994385:-900.000000
+PORT
+Type:"10"
+FIN_BOX
+BOX
+wx:LayoutLine:Box561
+ISEXEC:FALSE
+23.498822:-47.392920:-900.000000
+58.578822:-49.892920:-900.000000
+PORT
+Orientation:"H"
+FIN_BOX
+BOX
+wx:StaticBox:Box566
+ISEXEC:FALSE
+19.529767:-53.502705:-900.000000
+41.154767:-56.002705:-900.000000
+PORT
+BoxTitle:"Control point modification"
+FIN_BOX
+BOX
+wx:CheckBox:Box571
+ISEXEC:FALSE
+64.321137:-38.952713:-900.000000
+87.081137:-41.452713:-900.000000
+PORT
+Title:"With neighborhood"
+FIN_BOX
+BOX
+std:MagicBox:Box572
+ISEXEC:FALSE
+82.648918:110.205963:-900.000000
+104.358918:107.705963:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box573
+ISEXEC:FALSE
+112.240149:109.741306:-900.000000
+133.950149:107.241306:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box574
+ISEXEC:FALSE
+-39.932551:108.659524:-900.000000
+-18.222551:106.159524:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box575
+ISEXEC:FALSE
+-125.034495:108.064690:-900.000000
+-103.324495:105.564690:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box576
+ISEXEC:FALSE
+-101.831866:108.417622:-900.000000
+-80.121866:105.917622:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box577
+ISEXEC:FALSE
+-78.505411:108.341253:-900.000000
+-56.795411:105.841253:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box578
+ISEXEC:FALSE
+-168.404447:106.465292:-900.000000
+-146.694447:103.965292:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box579
+ISEXEC:FALSE
+10.507953:107.238631:-900.000000
+32.217953:104.738631:-900.000000
+FIN_BOX
+BOX
+std:MagicBox:Box580
+ISEXEC:FALSE
+27.507860:102.953235:-900.000000
+49.217860:100.453235:-900.000000
+FIN_BOX
+BOX
+std:VectorFilterDouble:Box41
+ISEXEC:FALSE
+-93.145622:50.688487:-900.000000
+-66.865622:48.188487:-900.000000
+PORT
+Type:"11"
+FIN_BOX
+BOX
+std:StringSelect:Box43
+ISEXEC:FALSE
+-58.106716:-72.623066:-900.000000
+-33.586716:-75.123066:-900.000000
+PORT
+In0:"0"
+PORT
+In1:"10"
+FIN_BOX
+BOX
+std:ReplaceString:Box49
+ISEXEC:FALSE
+-209.887774:92.408815:-900.000000
+-187.917774:89.908815:-900.000000
+PORT
+Replace:"1"
+PORT
+Search:"True"
+FIN_BOX
+BOX
+std:ReplaceString:Box50
+ISEXEC:FALSE
+-210.911380:86.451250:-900.000000
+-188.941380:83.951250:-900.000000
+PORT
+Replace:"1"
+PORT
+Search:"true"
+FIN_BOX
+BOX
+std:ReplaceString:Box51
+ISEXEC:FALSE
+-210.708570:81.873405:-900.000000
+-188.738570:79.373405:-900.000000
+PORT
+Replace:"1"
+PORT
+Search:"TRUE"
+FIN_BOX
+BOX
+std:ReplaceString:Box52
+ISEXEC:FALSE
+-211.105838:76.125234:-900.000000
+-189.135838:73.625234:-900.000000
+PORT
+Replace:"1"
+PORT
+Search:"T"
+FIN_BOX
+BOX
+std:ReplaceString:Box53
+ISEXEC:FALSE
+-211.042393:69.110104:-900.000000
+-189.072393:66.610104:-900.000000
+PORT
+Replace:"1"
+PORT
+Search:"t"
+FIN_BOX
+BOX
+std:ReplaceString:Box54
+ISEXEC:FALSE
+-185.590103:92.697502:-900.000000
+-163.620103:90.197502:-900.000000
+PORT
+Replace:"0"
+PORT
+Search:"False"
+FIN_BOX
+BOX
+std:ReplaceString:Box55
+ISEXEC:FALSE
+-186.613710:86.739937:-900.000000
+-164.643710:84.239937:-900.000000
+PORT
+Replace:"0"
+PORT
+Search:"false"
+FIN_BOX
+BOX
+std:ReplaceString:Box56
+ISEXEC:FALSE
+-186.410900:82.162092:-900.000000
+-164.440900:79.662092:-900.000000
+PORT
+Replace:"0"
+PORT
+Search:"FALSE"
+FIN_BOX
+BOX
+std:ReplaceString:Box57
+ISEXEC:FALSE
+-186.808168:76.413921:-900.000000
+-164.838168:73.913921:-900.000000
+PORT
+Replace:"0"
+PORT
+Search:"F"
+FIN_BOX
+BOX
+std:ReplaceString:Box58
+ISEXEC:FALSE
+-186.744723:69.398791:-900.000000
+-164.774723:66.898791:-900.000000
+PORT
+Replace:"0"
+PORT
+Search:"f"
+FIN_BOX
+BOX
+std:ConcatStrings:Box59
+ISEXEC:FALSE
+-204.227305:103.914570:-900.000000
+-181.467305:101.414570:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box60
+ISEXEC:FALSE
+-126.687285:12.421665:-900.000000
+-103.927285:9.921665:-900.000000
+FIN_BOX
+CONNECTIONS:86
+CONNECTION
+Box477:Out0:Box478:lstPointX
+NumberOfControlPoints:0
+CONNECTION
+Box477:Out1:Box478:lstPointY
+NumberOfControlPoints:0
+CONNECTION
+Box477:Out2:Box478:lstPointZ
+NumberOfControlPoints:0
+CONNECTION
+Box481:Widget:Box482:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box480:Widget:Box482:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box485:Out:Box477:k1
+NumberOfControlPoints:0
+CONNECTION
+Box487:Out:Box488:In1
+NumberOfControlPoints:0
+CONNECTION
+Box488:Out:Box489:In1
+NumberOfControlPoints:0
+CONNECTION
+Box487:BoxChange:Box490:In2
+NumberOfControlPoints:0
+CONNECTION
+Box490:BoxChange:Box478:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box489:Out:Box491:In1
+NumberOfControlPoints:0
+CONNECTION
+Box491:Out:Box478:lstRadio
+NumberOfControlPoints:0
+CONNECTION
+Box477:Out0:Box492:In0
+NumberOfControlPoints:0
+CONNECTION
+Box477:Out1:Box492:In1
+NumberOfControlPoints:0
+CONNECTION
+Box478:BoxChange:Box493:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box493:BoxChange:Box486:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box495:Out:Box493:lstRadio
+NumberOfControlPoints:0
+CONNECTION
+Box492:Out1:Box498:In
+NumberOfControlPoints:0
+CONNECTION
+Box492:Out1:Box499:In
+NumberOfControlPoints:0
+CONNECTION
+Box492:Out1:Box500:In
+NumberOfControlPoints:0
+CONNECTION
+Box498:Out:Box501:In1
+NumberOfControlPoints:0
+CONNECTION
+Box501:Out:Box493:lstPointX
+NumberOfControlPoints:0
+CONNECTION
+Box499:Out:Box502:In1
+NumberOfControlPoints:0
+CONNECTION
+Box502:Out:Box493:lstPointY
+NumberOfControlPoints:0
+CONNECTION
+Box500:Out:Box503:In1
+NumberOfControlPoints:0
+CONNECTION
+Box503:Out:Box493:lstPointZ
+NumberOfControlPoints:0
+CONNECTION
+Box505:Out:Box492:In3
+NumberOfControlPoints:0
+CONNECTION
+Box477:Out2:Box492:In2
+NumberOfControlPoints:0
+CONNECTION
+Box489:Out:Box506:In1
+NumberOfControlPoints:0
+CONNECTION
+Box506:Out:Box495:In1
+NumberOfControlPoints:0
+CONNECTION
+Box548:Out:Box549:In1
+NumberOfControlPoints:0
+CONNECTION
+Box548:Out:Box550:In1
+NumberOfControlPoints:0
+CONNECTION
+Box549:Out:Box541:Param1
+NumberOfControlPoints:0
+CONNECTION
+Box550:Out:Box551:Param1
+NumberOfControlPoints:0
+CONNECTION
+Box480:BoxChange:Box541:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box481:BoxChange:Box551:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box492:Out0:Box548:In5
+NumberOfControlPoints:0
+CONNECTION
+Box487:Widget:Box561:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box561:Widget:Box566:BoxContent
+NumberOfControlPoints:0
+CONNECTION
+Box485:Out:Box548:In1
+NumberOfControlPoints:0
+CONNECTION
+Box482:Widget:Box561:Widget5
+NumberOfControlPoints:0
+CONNECTION
+Box571:Out:Box548:In7
+NumberOfControlPoints:0
+CONNECTION
+Box571:Widget:Box561:Widget3
+NumberOfControlPoints:0
+CONNECTION
+contourmainframe:contourmainframe:Box572:In
+NumberOfControlPoints:0
+CONNECTION
+Box572:Out:Box541:wxContourMainFrame
+NumberOfControlPoints:0
+CONNECTION
+Box572:Out:Box551:wxContourMainFrame
+NumberOfControlPoints:0
+CONNECTION
+vtkrender3D:vtkrender3D:Box573:In
+NumberOfControlPoints:0
+CONNECTION
+Box573:Out:Box486:Renderer
+NumberOfControlPoints:0
+CONNECTION
+Box573:Out:Box493:Renderer
+NumberOfControlPoints:0
+CONNECTION
+Box566:Widget:wxwindowout:wxwindowout
+NumberOfControlPoints:0
+CONNECTION
+Box573:Out:Box478:Renderer
+NumberOfControlPoints:0
+CONNECTION
+_iAxis:_iAxis:Box574:In
+NumberOfControlPoints:0
+CONNECTION
+Box574:Out:Box485:In1
+NumberOfControlPoints:0
+CONNECTION
+lstX:lstX:Box575:In
+NumberOfControlPoints:0
+CONNECTION
+lstY:lstY:Box576:In
+NumberOfControlPoints:0
+CONNECTION
+lstZ:lstZ:Box577:In
+NumberOfControlPoints:0
+CONNECTION
+_lstIndex:_lstIndex:Box578:In
+NumberOfControlPoints:0
+CONNECTION
+Box578:Out:Box477:In3
+NumberOfControlPoints:0
+CONNECTION
+point:point:Box579:In
+NumberOfControlPoints:0
+CONNECTION
+Box579:Out:Box505:In0
+NumberOfControlPoints:0
+CONNECTION
+spc:spc:Box580:In
+NumberOfControlPoints:0
+CONNECTION
+Box580:Out:Box505:In1
+NumberOfControlPoints:0
+CONNECTION
+Box575:Out:Box41:In0
+NumberOfControlPoints:0
+CONNECTION
+Box576:Out:Box41:In1
+NumberOfControlPoints:0
+CONNECTION
+Box577:Out:Box41:In2
+NumberOfControlPoints:0
+CONNECTION
+Box41:Out0:Box477:In0
+NumberOfControlPoints:0
+CONNECTION
+Box41:Out1:Box477:In1
+NumberOfControlPoints:0
+CONNECTION
+Box41:Out2:Box477:In2
+NumberOfControlPoints:0
+CONNECTION
+Box580:Out:Box41:k1
+NumberOfControlPoints:0
+CONNECTION
+Box43:Out:Box541:Type
+NumberOfControlPoints:0
+CONNECTION
+Box43:Out:Box551:Type
+NumberOfControlPoints:0
+CONNECTION
+Box49:Out:Box50:In
+NumberOfControlPoints:0
+CONNECTION
+Box50:Out:Box51:In
+NumberOfControlPoints:0
+CONNECTION
+Box51:Out:Box52:In
+NumberOfControlPoints:0
+CONNECTION
+Box52:Out:Box53:In
+NumberOfControlPoints:0
+CONNECTION
+Box54:Out:Box55:In
+NumberOfControlPoints:0
+CONNECTION
+Box55:Out:Box56:In
+NumberOfControlPoints:0
+CONNECTION
+Box56:Out:Box57:In
+NumberOfControlPoints:0
+CONNECTION
+Box57:Out:Box58:In
+NumberOfControlPoints:0
+CONNECTION
+Box53:Out:Box54:In
+NumberOfControlPoints:0
+CONNECTION
+active:active:Box59:In1
+NumberOfControlPoints:0
+CONNECTION
+Box59:Out:Box49:In
+NumberOfControlPoints:0
+CONNECTION
+Box58:Out:Box60:In1
+NumberOfControlPoints:0
+CONNECTION
+Box60:Out:Box478:Opacity
+NumberOfControlPoints:0
+CONNECTION
+Box60:Out:Box493:Opacity
+NumberOfControlPoints:0
+CONNECTION
+Box60:Out:Box43:In
+NumberOfControlPoints:0
+APP_END
--- /dev/null
+# ----------------------------------
+# - BBTKGEditor v 1.6 BBS BlackBox Script (Complex Box)
+# - /Users/davila/Creatis/C23/creatools_source/creaContours/bbtk/bbs/boxes/ContourMovePointIn3D.bbs
+# ----------------------------------
+
+include std
+include itkvtk
+include toolsbbtk
+include std
+include vtk
+include wx
+include creaContours
+
+define ContourMovePointIn3D creaContours
+
+author "Author ??"
+description "Description ??"
+
+category "<VOID>"
+
+new toolsbbtk:ImageVtkPropertiesWidget Box303
+
+new std:VectorFilterDouble Box477
+ set Box477.Type "14"
+
+new vtk:SphereList Box478
+ set Box478.Opacity "1"
+ set Box478.lstRadio "3"
+
+new wx:CommandButton Box480
+ set Box480.Label "-"
+
+new wx:CommandButton Box481
+ set Box481.Label "+"
+
+new wx:LayoutLine Box482
+ set Box482.Orientation "H"
+
+new std:ConcatStrings Box485
+
+new vtk:UpdateRender Box486
+ set Box486.Active "true"
+
+new wx:Slider Box487
+ set Box487.In "0"
+ set Box487.Label "true"
+ set Box487.Max "125"
+ set Box487.Min "0"
+ set Box487.ReactiveOnTrack "true"
+ set Box487.Title "Sphere size"
+
+new std:Div Box488
+ set Box488.In2 "100"
+
+new std:Mul Box489
+ set Box489.In2 "2"
+
+new std:MultipleInputs Box490
+
+new std:ConcatStrings Box491
+
+new std:VectorFilterDouble Box492
+ set Box492.Type "10"
+
+new vtk:SphereList Box493
+ set Box493.Colour "1 1 0"
+ set Box493.Opacity "1"
+ set Box493.lstRadio "3"
+
+new std:ConcatStrings Box495
+
+new std:GetVectorDoubleElement Box498
+ set Box498.I "0"
+
+new std:GetVectorDoubleElement Box499
+ set Box499.I "1"
+
+new std:GetVectorDoubleElement Box500
+ set Box500.I "2"
+
+new std:ConcatStrings Box501
+
+new std:ConcatStrings Box502
+
+new std:ConcatStrings Box503
+
+new std:MathOperationVector Box505
+ set Box505.Type "2"
+
+new std:Mul Box506
+ set Box506.In2 "1.1"
+
+new creaContours:wxContourMainFrame_tool Box541
+ set Box541.Type "10"
+
+new std:ConcatStrings Box548
+ set Box548.In2 " "
+ set Box548.In4 " "
+ set Box548.In6 " "
+
+new std:ConcatStrings Box549
+ set Box549.In2 " -1"
+ set Box549.In4 " "
+
+new std:ConcatStrings Box550
+ set Box550.In2 " 1"
+ set Box550.In4 " "
+
+new creaContours:wxContourMainFrame_tool Box551
+ set Box551.Type "10"
+
+new wx:LayoutLine Box561
+ set Box561.Orientation "H"
+
+new wx:StaticBox Box566
+ set Box566.BoxTitle "Control point modification"
+
+new wx:CheckBox Box571
+ set Box571.Title "With neighborhood"
+
+new std:MagicBox Box572
+
+new std:MagicBox Box573
+
+new std:MagicBox Box574
+
+new std:MagicBox Box575
+
+new std:MagicBox Box576
+
+new std:MagicBox Box577
+
+new std:MagicBox Box578
+
+new std:MagicBox Box579
+
+new std:MagicBox Box580
+
+new std:VectorFilterDouble Box41
+ set Box41.Type "11"
+
+new std:StringSelect Box43
+ set Box43.In0 "0"
+ set Box43.In1 "10"
+
+new std:ReplaceString Box49
+ set Box49.Replace "1"
+ set Box49.Search "True"
+
+new std:ReplaceString Box50
+ set Box50.Replace "1"
+ set Box50.Search "true"
+
+new std:ReplaceString Box51
+ set Box51.Replace "1"
+ set Box51.Search "TRUE"
+
+new std:ReplaceString Box52
+ set Box52.Replace "1"
+ set Box52.Search "T"
+
+new std:ReplaceString Box53
+ set Box53.Replace "1"
+ set Box53.Search "t"
+
+new std:ReplaceString Box54
+ set Box54.Replace "0"
+ set Box54.Search "False"
+
+new std:ReplaceString Box55
+ set Box55.Replace "0"
+ set Box55.Search "false"
+
+new std:ReplaceString Box56
+ set Box56.Replace "0"
+ set Box56.Search "FALSE"
+
+new std:ReplaceString Box57
+ set Box57.Replace "0"
+ set Box57.Search "F"
+
+new std:ReplaceString Box58
+ set Box58.Replace "0"
+ set Box58.Search "f"
+
+new std:ConcatStrings Box59
+
+new std:ConcatStrings Box60
+
+
+connect Box477.Out0 Box478.lstPointX
+connect Box477.Out1 Box478.lstPointY
+connect Box477.Out2 Box478.lstPointZ
+connect Box481.Widget Box482.Widget2
+connect Box480.Widget Box482.Widget1
+connect Box485.Out Box477.k1
+connect Box487.Out Box488.In1
+connect Box488.Out Box489.In1
+connect Box487.BoxChange Box490.In2
+connect Box490.BoxChange Box478.BoxExecute
+connect Box489.Out Box491.In1
+connect Box491.Out Box478.lstRadio
+connect Box477.Out0 Box492.In0
+connect Box477.Out1 Box492.In1
+connect Box478.BoxChange Box493.BoxExecute
+connect Box493.BoxChange Box486.BoxExecute
+connect Box495.Out Box493.lstRadio
+connect Box492.Out1 Box498.In
+connect Box492.Out1 Box499.In
+connect Box492.Out1 Box500.In
+connect Box498.Out Box501.In1
+connect Box501.Out Box493.lstPointX
+connect Box499.Out Box502.In1
+connect Box502.Out Box493.lstPointY
+connect Box500.Out Box503.In1
+connect Box503.Out Box493.lstPointZ
+connect Box505.Out Box492.In3
+connect Box477.Out2 Box492.In2
+connect Box489.Out Box506.In1
+connect Box506.Out Box495.In1
+connect Box548.Out Box549.In1
+connect Box548.Out Box550.In1
+connect Box549.Out Box541.Param1
+connect Box550.Out Box551.Param1
+connect Box480.BoxChange Box541.BoxExecute
+connect Box481.BoxChange Box551.BoxExecute
+connect Box492.Out0 Box548.In5
+connect Box487.Widget Box561.Widget2
+connect Box561.Widget Box566.BoxContent
+connect Box485.Out Box548.In1
+connect Box482.Widget Box561.Widget5
+connect Box571.Out Box548.In7
+connect Box571.Widget Box561.Widget3
+connect Box572.Out Box541.wxContourMainFrame
+connect Box572.Out Box551.wxContourMainFrame
+connect Box573.Out Box486.Renderer
+connect Box573.Out Box493.Renderer
+connect Box573.Out Box478.Renderer
+connect Box574.Out Box485.In1
+connect Box578.Out Box477.In3
+connect Box579.Out Box505.In0
+connect Box580.Out Box505.In1
+connect Box575.Out Box41.In0
+connect Box576.Out Box41.In1
+connect Box577.Out Box41.In2
+connect Box41.Out0 Box477.In0
+connect Box41.Out1 Box477.In1
+connect Box41.Out2 Box477.In2
+connect Box580.Out Box41.k1
+connect Box43.Out Box541.Type
+connect Box43.Out Box551.Type
+connect Box49.Out Box50.In
+connect Box50.Out Box51.In
+connect Box51.Out Box52.In
+connect Box52.Out Box53.In
+connect Box54.Out Box55.In
+connect Box55.Out Box56.In
+connect Box56.Out Box57.In
+connect Box57.Out Box58.In
+connect Box53.Out Box54.In
+connect Box59.Out Box49.In
+connect Box58.Out Box60.In1
+connect Box60.Out Box478.Opacity
+connect Box60.Out Box493.Opacity
+connect Box60.Out Box43.In
+
+# Complex input ports
+input contourmainframe Box572.In " "
+input vtkrender3D Box573.In " "
+input _iAxis Box574.In " "
+input lstX Box575.In " "
+input lstY Box576.In " "
+input lstZ Box577.In " "
+input _lstIndex Box578.In " "
+input point Box579.In " "
+input spc Box580.In " "
+input active Box59.In1 " "
+
+# Complex output ports
+output wxwindowout Box566.Widget " "
+
+
+endefine
{
// Todo.... implementd in JavaScript
} // Type 6
-
+
// Move Control Point Normal direction
- if (bbGetInputType()==10)
+ if ( (bbGetInputType()==10) && (bbGetInputParam1().size()==4) )
{
- std::vector<double> param1 =bbGetInputParam1();
- int idContour = (int)param1[0];
- int idControlPoint = (int)param1[1];
- printf("EED wxContourMainFrame_tool::Process type 10 idControlPoint=%d\n", idControlPoint );
- int step = (int)param1[2];
- wxContourMainFrame::getInstance()->MoveControlPoint( idContour , idControlPoint, step );
+ std::vector<double> param1 = bbGetInputParam1();
+ int idContour = (int)param1[0];
+ int idControlPoint = (int)param1[1];
+ int useNeighborhood = (int)param1[2];
+ double step = param1[3];
+ wxContourMainFrame::getInstance()->MoveControlPoint( idContour , idControlPoint, step , useNeighborhood);
} // Type 10
} // if wxContourMainFrame::getInstance()!=NULL
BBTK_AUTHOR("InfoDev");
BBTK_DESCRIPTION("(C++,JavaScript) (type4 in JavaScript) No Description.");
BBTK_CATEGORY("empty");
- BBTK_INPUT(wxContourMainFrame_tool,Type,"(default 0) Type 0:nothing 1:Isovalue segmentation of Image, 2:Isovalue segmentation actual slice, 3:Reset Camera, 4:OnSave, 5:OnRead (JavaScript) 6:GetContours (JavaScript)",int,"");
- BBTK_INPUT(wxContourMainFrame_tool,Param1,"List of parameters (vector double) Type1:[step,isovalue,sampling,method,x,y,min,max] Replace all old contours Type2:[isovalue,sampling,method,iSlice,x,y] Replace acutal slice ", std::vector<double>,"");
+ BBTK_INPUT(wxContourMainFrame_tool,Type,"(default 0) Type 0:nothing 1:Isovalue segmentation of Image, 2:Isovalue segmentation actual slice, 3:Reset Camera, 4:OnSave, 5:OnRead (JavaScript) 6:GetContours (JavaScript) 10:MoveControlPoint (use param1)",int,"");
+ BBTK_INPUT(wxContourMainFrame_tool,Param1,"List of parameters (vector double) Type1:[step,isovalue,sampling,method,x,y,min,max] Replace all old contours Type2:[isovalue,sampling,method,iSlice,x,y] Replace acutal slice Type10:[idContour idControlPoint useNeighborhood step] ", std::vector<double>,"");
BBTK_INPUT(wxContourMainFrame_tool,Param2,"List of parameters (vector string) Type 4:Filename (JavaScript) Type 5:FileName (JavaScript) ", std::vector<std::string>,"");
BBTK_INPUT(wxContourMainFrame_tool,Image,"Image", vtkImageData*,"");
BBTK_INPUT(wxContourMainFrame_tool, wxContourMainFrame, "wxContourMainFrame (used in JavaScript)", wxContourMainFrame*, "");
_maxContoursByInstant = max;
}
-void wxContourMainFrame::MoveControlPoint( int idContour , int idControlPoint, int step )
+void wxContourMainFrame::MoveControlPoint2( int idContour , int idControlPoint, double step )
{
//std::vector<int> tempVector;
//getInstantVector( tempVector );
mbm->MovePoint( idControlPoint ,vxB*step,vyB*step,0);
RefreshInterface();
- } //
-
+ } // if lstContours.size
+}
+
+
+void wxContourMainFrame::MoveControlPoint( int idContour , int idControlPoint, double step , int useNeighborhood )
+{
+ Instant *instant = kernelManager->getCurrentInstant ();
+ std::vector< ContourThing ** > lstContours = kernelManager->getOutlinesAtInstant (instant);
+ if (lstContours.size()>0)
+ {
+ if (useNeighborhood==1) // Also modify neighborhood
+ {
+ manualBaseModel *mbm = (*(lstContours[0]))->getModel();
+ int id1=idControlPoint - 1;
+ if ( id1<0 )
+ {
+ id1 = mbm->GetSizeLstPoints()-1;
+ } // if id1 < 0
+ int id2=idControlPoint + 1;
+ if ( id2==mbm->GetSizeLstPoints() )
+ {
+ id2 = 0;
+ } // if id2 = maxpoints list
+ MoveControlPoint2( idContour , id1 , step/2 );
+ MoveControlPoint2( idContour , id2 , step/2 );
+ }
+ MoveControlPoint2( idContour , idControlPoint , step );
+ } // if
}
void ResetCamera();
void CleanContoursWithEmptyPoints();
void SetMaxContoursByInstant(int max);
- void MoveControlPoint( int idContour , int idControlPoint, int step );
-
+ void MoveControlPoint2( int idContour , int idControlPoint, double step );
+ void MoveControlPoint( int idContour , int idControlPoint, double step, int useNeighborhood );
+
private:
//------------------------------------------------------------------------------------------------------------
// Private methods