]> Creatis software - creaContours.git/commitdiff
#3403 ContourMovePointIn3D vtk9itk5wx3-macos
authoreduardo.davila@creatis.insa-lyon.fr <eduardo.davila@creatis.insa-lyon.fr>
Fri, 24 Oct 2025 13:02:37 +0000 (15:02 +0200)
committereduardo.davila@creatis.insa-lyon.fr <eduardo.davila@creatis.insa-lyon.fr>
Fri, 24 Oct 2025 13:02:37 +0000 (15:02 +0200)
bbtk/bbs/boxes/ContourMovePointIn3D.bbg [new file with mode: 0644]
bbtk/bbs/boxes/ContourMovePointIn3D.bbs [new file with mode: 0644]
bbtk/src/bbcreaContourswxContourMainFrame_tool.cxx
bbtk/src/bbcreaContourswxContourMainFrame_tool.h
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.cxx
lib/Interface_ManagerContour_NDimensions/wxContourMainFrame.h

diff --git a/bbtk/bbs/boxes/ContourMovePointIn3D.bbg b/bbtk/bbs/boxes/ContourMovePointIn3D.bbg
new file mode 100644 (file)
index 0000000..00478f8
--- /dev/null
@@ -0,0 +1,768 @@
+# ----------------------------------
+# - 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
diff --git a/bbtk/bbs/boxes/ContourMovePointIn3D.bbs b/bbtk/bbs/boxes/ContourMovePointIn3D.bbs
new file mode 100644 (file)
index 0000000..0691843
--- /dev/null
@@ -0,0 +1,283 @@
+# ----------------------------------
+# - 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
index cb89d79bb81f3c8b9c6980102c595989750d9292..00d40e8be3357dfc3014594365d881559a6e353e 100644 (file)
@@ -110,16 +110,16 @@ void wxContourMainFrame_tool::Process()
         {
             // 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
index 87fc72f816e4377a1e9ae3318552898682532cab..938993ea07edac45993ce0da1edc10605bff72a3 100644 (file)
@@ -46,8 +46,8 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(wxContourMainFrame_tool,bbtk::AtomicBlackBox);
   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*, "");
index 986cfd27f7ff9f9d7dddc15cd20d927991f98540..ef61531b52e56b20520facec24560ccbf3ce97f6 100644 (file)
@@ -3442,7 +3442,7 @@ void wxContourMainFrame::SetMaxContoursByInstant(int max)
     _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 );
@@ -3483,6 +3483,32 @@ void wxContourMainFrame::MoveControlPoint( int idContour , int idControlPoint, i
         
         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
 }
index 76c882fb301e0f561e1202969e1d1c5be33e6c70..41ce47e214e5027fbd514f09499f996ba1e1a20b 100644 (file)
@@ -332,8 +332,9 @@ class wxContourMainFrame : public wxPanel {
     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