From cea92806ea650e7d895dd35e0dca1b5a74fbacb6 Mon Sep 17 00:00:00 2001 From: "liu.wenjie" Date: Fri, 27 Sep 2019 18:26:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=80=E4=BA=9Bbu?= =?UTF-8?q?g,=E9=99=8D=E4=BD=8E=E6=8F=92=E4=BB=B6=E4=B9=8B=E9=97=B4?= =?UTF-8?q?=E8=80=A6=E5=90=88=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/VisionEdit/v14/.suo | Bin 407552 -> 390656 bytes CaliperTool/CaliperTool.cs | 4 +- CaliperTool/bin/Debug/CaliperTool.dll | Bin 26112 -> 26112 bytes CaliperTool/bin/Debug/CaliperTool.pdb | Bin 28160 -> 28160 bytes CaliperTool/bin/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes CaliperTool/bin/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes CaliperTool/bin/Debug/DataStruct.dll | Bin 5632 -> 5632 bytes CaliperTool/bin/Debug/DataStruct.pdb | Bin 13824 -> 13824 bytes CaliperTool/bin/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes CaliperTool/bin/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes CaliperTool/bin/Debug/ToolBase.dll | Bin 4608 -> 4608 bytes CaliperTool/bin/Debug/ToolBase.pdb | Bin 7680 -> 7680 bytes .../CaliperTool.csproj.FileListAbsolute.txt | Bin 1165 -> 3012 bytes ...rTool.csprojResolveAssemblyReference.cache | Bin 24075 -> 24055 bytes CaliperTool/obj/Debug/CaliperTool.dll | Bin 26112 -> 26112 bytes CaliperTool/obj/Debug/CaliperTool.pdb | Bin 28160 -> 28160 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7262 -> 7262 bytes CaliperTool/obj/Debug/build.force | 0 CommonMethods/CommonHelper.csproj | 1 - CommonMethods/bin/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes CommonMethods/bin/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes .../CommonHelper.csproj.FileListAbsolute.txt | Bin 406 -> 506 bytes ...elper.csprojResolveAssemblyReference.cache | Bin 0 -> 8178 bytes CommonMethods/obj/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes CommonMethods/obj/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6992 -> 6992 bytes DataStruct/bin/Debug/DataStruct.dll | Bin 5632 -> 5632 bytes DataStruct/bin/Debug/DataStruct.pdb | Bin 13824 -> 13824 bytes .../DataStruct.csproj.FileListAbsolute.txt | Bin 376 -> 471 bytes ...truct.csprojResolveAssemblyReference.cache | Bin 0 -> 8178 bytes DataStruct/obj/Debug/DataStruct.dll | Bin 5632 -> 5632 bytes DataStruct/obj/Debug/DataStruct.pdb | Bin 13824 -> 13824 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6762 -> 6762 bytes FindCircle/bin/Debug/DataStruct.dll | Bin 5632 -> 5632 bytes FindCircle/bin/Debug/DataStruct.pdb | Bin 13824 -> 13824 bytes FindCircle/bin/Debug/FindCircleTool.dll | Bin 18944 -> 18944 bytes FindCircle/bin/Debug/FindCircleTool.pdb | Bin 22016 -> 22016 bytes FindCircle/bin/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes FindCircle/bin/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7126 -> 7126 bytes ...FindCircleTool.csproj.FileListAbsolute.txt | Bin 918 -> 2319 bytes ...eTool.csprojResolveAssemblyReference.cache | Bin 18292 -> 18292 bytes FindCircle/obj/Debug/FindCircleTool.dll | Bin 18944 -> 18944 bytes FindCircle/obj/Debug/FindCircleTool.pdb | Bin 22016 -> 22016 bytes FindCircle/obj/Debug/build.force | 0 FindLine/FormFindLine.cs | Bin 7783 -> 8002 bytes FindLine/bin/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes FindLine/bin/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes FindLine/bin/Debug/DataStruct.dll | Bin 5632 -> 5632 bytes FindLine/bin/Debug/DataStruct.pdb | Bin 13824 -> 13824 bytes FindLine/bin/Debug/FindLineTool.dll | Bin 32768 -> 32768 bytes FindLine/bin/Debug/FindLineTool.pdb | Bin 34304 -> 34304 bytes FindLine/bin/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes FindLine/bin/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes FindLine/bin/Debug/ToolBase.dll | Bin 4608 -> 4608 bytes FindLine/bin/Debug/ToolBase.pdb | Bin 7680 -> 7680 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7256 -> 7256 bytes .../FindLineTool.csproj.FileListAbsolute.txt | Bin 1122 -> 2902 bytes ...eTool.csprojResolveAssemblyReference.cache | Bin 24075 -> 24055 bytes FindLine/obj/Debug/FindLineTool.dll | Bin 32768 -> 32768 bytes FindLine/obj/Debug/FindLineTool.pdb | Bin 34304 -> 34304 bytes FindLine/obj/Debug/build.force | 0 HalconTool/bin/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes HalconTool/bin/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes HalconTool/bin/Debug/HalconTool.dll | Bin 29184 -> 29184 bytes HalconTool/bin/Debug/HalconTool.pdb | Bin 28160 -> 28160 bytes HalconTool/bin/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes HalconTool/bin/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes HalconTool/bin/Debug/ToolBase.dll | Bin 4608 -> 4608 bytes HalconTool/bin/Debug/ToolBase.pdb | Bin 7680 -> 7680 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7279 -> 7279 bytes .../HalconTool.csproj.FileListAbsolute.txt | Bin 1172 -> 3063 bytes ...nTool.csprojResolveAssemblyReference.cache | Bin 27174 -> 27144 bytes HalconTool/obj/Debug/HalconTool.dll | Bin 29184 -> 29184 bytes HalconTool/obj/Debug/HalconTool.pdb | Bin 28160 -> 28160 bytes HalconTool/obj/Debug/build.force | 0 HalconWindowTest/HWindowSmart.Designer.cs | 69 + HalconWindowTest/HWindowSmart.cs | 20 + HalconWindowTest/HWindowSmart.resx | 120 + HalconWindowTest/HalconWindow.csproj | 9 + .../HalconWindow/HWindow_Final.Designer.cs | 3 +- .../HalconWindow/HWindow_Final.cs | 29 +- HalconWindowTest/HalconWindow/ViewWindow.cs | 44 +- HalconWindowTest/MainForm.Designer.cs | 24 +- HalconWindowTest/MainForm.cs | 9 +- HalconWindowTest/bin/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes HalconWindowTest/bin/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes .../DesignTimeResolveAssemblyReferences.cache | Bin 36812 -> 41329 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7715 -> 7715 bytes .../Debug/HalconWindow.HWindowSmart.resources | Bin 0 -> 180 bytes .../HalconWindow.csproj.FileListAbsolute.txt | Bin 981 -> 2772 bytes ...HalconWindow.csproj.GenerateResource.Cache | Bin 1094 -> 1159 bytes HalconWindowTest/obj/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes HalconWindowTest/obj/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes ToolBase/bin/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes ToolBase/bin/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes ToolBase/bin/Debug/ToolBase.dll | Bin 4608 -> 4608 bytes ToolBase/bin/Debug/ToolBase.pdb | Bin 7680 -> 7680 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 6830 -> 6830 bytes ...lBase.csprojResolveAssemblyReference.cache | Bin 13402 -> 13392 bytes ToolBase/obj/Debug/ToolBase.dll | Bin 4608 -> 4608 bytes ToolBase/obj/Debug/ToolBase.pdb | Bin 7680 -> 7680 bytes ToolBase/obj/Debug/build.force | 0 ToolListRun/CaliperRun.cs | 71 + ToolListRun/Properties/AssemblyInfo.cs | 36 + ToolListRun/ToolListRun.csproj | 81 + ToolListRun/bin/Debug/CaliperTool.dll | Bin 0 -> 26112 bytes ToolListRun/bin/Debug/CaliperTool.pdb | Bin 0 -> 28160 bytes ToolListRun/bin/Debug/CommonMethods.dll | Bin 0 -> 15872 bytes ToolListRun/bin/Debug/CommonMethods.pdb | Bin 0 -> 30208 bytes ToolListRun/bin/Debug/DataStruct.dll | Bin 0 -> 5632 bytes ToolListRun/bin/Debug/DataStruct.pdb | Bin 0 -> 13824 bytes .../bin/Debug/DevComponents.DotNetBar2.dll | Bin 0 -> 5677056 bytes .../bin/Debug/DevComponents.DotNetBar2.xml | 81015 ++++++++++++++++ ToolListRun/bin/Debug/FindLineTool.dll | Bin 0 -> 32768 bytes ToolListRun/bin/Debug/FindLineTool.pdb | Bin 0 -> 34304 bytes ToolListRun/bin/Debug/HalconTool.dll | Bin 0 -> 29184 bytes ToolListRun/bin/Debug/HalconTool.pdb | Bin 0 -> 28160 bytes ToolListRun/bin/Debug/HalconWindow.exe | Bin 0 -> 66048 bytes ToolListRun/bin/Debug/HalconWindow.pdb | Bin 0 -> 194048 bytes ToolListRun/bin/Debug/ToolBase.dll | Bin 0 -> 4608 bytes ToolListRun/bin/Debug/ToolBase.pdb | Bin 0 -> 7680 bytes ToolListRun/bin/Debug/ToolListRun.dll | Bin 0 -> 6656 bytes ToolListRun/bin/Debug/ToolListRun.pdb | Bin 0 -> 11776 bytes ToolListRun/bin/Debug/VisionEdit.exe | Bin 0 -> 577536 bytes ToolListRun/bin/Debug/VisionEdit.pdb | Bin 0 -> 85504 bytes ToolListRun/bin/Debug/VisionJobFactory.dll | Bin 0 -> 9728 bytes ToolListRun/bin/Debug/VisionJobFactory.pdb | Bin 0 -> 19968 bytes .../Debug/WeifenLuo.WinFormsUI.Docking.dll | Bin 0 -> 443904 bytes .../Debug/WeifenLuo.WinFormsUI.Docking.pdb | Bin 0 -> 663040 bytes ToolListRun/bin/Debug/halcondotnet.dll | Bin 0 -> 1465352 bytes ToolListRun/bin/Debug/halcondotnet.xml | 61480 ++++++++++++ ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7502 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 .../ToolListRun.csproj.FileListAbsolute.txt | Bin 0 -> 1957 bytes ...stRun.csprojResolveAssemblyReference.cache | Bin 0 -> 67480 bytes ToolListRun/obj/Debug/ToolListRun.dll | Bin 0 -> 6656 bytes ToolListRun/obj/Debug/ToolListRun.pdb | Bin 0 -> 11776 bytes VisionEdit/GlobalParams.cs | 6 +- VisionEdit/OperateJob.cs | 9 +- VisionEdit/ToolRunLib/CaliperRun.cs | 71 + VisionEdit/ToolRunLib/FindLineRun.cs | 52 + VisionEdit/ToolRunLib/HalconToolRun.cs | 30 + VisionEdit/ToolRunLib/IToolRun.cs | 15 + VisionEdit/VisionEdit.csproj | 4 + VisionEdit/VisionJob.cs | 138 +- VisionEdit/bin/Debug/CaliperTool.dll | Bin 26112 -> 26112 bytes VisionEdit/bin/Debug/CaliperTool.pdb | Bin 28160 -> 28160 bytes VisionEdit/bin/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes VisionEdit/bin/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes VisionEdit/bin/Debug/DataStruct.dll | Bin 5632 -> 5632 bytes VisionEdit/bin/Debug/DataStruct.pdb | Bin 13824 -> 13824 bytes VisionEdit/bin/Debug/DockPanel.config | Bin 6954 -> 6954 bytes VisionEdit/bin/Debug/FindCircleTool.dll | Bin 18944 -> 18944 bytes VisionEdit/bin/Debug/FindCircleTool.pdb | Bin 22016 -> 22016 bytes VisionEdit/bin/Debug/FindLineTool.dll | Bin 32768 -> 32768 bytes VisionEdit/bin/Debug/FindLineTool.pdb | Bin 34304 -> 34304 bytes VisionEdit/bin/Debug/HalconTool.dll | Bin 29184 -> 29184 bytes VisionEdit/bin/Debug/HalconTool.pdb | Bin 28160 -> 28160 bytes VisionEdit/bin/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes VisionEdit/bin/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes VisionEdit/bin/Debug/ToolBase.dll | Bin 4608 -> 4608 bytes VisionEdit/bin/Debug/ToolBase.pdb | Bin 7680 -> 7680 bytes VisionEdit/bin/Debug/VisionEdit.exe | Bin 577024 -> 577536 bytes VisionEdit/bin/Debug/VisionEdit.pdb | Bin 85504 -> 91648 bytes VisionEdit/bin/Debug/VisionJobFactory.dll | Bin 9728 -> 9728 bytes VisionEdit/bin/Debug/VisionJobFactory.pdb | Bin 19968 -> 19968 bytes .../VisionEdit.csproj.FileListAbsolute.txt | Bin 2608 -> 7251 bytes .../VisionEdit.csproj.GenerateResource.Cache | Bin 1754 -> 1754 bytes ...nEdit.csprojResolveAssemblyReference.cache | Bin 63356 -> 64058 bytes VisionEdit/obj/Debug/VisionEdit.exe | Bin 577024 -> 577536 bytes VisionEdit/obj/Debug/VisionEdit.pdb | Bin 85504 -> 91648 bytes VisionEdit/obj/Debug/build.force | 0 VisionJobFactory/bin/Debug/CaliperTool.dll | Bin 26112 -> 26112 bytes VisionJobFactory/bin/Debug/CaliperTool.pdb | Bin 28160 -> 28160 bytes VisionJobFactory/bin/Debug/CommonMethods.dll | Bin 16384 -> 15872 bytes VisionJobFactory/bin/Debug/CommonMethods.pdb | Bin 34304 -> 30208 bytes VisionJobFactory/bin/Debug/DataStruct.dll | Bin 5632 -> 5632 bytes VisionJobFactory/bin/Debug/DataStruct.pdb | Bin 13824 -> 13824 bytes VisionJobFactory/bin/Debug/FindLineTool.dll | Bin 32768 -> 32768 bytes VisionJobFactory/bin/Debug/FindLineTool.pdb | Bin 34304 -> 34304 bytes VisionJobFactory/bin/Debug/HalconTool.dll | Bin 29184 -> 29184 bytes VisionJobFactory/bin/Debug/HalconTool.pdb | Bin 28160 -> 28160 bytes VisionJobFactory/bin/Debug/HalconWindow.exe | Bin 66048 -> 67584 bytes VisionJobFactory/bin/Debug/HalconWindow.pdb | Bin 194048 -> 198144 bytes VisionJobFactory/bin/Debug/ToolBase.dll | Bin 4608 -> 4608 bytes VisionJobFactory/bin/Debug/ToolBase.pdb | Bin 7680 -> 7680 bytes .../bin/Debug/VisionJobFactory.dll | Bin 9728 -> 9728 bytes .../bin/Debug/VisionJobFactory.pdb | Bin 19968 -> 19968 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 7081 -> 7081 bytes ...sionJobFactory.csproj.FileListAbsolute.txt | Bin 1671 -> 4442 bytes ...ctory.csprojResolveAssemblyReference.cache | Bin 48158 -> 48138 bytes .../obj/Debug/VisionJobFactory.dll | Bin 9728 -> 9728 bytes .../obj/Debug/VisionJobFactory.pdb | Bin 19968 -> 19968 bytes VisionJobFactory/obj/Debug/build.force | 0 197 files changed, 143156 insertions(+), 184 deletions(-) create mode 100644 CaliperTool/obj/Debug/build.force create mode 100644 CommonMethods/obj/Debug/CommonHelper.csprojResolveAssemblyReference.cache create mode 100644 DataStruct/obj/Debug/DataStruct.csprojResolveAssemblyReference.cache create mode 100644 FindCircle/obj/Debug/build.force create mode 100644 FindLine/obj/Debug/build.force create mode 100644 HalconTool/obj/Debug/build.force create mode 100644 HalconWindowTest/HWindowSmart.Designer.cs create mode 100644 HalconWindowTest/HWindowSmart.cs create mode 100644 HalconWindowTest/HWindowSmart.resx create mode 100644 HalconWindowTest/obj/Debug/HalconWindow.HWindowSmart.resources create mode 100644 ToolBase/obj/Debug/build.force create mode 100644 ToolListRun/CaliperRun.cs create mode 100644 ToolListRun/Properties/AssemblyInfo.cs create mode 100644 ToolListRun/ToolListRun.csproj create mode 100644 ToolListRun/bin/Debug/CaliperTool.dll create mode 100644 ToolListRun/bin/Debug/CaliperTool.pdb create mode 100644 ToolListRun/bin/Debug/CommonMethods.dll create mode 100644 ToolListRun/bin/Debug/CommonMethods.pdb create mode 100644 ToolListRun/bin/Debug/DataStruct.dll create mode 100644 ToolListRun/bin/Debug/DataStruct.pdb create mode 100644 ToolListRun/bin/Debug/DevComponents.DotNetBar2.dll create mode 100644 ToolListRun/bin/Debug/DevComponents.DotNetBar2.xml create mode 100644 ToolListRun/bin/Debug/FindLineTool.dll create mode 100644 ToolListRun/bin/Debug/FindLineTool.pdb create mode 100644 ToolListRun/bin/Debug/HalconTool.dll create mode 100644 ToolListRun/bin/Debug/HalconTool.pdb create mode 100644 ToolListRun/bin/Debug/HalconWindow.exe create mode 100644 ToolListRun/bin/Debug/HalconWindow.pdb create mode 100644 ToolListRun/bin/Debug/ToolBase.dll create mode 100644 ToolListRun/bin/Debug/ToolBase.pdb create mode 100644 ToolListRun/bin/Debug/ToolListRun.dll create mode 100644 ToolListRun/bin/Debug/ToolListRun.pdb create mode 100644 ToolListRun/bin/Debug/VisionEdit.exe create mode 100644 ToolListRun/bin/Debug/VisionEdit.pdb create mode 100644 ToolListRun/bin/Debug/VisionJobFactory.dll create mode 100644 ToolListRun/bin/Debug/VisionJobFactory.pdb create mode 100644 ToolListRun/bin/Debug/WeifenLuo.WinFormsUI.Docking.dll create mode 100644 ToolListRun/bin/Debug/WeifenLuo.WinFormsUI.Docking.pdb create mode 100644 ToolListRun/bin/Debug/halcondotnet.dll create mode 100644 ToolListRun/bin/Debug/halcondotnet.xml create mode 100644 ToolListRun/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 ToolListRun/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs create mode 100644 ToolListRun/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs create mode 100644 ToolListRun/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs create mode 100644 ToolListRun/obj/Debug/ToolListRun.csproj.FileListAbsolute.txt create mode 100644 ToolListRun/obj/Debug/ToolListRun.csprojResolveAssemblyReference.cache create mode 100644 ToolListRun/obj/Debug/ToolListRun.dll create mode 100644 ToolListRun/obj/Debug/ToolListRun.pdb create mode 100644 VisionEdit/ToolRunLib/CaliperRun.cs create mode 100644 VisionEdit/ToolRunLib/FindLineRun.cs create mode 100644 VisionEdit/ToolRunLib/HalconToolRun.cs create mode 100644 VisionEdit/ToolRunLib/IToolRun.cs create mode 100644 VisionEdit/obj/Debug/build.force create mode 100644 VisionJobFactory/obj/Debug/build.force diff --git a/.vs/VisionEdit/v14/.suo b/.vs/VisionEdit/v14/.suo index afcfa15633415d0203ad800079a8c880ae068edb..5d1114dd5bab0c416bc06e433a2253036bf335fa 100644 GIT binary patch delta 11688 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 U8zJ9JQenM|8vU1QvMN&be?>@pLjV8( delta 7156 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 diff --git a/CaliperTool/CaliperTool.cs b/CaliperTool/CaliperTool.cs index 2656ec5..52776b8 100644 --- a/CaliperTool/CaliperTool.cs +++ b/CaliperTool/CaliperTool.cs @@ -223,7 +223,7 @@ namespace CaliperTool } //把点显示出来 - HOperatorSet.GenCrossContourXld(out crossDisp, ResulttRow, ResultCol, new HTuple(60), new HTuple(0)); + HOperatorSet.GenCrossContourXld(out crossDisp, ResulttRow, ResultCol, new HTuple(80), new HTuple(0)); if(softwareRunState == SoftwareRunState.Debug) { DispMainWindow(FormCaliper.Instance.myHwindow); @@ -275,7 +275,7 @@ namespace CaliperTool // 显示交点 if (dispCross) { - window.DispObj(crossDisp, "yellow"); + window.DispObj(crossDisp, "green"); } //显示找到的线 // window.DispObj(LineDisp, "green"); diff --git a/CaliperTool/bin/Debug/CaliperTool.dll b/CaliperTool/bin/Debug/CaliperTool.dll index 1831ccfc9a28e48cab86fb0ea93b29ecada62a66..287aade1a925849d3e90b9c94502747d9f2115f2 100644 GIT binary patch delta 932 zcmYjQdq`7Z6#ve3!)7XNyL(*QoOchWXlOI9Va1H5(;E1~RAN3z(|n*UvqDY#Bd}6z z93uLsFzXKqp}0vH)&fI&h$Kj86crVOv8?Gbj3ve9s_3dyPC#gJyfAuRIw1@eeNf}s;9bqI6y>AS= zxkQ-2VNQSmzUMOF1L|YSARLdy)PY7^h;aj?i@c#8U>{yE=0PdW8C#(mvtx7M1op)` zXfFcveI0+sI_cdzOp;t{a>5keqVijuH;vQEFURH3`FIoOhRtZ@1^P#acz2XdMsM>- z=mK}*cQcC`hiTe8zj$ zG#d5A>SmT@xZUQU&>CBf1>}^T4st|W0iD@|u9ZYS9knKelKN7_uQm?2-Eu-KCB>vH zmXIxUv@PzEJQw}ei$;4BCtk_wm#GLzo4wXNaPofE=yQ)&amM8ocVx$L$#i$T(l#*k zG0?@Rq6w=i2q`Ld6>D8_&W5Ewp3%C0Gv5O7ZDLQwCWyXC3t2mly6~|#274 zOz5R&$qM?lk>oPT@=Az?oMItT<|M^Fusquk`%bH-58#jHO`QpgzBh5MWBI&StDSLI zk_;fHu?T;t%jBd3#vo?XHKXcY1kn)nGNF(Tav+KJ=W0Nd-I7dN?imSBCGO>Hb62uL9 zZBb44rZ5L4$qKBwctks_>Nw3EYaT}E)2Oc4N+n3N$F@K}w3Q-2pKLl%u`f>6Q+C;J z=RAh(v#^3X>?%IcLwhA^$>C7ZM&*tsw9`YDZ_!`JC4(L@n|x zyr3RgML!M8`S?nXj2c*JU&ao2wYM1|V1=eQcLJ4k(p82qy>vAoO2t_vI7+9pf}D$c zyk4gtSw&p?pj(&2?jpRRZk9jOfV+<)Kbu{GG#bhdK_;J~@{Kkrq15?_T+Quc1zbqq zJQljI*szQSl>(HL)w30QsL8VzMDIN+x+v3Iz*$}I?ZX=~`)Zgy;tSy?-S*9AtB<~r z1Ov_U2N_!LulJ@In4TLsrLls0Hs|oDqnMv}bH<#;3boIE8FHyX2ybGGFTKm$D#PlcUH-Gt;`EL1*3&tbAD%*ovPI0!J%VSil z4~E2_lV>Etz9V%)tgBjCb!=Bc>xPR5*LH3Tr@JpTUDg`wrs0eglBeYU3mJNItCTFGV^E*&mm*_gctYfmU8 ztlGFCTgv#YhSk;R$s2;(T+AWH!eQ)wfL*xsD&ypfal#V=WG6dFRj`~tyH9!Z z9w{p$Mw89oeH6J_7z9qg-z*bximg8HV+1<`Ln_cZ5MX4;`v_q{*n5F;#!vxtxeq`& zT^w?<91IMlAU^;By1q%A3=9fj8K7J}nuVKylAbV0G`ZhExiB1t268hnXyedV1C%== f4v|E6jDUkO0|U?_U;vWb{3Tw11y2;DJmCZYgdbu; delta 423 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 literal 34304 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 diff --git a/CaliperTool/bin/Debug/DataStruct.dll b/CaliperTool/bin/Debug/DataStruct.dll index 162524cfea9a5da1779afbf07c41674a45c1b292..4fad34e133eb1aa408d2bfba5cb2e49a2c716354 100644 GIT binary patch delta 66 zcmZqBY0#O_!TgM~XJhwSZh_=xyX9xH4mi#7@_f#j)qP-d22TScNOtmTUP*y3JUf}D VO166M%#Xehv$bA+vk2cCb^x!T8^r(s delta 66 zcmZqBY0#O_!R)>vXk+(TZh_|935~_}BJSOL7Rb%Gd~d<#44wu?knH5wypjSNWx8A3 VA3C`0eZKMKUXJR}%_4kn*a58h9I5~S diff --git a/CaliperTool/bin/Debug/DataStruct.pdb b/CaliperTool/bin/Debug/DataStruct.pdb index 1e699d28f6d2df7bef13b76cfb4fe46b396cced5..13e05314f6abfb00e3da7da54958634661444a13 100644 GIT binary patch delta 124 zcmZq3X~@~Y!X@#HvnQ63fq~%*&rYVPlC9o5^P?}sY^|5yEW`DNo1^8FWfybFRmRB+ z6%95!h+Puoin$3?%&^1sx7KDEjW|}OCsmVcbfwszR6PU=drxlE6`#CCHvo^ZdQaE^ D(9kT5 delta 121 zcmZq3X~@~Y!X@FpAt;uSfq`M8Om~a>LkG9L&o{o@%TXP=S%&KkH;0&-=bS5nR~aWS zR5aM^Aa+S`VgMTpBT)Tj8I3qrCI*JdHM&yl3=9u}CU{S7)D@k)NjC_OnR-vy0m3^e A2mk;8 diff --git a/CaliperTool/bin/Debug/HalconWindow.exe b/CaliperTool/bin/Debug/HalconWindow.exe index 8772b38cafca104704a8c1e57a138a65548a00f0..cd7cd1ae8bd407ee257eba2c796b045cba29b345 100644 GIT binary patch literal 67584 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 literal 66048 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

Y@wH&94V>#M6&n53Im8Q`Wx-O#ZbPto$k7QD-n_ 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 W!ry1EvlNsfAH?d0Z9c(i!2tl$dmQut delta 66 zcmZorX;7Ka!R)>vXk+(Yc7e&agEccZinuIcn!e@B*Y{DIBRE_bL9&zQb4m&b2~7=K W@oKu$sz1e{*S`Oe-h6`7f&&1j(;Uz4p8 zv~6Fdw!|@@Te8JK!yI_HOiP<-6Nn0Js$`p1QpsOp_gSVks+u171ctjbwiAYBFkAF$-e!}r7Szt>8Ia#%;hC)q~8lw7(jWMZkM#%lT*xZMe=1xr2C z%OJ-dfY*9G)_-xe^}aB2Wi-Kafm8MYgPnt&`5^V&B9+w+r6z6Y0*v=pQ@Vqco~*rg z{*Mpo&JcR(R>gk5%Aq_?z;X`IUUgJVI`pe_w?2AYCxdjj$rD!YAKZaQuc)QAHT2&R z<6Egd``50nd=4Iebh{PA;{NeQoUJ5?+9L7&wTm2)Y&wi)=q~C9ZIHu^2E`%tmss!$ zT?jaNj7l!M$!Ty|dwSvcc(ku^k&UX3$ph9qd|tBkb;@I5zaA6vm};ncDiBl65n-6J zUrDNIkr~nTq#RLGa<7PFXEsMYv1Ib8)~92UCtt5?nx5(x=Byqw$~r->Vk%)XlZ~2X zEuU4AQ9TvY&6Fr_gR>hOTu`ycyhkjECr$xXq(?DCS;zMmlu17_)Inv6-J5uQhY}~vgeFQiHu?jIy-IZ@jvxhOaC({ezJ{f{tJSXmuUb1 delta 880 zcmX>i-pk3JB%+)e!MI`~r;_}sR|1Je&jRbT1Z?CUc{eH@CSKY&hAD;{L8LjVfUzez_ z{7=&~?BHSbwJ}eZ^jiD-ty^KrWx!^<=cE(wuGyy_^m~>cxPJcDIa4F9|9fU`t2y10 zd1>l|swuJ;*T!EJzOkNvrRe6&Y1axiO66C+bhV4QyV5mVwbIHka7EfL{S?}6edwN`T64`q43|26Z;J)u4-CEE}GJsYUd>!|4E zI{lQQ$&}go?B~yv=;&;hbYgmNa--+ViYZg?_&(~ny!@BOp^oZRaSD$<&CGwdxj*5sS=)8F;`i+vG`3rHAiRsU6B7eBC?zZrhc@}G~v*zrn#a|4jY6xli zWG~p*l*PpTLF`7;$t~w1?#|czwf()$na-@fgE^0xu4kWUiTeNAhBtqa@&@kei@5H@to;2z(4x8nFF#*W>r?7$D(Q;RQTi>d7IpTLew*Q!HEnJRRR?DCn8r#P@17wC E0DKR&AOHXW diff --git a/CaliperTool/obj/Debug/CaliperTool.csprojResolveAssemblyReference.cache b/CaliperTool/obj/Debug/CaliperTool.csprojResolveAssemblyReference.cache index d077685b4709b565ac42a04fb4b349c57c35dbd2..c8c84a1066043f77ca50a3109bf7ac9b2bd37c6e 100644 GIT binary patch delta 294 zcmeC)!}xtS)EW z8QE?~TmiBtOYrE!gnfBzS=b_;&C=9z-aJ7dSb(v4^AiPeMj-V^aU~<;_RY(buX8go zPMdsQRebXTeMc6iW`@m=jh8bqF)js*tu@=r!o#>7Xnz+FGqUX1tQh!!ak7tXB2e=> z+b||BkQ@lG?14zVbBqT{`8oM90jaqzJ|OCqTL6f%_RIrOtGscU%xwNsckg>GzqymElacM; z|3^UfWC|3E+FYw2#lpnOxcR2>awabR#Smejc!SwBmdy#)&P+gEoQ%6R^G7^joZM@l z3*v5Oc5r}*?}Lczx}<`Y9e{9a+>*h{UbuOHm2I~4OoK31c)Nla9Gk!TTJUo5vob>L LW7@16eToSH&h2Ja diff --git a/CaliperTool/obj/Debug/CaliperTool.dll b/CaliperTool/obj/Debug/CaliperTool.dll index 1831ccfc9a28e48cab86fb0ea93b29ecada62a66..287aade1a925849d3e90b9c94502747d9f2115f2 100644 GIT binary patch delta 932 zcmYjQdq`7Z6#ve3!)7XNyL(*QoOchWXlOI9Va1H5(;E1~RAN3z(|n*UvqDY#Bd}6z z93uLsFzXKqp}0vH)&fI&h$Kj86crVOv8?Gbj3ve9s_3dyPC#gJyfAuRIw1@eeNf}s;9bqI6y>AS= zxkQ-2VNQSmzUMOF1L|YSARLdy)PY7^h;aj?i@c#8U>{yE=0PdW8C#(mvtx7M1op)` zXfFcveI0+sI_cdzOp;t{a>5keqVijuH;vQEFURH3`FIoOhRtZ@1^P#acz2XdMsM>- z=mK}*cQcC`hiTe8zj$ zG#d5A>SmT@xZUQU&>CBf1>}^T4st|W0iD@|u9ZYS9knKelKN7_uQm?2-Eu-KCB>vH zmXIxUv@PzEJQw}ei$;4BCtk_wm#GLzo4wXNaPofE=yQ)&amM8ocVx$L$#i$T(l#*k zG0?@Rq6w=i2q`Ld6>D8_&W5Ewp3%C0Gv5O7ZDLQwCWyXC3t2mly6~|#274 zOz5R&$qM?lk>oPT@=Az?oMItT<|M^Fusquk`%bH-58#jHO`QpgzBh5MWBI&StDSLI zk_;fHu?T;t%jBd3#vo?XHKXcY1kn)nGNF(Tav+KJ=W0Nd-I7dN?imSBCGO>Hb62uL9 zZBb44rZ5L4$qKBwctks_>Nw3EYaT}E)2Oc4N+n3N$F@K}w3Q-2pKLl%u`f>6Q+C;J z=RAh(v#^3X>?%IcLwhA^$>C7ZM&*tsw9`YDZ_!`JC4(L@n|x zyr3RgML!M8`S?nXj2c*JU&ao2wYM1|V1=eQcLJ4k(p82qy>vAoO2t_vI7+9pf}D$c zyk4gtSw&p?pj(&2?jpRRZk9jOfV+<)Kbu{GG#bhdK_;J~@{Kkrq15?_T+Quc1zbqq zJQljI*szQSl>(HL)w30QsL8VzMDIN+x+v3Iz*$}I?ZX=~`)Zgy;tSy?-S*9AtB<~r z1Ov_U2N_!LulJ@In4TLsrLls0Hs|oDqnMv}bH<#;3boIE8FHyX2ybGGFTKm$D#PlcUH-Gt;`EL1*3&tbAD%*ovPI0!J%VSil z4~E2_lV>Etz9V%)tgBjCb!=Bc>xPR5*LH3Tr@JpTUDg`wrs0eglBeYU3mJNItCTFGV^E*&mm*_gctYfmU8 ztlGFCTgv#YhSk;R$s2;(T+AWH!eQ)wfL*xsD&ypfal#V=WG6dFRj`~tyH9!Z z9w{p$Mw89oeH6J_7z9qg-z*bximg8HV+1<`Ln_cZ5MX4;`v_q{*n5F;#!vxtxeq`& zT^w?<91IMlAU^;By1q%A3=9fj8K7J}nuVKylAbV0G`ZhExiB1t268hnXyedV1C%== f4v|E6jDUkO0|U?_U;vWb{3Tw11y2;DJmCZYgdbu; delta 423 zcmZp;!`N_#aRUpNg!_h|SVjg0hPF)RhVc2-eiM>Y1>_f$E!r%@rNbq{-eb}}+xy_O z$}U5Xc~e?y%2G@PH#)9iT+AWH!tvdsW6qVptBjK`#tBahke%!xRly>8sPxz7JyKRi zjHa8v`zUg=FaizVEE92xt)77)f}MdO6=)X-fb4_;5PL6B&KN3yF82W_r;9^QmV<$z z6siGT-y}{31_hWtp#5+FQn(2y=?N7<*Z3PK7X}qXmkZ=(V9>^)uLdZ0L>wZCu1~;0 YnSlZ55ikHrZvGN4z=9|IQ=V`F09+`R!*Obf>1atBp?&mn=cJUbElw;zp#wE9T3h!eUoRWP) Nlh|-dnoFuP0|4sqLf8NR delta 178 zcmca-anEAIQf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)o|xS!*c+r?vuQ;vzZ8kgMW VDZGzaa7y+GO=80-X)dYG3;<%~L3RKD diff --git a/CaliperTool/obj/Debug/build.force b/CaliperTool/obj/Debug/build.force new file mode 100644 index 0000000..e69de29 diff --git a/CommonMethods/CommonHelper.csproj b/CommonMethods/CommonHelper.csproj index 9b97432..eef45a8 100644 --- a/CommonMethods/CommonHelper.csproj +++ b/CommonMethods/CommonHelper.csproj @@ -45,7 +45,6 @@ - diff --git a/CommonMethods/bin/Debug/CommonMethods.dll b/CommonMethods/bin/Debug/CommonMethods.dll index f0d1ddc471e523a092802ae79615a6fd4616b7e2..11b7275acb7e9d3abac23f36af961a1223c3ce1a 100644 GIT binary patch literal 15872 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 literal 34304 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 diff --git a/CommonMethods/obj/Debug/CommonHelper.csproj.FileListAbsolute.txt b/CommonMethods/obj/Debug/CommonHelper.csproj.FileListAbsolute.txt index 815246325550b7e07d10889d60719b62bc0c9aa3..b80578a447f225caa7394511f028e4637a3a860a 100644 GIT binary patch delta 84 zcmV-a0IUC&1Ns98ViY4~Rsp232M+;}U_g@=0cbp_w^z$s?&&q^0Yh8aA`VZ=)n>T? q<+6ZW7j5U84=)xdB&zUv2BnMk>#Rs@(e261lnM|C`>^EMAD`=#H6|ng delta 45 zcmV+|0Mh^Z1C|2^ViY4~76E{<2M+<0Rsm=jwYOL0J-32&t7SJR{v#0)-@_``c!a?3 DT`Ljz diff --git a/CommonMethods/obj/Debug/CommonHelper.csprojResolveAssemblyReference.cache b/CommonMethods/obj/Debug/CommonHelper.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..193c4be8814edfbc89b4a6e2f7dba57e87ab9467 GIT binary patch literal 8178 zcmeHLU2Ggz6`onou6HJDJ5ExQ(oozsrFG-X?%LisYifeCj%zou6KvxkWz+5K?%nl} z`7txIPFxAKFQ}>zG(s&@i2ez+Kvf`-A{B{%8_FBJAQ2w;k!Z_fTPoBCgs9+rcYnM) zyFgsJLRcPa&far<=AL`c{qFg>f+z^WKj^_Po=AYm1G9S0v0c01sYgq?kyjTr_nfPy zY=;f@FEPi}ZEHL}qQ>wy*qWw*7~v9RWP%v|s^k3mW<=mz6l$G-BvXcmUSavn{=Ri`y~+0(KH!>r{F zA`-~I740Me<%F%}r?i}BJDrvFgj2S;qB+dji9u6#o}F^+RXxv~Fgh0WhnPewazjg+ zQDUwjbaV*8;Er%BT{G3O_P3bxOw;&pedh3yotTw!CsA1f2@=_fRu{dY5D`5!mZm8c z9nI{YBCELlcV9SsXdpe$3d~_vj`dHtE;GsU%uUyfo1P+hcHVZ*rPaA(iyPePh?-D` zHU!nw!m{S9sCmN(!9-eH)R}J1b__ks)r3h+t}SXRX8)XNa78jHy5FxTJ-f8Xa_Q-b z6RDGP2jfXKmN>}m%Um~|)va{i_AKTN#nQ`~k+ZEb%g0k_Jkvkkhq4`&iJ#U<-Fa7? zvK`aqDtC~|)pn|!)I3cESzz9=3m&s@$jiDTq&w42-M}1ho^PiTzCdW|CQXI5YGSTl zwD`95kgnx+>H@@1=++mwHaL-DJGD(Z+Iih7a%H{kUfLY<)M?KvyQE#Dt*!7taKpNG z!t(-*@@|klAUA>ZfqVpHFUZXx9|gGuWFN@KKyC&3IFTR*I8gJ%4WYDr&Us)v0B6oy z@bVEubG=zRuNQQdk7#9&zBWfbJd$TC%*vCeCkG#KbDHNdhX;agr(}7$$tsbot59|M z_)G`{0%D*G0aEz(FVlhPUrj5D66z;bp%@TThhxL>q#|OWm~g$&ZGIsb!Y_2YPbdgO z{qL78Ng-PHpx^umaxAY_LM1nB&D+67>SjJTa~7X))6N`!@8p}mnU?RM4tYNaVtMEj zM3mJbGIJs}Iy9AOgOn^-J?8~66YCfs)T3@ zAz3%g5>II(4l}it6_%fJY_kK&uyku>t(5XrQs4$4i=uc%teImYOTLd;%+Yf^Tc+s# zVEoLP&7gd+-!J{)mIG(cVjpped z9>(ayL^^Rc1y~b)UfR@7^C^zdXL17M5XdM9M(@RW$0K18|6!+)Q3W&DZzWSJmU=dt zyl#qQDuvaIRj}m@N|K|R%fgw8pYP6~l9(`xwxfH?=H5n@Qpc2Sd5&%D$`BZBs|a;e z!JN``=ceiyyioDU*x4zF9sKDG1j5}FgjHsdr~%F@=*5zw zp)#w&k|I^Lxz;e*5BAj^&G>Ix+PybApUV6jEYLzh{ki7m351fgdy#s8%45_cf0D?< z^oH&wGLOP_EExpdW4R_H5v>9(tiX+dX-xLmH8SqaF?}CW8R2W8$U&EsRVIe|34iXE+LvO7Q!iQ zMa$7S6C@$rlpwW8OscmC@H=7nNIde<@~M^accSqtYXS@B}d-%#Zl_g^4&Vjhw3} zeEIU#-#iCs+c3*q>{jN7IO#b-xzdpb3wVwCBw6a@w zCN8}l99Zm4hM#?WrmySrRsChP!Pu(;5&e)^hd-3nD z+;#op>8FDG&0k-B{lQ&t4_!UhcQX97-mBk~ul#mk*SkM=-aP)&8?W}@Fyek8FysF8 z`qRJr%a0_S9-r@`$qJ#&toC`^p&#AC55Mq|GxKa!M@%LOAxsZ)5k!pY6T~)bW)lJM zy>yM>;!0_rd74usLRVLCDuM_bic*T`Rtp`0?a)Diw-P#LX@kSnOE5*ABNib;kxvp8 zFOjpXx?}N&b&MkZfH?SPz)1W)HP-2+wxEcUMBys&)Vza))4vU+>V@bQ%tAg(8@#8I z>@?gLD)JKjs|>5t)Dpi-P^rP{J9UgAzDQgRRxc2j$|J0y{?RjnSUjUL((XU!_sn8n4xh3 KFh?uV9sdM$^)c80 literal 0 HcmV?d00001 diff --git a/CommonMethods/obj/Debug/CommonMethods.dll b/CommonMethods/obj/Debug/CommonMethods.dll index f0d1ddc471e523a092802ae79615a6fd4616b7e2..11b7275acb7e9d3abac23f36af961a1223c3ce1a 100644 GIT binary patch literal 15872 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 literal 34304 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 diff --git a/CommonMethods/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/CommonMethods/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index c7210600db981e8158e1ad6722d14ec64d58c5e1..6766d000f8dabb39f5de4c60eaff1e56443c9c32 100644 GIT binary patch delta 65 pcmca$cEN1JQf_f~tC+CN;>`R!*Obf>1atEq?hqcFlIjwg%m6_X7!?2j delta 65 ycmca$cEN1JQf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)#1xI=hwN~%j}G6MiE02iMC diff --git a/DataStruct/bin/Debug/DataStruct.dll b/DataStruct/bin/Debug/DataStruct.dll index 162524cfea9a5da1779afbf07c41674a45c1b292..4fad34e133eb1aa408d2bfba5cb2e49a2c716354 100644 GIT binary patch delta 66 zcmZqBY0#O_!TgM~XJhwSZh_=xyX9xH4mi#7@_f#j)qP-d22TScNOtmTUP*y3JUf}D VO166M%#Xehv$bA+vk2cCb^x!T8^r(s delta 66 zcmZqBY0#O_!R)>vXk+(TZh_|935~_}BJSOL7Rb%Gd~d<#44wu?knH5wypjSNWx8A3 VA3C`0eZKMKUXJR}%_4kn*a58h9I5~S diff --git a/DataStruct/bin/Debug/DataStruct.pdb b/DataStruct/bin/Debug/DataStruct.pdb index 1e699d28f6d2df7bef13b76cfb4fe46b396cced5..13e05314f6abfb00e3da7da54958634661444a13 100644 GIT binary patch delta 124 zcmZq3X~@~Y!X@#HvnQ63fq~%*&rYVPlC9o5^P?}sY^|5yEW`DNo1^8FWfybFRmRB+ z6%95!h+Puoin$3?%&^1sx7KDEjW|}OCsmVcbfwszR6PU=drxlE6`#CCHvo^ZdQaE^ D(9kT5 delta 121 zcmZq3X~@~Y!X@FpAt;uSfq`M8Om~a>LkG9L&o{o@%TXP=S%&KkH;0&-=bS5nR~aWS zR5aM^Aa+S`VgMTpBT)Tj8I3qrCI*JdHM&yl3=9u}CU{S7)D@k)NjC_OnR-vy0m3^e A2mk;8 diff --git a/DataStruct/obj/Debug/DataStruct.csproj.FileListAbsolute.txt b/DataStruct/obj/Debug/DataStruct.csproj.FileListAbsolute.txt index caf68e852d95d2cb8032fc92e0eb07350e046143..30b2ba321f714f38fc3690ddf55653c395f4ee9a 100644 GIT binary patch delta 75 zcmV-R0JQ)30@nivViY4~Isu)L2lSC(Kau-rHLOoo%UCwzXAHJ hnNtLN=aCLO9}oq+^KlleoX6|rPJh?y&!n(;ach+hA`Ack delta 41 zcmV+^0M`H41NZ_5ViY4~`v85B2lSIV0caJqPgdY0yS{Ifbs#jqHwImzty$V~Q`-?4 diff --git a/DataStruct/obj/Debug/DataStruct.csprojResolveAssemblyReference.cache b/DataStruct/obj/Debug/DataStruct.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..c0ae63b21d2e7e78eeb60289e00f6da5ced80ed9 GIT binary patch literal 8178 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 VA3C`0eZKMKUXJR}%_4kn*a58h9I5~S diff --git a/DataStruct/obj/Debug/DataStruct.pdb b/DataStruct/obj/Debug/DataStruct.pdb index 1e699d28f6d2df7bef13b76cfb4fe46b396cced5..13e05314f6abfb00e3da7da54958634661444a13 100644 GIT binary patch delta 124 zcmZq3X~@~Y!X@#HvnQ63fq~%*&rYVPlC9o5^P?}sY^|5yEW`DNo1^8FWfybFRmRB+ z6%95!h+Puoin$3?%&^1sx7KDEjW|}OCsmVcbfwszR6PU=drxlE6`#CCHvo^ZdQaE^ D(9kT5 delta 121 zcmZq3X~@~Y!X@FpAt;uSfq`M8Om~a>LkG9L&o{o@%TXP=S%&KkH;0&-=bS5nR~aWS zR5aM^Aa+S`VgMTpBT)Tj8I3qrCI*JdHM&yl3=9u}CU{S7)D@k)NjC_OnR-vy0m3^e A2mk;8 diff --git a/DataStruct/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DataStruct/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 6080d9dfa85525b5b00bfc509a5e9b8496919a4a..0a8d563c4fed9cad9da270eae6c4917cc29c9bbb 100644 GIT binary patch delta 65 ocmaE5^2%hxQf_f~tC+CN;>`R!*Obf>1atEq?n2y>F5+s;08r-`dH?_b delta 65 xcmaE5^2%hxQf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)#1xC?Phx`?YW0{}hL7z6+S diff --git a/FindCircle/bin/Debug/DataStruct.dll b/FindCircle/bin/Debug/DataStruct.dll index 9179ad7244bcbee0b9522dadaf731fb43ef6c1f4..4fad34e133eb1aa408d2bfba5cb2e49a2c716354 100644 GIT binary patch delta 66 zcmZqBY0#O_!TgM~XJhwSZh_=xyX9xH4mi#7@_f#j)qP-d22TScNOtmTUP*y3JUf}D VO166M%#Xehv$bA+vk2cCb^x!T8^r(s delta 66 zcmZqBY0#O_!EC-EXk+(TZh@qR-wCSoQ=FE&7Ym=b@&EGX44wu?knH5wypjR}%l2j5 V7ChkF>nHIuqrWn3vk2cCb^x`z98~}S diff --git a/FindCircle/bin/Debug/DataStruct.pdb b/FindCircle/bin/Debug/DataStruct.pdb index ba9646588d834d483b328deb84397706c60e90d3..13e05314f6abfb00e3da7da54958634661444a13 100644 GIT binary patch delta 124 zcmZq3X~@~Y!X@#HvnQ63fq~%*&rYVPlC9o5^P?}sY^|5yEW`DNo1^8FWfybFRmRB+ z6%95!h+Puoin$3?%&^1sx7KDEjW|}OCsmVcbfwszR6PU=drxlE6`#CCHvo^ZdQaE^ D(9kT5 delta 119 zcmZq3X~@~Y!X;t8At;uSfq_9_*}jb1f(Lwi{Um;7^jD^Bmf?EC%^{n&Ytog#tBjKu zDjIBd5W6HeF@S55631p0jWAXw28PKsx>D>63=e_&y(c&7ica378-&M1y(jDdp8_b% diff --git a/FindCircle/bin/Debug/FindCircleTool.dll b/FindCircle/bin/Debug/FindCircleTool.dll index 9b2a176342ecf2274111cd0f03c6c156e7ba0d78..58b0ed23701a11c0771419b274c81ac180bc274d 100644 GIT binary patch delta 87 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 literal 66048 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 i+bAjI@k6MINPm2Q_Dhe)oqzuR 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 BE%pEa delta 121 zcmca+e$9NtQf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)o|xS!#a+sRXnOK!6_uOCiB KH*b(oV+H^LA1w+1 diff --git a/FindCircle/obj/Debug/FindCircleTool.csproj.FileListAbsolute.txt b/FindCircle/obj/Debug/FindCircleTool.csproj.FileListAbsolute.txt index 16c910f081311c6fe8d532a61caf010bef8273d2..e98b23c76e3528b4236cbcab6a2695845cb08e0e 100644 GIT binary patch literal 2319 zcmeHGOHUI~6oyFA@D>$$YQ&T`6D#rv$N~zrQQk#BEh#h8+jej|12a=z3MPiN?2K&O z7*{Tg?u-%>Vhoz73njAAm3#k!-{B5}B$)8n+MM%!-#MN8I_F;L+-^?I*Sa_iTFk6<~X0qlocrNul2Ea}eyx8;WKd6x<}W#VFE zne#Bn%*_XuW~Ko}xW^AjoCRd2jTM1LOFTf>`b)rZcvX2x*Bzb%3Rz)bg%d*rc+d`7 zedPcAD#~LYNP!>aVI8OHUU2mNvl`IU2+#d^vCza-2dH6z>vFmb_TYPv({VSjwB3CR z6kB@?gcUWi!WdZfUG2d|qO51c?*f9U8>Pr1}VzDBByyByFB&$s~yUjQ`u z^MHLdEkMT#ppwqC1ns>diZ#>FEcl1}fIc{^np4@gr7^Aq5bf_24>ubDSxyt3gS)9A z^FhGZH^xN}EDGOV2m$5o$3SP-Yh6Gg?=}#28E%&XDp51X)2XiF^j0n>Q#k|Io_Ov5 zom57s*3l5Odgu4oKXJZ5SYLQo~u^VBSeu06M|wM8zdb98;%D|tNm>-o|=Bz4oVvFs5#9;}AegJr|*I+Q`i zdA5gIJj(Sz8|PM+J=ETZMl;J5^t@mZcv%Y9mG&t;nQ89)kvb|Rtib+~M?kRw(BjE4 zSE(^{*{0zB%rswfa46u_!z?(Yn2N4-h81g&nO4xJXko8n$SMm;iWcl(QX=|Sa!}V* zA*`y0oM9p??RSO_(Gmlek&vx}tRE9qS=Yk4rLhBz_iv6LMsf6Mfz7Z(?EU~}-?91u z#_u@&Oni^s)1~p<`!AalhCV*POkJH~ZKlcMk~%xUBFtc#%mi7KV|y&nZc7M0-H2~r tL&3m02}5S)-fF(vl$*Df?^?LRG-ikvqwUkQg7JVXa=25?NA{?QZ{vA;e?FC=nnG9dvnGA-< z(HF5{907j-ld!h*)YzH(-dF5%5*VQ(4Xk18F-Y)rAG{4<8_iuEF^bF8vh)$1DkmLG zdx5#JE)HasDC?=f_}^3Q(L%Pum`KjKXThRIhH3u?wxcuG&nr*4XU3~6uy$ChklnF< zIM>TW_BMWq*C$cz2eX5JiFa)!=^{cUTcv2oo|b>>8#iSdX!L9`5(PB2`)~`roWc6! zRdd*mpt!ne)t0Q7+s&oi)NkKLHyFJoC#FsO3|ZG?FpfA#7T{1UJCx1kxXKx*03JJB zeyEs)XgVkR4(F=Lg49s$@+;-8?IzTZV3NWv@eBGDv8N5e(I1Xpe6#1@$f#Ys%C-hBW-Hi*+n|_m~C+91A^#(QyX6mH5b` zLwfh>*vi%nUoHHngq3IUk44wJk$<0W=dDi90rr>$wRHPV-|q;LJz@}sUs7rKlWA%M zcn=e7zI@>wXGm!fdV8>L2k0{2Y3lDKMeu)+O2_xHUo`-Fn#&=OG|^TIuCn|b&%Ig} zO=+~sf~I4CgK`08UxCaROumU_0K|kE17g1_Vl~t5wRzTIf{y1*$b{y+%qQ)*LXJWy z+VYWcvt6id|QbEMTJp~Bry5u%B zhVyO?iDM`clk#TTCIq6TDGTA_p)n057+5n9`T7|V_Q9~@s`+6ym^(2LbHcmvQ2ln_ ENT$0qvH$=8 diff --git a/FindCircle/obj/Debug/FindCircleTool.csprojResolveAssemblyReference.cache b/FindCircle/obj/Debug/FindCircleTool.csprojResolveAssemblyReference.cache index 2c24d0ab5d4d6eb3edb9028094c1774887641ee2..6d1ef815d04d58dd8a2213e012ef34ae557c34a5 100644 GIT binary patch delta 207 zcmey;$M~g>aYH8~qsZni#&3+1Kd@#o@=UH}u4d(BU|>j|{E;<*GbJa7jSt9+pWMhC z1LpAqc_~0%;^Y~u5tB_=GgyUyBI!Vp*v)&`%$eCDp3TzKa^C!t(~OBNS7PHDDW}b* zJRgJ@n>MS-OE3Z{dxcfPJd901U70}4$kM!dz4Zge$)`;dfs(preoTx_lWQ#QFtJR8 iNVr&oB$io+0VOv7we<&4z77E(YMzq^haYH8~qv+-?#&3*_Ws@73VqIV)APBHbhKTjs<^s+7YwOPhqUBCSe>{50_Dyyhm~?=Wu?#@K1jI6o n3=AjYfY^b7At=}-cva4%wBMIc`>uQ8YLsH`9h_RSJ*pP1OeTn3?uj>3~K*s!ny)iH3w zIMP54Tt*jJ#td1;1IYOW)sx`_G+GNN00JOeU;xC<0TNPB0d%=Gpnx`-+!Q@SM% zS|~(YTWK0o72BpNAbgpf1)ls0J!k&jJ3F&1YGWM@Gjq?q=iKw}cg~%CwYgJsOMket$?h)kRUKlMMRaa5>Z)f6C61}LPO+U1=pbeR1%qhnt$E=$7WX z3T`Eut(@>*gW2ICVPQPYuE&o93awdabDW1)C}b2RkJ4$T*!B1^Z}Pc7p%QR~ecAPM z;2f}%0`tk7B2kMyf~>y2KIN2Kvu(|(f0%3mhj$+?HD2EKp1jz5df$6|ud#hyrl0C- zT~~F?S&b9LA2k%_5RRc+H_oEJE;ZGzIS&95RN8<&suWIc7PuIpRHr z);p9LI?yviAz2w=0zBfs$V6cxwCpI?&gnsPu9F=Yu=S-X}zM& zsl%pQ^#%I2Nv8SUh-?vo*eo**3BpQaOf!n1OI$(?;`AzKW}$4JcFL|o^1XxBR;wB% z)=?eKA2DMid%Q@HWBg7Ewn`sa)W;(fe25a8wT0@ zdE&YdJm}P-%N^{1pnCU0C|S%=T*Cc_HeQ*Z8e?U3P}66EB?IxIRM_%hCdvg@fRJqZ z2)H)J7RrkSZ~O7y%P0G*SN1o*E%Yi!`+FgvC=dKN$Sgy4J486L$|3=`u zTnE`EozR&Rz<7quB6^3a=sql6sM(SaMkzmf-1o8$bq;U~CUnS zHOsapSy)K(2_&{N1O)DQjpoKH(25gmn$KwtfoDJ!PSjyCRV#}SAwy+w^7G42Qf(6n zmy$m)6TLEs{p~o>)u9T}X9(6XA>E9Cm~ue4 zYRF-(o4?K{3o9kSJL34q0%dRews&Q%`RhXSCjf;2Lf{)!_@T$g!;CbB{-%WCHB`}P znY`wq$*Cs-QSc@C6^8^%q*}O+I;^OlY*$ObDkv$s0DSd|Je097)ID`VDFl{mY+T*H zd$0M|9q-Z7?jOHlKm6>^y=xD>uYYf@?lf;gtGuzlxxDxIfw!>rYHJ0$eKIr2XfW@847J4w5j88Uo?N7;Yq^iV4*<>@z?$?$pxfmsIMte#P&U_p}B- z0OXrZwpV`T65F4*Yd)!?ITOkUIJzE_~mH4wkv3<*4f)p|STpH1X_E^qY4J(E=Z literal 7783 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 diff --git a/FindLine/bin/Debug/CommonMethods.dll b/FindLine/bin/Debug/CommonMethods.dll index 998e514af874a09b563d7c287adc6fa063761e75..11b7275acb7e9d3abac23f36af961a1223c3ce1a 100644 GIT binary patch literal 15872 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 diff --git a/FindLine/bin/Debug/CommonMethods.pdb b/FindLine/bin/Debug/CommonMethods.pdb index 557a6bab51fc377e61fea2ab0af01a0575138b44..13bff778da7ebd9e3d389131d13d8268f5b821f7 100644 GIT binary patch delta 7316 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 nT8e6+I0t$+gmc~vnHbE&UM43@w_mB9Z2V4I8S diff --git a/FindLine/bin/Debug/DataStruct.dll b/FindLine/bin/Debug/DataStruct.dll index 9179ad7244bcbee0b9522dadaf731fb43ef6c1f4..4fad34e133eb1aa408d2bfba5cb2e49a2c716354 100644 GIT binary patch delta 66 zcmZqBY0#O_!TgM~XJhwSZh_=xyX9xH4mi#7@_f#j)qP-d22TScNOtmTUP*y3JUf}D VO166M%#Xehv$bA+vk2cCb^x!T8^r(s delta 66 zcmZqBY0#O_!EC-EXk+(TZh@qR-wCSoQ=FE&7Ym=b@&EGX44wu?knH5wypjR}%l2j5 V7ChkF>nHIuqrWn3vk2cCb^x`z98~}S diff --git a/FindLine/bin/Debug/DataStruct.pdb b/FindLine/bin/Debug/DataStruct.pdb index ba9646588d834d483b328deb84397706c60e90d3..13e05314f6abfb00e3da7da54958634661444a13 100644 GIT binary patch delta 124 zcmZq3X~@~Y!X@#HvnQ63fq~%*&rYVPlC9o5^P?}sY^|5yEW`DNo1^8FWfybFRmRB+ z6%95!h+Puoin$3?%&^1sx7KDEjW|}OCsmVcbfwszR6PU=drxlE6`#CCHvo^ZdQaE^ D(9kT5 delta 119 zcmZq3X~@~Y!X;t8At;uSfq_9_*}jb1f(Lwi{Um;7^jD^Bmf?EC%^{n&Ytog#tBjKu zDjIBd5W6HeF@S55631p0jWAXw28PKsx>D>63=e_&y(c&7ica378-&M1y(jDdp8_b% diff --git a/FindLine/bin/Debug/FindLineTool.dll b/FindLine/bin/Debug/FindLineTool.dll index 9a6e389e6080ff20314a5c8aeee3b224ba164da1..c89895ed0a2a8fbf5927fc42317de7eb9b970e69 100644 GIT binary patch delta 68 zcmZo@U}|V!n$W?Vbg_41_t{v1gF#1&Pp0zt^f`-*uX&KnyE!B7izG;Pa(soPK+vUw XTa)u_0(<_t{v1vdgQad(6w+cd%tjPru`wzBwcAizG;Pa(soPfOljEGc{EzTezYQNa!X&7d6? diff --git a/FindLine/bin/Debug/FindLineTool.pdb b/FindLine/bin/Debug/FindLineTool.pdb index 06c8b4dbf51f8cfa6b975bdfb835ed0a77f8bf09..4b7d93dc2e4ecec722759a9c785786a6565f0da0 100644 GIT binary patch delta 1426 zcmZqZVQT1M+Q7mkk#w;)mXU#hA?VVmkyW6kI$>TQ-z=H?%e3OhH){67z;<^hFR>wrB@jzZ!8y{7$7^@L8^i!#98_L<~>rX z+AP9M4UL8kj^*UF0Vmk` znVQTPTgxZc1U_U@W@=cpIWcIXB$x0)pl=u^GVfZjStjQdXMNsB9iaa>L4shA_YuZo zWXSty3Y61?2>|&pCP*$0kG^!E96L-gn!Y@s90yFU9!;_gkH%VLjcEE>@#yQpqpyAn zP*NS{8Z<+91LY)f$Xx--nZUh>8ZsQf;5-GChX7Q$OI!>LS7A~NdG#nkx}2MVAqgRg zBFD+Yz)*$N&?g_8c^Mc=q52pZwl9Dg!N~CB;}4)*Dh|2-|2H#La4-TB0Z0MR0w_Rr zGDtiTCWRJ6xj=DT31k{j4p+jOkE{ zVg~eZ>jFwDfFytbU2YXn&J!YqA@><5w+R|g==zolFfeSzl&c3C^5kQb5U`lRVdxq> za{uti1qkCda}iKZA8a4c|L88g2$#f^V-R6rP{QF*C7_%(4mn?-+!|SkB(i->n_H{v LneY^~bx+s<(_03` delta 1084 zcmZqZVQT1M+Q7mkVX+}7mXU#hK|Lm_zq8%bfAgPMmXy77-*1-T(%};Jy%HXMyWG)J z_f^W$1xoX|82?IbbX?20m_v+(EnCib@|D2Jd{V1e%%)ekZQdiLs?8$8)X=v1sp|r^ z$#0d}H~08lW%dzgbYcu(tYB>DWNO&P)bNh6y_>Q9J!AVf#*TfAeTx|T)-d+(Wb8l1 zIMtG=DVniqA!E}+#%4vv=2WJMR!q|-FizjfI75bMW)$O`wUgHdoM0DVYI0y~oiMp3 z@F9yTQ^U&5i9s7BCkC*wFakZYStjQdCmREU4v;;WFIo%*((~3N;N`35fjzD3^*uZc_yp zBh-;RFiU~fFeJh_xj+s)Ag2L2@F1R#EOP=`<|4ApFQ`mC$SKS~LK8?MgIGQW23@EC zy3@OWatb))RsrQaamalJ%58!g2Bqr3N1rMLcp0A`A>lIP@t2<+Rb|#DM}J%YA{8Yh)p^ApYi>>JBD6 Jg+kpEb^xK~l_CHD diff --git a/FindLine/bin/Debug/HalconWindow.exe b/FindLine/bin/Debug/HalconWindow.exe index bd0485e93153faecfe16102c6d94e17ce5f671a2..cd7cd1ae8bd407ee257eba2c796b045cba29b345 100644 GIT binary patch literal 67584 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 literal 66048 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 i+bAjI@k6MINPm2Q_Dhe)oqzuR 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 W!ry1EvlNsfAH?d0Z9c(i!2tl$dmQut delta 66 zcmZorX;7Ka!EC-EXk+(Yc7a)|Is2!~Iq%qAb2s&`)x3$DBRE_bL9&zQb4m&b%2qIm VTu*TCPoG{k?~w1s%_lf5H~^J08t?!B diff --git a/FindLine/bin/Debug/ToolBase.pdb b/FindLine/bin/Debug/ToolBase.pdb index 221e97e467fbacd5cfb7c21eb57d0b5a86cda02f..cb221d8f2f18ac2cf512ed7b27c190ec973b1a33 100644 GIT binary patch delta 67 ycmZp$X|UPA!X@#XvnQ63fq`LO+UbWA{yuY^rJxk~AXYbQvkcb@PCT+APdEW+Vj6D% delta 67 ycmZp$X|UPA!X;t8At;uSfq_9#wt`9IdV+g@`t-7ShkP$?mf?EAiAPrC2`2!^2^OUQ diff --git a/FindLine/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/FindLine/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 114b649143aa934815897c8bbf59bf0cef93e0a3..42766efc90f07e27e03cf7f326ca2f6ecb5decd1 100644 GIT binary patch delta 178 zcmca%al>N6Qf_f~tC+CN;>`R!*Obf>1atBp?k70qw(}U`l>5(9jZ1FxMBc|NI3>G< NCb8j^G?7$c1^_n;L$&|_ delta 178 zcmca%al>N6Qf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)o|xS!yZ+s=cH7>c$ V6L}xA;FRnZn#6`v(nL~)833;FLR0_% diff --git a/FindLine/obj/Debug/FindLineTool.csproj.FileListAbsolute.txt b/FindLine/obj/Debug/FindLineTool.csproj.FileListAbsolute.txt index 31085612dabc2e393bd2d98f83589acc9007821b..45151c704cb354fa068364399962f2cf6b280cf1 100644 GIT binary patch literal 2902 zcmeHI-%ndr9H+1<7P?g&mQ8_yGPZOSN4A1=L80ZBWgUaAu&svOdwZaT+k08>Eo=Qn zq7Nn}#u(kh5;aSFFuX0|+gz3)ChlP@(Pbk(Eb-AN{{=taelJ%@B;mSOo6q<2{c(EE z`JV6jo>o5iin!qV>+YQjd|ZPalhUk+3lq-Rxk!wHTc0?-1o)&p_&mgHeVIex#`8X~ zd*;cFS`s_%-o-Y2zb1 z+zaas_Dm@4=oNP4Yhf7YAe1|!e<24Wk^s%qoTRlQk2ZC7(F#C4M5*8Zz}jUFZshly z;7Uk8PF=(0_rZ=*varDuxT#2m+)UltxXNL}LRcsh$ z_O;{S%{Kz?o@xXhTa9>Zg{Z57Wn-TsH=UHb^?|l z^ztc*VB8;wiD_8tA2+B_)W=kOV0@vbwu((U$>n;w7zVWtKw0$A>u(F+{~T%v0@N;m zHm)Zw7T5got&orG~YIN|1ZB5$x|h1>O!?(BBg}Yb^?|&`qa#9kTf$Xbb}EX9adY zUZtdgBM^F!R)L=7Xg8%=UV@HuHObMn+eK<3uV<(?m7I*|X^~21jjXN>rn6>37-niH ztEI=Xnn=l6Efp1VVa^UEbX^UmRrM)mFQ#Q@vm<&gr)y`0nbFgR^Ub4@DNUOBf?_(K zn~_vS*V4MFiT^Nrq&#~H)zq&AMNv3AHkEonGKBN2cNWZXy|)$2@!TCpc0AiYvg4UM zE~=Q@Q-A96{J(X#Vl3wM`3Yg@>XPU;43U%7(u9~5d7&vHs7Oj?PdB;C@JVXa=25?NA{?QZ{vA;e?FC=nnG9dvnGA-< z(HF5{3;}-tleV_>)YzH(-dF5%5*VQ(4Xk18F-Y)rAG{4<8_iu3F_z8cwZR>z03JJB zeyBF@0SXKK5UQfUy0$f;#J`rV`zxN%@!_Wd=mXXXtd9lP)iFrEXT+y0zgk$clHsdp zBEZoB$IgR*_u4v$KeUN-l5QqogR)|GJD^XE8~cBxfI(|*?2$uMt7<>=lvV}0mxP}l zFEVt8fEB-E6%NmXfS_mag+tn)h64IQ$H{}b)X1aO)qmhYAuX^X44z=^I!VJ!D5)h! zA=gVQJB)_Ov&w${0zn0TO1H6zV*)b!5ACVKliybLh%M!+!w=W9VXee0;xgF}tezys z-z$Ghkq@*xPS z*qseLFAF}m$xs2Shr`mILUGu^%i7;Z0T1!mnHQBa7b7f$_>@cjs6Hc1qieB0d(xlA;AQetR}BSv(JB4 z7Q-Zvz({`i;~oeD)3D+sg}_8EkAFKEu;_f^ECiyYJ`Mcr;}SkN7jyX{Ohqwb2siE><%|#r}a-&H2H9z!p zPDOsdZ+QN8Qae}HsX~S1FQ9yZ`offg;oz_2-cjRo02Hu31)gHzHdyF+0<8r}9nTj! zG?b;Yk&-W>7dSRee5i)F> z7+EE*0GX2|c=TbSzC5-pY!T09X=*udo*)n`z}UR`iGnyIkou#zl96%y=4Hy)xtSQJ zO+K$GzIlPZBMVbA!{*1v%bA!Mmx9ICn(bxbVcZV1z6*#MS$1qz41B;i*~c~!sCk`j z7!wyr4g^^CK&0L|#sj7Nocx%8)La)I5cSF}07O}P=7FeH-o7B}hp#>FX2cU%xr>F4Y$6Q-`vU7#mM?S z1jw8$!K2T{y9X@l%VWy|V^0tW7GRvR`H6x!Bje)De-u|TPCl!}v3afX1#T|>DL{Kb zfN68BeiRE6E92&y#><(w_!mQjf#MBj*H|_uSUWQTb#XH8+RPvEfN^rKeJ+T*nc2Ys zBEAnIuIrKtR(1fwt#L~RD|_MQ0amuz(lZUhSmEsoVsLE!>TAKv#m~wJv5#r9ZuBW8 E0B00pBme*a diff --git a/FindLine/obj/Debug/FindLineTool.dll b/FindLine/obj/Debug/FindLineTool.dll index 9a6e389e6080ff20314a5c8aeee3b224ba164da1..c89895ed0a2a8fbf5927fc42317de7eb9b970e69 100644 GIT binary patch delta 68 zcmZo@U}|V!n$W?Vbg_41_t{v1gF#1&Pp0zt^f`-*uX&KnyE!B7izG;Pa(soPK+vUw XTa)u_0(<_t{v1vdgQad(6w+cd%tjPru`wzBwcAizG;Pa(soPfOljEGc{EzTezYQNa!X&7d6? diff --git a/FindLine/obj/Debug/FindLineTool.pdb b/FindLine/obj/Debug/FindLineTool.pdb index 06c8b4dbf51f8cfa6b975bdfb835ed0a77f8bf09..4b7d93dc2e4ecec722759a9c785786a6565f0da0 100644 GIT binary patch delta 1426 zcmZqZVQT1M+Q7mkk#w;)mXU#hA?VVmkyW6kI$>TQ-z=H?%e3OhH){67z;<^hFR>wrB@jzZ!8y{7$7^@L8^i!#98_L<~>rX z+AP9M4UL8kj^*UF0Vmk` znVQTPTgxZc1U_U@W@=cpIWcIXB$x0)pl=u^GVfZjStjQdXMNsB9iaa>L4shA_YuZo zWXSty3Y61?2>|&pCP*$0kG^!E96L-gn!Y@s90yFU9!;_gkH%VLjcEE>@#yQpqpyAn zP*NS{8Z<+91LY)f$Xx--nZUh>8ZsQf;5-GChX7Q$OI!>LS7A~NdG#nkx}2MVAqgRg zBFD+Yz)*$N&?g_8c^Mc=q52pZwl9Dg!N~CB;}4)*Dh|2-|2H#La4-TB0Z0MR0w_Rr zGDtiTCWRJ6xj=DT31k{j4p+jOkE{ zVg~eZ>jFwDfFytbU2YXn&J!YqA@><5w+R|g==zolFfeSzl&c3C^5kQb5U`lRVdxq> za{uti1qkCda}iKZA8a4c|L88g2$#f^V-R6rP{QF*C7_%(4mn?-+!|SkB(i->n_H{v LneY^~bx+s<(_03` delta 1084 zcmZqZVQT1M+Q7mkVX+}7mXU#hK|Lm_zq8%bfAgPMmXy77-*1-T(%};Jy%HXMyWG)J z_f^W$1xoX|82?IbbX?20m_v+(EnCib@|D2Jd{V1e%%)ekZQdiLs?8$8)X=v1sp|r^ z$#0d}H~08lW%dzgbYcu(tYB>DWNO&P)bNh6y_>Q9J!AVf#*TfAeTx|T)-d+(Wb8l1 zIMtG=DVniqA!E}+#%4vv=2WJMR!q|-FizjfI75bMW)$O`wUgHdoM0DVYI0y~oiMp3 z@F9yTQ^U&5i9s7BCkC*wFakZYStjQdCmREU4v;;WFIo%*((~3N;N`35fjzD3^*uZc_yp zBh-;RFiU~fFeJh_xj+s)Ag2L2@F1R#EOP=`<|4ApFQ`mC$SKS~LK8?MgIGQW23@EC zy3@OWatb))RsrQaamalJ%58!g2Bqr3N1rMLcp0A`A>lIP@t2<+Rb|#DM}J%YA{8Yh)p^ApYi>>JBD6 Jg+kpEb^xK~l_CHD diff --git a/FindLine/obj/Debug/build.force b/FindLine/obj/Debug/build.force new file mode 100644 index 0000000..e69de29 diff --git a/HalconTool/bin/Debug/CommonMethods.dll b/HalconTool/bin/Debug/CommonMethods.dll index 998e514af874a09b563d7c287adc6fa063761e75..11b7275acb7e9d3abac23f36af961a1223c3ce1a 100644 GIT binary patch literal 15872 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 diff --git a/HalconTool/bin/Debug/CommonMethods.pdb b/HalconTool/bin/Debug/CommonMethods.pdb index 557a6bab51fc377e61fea2ab0af01a0575138b44..13bff778da7ebd9e3d389131d13d8268f5b821f7 100644 GIT binary patch delta 7316 zcmaJ`3vg6L7JdCP@8v@hX828p$&gGw1PLLT4EYftBuf+mfs6(v7Qe|q5abtD@E54U zEfH{&T&aaB5!e!4t3(M=OKKMv3a}Kh3M{l_F}q2LyTF2ip9QPf&7SV*H}eQ)-qd}4 zU!Qw#-@f;Dzt3#mp>Dp;Iwr&wD~giLaKbUQ$E|98r&CSN%&{&E~R)-h1`wdGA~uJ+mh<=JK%4s;HQ| z(R>U=xf=~T-?6T-QR;JyI-i_KD>u4(7LLtho?!tAWsYpS(4Lb#Z{jfkAEN^FAehL` z((SUi#Hbi9H|OvP0a zAOjs9M9%@`x$~P)t3*?6ubFze;}|*BN!GL|+m|L}gn>9(k>TmMa$=&!SR;ezeu*wO zp`!%anU-ohXzCqp=ujWVvcpHin%zJg(=>M{C1Yvb8!6Aks9RmlaxN$t3gvgLrcIR_4?P};NodjPO*k8 z=%dj$icaKYXo$M*q8sQ(r1dn)@)T=`tUifWc?vW{QTNiD;1Dsrn7##vDCuS7&MnZ! zfUBS-xg{FnqxK1GHOyOIPU+raZ7jHEYVanpW_sTHZ_SD8BeY>k>H|kG z>p+YnY%gHm=Rgl4UOmD7Km|w8i7CHfV@b>NYKhQ}py_$3EQ0)bcAEt{MxLOm7_y&1 z)&<#W((*G{HD%@7*+SZs_XzCl$@gmGfbFC6`5BIVK?@PKD~NOsLd+NOekt8hki zZ-JBc7g*UD>MqD+pW`}{T?Fr>v_dQE7kCx8E26Ke&_bIFV^yT*rNW8qw&=V7cz_Fb z6|)oKw$Y)D=VY5 zQ!`lw?Zw$A1TI6MCLmxfwzB2qF3v>ID~q?YBXqI&&uWBDe=COhY5Nfo-}HCbz8*Fs zLM6+rM9qzW*eHEgftCU;f&Ac7!6nn)StVK;xD4tCmkutQ(#wlu$Aim9k@E1Qk zxjb3RK<5lPSYDt_09Q`^;2r>1Nv;PAw29!VsRkT&DSa{R0yha<9i0c41#Tt9JyfDi z2DgrU;IhFzMZ3V|fZIYB!Fj-KBiHN_Ef-t|`Dd5Jdco~BoY}d;PA6x(wJGS_M^_=3 z2ks5Zn&Z{-!M#ll;0nOKPkZN-XocX8Q9rmMaHlD~!mDBX($CToaM-H!3$&}ESf2*& zQY0;%>!9x|+&Xq0{hLS{Gq+5i0rnb4%JdSjKSa{&bH}M@KAQVK)fOqT+BeV266n^v zOqNWp%1o94-bwY9Ry8{y&{1h+`E&r#4EhY`av?BkzE!OZ2+W*s<%yf0$rjVIIM)e* zQxI4g5V#3}b;K5AvZp8u=Pg2@ZGlzY77*CKz{)zP8_;g*#d)6)NUO4{Zv+IYs;um7 z@>gZD_h~22$ArKI2%HuIT|O&2OEzC7yFk-%z9jIiKC6mIh}wm~HPLz4XQ4h{ERVu> zzKrXL1!uJ5$D6Zu}>ZbeGKXYS+H3qf@Xpif!2Ut0PP2T0QwsA6DR>Y zX%1)+XbosL=rHJ1Y-j1CUDe5Y63@9#FIG>*p5m`g)sxZjqv#mHH$4?I{sC(PRii-e z%jz-}=-7qp;=hKOo1iG{(1~%KrHx&WM(KUHr}Rb8>x)v#YA|uWs&>lOhcNN$N=%lw zw=g;0_QFlxx};pcl*`lUkB^Oy-YGA)(3VAZcZ<9_DBEA;z0UJ_b+i1Bb^SdPPKZ+A?J@QUylP}h+aUWr^hwQQcawd>&S(4ocacapN&;On~<)ZCYj;A2*{h z(z|+r9$ID(dFKzIuL!hvnLRG(do8xb&QiO@|CZ-pJ&DV2GPo93YcgIJ8rq7g!*hSF z6OYi+v3f-rCx@QLQKgCAsdZ3CttI3DCS}O%5Ec&ACWS0ChS0OpLQxjsRGD1Ywt8JK9)UhNnyE&ru_YnN z4WSD1)P^c35u1QYYt3j~D3+H6dZ57+%leRyhq2UE`l7*(@mp^eMXD-R{mp_bvHIbj1ZBt8%leUP}( zGMrhcv}L4rSM-fu5z2uV6<~}z6QyAxpBXh(z*d3oG^3^p_*kGfXWOZ7MXcY5q8Ir$ zcGFm_n?Mv>Th?Q1H}>X0e_)1QRD>bV*A$|F8opOv^i%hWks5#XM@6kP%?4Fr%;va2 z513I@g<+k)!dj?zr9BusuW9F>CeXN66N-8;EVl`CdTS_qUS!@t-{mN>SJLWo1$a5P zx=?O@5*8BYI_X?%Y_Mv*r~xB;)3Exvm2r6Ov95~6gO{|@5ZZ~h3YmL%qClUNZ4AjG zJ$Oy`uNs*jAuV}KXfsC#?P-C&fTi4=&eC)3S0+MC989?~@gz*b0eLMMG#onv3>%a< zu>67t$373EcQK4!e|s3kD`6CGhS9qnMvs5RG*7VImUltiJ-X9hE@9I)nN|{Dv5Kx2V!R7tC5q;y}eHCGR z_1))dK$Gj${F)w5B?p&>QEUcQAw3ve!~7$fZwM>`aTp4#1~wOZ4z4@cDE}rlm!4f? zZ@&f(Z${$4og#Q}jUR#GJDNBKV>VQeQ9u!xo)i-!B>*rAb}*KFuU`8-iWy-Pv+q^B zM~{D{8fw59Vf4x)k)5FwE5j&OhZ%5j7`?i|dd5QM;a(X=aou1=8E>xlR2aQ2Vf3~E zYX^yAaGpBCDDv-cL+R}cqxZ)BdV%@#S-c%a@%{T1h0|Q`SQx$2Vf4-lJsJPOv%e5V z@lu!pzX_vv?bq~LF#|q}9{|S4HD-23#q)n07l0Js5jn^ItcsGdMjvl2xQlZ+757&r ze_S4qB7%O4KeYDqKeX_ozI|gF8%BpW=5)na97Fv*#(G>&Sy(A{0VM{+-FObf4;u(B zivt^!vH`@mkq<#!HU-2N7U%I7Ma--1Bf%wuR>2JS=n}+v%a0Gy_Z8a3CYk`gIaX0# z#!zqJUk&~ad=5kMeSZo*V&U;p=yUJz=%?TTQNbgff=77;k7mLJ5t`=L`YU`}x)Y19<&pG?O`(Ew~ z;%HZu9NgLWp0odZ@AG}`x#vDtv@~>ebayoMR4$&e__Wh1S6q5t<=p92Rl^TIzUI=1 zP~!fJ7IV2ErHCk6=-J@kcR>mCy*?NY$!8y5a>1uw_~pM<+_uo)A93$TuC8c$s^Z&IqiFxI+Hdb0 zGxqiOe`(~3oBz~N+i=tDHOGWvx+CiP*`1%htaj4y&);|N+*$ihy!zo^9U3M0&d%jq zRsW}5-}cD(E5=_r?Z*|hpSg3^AAWc0{N{Id$s8Kqzg6}B)URuA`A*MkKYI4+tA>2K zboicmD@QaP8YTG7&gENG|I@$n!RnL#_XAC@oj>mDkKFu|uU~P^H@3X9OXkq>e%#?c zzs3)(+#kBReeL(J{az39f6$-v&RTW(rHeZn)2l9T>2B$0U((ppQS020L>5Kn8H9*BDW=;D$bwp0R`%)j z4@x%P3gfbBX(qekrF*ZItXiP-DlIOn)@-s2=*b>9**k-1YRu9j&eD zh8`xA?&(X@?dh(ThG`?~3M_1){c^U|(p zX>aVfwtM<{9bIiqKwj6f`qqYy_L`2K3)50|d{pW3$&m&d_@YLiC5}0iMdwDPrB5vU z_4mJa)sJg;O)M|@)|Ve$11wq*)kL%4r2v)hkr0>BVTvn@hUh+ZTvT$Ui!Y1L3FUdD zItJlxfkGHcc`oPLmFK#2`|A3xu8wP0<7Q9ChOX6{S{r@&)*+BVSXh%c|9LBy_5Y%} zbXzC-P9|^C8Bc5OSgq7WvLN#(AtS%@WHzo|o^D^)(@gwS()Gr#ApPoeSBICWZEtL8 zNUL~VSt?rvvNe~4G+ghOwwSn6v7urqz)@38%c$HdS{j`z&R3Ohf!rk>*RGsNv`Zh> zKb@wQOV_NFfLB#Iyq3HL>B48zkLaIH38Xg(uRgGy0&hmaMDCx4RQ_Yg-;waR-bM;n z?aMItka!j{)c_20)B!Miz`O^U8)F!?yMgSKQbALZ`Cbg8hBFXm9+HwJ5 zfLTD}viux<0L*;>(;LHRFL5B>o(`Dr$1tN0fEh+ZoQupn6q|3y9ssidOdm2EW0rEoZDl3fzEJYf^3=zUO?~XA zsaqaOef+DbPu!cj_14sFA1b+HV(QL{)b>58yPqn#{dW2C2lQ@%#!El{Y%Wk=at$9& zd&nq{)Nw}b>36?>Eu;FTE;6daG4SKzlyl|;IB}UtaLK7XQkI$W=^QoS`0d0iOhlJ_K`%Nrmqi)%+gWh=Ca(HE1AbEAVBGyQ z_-x`yb6kD$Ozsy2z6?Hx`-|Z7;FrVa!`}}lF4F{G32%d63h#l}!F%D_;GNuG z2fqfc0`G$N!n@&j!pVE)@8FXEJp5YjzYM3%WFCQE2mc!UdiXQ&55j*2m;7G%X6|2v z-vHOx^C9?t_}{|E(cd%tR|%K=>F{3e&xGFy*SK>N{A@UFH?tQ0VR#xY`7ZcJxW68L zGhAa1b(6Ufz776G_($Pif=m7z@Q-u<&*A=Y_$Rpk9-O+&{3^u%22P!3_QCIf{}FyC z{AKud_@Ci-;p)*00-xl53|#t8f#1#j6!@p%Q{nf(XToV4nOX49z~{sN0hj*+{zdM8 z4j2B{@CUg64g5j)KKPg6e}X>**RdViRAvZ+#aH2)2mTR06s~-Y4tzdb`l{hOh+hhS z1b!j>Yw*k9kHX&v|0j4F{&jd8{2TBM@SX4*;E%yS4F4wl?E;J(k# zpr22HrqNd~hEJyNo)cBm;)gTZoX%P+$ER^U8=41IhU@Y0_e0YdSI&iN>=^4f%^ki{ zEW}T8*Q2piK~I+K@Mv5Nx5&kL`FQ-&Sp4Le{M=Z4Wh{Puk@)r^@duV4#R|pyrTndN z*Au9c{?{^?isOCQb1G@3FW9nEm^Dw76!S*1o6!tiJUq%v07 zj|-%+S><0y$MEETc%*S>7^LSmg^`|7J`q~n7#U&)*(V`|)9v+ZThnemYq-uJuQp(T>$2Y%t~(z$C)i`Gav^SyIlSzThLb&Q$z53A zmPS(R6T|Ke*tpHZ!Tyh7WwQu<IOPyQ~??N`}VrDQw+!orQMS1Z>>ykzmUWYj$H; zE2p~?><$N8VOYy=$gAP@B-k7QZmi+VW>UC>^UDje{GYlKI8>?Hx?@q8i3j7?y$89IzhcW*t#PfYL_;Uxq3 zXIQhHfPFQ=?y+E38P@Fb2qMGr`qp!wLOjo7!8RDy?8dOR&#^gRo8hN7^mMRr);>TDabuB}tfl`o?VqV!W*z9c zlyOPbrukl7R@wJBKc9>Z6>%}~7FgAkJ!R#wG~E-Lu`8206g&+{-ego(TZ!8Pok#rB z0jqr$>BPR{y5?EO+4t@04eaINKVvtm9REzMe58&mxq3{hWMn)a&n4vJZ@^5zCpR>c zkI*e#K2Ajb9!U8x8RcUoad$(?$Hahr8}spA%ZH6i4~2$(0ro9al8+6Rk4w^R9UIfG zN@_3i?euy4Z3ZWd$tf=<64waT62Gw^FI3T6RVO7@C%RCbSY9@9i z7BVBBci``AaKf0J;`b6?MZEIz-M2q4@3p-A0ecf5zrIRk$1Sxf#$Fegui3Xa+3kf$ z)~~5j*>Sp1_LOK+R@SehlJznlW=>`|)_m~mrewX6oy4=5$@+CtvR>w!%mkh(@cadKt&_%E7OFlJ!b9UJib}ldPA1oT;Q1%m=@|N!Babi9EZStY6P0 z>pcb8Q+cvAS-*Bk)+^c5cpfuZzfMWkJE_12za~l6E7_?$`|lER`XX8Hi~=A0dLmh`WM{B5XL|kmAzAMk1^)VVLb6`T#{Ko{fn>dNk)6h~ zwfW%Z{$#z9oym@&WVb+m9#3WGe+^NaAO)VSG7P0||B&HE`~Mk@ZSR4zR?@pu+LqgU zM`y&ki2W@1Lb%4IYIu2cf_vT`4j)e69Ue`D>{g4S~;^RBcieSDtpe$Gtxojq9R`xWrG?^kj!->-se=fr%!ntNG! zFI>J0C*Q^6zOUk5zP}IN-}l+1$oHu(FJ~|djf)?z9&i7N{&D^WhTHx|PINFipDsSac>&Fie-`{8DQa+#Ne2$m5WYtdO zZy$!W&#yUAA?|M{dgbpm@VLKS+{@o?c-&teWt_jPtDV2X$zSofzZ<#l@9!KW<*)Xg zMlcHG%2={5lQs;xLqddSAj-$}JC*NFXb-dxD#htaXda~ZsIAae=ssvCq~~evIkTXM zPK0JdE1_mc&#w1Deb6(|erP0_uY&Yk*a&Tg?uK?idM~#Z8di!;s0LaEWgxw~-3jf1 zUWD{6>O^QZv>a-L^xkMYv;*1=?S=l50k^WxU^OZe0`pup5T&Y)T#}xjTJ+3X+g86W z?T;amrZtrGNXW2~|4Tp5xbp)A@BH=7JGkb!u5(%NYszyD^qfN*Q2s_jT)F}&rBu{c zQYW&?CdQs))xH!YXMyW7m5WQ#Gi1(zY#B~JkPm>>uANQv$)@^nT`;0PY-O(|v@FEq zb4GT_yqkYU!8P9;4d=N>d$bupKF>yGIdqEaf6`qAdB0QH{3u@&AO-d%obItfhxAxK z{gBIS*bAntG^Q_r)ducrjmuI-tMHHZs`1ujNim(3!=Rj2wtXFbD~8*L)?JQgq- zqb*DXJKwNs_XSw%GrIyHZueBMiwrBfHLF`VSG1_T@lwvoG^7QI_dD-k{{Gb@bSyI+ zvR_1p?H^T#HXHY2GCK6!p3Of;R4++)Z)o*np!31-nShU%!4&XU7+yXk;H~_3CD@+| zezoCM4sG?D?7&XE{P!o=W}RNvWLViQg4O(|fM_;M1KVy`*=(y8#$o>IzJeuIgEOh+6>5w1o zoTAoYxO3A@9bIXi$j)o``xE?N%~oL|yAtg2 zd|37q!^vJlN9*PFts7$5&dWDLu?z8h^K4o6pQb~$i|8=_=LH==vVl3F?3bn^_+e#k zxXuLIJiC_t)^NeL;cUFzkzkMK-m?EToa}YAtZVLB+}hHxenq-{gUhqwUreyO5d5o# zm)!*Xx%R#jIfcO7bv5`>3Nbt0=i?XkoZDL8zTVfn>B$5I@v>ipo+C_8e?Ri{*!zQ> zLBZi+Y?DLhqUUJS6MKK4aV|r=WG(&8uD5M~ji0~$OP$G8-#ys(3@Rq!v_@rp68ZH> z@_vrisN>luFw}yn6HVda_>0#_P?`rN3-b0v{d}FQSF-W_NIx$p>t(FX+c)&{Z?ay= z+PLN`kAbs z2b1+KMRqB>Nha&(zGS_UUCwzellAjmvfc}jJ&UJollAjjvR=t9lc2`O4cjcc)#%TRI=X7k&U-?KPM&YmF!%0g3Vt)|0L_xe&&2mXq&8`W0Lhs*4oaa zv@<_Xq}-grEzkM6J>gNv9>%@KDz5e1@Ae5!fmd>`v4(Mhw-lTkg{uuS$GQFK<#4qT z_Ec$ooWF#t4%*<9*-bjnsXUhRUg#or4a*si%h|u4OZ$5d^?w#`M3-{{^+HaaUdBnx zWlfU&;!up(6i8fXk@v6Pq-Z332lXTK)azAp<#z}t_`YznxPDIKeP*a4%!cmJc93! zplaw!Xfw1O+6nD}_Cngs84FcGbx?5>3shNeL(r1j)*p>QKUvI% zleLba>|FVW^~b^NRk6q9_NvUr?x0zF^cHAiWyib)Hq?b4&)Trr;F;S<7OxWZGW5U+Zl`f(Qi5(Uq0idh=%YY1yxT* zRo9pCNBp}bo=9xuWN z61abFoja#79%0FE3wpK%y}iNDC(N&4*Peau3isE9^c#ZT6~WGv=#<`}LI2qyKd&%` zD1J(iPgy>L{ZEB_+z|8+4f%g1l+zai{`Qd14+lF>2HcX6ZhLIy;rhzx z$6bNn8}zjVK05HnLOx~&+_>PM&gv^aY?eEISIE!p!Qaz^-Q$A4*M#`_fnOZ-zYz4N zgMK?x_e9Y5y&&Hb^j#M8ogVP>1HLVA=M!l!1i8n8oX)%}ZG7MlhV=4qZ+lb~p*(&Y za7#kE?O7}e>7NbxZV9|C=$je%nW3C|gWul{d_`zC6@fn)^rZss=OMoj2L9QQuP2QM ze`-T{-4OVvLi`iKZaVN3@g5}F3-{cH`S?~YeN&CuP@{m>3b`{BExr=jPdeNZV`R-4j$+sTmjuB)Nt z(3Malq&?})&{k+WbRVR>=AF>v&>rYnXfO0K6wxP+gvLS>pekqqr1!mb&>E-}+63JO z>HEzGAno7wK|h3^fu4snhw2>eFlz4@s1lk6>3nSsv=Y+$;by1@%0Rb3dRKfuv;*1& z?S}Nd<8#nHXg^d+9~}wl9r9#I?~%1vsdvd&LVBOv3F)2kR!Hxa?}HwKc0!Lsd!T0_ zy=Q(I8Wm0C)u3;yC6WKYdrUMX7FRW=N@2FXY4oysr(O~zf4pp1FB7nA1Ro!>GX!k* zLjr6YhAdJQ0mH+$Vbu19MA}3PA0NapJ}qF_q%};B!^lqVBLK7G(*lMKTEpzf+Ubw+ zX#rE8!|cnm;}89t9iJ93Yjc>%l%LN}?jr-k__Tm&P}%r0Z*&;TPp-^-e2{O<$={P_ zBPZ|UgM8YrJIO*~$gT|&QwJm84JBZ0Ut_HAm${ERtWEl~&}N!)?O5ZmZ^!*HKFwoh zR_S|t-;Om-=iBjblg*Y-54f2*+%5fV<>P#Mz|G3xewelA`dapb53}df1CEVE^HcLd ztdI7?`SgHeY_xJ*?r_#m-BIf7_~z3BCN?H+&9jw{@o53W#*6v)c%B_QeV*&*K0V+V zOAQw>$ma6ZALr8pj`7sSe7z&|^`>&n{|Lj%(#r%agUS2&AkP?U zW4QLGoO~#DllSpKKGwgUck=m%@(ttDJZ4s`f9Z_-kjP`Qhu;~f4Cm7Wj{aqJL@`Gx zH!t@;oMc!p@voVl$)Q6W4%nk(m$=gNas*zH+MKBZf|H<56p`7v1*6WdZ0hX zr-l5{$1H!Fvv&F)0x^4DCSd7nhV9GRD~|Ot0ZV@~Y$;{q^H*^21D$5q%LHt!&(%1r z@>v|~Wdb&~mf4cEn>+Mj_Iz5v)aUA=FKe$q#-{~Lte?G_wG%t!5zCuT4>!|ZyQfQ|J}Ju7*;#j#!{VCkPW zCLhUo@AK;qW|%D>ALQwiCa<}`+sc>s@j*T|_vu;8>+gT~!fbh&fTcfLdG=*(6~}s+ zfL)vOQ|D8&b~$)qwtRe$Z^+5(Y^Ki_wqo)=KFHG#&9|Pc{`>RcO6R=IW_Wg1ZyLO<$^6BL~el~s6`o{w1RG-g$+l6>97x45?drscs@cHWl9~Wfl zizZ96j7p#4-5&E`>IT5A8UWWY08ZZm6|<*re~S63Z+(j4dI!MiTb}caD!PCis1T+ zrup|-Z2!8z@SF`yz3x4gy`w5j)43SSyV{)v;dBm0Wu`qK-N!@zPnza_<29;UTs3n^ zO%20gbow`^zhpSx7558DQ#{jXzo4}7&}kvX^ypUC%OUNDDdeX;GvayTEl-8*Ro_My zYX|xkvKUU^J{H62TgPHJy(21y)3=PpaQb$!7_M>voW4yghSRr*#q8DLPqdDizpEGaHY}ObGIsInO$NRs-qmlF>g&Oz)?c{#XII5XFYu=o57qc4i zVPHEWqRpW*YK|D#PHi0z%kC#8s+P>0H*d)zRvvG}Mupoym*g&JU>nZFMbWwQ&#O73 z<_xA37Y5G5$Y_@}2&8HL*&thbCunV{Fiq#&3|g3`b8W?NI>%NFr*mt?a5|?}45xEx z#c(=@Rt%?icg1j;%ZuT3uB;eN=g5lTbZ)E|?sEg+bS|tIPUpai+0(nnVz|Bma5~pj z45xEk#q8D*N@+^YlNbpEFpPUonK+0(fxJChr4^Ciq~ z!(Hc0WydD{e*Um9>BaltP*$Dl$tCR0l)~-b#?bRLr;2t!Z}ykR-ykmgQ|+s=!_)uo z_s0+3Zt~B@+i%f_A`K-2Q$hN0Wb8VZK6v$}OJJb?|DS%FdjvCGZmJGF!&oD6Bi`3}UO;V3L%+*naToNyZ;EjYA9LvH z?7QQCBiLKc~`APE{JpDJI1Qep66Bs}PTc#zI<;9uIML zl@omK_k7rA^v@ra@bQpJ`xIybG!Z%#ngl5?Q=qAko=4=r&I<7znmhL}13nYdx=N4W nT8e6+I0t$+gmc~vnHbE&UM43@w_mB9Z2V4I8S diff --git a/HalconTool/bin/Debug/HalconTool.dll b/HalconTool/bin/Debug/HalconTool.dll index eeb932fa5720135620511cfe5a59da2d84a0f131..910a5015dad15c20dc5e52f03f39c9cdf4425603 100644 GIT binary patch delta 68 zcmZp8!r1VHaY6@k^2Oeb-G%`IY;JK!_$3Y9SBh+ZSl{tKa`Tx09!Zew9KlTbX!`kvt8-l*UZf delta 68 zcmZp8!r1VHaY6^P`G%m4-G%`IOe;@6*ty}a_fm=8qjAOGx;CE);E@E$PQINfDZu7; YEuLRK%dhM4M*bxay!kh?Wc^_W054D;ApigX diff --git a/HalconTool/bin/Debug/HalconTool.pdb b/HalconTool/bin/Debug/HalconTool.pdb index 9fb4e45ed2d5a8a23006d8843954a19b5658773c..c2f4bdd986c961dcef9231aa0a1163b1d97d0dae 100644 GIT binary patch delta 488 zcmZp;!`N_#aRUpNMDoSnSVjg0hDXka^jJMEx-Bi&*{*c&YvyJdE*&lr{=4}Z!R?wN z#$Q<~YyY1wnz&M`e52zU#>E_BENmeP$JvETC-X@KvFuB1?Ax3oB`Uxn%q-00#n>=y za-&ucBmZVT?P5k|ex|C;Ejn6EGL1|P2bmh@F*ZG8Y<6I5p32mGfvMS?spSA;yW8ed zdg_ckmW=644O5sJUoy68Z~m(h8Vn5VK*xdrBSYRt2n)jY z0LpPd1<>UJ@aPN2qc0v=Up<9jc^nI delta 353 zcmZp;!`N_#aRUpNg!zV`SVjg01~$KI@%-{xeqE0@@-KPd&A(ZOONUEjSHKs)=YRir z?>cJa{4GPL?Sk#22OAyNFfQg0V`1}Q7o2=0a5A4%5Q~%l5uwc~QlbJJBFrL8zKjjC zCpT*KFbZtu(=KLY7GSF1+@hn!B-6^&aEz&O8DrCD#%4dp=A}%{51E=>nOd$ewx@4C zrKirwW5bxu)G(8&@jGLy_vXL)(poHxK-X=SiLzs3XJByDU|?XM{4hkA6XawMAddsi z3qX+zN0Ez1kxN67%LDRK;HF#x@&w_$$3Wf@IB&To1H&>9Z*xK76c#)om-d7m0Ot8* Aj{pDw diff --git a/HalconTool/bin/Debug/HalconWindow.exe b/HalconTool/bin/Debug/HalconWindow.exe index bd0485e93153faecfe16102c6d94e17ce5f671a2..cd7cd1ae8bd407ee257eba2c796b045cba29b345 100644 GIT binary patch literal 67584 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 literal 66048 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 i+bAjI@k6MINPm2Q_Dhe)oqzuR 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 W!ry1EvlNsfAH?d0Z9c(i!2tl$dmQut delta 66 zcmZorX;7Ka!EC-EXk+(Yc7a)|Is2!~Iq%qAb2s&`)x3$DBRE_bL9&zQb4m&b%2qIm VTu*TCPoG{k?~w1s%_lf5H~^J08t?!B diff --git a/HalconTool/bin/Debug/ToolBase.pdb b/HalconTool/bin/Debug/ToolBase.pdb index 221e97e467fbacd5cfb7c21eb57d0b5a86cda02f..cb221d8f2f18ac2cf512ed7b27c190ec973b1a33 100644 GIT binary patch delta 67 ycmZp$X|UPA!X@#XvnQ63fq`LO+UbWA{yuY^rJxk~AXYbQvkcb@PCT+APdEW+Vj6D% delta 67 ycmZp$X|UPA!X;t8At;uSfq_9#wt`9IdV+g@`t-7ShkP$?mf?EAiAPrC2`2!^2^OUQ diff --git a/HalconTool/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HalconTool/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index 228bfb895d3a5ed40ccc8743d729145c8e62b2f1..869959b1e0a61287650c540c50638a6817174696 100644 GIT binary patch delta 150 zcmaEF@!n#?Qf_f~tC+CN;>`R!*Obf>1atBp?q@jVcJf@qCAWDQ?_(C6k_&_;vEh{T IlvHB|0FS9T-2eap delta 150 zcmaEF@!n#?Qf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)o|xS!#a+sShcm)z!MypLIM QN-hwZ#D-JSQ&No?04|C+wg3PC diff --git a/HalconTool/obj/Debug/HalconTool.csproj.FileListAbsolute.txt b/HalconTool/obj/Debug/HalconTool.csproj.FileListAbsolute.txt index ef432d2fc9b67f28bd4807fce8d7db468b557635..1a224d262ae82c6cc1e39e22b6553c0925e03a2d 100644 GIT binary patch literal 3063 zcmd^BTTfh76ox9d2}7qBxfClD5ZY2sp%sB4t;nrVp}-6bk&cp?IU8oCGw0x(!>x7N zCfXMhr6$&`1zLTNhoW7Ik?8{0*4?i1EBdTklSS(fSPJ~84Rr51?__z zZ#X=3MPgvBL?WvZAcf){6y=?U9&ZZp*Quby9(@^a7i$EH zz0QEC)``ctt4EXIlMv@DG(0h1gjx6!NG~~5a2gu$@~CabvG8UOcJbKKH3_j6vDJ6M zvk(n(0%AiR-UR&v3Vx#TIdB=*WMSJ_5}Uiv>*2bpv;z#ReGOv5M;ki379|GO8(AKX zUf~B(2v-zz{CdwR+!6vT5BCRfexQwYJPO%A2#T{T!1wR?oZj*JEJ#q8>zozyD%5=4 zdO~iOUt*n5!9VW2-#Ox3yjHiXIo~N`_xfRx55a>^_8_s=j;$X|Asqkxvyaly%y$67 zT!B(YxGR9mx?NW}ATh_4d(~-eplSlv9!NoDdaU6xr-`=Fg*XkY>xB(0L+*c`tf+Ci zSPOqIWP&pT&7yq6$x&E8-Ucn%r2JVPHXx6m1I27P&|g{!E+0QG?hw?BnBc%KH!}9d zp3{i*@!~wbIsNA+*Xb5PRzCopukfutoI9I);liLFc&{1;WS@7;B5ITKfMRd z&H)jA5<9~|Koz8ZQtXZ+q6-UZi!SDP#mQs+HY3Ikw0k|){kt%@d7guOh$mU`Z2S^? zuyVbfb8<6j2;e_gUsNI{J9+6Ednw2f#qupjL6@D=!Y%>TTte`+@6C*@SBza0r);Bu za2FwiyzG3}`MfmoQSa_gvs@D_$XhXQ8j7wcmgBsb4?Y&1;Q*|z7G5un{p*7?zYaRY zrn+5oELgyM1`Mp;0r58ERyDsdEHUs@DL2eIXW)PIm2)Z(I`QyR=PdHft?#8!zTCU= zp|=Yrv)fk&8i>meYv1(qVPFKp%raoNI1j)rC#p|^54c@CwE*9_@&|mJ#+%I_zTMO6 z$?uR~t~iT|*Wh;bdxHUgkEyF*AZEo(qfd|7 zb~fXsx|1MD(cVXMC)=$LWbb+~6 delta 895 zcmV-_1AzSZ7nBJHViY4~Pyw)!2_hfL>JVXa=25?NA{?QZ{vA;e?FC=nnG9dvnGA-< z(HF5{2LXQold!h*)YzH(-dF5%5*VQ(4Xk18F-Y)rAG{526VF;PHmt|iyYvyADkmLG zdx5#JE)HaoQsAn<+p!;+D@f+L{b{i&1?%oD>I2jWkEayN(mG%5R4rC5zFJ(du-&q1 zIL*LMqEW5P@Xr{IB$$k8)F4o8kT3Qetiva+9Pod%&n3ACG~Hwl8V57B;yMAbmxO`( zDPo3#=*YVdIPOhjm3NQvUyvafhx|_@3k4bmH*U#F{H8~3ZwuZf0@PumOtDAkM1@Nj!$0)#_ z7KIj^c#7RSuL^!zr)+Re?v6xdGcHIURkwcvp9dR#Q73wRrf4_Y2g73T-6TZ&k$L{Y ztZf-0e~ZT>p%2kjJL0(EF!{GqO>I!J&YYxpbhUT}XHSQL1rL$s3@)41Miv{47*s0i zYZ5ae=Yg)L^fH+sV6ViR7-BU*<2@d46(FM0_ ze@L6UivW%G51V;t&w4ZTt@sDNlOTUjt=H0gQeO6;<7638Td1EG3aP8Icf&~-_Yliu zo-GW;LPmX4f>mD0-dtNQQ0-Q!mJKrsWcE=++%>o8fV8Y=P) za3SDUIz6QR(4@f}ngJg$T}_d#nOYVF{vYe8__@?m-LoqEg4-g|Xub_fq zXgm3%R0X5mW8uJjOV=Hk4!YHf28ugGbeik@3praJ5NXn?D;w zu}t10$FVuow2YaFWzA+j!v~C$w_7CwwQz1$wDw~HGb(J|A&e9D9uS746ENt2#!gOj zxw_fG)fp_xcnG3D*E1fh?W!k4KjSfoIImwiSiIKH1)}~GM0|Bn3fL_1U}YZ0D?s0N z0Wl-XRfw!iXd=+Lb)jKQK<{9 delta 558 zcmeCU!no`T|}Ko-p!xc7BjO6 zPBq;6T7L5!t}aH_?;#+jHcvUzWPkp0MH`@APFoOR2PD|+fdp5Xk)DB`se!qXITx$^ z(ce#>syiIX1_sb#rm?PXU??0!*7<8bq-$@iA_8 zHLYRhVq6Ur>jGlN%?B-l8ODT=ItGz?@0$*k3itCtk~#&E z>J3U^+&}qKkQNimRfq^jXd=)@oSTb6{g}Xvli>~!hES9ngpnBI0%kDYhiK_fNC&I@ ipO6L-e+&`#PfY;@&g9*x*SYxl7$NRu+B_+(j2QrQ)~m?? diff --git a/HalconTool/obj/Debug/HalconTool.dll b/HalconTool/obj/Debug/HalconTool.dll index eeb932fa5720135620511cfe5a59da2d84a0f131..910a5015dad15c20dc5e52f03f39c9cdf4425603 100644 GIT binary patch delta 68 zcmZp8!r1VHaY6@k^2Oeb-G%`IY;JK!_$3Y9SBh+ZSl{tKa`Tx09!Zew9KlTbX!`kvt8-l*UZf delta 68 zcmZp8!r1VHaY6^P`G%m4-G%`IOe;@6*ty}a_fm=8qjAOGx;CE);E@E$PQINfDZu7; YEuLRK%dhM4M*bxay!kh?Wc^_W054D;ApigX diff --git a/HalconTool/obj/Debug/HalconTool.pdb b/HalconTool/obj/Debug/HalconTool.pdb index 9fb4e45ed2d5a8a23006d8843954a19b5658773c..c2f4bdd986c961dcef9231aa0a1163b1d97d0dae 100644 GIT binary patch delta 488 zcmZp;!`N_#aRUpNMDoSnSVjg0hDXka^jJMEx-Bi&*{*c&YvyJdE*&lr{=4}Z!R?wN z#$Q<~YyY1wnz&M`e52zU#>E_BENmeP$JvETC-X@KvFuB1?Ax3oB`Uxn%q-00#n>=y za-&ucBmZVT?P5k|ex|C;Ejn6EGL1|P2bmh@F*ZG8Y<6I5p32mGfvMS?spSA;yW8ed zdg_ckmW=644O5sJUoy68Z~m(h8Vn5VK*xdrBSYRt2n)jY z0LpPd1<>UJ@aPN2qc0v=Up<9jc^nI delta 353 zcmZp;!`N_#aRUpNg!zV`SVjg01~$KI@%-{xeqE0@@-KPd&A(ZOONUEjSHKs)=YRir z?>cJa{4GPL?Sk#22OAyNFfQg0V`1}Q7o2=0a5A4%5Q~%l5uwc~QlbJJBFrL8zKjjC zCpT*KFbZtu(=KLY7GSF1+@hn!B-6^&aEz&O8DrCD#%4dp=A}%{51E=>nOd$ewx@4C zrKirwW5bxu)G(8&@jGLy_vXL)(poHxK-X=SiLzs3XJByDU|?XM{4hkA6XawMAddsi z3qX+zN0Ez1kxN67%LDRK;HF#x@&w_$$3Wf@IB&To1H&>9Z*xK76c#)om-d7m0Ot8* Aj{pDw diff --git a/HalconTool/obj/Debug/build.force b/HalconTool/obj/Debug/build.force new file mode 100644 index 0000000..e69de29 diff --git a/HalconWindowTest/HWindowSmart.Designer.cs b/HalconWindowTest/HWindowSmart.Designer.cs new file mode 100644 index 0000000..578e78f --- /dev/null +++ b/HalconWindowTest/HWindowSmart.Designer.cs @@ -0,0 +1,69 @@ +namespace HalconWindow +{ + partial class HWindowSmart + { + ///

+ /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + this.hSmartWindowControl = new HalconDotNet.HSmartWindowControl(); + this.SuspendLayout(); + // + // hSmartWindowControl + // + this.hSmartWindowControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.hSmartWindowControl.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.hSmartWindowControl.AutoValidate = System.Windows.Forms.AutoValidate.EnableAllowFocusChange; + this.hSmartWindowControl.HDoubleClickToFitContent = true; + this.hSmartWindowControl.HDrawingObjectsModifier = HalconDotNet.HSmartWindowControl.DrawingObjectsModifier.None; + this.hSmartWindowControl.HImagePart = new System.Drawing.Rectangle(0, 0, 640, 480); + this.hSmartWindowControl.HKeepAspectRatio = true; + this.hSmartWindowControl.HMoveContent = true; + this.hSmartWindowControl.HZoomContent = HalconDotNet.HSmartWindowControl.ZoomContent.WheelForwardZoomsIn; + this.hSmartWindowControl.Location = new System.Drawing.Point(0, 0); + this.hSmartWindowControl.Margin = new System.Windows.Forms.Padding(0); + this.hSmartWindowControl.Name = "hSmartWindowControl"; + this.hSmartWindowControl.Size = new System.Drawing.Size(652, 498); + this.hSmartWindowControl.TabIndex = 0; + this.hSmartWindowControl.WindowSize = new System.Drawing.Size(652, 498); + // + // HWindowSmart + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.hSmartWindowControl); + this.Name = "HWindowSmart"; + this.Size = new System.Drawing.Size(652, 522); + this.ResumeLayout(false); + + } + + #endregion + + public HalconDotNet.HSmartWindowControl hSmartWindowControl; + } +} diff --git a/HalconWindowTest/HWindowSmart.cs b/HalconWindowTest/HWindowSmart.cs new file mode 100644 index 0000000..c36639a --- /dev/null +++ b/HalconWindowTest/HWindowSmart.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace HalconWindow +{ + public partial class HWindowSmart : UserControl + { + public HWindowSmart() + { + InitializeComponent(); + } + } +} diff --git a/HalconWindowTest/HWindowSmart.resx b/HalconWindowTest/HWindowSmart.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/HalconWindowTest/HWindowSmart.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/HalconWindowTest/HalconWindow.csproj b/HalconWindowTest/HalconWindow.csproj index a4fdaaf..2e5f1cc 100644 --- a/HalconWindowTest/HalconWindow.csproj +++ b/HalconWindowTest/HalconWindow.csproj @@ -100,6 +100,12 @@ HWindow_Final.cs + + UserControl + + + HWindowSmart.cs + Form @@ -111,6 +117,9 @@ HWindow_Final.cs + + HWindowSmart.cs + MainForm.cs diff --git a/HalconWindowTest/HalconWindow/HWindow_Final.Designer.cs b/HalconWindowTest/HalconWindow/HWindow_Final.Designer.cs index 95c0273..197d00d 100644 --- a/HalconWindowTest/HalconWindow/HWindow_Final.Designer.cs +++ b/HalconWindowTest/HalconWindow/HWindow_Final.Designer.cs @@ -55,8 +55,7 @@ // // HWindow_Final // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.Controls.Add(this.m_CtrlHStatusLabelCtrl); this.Controls.Add(this.mCtrl_HWindow); this.Name = "HWindow_Final"; diff --git a/HalconWindowTest/HalconWindow/HWindow_Final.cs b/HalconWindowTest/HalconWindow/HWindow_Final.cs index 211f001..6d32cd6 100644 --- a/HalconWindowTest/HalconWindow/HWindow_Final.cs +++ b/HalconWindowTest/HalconWindow/HWindow_Final.cs @@ -20,7 +20,6 @@ namespace HalconWindow.HalconWindow private HImage /**/ hv_image; //缩放时操作的图片 此处千万不要使用hv_image = new HImage(),不然在生成控件dll的时候,会导致无法序列化,去你妈隔壁,还好老子有版本控制,不然都找不到这种恶心问题 private int /**/ hv_imageWidth, hv_imageHeight; //图片宽,高 private string /**/ str_imgSize; //图片尺寸大小 5120X3840 - private HTuple str_channel; //通道数 private bool /**/ drawModel = false; //绘制模式下,不允许缩放和鼠标右键菜单 public ViewWindow.ViewWindow viewWindow; /**/ //ViewWindow @@ -44,7 +43,7 @@ namespace HalconWindow.HalconWindow // 'arrow' 'default' 'crosshair' 'text I-beam' 'Slashed circle' 'Size All' // 'Size NESW' 'Size S' 'Size NWSE' 'Size WE' 'Vertical Arrow' 'Hourglass' // - // hv_window.SetMshape("Hourglass"); + // hv_window.SetMshape("Hourglass"); fit_strip = new ToolStripMenuItem("适应窗口"); fit_strip.Click += new EventHandler((s, e) => DispImageFit(mCtrl_HWindow)); @@ -108,19 +107,6 @@ namespace HalconWindow.HalconWindow drawModel = value; } } - private bool _EditModel = true;//绘制的图形是否可以编辑 - public bool EditModel - { - get - { - return _EditModel; - } - set - { - viewWindow.setEditModel(value); - _EditModel = value; - } - } /// /// 设置image,初始化控件参数 @@ -142,9 +128,7 @@ namespace HalconWindow.HalconWindow this.hv_image = value; hv_image.GetImageSize(out hv_imageWidth, out hv_imageHeight); - HOperatorSet.CountChannels(hv_image, out str_channel); str_imgSize = String.Format("{0}X{1}", hv_imageWidth, hv_imageHeight); - // str_channel = string.Format("C{0}", str_channel); //DispImageFit(mCtrl_HWindow); try @@ -289,7 +273,7 @@ namespace HalconWindow.HalconWindow HOperatorSet.CountChannels(hv_image, out channel_count); hv_window.GetMpositionSubPix(out positionY, out positionX, out button_state); - str_position = String.Format("R: {0:0000.0}, C: {1:0000.0}", positionY, positionX); + str_position = String.Format("ROW: {0:0000.0}, COLUMN: {1:0000.0}", positionY, positionX); _isXOut = (positionX < 0 || positionX >= hv_imageWidth); _isYOut = (positionY < 0 || positionY >= hv_imageHeight); @@ -298,9 +282,9 @@ namespace HalconWindow.HalconWindow { if ((int)channel_count == 1) { - int grayVal; + double grayVal; grayVal = hv_image.GetGrayval((int)positionY, (int)positionX); - str_value = String.Format("V: {0:000}", grayVal); + str_value = String.Format("Val: {0:000.0}", grayVal); } else if ((int)channel_count == 3) { @@ -320,13 +304,13 @@ namespace HalconWindow.HalconWindow _GreenChannel.Dispose(); _BlueChannel.Dispose(); - str_value = String.Format("V: ({0:000.0}, {1:000.0}, {2:000.0})", grayValRed, grayValGreen, grayValBlue); + str_value = String.Format("Val: ({0:000.0}, {1:000.0}, {2:000.0})", grayValRed, grayValGreen, grayValBlue); } else { str_value = ""; } - m_CtrlHStatusLabelCtrl.Text = str_channel + " " + str_imgSize + " " + str_position + " " + str_value; + m_CtrlHStatusLabelCtrl.Text = str_imgSize + " " + str_position + " " + str_value; } } catch (Exception ex) @@ -416,6 +400,7 @@ namespace HalconWindow.HalconWindow } + #endregion /// diff --git a/HalconWindowTest/HalconWindow/ViewWindow.cs b/HalconWindowTest/HalconWindow/ViewWindow.cs index 2808c31..241f3f0 100644 --- a/HalconWindowTest/HalconWindow/ViewWindow.cs +++ b/HalconWindowTest/HalconWindow/ViewWindow.cs @@ -3,12 +3,13 @@ using System.Collections.Generic; using System.Linq; using System.Text; using HalconDotNet; +using ViewWindow.Model; namespace ViewWindow { public class ViewWindow : Model.IViewWindow { - public Model.HWndCtrl _hWndControl; + private Model.HWndCtrl _hWndControl; private Model.ROIController _roiController; @@ -36,11 +37,11 @@ namespace ViewWindow //清空roi容器,不让roi显示 this._roiController.reset(); //显示图片 - this._roiController.resetWindowImage(); + this._roiController.resetWindowImage(); //this._hWndControl.resetWindow(); - // this._hWndControl.resetAll(); + // this._hWndControl.resetAll(); //this._hWndControl.repaint(); } public void notDisplayRoi() @@ -61,12 +62,6 @@ namespace ViewWindow { _hWndControl.drawModel = flag; } - //是否开启编辑事件 - public void setEditModel(bool flag) - { - _roiController.EditModel = flag; - // _hWndControl.drawModel = flag; - } public void resetWindowImage() { this._hWndControl.resetWindow(); @@ -107,10 +102,7 @@ namespace ViewWindow { this._roiController.genCircle(row, col, radius, ref rois); } - public void genCircularArc(double row, double col, double radius, double startPhi, double extentPhi, string direct,ref List rois) - { - this._roiController.genCircularArc(row, col, radius, startPhi, extentPhi,direct,ref rois); - } + public void genLine(double beginRow, double beginCol, double endRow, double endCol, ref List rois) { this._roiController.genLine(beginRow, beginCol, endRow, endCol, ref rois); @@ -118,10 +110,10 @@ namespace ViewWindow public List smallestActiveROI(out string name, out int index) { - List resual = this._roiController.smallestActiveROI(out name,out index); + List resual = this._roiController.smallestActiveROI(out name, out index); return resual; } - + public Model.ROI smallestActiveROI(out List data, out int index) { Model.ROI roi = this._roiController.smallestActiveROI(out data, out index); @@ -133,10 +125,10 @@ namespace ViewWindow this._roiController.selectROI(index); } - public void selectROI( List rois, int index) + public void selectROI(List rois, int index) { //this._roiController.selectROI(index); - if ((rois.Count > index)&&(index>=0)) + if ((rois.Count > index) && (index >= 0)) { this._hWndControl.resetAll(); this._hWndControl.repaint(); @@ -167,13 +159,6 @@ namespace ViewWindow this._roiController.displayCircle(rois[index].Color, m_roiData[0].D, m_roiData[1].D, m_roiData[2].D); } break; - case "ROICircularArc": - - if (m_roiData != null) - { - this._roiController.displayCircularArc(rois[index].Color, m_roiData[0].D, m_roiData[1].D, m_roiData[2].D, m_roiData[3].D, m_roiData[4].D); - } - break; case "ROILine": if (m_roiData != null) @@ -215,7 +200,7 @@ namespace ViewWindow if (m_roiData != null) { this._roiController.displayRect2(roi.Color, m_roiData[0].D, m_roiData[1].D, m_roiData[2].D, m_roiData[3].D, m_roiData[4].D); - + } break; case "ROICircle": @@ -296,15 +281,20 @@ namespace ViewWindow } #region 专门用于 显示region 和xld的方法 - public void displayHobject(HObject obj,string color) + public void displayHobject(HObject obj, string color) { _hWndControl.DispObj(obj, color); - + } public void displayHobject(HObject obj) { _hWndControl.DispObj(obj, null); } + + public void genCircularArc(double row, double col, double radius, double startPhi, double extentPhi, string direct, ref List rois) + { + throw new NotImplementedException(); + } #endregion } } diff --git a/HalconWindowTest/MainForm.Designer.cs b/HalconWindowTest/MainForm.Designer.cs index 276335d..2348365 100644 --- a/HalconWindowTest/MainForm.Designer.cs +++ b/HalconWindowTest/MainForm.Designer.cs @@ -30,18 +30,22 @@ { this.panel1 = new System.Windows.Forms.Panel(); this.button1 = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.panel1.SuspendLayout(); this.SuspendLayout(); // // panel1 // - this.panel1.Location = new System.Drawing.Point(27, 53); + this.panel1.Controls.Add(this.label1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(521, 501); + this.panel1.Size = new System.Drawing.Size(807, 600); this.panel1.TabIndex = 0; // // button1 // - this.button1.Location = new System.Drawing.Point(600, 106); + this.button1.Location = new System.Drawing.Point(597, 173); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(89, 57); this.button1.TabIndex = 1; @@ -49,6 +53,16 @@ this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(747, 567); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(41, 12); + this.label1.TabIndex = 0; + this.label1.Text = "label1"; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -57,8 +71,9 @@ this.Controls.Add(this.button1); this.Controls.Add(this.panel1); this.Name = "MainForm"; - this.Text = "MainForm"; this.Load += new System.EventHandler(this.MainForm_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); this.ResumeLayout(false); } @@ -67,5 +82,6 @@ private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label1; } } \ No newline at end of file diff --git a/HalconWindowTest/MainForm.cs b/HalconWindowTest/MainForm.cs index 1659d0e..ae9243a 100644 --- a/HalconWindowTest/MainForm.cs +++ b/HalconWindowTest/MainForm.cs @@ -14,7 +14,7 @@ namespace HalconWindow { public partial class MainForm : Form { - HWindow_Final myWindow = new HWindow_Final(); + HWindowSmart myWindow = new HWindowSmart(); public MainForm() { InitializeComponent(); @@ -23,13 +23,18 @@ namespace HalconWindow private void MainForm_Load(object sender, EventArgs e) { this.panel1.Controls.Add(myWindow); + myWindow.Dock = DockStyle.Fill; + HObject image = new HObject(); + HOperatorSet.ReadImage(out image, @"G:\Outer_HB.bmp"); + myWindow.hSmartWindowControl.HalconWindow.DispObj(image); } private void button1_Click(object sender, EventArgs e) { HObject image = new HObject(); HOperatorSet.ReadImage(out image, @"G:\Outer_HB.bmp"); - myWindow.HobjectToHimage(image); + myWindow.hSmartWindowControl.HalconWindow.DispObj(image); + // myWindow.HobjectToHimage(image); } } } diff --git a/HalconWindowTest/bin/Debug/HalconWindow.exe b/HalconWindowTest/bin/Debug/HalconWindow.exe index 8772b38cafca104704a8c1e57a138a65548a00f0..cd7cd1ae8bd407ee257eba2c796b045cba29b345 100644 GIT binary patch literal 67584 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 literal 66048 zcmdqK37k~LwLe~UZ};tG)}EbVnHfNAm;qUJSkxH-VU!)z8BhV45l4Z>nZbpj6;M&! zjZ4(HKr}9i8cj^%zCUy8HGFsL6YIpU>~#FsJLB zI(6#QsZ*!w)~$Pc=EBRBtCR}h@AJ=`yGtE$^qRZp2czj|e&wQWRRUUaY(J!h&?t(zP* z?cRCErE1%)2C5uqq*8we#Y<7~T`lPb%`c`Mqc_ns8*@SD$5BhpOShy!NC1TfeySpjmiNOb^P z9q$7qUP(q%$V&_mc~YhpWl&j6xpg^CH>)k#y*e>4L#U3Rvg*G;Zs#EK z!oyPn$`bn-grcjP!B=&1mO#=w4)6&ip{k{7e3mE@%l)EEks%q`79Yj0PT0+hkCv<b5VNa$aU&K;;a=AzCWP|Jyr1$SZ`K<9w~IidCBGu*kgDhx4@qg4*R!4Em`@IbUy zdBX-OXFZW&seF_~ekh&q#1En>!;bFErGoW9y1?VCCyVIks!?boKTcV)1XQOy3Ag4b zfE&Y;pg!8-#0Noua-43sa-ee(kR--Oz!H+Maw?sefD*|t2_09Xk)0EXLq@>q7P!Y7 zjN+zaA&5r5In9?Re1zqRgC(BbDy#3N*Y~9bK`CudP3Ebns1+sN~HO+@m0Y1XCjzr25he^$ylkt^|2oqsq3UJf* z#8f1QINd%nTi1)+c{uobQB526LZ-?ovN7E>l!sMl@3MqNjE)weHPSgOpGL%zMni3^MEWrJ4E+v;O$>9o=|AF_^n3J0icU{)*)N`Q;r%h&UnL2tK-HF{I?z`w zBA)o8__nVOI;YgJ5QU6jm>sU^ir+Fm8l5mOSW!WWzwgL^`W18vk?tbSM!oSnfLk6A zazYYySt4-+n@FL=j1*@bCf|UwF2?*LjcFuzT`?%}8A9p!E!@QECg;TqF(EkJWS3-o zCODEsKv89{ZYuY8QyO76r4e?MMbyq99CW8OfzdC4ae+p&Uo`4h>TEUjX%$2O)wBup zP#Bdd<0oc88!;s4DVxDBQ~9)i?(r~P zd7X2>lR&70fZF{nWA>Q!GtLu6#|Bv^KA-roL(=Aw@x}IW4uo|X6EWW|09(}S_$w@* zIEqEQ#L@UF-=m@4cwol>i#G%0hU=W#{bg$R;w>O_)Mz_LTQ0OD8i!~ojEaikGspI< zXAFw;u4iJ8dR$c-H~rFaT&j+;_##O5*976LsW18mj%`22uM-F(=uX?w!)%{wRTwjU zN`L-u%scRkl%E@?-UXsk<;7lkamZ*;6t>>k4F?DmxkXNqPGG?rRUK{6EpqV^bZl6l zIB9V(jIK7H(FI}S&MWo=%l7D64Z#s#Zp3(aCN~uGhKFJy;VmnU#3JLHs8B2%KOQxr zQ;MUpXx&J3DhE%bJ=~sHj10*w&gr-r3dM5FfLQ{1aX{5Sm?_@}<#S`X<8P#PMnrjH zDftQwR$;K1!TK1iC{~!M=mc`-#bP}u`LUuNl!92Hi372i{Vp=!9Y3Iwd1A0wzWFLJ z=38b|u8pXU&%p%k&FFBt86-Ni19xi$kJHUSAju3d7VJqd9Pu`kFpCm6gjWnvJHeGwWwLOgr$;XjzU| zq~j~39viqzI85o{7^WdFzLI%w4P*UW)Ay~GC6D@YIf1VvX99YH^9844sE4ubs9ImU zoNg|7vew@uWY*uSs2|G()jjlRew@w(s7b~@r*k!vl}x7A-=vo(PGv#k237ghr7&b? zHAt!TIGH+f;25d(I0;olt8%lJ&qfqhFDX$S<5^^gA+XkX2ZeU_By?p6eG_XkNLg9+ zdZ<$U4%*Ur8jGIp&&*Ph;yb4KR3xE#4U3Opa}W>Gmki9RNUiht#&?EPGf;ieV%{#& z+34(LI|Zhe?aMfrAO{xdp-UVqOi+7FBopjvHI7Rvc)&o1*JUPwic&rSH#8s9W9iw7 zGj@8Bgu#+Q{)L5=ERGXrigv~u4>mPt=HLPuFWu15taFBN6+#SSGc`|J9*lk;53$}n z7@IyGV!e3=WbqK|%~O@dL(Ip6A zhFygo=tQ4+N%%R&`9GM1hhbePgl?u2TiKC@QWZ@krCU$7gv9lk%*3}O>n5A!CcbI% zL`YbR5J?YU8dsW*k>5MZv>BIPXt1=I#k#MgGHao>w2V=YO1jA@fWwHA%S~=1n$~Z# zPX|+Ps$k+`Q8!gEQ6*ZX(dujz%PHu5bgGs>Fh7tVOkg(#)Z??M`Cg(-=(GIvM7hvT z^waW#`Cfh~fjz6e$nGOl>3>%tzH=^Q|4SFoF7b`et~z)|8To z{u#MpwcJq(vl`~VL^muO7!?VW?ZJO6hp<;O{zzn_AnlyEz*th!S2JCb;|3DzP%7~= zplRe`Ai3d=OBlo8EYaap!yR{~kO?rl3U@q{#@`kEjWmuvLjGUV_-f$wPXdH6f#pT& zj!3n`R{bDq3za3#q8eudgvx#C3SYWUCY>mx2~_ld$~_}b)$afaF1Q{Ym{Wfn5Ui*+0LfJ)d0}xce9^JkRX*1m2Q2Md!`A}Kc-BuL z5`>H^eFj4P;Se671=$@_tTTlZ?CprpjUqlbiul|pvKKe{3*?GOcFLUpk;uqi9O#;q zc=kyBzbxLmPVGEVF&qp3Ph0KlPxKO^ZFIt{J)eKRv!F=tDMP&IYZjJo4dWV~@q^cY z55ny1WX$jKNe_fXKe~r6d|$!vjX5u%CV~@l0Iq}2K_ysc*H&VzyCE5$od=*?;#_24 zM3gt@giHY26UYq@f5QvJw~AQE38_<|1aydDd+$8(&o$z_#3mqa{F`9xa-lXVsIQ^E zUMO)svJ!)lgFqH?Q-N$;xTAjxnQ$FA!yRMNcs^Pe?r2Qo#{;kb8GwnqDWOBC_9lQV z!Ua7E7xpAv3_`%nH-R~Eh^@^Ma4E7Ahz=M_&AsXbyO;QyPofa6>Pfh!C*j(jgzG`T zeF8w$LkW?112U`v|H->Pc7+LLecNZI3pIfQ`tu6*7W}t9c2mDx!M=d65Y}|L5nQ?`wV>b{I^+ z=@QfAt?Zf%p~MpQq}O3p(SgrDH{+1b3n4i<9EEsYiwiTa6WcppawI8PJR>+xUP_mD zzj`5FckY76<03F-F6N_hNuN`iTaxDl5*N|=F;7R62cQmBe=&H`5+aF9K<-+Ei)UQt zQv)w?DJXU2DeN*}Ao5Gr5Hhs}>zg3LW5|u)4SRC-s^0#}jdR9LL*nJ`?;kj>3W@q9 zdf-G(m$k~0Cq9pw>-%9)g0SsZ>nBfq2?WVz@rfIm{ZEuYcJw>_zCW%H5^q&ioI2tt zVIpnBY4yJ}9G_0Q|Gg1~l5ysnkq^X~hy1-DcPE-Fz>LG@@HBJ4TRE}`Sy*o`+AkC1u9l<`M2U%_>CNS3_Z)A_W#Mgz~Cq>3yfzERy ziED+7VHqynqp@b?o?P8zYYgL=vL#n)y)!JEZwW+hR8pKxyq?6;TvdM~S{Rb?5dQ{f z#W}GYnK3io&TYE7uPoCHEmb>R=HI+no-6`=((+^ZUtL-WF4pZ(yn)&k#0n-X`3Fu2 z?5rp*L=NKwHuunoXrhHN2RmP>y|jU7*_{}O&ziBX#>gI+tHy%PA%@}%JjRP|f&|{t z@YBQv92qWd9J_0XXxy*vSzg?wNBN8kIU?WXP94f)9Uwz0C671MGdQZ>O{z?9ZAaRz!XpH>Lk4 zWqCPD;R!@0vqz^@U+B>%(_e`#$m$w}&g?u6ZI+8;=<6u#psC6XUs~S+tDnS?oZ3K% zy@=!<4AxtepYnx_Y!M3$GW!&PBHQPk-s(d;S1M}q1WL@q1`W4IT4 z2uqd8RXc9UP9-K|B)Nde&aG%o5)Dajs-T8OqE*r4!Tff*iE?v+XA$DJkpJ+#WMImT zCa0N<>G)b<3u2cdx?)ih(`vvO^!#)De01m_v>Tt2hWKqPhM^O1su7J;av_rym*7k9 zS6=b%91I}lX1$HDEU+_deYwb4Nx{eE(4zn}c+&?wdq zcY!C6xEs*pk?a*Zo@)B064i4JL- z?AFmIWITLBD^;DbZ!xD^tliHC*)>|XINhc}Y(mSTTr`c^gDfpK$fCR~uHZr}%Y50v zg*lGvg%`FM^SPdN^WBGrTNXAOg9SnnZ)IyN_ENqYj=u#)*7y%*n1i`O1(xzTm_v@{%;;daQ)yLB1v0w)$SK_QM63Z0hM zpf{pqjp-+!UC~8!ofQkmRA$*9bUM+Bg|ha=Afb4XR=W^!ON?wv8smb--nFG{hX@J% zNbVePh(v32f9%4gaC&&j{Dfg|K902=qL);eL8UgUyd6PCzHjiD7P$-C6F;sE zHVSc{Y7Oh)S(<(5JWK`wyAUBkbl!w-j4jMJron->W}~yIkf_+*7|I1|o4~O_bYFu$ z%OUN^_d8_P5VxHqamrOsKqr_CI%N#^ui0^*2JnrYuMnOx0g16I6RfgzPemfc=u{*M zOC;jD1G9~_@Ba&J;h1yftn1)RY(%>d88Iy@rz+P3-*Q<*lwy!D3iE{FWPIZeJccz! zT_vo=4F6P=$b(IAR~T0c*hO9h4lX8md0G{1nHqrfe)t>5TJVQyO4W|Bb6N6Ga3aka zE!lu{ZQt5HHm}`~+vB)sM#zy(&SLCw_CX-WWeV3($DoASyGHjAN&JvQsN+d2Q{}3s zDk`TZ;y;p+)%gIcA)kvC3%$L^OyCa%3!_}t&^dd|3ziAmMps}G=;kV>Vi9;HkUHI5 z;4Eyn3WeHJ3@u(JX=o{kVIPo_H66c%-m+lhrYYx2>KX{QxZ##SxY-RibGrm|lM(+q z4P(+BzeiDX!D`08qfUUKLt-bpFf={d$8=!#6%buIBCCHf;g&-l`?vc#fU41Ef>pKs zOrKWe$?+H-Go@z6+GY*ns08X8lJPAF!@6ckYE}BBmBSamymEM8ugZ%@dTIzfYyV8$ zvI7mzE&|!{X*WJI8@BQtfO z130;kuLntW{FVNK<07l$4`=+v+$m0}@?~D0Yew0Zdpedwd-e2U%&~NaNXEUxnPkex zSv2uTMoCj^EYN~cPMet&!$2(1oTfFm@5SLwtE+mn+Q#6PC%zz&c$5kle+{UEV8NL9 zj4Kx&ZuwPi*;OrAW}C|lJJWb87MYaOeK;DiXvMwa;#f->c z%ITg4NEx&7%}q1oVM%VHTLD=& zv?9;4>^?NI$R=AF+(ip>F-F36EjEvVuMt(tfd~`*c-z=VbmP~`0<$l!i2@iR&>dau zbo2Vm+~4jwX57@l3SP0vrk=UXF3YXu4Ivf`Cmw^}bmc-2v?re%>K;Xj$FnjZqlr8& z&J`|i&JBCqz#jgD!z*4!=%bi_nn^RdW>2fKk&EHQ95<1}_|ntIU0-~6Q}*fU>J2I9 zN5Z;#>L6h1eAYkrq|N~bRq+2Q`(Wos>=Q`j{wEBCF_*H@p3hU~UxR85Y*b4hD$A?w zZ`~o1afife_Nj`LH|IrsPPRuDKf`~H1H)RTqF_C4sqv;h?&>{3Hwh)4#8<~q1hK@A zkxETZn6ua|=1g2}m^V|g-8}vZsHeh-r@&bhE{Y_cMxr=3T$ERoQxrAV`mx+tPArP6 zqhfA)o`8#^>#17|!;yh!OhF93%T=#z=W-6h{w5B(IGWPnq4_w^Em1%=vBykY#wCpJq$n4%iLTTUhj2q+tVDN znBaA!ZyF4rAN7q3%ty2j^VM|0ja`EvSpo+B@65LOk24zYg**gViVHTePWuQrX-EWFwOP1 zv1MOlOUYtCiY-s(tR#cYN&J)i*dL^96dZ=EIF^P;jzF>`eygPAyybT2Qz!DW&TVpm zj%8alG-#v-6VRFQp8^ETV@@cB&aTB{DLwK##&L@8Lw3XC)`iVEQe2AQLSqz$$ z1;}xb918?GF&}%0XDQJqEtZPSKALFItA^}DrD#v;TrFg| z`l7XE*f4z_sT>UMda7{*)xg$R`~@V2zl)prYEM}(a}(c|{yEu(rR&O9gGQNK`F-Kf zzXg4S)Rk3P{av8@>Vr)^W9I$*4VOlSXmQVP$FE}RP+gvF#>vpn7#zVO(?vE{COsc{ z?{-aDVZ!v!|77&c>HCTRDo{7EGP1^2suLh&&hEVP%iTP}Ac}~sZ zA=aB`Wfl)H-UN9R{t7p!NYVt@?PrUJ%}UeVKrrzHS%&=)wFiQnQ4ynz9$37yDjWr+ zG_-=sC0Cg=bArvu1ips-U4fOEC@3XtkG3@ItEAISk+wK&!RyY`@hu;$)kRph$P&)P zOYjaZ;-&U()|&Pjo2YI`ClW7P?u?i(<)+_xY9kaFmGQ|7o@&5Eyacsf0)VGk$^uzB z#9u*0TSMifX6iCjEPDH^Q207ozt-h38Fj+a0hsT(vNe+J0_PR%5VLcxD-Pn;e^C0@ zQ(e#}#{VW0`v76MT=|I6wM()T`O@aqj?7Z=%lYZ20l7Da1v$<(y^5Abv16WTrs>1P zYqWLhfG78q(6hW}OP$FK1F|1&jk^yu#TGVW36+uMq4gQe4a9!|skxblV0aBs2fSkV zlm(yF^l50umJmHCys$U`bEU7V>QMJc*4;-sY`-!icI$pP`9UqV?pI+7ZtZ-X4PwCI zJ)iHO+}MnrQ5kMFM#@Jls^=;Q-YtITin|*p?0f^|9q~k)r2aO^sw9bd59vd0_!V)MQp9_rM9Uy1o2(jKVqBDz!SZ|)S zSv}RV|z#m3H#Iq_isjiG^Q!HysV)qUvVbTh*$x|HQA@H;6_e>~V{TNxNxE%P99Y zSaV4#u9q~VSTxJ+16)g~ui>x$1^}p# zX~dVBv~~sfGtK*Q{z+L4H_oxIPN*#abEX^QS}&qLaz*RZJje_AbZcg!0e9nXr)F!w zXc{Adl|$47R%xFdNk)4FR%wJIZim1s1KAA8`UR9@N4jfrq{%kGlhr0E*d|%q7leHo zwpRWph&pgb7H-K!i&+#CK)5Xw-^uuw8AaAm*ryE0&UmFA#HlgH0o~ke3dH{+@uZvM zF3(1*)acB3p1-rRe24!D9jYh;5mio$HH308aOMWS~{dx2ik|XX_;*m%L;$ zmf-=q5-IO1ctNIM3$Mo!0i%1Vo10F3Q#W;YKc3R9#YF4cskZKnh#qxwGpf30dD{@& z8!%!b@wZXC=^shP-vM46>`i}{bew{SdANB;6N-^!_bHAZ%QofkK+LPnwSBPr@t9|) znD~FwGi$lQOy^8@(&&(MLv65w&9QTknGQMkEQZBKn;7=LH}{ySr}NinSL(?mu5}MV zU9xuUn_fH8+hpy?;VElJj^VBQ;bs@Rb?bgOSHb4^R+G35VMn29GUt(iYJhC{p#2o; zpDg3Qfg(8DA_FuvS|wIUCGlO%ZccLklC|orFOX%_X- zbzo+`QzIIR^KD-tiD4p<`3Pu)5g_TeOqw-eAxlx%eW!73C3fNVw?mtYks;2KcHH4P zDMvZ9HuXsR?#Hniiw)R3(+0~hwqap&G$LeCIzz_Iz)(0M(%Cf=vnYL7NK{j9@z@U<}9EJhbYqA~_b->~tn6jKOH z5i$kAghXWwl)e$eWaJv3J0E_+YXe;MZ)AUToWc=ywIsP6n7l@kvV-$=CR5K^R+T3& zCEkf0vuN^4CQFl72<25$u3{1=`U-IKz?|Q^&hUIqGOST|KfYfyc{wOv@-jekrsi6v zpjT=i<^VIcDKTq*<{(37-9qR79cZeabhsY1F^8$K%Eo9EC53AC!O4`fGg^|f6Yr4$ zRCxL@bx&f%0oi+C;N`l4A~V-d#AHmEcbQloHc)t0agXE@U{1GzG+5#VS;lkk{21tp z86I+7W6Nxf`B>53RCc;Ea-41&D}nyPhKxBvFvcDsVE;O5e!7lq;f>kCfs-4qi86D=`3^}>~* zVU}BzSOZ{42~Cn3JEnSQVH}1-rs_a@=n|8L?G%$O z_cx}Xe}~ZiZswRjygdY$;vf!Ws5tHs!eW)%g7D? z#iIk@9PeZB(=J4KY=E<3#GTMsFB~x!CVWCEq{2BdoXW%CMufr9C!c(CRW|%S&peMV zr;%{>%CmaPFh9uZ<`3zpo)Nj2VK6H1YQdt(oH0WdCv3zQ40mT|JKUBt=$IUMD<@Pr zKZr5!?3`s3>E*-$h8~*KH-)$|4I@lYgq={vTE$XF8`5)R*P6_I``c(Z_OH`92Qz*g zXF(|1_9a3DFKaBpzHa~)O|ck8d5AUfdl;Grmr{AId15iuh_BxBa@&bdVNsHpIMw|! zXM5_FjLxll)%m=hI^%5!k7qRdk7%7WmuD2_^})>uYY>7%l&Abq%RI zzD(B(vvuX$Bjh5_Y`p%TE6x4=tr?vWuJ&Tzb9(B`qa-Om{lBy@*TzBhL#Pw#Ip*?% zbIjW-qbfgWo)OQC!<^9gb2Dv_-E0Q7FKz-P+O~a^nX4@Ykq`$@{+$qP$KV5*He|+N zzL#l(x0g0->d^+gyyQ!VC1n05TETI7f2IwYahV^;w81{BpVbct-l=$qe)#gC3VHt- z{X^=ZjQ+n%$Cdn0M*q-W`oI^@(|1L_eC$H%f1(w=#zSWO{>$UxONaD-a6Fj%I+Hl2 z&3b;W6W0hucnp03PWwBU&zE592+vPr{UOsOA06h5IoG^dq&U#|2Vli=tuX+%h+|y4 zU}M3&P$uz5q%tcMoYVO)5U@JI0%rJ&v0!ny7O%nq#8nsHZ{jLWDF;&@RGZSol{)5H zh47M)EQL~vl;Ixr0Oihs2EpDM1hGcKiYuc57EHrm3>SxX7DIv1&b%Rb`{&$1*#aUe zChrAGU7N2yRprIye2OEtTn>>KXwg|FR@!1J?v6mXLC7aR|9sz~AJ1Wi2TKi~&cuW#gdH=bCW9xv59B7< zq7t0F{~2Njz8=O`PRRdWn^5MpHuB1(knhDd@IO4Eo_Vj$c*w8Et2yxKbO@PQ;v<#ZDUmZzBk=;-pnd#d8eDuR(YeT62S#6 zW^b0pl1 z2?#h=wUl4x_yMkyU{ykU{NU&`yIGFGL(F;6pu*`e^WmYZ{6Ji?5W}`mMj%P8v2{bm zc(Q<%V+T(%yGd*wWQ#W}O5%E#nNp;ioc_#jF*81m-79-Qi)=aG+mwQCQdpdBVy1eh znCJvf?;g0>pONKajust4DuMs1^?6c;Vcq57=sRHN+8cD1(?U1HwH z8TCx1e{rrr=_8z^Q@5-odsd7I*qr(5noqO8uV(4h+7kU@& z+qV|_M)5B-yWE2hss^Kh?=09Bs3*5GjQiOn4P}$J zq>_n0vCGUUF|MooLe>;E)5VaX7%Slwu=(%FjRW6E@>O241j_=R=OVY zI{o{?YFkt0VSnLyDm%_OLgl=ebYs>a_L}{}IMkeK4mt5qoTz06FpfM>JKU5_4P6<# zx5HkC(_Vwn5PU{96x)qGCUI;}Jn0B_s6X7L6qO33ms--VURWqM-Nmjl_)Rmi^0}PF z1N5de)spd)^_Z4ywWn0s{Wy$4ZrsuK7C|ePi3O3y!y8s})vzcphTC}2me9iHNElk+ z@%{|jf;$mGqR5Gaa5pdHN1KZysRzR3P9E>*_jA^<@pw1DduTph6UDFipJ|HP(@b9K zHXZNb;m{#9JbpyG*7O=_aQ? z^KRg1n#78e(sc%sQpim*8-j^hw;GQ*QR;EJndzfS1wDA1jfy>Zn?+&F$({;fyvYYa z+Nf{zl$MFMiI3@FS=qMIeNT94ZZ`L;aA&If>fBWHt8j}c{l?n2-t=cr;kmRgny1kp zMqS#gC8a?F9xf%J*>s&FwsX3vWEKwz&C;*tJa@+E{`uZeX+8gZpRtmq%K1G*rCdv` zbT4lfA4t zSWqG}?I>#wHb9~?&D49%kw8C9%d9!_B2!cSQ~|Bx_+x)f=QnO&aP1+wxf0dtH)WAn z17??ii6gEAj@lD5ICbJl5@S=!@p(HYNtW+53UJmOivg)LfE9z3b+I6zFvrEJL2AVW zpOL!9<&%}Xb=MDc7R|Ne(8vjk6l7&8G(~u=$|97_BFr}xg{2xE3d>aEQ~qBa&b{Ws zdr?#7dXd<$%pQ)tUc4`hhgff(?`822>&=5@pRX=ry?MTy#Y4>Zj84C-Niy^7j@^Sb z``{wecYS5%#{6I$*F@Oscav-+e1q-av`9U8?woaDwxsHgU2W`m9th8>MP)gW{JuZ$ zh3q`+gX1z6AtjppQ6~8Slkrt@bxFGhDeVu_Zi}|5Oc=)lG8y2 zf<jF(bLpp@LfDWFVI34wk3v_+_6^lBk399%sW&(o4**M@&&6-k82hk)rh3Rp%~Gjvlv6GEtG@^UVVZ+K@i&G68T;LYE`HD`@psU2 z9dmft4C=6)DmLRC2Q)Dw;{5M4L@4p)fCMVMs?WHdZT<{2c|3`bPm$r?2qvS$<|AEeB6R1=Vb{xuxDj5s|V}xCTV|lGT(FZ_KTx! zdQ`{}oy8+nzKw=vbkC|%o*m%9nxOo$REEo}7x@04FQ`(~;*$q{9#)BMvGh!mWzY0$ z^qkrm85VPlou~Z#f_k)1D&vcE{X9|`H_I_rv#z}#gch0g1~Ku8ES`t5c!>4pc{q!Q zn2)E>_|_v?JjBw!^+F`IjX&%*d$sK+ViZz2tP@y2)&;hTp6x+M_O*wYPmcnl$75MM z#Cr2!apIFhtT)dSSvtfA=aDc=`0>%y?LI=;vweav2EX$#X~IJb|Ssn?kA${YyjF$9np5G z!M59~dbS;>$9!!k=F`Wv{ij(x#Cr2=&*CB0o9Aa)Jj8nQJe$Qs%*SKx^IR4Wv9x`N zr0tXX?IS-C_F*GoAGQPbp{leG)#38lR*C!O0d*(>+mZDB670!TRP^b@J^N_Xk$d)? zxRH+EWb~Ybg9M&Q3*@Ts+MPx6N(lt!ke6^J<1L&=?*~EnW!gbQu<*m?wuAK0I=tQi zAJ#J--!oG6^eIo(ld2+tb9m9*ofUa1vR1@P5YJSAyZjJp>*!aNsiS%je@cgSxZLOE zJ2+yh06&Tm;`=l$Y-Jx4=dn+cZk2K6UFO)@T)ge zA7?vL)lhv~Po6qpQmP(D>X{?;P)5{q`BNp3$XauxR$3>4U!{TIRDG}tet^U@r?;7G zJ$+S8x*k{7F>|FJ9Io%(9{ikzuRS6D_Cz#S`Y2C@ivv89u|N0FuPF9Zq~koC@Q!&G zC()$%5_A=RyeT>ar$$nTGcIi({bEFV5vMTxc8~)Z#@=~qc~{B~u382A%%grTe}*Dj zu_)?YLiss(pHr1`BNYoP_-jwms=_#a&Eg`GqVYZEWai4o_1D*TR(BTjIDQ~NGn*`f}cf5c(PLuvUvRCU_e z5hF*8898PYgBY$VRsghF3CUkK0I*W<4me=pzRw{XDfz;2Zg;_bX7% z{YkGZh*Ws$ZGle+yt|N;$pViRm=L;Ga3LgY%qP4>C>IvA7e&{sfTvbfCCfZjJ|KzrA}y-AvdU8p`N^_;b$NbsrKfI(4xU<`PpyVkZU@|2 z@o;&*8j$~3Nxu4nz_od|l}FV!$ShJ%4ZN}{sz&yq{6(m-NZlK`vZ_e+&n0}dl(}b> zu-?v!WLZ>ww}?Ek0asR)snZL0lzZ^H&7tqBV$3a``g`=p`r{=ywT9 zom@d}x7S=Upi+Gt+fr1ia&os66{)f1tn0Vc%&mlkB6YpXbl)-@mQgeMvX)q7?!Yqj zM&-=XGWEAUGfM}kXy4ai&mqEddG*XvPgV479_*>-Dp_hLcs!K{X;Jliw6sd^U%@v! zZ4rw-8cmi}s&}imz|M(0w(iJEQaS>p{6MUIZiF`JENAZ3Ic&?6!I6r5b)HynCTxY@ z-VnQuN54eXpZd}=U(2KB9h&^-6|pT-D`~^;!){Uan84$zDf4aUfK57B6{pwGgC2g# zgK%-bW>{udUutq_E@ke5wFj#2MZeR>!~V_Y5G+$ctKKKJ{XlA2hI)%sM;YPt9KugS z)a338dfj6K#2*Gz{zhrb*CLLGJ{mx{Umjr{Ea|C_`p|kV?CdE|EO|?W>0N~^JHLkT zH$p!ZHs=`V$Kipo!heP8+_K_9jgnrEX=4nqxft;tI11H{e#`q4!}vnp=lz%WPa>To z<=RUAGH?Ta5j$V0>O%EVXiU*uoC_E#<<9O)tOn2gv4$ywraTynl3oMY6fg8j;3YlQQ&QgV*Ln>e?i#>s=u#hU1N zyoXvtmuG{_J6=5~*!$6QOQzthHb0kgKL`=)Q16J$$3*5v^{M1_Rk7 zqrV=GsjruP18{!c&46u@TR>kn=yt%WK6e4G?sFgDJb`NkHVRxK@Yv`Nk*kXz27IlG z@X6R?fVHJh0{*jPTi8>x2Wqit!+>uE371LwERX4cP)Y@U?viqsP|@TtbOhmoAeVKz9%*eNcs&)f7|;6{DBbR ziz2@^MEO4u$ps?$1WoxLE5ZjI!uf!nsu@UI{VwlQ!0~zR%6lvvP}lT-81R`vgf&Ifd~oiQX!{k?_HzUtAh1Yat5{|~ zMf+^kEOlM^lYkckYBfaq_Y~3jGts$J+H$%}ef;T4p|2BqT+)|Fx?0lbN!my|PyA$w zz*G7aLI0gD;X?78p9d-VB|uNn+DETHTzd0n(e_}0L!?iCFYq9N+l79BaPF4$PC%`` z5hc`T*iv;>@wbMMQh9%YPsT_gB ztC*fRfbc4JB=otc4`J^yYkVeGM)7;%T@4XhzDl6UJz4s_Lg159`&j}_u3zS*qRB4N z^T;&M82y?vE;2@+p~pq0S0jY0O%?lN?Sobewn0^eCqTOkEcW-}2@zL4BG}XF*1S^8 zN}t%g8>%t$sWS&Ee6CPGEZYd|D#6YXndm{mt_%;UY(#&4V6lmLhXecEV$<@D1ZJN8 zza~7edTu17ss>S}(JZ9mf?ZM3+;1ah!G^57_4^5D_?41M9a7g??AIlw;M`@gtC1I0 z|FGCC$P25IA*S4qB1cCe3h#quec>k~#{!G*Z?K=a5gk?24W?cyT^5O|C4y~GQ(&d2 zde7$l2U5Is9UJtx?v@QnjoodIf>#lAJL&>f(5 zTdb_S)u~e91EfXan({)oN|jiwpsLlWR&^GutSWS?RlUVdE^c*d)EtYQUR>zbsADZQ z8F>R$m&N8HZ=hOlu@m}^(Sy{r7F*G`5bK?98ccj}u=-INTN@ax{*=bfhzwP^BaNO% zR-KJ^QVzD*F;#EtS~b#Qtf5X#w-{@vQwt1+8rmbn)fR(E|BX-&3--P~6#X|s{l?~P z!9_c&9wqguzgKSuHqc_b;gJWZQ5L%o*htkN*!y}!)I*^~Hm@v3>|~oaK=RJCSiWEv zSZoixZj}1E#U|);Bcs&a7Q4c^DsrHD#$x?*z7?6I-mutfq5C5Z>SK$2H}~AgG?hD= zTEDL^2yTnaP$SdW%aK`XuEp-duGbvZn#SIZ%vGpV*S)g_c zwn<%yWfrdJ4>Ebnf`RDKYP!Xy2MeRk>KVBf-lW!4oe^26UQ1(d>tk66*PM(KOVx1} z+oo@g7RnoNn72*e9PJ-nlFqw28jmhhzco_CLt54T+-egk2Si)du?ADC1|Aq~Qzzl7 z8+qy<1%+z4y2E1gu{m~<`oLmO=NGDW^{K^Lu-$dC3Uj*?lLdb*QrOEn72XwV&F`iMcZ`*u}$hG z^uvv6!I36!2RLt3J1ll@cy;7v6_{l>Z}m1tx2owD+XL(tb&!bl1vbfID+j%;f2gKePR^S@QVY`98IcFnq@#_Li=o*= z>JGs+s2c@ij#Ar#jNT6!1Q?_6!)c6hH-jT@kNJ9JMpsIL_a^HKlp_*IH~E%xdlVn4N5ei5;E zEH(hQGlF_-i?JEkM4p~uF|LU`-E1+gi9&j{#keL4>2((4nkcNVvKZGyVSSUq#GVoT z!!*_zi0GdQwhhmObOv&@w@@shXr%%@-D0#-Oh0EaTB%4MyU1|TN+tR&i_tEnx=<$4 zZHjg&)fZcgb}83STa5NB*Xv}GH7meA`YMaDwSDv!i?Owp`T>ivwUzp5i?OwR^;;HW zYy0XCEXEZe?rt1!?8y~iKb>nat^oV%!4~5Ru)iK@FtO4AeN!4+8yKJ;5p0{HXARPG z7H6z9RKH^}TB%mQwZ!DnN_G0$r3RywM(EZP492z}ppQM#V6@pN{Zot4N~3hqa^`JN zXZOddOAof#_8elXE%u;b&sppv!B{Fa!}7gRX2rspa!eZIOqszrQ;yTuwv(4LrKb+m zwI>tXq%N<#KYF09x7Z};d61rCvG$sWq6g`dEY=--0@x!Ky98c-kbcEtH{$-sLHZqw z-Hp6@{i(&?&wVCZuS-rb_1%J7MdS4u7OTP9bb@}}V%G;N^#onI(r`Y6{nZJ2n#CRt z5^J{Dulhb4ouKa!>>Sk^+8jMtzqN|xh+Q5%1e<6^%HPUgiZ(PaJ z!5V`xdN0-$rx}dVyH&qsF-Gr`^$n++JVx(Ty7dfV=P5?-H9CH#!5F>Q>Ic%;%aL`u zd9BG~Og>AWZ!yO5v-Ni@#yMxbe#l~+bJpu;Eyg)#y?)DLoO9Oe-GXfjf7jg(EZof+ zHidtP`{wI)iN%@_y*KDOi_Oa|R2y`?#a5}0qZ{=cizU^kz>c-pt9noL9NlHHUE0k# zN3XZo?r0?ETz##@K8xl9yVYVBV-yPNb+C68ED&L;g*QtSe3 zNX`ZNFKKLe&V{<-tW@6EoQw6uG&V8kQoTg5P2oS6wK|vUGc5LbS)qHmKG$N;Anyu& zgT-D&-WB=|iw%pkI$zUISZo~Dd|%VgSg2;yiY(zRO~a&^PFk_2k^97<+EgcUg?F=Vm=;gUMs;*{VOV7^BTM_1KLjj}iKt z`dEuG_S~wsSd3BXR=wjKa&AzJFSqG)&m*=eJV&=Wx9J-!)}jmD+w>h4Q^>nrKVh+4 zv3u9HTT=PS+H$* zPV+VQ9{rrfXqWHlhVv=K*yVn`-~xluEz{f#b}qG>-AqF=LU5v z?u)&s3$HZTnbCF87qz;Yn6cT*y24_#*~@yc#b~ov^dyVXX0Pb!7UTT>s$OC-&hM}4 z6&B;F@-=;~#ki_`O*p*d$JlT5E{k!D{YLM$7{}Ny9sat}lVfa`F0mNL*n7IpVjN@d>3WNCjJ>btSd3%r zeSNIOsON8Wm&K^(Z}nLQ6FooBSEjMo+z<3mEhks1AL(~2#=iYXe`GQC?H_dDTB9fX z_7A$yVjK^D)ckQfdI-nEAN5#^aXkE&o?$VLhyT*e7UOu>tyf!&<6*a6XECm0 zu?>IHHyKRY@Mrz~G`2SIXFGS8ec`|A-I8~W`n2${oWJVk>!{f^DjuGm^Eds7V4KuQ zrE_vV)796D)@n)VF**OxXIL!1&zzip>US&_>~l=c9zFdVhVyHK=j42@Kd{*OgOABk zPS*{lhWq;;pQD`}7P~dnir;Y_d!xxarRo$M#6Ba9b>i)F&k1&=daY<(jyYLTRmpP` zxkbDi>`z}Kls^}e-W&QkKQ8TA_S`B`epH--4(>tqZ%_*l(q;ksA>j~ z-_&(0Ea0lkAUS}UgSo@OgS&RUc#J;#qG$BPI|QJ4$V#|>Aa(eL)N(h{0o9E(b#S0V zcdmon&j&HRDrC~s?Q>}n>tZe`rd|Ux6h|E!VeUyH$K<{$Rx-WDG+HV>b(Ckq$7h*Sh0{>Vq%Cg)y6QVZpV3eFC7lc~z1?H&gG7J- z$ojp|r}m=zdCrF%M^%XBFZHFzO7D!9o_ZQ`aEDyvoFO%uo;5yiddg6Y|5Njn{r8pL z=u)P!N$-(vI$D z8Bdzw=*e#KV3zxE*J#}r z{i}Fv#`C}0Xxe)Z?yG0N+KBf1@V?q^=oxK$ubQ&sNzXOazpjZt;_XW-qfchVxbMC* z67sONbkzH0^#4YT_W(}&d{K{^QpV;uc%L3MXN&*rODjL!uc5KYd+@`cnjsR*`sZ}< zy6QaYX3{I6p;pT!F6}G*xQqw`kCj+-kHGO&5!Ij~YJY5m#{fOm2QZ4$o%{DI#Ql82 z@d6tKHVK?7utnffz*5|eCg-UF&lLC|pr@V$tW?`2{i47>0amLP&D;$_8SgX<7@``T z;o&-UpHPPC&#UTHlk;rkP&L=NHIJM;33P?zUS~_aiTh_Q&i?&os`1X*f~}w>;jd7+9#5Iyd!&p5R{!O1NaXIu+?v>P%;ZhZoviCVN2Rx6nfy2Wu zt0$qS2MHG=cf3>A=S{#?NZ2lxsnPexK7y@=5BNmA;Y_L8gL)suIifzgD_p7HmG+L( zlVbz)C_N8wyz>{>tx0P6(D`E}u7I6qi-zkDokiHIeZzTq@IjjPpQM|d>OqqwJqPJm zBgg274h}wFC|Bqj-C1%i_@`8DLArnGZ9>0WDEA{hx8f0@Y||0f*!dOG#ft7d=i`MR^hKKJ!F4J38dEUcLKSc?RZfnhxNK@u!)cdlt zS&y#zlhfiB_WLV#d+)9OCnzfhXm>Me@z4*iV2@$5J}Z`k^tCu!7tu+0V?-BVKO>@F zu3`F->Qbct4DXHT(Yd84JEg22;P7xi_YLQM=zN8yZjHJPcV;&0k%KA!CETmutl!D~ zr!!de9PeBcYs8-DA8^<3PHp^(>80*<1E;y8^ivh|feQqNN(bnz&|j;$x-+yL@Jg@M znXCT*SfhvP7VsC>ob2AGuft!cs+q#p+>+GnWf zL%0<8GWW+l%!n>>)&@4X4^&)&TBz-Vx)}5gZe7W30djs%V4>UOJW%mu;7Q@ZDFK|P zdQ$&a_|?EtcZoC2UFvrBTMxK-5YzXRO>-&jZN1d}UK#0I2CR3fZBFn>{bsl*NNcmM zqwvJUgZg~ukl=%QP2`Z^W|#L!a-|hxr60#idZ>;U(|g(W2lbC~zaMOJ-VDDTjOg!R zKl?#_Bj6Qo#o)gLUlhp^efFTWXi)&Idr?oRDfV8}dqRBxe>|A`uDSU&NY5=93V28f z(|bZAy*E(yIPYD+Qvg4Wb$Cy@H=#G*)lSg`-iIRjPx`LBn(??20ocLfj z^r4;}35VWr*!DM^i;Jp5e{xsrAtB1I3-yswPrC8qgF{ccv2bIk2J~Y?)O=a!Z=!k3 zSyz32Xej8HK+gRGt_$U>tJH&l*W&JMKHekvGT;{VKH#nDuYh+bC!DYDQW3y=RY^Fk zo>Th+?of4ruc%Rgud4$A-%=9+-%$;KyVO*`57ZHWAF0`ZyM=zaUV!vfx&`oBO*uDc z%GrXbA6B<&%DF=y518wav(O=DiL(r_!Z``BpR*FM+UWos?3@l5ch&*cIU4{+I-9~n zabjnB-UvLO@l?(TRji%^?5lncI7od0Sc_-fM&OwV!ifSW3;jq{2+Dk+EE2d(#X&hm z%>(RIi*uVq@;T}pb$9ML>LRrF9Can&Ef$`m{+Rm&PGe0BNAxXfZr)J9lk%DXH|Dhi z-jKH$@PWKL0bk8)a>&yTcv9YGz>Rs^CH{)f;$1{=4}T&DeptTjd>A|?HUSr zTYeMZkMr9B-_73)_*wp)fUo9l2dpUg5O8EcB*c1$0xm0P0(>>E9dK^mX26s3?gTum zU_0Qm1s?*wR}g`vU&Rx#BeCwQMh`Y&&2ul#A-$`9i?bhjct&JDeWHF|zo#pm0nR{Y zh%?Taw=&DcvtI(iwu_GG5o@Q8{7>eO} zmm>TtR;4%@stPq2tIRmC;qcl~m}?JI{rSr@cq(oKuCEs5Z33KLeG%ZtC6@!< zFYxf_RYRKMc7?Tc$C0heZPtHqN>{fP1?Z9JkooY?M?AZ`=$FG zlv|i z+$p_sP3w&Q`>Ms{?yD}7`^7bq$3c&|xT=Vt7x^e`5a}HBq=Pf!5m2x?K{_T+g%trh z=+!*XO8_18Zvo&?HBI_UjANRI||;O%{p z9t-H;t!w>}9uLUp(yNf32;dR;NDl&Z z)L_l0-Sz`?)DS%$>HPs671tAy#_AI3VftXCYXKcqrw>JXIG}^4${LX#2k77&&19qx z0z`ZDRHVlPqP=<=(h~t4Ja^WFbQ7SXj?hOUeIy`u-1SVPX97BEmY$9DY(PgX)N_$u z1c?29Js;`g03CI_J__l@fR0+Ck3o7VAb#Upw;;U?(7|(Ti;zAQ(7{uZ$06Mb=%_Be z80j^Djyg>*Mf!9=>>TT5NOuD|YMpLFItl2gv-EPL&jxgG5~LmJ4S&1JJ=-%x4mA1Z;B7cedavV0z&6;0<0qF4&(} zCjq{o0_zoc{GVd%z+po@{kbWW#MN_8+A+8z(vz0NwYkCw2=Yrlw}e^Sq|N zj(bB}aDOVB@7~bs6+LM;g$}@8fca4CH?a@!0KS>d?XS?QCS8YgHO3G>)7&-KmBibo z?DvuOd#3%KZNKN*?_=zD3%+Ce1?)zsNh6kZB{~i{Ve#To;}(xplP0fdTiS6<`>NK& z=_HOJao+5v#S2>IOkF&0>f{BDvnJ1&Ix4%|DAhD|)tZ%U9ZOGG(Y9oin$h0bg|B6! zSae?7vaY48mak|VrIxpKE%u?E+32#4wxwNdzWixzt9;m$_RiHlba6*U?uxcm%ezi8 z@@KTIVv@3Laxt<=TD^2t+X|?BYzu;t6ZIx)R8o*4EXu za_RE6If?dFU2PpKDawsftv#JWk&nWYFm^z-L{1ZV^-=%EX#|>sBs5PX@n)~rye+J z%+$jV8#Su&pwUyuH;y`N%wdg_$Bdf{`jq-{hmBQ>7tiln+SR_Sv7=+@nN6$OyB3_e zx@~^@+O~to)~iV~6Rm4jv>l=*&FN@A4X)X=a`lR~m2f5$NvxXE*0r>KMdu-E>b!Z2 zr%XM(X;#y$X^W>#Rx9z>cE+-{)#O4tJ$xoN&BNGfoClWn*2$_9^-NYBWbT4c5W1Fj z;OnHs%F$EQ^y!I}GnaNDHEr_Z$+Kt7o;P)h^eo=dKf)xEjnk&~)Rwi+Xqq*3 z{(_bnzD$x7MJ#6PX3b7vM>kD9#-J!Se|qB_%O&)gvyYytXx+orX-iieuGS_JD-Tz* zrcP^I&~)_F#fQ&moTlc?p5K(gGBr${CU%}TwQ&l~+%$7qO0#2{rYx9lTQX(pjHwHz zPFdVIc>(mY#K|Z`Vuph3rlZp|siX;E?I_b6)2^w_8A6tsGGfpk>O#Vb#L`xN+rfnt zIupT+iKVB>cSqaG#A$7f%evYPj^4{4ohz5FSkcz$qqMf2*uJU_F4(q$QW#}KTH6W) z8m2nh;0CEI1|ZNDoSv8i-Zd*%p4nuYA%Ne&`x(7+o_Oax>zcsmn)7;EdBzMjetyOg(0k&Q^C@gjW7Dh!YGz~etfOYmKJ17Y zP4gE>pB=TpXn1rF4UcJ>HD&fOQodPSyqTIv5^pA%oLISf9_EoY5W3n{(~X){`^x3b z^d)d6INF-k>W;S4$l9!yt?B3>FBET9tJ+R)7RfClxrLG?>6Z+GmE1zfEtCvSk=&A& z+#-_63&|~%+@j_s+NUh-TFM%v#{@Z{eU*H#UWzG0QmvL}@szd|;9l9eEYY!|{RFjq zS*jZl8QH&RO6Lf~<+hIYWt@7NSFV_nSf{w=f&QC!Q^`mx% z@{^{|Z0}sA8c(E;E$CRfs#E5*(XDD;+tOCGw6%5d40yDf3DplzbgVR3W2?!Ud{W!8 zQ`%Z5pTzEHRVOU%IJ&*F9aI0}PP}1e_2M4+l*aB#@iS~$7U>Lsdg>}JAzIb^wl0_= z(ShX3#G1~wIq>$*6fzUzs8uy}GGPCI?Ok1L8&`I|q$qJDnY6^%jdvrbTx}klg{{br zoxj@2>d%&1NmeCAj$5Y!MUKR&Ne(?EZF7IHWQ$;%hebC)gCbolihbCJ0DZ_7E!v_; z7HN@(ZLuvsn=cH*8LW)RkvC8OJ>)rxU1EIYcQ1ytx9vL29~K6U8vaIT{mzE zQj*WKn*K(yP?5=QE+Q9s$OOJ8cZ~fi!&P1u#Rw5%6cSZH!$d|-aaRJ5%8JMh2p@$g zd=#SCRjB6ITvZuyn%*!|_J&2|^dc;0Y3@aT=hwlzoBpCFb(e2$E5NQ>!T6D&s=XJ< zLtrhL(&o0_+ImBWF4b=O*IhH~?s+u}H`qnJhNfAft>QPxF=nyQC^rRSk63;*^L~qw zcESLX!4?kCkycQpHs=SDkZ}~U(+D_LWRX3S2@%^xO}eOB7K3!teP*@|snUbE+KXVH z_J-G6wWe2fFM4jJWb;@QZ4ryP#o}6Z z$R8J`PG}PdwX!tA(m^ zv;f4AnI#}|fzjJFUKtbsBg4{UTm<0g37}&lpzyOzR+Br%XdSHKYlx#GXgf9nZ&z3@ zdH`1xNNyKz zl0fJb-7sufW46!$Kg()DKuC;=R}@PUUE1V>xdgv>S!R*IGJe8*7)LWF>m#U8Xb*P} zLuoFyYDF|G3NOJF^omiC(NO?Wc&WDQN8uHai~1YQ2xAS-lIVj9%U>vYSRBrRVPukl z!GJ_tw>}(%)X3<>0ON*5V$ccSI6|dAR$JnUQpipwFh2VM|wOI(jkrx9@k6V6kM3{$Mxa9^7aDALB zjKq}P_4Zom+XJKL-9{0bxjzy_%Rt4Yfq+XvpUb825 zwhgWX`^)sEP1jPrXsUC~pt8NF3T=CZcE+*`g{dY793cREt@dzDs%E<>h$%0|(xPOh zU1BqA_h4)VG&uqv^~Gt|Wk~?t#WkFgG3DM?(L#$!usYyh8{kp`m^-WnLJ;JA~>& zwcczK-Y(XSu9);@B z5DB8>jzV!DQpeRg)O^h*VH-n*P?2Hk3&nww)f$zaIeew;f`T==3e8Nh2y2zg7KXr^ z+rGMj;mQYy00M-i-zXp9Ga)hu#i=_$! zJG6ZX6!G0IUtw~QAhgfmdO|TFLUp1>qK(5-fGB@ z2wJS3CUkq%tUyi$ZA>QyAm{g>rL-|{9Y_x^5!m$o3g=wCKeXc3T7too#nh|hbJe8_E=@Q_wYaxKHA1bh86-@<2*@E&VJn!GC*|5#H z?(SOugMr5-^hF5AL3j0F`o_8k@7K36gjkoO4$j;)$Z-iQhMHs{bd6eT*gz-rOhD2U zQ)jFdP1BWZxZ?%_V)n^edad4*_3651#64_|F0T6fVu~J(LK9y6#?*#isLLc30IG=L zsBH$?f!r%hZCL@{|J%(Nx!?IA?!Kk!p1MLz8Fb2YvEf~>X(74=tz3j;@#>~o1=$gD zzJ*{=@EULiz%FS;O@dWh=WbxwirStH zAS#A7(WJgavn{W}EDZ=L++@zgQ?dX{T-+0dnt*E2EZl?y*0m(+3KvQx7n2mWg4+M= zLri8Xim)J{|K95fBA)g|59VfnQ1XiKg9NcQ%%WR?)neNxi$!U=h1fU?k|811F!E-B zyEtYha0_!Fo4GOa5o4HHh~=Oihh+x0*XJ(pz*@SAMcCmNGYnJ0Qvrx}*2(le(lU4ze70d59uApkdmOJYQ7%0uPVeNWWNM)y3 zN-rdiczeUG7sS$wTq>~oC{*oE9zzh=nnX4US>CVEBUCG0gr-8gwMuPB95fc5DoTPC ztVfv;91b-m-Z(R}(+JrE=GtD(Z(to7p+W-@+hlIw*U_OjJ!s)DM;IM4)E)7bOB?-0 zb)SVD8vJ68OogguUye{I-7Owk5IooP+{V;;SZ7aKU9e)hQA6x2I?f8uAX-_4Du*9e zr%r>DZM9|HJPq(E*RVYt(BK$xNz+in1Fk0eL1B)yfTDr2=h{Ua7(x6BbX7Oq%ezq+ z`Wu!e%(V!Eq1B{4b9pAfv%)bwLBtL4UjteI;?$Z$sLBV5lEF?^4N%cXqowk#Ap)1# z#cXNFM2MW8^KgFExTuYCfnP%(IPx@%`mMBkpiZ<-xMLdB9Q2*({Fjb_4LnyVG#cWw zQTxrhvFv)2bX#i?6}n9&aY0;ZTJ(CM1GHOZ`FPQ58fa^7YI;S$98YqRG*f_u+X!)l=hcDD{^G>r8oT1E z(x83-n};cuX1MOajDU9u3ly%>Yyk8U2O()kLQD3GI5$vhhB!oHtsy8AyZ2eC82FNB z4jVhjLTbcefUb}&7Dk440qt%mNGz+kUvCz%{Ym!I{A6Q7SW*c~6XubHD1c6ZVp~IY z>D9ha9FY2vBwPi-PYsDcHkUgU*P0K+GMsEu9eteu$rw_KghW%vkmVXdP|Np*EhlMW zI91ppC^req4z@rb3tkhfrW@RnST3}Egg6LQ*9O+yU>7Ek4bdoEMKPg><+w_-1&B7X zB_zaJ>0)bV%l2c!D2s1|;Q~zGkZL?a5R_6s8Lq=rMp5@0cAQ!BZ?R;W>Ou_fXbx{X zTo@7P^WPXzKRTUtAqANy>PooZU?N!;%iUFj)Yz*l49zfGrWjTh1~Z4E!z__#izn$8 zthOzH$#_dipq)m>qNhR*F31vI9P(Jw+-B{x#$|hW3C{#V9erWM!&wXaiIG?+LwS@4 zLK!2I3P^^voH(rU$meOH+na@*B~0AgFhqF0goO?=Saf( zYCr;->-eIo?a(c!ySk7g^>)Zhp}G$3B3X;{+TUtti3M)KP2U2R^I@n3Z3-$;LU8Pf z(5ksqNeo4^uLPMu#8P9mRjFJK#3#bjQRe3_;q2ixyt@WZw8UGkVRYgd|Fby7xPzx? z*6~t4EF$o>6&Fv~JZ;S39Z3h_2pq!WD~N?B2Jipyk++J6*DnHtb-ARtB5@_aw@~65 zQurv7wKNd}7ap+KN5|bqxiEtSHp9tp|IV-d?pJ=Yk+}EC-6z@`NL|3Ug>xMNGsN@{e#32jx|JAbu7ADxXYQw4C(s(4jy(KToW=Y)p3?tS zQ2ljd9$dp)fG!#4{+js`sHme2d**BA%R9q+-*o?NRk2?(iE)j|qd!Pz6M1LN3fdCq z)t)*aZ`$_ZX#IIqOZibJhm~crx$x> zAND~Wnj6l80{)p(RgC={S{Pvb7IA_;?)7E#I@@1~;!Oq~8H)oS+*gfa$UnW~Ztm+3 zZ-ZCJG2{}HX-laU;Sh7*I{0u&IHD-Eb4=h2BB$Lo?hK9|YQ8y?OCDklbG#qd0+yUJ zBPq;bja?Q>koqXO@QykUz@oNHUp;tsFI$5$M(5B9wj{tjiD7JUW1jFW4F$}C6~vdA z`kpW!`>KT2mhq5`Wtm-ObPZ`)D!6TQ12F}eHE|w}O6t@ALuafpL(I=~gJ8fJ+S zi&^4JU7Xi9nP!}QvWFZIW|Z}~_`_r9GAs-0Kcr?zXT~!)BMt60Uq11{PwUVA_WbW{ zP5k9Ays~!Pr1FV`GmtllK>*|93}$&r4(5}IY*w(X!Mw?Jzc2)Ju6sO{PUNoQ`RlpP zi&-4#PK@QQ0>l#{C5z)Q*?9Mq+&XWun2BSW^&A6-4rzkN^)|x?MBwBw1}{gLp!>`CXM)aiXo4e2pGCP&uKTo9*?E2tY4P5I zbTXM_8Dq|vL!xt6$3QgS&XS#&0PV++|CpqGX(*k{b-tAZA}M8bZ-Ay;=le;t&y07! zj)*J>PG+?ajvX=s>gYz(E?&imT(`3_U0W9Z1SJG(EmLop2&5dXP?UO<*p8* zMaPnOAx&apEJ^&tAegB8BAXZ8UP|Xv2?rm+cHTy(Wbn=6>txf(qq)ux5*fX+hvswh zhtduSK%>~X5|x`D%qQ-_NZ`G!*(}NKewW;pIf7qc9Ubrdae^7cOpuR)yT_z$Tq=*V z&ZFr8E$kU5EcO``i*gU8Q(;V&qX7;%G?qx*Z;s}=-^VRAg7V2^&Y^qL|YU*SfR%ynPIyTNqW^7xsZg~rl@ z5sv-+Jr3M)N4oAExq|BkNSu?$?~(W!P7h^{qm5{Z5lTTSa=t?f(t}8l%#0e$9{Z63 zkt7A`Q3{U6$FmP8PHXm&q|RoJqMb~~k2I8xO&&?-6ct~Sm>(=CGmKHk9sfe^o0vS{ z_M>UcJd%WeP?U6}Fo*M!DD*KVHOGR4a)RUg`SdU*2)O+{6efHN67)W#x3M(J2~!Zl zfH_HWT%DIDFJ)dTBk3U&B2(=!23HBxD+gIvFXN1*vvG?^2W6AWXQXw|(b5aTP2C@l zci$XMJJR<;yL5I&q-f{;bbbJd$1);_-p_DOS zkn4Pep-*N&X?DE()_C{r@$Nf1tKLI_kP7ckWWZ38a)L<_38D3_WJlhg|9RpS#9ASCLo;*GX`7wfiLJr5t zae##K?l|g0?qMOolHUD98Z1?#UH2O{zY8w-NJ5-&zmZUiKf-_xJD79>j`Js9xwiGW zv;XkCv($L)t?&N*zx=85%2V6l7=LTziILa}%Ell~huodk&)9wwX(YCMhSV?`iS44O zfY=mD;gL}$h2NJMyyp}b{$eDR;3dfme-(mm#N`XT;7Kzk#UHMuvb^9i7$ybd&ZHjZ zLu@I6c9n*dHaIwf;?V%`O2p1?Z* z>i9PCE#q4u^8M7%c&9T&?T~vqWlXNh%Z)(;t#O0k5e{eP1s(qvB=C|3pk$e=^D=Yi zu9Ek1R}WiBI0kn30TkF+en`bvh{&oq4};^8cndLy@>Z@;<78ku%xetniBVK!%XLP; zz!n|_80PLtl0`|0Y#1@Z$^I%Vi`Qv^V1m4=w>MNqK8H@Fj?6l26%7zJ=Oj3HLN&-6 z4)8RC-q4buj$fZZUKB)#c_~WxZ9X zaVN5Alfxj?g4ZR-weK4yfzrje8M;c>bx|0Df3dnGa>MpA$;)OQ#_h5`Eys`WygWFXulJO zVcq4z`P#0=OL>@#5 zvYp0zkN3Abt(i{WCCiz+XE}2avtaxV%AtqA4y<3J4(wJ$;TMPp^?}5kF@FS>{hPn~ z@HI~U7x1mzF~7per2F(I^Wl$2PUgd@Y$w6Vygf5(BDeA;IJ^6Oc0#|6$Df#{9|FOnP1W^%7OeCC_UE5}sPsqor)=2X_qXnD=|a3Q56kB# zcgerMy#MKN63=olCT~oKKPO+q9k-qjg`~kV81BR~QHPhlkEVy0w$q1}Qt&=;xCpSk~0j+gF5#1!7G z&MB098()4F@w^v|HbV4qb6`q+XybO-a!_Pg9Jq?(w*n46>#^vaU z(VMRx^6OEr8l!!7+19}kW6fb7GNe8HS?Je3&>guFeE8h^hhXro8|yL|un#f15(P78Lw`S8zwc>bx|)k+@62`INO zOv0X@%;R^1ehEhKg~_KkFP?gAG7np{R>Db(ntNfg?KUQ#dNMPT899$rF!BSIJc_6_ zE=;z9+7k`@?5g|1;8aW>WH@?uLt>@?vM#hJgvN`wKeV z5`UPFmB60c_>84K9G05LCoX5uR zRHLOsi;<#HMQPPXOUsP57z`bJ+Ck~ii=zMM-D~ZWqtp2xzsIxpTJO5O@4Mc$_TK00 zRNrh>UF%X8<+_k*+GUGoe5!UGE_|BRXV<>VyKwPaC+@h*k)L2IEnd#4+Hb!(KeX5{7XZmoFv7l#PS zT@o_j;CwOaN{+q<_<_DK7w(Y3@Vn1q6P-~YOBU}V4#-R>WIKKa4u$vsN$ zrkDjMk9+-9;cxLRIy2J!YT(Gf^lh>64KvTJ^!4tSy1id^`QZPJy1jANduL;34l(oo z-YN6&Pdnf4Ibz+*4;H=GIPBWL;=eNUZjW&L`qH(-qff2;_Rc}Sm)~9W#e`FhsoR*d z-&Cnfzo|_g*V%2hvY(T~h1Qy;hYd>9tDbGSYhb@O-SmWvPR`FwDleQeb4XdiG(Bu^ zobycM^aVPdIykOXb8e-+J-27T#OD0U*utV0CQT?Wnif0$1#MJ)s;AC}ow5u^E9+Y8 zXNQfneB-8RL9O+~;nA#Ded?Pl^Bi2F95rq1hwWN=PXChWhYRD{1fib^00%r)4ZZl` z20b@#jYEsz(hv2Ud6gkSs4fb5f#1Zj=jZ-w-6$MWy}96^*1K{?yu}<^PWAem{%~ZJ z!?-l>33}A?Q4ZG@AN-3x^!cFvaY*kjR|4_iPTSghDkF1$B-W_cK5ur@`cd0a~aB$#Oj>|Ct_Cxr0UHE=XZBXzUiPhZb!}+)xd~leqd|URWZz z9*`dpoQ&)(0A)vl|D*EYCo1=om3LK@=j)C6o|cxV?l~@Yv|@d9r-IPXGc9C0RJZwY zg3JO{zqp&lef6;gokjm#=3NpGN6FK!)Vx5SbRQ7kuui->h;<3P(u{ zKx+r~2S?V05PX5EvG!J`L^)z7FmN{x=xTUhRNhpzdl9 za1U@taFV7~RrkcfQ%Fb$Cxgd=p||P^a3Anu@YCRx;1uwi;B@f&;J)C);C|q*!Ow!f z1@{O43LXG%i6Liz1Hc2p9l#h|bvN)Jt+Q7B6b=R>K^i9+2I&J3cLc(LZa_NljNYZN zQ|}EpqMT3Umg@%n?98b>2~*S-5y*aRkqttVb5l;CYkv4aFtAV6yH! zVGb{wtiLp&oX?o7|2Sb9UocrOnOMwUo~-|M;tVb(>lu?uSc5+G-RE`p5@(l0`-Q;QPj}EV+s1>$!@Gn zChm68qmH||ch+LHE`|@n1{!)m733ce(D&_jV+#z?ouyIKna__W=x$|hOi-dYHIfC0 zq@S1@Z!pS;(4Ux#zN9ROZ8HiTDvLrFJ2wUD4&@2__~czl<$q;KwMMA4$glsSw}pt`DD<#(L|izXh@wJ?sTv{;|9M`LyOHl2i;^uP;aD zX?OAXDC@_2Yx;^wKDtAtJO7uv?o-*vHUd+=l5~a-)(qPRQ^oQNMo`)BKg6&8fjDNA zrKN{{`wzs2I?77zYsbX1czft$rZ?Aa2H^cl+}qX_V}4rNdFY={?_*P^DITE*&+z4m z9(s=%%>y$tYss|ucuF$<$K19I_Ru%X=+nzIjVXRliQ6}g5MUYSq1Ltil~#O-HPJ`p06jU>ygT$pmitU%1R!!vz(t(4jZ2|q+! zl0wqHSy_;>&JGMXL}3^otjD%b7HZ$&GXyQmPID+P6qOc@ zugo2ckVmuT2&&IS8Im_;DE()o_ec8Qkp7t}8-kUZs`bKlM7E;ozs~m7Ctiv%`hj(u zRx^$FW!3k2%@AI5lrL<>7mebJYiZ(`>fY@vOJBC@V>bHuI?QDx6;67gqO@Q(b&~qh zfPRcZ8Im_;DE$o5^N{`)(^_aBcS42v1a7r!8< zyXpNAtzV~J0!~rZ{2NfTGsCkG0R2PjwQ?X83OV3 zu&^=67Yb$+8D@}%ScU2nP=@5!qX%=N-HstC4oRJm^rpA|)m-wNj`P~~DRh-pPE`?u z&afr0d~McUI;Eh{uI{<0BnV|l{%ddjrFqeAJCWpvB-*t7sYKf2lmczsb+@X3 zczBz!v1tRQ=>R{eh7*z_R<{LX*wyi1M9ykNV9i$_QPqJXY{ymy^rn3lDLfcVV?zOB zcN7YiOF1pdouAlSl^W{{(>l=JDlJ^q5CNwCM}ldMhyvpnE23FbJZhpPKfzX8f8-=8BYPQdtCLn=*Mx7}(@lG~z>cVN+g)}Apj1o@=Qy2Q`^J)TVm7qEyZ`3(J31xs~7dqPNq%L5U zfVjRJcy)mr$0~5CCXFMyQ)=>pC~G^|jp3iSetNQ}UcJC2gp4-ER$b;3)ghGMUJwvp zpjsaXrj>BKO?=oB;)7M?o<`+P3tb%H9oj^F^g>^&jN4|znG0pZWwx50v(-epK~R3Y zFrY_;YIrJ`Lc%mK98E*isFuSY1Iq?JQ52CHMg3=}qBB)dY^sf-v-O%qfgF)~!=iwy zxk_jrn7n8{Sk~LsRwr%2WfW#cM248$f|HH$sZn(-1jFgI+uuK~hJR~|a88kTF*pkR z5*Y5KEdlocFQpAMjIOe^_N1d zas^@9Wl``q=2^891yD|F1Y5w=FxC+5U7TYb(RP8!9rl9V75jooj#N(R2n^c$;P&8s z;11vqzz7W50WfuiQ9o41azk$oZXTVd~5UdC|n2rRahv2g~ zp94Mz-VZ(xJ^=nZ_(SkTFkMXj1N;$~G;j(`<^KV`tWRCi#Ay{>6cGJSWFk$w3MQ|= z2A1}D%I5VHOt6X~Y{cJC;@^TPMt)}#?_m>%>9In}(DIZ>^SnV9R?;jG8%CgVho`x_}@531lI0pdgQXCD!HyQWBo)bEhXAS z8Wlc2L6i=E20MX&0n5xBcbp9$8OR&xx*nVe}Y!2iOz zBh#vC2BC$PNSF+E0@Ia>Gk7Ps75H?78qq?)G%Z5G(w?z41Cc%R{KVsb zvcNbc-cE@}*u z9`Q;j{|2eAL=u(1vVd<7(tmj6U4Ar3f2(ee(*pz+QnFy9aChnH`U0m|xSWyFn^Hck zAI5tJ>pm-|@yuX-*~)VMe6aoiR1&P0=;eHNuzp^j#+L-^S*xb;kBCO*Edh&ai#jmw~BeM zQvIX1X7IkHdeWaucvh*%dX9};xy6rPC${-kL^@x$Q~N4<2`;21%~r?I>!LYS_6aK!5zU8#V6s zP8u55L*7d;>O|utyYrnW>OgE$fPU|t1av@;-nMM?WsLP_z#Tz73P=G)0hK@0TsX!paIwmoC2-_4*~aG9@{+`-%_ea?wH1Rmx|b7EK9$!!;c>* z6>Em!HqfZQ`0?YV!g)B-kKp*PrTV46OyieI_1vAs{QpYzeLJV|f1}fl#r$EZzNT>+ zcPi7J-!0}IWrlL~6Yu)*;4<7u%hD5e`SHjyXm}h?DwEnp(~ozhp=m<{qjpE3WkXvH zI7Gwcop3w&@oqP2*lkZ5H7wN{U}z2WrNi}-19SMS;rjIh<-BINKK$S`zI?d;>A_;YX1LzRRfqlfp6B!(hsQZRou`6oK@EaxmybO7 z(|O{22bQGI{m6x{&C{2Cw32_Fr-ytzgO48}VmmS)ecQ(_bbPP{&lUO4FekCCBkp5{ z9tq`dju3r{Sh!wz#2v@_j3dkV!4cwoM>a;!|HO~~8-+r7fLk8I%Vi)O+WYqi{f$rF z;@-~-HwzEZCmwad@va$14>D4OoUoWp!=<-O4$yZTb0ei3JeEdEaVwQG4~ik#{Nqui z9K&1S7c_sNq|cA1k&;5nNY+`;{?x(x&Ttt(W90*hicj-MX}FNluYQ_9`U?1LjdkR6 zQs{Yo>Qztu#Ag+xwLT|`p`%@Iod{souMO=ntyT~F%u~N`axV0ukNkWjDPqHC2)d^} zPp}>wA#3Sw#Oly5;Nc^7Wqi?x(Lk4->chg4;RSg>1yBoY0*(L|fQNvWe&uw#kw1H4 zo_oPxfMg&Kr~sA#4Zv>T1aJp%!rm|fNCt)irNAm+8*mJ`3_Jw9d~gl!)0p}yTX`me zzfh(}o(Tc%>USoZh0iUMzM&1lZ5p^U-EYc<$wILs!o{{Ww@hF8Wh}2M(?9w$iNAqa z`Q-}!L7Beds}Q0cU&Zo+W%{MBlKA;DJ>ct={2mg&4k7yd>n!e8u7{jm$&TCLWmBY>%m_v*MB@0%WKN@$n$IX0VJLeC;H}mF8^z}-sA5p zxMhld^zY$B-~GJ@cb%e#Ux?+NQ}o;m89a50zTv_fe906&?P54l@x^k!Zi@cZ#aRB@ z6y0(uiJw5;r8WG=Df;NzT^K>p&z{*PW0X7ef+N#`de4R zi9WsZDk+X!uKJrO4yC;P&3D!h4BauUm+;t%IluFtduiAuSC?6n%B4FbNzZe?mPf;M zyB?q~y0(Ny<#zoIj6+1X=hzlpzegSZ=>LACPVKv~k9srX+oRNtKHn`f+W&4%aVE@| z56l8;fla_(;1qBbcnEm;;vp1}4vYdSfm&b_upc-J+yR`h;|T>4foy=brPaV%zxvdq zl{X`J#t=R7W(bI$FU-*o-JHvZ57GPF8pp>D(cic=jZYq;``j+(l|%ITw`cI`A^MNE zOZd_u`nd0B@YO@~^WT^74MX&Pcc$^Thv@t66!Tp}^zggW_=iLEHFt~ou_5~7yW^5h z;x1OH+eYRS+S{o9Y<9j0&i_c-o} z`Hhs!dw#q-9j4jhG)6?hR=^EG36_Mv0$)45Cp}iMXGlXynM!D{+X?Z}=&V zMo*a!k#c&-uE?LAISu922LXEKgG?IAs}G84D3lWPYbFh);qvc~<#u$z@L1Z!3gLw!K#sUL&s;+)!_7{u@Y5Ah1=*L)}9;$W?J2;Jd z@xgRAzmIz86xTu)f{g8hDQ9`rN$g`R!|1A~s4Hepc+|IXr>6z;%<_(tNaCy?+OOd( zFtmd7fX{46#{V#+r3rg>>aK{d;O)deICFH{iRR)UPNGdt;s?%h&A}VpW8wV8C!W&j zQ&)OgU~x;FRm^F@(sF4q_7ZfNNS~3CjQ?SI%hOn;4PDU^ARiv4PcN%5mV(RZL4TB^ zGEZBDn*++GxY6`_vI zDS)m_=>xUdKDa)#+_#D}N0vrkjWC9jrtEPC?a=2Nqwn$<7grV+XR*VPMMiExeX}4# z`7XGYAu;O5O{AwF{U{PboSPmvGB@VtK$pKTLMI4)=q!9%vS=fXE};GgX}p!lYRN9S zQQ=CYQD3jO5=l-h7y4N4#3G*^z!&Ol;rD#eWwtn(E$+`24`+*)vc+rI;>~PXSLNWU z^T*I3`b0}I{>R0g<#sFaz=;J!-a{L+AVc}LadBmKJ_c!Yp+-(CMAaLwCxiPvGp#ZM=O?Pv!*$B>9Gxc$N=W29pvA3p)aWn z?t-nn{bZzTDf+A>#i&mN#J@zdlw|w9N-kAmKMUw8i$3-pYY&++Bp8(?8_(MNj2k;P zK4EN};WDexS}5|VOqm;^S3lw8%2K)I%`zqFp8W-jn7==Hr8M}#%wgXvst)l!V{ndvP>@7Bz> z3hm(QB=QbF%v6nNs=1a4+!J;3V+(U|hOYRsV*A-blc$K;y|0ZpWdgc%%SM1*d|a0cV2K!Q;Vw z!F1QSAGi+uEcnmh{@{b)4De@Qbhi2|I1_vgJP7;)I1Bt6I2-F}wFlR<93*rE4-p0K zOy{)l?F#U~7^@+r5o5k<&xQo6mJb-{5u%&% zwU~4We9@9@&9u)TLm#X@S|Sz12kVwm#~d(4OX?xTgcpsvaA5)VRq0rTw0SrW1kWeK zbihFs5@2<$2HXX_01Rbouy!@M?4Q8p;3Z&GO3!|(ajY!^uLi#iegj+!{tI|H_+9V{ z@GkHx;N4(&O?4A^CHOd4*IH`TpWVMh$8It}OVf#JCt24*}5dmlUz=lj6$0qr1oD)>Y2Ebt-G z-J1>MaaOuf>G3gAX?#b(+C4|ocgo^QbC@mvEF z>VI%R6~6%vK*pQkKrsBuNZ$nx!Z}R{dgMX=Pa6to+j#T=Eoxyn{~k>BVBmCTry2v- z5H+ju^hTqH80d_KZ!%UxR>MQO>Tci|RwW;rc1FT;Naz9{3#NxA6Toi zAO$RNo+dU2vtisHr$Avw7|XSCbB|UK$|3_KaEBB2c%K@ zLYeO08|i8Irni|cH%ex8{+Kw`eYJceyAH+V9*AjWbklFZ0HuwAVA3x31IAi~$Cbts zl?CpO^ugdXFm9k#4+iIg^T9*FrQl(rdt3HQ)iE4~!l(&ACNL2oBd-T`11Es1z(c?b z)=LDkfeL`0AMFKB0XG2$I7I}I3=9QIfh9l#a16K%JOsSjqCFt9EtFG;gSo&eU>k4- zxCuCfA_@R0Kprp)r~`Ha$ABAv7KY9PiNL6)oKW^WTNBPA`2JBMGMr80$3}@)!&xyu zJxcI)YzDtLO3Z1;O8E6r;(9ye|1e67j6nXcqr^uM$Zt7XB(+Dr`)IneEiSibQM{{h ztfw4s7egbNAI}{v$|G4hZyHVawu^b&F}SatA?i9XKc~pCG@Y>HS2wpE#fc8gg-4F1 zJKX*FzsKV4cA>Ra5pI$Q>dD+GKei_u z$r{9!dKM@)^<*ioKcfm4>~14~L~*w#>&8RJi^xQHTg-TRO4i4CN+NC~!sy+{)3dTZ zBBd8g;Hl&3VVTN4(hJ!crc&Z|)}8RtvK zs|PafVt+EqHyG!_y*CWlG@jhnM`ZVAc|5hycrGJ;?#=v?{#GcRRx6xVFcZ#8_a*K) zLfhCWU%|PVPwAmZn+QCI^aq6^qYrz@X?KyG(~IwMh0b>u3H~%3{<9*H@ignoU5ds0 zr`Z}lw3wV;6r~{CdrS~3QsD65W`}o4WidQ`f=Eh*!!JM%IsA!KI6O|yr?S8D;SZO!!vNEnDK_Q#{G-A2&Z&-FLb-%Uw8yqg2y*dZR|*vAU339ia@J7 z(otf#EaB1@+8H~Zri93*SQDaXmR{8x{inU?9 zoD{zL-7-(HzaLAmHmRg#v`-W+&$0$m`i^HYW&c(v#`K3Wb{94M*dI4EtV4@s@dNZE zU1VplOj62*3``ZM;z0(QUNE7l&p_N8qTy#{!sKTsHhq){4X0+q&n5zNMYR^#37i0~ z0(9Z(2gCvWfqY;VunO1)90M+k_`&!x&nWEPDuE?H18@j93)}&mq7aFJ1RxKn0BV6v zz<%Hia0hV0#v%ep21WsuKwZcB)QmOREYyOF4a->v5t)q%1@4#4N?fqTv|Mpe?lW&L z_Z5H3W*z}%5_#Mi3?q~o*XG)72k|(Y4QI|`SPtuE!QRCZ;3!t)urwr{&S70F*dAEg zI|@rKOKU?7(#;K8Ws`xk4u*%Mq%#MB?}JD1D-L2qE&^8oJv9vw=|f;w6fPgavO>0? z@B4u>z|VktG{Odu4&+DIr$(+BiW)vB5s^dT!(cp`_=f*)3C-|geyW7#^)!B=gr;;c zzg8kH{feo*b2#St-4bz~5+9V%V{Ux;fPO2ICEW9vA8T#?U_?~XX*>GG2>U>f-x?_P z-(ykifA!SefotyL=#-HNcSqpA56`$jIpWX=WL-0|FwOuGG7?#LjV$*ck@djHsvU_# zi}@3gD71>-fC#VW(Ybb$MaJ`Ne%LIGvkuq-90JY)_W&1c*rI?Gar$}Y8E^=PXMsC_ zQw-b$NC5iB(9it7V{67hORKwy$T85;>TX6Dtr){5@{QfZ`7uz!+ucOkSSaDWZsNVM zIRCJl2+3#T_)py^T=f$Tg?QY1DxZb&UyKwZfW^t=lmZsYeic^&`7<&hKOe%o3lRAp zbrYW#AWHn!P4pRuYBBe*Soe`)H^-s6774;_JR9fan4sK`mTd9Lcvir@5)h?)gi|3K z%6$^Vm_qCb{1U{ch3IG71bX1SfX61#qMRmh?cgQiqS0<>F$MGlkyMP(m6{;lEoO80 zpac;+0X!l>ygdQKf-2l5!d*9tf^Z%vN+-hQ-tK0^o}D;m?-}X%?uV0jI1#-hbxcD4 zp$_^^jcAyJcmz%0qzC_1CAya&5hIQ*K_W(MNLEuKg*-~cV2#8(l<0_&Pex4fQi-LL zk%(~`5}R;h^)qzBw3c*(L0p)OPPR>;i*XTJierpDqZAcjuq%jD@jVL!&zqDtNFK+P z;TVG+S;lr$<-;Ln0d>F@;1F;YxC1!hayS%705XA6U=gqh*bkfq?f~w%N{s^2fl)vu zPzy8wdw~nUJ;1#SAIw?%_tAsa94ij%z!nqcN37_e#guN_+XEI;0b~@I(m&2Og zn$Bi09@$QW%*5;gr_IFj@o_ux!%P%PjSypI!No^Mh|h_OBSfFskOPmKjn;2Qi0|ke z>^29z-PT^bItRT2e>4aALn1}Si^vC;zsO$YtvU$jxh$Hv$6V~zBBI3Oxp3W=qQsne z7{&c4@xwgG-;ZkYna_L}59}mjt55*!R?R}ioGLhKu94^?ey(C(bb_3hoR%UwAcSio zX9@QbJF79T)^!q=8WaX!uR-D58WjGjlh{XzU?jf8J!3@q0-S?iUBJ%s+8A+ZA z;b6wQ#ffE0(EHRl@xu}*DmPA)EXB^`dYt%ncVrXDfL@ zS8;neiw-F0+N=X7TxjJ3bn9noSJ8C^#$I5D)9I#W@g4jWKPBaraGRu4Jp=^7NcoJY0!A z%!Du*QVMm%7r49;U)IwJ{C=Mf6)y-gR^*6P2o~`7tX1rD>F;aUKJxSPYuGYtDmK*A zOpp!v`6@KSP0Y{~IjI+Mtq*-(#$K6FuG&(-i$Co5QT{Bd$^Njw1d| z=Gk;;6U%3Cv!?L3*ccACqMILL{T5V`ioisY9->iTy}7al`)9bB^Hyw#;bxb%Vt$jG zy^R$rBVJs3o26Ov44*+6qc6$tpqfc4DZsdRt9}Pt*M%y{S%!K@!TF5sQ0O)suZ?fY z*v2B6ReBcF21#SrZilgVbZrXX!Cqoj7tp;sfD0ImWL0YBUqjRUfQiNF$|0oV(i0&aApoAU{%5J&(rfkI#j&;aZQ z&Hy(72izD51rmWgpaQ4^wg4x9tAIlf)CD91LxD=57T5&r2hIRD0f(ND0}^_o{Y)H8 z1n7CjT3{z|0=Nn|C8ALv9T)}BvyQdEe&7sn4{*Uv(-bqW*yo<;ZlrF~YLU4*o7w31uOA^vW z)^40nP8UaaW2Vnc7ioJSSDh~2-GlVnbP@d?BGI4I#hUjZ|2SPZHz7TzuUOE8Xb670 z2@z#cUy-&K({DjPaeXhAv|ar~#`~ByANLdQzK?oaJ}YAPA%eAhmONNS=M*Pc2gt$s zkY`27KDL6#_9rEKAePnfKWWWKV^;+Yd^qMVZQ<5=m%H~z(0I|9oU@#V#a>9 zfiK7qJ_pd!qYSa~0DACShWPOSdb)X_C_f19pDC^r|6isU^C9G386?hsi1WBCk$VVy zJxhE_ykW3NI}Fav7W)oE&Lv0m_z348<%k_0pd#9|Od_ zPnf&)s45#Sa{Aygcj!^vbNDuwes(HC-^T{x!clA>T!zrEjmvq!5K;cW;OHUZ5^>TH zk#&p>Cr^0m7y=!vUw$0%JSg4Rp`AF6DIFz`-9N=KydddQSaGsUyGdy?(~aO7_Zg0> zWqKtY!z1tw!z}WM+n=#D*2h>#DJBikr(VP3_!DdioT4fEB)iV63;M~tc;hQ)BIXO+ zbAV?cc47@>1iRXXGek2nc zi%8v9SVUmw9bd7(S~m}rZM|uH@lCA%n(ejr&y;De%e0EKY%keA`W)gV?Ee^SjmwfU z?}_;K+*8~<&+b{TtF*l`?cv{%wqdZ8+bz>vE+Q>ATc+)kX+f8e<^p#neW?0k{=x3S zXPUw<;}RcE(lqW0#-z;4w03kCU)=nLRlvGp%s+9h?=r*)_-FnJWy7%eB}Wn~U%9$H_eP=FiRen0|{36uhhfK9-D;4E+laKSZj1dsyc0hK^4 zunjl@oCWRxPQ5iP6i5b!0;RwrU_G!KI0M`ST>2pJM)ZLoFchc&mH?Z8{lHn^4&e1P zVjIvO$OmQtb-)(j5O5Z_1GuMP>kgy75Oi^{1ZV&b z0cU}qQ=3>ef6Uh0V4)TSSIgVy#<#ch?1^3$Xv<=C$JKkEHq?xH zvtcOui6)KvLubCj9nu@Ejp>Jr^(c;-%kSg5Y{kEDD++bu9#tB*y36}hJ~vrFd-pUL z3P=X>fC``%*aYkc&Hy)?FwNd!xCs$z!Bx4%f)Ub<2rzC$T(V%pZE1rp;N~Ka)hD4dtGgwqwKyu1tUo}iE0RWHppQt(P;=c6XclX? zrMR_t`v;@&Et13vZJDCfta@1SZ-`=5w!GMy^o(YX{~MB6e=Unz)7?&_biRiaEVP!j zMoJq}h-nL$NV7=w(+w03rG$)t#sh68k@rtHGyuD#ag3U78ya^`IL3?nhH1R7l*X+> z+%o?W!3RT}|06O+$_(5q#7?xe5jgRVjVL}vrWexji><|qpCF6=;s+Yy=1;iIf}YOD zaq`b>ZkWR}*hl~gKqgQK(DU-Oz;57#IQ%o~77)}IB0wfk2+RWNfK7etQ_rt?fc1Z5 zqKJHewYoS_-DiG?_2TjatQS)f)qUn)(e{gp>OQl|b`nQ^#r4#pL^Ag@UYBUtSkyg4 z-`6D?))ki@u^{312x6NP4dYU_yI4diI}*vZGx)wl! z=*S65Y2Qnx%yr~WBJMY&r1qjaH36dVH$&jPKlU%3`R5_ zsjU7B_uz?78NU};{gAuxKR+d$8DGh-KP5IWK7+rNEN>adab&)g+|-Bjk;qRmen%j7 zwm>RQaKHH_em6zl!AbcQJL>fgJd}4y6$c&oH2!p|=<3KzcvY&{;Kzp{Oo@iM83>`zwkDYiLG;E}evLbDflx?8nI+>0;Jx=1L6)i%&Zq6vM zS!R?vLuiLAfbaB1L8bUUFK*Yg;%=nOkXHN+YkPz(T4#cco6Q$m@dRtCN?I(JqZk){ z&w5m)EtDJfWLLh*Isl=KiheH_A6H%hWj2j*l*B|#1hdp@*Qkt=>J9zN~(p-`k&mzq&BZkJ#d+~A>wjYjq2Dk}0 zVC@eA5`k=>6j&s3e0aB#Q`jZm03HHf{o(IGCQt~>1?qq;zzN_gK<^Op0}_Btpb(e~ ztOa%gXMmf4O9nzJkPeIj=4RBVK3L<&BlyMy5$VUn!Pqme(BpPu#`wYew&TW~@vMd> zNs2#g^_z4>QCgvkbmA{GkOy2xE6pm4UEroaD zp<_rpxG%I2+m4T?0$fvW4Bn=LlgKVH19c;KpcFNs$o1K=wuQ zkyal>cyit{!+GQIeF5u2l@uc{w>zL&>UIbIUDYaBc^hy9xB%P(+_6)P0@8s|z$~B+ z*ajQ{&H{G;2kah$fJ7i0m~g7WenS=1!U6n)PjNjByFyR`6{2Z=xcm)VVDy}X2mTru!iR_ z#&eREU~H6(FBiCjaZF$FHNNlD25i+rjIUj|;+16PH^yc`#uuQfJJEMZL}n1ncg43< zH0)N4z%k$| zaA$BW7-g#0fw3*A-Uh~Ar1~Hj8<6TRz}R(EeijAhkioC#(V!j#(M;b{eXM$A17RngaU~`Hc*+>m^z%T ziRPgec#7p9o~A|f5Dvzsub-%m=5y)9xf3t8)Iz=?3qSN*6T@Aq=*>dCkb+Ta=hTXN z0NX7(zw0Xb8dOH-SKu?mzrYm4uR$-wuEvUjZvh3#b8qO0(yh?1!Eh4d0WdFdXH`${ z9=K4Tgj9GE@vsod-=;{O4jWRsw<`DxPU!s0wvvB=KInW9Hbcax10)|$k-QWhOX=?$ zSET5W>fiym9;N@{3CE#>&0&%~)QGLB;^`{=ii^w-QzKr7DM96ic}p&{sPk~i7gfXC z+sX5j?ImAP^^SIy=kZnWa;oTbu;h-ap}X*UN^evJCS}U=UaDY6ct7QjfL9Z5#ec+8 zpOrjanRK%<=~89V_HHtNk1}bM2O!(bk)J$iuWj!I))ngRoZbiLZ*87t+HW_vgt;3Uay?$zN4)8eU*Mo z+4f?fOuwaUds6w#V#EdN;6|nCbBIR9xzQf%e_GkHy|QJFs(7=qX?tbU#VXwuGlnXd zr)=wi8As>ql#N#_6FrKQ=|#$<2b4)yD^uPljiY^Sxl+wk)It?)RyJ&}D*U#UOfOTm zoYYO8$15JBG`CpUbRL)ay_G53w^8*f6RuMxTn-B?CKDE=iv z%EhamJ1P!Sv*W%R>2bxcDW0mhuVR12gM4It9=+5EuPGI6SJSFS@grrD(~3JPXM5x% z-i_yxRd>T=Mcb8AZS615-;b5tT{+!d)!~z>y~Aq2)0MMMZ7JpZD!EC@_pYh-jw@$g zuIlS0^Q*MODsJH0tcE7jdxd?oT{AkODun6nR?}$ z9xA@HSMg=F;gc}m;Z!MjSdAd~8F@ZcdHpceF@M#O-YT8G`%4WhR?fOunI>2Tv}>y2 z<;sW3!lnE!DxpX@?H;A#-YR}&<9&C4#JX=lE{8{DTh&Hww&Hn8!Gjc!&X67O zRtny3D7*@Heh!%EThYIZj&m%86l)-zqDkM@=4hn3<7 zaCv@C&4E4S+GwACFl9`FRAt#P<;x?~WEiF@&QYf7tz4-|j`D$2Wz!MLrc)K~QDLdGGUZm49;{5Y zT$yUM>i7s{GDk;qk|`5hRAJ?PWs2U)6yC}dy_L_$E0b(g8ab)L&QfKX*HqLPtxQp$ zA~i5V@d4G&Vhi+7@uyzd=$ca5VPzw4WwUFlfjugJ63S3HS7kD*lE0N8)0ZmK^;RA5 zR~?RPl=3VEY_n3O1Z`T zB%f4rsYR5Z#(P3&<1)Js6KyE2h)2~^`a?6cL0zdLr z6?9iVa933@Xpjf{a%JjXN^UdB!4I`E zRe%kU1$!$WxuR5hQANOD)uBO3ZnS883M)Zx)vqs=MYhJsY91*?)?~`_dCIkxE7!6r z*ZM>$extHns`8j&%5^=IXL+b{9;Qc0y;NymhRFs}T_wM!Ol(z?spCMIo}*lB-81ss zRaxd*dwG69&5`@&c$IvSl0O$Mm%jR2>+g@=rf2<*dqutP}*$zSdn?Fj%?JXw{K($`tRLfjC80FiH7v znY%pSqoPS)rQ%>!U#g4D4^tZMrPkKPN`4sFSP9yvNx>pd$%mEg3)G0OsS&SJzIQ;a z5Es=fJ)jz>!C){rtw?F+iV8bnYUGpBW&SOtneORoCFrd>Fk3aWv6U1Yp`5Iv8u>7b zOz*2yJyn%+RK7hxX{?uO;Is|B8}v^-u2(9zc9!S2l*&C+!`|w= zyHfo|rTXbg<-?T9M=MP*rRou?gYinUH7elOE6u)NrA9nRWlT~kc2y%?t}6UQdG#$d zO}i_v-m1L1MtSuJH4FNx2G%K4tXAa@sPc}geAR4KL5`}RqpD!Enz!4P4NohR1S^xw zRwn4KRDV}#AXu58%(StJ8;?|+>#j7sQEIMATdoS8Q$0ScxUX_D|43<)yQ*U>Ri3wR zDfzzA)OOY30ZKkhndnQUfxF7)-fB9oHsoRd5uvi8f|js+kiv-KSN@oFunbrtTFc&(95%yj59hbfP>DQ+!R$>cgs@_7<7{rLttbVL_Ox zz3Ne~?oz-*O&;$K^8A*vU|*HKnM@1?Ur`o*U*&gJBlJ)%_KE87c2)l^<%034vV0@? zEV)X&8u?~bL7BPOE8gBh7U-)gVrsv2Txkjlkgkv^`J&Q@RRzeC%2y|;hJziY+*AzM zSSr3$DqE_YeY>-2P>rOsQsD?Sq64Y}%av*9DGX_3x*9-7<-5Jr_F-zDzo#{DMCQt~_D{kik zOMq3tHefGs3b+AiqW81>>#Ds_487ge1&WOT=mj|afqbA8SOnAo>w(?CA>b@<6?h0Z z!4RPUy{IM~$Og=}i&o=!EwB^V570|+&Hy(7^`_BqEeg>j1)$fB76SCj(Ye49paIw> z-tW(!_V#i`8$cqE4bV$ACkl@Nh!6X5cm}u({0ul?e!BxvKmw2n&|6>%fd*h3K=0YS z0nk%87a$oJ3X}q~fI473up2l5(Ca0y0`!W>hk)H{Cabh;Os`QuB~S}&0`>!EfSZ5= z0*^Zo1f&3YKp`*}FyBUb1jiQudV!>dz~%?U0rcI*QeYNP2doFS04IQ}z@0XjpH6VD zP#_V=1||aZ4uM+W3~&>mHw`+#S%ZKCAO)cB>o)+~fW5#G-~vG3>vutvrMC^n0sVn| zU=~mZYyoxyhkz3?`0pxk2cXvvI>D3a6@-aEIxq^D2vh>qO{X*X$E<2CynjD%44@w) zUj}{#GDD#eU>l%eD*6EtKr+xD7z&gEvw%fF9k3oa1e^t~0_Lw;y~5!!Kq8P1i~=SC zmErilel-qifwjO+;23a5bRNXpI;LP|XNsIbJkW734v&bbgZL};+3styxD&GqYZiXy z%tb*t_r#OmxE^uzNuc+xwI|bQwG7Xf#fU5(*qq(HIXjtC_Hz7nE#vQc*=p!P-`kZn z+%!ZEXK~M91@mHE@GeO(S5sN9Huq#CJ8)7wtFv<-3Vo#^nh+f&1EX7jJSo~1RICSe%A!f+_Q{Ax0TeHJ7v-{Q>K?!+BGKgWMc{O&5a!~%DhlinT}r;8-D_d z#w$%A^HiCx%|?xb`mEyaaCo>p^mvYY_G+M1t!&D4`b#?U<)F5jWS*)CS~T5*6mJzC zt9W3Taj1rx0Eah4W|0W0ogq#?2aU*6RTG@v6uV*6RD+tTj6<^~IK4S9@~|l&^_1u0 z5B)#|<}hWtsuKGIQ~r>>Jce(|%XB4=y`L!`WijfHEh>Lz(zNlVMYaMmLlr1!E>K4W z#OalosK%k$=W)%$qCb*k6?n~4V6bs$ii~d-p}&wMMXHQLQv_aU_G}auXsg!z7mm!4 z$aK{)c%Ugy3;G|)%XB4g=Z+0n$gNtT_+kY24wffUh;9*>7TSwd+bX8&JgAC}R5!cZ z`64al)NEzy_{vH6BS2FoQJ17I$~;x8VGJ4U=+6V8jO}j*nesAS$#-iW8ogvZ-l{eK zAt18=W!O4p=b{s_Be05-BVhsK(CoLJi_+#nii8=5rih(;reLpN_@3BU&wbtGsp?%% zv2rGl7J1KecW>w4g`Y#1!p>se^YDCUt)QZ!boMh-$}5XzVQQNlk3cMN7L5?WFRYJ0 z&)fPtn;n3O%!sdHb~@90^V`|7d%!qmcD0d>m*}@cB?WkwK4`W)drhA08D&><4`|f1 z>sib^XK@SJDC0WXDB6Csy)aZ|wzC&=%2~gx`?{LlH&R3m%AsQgg@wZlN~asHDD57D z34qc4x9kQZ`^taI_QKq779L}`FEooOSuo9}wk1YZZ)9~w)|86b%^JN)SxSdJFd5Cx z({ynbHDl~`Xg3ir7}*EL7>c+kD=wT~RyNz#CcWd@RgKGAML zpJim{AluoN-BauJ$8vZ49Q8Hiff_5Z(D{nfvLdyv+C{D-a1~#HFY!`4m}j)? z+GW$xtiJWv~3d}mH72>_rb7x8)c<# zc2>H8Vr@htYGrN2NtABUM(se?6hS|>B6fk7T)vG6F5+#)!%AG|rWbMdV3hj9Jtw_l zt&NykgwD4SON-EXTa{SnO-s5%WlT8#M8=65=}M-t}nU=35B zd9X$sk%Lz`m2Vqy1vT5U z>4)`ZV7p^v60a_1M|;vLSeDf}OHy`)4YfLS`EgHqp>#?}>(GhE2rkVrn4)bIepA zl%x3@msZSQY=p44zj{x-x!T}OTaY-3tj_*gCjJ^=^Rz34@%@!*3ouZ#(pp%{UwBM{ z?rhn18;UwK>Mwdvf*x$y7@n!7xlpaYD0?E?E~c!<`sFWPdm`H|rfh^Z%W*I(2>k!=@Q7GcxlFAhJE z4PQ1(lPNsJUCQ=QO6_XrJ@ox*4-q!mKHE;I)kb#C6WMl3y=P?CJdq8hnmdwFuq1wl zJsAtJhd2!>(6=~i?g?~g3a7xl=t-#|oLXuKkHA^8u-(*;z_2_-eJQ-rLu`jIUa?K< zsM_#j%%-EQH6*V<1Qk)VG5$`fEn9PDu^ZFRhzztDY6i(#lI2(hXa}MaJL~(R_ia0GUn0VY(QqH0(PrR0-VSq zewl)c1mn;g68tPy1;m|(2;SG;DaSZ8MKE8@QPZCtMmHx;nK`7gpmO>PX?ELHnWtKY zN1E<4}oog@>CW`c zrQgkkrI0FYxAss(@RV0Po>GVL33e;jEF;^v;<07-5*f496_39y5pHg}EncUJDve7Z zPjRvmk=4`O<{9==_p}VDM>6}5FM&Ko=jqs5qIB~m5Poh~fJ6{o@pQJeZx?0hipTSJ zVbn+yhfxwgoOm*h)5hIX+>(_#&cK3WR@&Xp-DtmuL1E)2vS)AyTf^P$qATtFJk^^4 z%|K+(xO2D)^VCz^MT*o^ZqbBEQ_5{i6#bpY zB6}wGg0^1T1+F;6eTZULUWpoMw+;SmPF`09xD81 z;n%6z^KfI9{J=}3&O%Q0JnTm4`pw(RtRC^lH2zT0I1gJ*B)<}IFTzc1r7%NHEtkSg zyu=`gHfP(dJAPOnyu`d0u_v&Vwlgt3MMRg7jj^4S?Ol5j^Ts9&gPN*+h;_qD1kbgv z%gzg-I?X{ogK)=d1=_OhI$8>6a)5QepNlK=Q*$v|o0MIDuacCw zg)X?-vdJSw*kD}acAUps`+F--?rFDHxuBT0!2Ju~=4`urr1V4pe=`ow&b-BIbkD<^ zZd=gVX`Hq2M!(w5=id0El@84nz->&;&`o`BQLqk%I=diFiB~5r@zN5j2cDx%PzTn2uFyWIC3@0^Z^-s$i}HcZuY~ zCsz?xWu)N7kf-BbSix1~AjRL+h~z_OSHQ$(hzo@#Tt$t{rbzx|_9`R05!v3Zzndiw zjjW5ZsryxMAy?%D<50i3v!Vyxt~80-qKkv7p|2wwxSu0kFQ8eRBl*Cqm}1)~MO84~ z&Qw7dqpLWLSqRBnvH(SL$3;d)a1D0QuD^@hHz~`k3sy5dG8^;Jl_p#}A6qsIW*YSr zUa|Q)4+uU*VrFqz%*>~48@f^>yMl(rk=GGkX{Y8Yf*0WY-s?QVF$f{wRgA_t^%x=F zvB5~GmnmBpU^>~V$AmCdRfmb~DlRTCRP_kLEnqM)cp;t)#w~;&+R79*msx`8481Ni z%9JfclP<=D6rokz$)l&;MVAB2CA z9H(G67jYOO(1gcJ@X}=1$kaxn-42ufJg*_r7LxHV89l<&wxTC{6a;I*J~De+5!9br zTH4&)F(bPk*{EbInzQL9(Qea6&v0DCMOlg56DAfk`}hqb+kGzcaq!QmpV{0YA3BJiFg!+n+@E|?0V zo6qJ{q;F}s&}$OgHD_bin{{0^vX`SY>e?>r`s9hau*93fnQf@9M^ZR=snPpsMHK~; zo_KaU)RUwJ{kQD>M)th_mL1_mrMLgLZ2E2njDl=96P~{e7(b(3+%SxtBh=1V>Y{20nBK6AH8@VF7ZS*g16a|6ZjUci>RqJda@Bx80Gso zYwig`wHba8AT)QmHE~yiE{3CT(yuaOQ6lhK5YHr+DZtmM_Ps zY}t0PDh4Z@yEu$&RB{n@wQ#3B>k5Qz_Z0}+s!V*GoqLBOI=YL_D~$FBt$^2{48A>3 zRGK?@z<|P8&0bSyNY+3EwXa*z+=qDkue;EF4R>+!iEO)tjh^MZ3-*f9#o$+ry1Ku@ z+jh3~&2HmCe+ANAGoq8tIgKu^yCws%^E&hO_y2WQS65Y6*WUu|WV9@0k53{PlW4R|PWeWmjf|GJ z*b~)o1v62#9r1Z3PG7FV(BhCH+k(b1T8>$+vTPx=kRNMsWr9MHIeyXdHRMMXze0+v zQi*RZ4~eLHaiS-g`e9BYS_W6B?COs<%_yBon8=wvVP4ppgriEc2r5)MEAZYoS{|t4 zfM+D#jNFeVG+N$(3gUhDB8p7RK19o=D?`QV2I67&b|ubn#bL2&f(AHR7C~$)&(&M< z#A0Ik9tZ}}hjj9Yo)6KqZi1r1`5nY##<@jk2_5RpDwW?&SE&@L6%@&6ZCwW;-Ix7n zK%;480^L(9-~is>n+DNu;H2u74qqlYVGYqiIzO`4?QR66G#nd545L z)-*@u#5xU)EV6(dy#hya=}?gTwG zH9Br>Lc*Y-jE{#hJ{^TN@ZM>iXei@TLz#xI7(P4VuasDgZG3XYOQNoC5aQzt9pAXl zLfSkU-}ub<#&{ia7tz4RCof>w`1w&_N8E7GnaDdiK7s zaSU_1=tCYM?a&T}>oTWx(PlcqQTYY<<#|9ZEXK_epc3Pk=K;B!8TaKmq?eg8@5%!@ zHzp&cPHxb<@_-4yl^-;sr6;gqo(H&f6&= z)$>QC^6om7vI__s9^nxjHhuRbo;m?pXT3_e8p|bPP9z|+nHjkrO+NCTuhy)`OR*6f|B~PMtb0SD=o_MH^6Zew~0xAqmJr z<$zfxOjjf-=%|GB$KFyZ6&sL7zx;Lsx+Z>oJs6<56azmXWe>Xs6V96>EW=DAB!2u#Rp61RyI%b(@ z)SNE%8IQa+Ks4)eCRC2w+{t1j$f{xW$9RQGpC9$iaZ8ignReAHERU_>A8?u?dAzKd_`gH0D zkIW9pT7}4PAIgl~SmJnex9AYn+EU|t$WLHD&t0PNs*G`%dDtSlc{_F*eN}Yyw2+%#6?vYZti4rC^>mPPw!%q!d2Xv1=jkdtZo^d< zxo#U&I!fPmsAS0e?IO2!n&p@xE|%G^iBuW!nrP$6lpSA#P8+$2e%eXj4!BQ|c{||S z{qocfkS%4~o%l(Y>voEPg~!S%Mot;QhT9KxO^3%iR!+Q=^l;gOkeMCeLfx$`--~i> zMxNl%MXd4K@(K_`)fHqRbqR`V%TtiKXg9U82KXV_aLAm65#zER){A4afax0}%7`@loRH0TiEdF3SUq*( z`w3MEWBah(;vq9=MzKxDHoY^0nH?;-cZ*1>-P}5lmYgz()YDBK*@X(yRwnHh zd4;X4&sl0M(!Ue~vTsPISrWEg;_ShI@eHQ} zrZQY**xi7!%pL*sGpsNQR}K4%fj&Gtv@X`;I4}vYKKsxK5DRN54g&$}GMs1>3JhH8 zLh(wByuDAvdtV3jok#B3Ct|&u>RPaot*|JpujKYJj2U(K>jAqe@4e>$X9=Zg_rV+- z#=I1P5eCxCoR8Ujz#glLw$zo2%0z^{2bb;4<)^s(d{uComcEbqtPtt1RWCCzofR-{ zyH&mHSM_pq)yv1KUe2p}NyaL>7@yz6Wv03OzUpN&d@<=a(o9??n9IJnOfi?Ua2abZ z|AI?lE@`X0IQecFa<2q1UP15MfSXYg?}%7?OcR&}ke&n3*bInDM(_aOGYoq*MFY-o zDj>eGB!y`P<^iILfF)Z(x8FgrKM!i14j?57yEw9=BY;ma%udD!ckBo@gvgOS1=OEe z`VHV=hP#?u);5MiQt&aJg5KJxSfi%{NNxdZ->gA4Rq|QmCSVHc5T!8zO=L&b7;NCP zfT&rNnzex47=C16T{Nrnm?hgP^%#}_;^u%eFIoM;XQ&j0_wVWGyJ&nc1K-o?*wOGC zHJn1p28>}i7;rVi{{Z4HCxw(CKI)T~4~Pa4K-$#^K<$c5sOSPB(<%7sfn3qvezh4E z1D<3^lf3;IlEIxX74)o;MTbNJ89>W8B;q|g_!9Qd=+Zuf4sa(KJOodF0u&5?abSZ8 z2gTX947_8Y2ZI#ts)m6!AO@`DZ9T)r8rT33GYq8A*yv^$miBT%Pl^<>4Wvy8H9Hcp zk5a&%!SdQ+BxW}#e9Lth)e^fWE9yN%VY6gKopUMs5@4KiVE+V&1tf55*J@AAl7hVe zyE9w@Siq1rOJ2-y0j4VEGQ19$!jSe3p23jz3{GRX7jP%TQJp9qD~=$vDS$N@<{Ngt zVV^eaa>LRtVcLgR4ZFv%ZyWXq;6x6BcJpq;kaqF@6GPg(dkI6@)bKlov=#auhO}Gv zVTM~Dz&Et3n$E#X@grz_S7uq(IF{T1?9Q-tHr;3{eLVoPWYKZdaG(K9mIEG=ImeLx zr4PZJy}WT8ux?LPet={@=Gt+A?X3CNZU<3Er9~!WNMsinZCH^})KX9h?AJEH;S9-g z$Pfj+Ila)s^ho~+G!ct?1GC1PfS3=aI2-}&$;xCyCY6=F8GZ11fX2OlkM5@9$-^+e z%r0*M;yYCGZ0QuYZKdMf~Ld*tbpD5-x9rRNbvz`kK% z-C-`<-i2cLFnRG5BApAWro4O#k)E!pCk<7ksTU0OlBWLZQua>34CROYF<^a$*8rz8 z95vjsMl;+8_#DF?BhXo9cn)wW!`zW{A5ets&439E4+6Gl_yb@w87zlF{n7LUBuJ*E z{il(h6OT}OVormCb!kOiFcb_-E9!eg!N#qJ|j?riT@kXDFD(Rn#JvvY!QvQ{LKS6Ia7Bz~`9Fo@7}o8GZnG znITyaE@4Qva1StynQB>W8TJJ1&TuhcCBtElQnOEq@SX?!%p=F15wT>9by)?{c>FO+ zIqFPHq`T)l7=eL)Gn8@_W{Dl8@#no0tOZI{3_Ec@lmvQI>jzni7*4x zWkw~UkzlA~O=Y^2Jo6!zN@Z4Jbx|*u6a%#0D3`Kx0kMh^9@_-GIVn8>Fz9KZtCU7ABo1P4Q63>Ku=xJ zdw&g`PvFSOH6o|JHKncta(4UYwAm#XTA|j@%4`U3RbacSEzii<- zanu(TItwCU&a+c3GcB@e*1*7Z!O%32Ze z6DwXALj|y@@9kwZAO50mX=KuOcV38!d#GmF?=FcqBIV6XqC>5MX^&&Q_#8~O$XC7) zT~o~U+>A++=S-XW_~h9XMq~JdUMA9jWPTT6|VIXpE;> zHmD{z=hs5_9KU(p`4`X{AA{{&Y?*OIjFnkeL_L2CkSCD-WK`G@jpWN$ut)!P*oM6# z+VtNQfek{CgyN=_m4$%!51>hI8mm~=6F3WSl6)S{KjQR4HX6Ufa1O^wlj$RIj>0)q zW?vOUUb-sk;YHqttD=?N8rqri*j15lCjlmxb^b>DyGFxQD7V0QKhBmo({ZNZY$emL rix=zU01n1E1m_>#e0Nfkr_Ox91vnStdU`u~}cT)8BXNFhuC{cs(beA%#nPoewRCBCX<)#OkS8pVUnzLVX=peUXtK8QkR_D;SWc$Z9szxImc zzi8eTZkW5K_?g+oQQaV6M8u_Yp;f%q<)vt_(mjln&8W zhKCVr5L1n#0SssEYk?y|kWF3a0B#BH2qtBPf+N6TU{$<3su&1FJF20MO$MlC8m60Q zjNvbNEZ0diG&hmbgLe|?9hp}}Po$&D%0Xagukr^&^=^0t_UeWG!O-J))->GQn08Y-G!|x?96Km%!tBSd}D#Rsj$%P z?E>W;qM-=h*lAi0f4{(7JgtQPp}_ok+6?}Afmv9T&zlO&FN|59L%+&A33fE3R{v0^+MP7OWU7igxR2oztqb5Cl~voz4GpB~BI zE-*hjkzhWW?n%vgmZnm3B%FOR&^)-`lbR*j-KCM#^r@2xre~QaHQ%8u70r{Z2))nT z%_U{Q)CCegQWigVHkc! z3valyu@^`NKK2m9$6|!_<-TV6lmu^hJt9K${L3`GXZqM+AKR}UX1AHC-KbJ$fuk@N z{W(uin9it{sSkd?r^RW$pM6##JXZ?GH+qtUHPm%mL8RFwT&5~KEtgqQH zD~S1uxIb|pTME)kJ_}u=Eo>*ZzjiMF)oFn@) zs5+#LIr-IQ<5+d=HQ6ivUWskAUC?e?K}nujpBL+>+0xNeH&wIq7)PMyXWE#jUg_Yu z9}P!BgtCz|=@757#`aQP5mY+rSty$3UKOf$M;Vg0WGH<<(%q2$ z4AS4yWjkOYBfs^<0GT$(V0+`A$d!N($^wAxV6#J zcpDil+nSH&hkNcuS^#7>A*oGUGiJdgD0BIOFrRF`Xo-p^mN~DRjSGBiqtNi5e9ZF; zntj^xq|xrwGsA#SI{u!6_<0|5ctz^S-|D|F;v4*zs6H_vL^-UYfN=^s93+e&hwyvmM&k-86MPPQF`x;y!rn=1W0lhO2LfU=SF zNo6%GAa!&BQ*=bQmphVZuv)3(um*QE z+>M@&9m!D0A;?oZJs?Kypd+#!>^|hirk8223gQUu9kyXzJLqPotpfEv$;_zo=ZNi( zssg*w_JB&$_JDecVdzG?I~s$Qj0IBMJXYluIM^Z5yhEb?RIC0xt!qS*tP!(Q_Gh?x z1^q!VN3-U{MS)&jA8TN*%BWuy$v;t-S8>^-E+ZGayHf8anGK8lIbyKq;y|-#v3nO9 z&lE?0(jKc(#a?Fk(_YcsjVfr}n`+Kq>~C)+;{Y>!%qxpKy27qTvDt|95S=dfm))l8 zp_GDYi&^GqY3gGwCAOgsb$dyRmxHNeGacg3JH$y*2&Nrg4@|_aQmTFq7|j}U!SF2O z6-Tiw*gfd6qKKy`+J1p9TA_

Y@wH&94V>#M6&n53Im8Q`Wx-O#ZbPto$k7QD-n_ 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 literal 34304 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 diff --git a/ToolBase/bin/Debug/ToolBase.dll b/ToolBase/bin/Debug/ToolBase.dll index a83f1469310bd0888e4026fef2e51cdf7253ef19..ad1ac8f7c2ff293404d31befef76a8e2c29f40c2 100644 GIT binary patch delta 66 zcmZorX;7Ka!Tg-FXJhwXb^&dv?7RQh&vl)3>R{KlFwWzfBRE_bL9&zQb4m)#OFR8= W!ry1EvlNsfAH?d0Z9c(i!2tl$dmQut delta 66 zcmZorX;7Ka!R)>vXk+(Yc7e&agEccZinuIcn!e@B*Y{DIBRE_bL9&zQb4m&b2~7=K W@oKu$sz1e{*S`Oe-h6`7f&&1j(;U`R!*Obf>1atBp?kBk9HgD(I!-Z3_OI(E+0I6LgqyPW_ delta 93 zcmZ2yy3TaNQf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)o|xS!yX+q|7;4;N0!E^!rR E0D|=*^8f$< diff --git a/ToolBase/obj/Debug/ToolBase.csprojResolveAssemblyReference.cache b/ToolBase/obj/Debug/ToolBase.csprojResolveAssemblyReference.cache index e1c58a667fea1ac9b5a79a1df7e0d5ed1f231a0a..a25c3bde84f6a1f796e3b62237bce7e86b3ddad0 100644 GIT binary patch delta 104 zcmcbWaUo+vCnKZa<}Sv5cD7uJjccTwHp_F03s26G=h$o~!^F+RlD4_u-~r=g9nD0b pAm`?3ntn_m24faP{G4tYn41IP${D1CmGv1ofRu4;zGl?I2mm+ZBV7Oh delta 84 zcmcbRaVuj(CnKZK<}Sv5b~gX1yZ618-z?85F3gy^*<6N`n~O1(fq@|yh#5CKs5>(O cgR{KlFwWzfBRE_bL9&zQb4m)#OFR8= W!ry1EvlNsfAH?d0Z9c(i!2tl$dmQut delta 66 zcmZorX;7Ka!R)>vXk+(Yc7e&agEccZinuIcn!e@B*Y{DIBRE_bL9&zQb4m&b2~7=K W@oKu$sz1e{*S`Oe-h6`7f&&1j(;U L_toolList, VisionJob myVisionJob) + { + Caliper myCaliper = (Caliper)L_toolList[toolIndex].tool; + for (int j = 0; j < inputItemNum; j++) + { + if (L_toolList[toolIndex].toolInput[j].IOName == "InputImage" && L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value == null) + { + selectNode.ForeColor = Color.Red; + myFormLog.ShowLog(L_toolList[toolIndex].toolName + " 无输入图像"); + break; + } + else + { + if (L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value != null) + { + string sourceFrom = L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value.ToString(); + string sourceToolName = Regex.Split(sourceFrom, " . ")[0]; + sourceToolName = sourceToolName.Substring(3, Regex.Split(sourceFrom, " . ")[0].Length - 3); + string toolItem = Regex.Split(sourceFrom, " . ")[1]; + if (L_toolList[toolIndex].toolInput[j].IOName == "InputImage") + { + myCaliper.inputImage = myVisionJob.GetToolInfoByToolName(myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HObject; + } + if (L_toolList[toolIndex].toolInput[j].IOName == "inputCenterRow") + { + myCaliper.expectRecStartRow = myVisionJob.GetToolInfoByToolName(myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; + } + if (L_toolList[toolIndex].toolInput[j].IOName == "inputCenterCol") + { + myCaliper.expectRecStartColumn = myVisionJob.GetToolInfoByToolName(myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; + } + if (L_toolList[toolIndex].toolInput[j].IOName == "inputPhi") + { + myCaliper.expectAngle = myVisionJob.GetToolInfoByToolName(myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; + } + + } + } + } + myCaliper.Run(SoftwareRunState.Release); + if (myCaliper.toolRunStatu == ToolRunStatu.Succeed) + { + myCaliper.DispMainWindow(myFormWindow.myHWindow); + myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行成功", Color.Green, selectNode); + } + else + { + myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行失败", Color.Red, selectNode); + } + } + + } +} diff --git a/ToolListRun/Properties/AssemblyInfo.cs b/ToolListRun/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..efe591d --- /dev/null +++ b/ToolListRun/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("ToolListRun")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ToolListRun")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +//将 ComVisible 设置为 false 将使此程序集中的类型 +//对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("cdb92f0e-2065-4116-874d-3142fa19c2e6")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ToolListRun/ToolListRun.csproj b/ToolListRun/ToolListRun.csproj new file mode 100644 index 0000000..34a5186 --- /dev/null +++ b/ToolListRun/ToolListRun.csproj @@ -0,0 +1,81 @@ + + + + + Debug + AnyCPU + {CDB92F0E-2065-4116-874D-3142FA19C2E6} + Library + Properties + ToolListRun + ToolListRun + v4.5.2 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + C:\Program Files\MVTec\HALCON-19.05-Progress\bin\dotnet20\halcondotnet.dll + + + + + + + + + + + + + + E:\VisionAndMotionPro V0.0.0.3\VisionAndMotionPro V0.0.0.3\VisionAndMotion\bin\Debug\WeifenLuo.WinFormsUI.Docking.dll + + + + + + + + + {AABF8D49-FA00-4E25-9410-4A573D48DAB1} + CaliperTool + + + {1C8D0DDC-2086-48A9-9586-F2B643E2FC54} + CommonHelper + + + {4ADC75AE-59C7-4D36-B675-A6CE51B6F5BA} + HalconWindow + + + {2CD1B0C2-D64A-4DA4-8A9E-64D5AB35DE25} + VisionEdit + + + + + \ No newline at end of file diff --git a/ToolListRun/bin/Debug/CaliperTool.dll b/ToolListRun/bin/Debug/CaliperTool.dll new file mode 100644 index 0000000000000000000000000000000000000000..bcce671acddb7b851a38a940d4b2156b4d60aa1d GIT binary patch literal 26112 zcmeHv3w&Hvwf8z_CX>nJ(I#!vrmvYcv<__vNgwn9rA?DQ0)3=O3KR-qk~vAHoyxy`*G&qYJtZGBj~OOf4zeKwd4o0 z?$Sf~~rBEzw5J zM<0Bx<9x^3b2K|rs?`%+07^hnf4Cp#2#ygPMB@e5mETOT*@%vy0XqMDbm67U%Kzoh zc9Ti??StMejEoRn!GS3J-AYsjTJt`l>4kmAYe$HJuKpm}8(i(WjIlR^_J8oG(I;cI z{YFcE5uyw0thCjQmiRUTgeU4k9IoGLOjn&{Buy}~uXHO8))mL$`mH8f<7x_eFUJ)> z_D!cEI?_z^;n_r*P%$^XM1PuSH{Qc(LcNbp1RvxpN!N#~;c>K*D3q*;R^b$#0I;8_ zsxLI30`umQ?i1QPDwLl*raV*iVTO5mZq1vi4^QFqY$y~2gc^q+2nbUhf*=H&I(+~> zBV_P7T7+zxc+?jPESN&ehj0uctJB-@DtKZtj%+-5KeaS-8h#EClBM@I8PK#9_qVsVmj?$9h=ivt>%cHomQrX7c@`cq0Hf- zV8T#So+X+;S#?^NxB++HyhghqAg}3O%;+OHFr8c{v>sRLm~%NSdK9x0K$LKc1t*iQ`lvR+U+G_PEYo^T6p;H&+g%dEA7<3eD0_DQ@Mh0vh9~XwI22}hrLXzimC$91wGw;;yO9KjJZ%nMsw{KE{=|y zi`O9UGpEA`6noU~VFcR`;}glJ4`b^5*1tf~L=8h4>ciN-{HUYS%M&W)+wK)zI!(hA z^G~0=ADCZHp9p03BNvZKP$%xX89!95&16UBXuIsKgmruP~^>KmJ!%@|M zTlt3U3D({4ct7W?9-g_M(^#(+kLdTS_H%;k*2Bz!9PqM`&!N?*~e}FkYqe0-gWir{V0}v;vH6xA|XNuI`6ZF@`=ESQpo~5^?G_G zhYOn$Q&46ggxTTXN1*~q>ub%RoM?($A7&wQ6*w{ov945&fB{9H)tXMJ6`NQyycjF# z66R28R-ziE^QTdo-7Blo(}+Sqln7txd@7#zRm?sXsoz`;9$hX3%tm%h;nU1D(ug7` zQrac22JKwn>Lrdgfk`b|eHhisuPzFrSTn2$=54p7*16WPKCE_89+F%Oc>2`7DSez9 zo<5XYM<=I>r%&yTBFCBI=|kmn|UqznxK}1wi0G4@6 zWZa%OxGs~#^{2(oLvYlC!*7DXlfez2GY)Q8uV7%aagE+MIeiBEdS;$6x{(PYi6P6} zpOu??+cM9txrzBU14L0&?Q39J>oyZl^O#Ih0Bk0n?=hK5(BTY}L+@g0g*jCWY$Ydp z`}6LETuL}YTuSmxoG*?g&IxlX4~+LDNdqS(I6aUOcjKfgl5L!`D=(r-k=?~*Ga@9-_aMG997tm*k$H41nIrjQ9{8+-znFWSxs*PZ}<8zl-+ucRNL z80*mv^rW`|g!J@TIPH%>P*0!D=&U@7xp$~2s1ABU9-Wg%=L#yyIEJ=fNqJ?0!*5f0 zru6hVY>h*yr?)f8<-tZz$}@1_Y_XH`D5s~MK9|KB1U-*YE?0Vb2cxU=DCP)M?3$td zvThVAD@&oW_LLZQUGPdAmgZ6HvY^V?r1B_K3Y6kKHP0X=O({cRca))`J19yw5{bPw zFMv;&HNiW9n-{tWu|k5~$s=T6`r2%V!hqU5EG}Q<4nQs z#J(`a`Xd*#o;)GEK0GPi%UpdfVvm_nEzX$9=FWV>DIC$p>YB)9M3mme!e{0=!V@Bo zGu`bBtC>@$uK}>jp$iz_&imoeN4vOfa0tcDsaZto=bUDaXGUp&Sj_)9IV5xke zFo;Ya<)f&(&E=y=7y8J=$UIjNMeIv1AGv%V-!0|{_lKK3abu#lmWZMUTn>rcj__2^ z+GS$oB$q?HXB^)?bA-*v<%MBky4MBK^(&VPB3kGI6C+DpF7RG;d>5DlA*l6)fQerF zqUa5meUU4)&qPlMc!NB?edd7u9*=z{dhLs%8a-b=MXu036FuXf|E~6#W3t(=iYqtF z6!0k@8IL=aIn{DWbo-pia%p_KY3A9&{gKZVPMcU;;&PG+;T_nkdLiiSIZTYKa7~hk z@g=xZ;}?L#bzQ1%I3o8zB+?Dw2^I6!Os$#f*=(3-ZE-omgz&lHdXFPaj8wQB5wSFj zp=k1E!-Q&cAm7lB25@s2NblzHSc=ZqI391A5aH(~qrK&>QQk7q8ghBdgi+p#)^eA( zBK9vXZ<&zumK*T4y3kv`3_E^CGDj{WxFH!)<7C9cm?+MOyJ7kEIa90$`0Qi`vm-Me zE6fbB`lxG&!dRFYOpL5_4N=6{pfe$S<%o-)m7Ww}qIb10#d_XlPUH$NeuUWPTxsx? zXt=^mt4Zb7 zEPI@s?mh`x1m&GP3zXfAEYxu|IG7)4WCGZnN#h#@=K+R1m zCSBuQ$|YhdczhA%IP4;GevU!rf;I-3tMeG-S!0uVFByZIuQ$ga^UgO0nfK%|$b7vu z2AQuQ#vt>>kDDB>h}=O13xk7VHMs)KgvfJXi;OFrR_R(@5a??2A~na{Yn{!S>>@15 z2`aL_(dCJY%(sA!gDx`P4!X&zCVw72d2)m$teDGnCPaP$w(verItqQ2%Wo#+{1!EX zF2C8?+$AD6!ZX4^KlPliYyG(>x}b zXx;5HDO`mnnV2&vB5spRnC$F|9ORryZouRWk4Yw4kGV_=SF&J~Ow5@Skzcw-$%LFq zsYogz_}<=`Vi%e3^T!~|(W8=4Sz8D3OO@F79wec!FoVtl4_SHC`sj zQV1XLOsvpP*Yeej3Aua{HJU%a4tT7&NOL1x9p3J-%*0W56HK&9Sx=7|xrjD~%RIg? z(X&N~SdGg($24c28!#XCm}lZB^GvknxXg>_rULU!jJRvBh%IuN=edg<;zfCu$0*ai zn?F;mMwdk0$n z3Lq1$OI_APv@n27j8qj^vp(($Am^yIA(91;7+}YE`fvg??heh;r*u z6#vo{PwwY+X z;j%5Fg|>y5aBPc=E0J&ka%45Y>c;e5#4|c1L7g1ESk93oE`K9`K@g?9M2CeMRcXQ3 z!S+Pk6uA&>6rO;k6`@G&LnG6Qo6qQeAzPC{jjGaRoy;8SvH?j`|$79y&}Fq=z(mjiFlScz0`nmMM| z;C*!wXxrN9oSEv|u-f(8TAI<8fCe4*PEKRnTpvx0Rkr z^)OmRBc*qhR?%kPU8Mo)@U!)oef5CX!g@8O%bEbm-xQik6~*=C0XiC76`V_A{Hb@~n<4ztRbu7Mt)j|rR!IGa8Y;8CoDpL3}S{4?qF0OPX* zEc<#XQ~c0;6}=+1ZiB4=9WG&?e;i`FcY!jODmCVOL&kfx&ODcwToam0*9Q-90#Hz< zn)6nRjHf3`9xZNU9RJ4CLud^mhpI5+|6AXy2k1M#VZi$Zww4?K-Yf8Yfj=!f1j_y( z!!Kc6udNeYiN2AXK7=BeK zpDAYim)ZfqY5GS1-`1{$)b~oR1DsKEBVcd&EqWy#)Ney?XX$4^d8zD9;J>DO0Dmj+ zae+S)t1DnNtKpwTCUa=Z9>hj6|loSMcyKP8mO(9;^> z8M`d_=d!0jztnDp%72R1HFoRD;-_?-zGJrz7ylHkC#Cg5$$k1SbRRu!w;s_?MV)xg zZjF>ZulwmGyLD~Z3uwJ=w<`U=(~IbByEWJUI$Hi&gx?DiD}4PWtwVIc_eYHC9MpFB zNw)wmri`>+(8iU#uA?=V`wmhKGBHShlGbH3tNf38keYFy3%Mz^Snnm2#Lcj3{Y5XK z=cILgFr)i?AqwNRnzdY|1<`7?TTf!umeEu5RNrp{L0=iYDXq(Bamjd8nvJ-pXSpAv zZ#>mVJ4XA|gtF1vK?loLaDXcK^G^crgOv0*Q&xkmF)qcz$o z_B(!ZC^q3zmweZJrg^b9?Pe0YYI6;Gm=mM+}@ zJRICe3GIyXt-^CQAp3Aos|6e|ZPQ+-wz6}yGTL1dpc}Q?P!jmf+MxCf9SMwR zH!8aVpAq=7z}M-w#g}U_?Um5Sv^%w%wHtsJ6@LoaEZ@!afVQ*r4(&?qp7PIY-_qFP z;{um!pVK&EFP7Y^Jq24|gVdC=BU+1ghW}R3V`VqPt98Mf>3OZ(_n7v)_6K@GtJLa( zmuoL;Px`RGN&daA)%%{-wnD>mng)m!Ah1$kjlfv~PZZc7aJfKDe-Sx5OIt`U!upA2 zjNb&jQm+lY0?IdoZ)i2ZHTZLG@EuSR$o^S&?^{Kh9@BQ0b8l&267eX4I`dD`8}xt0 z=qj~$LNoN``YU>^-l)G-GKpHydm^O18#o#87bU0Y+x6SZC($ge6Sb&8i-ISntq8yt zI9KWkeNJf;;8pq=`pYyWpy@;U6{TB&e=K+w;0HC=rXT2OY;HvrT0UEi%VOx6A)0-qB| z8dD+yR}0j9OwoLYXqtbP;Ijm86ueRJ2rZ>Xx`T$bt1$06Rel%Bh{PfYoMfa z7EbClGM%ll6ohC%ozerzM5f71WnzhxVKq>%WeyIkG50o5ODeNyA+0x3n~Yd`&@$SL z?o2Gzn=}@VHnh+-gfkmjm^TE})@b)NEK)p+ave6IVR4SK*dEyub+%6pr%;CpuW%MC zOVw#Powmu04G-IcS}ejMHg})WBe- zr9akdoW85Gb4{#!7X;QN4DL&tJ()c*%*kM?Jrm1}!I8m`?cTvr@|-A{KFdh=nb6i| z4yNMNY{mBErx+0xx7#^AGKPhKV)DBU8BO#b%mgh&gUH2N~J0 zA(o2cjL~Nj{YJ;ofMHYC8yRk`v&?>*V(cA&y++Pz+R!mLfK#*Cy{kPl1Z*89Lt#9+ z&9Q#v5ZjjqM{KPq*od`5&9O|3)l&)`uYhLy%D%}Y6*SY17d-a#wI zi+FT*vytw$5(C~&6%UbUGm^2rf~7|bw_2z{NTpn~@ z>~tlt_FTOe#gc=DT9v4Cs2Qp{aM2U0tUssGluQ^%Uv9Rv4-O2NR;DGD$Rtn{ZT40a zFH{t#yxF$v?C5ciEC}_?18?p(8A`{X7pkL?Ji!Myk=>`*@;x# z+|#)(k%}d0Bkx1b*f^kO3i05|l$2nx*Q(`|IN2Aev8M-%S(aXFVlS9&UwBQ|#gj?b z5SpOSu&^!2aNCUZU=lm2QlD>iqRiSITy|9p>(>%qmv(Hp36wr47!?IEz;y@9)845W zu|VLh-@)w&IL$s45U0tdx82|^%!s$31lhr%4lB_w`Es@I4A2tWa z?ZN&Osc9@A@?^Ah>akv=&^TL87GF9-*X9x0@q!H zwR^h_S*&)M<$|wjZ%eAjr2Zj}rJ(FpN35$ogZFoK9kzEB&On4PWe5VtdG}4L2Jgp$ z#VnLv!J3jr%!2EwxM4}9l%&F3L#o@@6iZ>FvS{r^NDQ^XSk%JdmuoAMM9Vi_mke;$ zP6X;!S1l5s##DD7KDc4`dHcuM?bf!mfnqusOUm|??`t>$>G+hq*Zs z>rI*IOrkr@gXlMLg_r3w<7sEPIHdsBT83o~v>Vn%iEd+5wHLBl^2ehlf$l7rY z7k~4rB9^vyHk1!ui)m6LmQkgt9|VbIqlIU_oW2}9WQA&Q4(EJQsh+N5D`{$tVTVY| zB36NPu1uP7L6G9jAx-vGEp}e#noq940$-A>hjo2EFD#yaU9&6N<;=P7iXL3n^vWb0xHpG(MW~$lDY&KXBRV;>?!Guwt^u*0f3Jr6hvjrCiiS9&( z)~4cI5@-#|T}rU^R&1aT)3%Mt`Es5sZ@9uuq%tyOzIb6jFEXqQwGXBTkhB|PL*`(H zkgtRNhTUj2tRBS7ZgG&g&TJXX;Nnwa&I?8~3c^!~^x*4{!CY0!5jay>JV)S)rwWBC zmTl%9vP&SNxxK+DBTV!b7N!)`O(wCUJdR{0!%a5qYTAWRHkeIVd@4KaIZ%x{H6eBn ztMd?KrQ4nTLmT$U)}q1?>uSOJ-%D~uk4rjULtQ2#>+L%or^wiD#o}91$swNFwY#xq zv8NN~$$*)RS=?~0#aiO18%&_mUb65PR|chkH&8w9?H5rGUOF5->&ey?n=igtn}q^Q zG2u#6hC0ECOG)abKI$S9bSnAL)f=xE-}R|Bt^7CV@7c;Ny>r!12(ZB7Qh@5NYn>}goSW{am285t+iR{2++M7s+dNx}yb zrT>1(&AlbpyxcW4tBuR|G!R}*mBiXt?0E3J!XA9dAw37KE9`;3@^*=0KWyM#wnro0 zf)xj^KdrS;3a|5u5B7fGLeO&~z?~udOCZV|*^PiH#0YDh@WIstXPkLk^d2N(XPP6) znpBkfWLDxtHQjdfIO-e;OCpbKs_la1l*Dxq=O&MDrf^dc=ZAKp!`Tli&t;Qq6m4kt zLZ>P7Uwz=(t2w?}X%A@Fq+o+e*sfqR9B&N#&kTAY*^VQLqnr71qaAyuRi;sS2HDVs z=$X(!;WVPjF-2JuA2=@(@P#9c*pv^T&8;N2Ch!X4Odi1hI>Ce&m>>6r@X13>zRU7_~6D_dBImg_e-u%FThPZnr*lrsCXp*;w&pG?sL}xC;Iu-gq#)qliO_l@2bOItE1u!O~pKZ#LeYDKD%+X@B(40LIq?=RM>w&9^-IYYg?JP5pMTe+`TF;s006#I0&YBx0K{y^2pSBfH3 zHSz!+Jyvb28hH>89~s#;lS<{xIR6{({Z9{+i{6SrMA*=%sM-dd6?l$VIr5oEag~yT zDO*DxfpxqZ(lqF-prV`^G|R|uH_;fE>r=){$){CqRd_X?k2{K;GkV0Q;4}(>(II;s zhl@crIzG>UFjZ7kgd#MlYUFXPYUBsO91`(q71Jw6p5o9>Ab+v0>wyRYw6y|yrgJ2# z%BD*Ie}X_j_Dg)K9C-#0TJa%-4#kS_nINkws~mYn@xAQF3{?OGDvB^+BX}E z37yEavNF|ZP^aboh&ElktUA~j{MyAk&Z=4b+?BzW^g}!C6KX~t|&I6S{39Zlr zx-U?*3CC6(+w?$%j<;xmN&`m%6yQ}uIQnsv;n>f~b&$cO46bDG5eC;XxQ@Y%3~upb zq}$l#s%?yJ1*kN*U1>0y5L94QKjY)4`w8#Fi+OleBe(In0vYFzLJfnh01yR8_=8}? zD{guGOf&hlc86YlHZD3ho2lIGR!5(Or%)RB)Q1oFg00kbp^r)`Pr~sBZBE*eo{}YzW$`e#=<2hEnnOKEVg9nqWI!v@mLpXS{W=f z;Hwb)Bif|V^t#P!J95u{7T6CeR^rQ%C3OqoYQ@A{C*Q3lV?+FyZX!!Xay=2@_OpxX zWj>HMCldYed#^pj#A|URbN8e6ZAu-kE#(%k&A=lmYeB?$T)ZISc)_2q;NOBs6Rt_| zw0vdC7|d9){_}swxoN>DGkdPEjH?xEw3GIOg*@CY~mh4 zhg0kvA3e@poO{CSl$zjGDWbhgt- z{tC$`Fe)@$pw<#-NMAKL)##7g?Ptz;a($DAYa(;Jta zJ1-pNi!(m9p~mR8t;U-3#WPkl{=YU~j_Zp(&YW-Dc48oBJ1(HBvD-d#Tx=iTPrf{O z-_^&C3)_%*J3gp!vwjtSrswgTeV5Gp$(M^VJ)?a2N9D_tkK8cI7iWC$HDBKNUw37% z`S4&ilkUkKmmM0&zV__rW$wnzU1whHxpv}ryfvN6L(UaG#>khSeD~(;nQIPZuS~p@ zJI*=t#_YEr_?W$>?Rn(+wC8lx9NY7HJYU{RzWnIhH)h+bNS)TgM40ked$8J-u1qYA3b_ld^tRn%`V(@arUa+zq5V0=6&g5 zySoRvRo$&!c>1<&P1$>IJMVoRhdyM23e7JK8G zHEU1HUU6X4`#uH-TEv%up6_L69=a#n)%{KJCAD+?`_{$wo7b<*_V#YiKJ)n1*(3LT zF#E_?4rO2c#ZB2qzj`S9{Rc14{{Gopj(I%s@KxeVNBWD|`QQ0tcJqO+h%XP{_n~9T z98X`OZ+o_{uQU6duYWvy({;nye?GiF`zqEXpYQtgrFLDl*HXcL(V=Zl@Y_8OFR;N&mXquM`RYmC=9`V)yx@kQ2}n;*DSXJt(@zuOn|voG5=U7NjO z_$ZF79L70cu-B1o)3%eVU82XS5lSatzp#xleF6Qw)R&i@`E0ghduKM0+Lt@p&WUAz z{)116-;RAbJLAmxl8+0=iTyd2FD$QO>C8_)E}j^R9pG3malDpW9fD)yP~P}#}$LAcocWUjT!_&U>LU!uP_8*MR@!qN8%LA|e)xO}K=kT=q{#L%M ze|(zq<)-&Of;=bUd3f4aUdm2Awe^1 z^=luVcFi}kr+wlpJjY$fF!7$r(CI&E>Dq7X{?d1|8y|T!+wi%cW$W*F`dyEP&pw?! z^INZGci;E@?8z(EKMXzZE2hVCu;zq?p_$R8m$z*U?9y|a4 zc7DJ$T|+?dw}=;BK-AXW+`em9anEH}et*rEzxS6LCO!J;KcJh|t=Mr^dlNp^*ukIk z;jwTWA1xW_%nsKh;2mby&K>eCpqpAZ5dR;iDjfK~;P+|#m8SE1i1CQi@}8alN4uip z>lLdxndI*gNS+@XhI~-Qz1ca?G2Scvep>wZXGBv}F1rNz@g(8<0m*R>of{i)oHIhS zfFEeuzXd+LDW$XUzP1x^E#A7f;|<&v+KhG!;5zkx-KPiruN_qnq}c-h)OnR^5MDaS zvsSw)r)EG6TKV1dI=tQE_rWcAXWN7Kdi*;cZ*tSy#+dtvB*Z*N8swQ6r z@cV6kt3Fy&pYYUU-0I(AyhTO~@b{b?4}QPdkAM759$&VIUZUBqKJ_Mf2&0V&pUpz6 z@%K_%&R#P#;M*a1%kTO58wbZv@B7IP(D{u#&jVgt<>b$TJij;3%QfI_Cx7dq4t{_< z9{e03^@T4J!*#H(97RRSonJpCyJa??DH1e2G0;%cIJp%9C^0u{zAfu zQQr4u66;pzF)^M&d4uhqkFn(m@A)~#Ub(_Z7sh#+$TVUUX&DoL+cJa*yqg?`@sIlr TsK1;35&qQr|Ns8qi@<*a{q`VJ literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/CaliperTool.pdb b/ToolListRun/bin/Debug/CaliperTool.pdb new file mode 100644 index 0000000000000000000000000000000000000000..a470bfbd50310d41acc254fc2bfc13c4219c3ac4 GIT binary patch literal 28160 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 HYk~g& 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 literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/CommonMethods.pdb b/ToolListRun/bin/Debug/CommonMethods.pdb new file mode 100644 index 0000000000000000000000000000000000000000..77133ea8be4cb598b5718e1488322cedf2b20936 GIT binary patch literal 30208 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 literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/DataStruct.dll b/ToolListRun/bin/Debug/DataStruct.dll new file mode 100644 index 0000000000000000000000000000000000000000..9b259a921e08e84ed0d62543a32761789eb076cd GIT binary patch literal 5632 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 W-LnbJv0~IQ;GrFP`m`-nDLYeE%Tm+MS z7^Bfdch_#@LCu;-bd!y~Xm+1Ol0LXZSL4H)-S}Wu*#{%5S%NVun;7cv_x+i%4egEXt5!AiB)b}Ji8nRX&05rv6hK7%lf_65 zF%P&_lkj&6cwl%Wgz4;o7LjkJv;EWE_S(NC9K?XgT!V^?j8ub;j8x$_gsJR-O5-2H z$cN)Ul}Ej7+mU#}dE|8J0S84#zK*_f^soQh_SB&jjj^-+t1TDnh(Y*h$GWja!Rj!5 zg?OOS{O6t+od3+zoU!x@F){4sI35Vce;nsbgQ~NAJ2sq{@j+}TDZ|@diX45bbIWt5 zKK*-aXoJqzzVP^cv4Ia_$8QojJG1-v7xfEAcD*vU=ZUYq?#!djd*&M-o$}tFyZB#y zr#>%idFJt#zI7<`OmvtCnY zN8Cj|gdc|oI2+?~Q;faoH(jbRlw_tz^c)6Ojcq*RdwKF#SHH92KPUdY^Pk;suB?e1 zd-X4S$lD_wvKF)&%*5G9BQ~NDiI#M{O-8^^G*Q3M7o7pd$?8~d>}XShL{n~?!sMasAx^lH#MKWB+w3Wj^exG{{ z_%`qp;DrF^znwQrjFOXqh6tZ1v#KiPb$R&%X&*-cmeosDjO{-J+BW2yB`acgCm$~O z?g5NQDIIV31_xa=NTfmU0jKEL#-dOYO_M>HchPZ#@R5k&FR66m+SESyIeNlyu9N=<~4ZdDt>L~*tu=z*N}36iW6{aKrBRQx2pO9<`=a% z_@fR&F!mOixWRYX;>W04Qi_|;N5!x1pTqc85R|dh$XEu7`5+A?8Oe&VM?akf&WFLP zfgQjQu51r*{@NH<6Ak%;0h6#EM>*DNs4roRTb-X7T@M6wV!??XwK}1%_@klph}OPu3Xvjw%1G$vbrHI51KDc}-#C zD40n8C}x!@o?mqFCA9tf!dMf&vppCm;+?4eJ7teoQ5;*z2%jAAyuA>(0*Lvg&WI_{ zJ-|UA&p(d=8OMJB{t5UVFof|vFi%#-$iZn)CHjI_FE<9tn$|ZFT6iwgy!$Hf>N3N7 ztKi(Hc{v7EGUmdCGOI(^n|A4PJDx47{am2L2B5rjwKnL5{3zg;9<%S=Nz2&EzNCkdfZuoC5^D~ws%67f+S^2u$ z@UI8cB>?U>mB4YhGw8jcQhiu9bv)qU%P#NX_Dv>&ytR&XyhpDz1!L=YKelfUW9xYD ztyC95bk|`HaTYPgnBsSbnLvUqBdx+JK)wi&e?hp2=W4O<-9~*`9F=LPQ611}B+D$k z**2R#{#va8!8+WBO0VScKytg6&H0kJbz|4fEs0AsYe(yyOpazAs!6DK-#U@s&5@^f z@r|XK4g#(Q*&a~9cb98b{=dVvm@=3yQ(Hq?D@T;GMV>{@BufkdM+K7Gy~4da@0N~r zoz3glCb|rFS-#a*5`)BS`NCvh2E8yncyVy0GtqKOBGG~c9x%R+OEdm!-iV)J~&Y`hZ)I#zH>RxDW3yZoY5O%k0+$1KB~h(0FklgK*tb!-Xe91w4E3=@3u0 z`t1pn&w@V%&IA&||9+(XFzH|J{|&%nKpgR88J1g8!jr%vuorj(@FUc205qaQS%HP$h literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/DevComponents.DotNetBar2.dll b/ToolListRun/bin/Debug/DevComponents.DotNetBar2.dll new file mode 100644 index 0000000000000000000000000000000000000000..c9ac128bb66dd64c8b1611caaf5b9ae9401c7e3d GIT binary patch literal 5677056 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%0D?V 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%0AZNvn3eJO#+ujoMoMT;t=(N91s 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 z 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

prWneA2vUs;Cp6WoJ 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

H!IDka>lI5f-a%;g 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

R;t-A2;zt9ZsaJ{ri%lGw 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 z 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�-xZI=?m*i~NCm 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

q@tcRi3MUsouy7sPPsqlU906JI) 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%0DrT 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ℑ-dduYs`#a4H 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ⅅahW4_&d*$bY3Yn;}^x}IQT1oXYGyHm?jwowHX_f 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 Z_BDeIdp)^J!ezlvbVv^c$%m;2mcbOXV%MS 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

^FAVG9+9jL3-}+%)0qF;V+JNy?@B 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≻IV-c0f#IP|+Vp$r8 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.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%0DK$nO*e<+R1ka{ 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%0DW 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

5>Qu1yk?@@BM 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 N3j literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/DevComponents.DotNetBar2.xml b/ToolListRun/bin/Debug/DevComponents.DotNetBar2.xml new file mode 100644 index 0000000..7605853 --- /dev/null +++ b/ToolListRun/bin/Debug/DevComponents.DotNetBar2.xml @@ -0,0 +1,81015 @@ + + + + DevComponents.DotNetBar2 + + + +

+ Represents advanced multi-column Tree control. + + + + + Specifies the notification interface that node uses to communicate status changes to it's parent tree. + + + + Called when Node.Expanded property has changed. + Node which Expanded property has changed. + + + Called before node is collapsed + Context information. + + + Called before node is expanded + Context information. + + + Called after node is collapsed. + Context information. + + + Called after node is expanded + Context information + + + + Required designer variable. + + + + + Raises Render event. + + Provides event arguments. + + + Creates new instance of the class. + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets the current renderer used by the control. + + Reference to the TreeRenderer used by the control. + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Invalidates node bounds on canvas. + + Reference node. + + + + Invalidates node bounds on canvas. + + Reference node. + + + + Finds the node based on the Node.Name property. + + Name of the node to find. + Reference to a node with given name or null if node cannot be found. + + + + Finds the node based on the Node.DataKey property. + + Data key to look for. + Reference to a node with given key or null if node cannot be found. + + + + Finds the node based on the Node.BindingIndex property. + + Index to look for. + Reference to a node with given key or null if node cannot be found. + + + + Finds the first node that starts with the specified text. Node.Text property is searched. + + Partial text to look for + Reference to a node or null if no node is found. + + + + Finds the first node where each Node.Cell[0:n].Text value starts with the + respective value found in the comma delimited 'text' string. + + Comma delimited partial text to look for + Reference to a node or null if no node is found. + + + + Finds the first node that starts with the specified text. Node.Text property is searched. + + Partial text to look for + Controls whether case insensitive search is performed + Reference to a node or null if no node is found. + + + + Finds the first node where each Node.Cell[0:n].Text value starts with the + respective value found in the comma delimited 'text' string. + + Comma delimited partial text to look for + Controls whether case insensitive search is performed + Reference to a node or null if no node is found. + + + + Finds the first node that starts with the specified text. Node.Text property is searched. + + Partial text to look for + Reference node to start searching from + Controls whether case insensitive search is performed + Reference to a node or null if no node is found. + + + + Finds the first node where each Node.Cell[0:n].Text value starts with the + respective value found in the comma delimited 'text' string. + + Comma delimited partial text to look for + Reference node to start searching from + Controls whether case insensitive search is performed + Reference to a node or null if no node is found. + + + + Indicates whether SelectionBoxFillColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets SelectionBoxFillColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether ExpandBorderColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets ExpandBorderColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether ExpandBackColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets ExpandBackColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether ExpandBackColor2 should be serialized. Used by windows forms designer design-time support. + + + + + Resets ExpandBackColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether ExpandLineColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets ExpandLineColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether CommandBackColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets CommandBackColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether CommandBackColor2 should be serialized. Used by windows forms designer design-time support. + + + + + Resets CommandBackColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether CommandForeColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets CommandForeColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether CommandMouseOverBackColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets CommandMouseOverBackColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether CommandMouseOverBackColor2 should be serialized. Used by windows forms designer design-time support. + + + + + Resets CommandMouseOverBackColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether CommandMouseOverForeColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets CommandMouseOverForeColor to it's default value. Used by windows forms designer design-time support. + + + + + Returns the zero based flat index of the node. Flat index is the index of the node as if tree structure + has been flattened into the list. + + Reference to the node to return index for. + Zero based node index or -1 if index cannot be determined. + + + + Returns node based on the flat index. Flat index is the index of the node as if tree structure + has been flattened into the list. + + Index to return node for. + Reference to a node or null if node at specified index cannot be found. + + + + Returns color scheme part color if set otherwise returns color passed in. + + Color. + Color scheme part. + Color. + + + + Collapses all nodes in a tree. + + + + + Expands all the tree nodes. + + + + + Paints control to canvas. This method might be used for print output. + + Graphics object to paint control to. + Indicates whether to paint control background. + + + + Paints control to canvas. This method might be used for print output. + + Graphics object to paint control to. + Indicates whether to paint control background. + Indicates clipping rectangle. Nodes outside of clipping rectangle will not be painted. You can pass Rectangle.Empty and all nodes will be painted. + + + + Processes the keyboard character and executes the search through the nodes. + + Character to process. + + + + + Raises ColumnResized event. + + ColumnHeader that was resized. + Event arguments + + + + Raises ColumnMoved event. + + ColumnHeader that was moved. + Provides event arguments. + + + + Raises ColumnResizing event. + + Column being resized + Event arguments + + + + Deselect specified node. Use this method when multiple node selection is enabled to deselect single node or all nodes. + + Reference to node to select or null to deselect all selected nodes. + Action that is selecting the node. + + + + Raises SelectionChanged event. + + Event arguments + + + + Raises CellSelected event. + + Event arguments. + + + + Raises CellUnselected event. + + Event arguments. + + + + Selected specified node. + + Node to select. + Action that is selecting the node. + + + + Invalidates the size for all top-level nodes and their sub-nodes. + + + + + Invalidates the size for a node and its sub-nodes. + + Node to invalidate size for. + + + + Ensures that selected node is visible i.e. that all parents of the selected node are expanded. If not selects the first parent node not expanded. + + + + + Starts editing specified cell, places the cell into the edit mode. + + Cell to start editing. + Action that is a cause for the edit. + + + + Starts editing specified cell, places the cell into the edit mode. + + Cell to start editing. + Action that is a cause for the edit. + Specifies the text to be edited instead of the text of the cell. Passing the NULL value will edit the text of the cell. + + + + Called just before cell editor is released for editing. + + Reference to the cell being edited. + Reference to the editor control. + + + + Raises the ProvideCustomCellEditor event. + + Event arguments. + + + + Ends cell editing. + + Specifies which action is cause for end of the editing. + Returns true if edits were applied to the cell or false otherwise. + + + + Ends cell editing. + + Specifies which action is cause for end of the editing. + Returns true if edits were applied to the cell or false otherwise. + + + + Raises the AfterCellEditComplete event. + + Provides information about event. + + + + Cancels the cell editing if it is in progress. + + Specifies which action is cause for canceling of editing. + + + + Raises BeforeNodeInsert event + + Node that is about to be inserted + Source of the event + + + + Raises AfterNodeInsert event + + Node that is inserted + Source of the event + + + + Raises BeforeNodeRemove event + + Node that is about to be removed + Source of the event + + + + Raises AfterNodeRemove event + + Node that is removed + Source of the event + + + + Called after node has been removed + + Node that is removed + Source of the event + + + + Invokes BeforeNodeDrop event. If overriden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes AfterNodeDrop event. If overridden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeMouseDown event. If overridden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeMouseUp event. If overridden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeMouseMove event. If overridden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeClick event. If overridden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeDoubleClick event. If overridden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeMouseEnter event. If overriden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeMouseLeave event. If overriden base implementation must be called in order for event to fire. + + Provides information about event + + + + Invokes NodeMouseHover event. If overriden base implementation must be called in order for event to fire. + + Provides information about event + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Save nodes to XmlDocument. New Node AdvTree is created and nodes are serialized into it. + + Reference to an instance of XmlDocument object + + + + Saves nodes to a file. + + File name to save nodes to. + + + + Saves nodes to specified stream. + + Stream to save nodes to. + + + + Saves nodes to specified writer. + + Writer to save nodes to. + + + + Saves nodes to specified writer. + + Writer to save nodes to. + + + + Load nodes from file. + + File to load nodes from + + + + Load nodes from stream. + + Stream to load from + + + + Load nodes from reader. + + Reader to load from. + + + + Load nodes from reader. + + Reader to load from. + + + + Load nodes from an XmlDocument object. + + Document to load Nodes from. + + + + Forces the control to invalidate its client area and immediately redraw itself + and any child controls. Note however that this method will node do anything if refresh + is suspended as result of call to BeginUpdate method without corresponding EndUpdate + call or if SuspendPaint property is set to true. + + + + + Disables any redrawing of the tree control. To maintain performance while items + are added one at a time to the control, call the BeginUpdate method. The BeginUpdate + method prevents the control from painting until the + EndUpdate method is called. + + + + + Enables the redrawing of the tree view. To maintain performance while items are + added one at a time to the control, call the BeginUpdate + method. The BeginUpdate method prevents the control from painting until the EndUpdate + method is called. + + + Call to EndUpdate will enable the layout and painting in tree control. If there + are any pending layouts the EndUpdate will call + RecalcLayout method to perform the layout and it will + repaint the control. + + + + + Enables the redrawing of the tree view. To maintain performance while items are + added one at a time to the control, call the BeginUpdate + method. The BeginUpdate method prevents the control from painting until the EndUpdate + method is called. + + Gets or sets whether layout and refresh of control is performed if there are no other update blocks pending. + + + + Retrieves the tree node that is at the specified location. + + The Node at the specified point, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The Point to evaluate and retrieve the node from. + + + + Retrieves the tree node that is at the specified location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The X position to evaluate and retrieve the node from. + The Y position to evaluate and retrieve the node from. + + + + Retrieves the tree node that is at the specified location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The X position to evaluate and retrieve the node from. + The Y position to evaluate and retrieve the node from. + Whether to enumerated displayed nodes only. + + + + Retrieves the tree node that is at the specified vertical location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.Y coordinates of the + MouseDown event as the y parameter. + + The Y position to evaluate and retrieve the node from. + + + + Retrieves the node cell that is at the specified location. + + The Point to evaluate and retrieve the cell from. + The Cell at the specified point, in tree view coordinates. + + + + Retrieves the node cell that is at the specified location. + + The X position to evaluate and retrieve the cell from. + The Y position to evaluate and retrieve the cell from. + The Cell at the specified point, in tree view coordinates. + + + + Retrieves the node cell that is at the specified location. + + The X position to evaluate and retrieve the cell from. + The Y position to evaluate and retrieve the cell from. + Whether to enumerated displayed nodes only. + The Cell at the specified point, in tree view coordinates. + + + Applies any layout changes to the tree control. + + Layout will not be performed if BeginUpdate is called. Any calls to the + RecalcLayout will return without executing requested layout operation. + + + + + Recalculates layout for the tree control. Not affected by BeginUpdate call. + + + + + Returns translation matrix for current Zoom. Translation matrix is used to translate internal node coordinates to screen + coordinates when Zoom is not set to 1. + + Returns new instance of Matrix object. + + + + Returns layout based rectangle from screen rectangle. Layout based rectangle will be different + from screen rectangle when Zoom is not set to 1. This method will translate the screen rectangle enlarged by Zoom + to layout rectangle which does not have Zoom applied. + + Screen rectangle + Layout rectangle + + + + Returns mouse position which is translated if control Zoom is not equal 1 + + Mouse event arguments + Returns translated position + + + + Returns mouse position which is translated if control Zoom is not equal 1 + + Mouse position + Returns translated position + + + + Returns mouse position which is translated if control Zoom is not equal 1 + + X coordinate + Y coordinate + + + + + Returns rectangle translated to screen rectangle if Zoom is not equal 1. + + Rectangle to translate + Screen Rectangle + + + + Returns size translated to screen dimension if Zoom is not equal 1. + + Size to translate + Screen Size + + + + Raises ColumnHeaderMouseUp event. + + Reference to ColumnHeader + Event arguments + + + + Raises ColumnHeaderMouseDown event. + + Reference to ColumnHeader + Event arguments + + + + Calls OnBeforeCheck method which fired + OnBeforeCheck event. + + Event arguments. + + + Raises the BeforeCheck event. + + A AdvTreeCellBeforeCheckEventArgs that contains the event + data. + + + + + Calls OnAfterCheck method which fired + AfterCheck event. + + Event arguments. + + + Raises the AfterCheck event. + + A AdvTreeEventArgs that contains the event + data. + + + + + Invokes CommandButtonClick event. + + Context node. + Event arguments. + + + + Invokes DeserializeNode event. + + Provides more information about the event + + + + Invokes SerializeNode event. + + Provides more information about the event + + + + Invokes the MarkupLinkClick evcent. + + Sender of the event, usually instance Cell object. + Event arguments + + + + Raises the NodeDragFeedback event. + + Provides event arguments. + + + + Processes drag over event. + + Drag event arguments. + + + + Raises the NodeDragStart event. + + Reference to node being dragged. + Event parameters + + + + Raises BeforeNodeDragStart event. + + Provides event arguments. + + + + Returns the display root node. + + Instance of node or null if there is no display root node. + + + + Returns reference to the node involved in drag-drop operation if any. + + Reference to node object or null if there is no drag node. + + + + + This member supports the .NET Framework infrastructure and is not intended to be + used directly from your code. + + + + + This member supports the .NET Framework infrastructure and is not intended to be + used directly from your code. + + + + + Raises FormattingEnabledChanged event. + + Event arguments. + + + + Raises FormatStringChanged event. + + Event arguments. + + + + Raises FormatInfoChanged event. + + Event arguments. + + + + Raises the DataSourceChanged event. + + An EventArgs that contains the event data. + + + + Raises the DisplayMemberChanged event. + + An EventArgs that contains the event data. + + + + When overridden in a derived class, resynchronizes the item data with the contents of the data source. + + + + + Disposes all nodes in Nodes collection and clears it. + + + + + When overridden in a derived class, sets the specified array of objects in a collection in the derived class. + + An array of items. + + + + Raises the DataColumnCreated event. + + Provides event arguments. + + + + Raises the DataNodeCreated event. + + Provides event arguments. + + + + Creates a new node for the data item. + + Item to create node for. + New instance of the node. + + + + Raises the DataNodeCreated event. + + Provides event arguments. + + + + When overridden in a derived class, sets the object with the specified index in the derived class. + + The array index of the object. + The object. + + + + Called when ParentFieldName property has changed. + + + + + Called when GroupingMembers property has changed. + + + + + Raises the Format event. + + Event parameters + + + + Clears internal property descriptors cache when data-binding is used. In most cases it is not needed that you call this method. Do so only if instructed by DevComponents support. + + + + + Raises the SelectedIndexChanged event. + + Event arguments. + + + + Raises the ValueMemberChanged event. + + Event arguments. + + + + Raises the SelectedValueChanged event. + + Event arguments. + + + + Called when TouchEnabled property has changed. + + Old property value + New property value + + + + Occurs just before cell editor is released for editing. It allows you to customize any properties on edit control. + + + + + Occurs when mouse button is pressed over the column header. + + + + + Occurs when mouse button is released over the column header. + + + + + Occurs after the cell check box is checked. + + + + + Occurs before the cell check box is checked and provides opportunity to cancel the event. + + + + + Occurs after the tree node is collapsed. + + + + + Occurs before the tree node is collapsed. + + + + + Occurs after the tree node is expanded. + + + + + Occurs before the tree node is expanded. + + + + + Occurs when command button on node is clicked. + + + + + Occurs before cell is edited. The order of the cell editing events is as follows: + BeforeCellEdit, CellEditEnding, AfterCellEdit, AfterCellEditComplete. + + + + + Occurs just before the cell editing is ended. The text box for editing is still visible and you can cancel + the exit out of editing mode at this point. The order of the cell editing events is as follows: + BeforeCellEdit, CellEditEnding, AfterCellEdit, AfterCellEditComplete. + + + + + Occurs after cell editing has ended and before the new text entered by the user is assigned to the cell. You can abort the edits in this event. + The order of the cell editing events is as follows: + BeforeCellEdit, CellEditEnding, AfterCellEdit, AfterCellEditComplete. + + + + + Occurs after cell editing has been completed. This event cannot be canceled. + + + + + Occurs after node selection has changed. + + + + + Occurs before Node has been selected by user or through the SelectedNode property. Event can be cancelled. + + + + + Occurs after node has been selected by user or through the SelectedNode property. + + + + + Occurs after node has been deselected by user or through the SelectedNode or SelectedNodes properties. + + + + + Occurs before node has been removed from its parent. + + + + + Occurs after node has been removed from its parent. + + + + + Occurs before node is inserted or added as child node to parent node. + + + + + Occurs after node is inserted or added as child node. + + + + + Occurs when node drag & drop operation is initiated. + + + + + Occurs before internal node drag & drop support is initiated and allows you to cancel the drag & drop. + + + + + Occurs before Drag-Drop of a node is completed and gives you information about new parent of the node that is being dragged + as well as opportunity to cancel the operation. + + + + + Occurs while node is being dragged. You can handle this event to disable the drop at specific nodes or to even change the + drop location for the node by modifying event arguments. + + + + + Occurs after Drag-Drop of a node is completed. This operation cannot be cancelled. + + + + + Occurs when the mouse pointer is over the node and a mouse button is pressed. + + + + + Occurs when the mouse pointer is over the node and a mouse button is released. + + + + + Occurs when the mouse pointer is moved over the node. + + + + + Occurs when the mouse enters the node. + + + + + Occurs when the mouse leaves the node. + + + + + Occurs when the mouse hovers over the node. + + + + + Occurs when the node is clicked with left mouse button. If you need to know more information like if another mouse button is clicked etc. use + NodeMouseDown event. + + + + + Occurs when the node is double-clicked. + + + + + Occurs after an node has been serialized to XmlElement and provides you with opportunity to add any custom data + to serialized XML. This allows you to serialize any data associated with the node and load it back up in DeserializeNode event. + + + To serialize custom data to XML definition control creates handle this event and use CustomXmlElement + property on SerializeNodeEventArgs to add new nodes or set attributes with custom data you want saved. + + + + + Occurs after an node has been de-serialized (loaded) from XmlElement and provides you with opportunity to load any custom data + you have serialized during SerializeItem event. + + + To de-serialize custom data from XML definition handle this event and use CustomXmlElement + property on SerializeItemEventArgs to retrieve any data you saved in SerializeNode event. + + + + + Occurs when hyperlink in text-markup is clicked. + + + + + Occurs when cell with custom editor type is about to be edited by user. Handle this event to provide + custom editors. + + + + + Occurs when the DataSource changes. + + + + + Occurs when the DisplayMembers property changes. + + + + + Occurs when the control is bound to a data value that need to be converted. + + + + + Occurs when FormattingEnabled property changes. + + + + + Occurs when FormatString property changes. + + + + + Occurs when FormatInfo property has changed. + + + + + Occurs when a Node for an data-bound object item has been created and provides you with opportunity to modify the node. + + + + + Occurs when a group Node is created as result of GroupingMembers property setting and provides you with opportunity to modify the node. + + + + + Occurs when value of ValueMember property has changed. + + + + + Occurs when value of SelectedValue property has changed. + + + + + Occurs when value of SelectedIndex property has changed. + + + + + Occurs when ColumnHeader is automatically created by control as result of data binding and provides you with opportunity to modify it. + + + + + Occurs after column has been resized by end-user. + + + + + Occurs while column is being resized by end-user. + + + + + Occurs after cell has been selected. + + + + + Occurs after cell has been unselected. + + + + + Occurs after users has moved the column. + + + + + Occurs while tree control is being rendered. + + + + + Indicates whether nodes are disposed when control is disposed. + + + + + Indicates whether sorting of node collection sorts child nodes as well. Default value is false. + + + + + Gets or sets whether tooltips are shown when mouse is over the cell when Tooltip property is set. + + + + + Gets the column header control which renderes the columns. + + + + + Gets or sets the scroll-bar visual style. + + + + + Gets or sets the proposed size of the tile in Tile view. The size of the tile might be larger than specified if Style assigned to node, cells adds padding, margins etc. or if Node.Image or font is greater than width or height specified here. + + + + + Gets or sets a value indicating whether the selected tree node remains highlighted even when the tree control has lost the focus. + + + + + Gets whether keyboard focus is within the control. + + + + + Gets or sets whether cell editing is completed when control loses input focus. Default value is true. + + + + + Gets or sets the reference to DotNetBar ContextMenuBar component which is used to provide context menu for nodes. This property + is automatically maintained by AdvTree. + + + + + Gets or sets zoom factor for the control. Default value is 1. To zoom display of the nodes for 20% set zoom factor to 1.2 + To zoom view 2 times set zoom factor to 2. Value must be greater than 0. Zoom is supported only when non-column tree setup is used. + Please note that Zoom functionality is designed only for very special use cases and only for + plain tree control setup which does not use editing, alternating row colors, drag & drop or any other + advanced functionality. + + + + + Gets the size of the tree. + + + + + Gets or sets custom node renderer. You can set this property to your custom renderer. When set the RenderMode should be set to Custom to enable + your custom renderer. To choose one of the system renderer use RenderMode property. Default value is null. + + + + + Gets or sets the render mode used to render all nodes. Default value is eNodeRenderMode.Default which indicates that system default renderer is used. + Note that if you specify custom renderer you need to set AdvTree.NodeRenderer property to your custom renderer. + + + + + Gets the style for the background of the control. + + + + + Gets or sets internal layout cell horizontal spacing. This property is for advanced internal use and you should not set it. + + + + + Gets or sets whether automatic drag and drop is enabled. Default value is true. + + + + + Gets or sets whether anti-alias smoothing is used while painting the tree. + + + + + Gets or sets the delimiter string that the tree node path uses. + + + + + Gets or sets whether user can resize the columns. Default value is true. + + + + + Gets or sets whether user can reorder the columns. Default value is false. + + + + + Gets the collection of column headers that appear in the tree. + + + By default there are no column headers defined. In that case tree control + functions as regular tree control where text has unrestricted width. + If you want to restrict the horizontal width of the text but not display + column header you can create one column and set its width to the width desired and + set its Visible property to false. + + + + + Gets or sets whether column headers are visible if they are defined through Columns collection. Default value is true. + + + + + Gets the collection of all style elements created for the tree. + + + + + Gets or sets default style for the node cell. + + + + + Gets or sets default style for the node cell when mouse is pressed. + + + + + Gets or sets default style for the node cell when mouse is over the cell. + + + + + Gets or sets default style for the node cell when cell is selected. + + + + + Gets or sets default style for the node cell when cell is disabled. + + + + + Gets or sets default style for the node when node is expanded. + + + + + Gets or sets default style for all nodes where style is not specified + explicity. + + + Name of the style assigned or null value indicating that no style is used. + Default value is null. + + + + + Gets or sets style for the node when node is selected. Note that this style is applied to the default node style. + + + Reference to the style assigned or null value indicating that no style is used. + Default value is null. + + + + + Gets or sets style for the node when mouse is over node. Note that this style is applied to the default node style. + + + Reference to the style assigned or null value indicating that no style is used. + Default value is null. + + + + + Gets the collection of tree nodes that are assigned to the tree view control. + + + A NodeCollection that represents the tree nodes + assigned to the tree control. + + + The Nodes property holds a collection of Node objects, each of which has a + Nodes property that can contain its own NodeCollection. + + + + + Gets or sets the vertical spacing between nodes in pixels. Default value is 3. + + + + + Gets or sets the horizontal spacing between nodes in pixels when control is in Tile layout. Default value is 4. + + + + + Gets or sets whether horizontal grid lines between each row are displayed. Default value is false. + + + + + Gets or sets whether column can be resized when mouse is over the column grid line and outside of the column header. + GridColumnLines must be set to true to make column lines visible. + + + + + Gets or sets whether grid lines are displayed when columns are defined. Default value is true. + + + + + Gets or sets the grid lines color. + + + + + Gets or sets the alternate row color applied to every other row. Default value is Color.Empty. + + + + + Gets or sets the background style for the child nodes columns. Background style defines the appearance of the column header background. + + + Reference to the style assigned to the column header. + + + + + Gets or sets the background style for the columns. Background style defines the appearance of the column header background. + + + Reference to the style assigned to the column header. + + ColumnStyleNormal Property + ColumnStyleMouseDown Property + ColumnStyleMouseOver Property + + + + Gets or sets the default style class assigned to the column headers. + + + Reference to the style assigned to the column header. + + + When style is not set on ColumnHeader objects then style setting from this property is used instead. + + ColumnStyleMouseDown Property + ColumnStyleMouseOver Property + + + + Gets or sets default style class assigned to the column which is applied when mouse + button is pressed over the header. + + + Name of the style assigned to the column. + + + When style is not set on ColumnHeader objects then style setting from this property is used instead. + + ColumnStyleNormal Property + ColumnStyleMouseOver Property + + + + Gets or sets default style class assigned to the column which is applied when mouse is + over the column. + + + Name of the style assigned to the column. + + + When style is not set on ColumnHeader objects then style setting from this property is used instead. + + ColumnStyleNormal Property + ColumnStyleMouseDown Property + + + + Gets collection that holds definition of column headers associated with nodes. + + + + + Gets or sets the tree node that is currently selected in the tree control. + + + If no Node is currently selected, the + SelectedNode property is a null reference (Nothing in Visual + Basic). + + + + + Gets or sets the collection of currently selected nodes in tree control. + + + + + Gets or sets whether multi-node selection is enabled. Default value is false. When + multi-selection is enabled use SelectedNodes property to retrive collection of selected nodes. + Use MultiSelectRule property to change the multi-node selection rule. + + + + + Gets or sets the rule that governs the multiple node selection. Default value indicates that only nodes + belonging to same parent can be multi-selected. + + + + + Returns reference to node layout object. + + + + + Returns reference to node display object. + + + + + Gets whether layout is suspended for tree control. Layout is suspended after + call to BeginUpdate method and it is resumed after the + call to EndUpdate method. + + + + + Gets whether control has layout operation pending on next paint or update. + + + + + Gets or sets whether paint operations are suspended for the control. You should use this method + if you need the RecalcLayout operations to proceed but you want to stop painting of the control. + + + + + Gets or sets the ImageList that contains the Image objects used by the tree nodes. + + + + + Gets or sets the image-list index value of the default image that is displayed by the tree nodes. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box in cell is checked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box in cell is unchecked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box in cell is in indeterminate state. + + + + + Gets or sets the NodeConnector object that describes the type of the connector used for + displaying connection between nested nodes. RootConnector property specifies the connector + between root node and it's imidate nested nodes. This property specifies connector for all other nested levels. + Default value is null. + + + You can use + Node.ParentConnector + property to specify per node connectors. + + + + + Gets or sets the NodeConnector object that describes the type of the connector used for + displaying connection between linked nodes. Connector specified here is used to display the connection + between nodes that are on the path to the selected node. When set you can use it to visually indicate the path to the currently selected node. + Default value is null. + + + + + Gets or sets the layout of the cells inside the node. Default value is Horizontal layout which + means that cell are positioned horizontally next to each other. + + + You can specify cell layout on each node by using + Node.CellLayout + property. + + + + + Gets or sets the layout of the cells inside the node. Default value is Horizontal layout which + means that cell are positioned horizontally next to each other. + + + You can specify cell layout on each node by using + Node.CellLayout + property. + + + + + Gets or sets the color scheme style. Color scheme provides predefined colors based on popular visual styles. + We recommend that you use "SchemePart" color settings since they maintain consistant look that is + based on target system color scheme setting. + + + + + Gets the reference to the color scheme object. + + + + + Gets or sets whether the content of the control is centered within the bounds of control. Default value is true. + + + + + Gets or sets whether per cell selection mode is enabled. In cell selection mode the selection box is drawn over selected cell only + instead of all cells in the node. + Default value is false. + + + + + Gets or sets whether selection appearance changes depending on whether control has input focus. Default value is true. Setting this value to false causes selection box to be rendered as if control has focus all the time. + + + + + Gets or sets the node selection box style. + + SelectionBox Property + SelectionBoxSize Property + SelectionBoxFillColor Property + SelectionBoxBorderColor Property + + + + Gets or sets the value that indicates whether selection box is drawn around the + selected node. Default value is true. Another way to provide the visual indication that + node is selected is by using selected state style properties like + NodeStyleSelected + and + CellStyleSelected. + + CellStyleSelected Property + NodeStyleSelected Property + + + + Gets or sets the size/thickness in pixel of the selection box drawn around selected + node. + + + + + Gets or sets whether node is selected when mouse is pressed anywhere within node vertical bounds. Default value is true. + + + When set to false the node is selected only when mouse is pressed over the node content. + + + + + Gets or sets the total node expand area width in pixels. The expand button with ExpandButtonSize is fitted into this area. Default value is 24. + + + + + Gets or sets the size of the expand button that is used to expand/collapse node. Default value is 8,8. + + + + + Gets or sets expand button border color. Note that setting ExpandBorderColorSchemePart property will override the value that you set here. + + + + + Gets or sets expand button color scheme border color. Setting + this property overrides the setting of the corresponding ExpandBorderColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through ExpandBorderColor property. + + + + + Gets or sets expand button back color. Note that setting ExpandBackColorSchemePart property will override the value that you set here. + + + + + Gets or sets expand button color scheme back color. Setting + this property overrides the setting of the corresponding ExpandBackColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through ExpandBackColor property. + + + + + Gets or sets expand button target gradientback color. Note that setting ExpandBackColor2SchemePart property will override the value that you set here. + + + + + Gets or sets expand button color scheme target gradient back color. Setting + this property overrides the setting of the corresponding ExpandBackColor2 property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through ExpandBackColor2 property. + + + + + Gets or sets expand button line color. Note that setting ExpandLineColorSchemePart property will override the value that you set here. + + + + + Gets or sets expand button color scheme line color. Setting + this property overrides the setting of the corresponding ExpandLineColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through ExpandLineColor property. + + + + + Gets or sets the expand button background gradient angle. + + + + + Gets or sets the expand button image which is used to indicate that node will be expanded. To use images as expand buttons you also need to set ExpandButtonType=eExpandButtonType.Image. + + + + + Gets or sets the expand button image which is used to indicate that node will be collapsed. To use images as expand buttons you also need to set ExpandButtonType=eExpandButtonType.Image. + + + + + Gets or sets the type of the expand button used to expand/collapse nodes. + + + + + Gets or sets the display root node. Setting this property allows you to use any + Node as root display node. Default value is Null which means that first node from + AdvTree.Nodes collection is used as display root node. + + + + + Gets or sets the width of the command button. Default value is 10 pixels. + + + + + Gets or sets command button back color. Note that setting CommandBackColorSchemePart property will override the value that you set here. + + + + + Gets or sets command button color scheme back color. Setting + this property overrides the setting of the corresponding CommandBackColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through CommandBackColor property. + + + + + Gets or sets command button target gradient back color. Note that setting CommandBackColor2SchemePart property will override the value that you set here. + + + + + Gets or sets command button color scheme target gradient back color. Setting + this property overrides the setting of the corresponding CommandBackColor2 property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through CommandBackColor2 property. + + + + + Gets or sets command button foreground color. Note that setting CommandForeColorSchemePart property will override the value that you set here. + + + + + Gets or sets command button color scheme foreground color. Setting + this property overrides the setting of the corresponding CommandForeColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through CommandForeColor property. + + + + + Gets or sets the command button background gradient angle. + + + + + Gets or sets command button mouse over back color. Note that setting CommandMouseOverBackColorSchemePart property will override the value that you set here. + + + + + Gets or sets command button color scheme mouse over back color. Setting + this property overrides the setting of the corresponding CommandMouseOverBackColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through CommandMouseOverBackColor property. + + + + + Gets or sets command button mouse over target gradient back color. Note that setting CommandMouseOverBackColor2SchemePart property will override the value that you set here. + + + + + Gets or sets command button mouse over color scheme target gradient back color. Setting + this property overrides the setting of the corresponding CommandMouseOverBackColor2 property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through CommandMouseOverBackColor2 property. + + + + + Gets or sets command button mouse over foreground color. Note that setting CommandMouseOverForeColorSchemePart property will override the value that you set here. + + + + + Gets or sets command button mouse over color scheme foreground color. Setting + this property overrides the setting of the corresponding CommandMouseOverForeColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through CommandMouseOverForeColor property. + + + + + Gets or sets the command button mouse over background gradient angle. + + + + + Gets or sets a value indicating whether the label text of the node cells can be edited. Default value is false. + + + + + Returns whether cell editing is in progress. + + + + + Gets or sets whether keyboard incremental search through Node.Text property is enabled. Default value is true. + + + + + Gets or sets the keyboard search buffer expiration timeout. Default value is 1000 which indicates that + key pressed within 1 second will add to the search buffer and control will be searched for node text + that begins with resulting string. Setting this value to 0 will disable the search buffer. + + + + + Indicates whether search buffer is auto-cleared regardless of the expiration timeout if node is not found using current buffer content. + + + + + Gets or sets whether double-clicking the node will toggle its expanded state. Default value is true. + + + + + Gets or sets whether node is highlighted when mouse enters the node. Default value is false. + + + There are two ways to enable the node hot-tracking. You can set the HotTracking property to true in which case the + mouse tracking is enabled using system colors specified in TreeColorTable. You can also define the NodeStyleMouseOver + style which gets applied to the node when mouse is over the node. + + + + + Gets whether tree is in process of moving the column in response to user finishing the column move action. + + + + + Gets or sets how control positions the items. Default value is standard TreeView layout. + + + + + Gets or sets the color of the group divider line when in tile view. + + + + + Returns the reference to the node mouse is currently over or null (Nothing) if mouse is not over any node in tree. + + + + + Specifies the mouse cursor displayed when mouse is over the cell. Default value + is null which means that default control cursor is used. + + + To specify cursor for each individual cell use + Cell.Cursor property. + + + + + Gets reference to array of Cell objects that have HostedControl property set. + + + + + Gets or sets whether hosted controls are clipped so they don't overlap the control borders. Default value is true. + + + + + Gets or sets whether control border needs to be updated by calling UpdateControlBorderPanel() + + + + + Gets the reference to internal vertical scroll-bar control if one is created or null if no scrollbar is visible. + + + + + Gets or sets whether Vertical Scroll-bar is shown if needed because content of the control exceeds available height. Default value is true. + + + + + Gets or sets whether Horizontal Scroll-bar is shown if needed because content of the control exceeds available width. Default value is true. + + + + + Gets the reference to internal horizontal scroll-bar control if one is created or null if no scrollbar is visible. + + + + + Gets or sets a value indicating whether the tree control enables the user to scroll to any nodes placed outside of its visible boundaries. + This property is managed internally by AdvTree control and should not be modified. + + + + + Gets or sets the minimum size of the auto-scroll. Returns a Size that represents the minimum height and width of the scrolling area in pixels. + This property is managed internally by AdvTree control and should not be modified. + + + + + Gets or sets the location of the auto-scroll position. + + + + + Gets the list of all checked nodes in tree including child nodes. + + + + + Gets or sets the offset in pixels from node's X position that is used during drag & drop operation to indicate that + dragged node is dropped as child node of the parent's node. + + + + + Gets or sets whether drag & drop internal implementation allows the copying of the node being dragged when CTRL key is pressed. + + + + + Gets or sets whether control accepts the dragged nodes from other AdvTree controls. Default value is true. + + + + + Gets or sets the distance to indent each of the child tree node levels. Default value is 16. + + + + + Indicates whether drop marker is displayed during drag-drop operation. + + + + + Gets or sets whether drag and drop operation is in progress. This member supports + the AdvTree infrastructure and is not intended to be used directly from your + code. + + + + + Gets or sets whether number of nodes being dragged is displayed on drag node preview. Default value is true. + + + + + Gets or sets whether multiple nodes drag & drop is enabled. Default value is true. + + + + + Indicates whether AutoScrollPosition is reset to 0,0 when all nodes are cleared from the tree. Default value is true. + + + + + Gets or sets the comma separated list of property or column names to display on popup tree control. + + + + + Gets or sets the data source for the ComboTree. Expected is an object that implements the IList or IListSource interfaces, + such as a DataSet or an Array. The default is null. + + + + + Gets or sets a value indicating whether formatting is applied to the DisplayMembers property of the control. + + + + + Gets or sets the format-specifier characters that indicate how a value is to be displayed. + + + + + Gets or sets the IFormatProvider that provides custom formatting behavior. + + + + + Gets or sets comma separated field or property names that holds the value that is used to identify node and parent node. Format expected is: FieldNodeId,ParentNodeFieldId. For example if your table represents departments, you have DepartmentId field which uniquely identifies a department and ParentDepartmentId field which identifies parent of the department if any you would set this property to DepartmentId,ParentDepartmentId. + Note that you can only use ParentFieldNames or GroupingMembers property but not both. If both are set ParentFieldName take precedence. + + + + + Gets or sets comma separated list of field or property names that are used for grouping when data-binding is used. Note that you can only use ParentFieldName or GroupingMembers property but not both. If both are set ParentFieldName take precedence. + + + + + Gets or sets style for automatically created group nodes when data-binding is used and GroupingMembers property is set. + + + Name of the style assigned or null value indicating that no style is used. + Default value is null. + + + + + Gets or sets the index specifying the currently selected item. + + + + + Gets or sets the property to use as the actual value for the items in the control. Applies to data-binding scenarios. SelectedValue property will return the value of selected node as indicated by this property. + + + + + Gets or sets the value of the member property specified by the ValueMember property. + + + + + Indicates whether control changes the CurrencyManager.DataPosition when selected node is changed during data binding. + Default value is true. + + + + + Indicates whether touch support for scrolling is enabled. + + + + + Static class that holds AdvTree settings that are not commonly used. + + + + + Gets or sets whether tree control is scrolled horizontally so selected node is brought into the view. Default value is false. + You can set this property to false to disable the horizontal scrolling of tree control when selected node has changed. + + + + + Gets or sets whether AdvTree node comparer that provides column sorting uses standard text comparer instead of default + hybrid alpha-numeric comparer. Default value is false. + + + + + Defines an interface for cell edit control that allows custom controls to be used as cell editors. AdvTree control + expects that editing control inherits from System.Windows.Forms.Control. + + + + + Called when edit operation is started. The AdvTree control will first set CurrentValue, then call BeginEdit and will call EditComplete once + editing is completed. + + + + + Called when edit operation is completed. + + + + + Gets or sets current edit value. + + + + + AdvTree control subscribes to this event to be notified when edit operation is completed. For example when Enter key is + pressed the edit control might raise this event to indicate the completion of editing operation. + + + + + AdvTree control subscribes to this event to be notified that user has cancelled the editing. For example when Escape key is + pressed the edit control might raise this event to indicate that editing has been cancelled. + + + + + Gets or sets whether cell requests the word-wrap based on the current cell style. If your editor does not support + word-wrap functionality this can be ignored. + + + + + Defines delegate for PrepareCellEditor event. + + + + + + + Event arguments for PrepareCellEditor event. + + + + + Gets reference to the cell being edited. + + + + + Gets reference to the cell editor control. + + + + + Initializes a new instance of the PrepareCellEditorEventArgs class. + + + + + + + Defines delegate for PrepareCellEditor event. + + + + + + + Event arguments for AdvTree.Render event. + + + + + Indicates the rendering operation being performed. + + + + + Indicates graphics canvas to render on. + + + + + Initializes a new instance of the AdvTreeRenderEventArgs class. + + Specifies rendering type + Specifies graphics canvas to render on + + + + Specifies the rendering type being performed on AdvTree control Render event. + + + + + Control background is being painted. + + + + Represents a cell assigned to the Node. + + The Cell with Index 0 (zero) always exists for a Node and it is a cell that + you can interact with through the properties on a node, which are forwarding to the + Cell(0), or you can go directly to the Cell(0). + When Node has multiple columns defined each column corresponds to Cell in + Node's Cells collection. The first Column has Index 0, second Column Index 1 and so + forth. + Note that there is always at least one Cell in a Node even if multiple + columns are not used. + + + + + Initializes new instance of Cell class. + + + + + Initializes new instance of Cell class. + + Cell text. + + + + Initializes new instance of Cell class. + + Cell text. + + + + Initializes new instance of Cell class. + + Cell text. + + + + Releases the resources used by the Component. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Occurs after Tooltip text has changed. + + + + + Called when tooltip is shown and hidden. + + true if tooltip is being shown otherwise false. + + + + Shows tooltip for this item. + + + + + Destroys tooltip window. + + + + + Sets the bounds of the cell. + + New cell bounds. + + + + Sets the bounds of the image inside of the cell. + + New cell bounds. + + + + Sets the bounds of the check box inside of the cell. + + New cell bounds. + + + + Sets whether cells is visible or not. This is set by node layout manager and it is based on column visibility. + + True if visible otherwise false. + + + + Sets the parent of the cell. + + Parent node. + + + + Occurs after text has changed. + + + + + Sets the Images to the new CellImages object. + + CellImages object. + + + + Returns whether Images property should be serialized. Used internally for windows forms designer support. + + + + + Sets the Checked or CheckState properties. + + New value for checked state. + Action source. + + + + Sets the Checked or CheckState properties. + + New value for checked state. + Action source. + + + + Sets the mouse over flag. + + true if mouse is over the cell otherwise false. + + + + Sets the mouse down flag. + + true if left mouse button is pressed while over the cell otherwise false. + + + + Returns effective editor type used for cell editing. + + Editor type. + + + Makes a copy of a Cell. + + + + Ensures that the cell is visible, expanding nodes and scrolling the control as necessary. + + + + + Occurs when any image property for the cell has changed. + + + + + Invokes AfterCheck event on AdvTree + control. + + + + + Invokes BeforeCheck event on AdvTree + control. + + + + + Called just before cell layout is to be performed. + + + + + Occurs when text markup link is clicked. + + + + + Gets/Sets informational text (tooltip) for the cell. + + + + + Gets whether tooltip is visible or not. + + + + + Occurs when item's tooltip visibility has changed. + + + + + Gets or sets whether tooltips are shown when mouse is over the cell when Tooltip property is set. + + + + + Gets or sets whether cell content is editable when cell editing is enabled on tree control. Default value is true. + + + + + Gets whether cell can be edited. Cell can be edited if both Editable property is set to true and ColumnHeader.Editable property is set to true. + + + + + Gets or sets the item hosted inside of the cell. Only items that do not generate + popups are supported. Note that cell can only host either HostedItem or HostedControl but not both. + + + + + Gets or sets the control hosted inside of the cell. Note that cell can only host either HostedItem or HostedControl but not both. + + + When control is hosted inside of the cell, cell size is determined by the + size of the control hosted inside of it. The cell will not display its text but it will display any image assigned + or check box when control is hosted inside of it. The Style settings like Margin + and Padding will still apply. + + + + + Gets or sets whether hosted control size change event is ignored. + + + + + Gets or sets the hosted control size. Property is used to correctly scale control when AdvTree.Zoom is used to zoom view. + + + + + Returns name of the cell that can be used to identify it from the code. + + + + + Gets the relative bounds of the cell. + + + + + Gets the bounds of the cell. + + + + + Gets or sets the available content bounds for the text. Text will fitted into these bounds + but it's true location can be obtained only after it is displayed. + + + + + Gets the bounds of the text inside of cell. + + + + + Gets the relative bounds of the image inside of cell. + + + + + Gets the bounds of the image inside of cell. + + + + + Gets the bounds of the image inside of cell. + + + + + Gets the bounds of the check box inside of cell. + + + + + Gets a value indicating whether the cell is in an editable state. true if the cell is in editable state; otherwise, false. + + + + + Gets a value indicating whether the cell is in the selected state. true if the cell is in the selected state; otherwise, false. + + + + + Gets a value indicating whether the cell is visible. Cell is considered to be visible when it's parent column is visible. + + + + + Gets the parent node of the current cell. + + + + + Gets or sets the object that contains data about the cell. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Gets or sets the object that contains data about the cell. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Gets or sets the format that is applied to the value of Text property for display purposes. See "Formatting Overview" in MSDN + for description on available format strings. For example you can specify "C" to format text as currency, or "D" to format text as decimal number etc. + + + + + + Gets the formatted display text. + + + + + Gets or sets the text displayed in the cell. + + + + + Gets the parent tree control that the cell belongs to. + + + + + Gets or sets the style class assigned to the cell. Null value indicates that + default style is used as specified on cell's parent. + + + Reference to the style assigned to the cell or null (VB Nothing) indicating that default + style setting from tree control is applied. Default value is null. + + + When property is set to null (VB Nothing) the style setting from parent tree + controls is used. CellStyleNormal on AdvTree control is a root style for a cell. + + StyleDisabled Property + StyleMouseDown Property + StyleMouseOver Property + StyleSelected Property + + + + Gets or sets the style name used by cell. This member is provided for internal use only. To set or get the style use StyleNormal property instead. + + + + + Gets or sets the style class that is to when cell is selected. Null value indicates that + default style is used as specified on cell's parent. + + + Reference to the style assigned to the cell or null value indicating that default + style setting from tree control is applied. Default is null value. + + + When property is set to null value the style setting from parent tree + controls is used. CellStyleSelected on AdvTree control is a root style for a cell. + + StyleNormal Property + StyleDisabled Property + StyleMouseDown Property + StyleMouseOver Property + + + + Gets or sets the selected style name used by cell. This member is provided for internal use only. To set or get the style use StyleSelected property instead. + + + + + Gets or sets the disabled style class assigned to the cell. Null value indicates + that default style is used as specified on cell's parent. + + + Reference to the style assigned to the cell or null value indicating that default + style setting from tree control is applied. Default value is null. + + + When property is set to null value the style setting from parent tree + controls is used. CellStyleDisabled on AdvTree control is a root style for a + cell. + + StyleNormal Property + StyleMouseDown Property + StyleMouseOver Property + StyleSelected Property + + + + Gets or sets the disabled style name used by cell. This member is provided for internal use only. To set or get the style use StyleDisabled property instead. + + + + + Gets or sets the style class assigned to the cell which is applied when mouse + button is pressed while mouse is over the cell. Null value indicates that default + style is used as specified on cell's parent. + + + Reference to the style assigned to the cell or null value indicating that default + style setting from tree control is applied. Default value is null. + + + When property is set to null value style setting from parent tree + controls is used. CellStyleMouseDown on AdvTree control is a root style for a + cell. + + StyleNormal Property + StyleDisabled Property + StyleMouseOver Property + StyleSelected Property + + + + Gets or sets the mouse down style name used by cell. This member is provided for internal use only. To set or get the style use StyleMouseDown property instead. + + + + + Gets or sets the style class assigned to the cell which is applied when mouse is + over the cell. Null value indicates that default style is used as specified on cell's + parent. + + + Reference to the style assigned to the cell or null value indicating that default + style setting from tree control is applied. Default value is null. + + + When property is set to null value the style setting from parent tree + controls is used. CellStyleMouseOver on AdvTree control is a root style for a + cell. + + StyleNormal Property + StyleDisabled Property + StyleMouseDown Property + StyleSelected Property + + + + Gets or sets the mouse over style name used by cell. This member is provided for internal use only. To set or get the style use StyleMouseOver property instead. + + + + + Gets or sets whether cell is enabled or not. + + + + + Gets the reference to images associated with this cell. + + + + + Gets or sets the image alignment in relation to the text displayed by cell. + + + + + Gets or sets the checkbox alignment in relation to the text displayed by cell. + + + + + Gets or sets whether check box is visible inside the cell. + + + + + Gets or set a value indicating whether the check box is in the checked state. + + + + + Gets or sets a value indicating whether the CheckBox will allow three check states rather than two. If the ThreeState property is set to true + CheckState property should be used instead of Checked property to set the extended state of the control. + + + + + Specifies the state of a control, such as a check box, that can be checked, unchecked, or set to an indeterminate state. + + + + + Gets or sets the appearance style of the item. Default value is CheckBox. Item can also assume the style of radio-button. + + + + + Gets whether mouse is over the cell. + + + + + Gets whether left mouse button is pressed while over the cell. + + + + + Gets or sets the layout of the cell parts like check box, image and text. Layout can be horizontal (default) + where parts of the cell are positioned next to each other horizontally, or vertical where + parts of the cell are positioned on top of each other vertically. + Alignment of the each part is controlled by alignment properties. + + ImageAlignment Property + CheckBoxAlignment Property + + + + Specifies the mouse cursor displayed when mouse is over the cell. + + + + + Gets or sets whether cell wrapped the text during the layout. + + + + + Gets or sets the editor type used to edit the cell. Setting this property to value other than Default + overrides the cell editor type specified on column cell belongs to. + + + + + Gets or sets whether cell can be selected by user by clicking it with the mouse or using keyboard. Default value is true. + + + + + Gets whether cell can be selected. Cell must be Visible, Enabled and Selectable in order for it to be selected. + + + + + Returns ColumnHeader cell is under if one is defined and cell is already parented to the tree. Otherwise it returns null/nothing. + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Gets or sets whether cell supports and renders text markup. Default value is true. + + + + + Gets whether item supports text markup. Default is false. + + + + + A strongly-typed collection of objects. + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Gets the cell based on the column name. Node must be able to reach AdvTree control for this method to work. + + Column name. + Cell object or null. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the Cell array. + + Array to copy to. + + + + Sets the node collection belongs to. + + Cell that is parent of this collection. + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's name. Returns null/nothing if cell with given name is not found. + + + + + Gets or sets the node this collection is associated with. + + + + + Represents event arguments for cell editing events. + + + + + Indicates the action that caused the event. + + + + + Indicates the cell that is affected. + + + + + Indicates new text that will be assigned to the cell if one is appropriate for given event. + + + + + Indicates whether the current action is cancelled. For BeforeCellEdit event setting this + property to true will cancel the editing. For AfterCellEdit event setting this property to + true will cancel any changes made to the text and edits will not be accepted. For CellEditEnding + event setting this property to true will keep the cell in edit mode. + + + + + Indicates whether editing operation was canceled by the end user, usually by pressing ESCAPE key. + + + + + Initializes new instance of CellEditEventArgs class. + + Reference to Cell this event is raised for. + Indicates the action that caused the event. + Indicates new text of the cell if it applies to given event. + + + + Initializes new instance of CellEditEventArgs class. + + Reference to Cell this event is raised for. + Indicates the action that caused the event. + Indicates new text of the cell if it applies to given event. + + + + Initializes new instance of CellEditEventArgs class. + + Reference to Cell this event is raised for. + Indicates the action that caused the event. + Indicates new text of the cell if it applies to given event. + Indicates whether action is canceled by the end user. + + + + Initializes new instance of CellEditEventArgs class. + + Reference to Cell this event is raised for. + Indicates the action that caused the event. + Indicates new text of the cell if it applies to given event. + Indicates whether action is canceled by the end user. + + + + Gets reference to the cell editor control. + + + + + Represents class that holds images for a cell. + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + + + Initializes new instance of CellImages class. + + Reference to parent cell. + + + + Resets Image property to it's default value (null, VB nothing). + + + + + Resets ImageMouseOver to it's default value (null, VB nothing). + + + + + Resets ImageDisabled to it's default value (null, VB nothing). + + + + + Resets ImageExpanded to it's default value (null, VB nothing). + + + + Makes a copy of a CellImages object. + + + + Changes the image and invokes largest image size calculation if the + image size truly changed. + + + + + + + Returns image from image list based on the image index. + + Index of the image to return. + Image object from image list. + + + + Returns image from image list based on the image key. + + Key of the image to return. + Image object from image list. + + + + Gets or sets default cell image. Setting this property to valid image will + override any setting of ImageIndex property. + + + The image set through this property will be serialized with the cell. If you + plan to use ImageList then use ImageIndex + property. + + If you plan to use alpha-blended images we recommend using PNG-24 format + which supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 + do not support alpha-blending when used through Image class. + + + Image object or null (Nothing) if no image is assigned. + + + + Gets or sets the image that is displayed when mouse is over the cell. Setting + this property to valid image will override any setting of ImageMouseOverIndex + property. + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writting .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + + + Gets or sets the image that is displayed when cell is disabled. If not assigned + disabled image is created from default cell image. Setting this property to valid image + will override any setting of ImageDisabledIndex property. + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + + + Gets or sets image that is displayed when Node that this cell belongs to is + expanded. Setting this property to valid image will override any setting of + ImageExpandedIndex property. + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + + + Gets or sets the Index of default cell image from ImageList specified on AdvTree + control. + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + + + Gets or sets the key of the default cell image from ImageList specified on AdvTree control. + + + + + Property Editor support for ImageIndex selection + + + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + Gets or sets the Index of cell image when mouse is over the cell from ImageList + specified on AdvTree control. + + + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + Gets or sets the key of cell image when mouse is over the cell from ImageList + specified on AdvTree control. + + + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + Gets or sets the Index of disabled cell image from ImageList specified on AdvTree + control. + + + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + Gets or sets the key of disabled cell image from ImageList specified on AdvTree + control. + + + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + Gets or sets the Index of cell image from ImageList specified on AdvTree control + that is used when Node associated with this cell is expanded + + + + + If you plan to use alpha-blended images we recommend using PNG-24 format which + supports alpha-blending. As of this writing .NET Framework 1.0 and 1.1 do not support + alpha-blending when used through Image class. + + + Gets or sets the key of cell image from ImageList specified on AdvTree control + that is used when Node associated with this cell is expanded + + + + + Gets or sets the parent node of the cell. + + + + + Gets whether CellImages object should be serialized or not. If object has all + default values then this property will return false. + + + + + Returns largest image size in this set of images. + + + + + Indicates whether assigned images are automatically disposed when the cell and node are disposed. Default value is false. + + + + Represents the node or tree ColumnHeader. + + + + Creates new instance of the object. + + + + + Creates new instance of the object and initializes it with text. + + Text to initialize object with. + + + + Makes a copy of ColumnHeader object. + + Returns new instance of column header object. + + + + Sets the column bounds. + + + + + Resets Image property to it's default value (null, VB nothing). + + + + + Called when DataFieldName property has changed. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when SortingEnabled property has changed. + + Old property value + New property value + + + + Called when SortDirection property has changed. + + Old property value + New property value + + + + Invalidates the appearance of column header. + + + + + Occurs after Tooltip text has changed. + + + + + Called when tooltip is shown and hidden. + + true if tooltip is being shown otherwise false. + + + + Shows tooltip for this item. + + + + + Destroys tooltip window. + + + + + Automatically sets the column width (Width.Absolute) property based on the content of the column. + This will perform the one-time auto sizing of the column. To make column auto-size all the time + set Width.AutoSize=true. + + + + + Raises MouseMove event. + + Provides event arguments. + + + + Raises MouseEnter event. + + Provides event arguments. + + + + Raises MouseLeave event. + + Provides event arguments. + + + + Raises MouseHover event. + + Provides event arguments. + + + + Sort first level nodes that belong directly to this column. Calling this method repeatedly will + alternate between A-Z and Z-A sorting. + + + + + Sort first level nodes that belong directly to this column. + + true to use reverse Z-A sorting, false to sort from A-Z + + + + Called when SortComparer property has changed. + + Old property value + New property value + + + + Called when SortComparerReverse property has changed. + + Old property value + New property value + + + + Occurs when header size has changed due to the user resizing the column. + + + + + Occurs when mouse button is pressed over the column header. + + + + + Occurs when mouse button is released over the column header. + + + + + Occurs when header is double clicked. + + + + + Occurs when header is clicked. + + + + + Gets or sets whether cells content in this column is editable when cell editing is enabled on tree control. Default value is true. + + + + + Gets or sets the maximum number of characters the user can type or paste when editing cells in this column. + + + + + Returns name of the column header that can be used to identify it from the code. + + + + + Returns rectangle that this column occupies. If the layout has not been performed on the column the return value will be Rectangle.Empty. + + + + + Gets the reference to the object that represents width of the column as either + absolute or relative value. + + + Set Width using Absolute or Relative properties of ColumnWidth object. + + Absolute Property (DevComponents.AdvTree.ColumnWidth) + Relative Property (DevComponents.AdvTree.ColumnWidth) + + + + Gets or sets the minimum column width in pixels that is enforced when user is resizing the columns using mouse. + Default value is 0 which indicates that there is no minimum size constraint. + + + + + Gets or sets whether column is stretched to fill any empty space horizontally in tree when all columns consume less width than available. + Only one column in tree may have this property set to true and only last column with this property set will be stretched. + You should always set the Width for the column since Width will be used when columns consume more space in tree horizontally than available. + Applies to top-level columns only. + + + + + Gets or sets the style class assigned to the column. Empty value indicates that + default style is used as specified on cell's parent's control. + + + Name of the style assigned to the cell or an empty string indicating that default + style setting from tree control is applied. Default is empty string. + + + When property is set to an empty string the style setting from parent tree + controls is used. ColumnStyleNormal on AdvTree control is a root style for a cell. + + StyleMouseDown Property + StyleMouseOver Property + + + + Gets or sets the style class assigned to the column which is applied when mouse + button is pressed over the header. Empty value indicates that default + style is used as specified on column's parent. + + + Name of the style assigned to the column or an empty string indicating that default + style setting from tree control is applied. Default is empty string. + + + When property is set to an empty string the style setting from parent tree + controls is used. ColumnStyleMouseDown on AdvTree control is a root style for a + cell. + + StyleNormal Property + StyleMouseOver Property + + + + Gets or sets the style class assigned to the column which is applied when mouse is + over the column. Empty value indicates that default style is used as specified on column's + parent control. + + + Name of the style assigned to the column or an empty string indicating that default + style setting from tree control is applied. Default is empty string. + + + When property is set to an empty string the style setting from parent tree + controls is used. ColumnStyleMouseOver on AdvTree control is a root style for a + cell. + + StyleNormal Property + StyleMouseDown Property + + + + Gets or sets the name of the column in the ColumnHeaderCollection. + + + + + Gets or sets the column caption. + + + + + Gets or sets whether column is visible. Hiding the header column will also hide corresponding data column. + + + + + + Gets or sets Image alignment inside of column. Default value is Left. + + + + + Gets or sets the data-field or property name that is used as source of data for this column when data-binding is used. + + + + + Gets or sets additional custom data associated with the column. + + + + + Gets or sets the color of the cells background for this column. + + + + + Gets or sets display index of the column. -1 indicates default value and is modified to actual display index when the column is added to a ColumnHeaderCollection. + + + A lower display index means a column will appear first (to the left) of columns with a higher display index. + Allowable values are from 0 to num columns - 1. (-1 is legal only as the default value and is modified to something else + when the column is added to a AdvTree's column collection). AdvTree enforces that no two columns have the same display index; + changing the display index of a column will cause the index of other columns to adjust as well. + + + + + Gets or sets whether user can sort by this column by clicking it. + + + + + Gets or sets the sort direction. Sort direction can be changed by clicking the column header if SortingEnabled=true. + + + + + Gets/Sets informational text (tooltip) for the cell. + + + + + Gets whether tooltip is visible or not. + + + + + Occurs when item's tooltip visibility has changed. + + + + + Gets or sets whether tooltips are shown when mouse is over the cell when Tooltip property is set. + + + + + Returns reference to AdvTree control this column belongs to. + + + + + Gets or sets whether column is automatically sized to the content when user double-clicks the column + on the column resize line. Column resizing must be enabled in order for this property to function. + Default value is true which indicates that column will be auto-sized to content when user double-clicks the + column resize marker. + + + + + Gets or sets whether column size has changed and it's layout needs to be recalculated. + + + + + Gets whether mouse left button is pressed on the column. + + + + + Gets whether mouse is over the column. + + + + + Occurs when mouse is moving over the column header. + + + + + Occurs when mouse enters column header. + + + + + Occurs when mouse leaves the column header. + + + + + Occurs when mouse hovers over the column. + + + + + Gets or sets the editor type used to edit the cell. Setting this property to value other than Default + overrides the cell editor type specified on column cell belongs to. + + + + + Gets or sets ascending (A-Z) column comparer used to sort nodes when this column is clicked. Your comparer will be passed to NodeCollection.Sort method and should know how to sort by appropriate column. + + + + + Gets or sets descending (Z-A) column comparer used to sort nodes when this column is clicked. Your comparer will be passed to NodeCollection.Sort method and should know how to sort by appropriate column. + + + + + Gets or sets whether to cancel internal sorting performed by AdvTree. + + + + + Gets or sets the column header being sorted. + + + + + Gets or sets the IComparer used for sorting. + + + + + Defines column related event arguments. + + + + + Gets reference to the column. + + + + + Initializes a new instance of the ColumnEventArgs class. + + + + + + Defines delegate for ColumnMoved event. + + + + + Defines column moved event arguments. + + + + + Gets the column display index before the column was moved. + + + + + Gets the column display index before the column was moved. + + + + + Initializes a new instance of the ColumnMovedEventArgs class. + + Column affected + Old display index + New display index + + + + Represents collection for ColumnHeader objects. + + + + + Default constructor. + + + + + Sets the node collection belongs to. + + ColumnHeader that is parent of this collection. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns index of the object inside of the collection. + + Name of column to return index for. + Index of the column or -1 if column not found. + + + + Returns index of the object inside of the collection based on column DataFieldName. + + DataFieldName of column to return index for. + Index of the column or -1 if column not found. + + + + Returns index of the object inside of the collection based on column DataFieldName. + + DataFieldName of column to return index for. + Index of the column or -1 if column not found. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Called when SortDirection property on column header is set to value other than None. + + Ref to column header + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the ColumnHeader array. + + Array to copy to. + + + + Gets the display index for specified column. + + Column that is part f ColumnHeaderCollection + Display index or -1 column is not part of this collection. + + + + Returns the column that is displayed at specified display index.. + + 0 based display index. + ColumnHeader + + + + Invalidates the display indexes and causes them to be re-evaluated on next layout. + + + + + Gets or sets the node this collection is associated with. + + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's name. + + + + + Occurs before the cells are sorted. + + + + + Gets whether a column that is part of this collection has SortDirection set. + + + + + A map of display index (key) to index in the column collection (value). Used to quickly find a column from its display index. + + + + + Gets reference to last visible column or null if there is no last visible column. + + + + + Gets reference to first visible column or null if there is no first visible column. + + + + + Gets the column header rendering bounds. + + + + + Initializes a new instance of the IndexToDisplayIndex class. + + + + + + + Initializes a new instance of the ColumnHeaderControl class. + + + + + Returns mouse position which is translated if control Zoom is not equal 1 + + X coordinate + Y coordinate + + + + + Gets or sets the column move marker that marks insertion point for column that is dragged. Marker is drawn before the column specified by this index. + + + + + Gets or sets the column header collection to be rendered. + + + + + Represents the width of the Column. Supports absolute width in Pixels and + relative width as percentage of the width of parent control. + + + + + Creates new instance of the object. + + + + + Gets or sets relative width expressed as percentage between 1-100. 0 indicates that + absolute width will be used. + + + Relative width is expressed as percentage between 1-100 of the parent controls + width. 0 indicates that absolute width will be used. Absolute width always takes + priority over relative width. For example value of 30 assigned to this property + indicates that width of the column will be 30% of the total client width of the + control. + + + + Gets or sets the absolute width of the column in pixels. + + Absolute width always takes precedence over the relative width of the + column. + + + + + Gets or sets whether column width is automatically set based on the column's content. Default value is false. + When set absolute and relative size values are ignored. + + + + + Gets or sets whether column auto-width is set to minimum of the column header text width. Applies to AutoSize=true only. + + + + + Gets the auto-size calculated width of the column after tree layout is performed and column has AutoSize=true. + + + + + Provides event arguments for command button events. + + + + + Default constructor. + + Action type. + Context node. + + + + Indicates the action type that caused the event. + + + + + Indicates the node action is peformed on. + + + + + Represents collection of connector points for a node. + + + + + Default constructor. + + + + + Sets the node collection belongs to. + + Node that is parent of this collection. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds range of objects to the array. + + Array to add. + + + + Copies objects of the collection to the array. + + + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the ColumnHeader array. + + Array to copy to. + + + + Gets or sets the node this collection is associated with. + + + + + Returns reference to the object in collection based on it's index. + + + + + Control for input of the integer value. + + + + + Represents an control that allows numeric input. + + + + + Closes all popups managed by the owner control. + + + + + Defines interface that should be implemented by controls that support per control renderers. + + + + + Gets the renderer control will be rendered with. This can be either custom renderer set on the control or the + Rendering.GlobalManager specified renderer. + + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Defines interface for internal accessibility support for DotNetBar control. + + + + + Gets or sets the item default accesibility action will be performed on. + + + + + Provides support for custom localization. + + + + + Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control. + + The AccessibleEvents object to notify the accessibility client applications of. + The child Control to notify of the accessible event. + + + + Forces the button to perform internal layout. + + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Sets up timer that watches when active window changes. + + + + + Called after change of active window has been detected. SetupActiveWindowTimer must be called to enable detection. + + + + + Releases and disposes the active window watcher timer. + + + + + Generates a Click event for the control. + + + + + Returns the collection of items with the specified name. This member is not implemented and should not be used. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. This member is not implemented and should not be used. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. This member is not implemented and should not be used. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns the first item that matches specified name. This member is not implemented and should not be used. + + Item name to look for. + + + + + Invokes the DotNetBar Customize dialog. + + + + + Occurs when popup of type container is loading. + + + + + Occurs when popup of type container is unloading. + + + + + Occurs when popup item is about to open. + + + + + Occurs when popup item is closing. + + + + + Occurs just before popup window is shown. + + + + + Occurs when Control is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Gets/Sets the visual style for the button. + + + + + Gets or sets the rendering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets or sets button Color Scheme. ColorScheme does not apply to Office2007 styled buttons. + + + + + Specifies whether button is drawn using Windows Themes when running on OS that supports themes like Windows XP. + + + + + Gets whether Windows Themes should be used to draw the button. + + + + + Gets or sets whether hooks are used for internal DotNetBar system functionality. Using hooks is recommended only if DotNetBar is used in hybrid environments like Visual Studio designers or IE. + + + + + Gets or sets the form button is attached to. + + + + + Indicates whether Reset buttons is shown that allows end-user to reset the toolbar state. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Indicates whether item shortcut is displayed in Tooltips. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + Creates new instance of the class. + + + + + Resets the input position so the new input overwrites current value. + + + + + Called when InputHorizontalAlignment property value has changed. + + Old value. + New Value. + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Selects next input field if possible. + + true if next input field was selected otherwise false. + + + + Selects previous input field if possible. + + true if previous input field was selected otherwise false. + + + + ISupportInitialize.BeginInit implementation. While initialization is in progress ValueChanged events will not be fired. + + + + + ISupportInitialize.EndInit implementation. + + + + + Occurs when ButtonCustom control is clicked. + + + + + Occurs when ButtonCustom2 control is clicked. + + + + + Gets or sets whether control system buttons are rendered. Default value is true. + + + + + Gets or sets whether during painting OnPaintBackground on base control is called when BackColor=Transparent. + + + + + Gets whether watermark text should be rendered. + + + + + Gets or sets whether mouse wheel affects the input control. Default value is true. + + + + + Gets whether keyboard focus is within the control. + + + + + Gets the reference to internal visual item used as the root visual for the control. Using this property is in all cases not necessary except for some + very advanced usage scenarios. + + + + + Gets or sets the input field alignment inside the control + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets whether watermark text is displayed if set for the input items. Default value is true. + + + + + Gets or sets the watermark text displayed on the input control when control is empty. + + + + + Gets or sets the watermark text alignment. Default value is left. + + + + + Gets or sets whether FocusHighlightColor is used as background color to highlight text box when it has input focus. Default value is false. + + + + + Gets or sets the color used as background color to highlight text box when it has input focus and focus highlight is enabled. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Specifies the background style of the control. + + + + + Gets the preferred height of the control. + + + + + Gets or sets the keys used to navigate between the input fields provided by this control. + + + + + Gets or sets the control background color when control is disabled. Default value is an empty color which indicates that background is not changed when control is disabled. + + + + + Gets or sets the control text color when control is disabled. Default value is an empty color which indicates that background is not changed when control is disabled. + + + + + Gets the system colors used by the control. + + + + + Defines an interface for the object that knows how to invoke a command. + + + + + Gets or sets the command that will be executed when the command source is invoked. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Initializes a new instance of the NumericInputBase class. + + + + + Raises the LockUpdateChanged event. + + Provides event data./ + + + + Gets or sets a value indicating whether a spin button control (up-down control) is used to adjust the current value. The default is false. + + When the ShowUpDown property is set to true, a spin button control is shown to adjust value of currently focused input item. + The value can be adjusted by using the up and down buttons to change the value. + + + + + + Decreases value of the control. + + + + + Increases the value of the control. + + + + + Shows drop-down popup. Note that popup will be shown only if there is a DropDownControl assigned or DropDownItems collection has at least one item. + + + + + Closes the drop-down popup if it is open. + + + + + Raises the ButtonClearClick event. + + + + + + Raises the ButtonDropDownClick event. + + + + + + Raises the ValueChanged event. + + Provides event arguments. + + + + Raises the ValueChanged event. + + Provides event arguments. + + + + Called when Command property value changes. + + + + + + + + + + + Occurs when the Value or IsEmpty property changes. + + This event is not raised when the entered date is earlier than MinDateTime or later than MaxDateTime. + + + + + + Occurs when the Value or IsEmpty property changes. This event occurs at the same time and has same function as ValueChanged event. It is provided for binding support. + + + + + Occurs when Clear button is clicked and allows you to cancel the default action performed by the button. + + + + + Occurs when Drop-Down button that shows calendar is clicked and allows you to cancel showing of the popup. + + + + + Occurs when ShowCheckBox property is set to true and user changes the lock status of the control by clicking the check-box. + + + + + Gets or sets whether input part of the control is read-only. When set to true the input part of the control becomes read-only and does not allow the typing. However, drop-down and up/down buttons part if visible still allows user to possibly change the value of the control through the method you can provide on drop-down or through up/down buttons. Use this property to allow change of the value through drop-down or up/down buttons only. + + + + + Gets or sets a value indicating whether a check box is displayed to the left of the input value. + Set to true if a check box is displayed to the left of the input value; otherwise, false. The default is false. + + When the ShowCheckBox property is set to true, a check box is displayed to the left of the input in the control. When the check box is selected, the value can be updated. When the check box is cleared, the value is unable to be changed. + You can handle the LockUpdateChanged event to be notified when this check box is checked and unchecked. Use LockUpdateChecked property + to get or sets whether check box is checked. + + + + + + Gets or sets whether check box shown using ShowCheckBox property which locks/unlocks the control update is checked. + + + + + Gets the object that describes the settings for the button that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the button that switches the control into the free-text entry mode when clicked. + + + + + Gets the object that describes the settings for the button that displays popup calculator. + + + + + Gets or sets the Numeric String Format that is used to format the numeric value entered for display purpose. Read more about + available formats in MSDN under "Standard Numeric Format Strings" and "Custom Numeric Format Strings" topics. + + The format specified here indicates the format for display purpose only, not for the input purpose. + For example to display the number in system Currency format set the DisplayFormat to 'C'. + + + + + + Gets or sets whether empty null/nothing state of the control is allowed. Default value is true which means that IsEmpty property + may return true if input value is resets or ValueObject set to null/nothing. + + + + + Gets or sets whether control is empty i.e. it does not hold a valid value. + + + + + Specifies the behavior of ValueChanged event triggering. + + + + + Gets or sets the input field alignment inside the control + + + + + Gets or sets the reference of the control that will be displayed on popup that is shown when drop-down button is clicked. + + + + + Gets the collection of BaseItem derived items displayed on popup menu. + + + + + Gets or sets whether auto-overwrite functionality for input is enabled. When in auto-overwrite mode input field will erase existing entry + and start new one if typing is continued after InputComplete method is called. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Gets or sets the keyboard key that will toggle FreeTextEntryMode. Default value is Keys.None. + + + + + Occurs if Free-Text entry value is not natively recognized by the control and provides you with opportunity to convert that value to the + value control expects. + + + + + Occurs when Free-Text button is clicked and allows you to cancel its default action. + + + + + Gets or sets whether free text entries are attempted to be auto-resolved to dates like Today to today's date or Now to date and time now etc. Default value is true. + + + + + Gets or sets whether free-text entry is automatically turned off when control loses input focus. Default value is false. + + + + + Gets or sets whether control input is in free-text input mode. Default value is false. + + + + + Decreases value of the control. + + + + + Increases the value of the control. + + + + + Copies the current value in the control to the Clipboard. + + + + + Pastes the current Clipboard content if possible as the value into the control. + + + + + Moves the current control value to the Clipboard. + + + + + Raises the ParseValue event. + + Provides event arguments. + + + + Occurs when ValueObject property is set and it allows you to provide custom parsing for the values. + + + + + Gets or sets whether mouse wheel increases or decreases the input value when used. + + + + + Gets or sets the value displayed in the control. + + + + + Gets or sets the value of the control as an object. This property allows you to bind to the database fields and supports + null values. Expected value is int type or null. + + + + + Gets or sets the maximum value that can be entered. + + + + + Gets or sets the minimum value that can be entered. + + + + + Gets or sets the value to increment or decrement the value of the control when the up or down buttons are clicked. + + + + + Control for input of the integer value. + + + + + Copies the current value in the control to the Clipboard. + + + + + Pastes the current Clipboard content if possible as the value into the control. + + + + + Moves the current control value to the Clipboard. + + + + + Raises the ParseValue event. + + Provides event arguments. + + + + Decreases value of the control. + + + + + Increases the value of the control. + + + + + Occurs when ValueObject property is set and it allows you to provide custom parsing for the values. + + + + + Gets or sets whether mouse wheel increases or decreases the input value when used. + + + + + Gets or sets the value displayed in the control. + + + + + Gets or sets the value of the control as an object. This property allows you to bind to the database fields and supports + null values. Expected value is int type or null. + + + + + Gets or sets the maximum value that can be entered. + + + + + Gets or sets the minimum value that can be entered. + + + + + Gets or sets the value to increment or decrement the value of the control when the up or down buttons are clicked. + + + + + Initializes a new instance of the DateTimeInput class. + + + + + Copies the current value in the control to the Clipboard. + + + + + Pastes the current Clipboard content if possible as the value into the control. + + + + + Moves the current control value to the Clipboard. + + + + + Gets or sets the default date-time values that are used by the control. + + + + + Gets or sets a value indicating whether a spin button control (up-down control) is used to adjust the date/time value. The default is false. + + When the ShowUpDown property is set to true, a spin button control is shown to adjust value of currently focused input item. + The date and time can be adjusted by selecting each element individually and using the up and down buttons to change the value. + + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Resets Value property to default value. Used by Windows Forms designer. + + + + + Raises the ParseValue event. + + Provides event arguments. + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MinDate property to its default value. + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MaxDate property to its default value. + + + + + Gets the Culture used by the date time input and month calendar controls + + reference to CultureInfo + + + + Raises the LockUpdateChanged event. + + Provides event data./ + + + + Raises the ValueChanged event. + + Provides event arguments. + + + + Raises the ButtonClearClick event. + + + + + + Raises the ButtonDropDownClick event. + + + + + + Called when DateTimeSelectorVisibility property has changed. + + Old property value + New property value + + + + Called when TimeFormat property has changed. + + Old property value + New property value + + + + Called when TimeSelectorType property has changed. + + Old property value + New property value + + + + Called when Command property value changes. + + + + + + + + + + + Occurs when the Value or IsEmpty property changes. + + This event is not raised when the entered date is earlier than MinDateTime or later than MaxDateTime. + + + + + + Occurs when the Value or IsEmpty property changes. This event occurs at the same time and has same function as ValueChanged event. It is provided for binding support. + + + + + Occurs when the Format property value has changed. + + + + + Occurs when Clear button is clicked and allows you to cancel the default action performed by the button. + + + + + Occurs when Drop-Down button that shows calendar is clicked and allows you to cancel showing of the popup. + + + + + Occurs when ValueObject property is set and it allows you to provide custom parsing for the values. + + + + + Occurs when ShowCheckBox property is set to true and user changes the lock status of the control by clicking the check-box. + + + + + Gets whether popup calendar is open. + + + + + Gets or sets whether selected date on popup calendar can be changed using keyboard arrow keys. + + + + + Gets or sets a value indicating whether a check box is displayed to the left of the selected date. + Set to true if a check box is displayed to the left of the selected date; otherwise, false. The default is false. + + When the ShowCheckBox property is set to true, a check box is displayed to the left of the date in the control. When the check box is selected, the date/time value can be updated. When the check box is cleared, the date/time value is unable to be changed. + You can handle the LockUpdateChanged event to be notified when this check box is checked and unchecked. Use LockUpdateChecked property + to get or sets whether check box is checked. + + + + + + Gets or sets the date time value of the control. You can use IsEmpty property to check whether control holds an empty value. + Setting this property to System.DateTime(0) will also make the control Empty if AllowEmptyState=true. + + + + + Gets or sets the date/time value of the control as an object. This property allows you to bind to the database fields and supports + null values. Expected value is DateTime object or null to indicate no date selected. + + + + + Gets or sets the values of the nested DateTimeGroup items. + + When nested date-time groups are used note that some of the features of the control are disabled, notably minimum and maximum values + for nested date-times. + + + + + + Gets or sets whether empty null/nothing state of the control is allowed. Default value is true which means that IsEmpty property + may return true if input value is resets or ValueObject set to null/nothing. + + + + + Gets or sets whether control is empty i.e. it does not hold a valid DateTime value. + + + + + Gets or sets the minimum date and time that can be selected in the control. + + + + + Gets or sets the maximum date and time that can be selected in the control. + + + + + Gets or sets the format date/time is displayed in. To specify custom format set this value to Custom and specify custom format using CustomFormat property. + + + + + Gets or sets the custom date/time format string. + + + + To display string literals that contain date and time separators or format strings listed below, + you must use escape characters in the substring. For example, to display the date as "June 15 at 12:00 PM", + set the CustomFormat property to "MMMM dd 'at' t:mm tt". If the "at" substring is not enclosed by escape characters, + the result is "June 15 aP 12:00PM" because the "t" character is read as the one-letter A.M./P.M. format string (see the format string table below). + + + To display single quote in custom format use two single quotes characters like so '' after each other and they will be displayed as single quote. + + The following list shows all the valid format strings and their descriptions: + + + Format String + Description + + + d + The one- or two-digit day. + + + dd + The two-digit day. Single-digit day values are preceded by a 0. + + + ddd + The three-character day-of-week abbreviation. + + + dddd + The full day-of-week name. + + + jjj + The three-digit day-of-year day. Single and two-digit values are preceded by 0. + + + j + The three-digit day-of-year day. + + + h + The one- or two-digit hour in 12-hour format. + + + hh + The two-digit hour in 12-hour format. Single digit values are preceded by a 0. + + + H + The one- or two-digit hour in 24-hour format. + + + HH + The two-digit hour in 24-hour format. Single digit values are preceded by a 0. + + + m + The one- or two-digit minute. + + + mm + The two-digit minute. Single digit values are preceded by a 0. + + + M + The one- or two-digit month number. + + + MM + The two-digit month number. Single digit values are preceded by a 0. + + + MMM + The three-character month abbreviation. + + + MMMM + The full month name. + + + s + The one- or two-digit seconds. + + + ss + The two-digit seconds. Single digit values are preceded by a 0. + + + t + The one-letter A.M./P.M. abbreviation (A.M. is displayed as "A"). + + + tt + The two-letter A.M./P.M. abbreviation (A.M. is displayed as "AM"). + + + y + The one-digit year (2001 is displayed as "1"). + + + yy + The last two digits of the year (2001 is displayed as "01"). + + + yyyy + The full year (2001 is displayed as "2001"). + + + { + Starts the nested date-time group inside of the control. Note that nested groups must always be closed. + Nested date-time groups can be used to represent range of input date/time values in the control + To access nested values use Values property. For example to have control represent the input from two time values you could set + CustomFormat to 'from' {HH:mm} 'to' {HH:mm} which will create two nested date/time groups that represent the time value. Entered + time values can be accessed through Values property which return an array of all input values. + + + } + Ends the nested date-time input group. + + + + + + + Gets or sets the CultureInfo for the culture used by the DateTime Input controls and Month Calendar controls. + Default value is null which indicates that controls will use CurrentUICulture. + + + + + Gets or sets whether auto-overwrite functionality for input is enabled. When in auto-overwrite mode input field will erase existing entry + and start new one if typing is continued after InputComplete method is called. + + + + + Gets or sets whether check box shown using ShowCheckBox property which locks/unlocks the control update is checked. + + + + + Gets the object that describes the settings for the button that shows drop-down calendar when clicked. + + + + + Gets the object that describes the settings for the button that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the button that switches the control into the free-text entry mode when clicked. + + + + + Gets or sets whether input part of the control is read-only. When set to true the input part of the control becomes + read-only and does not allow the typing. However, drop-down part if visible still allows user to change the value of the control + Use this property to allow change of the value through drop-down picker only. + + + + + Gets or sets whether empty input values (year, month or day) are set to defaults while user is entering data. Default value is true. + + + + + Gets the reference to the internal MonthCalendarItem control which is used to display calendar when drop-down is open. + + + + + Gets or sets whether first day in month is automatically selected on popup date picker when month or year is changed. + + + + + Gets or sets whether input focus is automatically advanced to next input field when input is complete in current one. + + + + + List of characters that when pressed would select next input field. For example if you are + allowing time input you could set this property to : so when user presses the : character, + the input is forwarded to the next input field. + + + + + Gets or sets the date-time selectors visibility on popup. Default value is Auto which will select selector visibility based on Format property setting. + + + + + Returns reference to internal time selector item which is used on drop-down to select time when control is used in time entry mode. + + + + + Gets or sets the popup time selector time format used to present time by the selector i.e. 12H or 24H format. + + + + + Indicates the type of popup time selector used. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Occurs if Free-Text entry value is not natively recognized by the control and provides you with opportunity to convert that value to the + value control expects. + + + + + Occurs when Free-Text button is clicked and allows you to cancel its default action. + + + + + Gets or sets whether free text entries are attempted to be auto-resolved to dates like Today to today's date or Now to date and time now etc. Default value is true. + + + + + Gets or sets whether free-text entry is automatically turned off when control loses input focus. Default value is false. + + + + + Gets or sets whether control input is in free-text input mode. Default value is false. + + + + + Initializes a new instance of the DateTimeCellEditor class. + + + + + Represents cell display class. + + + + + Represents information necessary to paint the cell on canvas. + + + + + Initializes the tree color tables. + + + + + Provides data for RenderColumnHeader event. + + + + + Gets the column header that is rendered. + + + + + Target Graphics canvas. + + + + + Gets the bounds of the column header. + + + + + Gets the effective style for the column. + + + + + Gets the AdvTree control header is rendered for. + + + + + Gets or sets the color of the column sort indicator. + + + + + Initializes a new instance of the ColumnHeaderRendererEventArgs class. + + + + + Initializes a new instance of the ColumnHeaderRendererEventArgs class. + + + + + + + + + Represents helper class for node connector display. + + + + + From node reference. + + + + + From node style reference. + + + + + To node reference. + + + + + To node style reference. + + + + + Graphics object used for drawing. + + + + + Node offset since some node coordinates are relative. + + + + + Indicates whether from node is a root node. + + + + + Reference to node connector object that describes connector type. + + + + + Gets or sets whether connector is link connector. + + + + + Reference to the collection of the connector path points. Default value is null indicating there are no path points. + + + + + Provides data for the NodeRenderer.RenderDragDropMarker event. + + + + + Gets or sets reference to Graphics object, canvas node is rendered on. + + + + + Gets or sets the selection bounds. + + + + + Initializes a new instance of the DragDropMarkerRendererEventArgs class. + + + + + Initializes a new instance of the DragDropMarkerRendererEventArgs class. + + + + + + + Represents the line connector display class. + + + + + Base class for drawing node connectors. + + + + + Creates new instance of the object. + + + + + Draws connector line between two nodes. + + Connector context information. + + + + Returns new instance of pen object for node connector line. Caller is responsible for + disposing of this object. + + Node connector display info. + New instance of Pen object. + + + + Draws connector line between two nodes. + + Connector context information. + + + + Provides information for cell rendering methods and events. + + + + + Summary description for NodeRendererEventArgs. + + + + + Gets or sets reference to Graphics object, canvas node is rendered on. + + + + + Gets or sets the reference to Node object being rendered. + + + + + Gets or sets the absolute node bounds. + + + + + Gets or sets the reference to element style for rendered node or cell. Style provided here is the style + for current node or cell state. + + + + + Gets or sets color that is passed to renderer. May be Color.Empty. + + + + + Creates new instance of the class. + + + + + Gets or sets the cell being rendered. + + + + + Gets or sets absolute cell bounds. + + + + + Gets or sets the internal cell offset. + + + + + Gets or sets the color scheme. + + + + + Creates new instance of the class. + + + + + Creates new instance of the class and initializes it with default values. + + Reference to graphics object. + Reference to context node. + Reference to node bounds + Reference to cell style + Reference to cell + Reference to cell bounds + + + + Represents custom connector path info. + + + + + Summary description for NodeDisplay. + + + + Creates new instance of the class + Object to initialize class with. + + + + Paints the layout on canvas. + + + + + Sets locked offset to specific value. Point.Empty means there is no locked offset set. + + New locked offset. + + + + + + + + + + Gets or sets the offset of the tree content relative to the size of the container control. + + + + Gets or sets whether offset is locked, i.e. cannot be changed. + + + + Returns the default offset for the tree content relative to the size of the container. + + + + + Gets or sets the reference to the tree control managed by display class. + + + + + Base class for node expand button display. + + + + Creates new instance of the class + + + Draws expand button. + Context parameters for drawing expand button. + + + + Represents class that paints elliptical expand button. + + + + Draws ellipse type expand button. + Expand context drawing information. + + + + Represents expand button display using predefined images. + + + + + Draws image type expand button. + + Expand context information + + + + Represents event arguments for RenderExpandPart event. + + + + + Gets or sets reference to Graphics object, canvas node is rendered on. + + + + + Gets or sets the reference to Node object being rendered. + + + + Expand part bounds + + + Expand part border color + + + Expand part line color + + + Expand part background color + + + Expand part target gradient background color + + + Gradient angle + + + Expand part image when node is expanded + + + Expand part image when node is collapsed + + + Internal support for expand button types + + + Gets whether mouse is over expand part + + + + Creates new instance of the class and initializes it with default values. + + Reference to graphics object. + + + + Represents class that paints rectangular expand button. + + + + + Draw rectangular type expand button. + + Expand button context information. + + + + Draw triangular type expand button. + + Expand button context information. + + + + Represent class that paints selection around node. + + + + + Represents default system node and cell renderer. + + + + + Represents abstract renderer class for node objects. + + + + + Draws node background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderNodeBackground method so events can occur. + + Information provided for rendering. + + + + Raises RenderNodeBackground event. + + Event arguments. + + + + Draws node expand part. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderNodeExpandPart method so events can occur. + + Information provided for rendering. + + + + Raises RenderNodeExpandPart event. + + + + + + Draws cell background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellBackground method so events can occur. + + Information provided for rendering. + + + + Raises RenderCellBackground event. + + Event arguments + + + + Draws cell check box. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellCheckBox method so events can occur. + + Information provided for rendering. + + + + Raises RenderCellCheckBox event. + + Event arguments + + + + Draws cell image. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellImage method so events can occur. + + Information provided for rendering. + + + + Raises RenderCellImage event. + + Event arguments + + + + Draws cell text. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellText method so events can occur. + + Information provided for rendering. + + + + Raises RenderCellImage event. + + Event arguments + + + + Draws selection for SelectedNode. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSelection method so events can occur. + + Information provided for rendering. + + + + Raises RenderSelection event. + + Event data. + + + + Draws hot-tracking marker for mouse over node. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderHotTracking method so events can occur. + + Information provided for rendering. + + + + Raises RenderHotTracking event. + + Event data. + + + + Draws connector between nodes. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderConnector method so events can occur. + + Information provided for rendering. + + + + Raises RenderConnector event. + + Event data. + + + + Draws the tree background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTreeBackground method so events can occur. + + Information provided for rendering. + + + + Raises RenderTreeBackground event. + + Event data. + + + + Draws the drag & drop marker that indicates the insertion point for the node. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderDragDropMarker method so events can occur. + + Information provided for rendering. + + + + Raises RenderDragDropMarker event. + + Event data. + + + + Draws the column header. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderColumnHeader method so events can occur. + + Information provided for rendering. + + + + Raises RenderDragDropMarker event. + + Event data. + + + + Draws node group line when in tile view. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTileGroupLine method so events can occur. + + Information provided for rendering. + + + + Raises RenderNodeBackground event. + + Event arguments. + + + + Occurs when node background is being drawn. + + + + + Occurs when node expand part is being drawn. + + + + + Occurs when cell background is being drawn. + + + + + Occurs when cell check-box is being drawn. + + + + + Occurs when cell image is being drawn. + + + + + Occurs when cell text is being drawn. + + + + + Occurs when node selection marker is rendered. + + + + + Occurs when node hot-tracking marker is rendered. + + + + + Occurs when node connector is being drawn. + + + + + Occurs when tree background is rendered. + + + + + + Renders the Column Header. + + + + + Occurs when node group line is being rendered while control is in tile view. + + + + + Gets or sets the color table used by the renderer. + + + + + Gets or sets the color table used by the renderer. + + + + + Returns ElementStyleDisplayInfo class that provides information for ElementStyle rendering. + + Reference to style. + Reference to graphics object. + Style bounds + New instance of ElementStyleDisplayInfo + + + + Draws node background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderNodeBackground method so events can occur. + + Information provided for rendering. + + + + Draws node expand part. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderNodeExpandPart method so events can occur. + + Information provided for rendering. + + + + Draws cell background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellBackground method so events can occur. + + Information provided for rendering. + + + + Draws cell check box. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellCheckBox method so events can occur. + + Information provided for rendering. + + + + Draws cell image. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellImage method so events can occur. + + Information provided for rendering. + + + + Draws cell text. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCellText method so events can occur. + + Information provided for rendering. + + + + Draws selection for SelectedNode. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSelection method so events can occur. + + Information provided for rendering. + + + + Draws hot-tracking marker for mouse over node. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderHotTracking method so events can occur. + + Information provided for rendering. + + + + Draws connector between nodes. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderConnector method so events can occur. + + Information provided for rendering. + + + + Draws the tree background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTreeBackground method so events can occur. + + Information provided for rendering. + + + + Draws the drag & drop marker that indicates the insertion point for the node. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderDragDropMarker method so events can occur. + + Information provided for rendering. + + + + Draws the column header. If you need to provide custom rendering this is the method that you should override in your custom renderer. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderColumnHeader method so events can occur. + + Information provided for rendering. + + + + Draws node group line when in tile view. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTileGroupLine method so events can occur. + + Information provided for rendering. + + + + Summary description for NodeTreeDisplay. + + + + Creates new instance of the class + Object to initialize class with. + + + + Paints the tree on canvas. + + + + + Defines the color table for tree selection. + + + + + Gets or sets the outer border for the selection. + + + + + Gets or sets the outer border corner radius. + + + + + Gets or sets the inner border for the selection. + + + + + Gets or sets the selection fill. + + + + + Gets or sets the selection text color. + + + + + Data form RenderSelection event. + + + + + Gets or sets reference to Graphics object, canvas node is rendered on. + + + + + Gets or sets the reference to selected Node object. + + + + + Gets or sets the selection bounds. + + + + + Gets or sets the node selection box style. + + + + + Gets or sets whether tree control is active, focused. + + + + + Provides data for tree background rendering events. + + + + + Gets or sets reference to Graphics object, canvas tree background is rendered on. + + + + + Gets or sets the reference to AdvTree control. + + + + + Creates new instance of the class and initializes it with default values. + + Reference to graphics object. + + + + Defines the Tree color table. + + + + + Gets or sets the color table used for the node selection display. + + + + + Gets or sets the color for node drag & drop marker. + + + + + Gets or sets the color of tree expand button type of rectangle. + + + + + Gets or sets the color of tree expand button type of Ellipse. + + + + + Gets or sets the color of tree expand button type of Triangle. + + + + + Gets or sets the color for tree grid lines. + + + + + Gets or sets the color of the column sort indicator which is rendered on columns when sorted. + + + + + Defines the color table for node expand button. + + + + + Gets or sets the border for the expand button which expands the node. + + + + + Gets or sets the expand button fill for button that expands the node. + + + + + Gets or sets the expand button foreground for button that expands the node. + + + + + Gets or sets the border for the expand button which expands the node. + + + + + Gets or sets the expand button fill for button that expands the node. + + + + + Gets or sets the expand button foreground for button that expands the node. + + + + + Gets or sets the border for the expand button which collapses the node. + + + + + Gets or sets the expand button fill for button that collapses the node. + + + + + Gets or sets the expand button foreground for button that expands the node. + + + + + Gets or sets the border for the expand button which collapses the node. + + + + + Gets or sets the expand button fill for button that collapses the node. + + + + + Gets or sets the expand button foreground for button that expands the node. + + + + + Defines the color table for tree selection. + + + + + Gets or sets the color table for FullRowSelect selection type. + + + + + Gets or sets the color table for FullRowSelect selection type when tree control is inactive. + + + + + Gets or sets the color table for HighlightCells selection type. + + + + + Gets or sets the color table for HighlightCells selection type when tree control is inactive. + + + + + Gets or sets the color table for NodeMarker selection type. + + + + + Gets or sets the color table for NodeMarker selection type when tree control is inactive. + + + + + Gets or sets the color table used for node hot-tracking. + + + + + Creates the pen for the border. + + Returns pen or null if pen cannot be created. + + + + Gets or sets the border width. Default value is 0. + + + + + Represents Collection for the ColorStop objects. + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds array of new objects to the collection. + + Array of object to add. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the ColorStop array. + + Array to copy to. + + + + Creates ColorBlend object based on the members of the collection. ColorBlend object will be valid only if all members of the collection + represents relative/percentage based color blends. + + + + + + Adds the ColorStop objects from the collection. + + Collection to copy objects from + + + + Initializes the collection with the two color blend. + + Collection to initialize. + Start color. + End color. + + + + Returns reference to the object in collection based on it's index. + + + + + Defines single color blend point for the multicolor gradient fills. + + + + + Creates new instance of the class. When defining multicolor gradient blends and using the percentage positions the positions created + must start with 0f and end with 1f. + + + + + Creates new instance of the class and initialize it with default values. + + + + + Gets or sets Color to use in multicolor gradient blend at specified position. + + + + + Gets or sets the color position in multicolor gradient blend. Values less or equal to 1 are used as percentage specifing percentages of distance along the gradient line. + Values greater than 1 are used as absolute pixel values of distance along the gradient line. + + + + + Represents BackgroundColorBlend object converter. + + + + + Creates the brush for fill. + + Bounds for the brush + Returns brush or null if brush cannot be created for given bounds or colors are not set. It is responsibility of caller to Dispose the brush. + + + + Creates a pen based on fill parameters. + + Width of the pen to create + new instance of pen or null if pen cannot be created. + + + + Initializes a new instance of the GradientFill class. + + + + + Initializes a new instance of the GradientFill class. + + + + + + + Initializes a new instance of the GradientFill class. + + + + + + + + Initializes a new instance of the GradientFill class. + + + + + + Initializes a new instance of the GradientFill class. + + + + + + Creates the brush for fill. + + Bounds for the brush + Returns brush or null if brush cannot be created for given bounds or colors are not set. It is responsibility of caller to Dispose the brush. + + + + Gets whether property should be serialized. + + true if property should be serialized + + + + Sets the property to its default value. + + + + + Gets whether property should be serialized. + + true if property should be serialized + + + + Sets the property to its default value. + + + + + Creates a pen based on fill parameters. + + Width of the pen to create + new instance of pen or null if pen cannot be created. + + + + Gets or sets the starting gradient fill color. + + + + + Gets or sets the end gradient fill color. + + + + + Gets the collection that defines the multicolor gradient background. + + + Setting this property creates a multicolor gradient with one color at each position along the gradient line. Setting this property nullifies all previous color, position, and falloff settings for this gradient fill. + + + + + Gets or sets the gradient fill angle. Default value is 90. + + + + + Defines a visual shape. + + + + + Renders shape on canvas. + + Target graphics to render shape on. + Shape bounds. + + + + Gets or sets the single piece of content inside of the shape. + + + + + Gets or sets whether to clip the Content of this shape. Default value is false. + + + + + Renders rectangle on canvas. + + Target graphics to render shape on. + Shape bounds. + + + + Gets whether property should be serialized. + + + + + Resets the property to its default value. + + + + + Gets or sets shape border. + + + + + Gets or sets the shape fill. + + + + + Gets or sets the CornerRadius. + + + + + Initializes a new instance of the SolidBorder class. + + + + + + + Initializes a new instance of the SolidBorder class. + + + + + + Initializes a new instance of the SolidBorder class. + + + + + Creates the pen for the border. + + Returns pen or null if pen cannot be created. + + + + Gets whether property should be serialized. + + true if property should be serialized + + + + Sets the property to its default value. + + + + + Gets or sets the fill color. + + + + + Initializes a new instance of the SolidFill class. + + + + + + Initializes a new instance of the SolidFill class. + + + + + Creates the brush for fill. + + Bounds for the brush + Returns brush or null if brush cannot be created for given bounds or colors are not set. It is responsibility of caller to Dispose the brush. + + + + Gets whether property should be serialized. + + true if property should be serialized + + + + Sets the property to its default value. + + + + + Gets or sets the fill color. + + + + + Specifies layout of the items in AdvTree control. + + + + + Standard TreeView layout. + + + + + ListView style tile layout. + + + + Specifies the way background image is displayed on background. + + + Image is stretched to fill the background + + + Image is centered inside the background + + + Image is tiled inside the background + + + + Image is drawn in top left corner of container space. + + + + + Image is drawn in top right corner of container space. + + + + + Image is drawn in bottom left corner of container space. + + + + + Image is drawn in bottom right corner of container space. + + + + Indicates alignment of a part of the cell like image or check box in relation to the text. + + + + Part is aligned to the left center of the text assuming left-to-right + orientation. + + + + + Part is aligned to the right center of the text assuming left-to-right + orientation. + + + + + Part is aligned to the top left of the text assuming left-to-right + orientation. + + + + Part is aligned above the text and centered. + + + + Part is aligned to the top right of the text assuming left-to-right + orientation. + + + + + Part is aligned to the bottom left of the text assuming left-to-right + orientation. + + + + Part is aligned below the text and centered. + + + + Part is aligned to the bottom right of the text assuming left-to-right + orientation. + + + + + Part has default alignment that depends on the parent control view. + + + + + Specifies how to trim characters from a text that does not completely fit into a element's shape. + + + + + Specifies that the text is trimmed to the nearest character. + + + + + Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line. + + + + + The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible. + + + + + Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line. + + + + + Specifies no trimming. + + + + + Specifies that text is trimmed to the nearest word. + + + + + Indicates absolute vertical alignment of the content. + + + + + Content is aligned to the top + + + + + Content is aligned in the middle + + + + + Content is aligned at the bottom + + + + + Indicates absolute horizontal alignment + + + + + Content is left aligned + + + + + Content is centered + + + + + Content is right aligned + + + + + Indicates prefered node layout position on Map tree layout when node is the child node of the top-level root node. + + + + + Node is positioned based on default algorithm. + + + + + Sub-root node and all nodes after it are positioned to the left of the root. + + + + + Sub-root node and all nodes before it are positioned to the right of the root. + + + + + Specifies the column header visibility for the node. + + + + + Column header is automatically shown/hidden based on the node's position in the tree. When + Node is first child node i.e. with index=0 the header will be shown, otherwise header will + be hidden. + + + + + Column header is always displayed regardless of node's position. + + + + + Column header is always hidden regardless of node's position. + + + + + Indicates the part of the node. + + + + + Bounds of complete node content except expand button. This also includes the child node bounds if node is expanded. + + + + + Bounds of the expand button which collapses/expands the node. + + + + + Hit test bounds of the expand button which collapses/expands the node used by mouse routines to trigger node expansion/collapse. + + + + + Bounds of all child nodes of give node. + + + + + Bounds for cells inside a node. + + + + + Complete node bounds including expand button. + + + + + Bounds of the command button. + + + + + Bounds of child node columns if node has columns defined. + + + + + Indicates the part of the cell. + + + + + Bounds of check box or Rectangle.Empty if there is no check-box. + + + + + Bounds of image inside the cell or Rectangle.Empty if there is no image. + + + + + Text bounds inside of cell. + + + + + Cell bounds + + + + + Indicates part of the node mouse is placed over. + + + + + Mouse is not over any node part. + + + + + Mouse is placed over the node. + + + + + Mouse is placed over node expand button. + + + + + Mouse is placed over the cell. + + + + + Mouse is placed over the command button. + + + + + Indicates the visibility of node expand part which allows user to expand/collaps node. + + + + + Default setting which indicates that when node has child nodes expand part is visible otherwise it is hidden. + + + + + Expand part is always visible regardless of whether child nodes are present or not. + + + + + Expand part is always hidden regardless of whether child nodes are present or not. + + + + + Specifies the action that raised a AdvTreeEventArgs event + + + + + The event was caused by a keystroke. + + + + + The event was caused by a mouse operation. + + + + + The event was caused by the Node collapsing. + + + + + The event was caused by the Node expanding. + + + + + The event is caused programmatically from user code. + + + + + Specifies node connector type. Node connector is the type of the line/connection that is drawn to connect child node to it's parent node. + + + + + Straight line connector type. + + + + + Specifies the layout type used to position the cells within the nodes. + + + + + Specifies that default setting is to be used for cell layout. Default is Horizontal. When set to default on the Node, setting from Tree control is used. + + + + Horizontal layout positions the cells horizontally next to each other. + + + + Vertical layout positions cell vertically on top of each other. + + + + + Specifies the layout type used to position the parts of the cell like image, checkbox and text. + + + + + Specifies that default setting is to be used for cell parts layout. Default is Horizontal. When set to default on the Cell, setting from Tree control is used. + + + + Horizontal layout positions the parts of the cell horizontally next to each other. + + + + Vertical layout positions parts of the cell vertically on top of each other. + + + + + Specifies the color scheme loaded by ColorScheme object. + + + + + Indicates Office 2003 like color scheme. + + + + + Indicates VS.NET 2005 like color scheme. + + + + + Indicates Office 2007 like color scheme. + + + + + Specifies the currently selected system color scheme if running on Windows XP. + + + + + Color scheme cannot be determined. + + + + + Blue color scheme. + + + + + Olive green color scheme. + + + + + Silver color scheme. + + + + + Specifies the flow of diagram layout related to the root node. + + + + + Nodes are positioned from left to right with root node being the left-most node. + + + + + Nodes are positioned from right to left with root node being the right-most + node. + + + + + Nodes are positioned from top to bottom with root node being the top node. + + + + + Nodes are positioned from bottom to top with root node being bottom node. + + + + + Specifies the flow of the map layout. + + + + + Nodes are arranged around the root node. + + + + + Nodes are arranged from below the root node. + + + + + Nodes are arranged above the root node. + + + + + Nodes are arranged to the right of the root node. + + + + + Nodes are arranged to the left of the root node. + + + + + Specifies the type of the expand button. + + + + + Indicates elliptical expand button. + + + + + Indicates rectangular expand button. + + + + + Indicates that images are used for expand button. + + + + + Indicates the Windows Vista style expand button. + + + + + Specifies the visual style for the tree control. + + + + + Indicates default visual style. + + + + + Specifies the layout type for the nodes. + + + + + Nodes are arranged around root node in map format. + + + + + Nodes are arranged from left-to-right in diagram format. + + + + + Specifies renderer type used to render nodes. + + + + + Specifies default renderer which allows most customization through AdvTree + properties. Default renderer integrates with the Style architecture to provide + customization on renderer behavior. + + + + + Specifies that custom renderer is used. When set you must also set NodeRenderer + to renderer you want to use. + + + + + Specifies the node selection style. + + + + + Node selector highlights the complete node row when node is selected. + + + + + Node selector draws the rectangle that highlights the node content. Appearance similar to system tree view in Windows Vista. + + + + + Node selector draws hollow selection rectangle around the node. + + + + + Specifies the rule for multi-node selection. + + + + + Allows multiple selection of nodes with same parent node only. + + + + + Allows multiple selection of any node. + + + + + Gets or sets the image alignment inside of column header. + + + + + Image is left aligned. + + + + + Image is right aligned. + + + + + Specifies the editor type used when cell is edited. + + + + + Indicates default, text based editor. + + + + + Indicates that Integer numeric editor will be used for editing the value of the cell or column. + + + + + Indicates that Double numeric editor will be used for editing the value of the cell or column. + + + + + Indicates that Currency numeric editor will be used for editing the value of the cell or column. + + + + + Indicates that date editor will be used for editing the value of the cell or column. + + + + + Indicates that time editor will be used for editing the value of the cell or column. + + + + + Indicates that date and time editor will be used for editing the value of the cell or column. + + + + + Indicates that cell will use custom editor that you provide by handling AdvTree.ProvideCustomCellEditor event. + + + + + Specifies the sort direction for the column header. + + + + + No sort is specified. + + + + + Ascending sorting is in effect, i.e. A-Z + + + + + Descending sorting is in effect, i.e. Z-A + + + + + Defines the delegate for AdvTree cell based action events. + + + + + Defines the delegate for AdvTree cell based action events. + + + + + Defines the delegate for AdvTree node based action events that can be cancelled. + + + + + Defines the delegate for AdvTree node based action events. + + + + + Defines delegate for Command button events. + + + + + Defines delegate for label editing events. + + + + + Defines the delegate for AdvTree node based action events. + + + + + Defines the delegate for BeforeNodeDrop and AfterNodeDrop events + + + + + Defines the delegate for NodeDragFeedback event. + + + + + Defines the delegate for mouse based node events + + + + + Defines delegate for node rendering events. + + + + + Defines delegate for cell rendering events. + + + + + Defines delegate for RenderExpandPart event. + + + + + Defines delegate for RenderExpandPart event. + + + + + Defines delegate for RenderConnector event. + + + + + Defines delegate for TreeBackgroundRenderer events. + + + + + Defines delegate for RenderDragDropMarker event. + + + + + Defines delegate for RenderColumnHeader event. + + + + + Provides data for the ProvideCustomCellEditor event. + + + + + Gets or sets the cell editor. You must set this property in your event handler to the custom + editor to be used for cell editing. + + + + + Gets the cell editor will be used for. + + + + + Initializes a new instance of the CustomCellEditorEventArgs class. + + + + + + Defines delegate for ProvideCustomCellEditor event. + + + + + Provides more information about MarkupLinkClick event. + + + + + Gets the value of href attribute from the markup link that was clicked. + + + + + Gets the value of name attribute from the markup link that was clicked. + + + + + Creates new instance of the object. + + Value of name attribute. + Value of href attribute. + + + + Defines delegate for MarkupLinkClick event. + + + + + Represents arguments for SerializeNode event which allows you to add custom serialization data to definitions saved by control. + + + + + Gets reference to the node being serialized or de-serialized. + + + + + Gets reference to instance of XmlElement that item is serialized to or is being de-serialized from. You should not change any data directly on this element. + + + + + Gets the reference to XmlElement that you can serialize to or de-serialize any custom data from. You can add child elements or set the attributes on + this XmlElement when handling SerializeItem event. When handling DeserializeItem event you can load your data from this element. + + + + + Defines delegate for SerializeItem event. + + + + + Represents the table header. + + + + + Default constructor. + + + + + Gets the reference to the collection that contains the columns associated with header. + + + + + Gets or sets the name associated with this header definition. + + + + + Represents collection for HeaderDefinition objects. + + + + + Sets the node collection belongs to. + + HeaderDefinition that is parent of this collection. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the HeaderDefinition array. + + Array to copy to. + + + + Gets or sets the node this collection is associated with. + + + + + Returns reference to the object in collection based on it's index. + + + + + Provides WinApi functions to rest of the application. + + + + + Resets Hoover timer for specified control. + + + + + Provides AdvTree Keyboard handling. + + + + + Represents class for Node's cell layout. + + + + + Offset cell bounds, check box bounds, image bounds and text bounds by specified offset. + + Cell to offset. + Horizontal offset in pixels. + Vertical offset in pixels. + + + + Returns spacing between check box and image if both are displayed + + + + + Returns spacing between image or checkbox and text + + + + + Returns vertical spacing between cells in a node + + + + + Spacing between different parts of the cell, like image, option button, text and expand button area + + + + + Initializes a new instance of the CellTileLayout class. + + + + + Class that is used to layout column header. + + + + + Gets or sets the vertical spacing between nodes in pixels. + + + + + Gets or sets the horizontal spacing between nodes in pixels. + + + + + Returns horizontal spacing between cells in a node + + + + + Returns width of the expand button area. Default is 24 pixels. + + + + + Gets or sets the size of the expand part that is expanding/collapsing the node. Default value is 8,8. + + + + + Gets or sets width of command button area. Default is 8 pixels. + + + + + Summary description for NodeLayout. + + + + + Performs layout of the nodes inside of the tree control. + + + + + Performs layout for single unassigned node. Node does not have to be part of the tree control. + + Node to perform layout on. + + + + Resizes all styles and prepares them for layout. + + + + + Returns default top-level columns for tree control. + + Returns array list of ColumnInfo objects. + + + + Returns column information for a given node. + + Node to return column information for + Returns array list of ColumnInfo objects or null if there are no columns defined. + + + + Returns column header collection for the given column template name. + + Name of the column template. + Column header collection or null if template name cannot be found. + + + + Sets the position and size of the node command button. + + Node layout context information + + + + Determines the rectangle of the +/- part of the tree node that is used to expand node. + + Node layout context information + + + + Returns the size of the node expand part. + + Size of the expand part, default 8,8. + + + + Provides the layout for single node. + + Layout information. + + + + Returns true if given node has expand part. + + Layout context information. + + + + + Returns whether given node has command part. + + Layout context information. + True if command part should be drawn otherwise false. + + + + Returns class responsible for cell layout. + + Cell layout class. + + + + Offsets node location and location of it's child nodes bounds. + + Node to offset. + Horizontal offset. + Vertical offset. + + + + Gets or sets layout settings. + + + + + Gets or sets the child node indent in pixels. + + + + + Returns true if root node should have expanded part + + + + + Returns true if expand part space should be accounted for even if they expand part is not visible or need to be displayed. Default value is false. + + + + + Initializes a new instance of the NodeColumnInfo structure. + + + + + + + Gets or sets the list of column info object for the columns. + + + + + Gets or sets whether columns have auto-size column. + + + + + Used to pass node contextual information used for layout of the node. + + + + + Performs ListView Tile style layout. + + + + + Returns default top-level columns for tree control. + + Returns array list of ColumnInfo objects. + + + + Gets whether the expand part of the node +/- is aligned to the left of the node in left-to-right layout. + + Node to get expand part alignment for + true if node expand part is aligned to the left in left-to-right layout. + + + + Returns column information for a given node. + + Node to return column information for + Returns array list of ColumnInfo objects or null if there are no columns defined. + + + + Returns true if given node has expand part. + + Layout context information. + + + + + Returns class responsible for cell layout. + + Cell layout class. + + + + Returns true if expand part space should be accounted for even if they expand part is not visible or need to be displayed. Default value is false. + + + + + Gets or sets whether parent/child node relationship is displayed as groups. + + + + + Performs classic TreeView layout. + + + + + Gets whether the expand part of the node +/- is aligned to the left of the node in left-to-right layout. + + Node to get expand part alignment for + true if node expand part is aligned to the left in left-to-right layout. + + + + Returns true if expand part space should be accounted for even if they expand part is not visible or need to be displayed. Default value is false. + + + + + Represents the Node in Tree control. + + + + Default Constructor. + + + + Creates node and initializes its text. + + + + + Creates node and initializes its text and Style property. + + + + + Sets the bounds of the node. + + New location and size of the node. + + + + Sets the content bounds of the node. Content bound is bound for the the cells inside the node + and it excludes the expand rectangle. Bounds also include the node style padding and + reflect node margin. + + New location and size of the node. + + + + Sets cell bounds. + + New cells bounds. + + + + Sets node parent. + + Parent node object. + + + + Called when Parent of the node has changed. + + + + + Sets the bounds of the expand part. + + New part bounds. + + + + Sets the Checked or CheckState properties. + + New value for checked state. + Action source. + + + + Sets the Checked or CheckState properties. + + New value for checked state. + Action source. + + + + Sets whether node is in edit mode or not. + + True indicating that node is in edit mode false otherwise. + + + + Sets selected cell and provides information on the action that caused the selection change. + + New selected cell. + Action source. + + + + Resets image to its default value. Windows Forms designer support. + + + + + Resets image to its default value. Windows Forms designer support. + + + + + Resets ImageMouseOver to its default value. Windows Forms designer support. + + + + + Resets ImageExpanded to its default value. Windows Forms designer support. + + + + + Called after node has been deselected. + + Provides information on how selection was performed + + + + Called after node has been selected. + + Provides information on how selection was performed + + + + Returns cell within a node which contains specified coordinates. + + + + Cell which contains specified coordinates or null/nothing if no cell contains coordinates. + + + + Invalidates the layout for this node and causes the layout to be performed on next layout request. + + + + + Invalidates the layout for this node and causes the layout to be performed on next layout request. + + Indicates whether to invalidate layout for all child nodes as well. + + + + Invalidates node and causes a paint message to be sent to the tree. + + + + Initiates the editing of node text. + + This method by default edits text stored in Node.Text. Call to this method is + same as calling the overload method BeginData(0) with zero as parameter. Use BeginData + overload method to begin editing the specific column for multi-column nodes. + + + + Initiates the editing of node text. + + The initial text to be entered into the edit TextBox. Specify null to use existing text. + + + + Initiates text editing of certain Node column. + + Zero based index of a column to begin editing for. Column 0 always corresponds to + Node.Text property. + + + + Initiates text editing of certain Node column. + + Zero based index of a column to begin editing for. Column 0 always corresponds to + Node.Text property. + + + The initial text to be entered into the edit TextBox. Specify null to edit existing text. + + + + + Creates new instance of the node for the Copy() and DeepCopy() methods. Allows you to returns your own node type copy if you inherit from node to add custom properties. + + New instance of a node. + + + Makes a "shallow" copy of a Node. + + Shallow copy of a Node is a exact copy of Node but without copy + of all child nodes in Nodes collection. + + + + + Copies this node properties to a node. + + Node top copy properties to. + + + Makes a "deep" copy of a node. + + Deep copy of Node is a exact copy of Node including exact copies of all child nodes + in this node's Nodes collection. + + + + + Collapses the tree node. + + + + + Collapses the tree node. + + Action that caused the event + + + + Collapses all the child tree nodes. + + + + + Ends the editing of the node text or column. + + true if the editing of the tree node label text was canceled without being saved; otherwise, false. + + + + Ensures that the node is visible, expanding nodes and scrolling the control as necessary. + + + + + Ensures that the node is visible, expanding nodes and scrolling the control as necessary. + + Indicates the position within a tree visible area node is scrolled to + + + + Expands the node. + + + The Expand method expands the current Node down to the next level of nodes. + The state of a Node is persisted. For example, if the next level of child nodes was not collapsed previously, when the Expand method is called, the child nodes appear in their previously expanded state. + + + + + Expands the node. + + + The Expand method expands the current Node down to the next level of nodes. + The state of a Node is persisted. For example, if the next level of child nodes was not collapsed previously, when the Expand method is called, the child nodes appear in their previously expanded state. + + Action that caused the event. + + + + Expands all the child tree nodes. + + + + + Expands all the child tree nodes. + + + + + Removes the current node from the control. + + + When the Remove method is called, the node and any child nodes assigned to the Node are removed from the Tree. The removed child nodes are removed from the Tree, but are still attached to this node. + + + + + Removes the current node from the control and provides information about source of action + + + When the Remove method is called, the node and any child nodes assigned to the Node are removed from the Tree. The removed child nodes are removed from the Tree, but are still attached to this node. + + + + + Toggles the node to either the expanded or collapsed state. + + + + + Toggles the node to either the expanded or collapsed state. + + Action that caused the event. + + + Returns string representation of the Node. + + + + Called after new cell has been added to Cells collection. + + Reference to the new cell added. + + + + Called after cell has been removed from Cells collection. + + Reference to the removed cell. + + + + Occurs when property on the node has changed that influences the size of the node. + + + + + Occurs when any image property for the cell has changed. + + + + + Occurs when size of the child nodes has changed. + + + + + Called before Expanded state of the node has changed. + + New Expand State + Action Source + + + + Called when visual part of the node has changed due to the changes of its properties or properties of the cells contained by node. + + + + + Called after new node has been added to Nodes collection. + + Reference to the new node. + + + + Called after node has been removed from Nodes collection. + + Reference to the node that is removed. + + + + Creates new cells based on the columns defined on either parent node or the columns in tree control. Node + must be parented so it can get reference to a parent tree control. + + + + + Raises the Click event on node and parent tree if available. + + + + + Provides implementation for IComparable interface. This is used for sorting and it compares the Text property on nodes. + + + + + + + Occurs when the mouse pointer is over the node and a mouse button is pressed. + + + + + Occurs when the mouse pointer is over the node and a mouse button is released. + + + + + Occurs when the mouse pointer is moved over the node. + + + + + Occurs when the mouse enters the node. + + + + + Occurs when the mouse leaves the node. + + + + + Occurs when the mouse hovers over the node. + + + + + Occurs when the node is clicked with left mouse button. If you need to know more information like if another mouse button is clicked etc. use + NodeMouseDown event. + + + + + Occurs when the node is double-clicked. + + + + + Occurs when hyperlink in text-markup is clicked. + + + + + Gets whether node has child nodes. + + + + + Gets or sets the context menu assigned to this node. Standard Context Menus, VS.NET 2005 Context Menus and DotNetBar Suite context menus are supported. + Default value is null (Nothing) which indicates that no context menu is assigned. + + + + + Gets whether any of the cells inside the node has HostedControl property set. + + + + + Gets or sets custom node renderer. You can set this property to your custom renderer. When set the RenderMode should be set to custom to enable + your custom renderer. To choose one of the system renderer use RenderMode property. Default value is null. + + + + + Gets or sets the render mode used to render the node. Default value is eNodeRenderMode.Default which indicates that system default renderer is used. + Note that if you specify custom renderer you need to set either AdvTree.NodeRenderer or Node.NodeRenderer property. + + + + + Gets or sets whether node is expanded. Expanded node shows it's child nodes. + + + + + Returns name of the node that can be used to identify it from the code. + + + + + Gets or sets whether node can be dragged and dropped. Default value is true. + + + + + Gets or sets visibility of the expand button. Default value is Auto meaning that + expand button is displayed only if node has at least one child node. + + + You can use this property for example to dynamically load the child nodes when user + tries to expand the node. You could for example handle BeforeExpand event to load child + nodes into the node. + + + + + Gets or sets whether any operation on the node has been performed that would affect node's size. Size changed flag + internally indicates that node's size needs to be recalculated because it has changed + due to the changes in data. + + + + + Gets the relative bounds of the tree node including the expand part of the node. + + + + + Gets the absolute bounds of the tree node including the expand part of the node. + + + + + Gets the node content bounds. + + + + + Gets the bounds for all the cells inside the node. The bounds do not include the expand part. + + + + + Gets the bounds for all the cells inside the node. The bounds do not include the expand part. + + + + + Gets or sets the bounds of child nodes. + + + + + Gets the expand part rectangle. Expand part is used to expand/collapse node. + + + + + Gets the expand part rectangle. Expand part is used to expand/collapse node. + + + + + Indicates vertical alignment within the node bounds of expand part of the node, if one is visible. + + + + + Gets or sets the Command part bounds if command part is visible. + + + + + Gets or sets a value indicating whether the tree node is in a checked state. + + + + + Gets or sets the checkbox alignment in relation to the text displayed by first default cell. + + + + + Gets or sets whether check box is visible inside the cell. + + + + + Gets or sets the appearance style of the item. Default value is CheckBox. Item can also assume the style of radio-button. + + + + + Gets or sets a value indicating whether the CheckBox will allow three check states rather than two. If the ThreeState property is set to true + CheckState property should be used instead of Checked property to set the extended state of the control. + + + + + Specifies the state of a control, such as a check box, that can be checked, unchecked, or set to an indeterminate state. + + + + + Gets or sets whether first cell content is editable when cell editing is enabled on tree control. Default value is true. + + + + + Gets the path from the root tree node to the current tree node. The path consists of the labels of all the tree nodes that must be navigated to get to this tree node, starting at the root tree node. The node labels are separated by the delimiter character specified in the PathSeparator property of the Tree control that contains this node. + + + + + Gets the zero based index of position of the tree node in the tree node collection. -1 is returned if node is not parented. If node is root node + the index of node in AdvTree.Nodes collection is returned. + + + + + Gets a value indicating whether the tree node is in an editable state. true if the tree node is in editable state; otherwise, false. + + + + + Gets whether left mouse button is pressed on any cell contained by this node. + + + + + Gets whether mouse cursor is over on any cell contained by this node. + + + + + Gets a value indicating whether the tree node is in the selected state. true if the tree node is in the selected state; otherwise, false. + + + + + Gets or sets whether node can be selected by user by clicking it with the mouse or using keyboard. Default value is true. + + + + + Gets whether node can be selected. Node must be Visible, Enabled and Selectable in order for it to be selected. + + + + + Gets or sets a cell that is in selected state otherwise it returns null. + + + + + Gets a value indicating whether the tree node is visible. Node is considered to be visible when it's Visible property is set to true and path to the node is available i.e. all parent nodes are expanded. + + + + + Returns whether node is displayed on the screen and visible to the user. When node is outside of the viewable area this property will return false. It will also return false if node is not visible. + + + + + Gets the last child tree node. The LastNode is the last child Node in the NodeCollection stored in the Nodes property of the current tree node. If the Node has no child tree node, the LastNode property returns a null reference (Nothing in Visual Basic). + + + + + Gets the next sibling tree node. The NextNode is the next sibling Node in the NodeCollection stored in the Nodes property of the tree node's parent Node. If there is no next tree node, the NextNode property returns a null reference (Nothing in Visual Basic). + + + + + Gets the next visible tree node. The NextVisibleNode can be a child, sibling, or a tree node from another branch. If there is no next tree node, the NextVisibleNode property returns a null reference (Nothing in Visual Basic). + + + + + Gets the zero-based depth of the tree node in the tree control. The root node is considered the first level of nesting and returns 0. + + + + + Gets the collection of Node objects assigned to the current tree node. The Nodes property can hold a collection of other Node objects. Each of the tree node in the collection has a Nodes property that can contain its own NodeCollection. Nesting of tree nodes can make it difficult to navigate a tree structure. The FullPath property makes it easier to determine your location in a tree. + + + + + Gets whether there is at least one child node that has its Visible property set to true. + + + + + Gets the parent tree node of the current tree node. If the tree node is at the root level, the Parent property returns a null reference (Nothing in Visual Basic). + + + + + Gets the previous sibling tree node. The PrevNode is the previous sibling Node in the NodeCollection stored in the Nodes property of the tree node's parent Node. If there is no previous tree node, the PrevNode property returns a null reference (Nothing in Visual Basic). + + + + + Gets the previous visible tree node. The PrevVisibleNode can be a child, sibling, or a tree node from another branch. If there is no previous tree node, the PrevVisibleNode property returns a null reference (Nothing in Visual Basic). + + + + + Gets or sets the object that contains data about the tree node. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Gets or sets the object that contains data about the tree node. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Gets or sets the Binding index in CurrencyManager list if node is bound. You should not change this value directly since + it is used internally by the control for data binding scenarios. + + + + + Gets or sets the object that contains additional data about the tree node. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + This property has same function as Tag property and provides you with additional separate storage of data. + + + + + Gets or sets the object that contains additional data about the tree node. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + This property has same function as Tag property and provides you with additional separate storage of data. + + + + + Gets or sets the format that is applied to the value of Text property for display purposes (applies to first cell in a node, i.e. Cells[0]). See "Formatting Overview" in MSDN + for description on available format strings. For example you can specify "C" to format text as currency, or "D" to format text as decimal number etc. + + + + + + Gets or sets the text displayed in the tree node. + + + + + Gets or sets the control hosted inside of the first node cell. + + + When control is hosted inside of the cell, cell size is determined by the + size of the control hosted inside of it. The cell will not display its text but it will display any image assigned + or check box when control is hosted inside of it. The Style settings like Margin + and Padding will still apply. + + + + + Gets or sets the item hosted inside of the first cell. Only items that do not generate + popups are supported. Note that cell can only host either HostedItem or HostedControl but not both. + + + + + Gets the parent tree control that the tree node is assigned to. + + + + + Gets or sets the layout of the cells inside the node. Default value is Horizontal layout which + means that cell are positioned horizontally next to each other. + + + + + Gets or sets the cell alignment when CellLayout=Vertical. Default value is center which means that cells are center aligned. + + + + + Gets or sets the layout of the cell parts like check box, image and text. Layout can be horizontal (default) + where parts of the cell are positioned next to each other horizontally, or vertical where + parts of the cell are positioned on top of each other vertically. + Alignment of the each part is controlled by alignment properties. This property affects only the first cell inside of the node. + Use Cell.Layout property to change the part layout on each cell contained by node. + + + + + Gets/Sets informational text (tooltip) for the cell. + + + + + Gets the collection of all Cells assigned to this node. There should be always at least one cell in a node which is default cell. Default + collection contains a single cell. + + + + + Gets or sets whether column header for child nodes if defined is visible. Default value is true. + + + + + Gets whether node has child nodes columns defined. + + + + + Get collection of child node columns. + + + + Gets or sets the style of the cells when node is expanded. + + Reference to the style assigned to the node/cell or null value indicating that + default style setting from tree control is applied. Default value is null. + + + When node is expanded the style specified here will be used on all cells + associated with this node instead of the + Cell.StyleNormal. That way you can give + different appearance to your node's cells when node is expanded. + When property is set to null value the style setting from parent tree + controls is used. NodeStyleExpanded on + AdvTree control is a root style for a cell. + + + + + Gets or sets the expanded style name used by node. This member is provided for internal use only. To set or get the style use StyleExpanded property instead. + + + + + Gets or sets the style used when Node is selected. Default value is NULL (VB + Nothing) + + + + + Gets or sets the selected style name used by node. This member is provided for internal use only. To set or get the style use StyleSelected property instead. + + + + + Gets or sets the style used when mouse is over the Node. Default value is NULL + (VB Nothing) + + + + + Gets or sets the mouse over style name used by node. This member is provided for internal use only. To set or get the style use StyleMouseOver property instead. + + + + + Gets or sets the node style. + + + Reference to the style assigned to the node or null value indicating that default + style setting from tree control is applied. Default value is null. + + + Style specified by this property will be used as default style for the node. + Each cell within the node can also specify it's own style. Since node contains the + cells using this style property can you for example create a border around all cell + contained by the node. + When this property is set to null value (default value) NodeStyle + property on AdvTree control is used. + + + + + Gets or sets the style name used by node. This member is provided for internal use only. To set or get the style use Style property instead. + + + + + Gets or sets the part of the node mouse is over. + + + + + Gets or sets the node horizontal offset from the position determined by the layout manager. + + + + + Gets or sets the image alignment in relation to the text displayed by cell. This property affects only first default cell inside the node. + Property with same name is available on each cell and you can use it to affect each cell individually. + + + + + Gets or sets whether node is enabled. Default value is true. Setting this value to false will set Enabled=false on all child cells. + + + + + Gets or sets the image displayed when the tree node is disabled. If image is not specified control will create + gray-scale disabled image automatically. + + + Image specified will be used as image when node is disabled. + + + + + Gets or sets the image-list index value of the disabled image. + + + + + Gets or sets the image displayed when the tree node is in the unselected state. + + + Image specified will be used as a default image for any other node state where + different image is not specified. + + + + + Gets or sets the image-list key value of the default image that is displayed by the tree nodes. + + + + + Gets or sets the image-list index value of the default image that is displayed by the tree nodes. + + + + + Gets or sets the image displayed when mouse is over the tree node. + + + + + Gets or sets the image-list index value of the image that is displayed by the tree nodes when mouse is over the node. + + + + + Gets or sets the image-list key value of the image that is displayed by the tree nodes when mouse is over the node. + + + + + Gets or sets the image displayed when node is expanded. + + + + + Gets or sets the image-list index value of the image that is displayed by the tree nodes when node is expanded. + + + + + Gets or sets the image-list key value of the image that is displayed by the tree nodes when node is expanded. + + + + + Property Editor support for ImageIndex selection + + + + + Gets or sets the NodeConnector object that describes the type of the connector used for + displaying connection between current node and its parent node. + Default value is null which means that settings from AdvTree control are used. + + RootConnector Property (DevComponents.AdvTree.AdvTree) + NodesConnector Property (DevComponents.AdvTree.AdvTree) + + + + Gets or sets whether node is visible. + + + + + Gets or sets whether command button is visible. Default value is false. + Command button can be used to display for example popup menu with commands for node, + or to display the list of linked nodes. + + + + + Gets or sets internal value that indicates that node is on "path" of the selected node. + + + + + + Gets or sets whether node selection is visible in UI when node is selected. Default value is true. You can + set this value to false to temporary disable the display of selection for a node. + + + + + Gets or sets the additional indent for the child nodes that is added to the AdvTree.Indent value when performing child node layout. Default value i 0. + + + + + Gets or sets whether Left/Right navigation through the cells when SingleCellSelection on tree is set is enabled. Default value is true. + + + + + Gets or sets whether style background that is applied to the node is drawn across the width of the tree control instead of only + behind the node content. Default value is false. + + + + + Gets or sets the child column header height. + + + + + Gets the AccessibleObject assigned to the item. + + + + + Gets or sets the default action description of the control for use by accessibility client applications. + + + + + Gets or sets the description of the control used by accessibility client applications. + + + + + Gets or sets the name of the control used by accessibility client applications. + + + + + Gets or sets the accessible role of the item. + + + + + Gets or sets a value indicating whether the node is visible to accessibility applications. + + + + + Represents collection for Node objects. + + + + + Sets the node collection belongs to. + + Node that is parent of this collection. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds new object to the collection and provides information about the source of the command + + Node to add + Source action + + + + + Adds an array of objects to the collection. + + Array of Node objects. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + Action that is causing the event + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Removes specified object from the collection and provides information about source of the command + + Node to remove + Source action + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the Node array. + + Array to copy to. + + + + Sorts the elements in the entire collection using the IComparable implementation of each element. + + + + + Sorts the elements in the entire collection using the specified comparer. + + The IComparer implementation to use when comparing elements.-or- null to use the IComparable implementation of each element. + + + + Sorts the elements in a range of elements in collection using the specified comparer. + + + + + + + + Finds the tree nodes with specified key, optionally searching sub-nodes. + + The name of the tree node to search for. + true to search child nodes of tree nodes; otherwise, false. + An array of Node objects whose Name property matches the specified key. + + + + Gets or sets the node this collection is associated with. + + + + + Returns reference to the object in collection based on it's index. + + + + + Creates new instance of NodeComparer class. You can use NodeComparer to sort the nodes by specific column/cell by calling + NodeCollection.Sort method and pass new instance of NodeComparer class. + + + + + Creates new instance of NodeComparer class. You can use NodeComparer to sort the nodes by specific column/cell by calling + NodeCollection.Sort method and pass new instance of NodeComparer class. + + Column/Cell index to use for sorting. + + + + Gets or sets the Column/Cell index that is used for sorting. + + + + + Reverse sort nodes. + + + + + Creates new instance of NodeComparer class. You can use NodeComparer to sort the nodes by specific column/cell by calling + NodeCollection.Sort method and pass new instance of NodeComparer class. + + Column/Cell index to use for sorting. + + + + Sort by flat node index. + + + + + Creates new instance of NodeComparer class. You can use NodeComparer to sort the nodes by specific column/cell by calling + NodeCollection.Sort method and pass new instance of NodeComparer class. + + + + + Represents node connector. Node connector is the line that is drawn to indicate connection between child and parent node. + + + + + Default Constructor. + + + + + Creates new instance of the object with specified parameters. + + Connector line width. + Connector type. + + + + Returns true if editor should serialize LineColor property. + + + + + Occurs when appearance of the connector has changed as result of changed settings on the connector. + + + + + Gets or sets the connector line width. + + + + + Gets or sets the color of the connector line. + + + + + Gets or sets the type of the connector. + + + See eNodeConnectorType enum for list of + available connectors. + + eNodeConnectorType Enumeration + + + + Gets or sets the DashStyle for the connector line. Default value is DashStyle.Dot. + + + + + Represents node operations. + + + + + Returns full path to the given node. + + Node to return path to. + Full path to the node. + + + + Gets the last child tree node. The LastNode is the last child Node in the NodeCollection stored in the Nodes property of the current tree node. If the Node has no child tree node, the LastNode property returns a null reference (Nothing in Visual Basic). + + Reference node. + Last node if found or null if there is no last node. + + + + Returns last rendered node on screen. + + Tree control. + Last rendered node or null + + + + Returns first rendered node on screen. + + Tree control. + Last rendered node or null + + + + Gets first visible node. + + Reference to tree. + Last visible node found or null + + + + Gets last visible node in tree control. + + Reference to tree. + Last visible node found or null + + + + Gets last visible top-level node in tree control. + + Reference to tree. + Last visible node found or null + + + + Gets the next sibling tree node. The NextNode is the next sibling Node in the NodeCollection stored in the Nodes property of the tree node's parent Node. If there is no next tree node, the NextNode property returns a null reference (Nothing in Visual Basic). + + Reference node. + Node object or null if node cannot be found. + + + + Returns next visible sibling tree node. + + Reference node + Node object or null if next visible node cannot be found + + + + Gets the next visible tree node. The NextVisibleNode can be a child, sibling, or a tree node from another branch. If there is no next tree node, the NextVisibleNode property returns a null reference (Nothing in Visual Basic). + + Reference node. + Node object or null if node cannot be found. + + + + Gets the next visible tree node. The NextVisibleNode can be a child, sibling, or a tree node from another branch. If there is no next tree node, the NextVisibleNode property returns a null reference (Nothing in Visual Basic). + + Reference node. + Node object or null if node cannot be found. + + + + Gets a value indicating whether the tree node is visible. Node is considered to be visible when it's Visible property is set to true and path to the node is available i.e. all parent nodes are expanded. + + + + + + + Returns whether node is displayed on the screen and visible to the user. When node is outside of the viewable area this property will return false. It will also return false if node is not visible. + + + + + + + Gets the zero based index of position of the tree node in the tree node collection. -1 is returned if node is not added to the nodes collection. + + Reference node. + Zero based index or -1 if node is not in collection. + + + + Gets the previous sibling tree node. The PrevNode is the previous sibling Node in the NodeCollection stored in the Nodes property of the tree node's parent Node. If there is no previous tree node, the PrevNode property returns a null reference (Nothing in Visual Basic). + + Reference node. + Node object or null if node cannot be found. + + + + Gets the previous visible tree node. The PrevVisibleNode can be a child, sibling, or a tree node from another branch. If there is no previous tree node, the PrevVisibleNode property returns a null reference (Nothing in Visual Basic). + + Reference node. + Node object or null if node cannot be found. + + + + Gets the previous tree node. The Previous Node can be a child, sibling, or a tree node from another branch. If there is no previous tree node, the PrevNode property returns a null reference (Nothing in Visual Basic). + + Reference node. + Node object or null if node cannot be found. + + + + Returns true if node passed is considered root node for display purposes. + + Reference to the tree control. + Node to test. + true if node is root node for display purposes otherwise false. + + + + Ensures that the cell is visible, expanding nodes and scrolling the control as necessary. + + Cell to be made visible. + + + + Ensures that the node is visible, expanding nodes and scrolling the control as necessary. + + Node to be made visible. + + + + Ensures that the node is visible, expanding nodes and scrolling the control as necessary. + + Node to be made visible. + + + + Returns number of visible child nodes for given node. + + Reference node. + Number of visible child nodes. + + + + Returns true if node has at least single visible child node. + + Reference node. + True if at least single child node is visible otherwise false. + + + + Retrieves the tree node that is at the specified location. + + The Node at the specified point, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The Point to evaluate and retrieve the node from. + Tree control to find node at. + + + + Retrieves the tree node that is at the specified location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The X position to evaluate and retrieve the node from. + The Y position to evaluate and retrieve the node from. + Tree control to find node at. + + + + Retrieves the tree node that is at the specified location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + Tree control to find node at. + The X position to evaluate and retrieve the node from. + The Y position to evaluate and retrieve the node from. + Enumerates rendered nodes only. + + + + Retrieves the tree node that is at the specified location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + Tree control to find node at. + The X position to evaluate and retrieve the node from. + The Y position to evaluate and retrieve the node from. + Enumerates rendered nodes only. + + + + Retrieves the tree node that is at the specified vertical location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The Y position to evaluate and retrieve the node from. + Tree control to find node at. + + + + Retrieves the tree node that is at the specified vertical location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The Y position to evaluate and retrieve the node from. + Tree control to find node at. + Enumerates rendered nodes only. + + + + Retrieves the tree node that is at the specified vertical location. + + The TreeNode at the specified location, in tree view coordinates. + + You can pass the MouseEventArgs.X and MouseEventArgs.Y coordinates of the + MouseDown event as the x and y parameters. + + The Y position to evaluate and retrieve the node from. + Tree control to find node at. + Enumerates rendered nodes only. + + + + Gets the count of visible child nodes (Visible=true) for given node. + + Reference to Node object. + Number of visible nodes. + + + + Gets the first visible child node or returns null if node cannot be found. + + Reference to Node object. + First visible node or null if node cannot be found. + + + + Gets the last visible child node or returns null if node cannot be found. + + Reference to Node object. + Last visible node or null if node cannot be found. + + + + Gets whether any node from array is child node of parent on any level. + + Reference to parent node. + Reference to child nodes. + + + + + Gets whether node is child node of parent on any level. + + Reference to parent node. + Reference to child node. + + + + + Returns true if child node is child of any parent node at any level. + + Parent nodes array + Child node + true if child otherwise false + + + + Finds the node based on the Node.Name property. + + Reference to a tree control. + Reference to a node with given name or null if node cannot be found. + + + + Finds the node based on the Node.DataKey property. + + Reference to a tree control. + Reference to a node with given key or null if node cannot be found. + + + + Finds the node based on the Node.BindingIndex property. + + Reference to a tree control. + Index to look for + + + + Returns next visible cell in node. + + Reference to a node + The index at which to start search. + Reference to cell or null if there are no visible cells + + + + Returns previous visible cell in node. + + Reference to a node + The index at which to start search. + Reference to cell or null if there are no visible cells + + + + Returns the zero based flat index of the node. Flat index is the index of the node as if tree structure + has been flattened into the list. + + Reference to parent tree control. + Reference to the node to return index for. + Zero based node index or -1 if index cannot be determined. + + + + Returns node based on the flat index. Flat index is the index of the node as if tree structure + has been flattened into the list. + + Parent tree control. + Index to return node for. + Reference to a node or null if node at specified index cannot be found. + + + + Finds the first node that starts with the specified text. Node.Text property is searched. + + Parent tree control. + Partial text to look for + Reference node to start searching from + Gets or sets whether search ignores the letter case + Reference to a node or null if no node is found. + + + + Returned as information about the node or its column header at given coordinates. + + + + + Defines options for EnsureVisible method which brings node into the view. + + + + + Scrolls the tree so node is displayed at the bottom of the tree, if possible. + + + + + Scrolls the tree so node is displayed in the middle of the tree, if possible. + + + + + Scrolls the tree so node is displayed at the top of the tree, if possible. + + + + + Class that provides predefined styles for the nodes. Styles are defined as static memeber of the class + + + + + Returns Apple element style + + + + + Returns Blue element style + + + + + Returns BlueLight element style + + + + + Returns BlueNight element style + + + + + Returns BlueMist element style + + + + + Returns Cyan element style + + + + + Returns Green element style + + + + + Returns Lemon element style + + + + + Returns Magenta element style + + + + + Returns Orange element style + + + + + Returns OrangeLight element style + + + + + Returns Purple element style + + + + + Returns PurpleMist element style + + + + + Returns Red element style + + + + + Returns Silver element style + + + + + Returns SilverMist element style + + + + + Returns Tan element style + + + + + Returns Teal element style + + + + + Returns Yellow element style + + + + + Returns Gray element style + + + + + Indicates predefined element style. + + + + + Represents the selected nodes collection. + + + + + Initializes a new instance of the SelectedNodesCollection class. + + + + + Adds new object to the collection and provides information about the source of the command + + Node to add + Source action + + + + + Adds an array of objects to the collection. + + Array of Node objects. + + + + Represents the text box for editing cell's text. + + + + + Gets or sets whether the editing is in word-wrap mode. + + + + + Gets or sets whether control prevents Beep sound when Enter key is pressed. + + + + + Summary description for TreeAreaInfo. + + + + + Reference to parent node in which child bounds the coordinates are. Can be null if no parent node contains given coordinates. + + + + + Node which contains specified coordinates. Can be null if no node contains coordinates. + + + + + Previous reference node for given coordinates. If coordinates fall between two nodes this will indicate previous node or null. + + + + + Next reference node for given coordinates. If coordinates fall between two nodes this will indicate next node or null. + + + + + Gets or sets the parent node drag node will be added to. When null the drag node is being added as top-level node. + + + + + Gets or sets the insert index of drag node into the parent's node Nodes collection. + + + + + Initializes a new instance of the NodeDragInfo class. + + + + + Initializes a new instance of the NodeDragInfo class. + + + + + + + Provides data for AdvTree Cell events that can be canceled. + + + + + Provides data for AdvTree Cell events. + + + + + Default constructor for event data. + + Type of the action event is raised for. + Cell that event is raised for. + + + + Indicates the type of the action performed on a cell. + + + + + Indicates the cell that action is performed on. + + + + + Default constructor for event data. + + Type of the action event is raised for. + Cell that event is raised for. + + + + Indicates that event action should be canceled. + + + + + Provides data for AdvTree.BeforeCheck event. + + + + + Initializes a new instance of the AdvTreeCellBeforeCheckEventArgs class. + + + + + + Represents event arguments for BeforeNodeDrop and AfterNodeDrop events + + + + + Provides data for AdvTree Node events that can be cancelled. + + + + + Provides data for AdvTree Node events that can be cancelled. + + + + + Provides data for AdvTree Node events. + + + + + Default constructor. + + Default action + Default node. + + + + Indicates the type of the action performed on a node. + + + + + Indicates the node that action is performed on. + + + + + Default constructor. + + Default action + Default node. + + + + Indicates that event action should be canceled. + + + + + Default constructor. + + Default action + Default node. + + + + Indicates the array of nodes that action is performed on. + + + + + Returns reference to the old parent node. + + + + + Reference to the new parent node if event is not cancelled. + + + + + Gets or sets whether drag node is being copied instead of moved. + + + + + Gets or sets the new insert position inside of NewParentNode.Nodes collection for the node being dragged. If InsertPosition is -1 + the ParentNode refers to the current mouse over node and drag & drop node will be added as child node to it. + + + + + Defines the data for NodeDragFeedback event. + + + + + Gets or sets whether this drop location is accepted. Default value is true. You can set this to false to disable drop at this location. + + + + + Gets or sets the parent node for the node that is being dragged. This can be null/nothing value to indicate a root top-level node that + is in AdvTree.Nodes collection. + + + + + Gets or sets the new insert position inside of ParentNode.Nodes collection for the node being dragged. If InsertPosition is -1 + the ParentNode refers to the current mouse over node and drag & drop node will be added as child node to it. + + + + + Initializes a new instance of the TreeDragFeedbackEventArgs class. + + + + + + + Initializes a new instance of the TreeDragFeedbackEventArgs class. + + + + + + + Initializes a new instance of the TreeDragFeedbackEventArgs class. + + + + + Gets reference to the node being dragged. + + + + + Gets or sets the drop effect for the drag-drop operation. + + + + + Initializes a new instance of the TreeDragFeedbackEventArgs class. + + + + + + + Initializes a new instance of the TreeDragFeedbackEventArgs class. + + + + + + + Gets reference to the node being dragged. + + + + + Represents event arguments for NodeCollection based events, like BeforeNodeInsert, AfterNodeInsert etc. + + + + + Creates new instance of the class. + + Source action + Affected node + Parent of the node if any + + + + Indicates parent node of the affected node. For example if event handled is BeforeNodeInsert parent of the Node is has + not been set yet so this property provides information on the node that will become parent. If this property returns null + then node is being added or removed from the main AdvTree.Nodes collection. + + + + + Represents event arguments for node mouse based events. + + + + + Gets node affected by mouse action. + + + + + Gets which mouse button was pressed. + + + + + Gets the number of times the mouse button was pressed and released. + + + + + Gets a signed count of the number of detents the mouse wheel has rotated. A detent is one notch of the mouse wheel. + + + + + Gets the x-coordinate of the mouse. + + + + + Gets the y-coordinate of the mouse. + + + + + Provides means for AdvTree serialization. + + + + + Saves Nodes to specified file. + + AdvTree to save + Target file name + + + + Saves Nodes to stream. + + AdvTree to save + Stream to save nodes to. + + + + Saves Nodes to TextWriter + + AdvTree to save + TextWriter to write nodes to. + + + + Saves nodes to XmlWriter. + + AdvTree to save + XmlWriter to write nodes to + + + + + Saves AdvTree to an existing XmlDocument. New node AdvTree is created in document and Nodes are serialized into it. + + AdvTree to serialize + XmlDocument instance. + + + + Serializes AdvTree object to XmlElement object. + + Instance of AdvTree to serialize. + XmlElement to serialize to. + + + + Serializes Node and all child nodes to XmlElement object. + + Node to serialize. + Provides serialization context. + + + + Load AdvTree Nodes from file. + + Reference to AdvTree to populate + File name. + + + + Load AdvTree Nodes from stream. + + Reference to AdvTree to populate + Reference to stream + + + + Load AdvTree Nodes from reader. + + Reference to AdvTree to populate + Reference to reader. + + + + Load AdvTree Nodes from reader. + + Reference to AdvTree to populate + Reference to reader. + + + + Load AdvTree from XmlDocument that was created by Save method. + + Tree Control to load + XmlDocument to load control from + + + + Load nodes from XmlElement. + + Reference to AdvTree to be populated. + XmlElement that tree was serialized to. + + + + Load single node and it's child nodes if any. + + New instance of node that is populated with loaded data. + Provides deserialization context. + + + + Provides context information for serialization. + + + + + Gets or sets reference to context parent XmlElement when serializing or actual Node element when deserializing. + + + + + Gets or sets whether SerializeNode event handler has been defined and whether event should be fired. + + + + + Gets or sets whether DeserializeNode event handler has been defined and whether event should be fired. + + + + + Provides access to serializer. + + + + + Represents class for static tree utilities. + + + + + Initializes control with default settings for connectors and nodes. + + Control to initialize. + + + + Initializes control with default settings for connectors and nodes. + + Control to initialize. + Factory to use to create new instances of objects. + + + + Creates new style and adds it to styles collection + + Tree to assign style to + Style factory + + + + + + + + Returns reference to a node that is hosting given control. + + Reference to the AdvTree control instance + Control instance to look for + Reference to a node hosting control or null if node could not be found + + + + Represents internal component factory with design-time support. + + + + + Creates new instance of the class. + + Reference to DesignerHost to use for creation of new components. + + + + Creates new instance of the class. + + + + + Creates component and returns reference to the new instance. + + Type that identifies component to create. + New instance of the component. + + + + Represents class that holds padding information for user interface elements. + + + + + Gets or sets padding on left side. Default value is 0 + + + + + Gets or sets padding on right side. Default value is 0 + + + + + Gets or sets padding on top side. Default value is 0 + + + + + Gets or sets padding on bottom side. Default value is 0 + + + + + Creates new instance of the class and initializes it. + + Left padding + Right padding + Top padding + Bottom padding + + + + Gets amount of horizontal padding (Left+Right) + + + + + Gets amount of vertical padding (Top+Bottom) + + + + + Gets whether Padding is empty. + + + + + Analog clock control. + + + + + Resets the property to default value. + + + + + Raises ValueChanging event. + + Provides event arguments. + + + + Raises ValueChanged event. + + Provides event arguments. + + + + Resets the property to default value. + + + + + Initializes a new instance of the ClockControl class + + + + + Releases all resources used by the class. + + + + + Renders the clock's center cap. + + Graphics object used for rendering. + Bounding rectangle. + + + + Renders the clock's glass overlay. + + Graphics object used for rendering. + Bounding rectangle. + + + + Renders the clock's hands. + + Graphics object used for rendering. + Bounding rectangle. + True if this is the rending pass after the cap has been rendered. + + + + Renders the clock's numeric hour indicators. + + Graphics object used for rendering. + Bounding rectangle. + + + + Renders the clock's tick hour/minute indicators. + + Graphics object used for rendering. + Bounding rectangle. + + + + Called when TimeZone property has changed. + + Old property value + New property value + + + + Default minimum size. Defaults to 100, 100. + + + + + Gets or sets whether anti-aliasing is used when rendering the control. Default value is true. + + + + + Gets or sets the state for automatic mode. When true the clock will auto redraw once a second and display the current date/time. Default value is false. + + + + + Gets or sets clock style for this control. + + + + + Gets or sets the clock style data elements for this control. + + + + + Gets or sets a the indicator style the clock control. Default value is Ticks. + + + + + Gets or sets whether the time can be changed by moving the clock hands. Default value is false. + + + + + Gets or sets a value indicating whether to display the glass overlay on the clock control. Default value is true. + + + + + Gets or sets a value indicating whether to display the second hand on the clock control. Default value is true. + + + + + Occurs while user is dragging the mouse in order to change time. + + + + + Occurs when Value i.e. time clock is displaying has changed. + + + + + Gets or sets the current date/time value for this control. + + + + + Gets or sets the time-zone string identifier that is used to display the time when AutomaticMode=true and clock is displaying current time. + + + + + Enumeration containing the available hour/minute indicators. + + + + + Control will use ticks for hour/minute indicators. + + + + + Control will use numbers for hour indicators. + + + + + Enumeration containing the available mouse edit states. + + + + + Control is not currently in an edit state. + + + + + Control is currently in an hour edit state. + + + + + Control is currently in an minute edit state. + + + + + Control is currently in an second edit state. + + + + + Provides event arguments for TimeValueChanging event. + + + + + Gets the current time represented by the control. + + + + + Initializes a new instance of the TimeValueChangingEventArgs class. + + + + + + Defines delegate for TimeValueChanging event. + + Source of event. + Event arguments + + + + Data storage class for clock hand visual style. + + + + + Resets the property to default value. + + + + + Initializes a new instance of the ClockHand class. + + + + + Initializes a new instance of the ClockHand class. + + The hand style for this item. + The length of this clock hand as a percentage value ranging from 0.0 to 1.0, with 1.0 being half the width/height of the bounding rectangle + The width of this clock hand as a percentage value ranging from 0.0 to 1.0, with 1.0 being half the width/height of the bounding rectangle. + + + + Indicates whether the specified point is contained within the bounds of this hand. + + The bounding rectangle of the parent clock control. + The clockwise angle for this clock hand in degrees from the 12 o'clock position. + A Point that represents the point to test. + + + + + Generates a scaled and rotated graphics path based on the given style, rectangle and angle. + + The bounding rectangle of the parent clock control. + The clockwise angle for this clock hand in degrees from the 12 o'clock position. + + + + + Raises the PropertyChanged event. + + Event arguments + + + + Gets or sets a value indicating whether the hand is drawn over the cap. + + + + + Gets or sets the hand color data for this hand. + + + + + Gets or sets the hand style for this clock hand. Default value is Style1. + + + + + Gets or sets the length of this clock hand as a percentage value ranging from 0.0 to 1.0, with 1.0 being half the width/height of the bounding rectangle. Default value is 1.0. + + + + + Gets or sets the width of this clock hand as a percentage value ranging from 0.0 to 1.0, with 1.0 being half the width/height of the bounding rectangle. Default value is 0.1. + + + + + Occurs when property value has changed. + + + + + Enumeration containing the available hand styles. + + + + + Style 1. + + + + + Style 2. + + + + + Style 3. + + + + + Style 4. + + + + + Data storage class for clock visual styles. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Resets the property to default value. + + + + + Initializes a new instance of the ClockStyle class. + + + + + Initializes a new instance of the ClockStyle class. + + Predefined style from the PredefinedStyles enum. + + + + Initializes a new instance of the ClockStyle class. + + Predefined style from the PredefinedStyles enum. + + + + Releases all resources used by the class. + + + + + Loads a predefined style + + The predefined style to load. + + + + Raises the PropertyChanged event. + + Event arguments + + + + Gets or sets the PredefinedStyles value for this style. + + + + + Gets or sets the clock shape value for this style. + + + + + Gets or sets the bezel color data for this style. + + + + + Gets or sets the width of clock bezel as a percentage value ranging from 0.0 to 1.0. + + + + + Gets or sets the face color data for this style. + + + + + Gets or sets the face background image for this style. + + + + + Gets or sets the hour hand style for this style. + + + + + Gets or sets the minute hand style for this style. + + + + + Gets or sets the second hand style for this style. + + + + + Gets or sets the center cap color data for this style. + + + + + Gets or sets the center cap diameter as a percentage value ranging from 0.0 to 1.0. + + + + + Gets or sets the face number color for this style. + + + + + Gets or sets the center cap color data for this style. + + + + + Gets or sets the large tick color data for this style. + + + + + Gets or sets the large tick length as a percentage value ranging from 0.0 to 1.0. + + + + + Gets or sets the large tick width as a percentage value ranging from 0.0 to 1.0. + + + + + Gets or sets the small tick color data for this style. + + + + + Gets or sets the small tick length as a percentage value ranging from 0.0 to 1.0. + + + + + Gets or sets the small tick width as a percentage value ranging from 0.0 to 1.0. + + + + + Gets or sets the overlay glass angle, in degrees for this style. + + + + + Occurs when property value has changed. + + + + + Gets the parent of the style. + + + + + Enumeration containing the predefined clock styles. + + + + + Style 1. Default style, + + + + + Style 2. + + + + + No predefined style. + + + + + Enumeration containing the predefined clock shapes. + + + + + Round clock shape. + + + + + Data storage and utility class for defining gradient colors. + + + + + Creates new instance of the object. + + + + + Creates new instance of the object. + + The first color for this entry. + The second color for this entry. + + + + Creates new instance of the object. + + The first color for this entry. + The second color for this entry. + The border color for this entry. + The border width for this entry. + + + + Creates new instance of the object. + + The first color for this entry. + The second color for this entry. + The border color for this entry. + The border width for this entry. + The gradient angle. + + + + Creates new instance of the object. + + The first color for this entry. + The second color for this entry. + The border color for this entry. + The border width for this entry. + The focus for the SigmaBellShape. + The scale for the SigmaBellShape. + + + + Loads data into the class, called by constructors. + + The first color for this entry. + The second color for this entry. + The border color for this entry. + The border width for this entry. + The focus for the SigmaBellShape. + The scale for the SigmaBellShape. + + + + Creates Pen object using the BorderColor and BorderWidth properties. + + + + + Creates a brush of the type specified by BrushType. + + The graphics path used to construct the brush. + + + + Creates a brush of the type specified by BrushType. + + The graphics path used to construct the brush. + The angle used for the gradients, allowing an override of BrushAngle + + + + Creates a brush of the type specified by BrushType. + + The graphics path used to construct the brush. + The center point of the gradient as a percentage value typically ranging from 0.0 to 1.0. + + + + Creates a brush of the type specified by BrushType. + + The graphics path used to construct the brush. + The center point of the gradient as a percentage value typically ranging from 0.0 to 1.0. + The angle used for the gradients, allowing an override of BrushAngle + + + + Creates SolidBrushObject using Color1. + + + + + Creates a LinearGradientBrush object. + + The graphics path used to construct the brush. + The gradient angle. + + + + Creates a PathGradientBrush object. + + The graphics path used to construct the brush. + The center point of the gradient. + + + + Creates a LinearGradientBrush object. + + The graphics path used to construct the brush. + The gradient angle. + + + + Creates a LinearGradientBrush object. + + The graphics path used to construct the brush. + The gradient angle. + The focus for the SigmaBellShape. + + + + Creates a LinearGradientBrush object. + + The graphics path used to construct the brush. + The gradient angle. + The focus for the SigmaBellShape. + The scale for the SigmaBellShape. + + + + Raises the PropertyChanged event. + + Event arguments + + + + Gets or sets the border color for this item. Default value is white. + + + + + Gets or sets the border width for this item. Default value is 0. + + + + + Gets or sets the brush angle for this item. Only applies to Linear and Reflected brush types. Default value is 0. + + + + + Gets or sets the brush SigmaBellShape focus for this item. Only applies to Reflected brush types. Default value is 0.5. + + + + + Gets or sets the brush SigmaBellShape scale for this item. Only applies to Reflected brush types. Default value is 0.5. + + + + + Gets or sets the brush type for this item. Default value is Solid. + + + + + Gets or sets the first color for this item. Default value is white. + + + + + Gets or sets the second color for this item. Default value is white. + + + + + Occurs when property value has changed. + + + + + Enumeration containing predefined brush types for the ColorData class. + + + + + Solid brush. + + + + + Linear gradient brush. + + + + + Centered path gradient brush. + + + + + Reflected linear gradient brush. + + + + + Math helper class + + + + + Converts radians to degrees. + + Value to be converted in radians. + Converted value in degrees. + + + + Converts degrees to radians. + + Value to be converted in degrees. + Converted value in radians. + + + + Raises AnimationCompleted event. + + Provides event arguments. + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Stops animation if one is currently running. + + + + + Sets the method which is called each time value on target object property is set. This method may execute the visual updates on animation client. + + Method to call + + + + Occurs after animation has completed. + + + + + Gets or sets whether animation is auto-disposed once its completed. Default value is false. + + + + + Gets whether animation run is complete. + + + + + Gets the animation duration in milliseconds. + + + + + Gets the animation easing function. + + + + + Gets or sets the number of fixed steps animation will perform from star to finish instead of using the easing function in time. + Stepped animation executes specified number of steps always with Duration specifying delays between each step. + + + + + Initializes a new instance of the AnimationRequest class. + + Target object for animation. + Target property name for animation. + From value. + To value. + + + + Initializes a new instance of the AnimationRequest class. + + Target object for animation. + Target property name for animation. + From value. + To value. + + + + Target object for animation. + + + + + Animation from value. + + + + + Animation to value. + + + + + Specifies the animation easing function + + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Initializes a new instance of the Animation class. + + Target object for animation + Target property name for animation + + + + Runs all animations from Animations list. + + + + + Returns whether Storyline is disposed. + + + + + Gets the list of animations to run using this storyline. + + + + + Gets or sets number of times storyline is repeated. Default value is 0 which indicates that storyline is run only once meaning not repeated. + + + + + Gets or sets whether storyline is auto-disposed when finished. + + + + + Clean up any resources being used. + + + + + Returns the reference to DockContainerItem tab if any under specified coordinates. + + X - client mouse coordinate + Y - client mouse coordinate + Reference to DockContainerItem whose tab is at specified coordinates or null if there is no tab at given coordinates + + + + Sets bars position on the auto-hide panel. + + Bar for which position should be changed. + New indexed position of the bar. + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets or sets the timeout in milliseconds for auto hide/show action. + When timeout has elapsed and mouse has left the bar the bar will be automatically hidden. + If mouse is hovering over the collapsed bar and timeout has elapsed the bar will be displayed. + + + + + Gets or sets whether bars on auto-hide panel are displayed when mouse hovers over the tab. + + + + + Gets or sets whether bars that have focus are collapsed automatically or not. + + + + + Gets or sets the style of auto-hide panel. + + + + + Gets or sets the ColorScheme object used by this panel. Default value is null which means that ColorScheme is + automatically created as specified by Style property. Note that if your DotNetBarManager has UseGlobalColorScheme set to true + ColorScheme from DotNetBarManager will be used. + + + + + Creates new instance of the class. + + + + + Creates new instance of the class. + + + + + Indicates the Balloon tip position. + + + + + Tip is on the top. + + + + + Tip is on the left side. + + + + + Tip is on the right side. + + + + + Tip is on the bottom. + + + + + Indicates the style of the balloon. + + + + + Indicates type of Alert animation performed when alert is displayed. + + + + + No animation take place when alert is displayed. + + + + + Alert is animated from bottom to top. (Default) + + + + + Alert is animated from top to bottom. + + + + + Alert is animated from left to right. + + + + + Alert is animated from right to left. + + + + + Delegate for custom paint event handler. + + + + + Summary description for Balloon. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Auto resize balloon to the content. Balloon width is calculated so image and caption text can fit in single line. + + + + + Recalculates layout of the balloon. + + + + + Displays balloon using control to automatically calculate balloon location. Method is usually used display balloon that is showing information for the certain control. + + Control used for balloon positioning. + + + + Displays balloon using control to automatically calculate balloon location. Method is usually used display balloon that is showing information for the certain control. + + Control used for balloon positioning. + Indicates whether balloon receives input focus. + + + + Displays balloon using rectangle to automatically calculate balloon location. Method is usually used display balloon that is showing information for the certain screen region. + + Rectangle in screen coordinates used for balloon positioning. + Indicates whether balloon receives input focus. + + + + Displays balloon using item to automatically calculate balloon location. Method is usually used display balloon that is showing information for the certain item. + + Item used for balloon positioning. + Indicates whether balloon receives input focus. + + + + Display balloon. + + Indicates whether balloon receives input focus. + + + + Displays balloon. + + + + + Called when balloon is hidden. + + + + + Hides balloon. + + + + + Occurs when background is redrawn. + + + + + Occurs when caption image is redrawn. + + + + + Occurs when caption text is redrawn. + + + + + Occurs when text is redrawn. + + + + + Occurs when close button is clicked. + + + + + Occurs when TipPosition property has changed. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets or sets the minimum balloon width when auto sizing balloon. Default value is 180. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets the target gradient background color. + + + + + Gets or sets gradient fill angle. + + + + + Specifies the transparency of background image. + + + + + Specifies background image position when container is larger than image. + + + + + Gets or sets the border color.. + + + + + Specifies balloon style. + + + + + Gets or sets whether the Close button is displayed. + + + + + Gets or sets the animation type used to display Alert type balloon. + + + + + Gets or sets the total time in milliseconds alert animation takes. + Default value is 200. + + + + + Gets or sets whether balloon will close automatically when user click the close button. + + + + + Gets or sets time period in seconds after balloon closes automatically. + + + + + Gets or sets the custom image for Close Button. + + + + + Gets or sets the custom image for Close Button when mouse is over the button. + + + + + Gets or sets the custom image for Close Button when button is pressed. + + + + + Gets or sets the Caption image. + + + + + Gets or sets the Caption icon. Icon is used to provide support for alpha-blended images in caption. + + + + + Gets or sets the Caption font. + + + + + Gets or sets text displayed in caption. + + + + + Gets or sets color of caption text. + + + + + Gets or set position of the balloon tip. + + + + + Gets or sets tip distance from the edge of the balloon. + + + + + Returns length of the tip. + + + + + Gets/Sets whether Balloon is visible. + + + + + Represents a balloon style pop-up window that displays a brief description of a control's purpose when the mouse hovers over the control or when controls receives input focus. + + + + + Initializes a new instance of the BalloonTip class. + + + + + Clean up any resources being used. + + + + + Retrieves the Balloon Caption text associated with the specified control. + + + + + Associates Balloon Caption text with the specified control. + + The Control to associate the Balloon Caption text with. + The Balloon Caption text to display on the Balloon. + + + + Retrieves the Balloon text associated with the specified control. + + + + + Associates Balloon text with the specified control. + + The Control to associate the Balloon text with. + The Balloon text to display on the Balloon. + + + + Removes all Balloon texts currently associated with the BalloonTip control. + + + + + Removes specific Balloon texts currently associated with the BalloonTip control. + + Control that has Balloon texts associated. + + + + Shows Balloon for specific control. Control must have Balloon already assigned to it. + + Control that has Balloon already assigned. + + + + Closes Balloon control if visible. + + + + + Occurs before balloon is displayed. + + + + + Occurs before balloon is closed and allows to cancel the action. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets or sets a value indicating whether the BalloonTip is currently active. + true if the BalloonTip is currently active; otherwise, false. The default is true. + + + + + Returns reference to the control that triggered balloon. + + + + + Gets or sets the minimum balloon width when auto sizing balloon. Default value is 180. + + + + + Gets or sets a value indicating whether Balloon receives input focus when displayed. + Default value is false. + + + + + Gets or sets the time (in milliseconds) that passes before the BalloonTip appears. + + + + + Gets or sets a value indicating whether a Balloon window is displayed even when its parent form is not active. Default value is false. + + + + + Gets or sets the internal Balloon control that is used to display Balloon. + This property will have valid value only during time Balloon is actually + displayed on the screen. Value will also be valid during BalloonDisplaying event. + You can use this property to further customize Balloon control before it is + displayed to the user. You can also set it to your own instance of the Balloon + control (or the control that is inheriting it) for ultimate customization options. + Note that new instance of Balloon control is created each time Balloon needs to be displayed. + Once Balloon is closed control is disposed. + + + + + Specifies balloon style. + + + + + Gets or sets the animation type used to display Alert type balloon. + + + + + Gets or sets the total time in milliseconds alert animation takes. + Default value is 200. + + + + + Gets or sets whether balloon will close automatically when user click the close button. + + + + + Gets or sets time period in seconds after balloon closes automatically. + + + + + Gets or sets whether Balloon is shown after control receives input focus. Default value is false. When set to true Balloon will not be displayed on mouse hover. + + + + + Gets or sets whether the Balloon Close button is displayed. + + + + + Gets or sets default balloon width. Usually the width of the balloon is calculated based on the width of the caption text. If caption text is not set then this value will be used as default width of the balloon. + + + + + Gets or sets the Balloon Caption image. + + + + + Gets or sets the Balloon Caption icon. Icon is used to provide support for alpha-blended images in caption. + + + + + Represents bar control. + + + + + Interface used for docking support. + + + + + Returns Minimum docked size of the control. + + + + + Returns Preferrred size of the docked control. + + + + + Sets the dock line for the control. Used internaly by dock manager. + + New Dock line. + + + + Indicated whether control can be docked on top dock site. + + + + + Indicated whether control can be docked on bottom dock site. + + + + + Indicated whether control can be docked on left dock site. + + + + + Indicated whether control can be docked on right dock site. + + + + + Indicates whether control can be docked as document i.e. middle (fill) dock site. + + + + + Indicates whether control can be docked as tab to another bar. + + + + + Indicated whether control can be stretched to fill dock site. + + + + + Holds the left position (dock offset) of the control. + + + + + Specifies the dock line for the control. + + + + + Specifies current dock orientation. + + + + + Gets whether control is docked. + + + + + Returns the dock site of the control. + + + + + Gets or sets the control dock side. + + + + + Gets or sets whether bar is locked to prevent docking below it. + + + + + Interface implemented by target Bar interested in access to designer. + + + + + Gets or sets the BarBaseControlDesigner instance. + + + + + Desribes interface that provides custom serialization support for items. + + + + + Invokes SerializeItem event. + + Provides data for the event. + + + + Invokes DeserializeItem event. + + Provides data for the event. + + + + Occurs after an item has been serialized to XmlElement and provides you with opportunity to add any custom data + to serialized XML. This allows you to serialize any data with the item and load it back up in DeserializeItem event. + + + To serialize custom data to XML definition control creates handle this event and use CustomXmlElement + property on SerializeItemEventArgs to add new nodes or set attributes with custom data you want saved. + + + + + Occurs after an item has been de-serialized (load) from XmlElement and provides you with opportunity to load any custom data + you have serialized during SerializeItem event. + + + To de-serialize custom data from XML definition handle this event and use CustomXmlElement + property on SerializeItemEventArgs to retrive any data you saved in SerializeItem event. + + + + + Gets whether any handlers have been defined for SerializeItem event. If no handles have been defined to optimize performance SerializeItem event will not be attempted to fire. + + + + + Gets whether any handlers have been defined for DeserializeItem event. If no handles have been defined to optimize performance DeserializeItem event will not be attempted to fire. + + + + + Raises BarStateChanged event. + + Provides event arguments. + + + + Initializes a new instance of the Bar class. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Initializes a new instance of the Control class. + + Bar Caption + + + + Releases the focus from the bar and selects the control that had focus before bar was selected. If control that had focus could not be determined focus will stay on the bar. + This method is used by internal DotNetBar implementation and you should not use it. + + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Raises the PreRender event. + + Provides the event arguments + + + + Raises the PostRender event. + + Provides the event arguments + + + + Drawns bar grab handle if one specified. + + Context information. + + + + Paints bar side bar. + + Reference to graphics object. + + + + Recalculates the layout of the Bar, resizes the Bar if necessary and repaints it. + + + + + Recalculates the layout of the Bar and repaints it. This will not change the size of the Bar it will only force the recalculation of the size for each contained item and it will repaint the bar. To ensure that Bar is resized if necessary as well call RecalcLayout method. + + + + + Raises ItemLayoutUpdated event. + + Provides event arguments. + + + + Method is called by DotNetBarManager when bar is being moved and Escape key is pressed. + + + + + Called when IsMaximized property has changed. + + Old property value + New property value + + + + Closes the DockContainerItem with event source set to Code. + + DockContainerItem to close. + + + + Closes the DockContainerItem. + + DockContainerItem to close. + Source of the event. + + + + Raises the ItemClick event. + + Item that was clicked. + Event arguments. + + + + Suspends normal layout logic. + + + + + Resumes normal layout logic. + + + + + Resumes normal layout logic. Optionally forces an immediate layout of pending layout requests. + + + + + Invokes SerializeItem event. + + Provides data for the event. + + + + Invokes DeserializeItem event. + + Provides data for the event. + + + + Saves the Bar definition to file. + + Definition file name. + + + + Loads the Bar definition from file. + + Definition file name. + + + + Saves the Bar layout to file. + + Definition file name. + + + + Loads the Bar definition from file. + + Definition file name. + + + + Sets the client size of the bar excluding caption. This method is useful when setting the size of the bars with layout type DockContainer. + + Width of bar in pixels. + Height of bar in pixels. + + + + Sets the client size of the bar excluding caption. This method is useful when setting the size of the bars with layout type DockContainer. + + New bar size + + + + Returns true if Font property should be serialized by Windows Forms designer. + + + + + Designer method to reset the property to its default value. + + + + + Resets the ColorScheme property to its default value. + + + + + Called when CanMaximizeFloating property has changed. + + Old property value + New property value + + + + Makes the Bar display by setting the visible property to true. + + + + + Hides the Bar. + + + + + Returns whether Size property should be serialized. + + + + + Returns the first child item with specified name regardless of it's hierarchy. + + Item name. + + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. This member is not implemented and should not be used. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns AutoHidePanel that bar is on if in auto-hide state otherwise returns null. + + AutoHidePanel object or null if bar is not in auto-hide state. + + + + Raises BeforeAutoHideDisplayed event. + + + + + + Raises BeforeAutoHideHidden event. + + + + + + Destroys tooltip window. + + + + + Shows tooltip for this item. + + + + + Re-docks the floating bar to its previous docking position. + + + + + Invokes CaptionButtonClick event. + + + + + Displays or hides the automatic caption button popup menu. + + + + + Called when DockTabStripHeight property has changed. + + Old property value + New property value + + + + Returns the Minimum Size for specified orientation. + + Orientation to return minimum size for. + + + + + Returns the preferred size of the Bar when docked. + + Orientation to return preferred size for. + + + + + Sets the dock line but it does not forces the Bar to change position. The position will be changed on next layout request or when dock site needs to recalculate the layout of the bat. Used internally only. + + + + + ISupportInitialize.BeginInit implementation. + + + + + ISupportInitialize.EndInit implementation. + + + + + Returns Minimum docked size of the control. + + + + + Returns Preferrred size of the docked control. + + + + + Sets the dock line for the control. Used internaly by dock manager. + + New Dock line. + + + + Occurs after bar state has changed, like selected dock tab has changed, bar has closed, bar has been docked or undocked etc. + + + + + Occurs when Item is clicked. + + + + + Occurs after Bar is docked. + + + + + Occurs after Bar is undocked. + + + + + Occurs after Bar definition is loaded. + + + + + Occurs when current Dock tab has changed. + + + + + Occurs when bar visibility has changed as a result of user action. + + + + + Occurs when bar auto hide state has changed. + + + + + Occurs when Bar is about to be closed as a result of user clicking the Close button on the bar. + + + + + Occurs when Bar in auto-hide state is about to be displayed. + + + + + Occurs when popup item is closing. Event is fired only when Bar is used independently of DotNetBarManager. + + + + + Occurs when popup of type container is loading. Event is fired only when Bar is used independently of DotNetBarManager. + + + + + Occurs when popup of type container is unloading. Event is fired only when Bar is used independently of DotNetBarManager. + + + + + Occurs when popup item is about to open. Event is fired only when Bar is used independently of DotNetBarManager. + + + + + Occurs just before popup window is shown. Event is fired only when Bar is used independently of DotNetBarManager. + + + + + Occurs before dock tab is displayed. + + + + + Occurs when caption button is clicked. Caption button is button displayed on bars with grab handle style task pane. + + + + + Occurs on dockable bars when end-user attempts to close the individual DockContainerItem objects using system buttons on dock tab. + Event can be canceled by setting the Cancel property of event arguments to true. This even will occur only after user presses the + X button on tab that is displaying the dockable windows/documents. + + + + + Occurs on dockable bars after DockContainerItem is closed by end-user. This action cannot be cancelled. + + + + + Occurs after an item has been serialized to XmlElement and provides you with opportunity to add any custom data + to serialized XML. This allows you to serialize any data with the item and load it back up in DeserializeItem event. + + + To serialize custom data to XML definition control creates handle this event and use CustomXmlElement + property on SerializeItemEventArgs to add new nodes or set attributes with custom data you want saved. + + + + + Occurs after an item has been de-serialized (load) from XmlElement and provides you with opportunity to load any custom data + you have serialized during SerializeItem event. + + + To de-serialize custom data from XML definition handle this event and use CustomXmlElement + property on SerializeItemEventArgs to retrive any data you saved in SerializeItem event. + + + + + Occurs after the TabStrip style which used on dockable windows has changed. This event gives you opportunity to + change the style of the tab strip by accessing Bar.DockTabControl.Style property. + + + + + Occurs before the bar control is rendered. This event is fired once for each part of the bar control being rendered. Check the Part property of the event arguments to identify the part being rendered. + You can cancel internal rendering by setting Cancel property. + + + + + Occurs after the bar control is rendered and allows you to render on top of the default rendering provided by the control. + + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Gets/Sets the owner of the Bar object. + + + + + Gets or sets the item default accessibility action will be performed on. + + + + + Returns the reference to the control that last had input focus. This property should be used to + determine which control had input focus before bar gained the focus. Use it to apply + the menu command to active control. + + + + + Indicates the array of colors that when set are used to draw the border of the item. + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Gets whether caption of floating bar will be drawn using themes. + + + + + Gets/Sets the parent item of the Bar. The parents item sub-items are displayed on the bar. + + + + + Occurs after internal item layout has been updated and items have valid bounds assigned. + + + + + Gets or sets docked bar caption height. Default value is 0 which means system predefined height is used. + + + + + Gets or sets whether bar when changed over to floating state is hidden instead of shown. This property is used + internally to optimize loading of hidden floating bars. You should not use this property in your code. It is for internal DotNetBar + infrastructure use only. + + + + + Returns true if bar is being moved/dragged by user. + + + + + Gets or sets whether floating dockable window is maximized. + + + + + Specifies the bar behavior when its title is double-clicked + + + + + Returns whether popup bar should display shadow. + + + + + Returns whether popup bar shadow should be alpha-blended. + + + + + Gets/Sets the popup animation that will be applied when popup is shown. + + + + + Gets whether any handlers have been defined for SerializeItem event. If no handles have been defined to optimize performance SerializeItem event will not be attempted to fire. + + + + + Gets whether any handlers have been defined for DeserializeItem event. If no handles have been defined to optimize performance DeserializeItem event will not be attempted to fire. + + + + + Gets/Sets Bar definition as XML string. + + + + + Gets or sets whether layout changes are saved for this bar when DotNetBarManager.SaveLayout method is used to save layout for all bars. Default value is true which means that layout changes are saved. + + + + + Gets/Sets Bar layout as XML string. + + + + + Specifies background image position when container is larger than image. + + + + + Specifies the transparency of background image. + + + + + Sets/Gets the side bar image structure. + + + + + Gets/Sets the caption of the Bar. This text is displayed in title of the Bar when Bar is floating. + + + + + Specifies whether Bar is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Returns current Bar state. + + + + + Returns the collection of sub-items hosted on the Bar. + + + + + Returns the reference to the container that containing the sub-items. + + + + + Gets/Sets whether the items that could not be displayed on the non-wrap Bar are displayed on popup menu or popup Bar. + + + + + Gets/Sets the spacing in pixels between the sub-items. + + + + + Gets/Sets the padding in pixels. This represents the spacing between the top edge of the bar and the top of the item. + + + + + Gets/Sets the padding in pixels. This represents the spacing between the bottom edge of the bar and the bottom of the item. + + + + + Gets/Sets the padding in pixels. This represents the spacing between the left edge of the bar and the left side of the first item. + + + + + Gets/Sets the padding in pixels. This represents the spacing between the right edge of the bar and the right side of the last item. + + + + + Sets/Gets whether bar is menu bar. Menu bar will show system icons + for Maximized forms in MDI Applications. Only one bar can be a Menu bar in an application. + + + + + Gets or sets the visual type of the bar. The type specified here is used to determine the appearance of the bar. + + + + + Gets or sets Bar Color Scheme. + + + + + Gets or sets Caption (Title bar) background color. + + + + + Gets or sets Caption (Title bar) text color. + + + + + Gets or sets whether toolbars with appropriate style appear with rounded corners. Default value is true. + + + + + Gets/Sets the visual style of the Bar. + + + + + Gets/Sets whether the items will be wrapped into next line when Bar is full. Applies to both docked and floating Bar states. + + + + + Gets/Sets whether the items will be wrapped into next line when Bar is full. Applies only to Bars that are docked. + + + + + Gets/Sets whether the items will be wrapped into next line when Bar is full. Applies only to Bars that are floating. + + + + + Gets/Sets the grab handle style of the docked Bars. + + + + + Gets the grab handle client rectangle. + + + + + Returns CanClose based on the selected dock-container item. + + + + + Gets/Sets whether the Bar can be hidden by end-user. Applies to Document docked bars only. + + + + + Indicates whether Maximize button is visible on floating dock windows. + + + + + Gets/Sets border style when Bar is docked. + + + + + Gets/Sets whether floating bar is hidden when application loses focus. + + + + + Gets/Sets whether tab navigation buttons are shown for tabbed dockable bars. + + + + + Gets or sets the border line color when docked border is a single line. + + + + + Gets/Sets whether Bar is visible or not. + + + + + Returns number of items that have Visible property set to true. + + + + + Gets or sets whether bar is valid drop target for end-user bar customization. Default value is true. + When bar is used as dock container then you can use this property to prevent docking of other bars as dock tabs. + + + + + Gets or sets whether items on the Bar can be customized. + + + + + Specifies whether Bar was created by user using Customize dialog. + + + + + Gets/Sets the Bar name used to identify Bar from code. + + + + + Gets/Sets the Image size for all sub-items on the Bar. + + + + + Gets or sets the layout type. + + + + + Gets or sets whether all buttons are automatically resized to the largest button in collection. + + + + + Gets or sets rounded corner size for styles that use rounded corners. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets or sets whether mouse over fade effect is enabled for buttons. Default value is false. Note that Fade effect + will work only when Office2007 style is used. For other styles this property has no effect and fade animation is not used regardless + this property setting. + + + + + Gets whether fade effect should be in use. + + + + + Gets or sets the Bar back color. + + + + + Gets or sets the Bar customize menu (Applies to the bars with LayoutType set to DockWindow only). + + + + + Indicates the auto-hide side of the parent form where bar is positioned. + + + + + Gets or sets whether tab text is always visible while bar is in auto-hide state. Default value is false which indicates that only text for the active dock tab is visible. + + + + + Indicates whether Bar is in auto-hide state. Applies to non-document dockable bars only. + + + + + Gets or sets the visibility of the bar when bar is in auto-hide state. + + + + + Indicates whether Bar can be auto hidden. + + + + + Gets or sets the global parent control used as part of Global Items feature when bar is used as context menu bar. This property is used internally by + DotNetBar and should not be set directly. + + + + + Gets or sets how long it takes to play the auto-hide animation, in milliseconds. Maximum value is 2000, 0 disables animation. + + + + + Occurs before the bar in auto-hide state is displayed on popup and allows you to cancel display by setting Cancel=true on event arguments. + + + + + Occurs before the bar in auto-hide state is hidden and allows you to cancel display by setting Cancel=true on event arguments. + + + + + Gets whether tooltip is visible or not. + + + + + Indicates whether dock tabs are visible when bar is acting as dock-container and it needs to display tabs to represents multiple DockContainerItem objects hosted by the bar. Default value is true. + + + + + Gets or sets height of the docked bar tab strip which displays docked tabs. + + + + + Returns the reference to internal TabStrip control used to display contained DockContainerItems. + + + + + Gets or sets the selected DockContainerItem if bar represents dockable window. + + + + + Gets or sets the tab (DockContainerItem) index for Bars with LayoutType set to eLayoutType.DockContainer. Index corresponds to the index of the DockContainerItem in Bar.Items collection. + + + + + Indicates Bar background image. + + + + + Gets or sets whether caption button menu for bars with grab handle task pane is automatically created. + Caption menu when automatically created will display the list of all items from Items collection + and it will maintain only one item from the list as visible item. + To create custom caption menu that is displayed when user clicks the caption button handle CaptionButtonClick event. + + + + + Gets or sets whether caption (text) of the bars with dock container layout is automatically set to the + selected dock container item text. + + + + + Specifies whether Bar can be undocked. Does not apply to stand alone bars. + + + + + Specifes whether end-user can tear-off (deattach) the tabs on dockable window. + + + + + Specifes whether end-user can reorder the tabs on dockable window. + + + + + Gets or sets whether bar or DockContainerItem that is torn-off this bar can be docked + as tab to another bar. Default value is true which indicates that bar can be docked as tab to another bar. + + + + + Gets or sets whether dock bar can be moved by dragging its caption using the mouse. + + + + + Specifies whether Bar can be docked on Top dock site or not. Does not apply to stand alone bars. + + + + + Specifies whether Bar can be docked on Bottom dock site or not. Does not apply to stand alone bars. + + + + + Specifes whether Bar can be docked on Left dock site or not. Does not apply to stand alone bars. + + + + + Specifes whether Bar can be docked on Right dock site or not. Does not apply to stand alone bars. + + + + + Specifies whether Bar can be docked as document. Default value is false. See DotNetBarManager.EnableDocumentDocking for more details. + + + + + Specifies whether Bar will stretch to always fill the space in dock site. Applies to the dockable bars only. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + Gets/Sets the distance from the far left/top side of the docking site or suggests the order of the docked bar. Upon serialization this property + will contain actual left/top position of the bar. You can use it to re-order the bars docked on the same line. Property value is relative to the other + bars docked on the same line when it is used to change the order. For example setting DockOffset value to 10 will place the bar just after the last bar on the + same line that has DockOffset value less than 10. If there is no bar with DockOffset value less than 10 the bar will be placed in first position. + + + + + Gets/Sets the dock line. + + + + + Gets or sets the dock tab alignment. + + + + + Gets or sets whether selected dock tab is closed when Bar caption close button is pressed. Default value is false which indicates that whole bar will be hidden when bars close button is pressed. + + + + + Gets or sets whether close button is displayed on each dock tab that allows closing of the tab. Default value is false. + + + + + Gets or sets whether tab that shows all dock containers on the bar is visible all the time. By default + tab is hidden when there is only one item displayed. + + + + + Gets or sets whether bar is locked to prevent docking below it. Applies to undockable bars only. + + + + + Gets/Sets the orientation of the Bar. + + + + + Returns whether Bar is docked or not. + + + + + Returns the Bars dock site. + + + + + Gets/Sets the dock side for the Bar. + + + + + Gets or sets the inital floating location. This location will be used when DockSide is set to None. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Gets or sets whether control is selected in designer. + + + + + Gets or sets whether accelerator letters for menu or toolbar commands are underlined regardless of + current Windows settings. Accelerator keys allow easy access to menu commands by using + Alt + choosen key (letter). Default value is false which indicates that system setting is used + to determine whether accelerator letters are underlined. Setting this property to true + will always display accelerator letter underlined. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Gets or sets whether hooks are used for internal DotNetBar system functionality. Using hooks is recommended only if DotNetBar is used in hybrid environments like Visual Studio designers or IE. + + + + + Indicates whether mnemonic keys, accelerator keys, which are set through item Text property used ampersand character are processed by control. + + + + + Specifes whether Bar can be docked on Top dock site or not. Does not apply to stand alone bars. + + + + + Specifes whether Bar can be docked on Bottom dock site or not. Does not apply to stand alone bars. + + + + + Specifes whether Bar can be docked on Left dock site or not. Does not apply to stand alone bars. + + + + + Specifes whether Bar can be docked on Right dock site or not. Does not apply to stand alone bars. + + + + + Specifes whether Bar can be docked as document. Default value is false. See DotNetBarManager.EnableDocumentDocking for more details. + + + + + Indicated whether control can be stretched to fill dock site. + + + + + Holds the left position (dock offset) of the control. + + + + + Specifies the dock line for the control. + + + + + Specifies current dock orientation. + + + + + Gets whether control is docked. + + + + + Returns the dock site of the control. + + + + + Gets or sets the control dock side. + + + + + Gets or sets whether bar is locked to prevent docking below it. + + + + + Defines delegate for the PreRender and PostRender Bar control events. + + + + + Represents event arguments for PreRender and PostRender Bar control event. + + + + + Gets the reference to the Bar being rendered. + + + + + Gets or sets the rectangle of the part being rendered. Certain parts of bar like the title buttons allow you to set this property to the custom size of your button. + Default value is the system size of the part being rendered. + + + + + Gets the Bar part being rendered. + + + + + When used in PreRender event allows you to cancel the default rendering by setting this property to true. + + + + + Gets the reference to the Graphics object to render the tab on. + + + + + Creates new instance of the class and initializes it with default values. + + + + + Defines the part of the Bar control for custom rendering. + + + + + Indicates the Bar background and border. + + + + + Indicates the Bar caption. + + + + + Indicates the Bar close button displayed inside of caption. + + + + + Indicates the Bar customize button displayed inside of caption. + + + + + Indicates the Bar caption text. + + + + + Indicates the Bar grab handle. + + + + + Indicates the Bar resize handle. + + + + + Indicates the Bar auto-hide button displayed inside of caption. + + + + + Indicates the Bar caption task pane. + + + + + Indicates the Bar maximize button displayed inside of caption. + + + + + Indicates the complete bar area. This part is used for the PostRender event. + + + + + Defines delegate for BarStateChanged event. + + + + + + + Provides event arguments for ActiveDockContainerChanged event. + + + + + Gets the Bar that is changed. + + + + + Gets the type of the change that affected the bar. + + + + + Provides any optional context information about the state change. + + + + + Initializes a new instance of the BarStateChangedEventArgs class. + + + + + + + Initializes a new instance of the BarStateChangedEventArgs class. + + + + + + + + Defines bar state changes for BarStateChanged event. + + + + + Indicates that Bar selected dock tab is about to change. + + + + + Indicates that Bar selected dock tab has changed. + + + + + Indicates that bar docking has changed and bar was docked. + + + + + Indicates that bar has been undocked from dock site. + + + + + Indicates that bar dock tab has closed. + + + + + Indicates that bar in auto-hide state has been folded, i.e. returned to collapsed state. + + + + + Indicates that bar in auto-hide state has been open, shown. + + + + + Indicates that bar AutoHide property has changed meaning that bar has been either placed in auto-hide mode or taken out of auto-hide mode. + + + + + Indicates that tab has been moved within a bar tab-strip by end user. + + + + + Specifies the behavior of bar when its title is double clicked. + + + + + Double clicking bar title does not do anything. + + + + + Double clicking bar title when bar is docked will float the bar if CanUndock=true + + + + + Double clicking floating bar title will re-dock it if any of CanDock*** properties is true. + + + + + Double clicking will toggle bar state between float and dock state if all CanDock*** and CanUndock properties allow it. + + + + + Represents base control for bars. + + + + + Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control. + + The AccessibleEvents object to notify the accessibility client applications of. + The child Control to notify of the accessible event. + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Invokes the DotNetBar Customize dialog. + + + + + Invokes ItemDoubleClick event. + + Reference to item double-clicked + Event arguments + + + + Clean up any resources being used. + + + + + Applies design-time defaults to control. + + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Called after control has painted its content and allows painting on top of the controls content. + + Paint arguments. + + + + Raises ItemLayoutUpdated event. + + Provides event arguments. + + + + Applies any layout changes and repaint the control. + + + + + Occurs when Checked property of an button has changed. + + + + + Occurs when Item is clicked. + + + + + Occurs when Item is clicked. + + + + + Occurs when popup of type container is loading. + + + + + Occurs when popup of type container is unloading. + + + + + Occurs when popup item is about to open. + + + + + Occurs when popup item is closing. + + + + + Occurs just before popup window is shown. + + + + + Occurs when Item Expanded property has changed. + + + + + Occurs when mouse button is pressed. + + + + + Occurs when mouse button is released. + + + + + Occurs when mouse enters the item. + + + + + Occurs when mouse leaves the item. + + + + + Occurs when mouse moves over the item. + + + + + Occurs when mouse remains still inside an item for an amount of time. + + + + + Occurs when item loses input focus. + + + + + Occurs when item receives input focus. + + + + + Occurs when user changes the item position, removes the item, adds new item or creates new bar. + + + + + Occurs after an Item is removed from SubItemsCollection. + + + + + Occurs after an Item has been added to the SubItemsCollection. + + + + + Occurs when ControlContainerControl is created and contained control is needed. + + + + + Occurs when Text property of an Item has changed. + + + + + Use this event if you want to serialize the hosted control state directly into the DotNetBar definition file. + + + + + Use this event if you want to deserialize the hosted control state directly from the DotNetBar definition file. + + + + + Occurs after DotNetBar definition is loaded. + + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Occurs before an item in option group is checked and provides opportunity to cancel that. + + + + + Occurs before tooltip for an item is shown. Sender could be the BaseItem or derived class for which tooltip is being displayed or it could be a ToolTip object itself it tooltip is not displayed for any item in particular. + + + + + Occurs after main application form is activated. + + + + + Occurs after main application form is deacticated. + + + + + Occurs on application wide mouse down event. + + + + + Gets or sets the form SideBar is attached to. + + + + + Indicates whether Reset buttons is shown that allows end-user to reset the toolbar state. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Indicates whether item shortcut is displayed in Tooltips. + + + + + Gets or sets the item default accessibility action will be performed on. + + + + + Specifies the background style of the Explorer Bar. + + + + + Indicates whether shortucts handled by items are dispatched to the next handler or control. + + + + + Gets or sets Bar Color Scheme. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + Specifies whether SideBar is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Occurs after internal item layout has been updated and items have valid bounds assigned. + + + + + Represents the method that will handle the ItemRemoved event. + + + + + Represents class for Accessibility support. + + + + + Creates new instance of the object and initializes it with owner control. + + Reference to owner control. + + + + Returns number of child objects. + + Total number of child objects. + + + + Returns reference to child object given the index. + + 0 based index of child object. + Reference to child object. + + + + Gets accessible role. + + + + + Gets parent accessibility object. + + + + + Returns bounds of the control. + + + + + Returns current accessible state. + + + + + Summary description for BarFunctions. + + + + + Tries to invoke the RecalcLayout method on the control and return true if such method was invoked. + + Reference to the control + Indicates whether to invalidate control if no recalc layout method is found + return true if method is invoked. + + + + Creates copy of a bar to be used as new dock bar. This function is used to create new bar for tabs that are torn off the existing dock bars. + + Original base bar to base the new bar on. + New instance of a bar. Note that bar is not added to the DotNetBarManager.Bars collection and DockSide is not set. + + + + Returns if passed control is ready for painting. + + Control to test. + true if handle is valid otherwise false + + + + XML element is expected to be something like Image data Base64 encoded + + Image data + + + + + Collection of Bar objects. + + + + + Releases the resources used by the Component. + + + + + Adds an Bar to the end of Bars collection. + + The Bar to be added to the end of the Bars collection. + + + + Removes specified bar from collection. + + Bar to remove + + + + Determines whether an Bar is in the collection. + + The Bar to locate in the collection. + true if item is found in the collection; otherwise, false. + + + + Determines whether bar with given name is in collection. + + Name of the bar + True if bar is part of this collection, otherwise false. + + + + Returns the zero-based index of the Bar in the collection. + + Bar to locate. + + + + + Gets the Bar at the specified index. + + + + + Gets the Bar with the specified name. + + + + + Holds the XML element and attribute names for bar serialization. + + + + + Represents class with static functions that provide commonly used utility functions when working with + Bar objects and items hosted by Bar object. + + + + + Sets Bar visible property and remembers the auto-hide state. + + Bar to set visibility for. + true if visible otherwise false + + + + Sets the visible property of DockContainerItem and hides the bar if the given item is the last visible item on the bar. + It will also automatically display the bar if bar is not visible. + + DockContainerItem to set visibility for. + Indicates the visibility of the item + + + + Creates new instance of the bar and sets its properties so bar can be used as Document bar. + + Returns new instance of the bar. + + + + Sets the properties on a bar so it can be used as Document bar. + + Bar to set properties of. + + + + Changes the MDI Client border edge to remove 3D border or to add it. + + Reference to MDI Client object. + Indicates whether to remove border. + + + + Changes the MDI Client border edge to remove 3D border or to add it. + + Reference to MDI parent form. + Indicates whether to remove border. + + + + Disposes image reference and sets it to null. + + Reference to image to dispose. + + + + Disposes image reference and sets it to null. + + Reference to image to dispose. + + + + Invokes the method asynchronously using the WinForms Timer. + + Method to invoke. + + + + Invokes the method asynchronously using the WinForms Timer. + + Method to invoke. + Time in milliseconds after which method is invoked. + + + + Gets or sets whether Fade Animation is enabled on system level for DotNetBar items which use this. Default value is true. + + + + + Gets or sets whether StringFormat internally used by all DotNetBar controls to render text is GenericDefault. Default value is false + which indicates that GenericTypographic is used. + + + + + Gets or sets the anti-alias text rendering hint that will be used to render text on controls that have AntiAlias property set to true. + + + + + Gets or sets whether .NET Framework TextRenderer class is used for text rendering instead of Graphics.DrawString. + Default value is false. + Using TextRenderer will disable the Fade and Animation effects on controls because of issues in TextRenderer when drawing text on transparent + surfaces. + + + + + Gets or sets whether items always generate the Focus accessibility event when mouse enters the item. Default value is false which indicates + that focus event will be raised only when item is on menu bar. + + + + + Gets or sets whether Application Message Filter that is registered by popup controls + is automatically unregistered when last control is disposed. Default value is false and + in most cases should not be changed. + + + + + Get or sets the text-markup padding for text measurement when running on Japanese version of Windows. + + + + + Gets or sets whether Image and Icon resources assigned to items and controls are automatically disposed when + control or item is disposed. Default value is false. + + + + + Defines the base class for items that are used by DotNetBar. + + + + + Represents a content block interface. + + + + + Gets or sets the bounds of the content block. + + + + + Gets or sets whether content block is visible. + + + + + Gets or sets the block margins. + + + + + Creates new instance of BaseItem. + + + + + Creates new instance of BaseItem and assigns item name. + + Item name. + + + + Creates new instance of BaseItem and assigns item name and item text. + + Item Name + Item Text + + + + Serializes the item and all sub-items into the XmlElement. + + XmlElement to serialize the item to. + + + + Deserialize the Item from the XmlElement. + + Source XmlElement. + + + + Indicates whether SubItems collection is serialized. Default value is true. + + + + + Called on each item when ScaleControl method of parent control is called and gives opportunity to item to adjust its displayed based on current scaling. + + Scale factor. + + + + Called when item container has changed. If you override this method you must call the base implementation to allow default processing to occur. + + Previous container of the item. + + + + Called when item parent has changed. + + + + + Returns whether item is enabled including the parent control item is on. + + + + + + Returns whether item is enabled including the parent control item is on. + + + + + + Called when size of the item is changed externally. + + + + + Called when Visibility of the items has changed. + + New Visible state. + + + + Called when item Display state has changed. + + + + + Called when item owner has changed. + + + + + Raises SubItemsChanged event. + + + + + + Occurs after an item has been added to the container. This procedure is called on both item being added and the parent of the item. To distinguish between those two states check the item parameter. + + When occurring on the parent this will hold the reference to the item that has been added. When occurring on the item being added this will be null (Nothing). + + + + Occurs after an item has been removed. + + Item being removed. + + + + Occurs just before Click event is fired. + + + + + Occurs after SubItems Collection has been cleared. + + + + + Occurs before an item is removed. + + Item being removed. + + + + Occurs when IsOnCustomizeMenu property has changed. + + + + + Occurs when IsOnCustomizeDialogChanged property has changed. + + + + + Occurs when item enter or exists the design mode. + + + + + Occurs when tooltip is about to be shown or hidden. + + Specifies whether tooltip is shown or hidden. + + + + Occurs after item has received the input focus. + + Item that received the focus. + + + + Occurs after item has lost the input focus. + + Item that lost the input focus. + + + + Indicates whether the item enabled property has changed. + + + + + Called after TopInternal property has changed + + + + + Called after LeftInternal property has changed + + + + + Occurs when the mouse pointer enters the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer hovers the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer leaves the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is released. This is used by internal implementation only. + + + + + Occurs when a key is pressed down while the item has focus. This is used by internal implementation only. + + + + + Processes the MouseLeave for the current mouse over item. + + + + + Occurs when the mouse pointer is moved over the item. This is used by internal implementation only. + + + + + Occurs when the item is clicked. This is used by internal implementation only. + + + + + Raises the click event and provide the information about the source of the event. + + + + + + Raises the Click event with default source as Code. + + + + + Occurs when the item is double clicked. This is used by internal implementation only. + + + + + Invokes DoubleClick event. + + + + + Occurs when the item receives focus. If overridden base implementation must be called so default processing can occur. + + + + + Occurs when the item has lost the focus. If overridden base implementation must be called so default processing can occur. + + + + + Sets the input focus to the item. If overridden base implementation must be called so default processing can occur. + + + + + Releases the input focus. If overridden base implementation must be called so default processing can occur. + + + + + Occurs when item container has lost the input focus. If overridden base implementation must be called so default processing can occur. + + + + + Occurs when item container receives the input focus. If overridden base implementation must be called so default processing can occur. + + + + + Indicates that item size has changed. It must be called by child item to let the parent know that its size + has been changed. + + + + + Return Sub Item at specified location + + + + + Gets the current expanded subitem. + + + + + + Gets the item that has input focus. + + Item that has focus or Null (Nothing) if none of the subitems have focus. + + + + Gets the owner of the item. + + DotNetBarManager that owns the item. + + + + Recalculate the size of the item. If overridden base implementation must be called so default processing can occur. + + + + + Must be overridden by class that is inheriting to provide the painting for the item. + + + + + Must be overridden by class that is inheriting to provide the method to + return copy of an item. + + + + + Internal Copy implementation. + + Item to copy to. + + + + Returns copy of the item. + + Copy of the item. + + + + Forces the repaint the item. + + + + + Occurs when Expanded state changes. If overridden base implementation must be called so default processing can occur. + + + + + Raises ExpandChange event. + + Event arguments + + + + Occurs when sub item expanded state has changed. + + Sub item affected. + + + + Releases all resurces used in this control. After calling Dispose() + object is not in valid state and cannot be recovered to the valid state. + Recreation of the object is required. + + + + + Occurs after item visual style has changed. + + + + + Occurs after text has changed. + + + + + Returns if passed control is valid. + + Control to test. + + + + + Resets Hoover timer. + + + + + Returns true if any subitem is contained on the control with a given handle. + + Container handle to test. + + + + + Occurs after Tooltip text has changed. + + + + + Sets orientation of the item but it does not cause the recalculate layout flag setting on the parent item. + + New orientation value. + + + + Destroys tooltip window. + + + + + Called when HotSubItem has changed. + + New value. + Old value. + + + + Shows tooltip for this item. + + + + + Returns the shortcut string that is displayed on tooltip. + + + + + + Returns the point in screen coordinates. + + Client point + Point in screen coordinates if there is a parent Control otherwise clientPoint + + + + Collapses all sub items by setting their Expanded property to false. + + Item to collapse. + + + + Collapses all sub items by setting their Expanded property to false. Enumerates all child items as well. + + Item to collapse. + + + + Collapses whole tree for the item starting with its parent. + + Item to collapse. + + + + Returns whether item is hosted on popup menu or bar. + + Item to get information for. + + + + + Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. + + Hash code. + + + + Called when DragStartPoint property has changed. + + Old property value + New property value + + + + Called when Command property value changes. + + + + + Occurs when text markup link is clicked. + + + + + Updates data bindings for item and its sub-items in response to binding context change on parent control. + + + + + Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments. + This property calls directly the ContainerControl.Invoke and is provided as shortcut convenience property only. + + A delegate to a method that takes parameters of the same number and type that are contained in the args parameter. + An array of objects to pass as arguments to the specified method. This parameter can be null reference (Nothing in Visual Basic) if the method takes no arguments. + An Object that contains the return value from the delegate being invoked, or nullNothingnullptra null reference (Nothing in Visual Basic) if the delegate has no return value. + + + + Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments. + This property calls directly the ContainerControl.Invoke and is provided as shortcut convenience property only. + + A delegate to a method that takes parameters of the same number and type that are contained in the args parameter. + An Object that contains the return value from the delegate being invoked, or nullNothingnullptra null reference (Nothing in Visual Basic) if the delegate has no return value. + + + + Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments. + This property calls directly the ContainerControl.BeginInvoke and is provided as shortcut convenience property only. + + A delegate to a method that takes parameters of the same number and type that are contained in the args parameter. + An Object that contains the return value from the delegate being invoked, or nullNothingnullptra null reference (Nothing in Visual Basic) if the delegate has no return value. + + + + Occurs when Item is clicked. + + + + + Occurs when Item is double-clicked. + + + + + Occurs when Item Expanded property has changed. + + + + + Occurs when item loses input focus. + + + + + Occurs when item receives input focus. + + + + + Occurs when mouse button is pressed. + + + + + Occurs when mouse button is released. + + + + + Occurs when mouse enters the item. + + + + + Occurs when mouse leaves the item. + + + + + Occurs when mouse moves over the item. + + + + + Occurs when mouse remains still inside an item for an amount of time. + + + + + Occurs when copy of the item is made. + + + + + Occurs when Text property of an Item has changed. + + + + + Occurs when Visible property of an Item has changed. + + + + + Occurs when Enabled property of an Item has changed. + + + + + Occurs when item's tooltip visibility has changed. + + + + + Occurs when content of SubItems collection has changed. + + + + + Gets or sets whether item is rendered. + + + + + Gets or sets whether item is selectable at design-time. Default value is true. + + + + + Control Container (System.Windows.Forms.Control or its descendant) + + + + + Returns the Parent of the item. + + + + + Gets or sets a value indicating whether the item is enabled. + + + + + Gets or sets whether item separator is shown before this item. + + + + + Gets or sets Left position of this item + + + + + Gets or sets Top position of this item + + + + + Gets or sets Width of this item + + + + + Gets whether item is in right-to-left layout mode. + + + + + Gets or sets Height of this item + + + + + Gets or sets a value indicating whether the item is visible. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Gets or sets whether item will auto expand when mouse is over the item or not. + + + + + Gets the rectangle that represents the display area of the item. + + + + + Gets or sets the size of the item. + + + + + IBlock member implementation + + + + + Specifies whether this item is visual container or not. For example + Tool Menu is not container since it drops-down its items and they are + not "visualy" contained. Also, the pop-up menus, drop-down Bars etc. are not containers. + + + + + Returns true if this item is currently displayed. This property should not be set directly since it is managed by system and container of the item. + + + + + Gets the mouse down coordinates. + + + + + Gets whether item is on context menu created using ContextMenuBar + + + + + Gets whether RaiseClick method will generate a click event give current item state. + + + + + Indicates whether RaiseClick method collapses parent popups before raising click event. Default value is true. + + + + + Gets whether item has input focus. + + + + + Indicates that item is recalculating its size. + + + + + Suspends all layout for the item including painting. Use this property carefully and only to improve performace. + + + + + Indicates whether item is performing layout pass. + + + + + Gets whether layout pass is in progress in the parent chain. + + + + + Gets whether item has been disposed through Dispose method call. + + + + + Returns the collection of sub items. + + + + + Returns count of sub items in SubItems collection that have Visible property set to true. + + + + + Unique ID that indentifies the item. + + + + + Allows the user to associate custom user data with the item. + + + + + Applies new visual style to this the item and all of its sub-items. + + + + + Gets the effective item style. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets item alignment inside the container. + + + + + Gets or sets item description. This description is displayed in + Customize dialog to describe the item function in an application. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Gets/Sets informational text (tooltip) for the item. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Returns name of the item that can be used to identify item from the code. + + + + + Gets or sets the global name of the item that is used to synchronize the Global properties for the item across all instances with same + global name. Note that only instances that belong to the same control are synchronized. GlobalItem must be set to true to perform the synchronization. + You can find more information and list of + properties that are synchronized in help file. + + + + + Gets whether global properties should synchronized. + + + + + Gets orientation within container that is supported by this item. If item does not support certain orientation the container automatically hides it when container switches into that orientation. + + + + + Gets or sets whether item is global or not. + This flag is used to propagate property changes to all items with the same name. + Setting for example Visible property on the item that has GlobalItem set to true will + set visible property to the same value on all items with the same name. + + + + + Gets or sets orientation inside the container. Do not change the value of this property. It is managed by system only. + + + + + Gets whether tooltip for the item is displayed. + + + + + Gets whether tooltip is visible or not. + + + + + Gets or sets the name of the bar this item originated on. This is used to remember the + originating bar when user is moving the items from bar to bar. + + + + + Gets or sets item's original position (index) if item position has changed due to the user customization. + + + + + Gets or sets flag that indicates whether item was customize by the end-user. + + + + + Gets reference to the tooltip control if tooltip is displayed for this item. + + + + + Gets or sets the Key Tips access key or keys for the item when on Ribbon Control or Ribbon Bar. Use KeyTips property + when you want to assign the one or more letters to be used to access an item. For example assigning the FN to KeyTips property + will require the user to press F then N keys to select an item. Pressing the F letter will show only keytips for the items that start with letter F. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets whether item can be customized by end user. + + + + + Returns whether item is hosted on Customize menu. + + + + + Returns whether item is hosted on Customize Dialog. + + + + + Returns whether item is hosted on menu or not. + + + + + Returns whether item is hosted on menu bar or not. + + + + + Returns whether item is hosted on bar or not. + + + + + Returns whether item is in design mode or not. + + + + + Get or sets whether item has been changed in a way that it needs its size recalculated. This is internal + property and it should not be used by your code. + + + + + Returns whether item is System item. + + + + + Indicates whether access key processing set using ampersand key in Text is enabled. When enabled, and access key is pressed, item will raise Click event. + + + + + Return Access key for the item. + + + + + Gets or sets the collection of shortcut keys associated with the item. + + + + + Returns text representation of shortcut for this item. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets the design-marker orientation for the item. + + + + + + Specifes the mouse cursor displayed when mouse is over the item. + + + + + Indicates whether item will be Serialized. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets the AccessibleObject assigned to the item. + + + + + Gets or sets the default action description of the control for use by accessibility client applications. + + + + + Gets or sets the description of the control used by accessibility client applications. + + + + + Gets or sets the name of the control used by accessibility client applications. + + + + + Gets or sets the accessible role of the item. + + + + + Gets or sets a value indicating whether the item is visible to accessibility applications. + + + + + Gets the item state inside of the parent container. + + + + + Gets or sets item margin only used by certain items in certain containers. Provided only for internal DotNetBar use. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that for ButtonItem instances if this property is set to null and command was assigned previously, Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Gets plain text without text-markup if text-markup is used in Text. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets a value indicating whether the caller must call an invoke method when making method calls to the item because the caller is on a different thread than the one the item was created on. + This property calls directly the ContainerControl.InvokeRequired and is provided as shortcut convinience property only. + + + + + Defines item parent container states. + + + + + State is not set. + + + + + Item in on the NavigationPane in normal size. + + + + + Represents the controller which allows single BaseItem to be hosted on the control. + + + + + Initializes a new instance of the BaseItemController class. + + + + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Defines class which described single binding. + + + + + Raises Format event. + + Provides event arguments. + + + + Initializes a new instance of the BindingDef class. + + + + + Initializes a new instance of the BindingDef class. + + + + + + + Updates specified item PropertyName with the data from data object property specified by DataMember. + + Item to set PropertyName on. + Data to retrieve DataMember value from. + + + + Updates specified item PropertyName with the data from data object property specified by DataMember. + + CurrencyManager to use + Item to set PropertyName on. + Data to retrieve DataMember value from. + + + + Called when PropertyName property has changed. + + Old property value + New property value + + + + Called when DataMember property has changed. + + Old property value + New property value + + + + Called when FormattingEnabled property has changed. + + Old property value + New property value + + + + Called when FormatString property has changed. + + Old property value + New property value + + + + Called when FormatInfo property has changed. + + Old property value + New property value + + + + Called when NullValue property has changed. + + Old property value + New property value + + + + Raises the PropertyChanged event. + + Provides event arguments. + + + + Gets or sets the property name binding is attached to. + + + + + Gets the reference to BindingMemberInfo created based on DataMember. + + + + + Gets or sets the data member name which holds data that PropertyName is populated with. + + + + + Gets or sets whether type conversion and formatting is applied to the property data. + + + + + Gets or sets format specifier characters that indicate how a value is to be displayed. + For more information, see Formatting Overview: http://msdn.microsoft.com/en-us/library/26etazsy%28v=vs.71%29.aspx + + + + + Gets or sets the IFormatProvider that provides custom formatting behavior. + + + + + Gets or sets the Object to be set as the target property when the data source contains a DBNull value. + The data source must contain DBNull for the NullValue property to be correctly applied. + If the data source type is a type such as a string or integer the value of the NullValue property will be ignored. + Also, the NullValue property is ignored if it is set to null. + + + + + Occurs when property on BindingDef object has changed. + + + + + Represents the method that will handle converting for bindings. + + + + + + + Gets the reference to the item being converted. + + + + + Get the reference to the name of the field or property on the item that needs conversion. + + + + + Represents BindingDefConverer converter. + + + + + Creates new instance of the class. + + + + + Checks whether conversion can be made to specified type. + + Context Information. + Destination type. + + + + + Converts object to specified type. + + Context information. + Culture information. + Object to convert. + Destination type. + Object converted to destination type. + + + + Represents the toolbar control with the magnifying (bubbling) buttons. + + + + + Creates new instance of the control. + + + + + Indicates whether property should be serialized. Used by the Windows Forms design-time support. + + + + + Resets the property to default value. Used by the Windows Forms design-time support. + + + + + Indicates whether property should be serialized. Used by the Windows Forms design-time support. + + + + + Resets the property to default value. Used by the Windows Forms design-time support. + + + + + Returns whether property should be serialized by Windows Forms designer. + + True if property is different than default value otherwise false. + + + + Returns whether property should be serialized by Windows Forms designer. + + True if property is different than default value otherwise false. + + + + Recalculates the layout of the control. This method should be called after all changes to the tabs, buttons are completed so + layout of the control recalculated. + + + + + Raises ItemLayoutUpdated event. + + Provides event arguments. + + + + Returns reference to the button at specified location + + x - coordinate + y - coordinate + Reference to the button or null if no button could be found at given coordinates. + + + + Returns reference to the button at specified location + + Location coordinates + Reference to the button or null if no button could be found at given coordinates. + + + + Returns tab at specific location. + + Coordinates to get the tab from. + Reference to the tab object or null if tab cannot be found at specified location + + + + Returns tab at specific location. + + x - coordinate + y - coordinate + Reference to the tab object or null if tab cannot be found at specified location + + + + Invokes BubbleStart event. + + + + + Invokes BubbleEnd event. + + + + + Invokes ButtonClick event on the control. + + Reference to the button that was clicked. + + + + Called after overlay window became inactive. + + + + + Stops the bubble animation effect is one is applied currently. + + + + + Internal processing of MouseMove event. + + Move move event arguments. + + + + Internal processing for MouseLeave event. + + Event arguments + + + + Called after all buttons have been removed. + + Tab from which all buttons were removed. + + + + Called after specified button has been removed. + + Tab from which button was removed. + Button that was removed. + + + + Called after new button is added to the Buttons collection. + + Tab to which button was added. + Reference to the button added. + + + + Called when Visible property of Button has changed. + + Button affected. + + + + Returns the button background rectangle for display purposes. Applies setting for the ButtonBackgroundStretch property. + + Background rectangle. + + + + Called after tab has been removed from the collection. + + Tab that was removed. + + + + Called after tab has been added to the collection. + + Newly added tab. + + + + Called after all tabs are removed from the collection. + + + + + Called after text of a tab has changed. + + Tab which text has changed. + + + + Called after Visible property of the tab has changed. + + Tab affected. + + + + Sets the tab mouse is placed over. + + Tab that mouse is currently over or null if mouse is not over any tab. + + + + Occurs when active tab is about to change. + + + + + Occurs when any of the buttons is clicked. Sender object should be casted to BubbleButton to get the button that was actually clicked. + + + + + Occurs when mouse first enters the control and bubble effect is employed to provide feedback. + + + + + Occurs when mouse leaves the control and bubble effect is ended. + + + + + Gets or sets the bubble button tooltip text color. Default value is White color. + + + + + Gets or sets the bubble button tooltip text outline color. Default value is Black color. + + + + + Gets or sets the spacing in pixels between buttons. Default value is 0. + + + + + Gets or sets whether background for the buttons is stretched to consume complete width of the control. Default value is true. + + + + + Gets the style for the background of the control. + + + + + Gets the style for the background of the buttons. + + + + + Gets the bounds of the buttons back area. + + + + + Gets the bounds of the tabs area. + + + + + Gets or sets the duration of animation that is performed when mouse enters a button for the first time or when mouse has left the control. + + + + + Gets or sets whether bubble animation is enabled. Default value is true. + + + + + Gets or sets whether anti-alias smoothing is used while painting. + + + + + Gets or sets ImageList for images used on buttons. These images will be used as images for the buttons that are not magnified. + Use ImagesLarge to specify the magnified images for the coresponding images based on the index in this list. + + + + + Gets or sets ImageList for large-sized images used on buttons when button is magnified. + + + + + Gets or sets whether tooltips are displayed for the buttons. + + + + + Gets or sets size of the images when button is enlarged, default value is 48 by 48 pixels. Note that you should provide the + images in the same size for the buttons through the image properties on the buttons or through ImagesLarge property. + If the large images are not provided the regular button image will be automatically enlarged. + + + + + Gets or sets the normal image size for the buttons, default value is 24 by 24 pixels. This should be set to the default image size that you will use on the + buttons. If the images specified for the buttons are not of the same size as the size specified here then they will + be automatically resized. Normal size must always be smaller than the size specified by ImageSizeLarge property. + + + + + Gets or sets the font that is used to display tooltips. + + + + + Gets or sets the selected tab. + + + + + Gets the reference to the colors that are used when tab is selected. + + + + + Gets the reference to the colors that are used when mouse is over the tab. + + + + + Gets the collection of all tabs. + + + + + Gets or sets the button alignment. + + + + + Gets or sets whether tabs are visible. Default value is true. + + + + + Occurs after internal item layout has been updated and items have valid bounds assigned. + + + + + Delegate for tab change events. + + + + + Represents the event arguments tab changing events. + + + + + Cancels the operation. + + + + + Specifies the event source. + + + + + Specifies newly selected tab. + + + + + Specifies currently selected tab. + + + + + Default Constructor. + + + + + Represents overlay class to support bubble effects on BubbleBar control. + + + + + Called just before window is shown. + + + + + Called after window is closed. + + + + + Summary description for BubbleBarGroup. + + + + + Represents interface for simple text only tab. + + + + + Returns the font used for tab text. + + Reference to font object. + + + + Gets or sets the text displayed on the tab. + + + + + Gets or sets whether tab is visible. + + + + + Gets the display bounds of the tab. + + + + + Gets or sets the background color of the tab when inactive. + + + + + Gets or sets the target gradient background color of the tab when inactive. + + + + + Gets or sets the gradient angle. + + + + + Gets or sets the light border color when tab is inactive. + + + + + Gets or sets the dark border color when tab is inactive. + + + + + Gets or sets the border color when tab is inactive. + + + + + Gets or sets the text color when tab is inactive. + + + + + Gets or sets name of the tab item that can be used to identify item from the code. + + + + + Gets or sets the predefined tab color. + + + + + Returns true if tab is selected tab. + + + + + Returns true if mouse is over the tab. + + + + + Gets the tab alignment. + + + + + Default constructor. + + + + + Default constructor. + + Container object. + + + + Returns the font for the tab text. + + Reference to the font object. + + + + Sets the parent of the tab. + + Reference to the tab parent object or null. + + + + Called after new button is added to the Buttons collection. + + Reference to the added button. + + + + Called after specified button has been removed. + + Button that was removed. + + + + Called after all buttons have been removed. + + + + + Gets the collection of the buttons associated with the tab. + + + + + Gets or sets the text displayed on the tab. + + + + + Gets or sets whether tab is visible. + + + + + Gets the display bounds of the tab. + + + + + Gets or sets the object that contains data about the tab. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Gets or sets the object that contains data about the tab. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Gets or sets the background color of the tab when inactive. + + + + + Gets or sets the target gradient background color of the tab when inactive. + + + + + Gets or sets the gradient angle. + + + + + Gets or sets the light border color when tab is inactive. + + + + + Gets or sets the dark border color when tab is inactive. + + + + + Gets or sets the border color when tab is inactive. + + + + + Gets or sets the text color when tab is inactive. + + + + + Gets or sets name of the tab item that can be used to identify item from the code. + + + + + Gets or sets the predefined tab color. + + + + + Returns true if tab is selected tab. + + + + + Returns true if mouse is over the tab. + + + + + Gets the tab alignment. + + + + + Returns reference to parent object or null if tab does not have parent. + + + + + Gets or sets whether tab has design-time focus. + + + + + Gets or sets the bounds of the content block. + + + + + Gets or sets item margin only used by certain items in certain containers. Provided only for internal DotNetBar use. + + + + + Represents collection for BubbleBarTab objects. + + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the IBlock array. + + Array to copy to. + + + + Copies contained items to the ISimpleTab array. + + Array to copy to. + + + + Returns next visible tab from the reference tab. + + Reference tab. + Next visible tab or null if next visible tab cannot be determined. + + + + Returns previous visible tab from the reference tab. + + Reference tab. + Previous visible tab or null if Previous visible tab cannot be determined. + + + + Returns reference to the object in collection based on it's index. + + + + + Represents a button used on BubbleBar control. + + + + + Creates new instance of button object. + + + + + Sets the display rectangle of the button. + + New display rectangle of the button. + + + + Sets the magnified display rectangle of the button. + + New magnified display rectangle. + + + + Sets whether mouse is over the button. + + True if mouse is over the button otherwise false. + + + + Raises the MouseEnter event. + + + + + Raises the MouseLeave event. + + + + + Sets whether left mouse button is pressed over this button. + + True if left mouse button is pressed otherwise false. + + + + Sets the parent collection button belongs to. + + Parent collection of the item. + + + + Returns the reference to the BubbleBar that contains this button. + + + + + + Invokes button's Click event. + + Indicates source of the event. + + + + Raises click event. + + Default event arguments. + + + + Occurs when user clicks the button. + + + + + Occurs when mouse enters the button. + + + + + Occurs when mouse leaves the button. + + + + + Gets or sets the shortcut key to expand/collapse splitter. + + + + + Gets or sets the tooltip for the button. + + + + + Gets or sets the default image used on the button. Note that for improved appearance of the buttons when enlarged + you should set the ImageIndexLarge to the large version of the image specified here. The image size should be the same size + that is specified by the image size properties on BubbleBar object. + + + + + Gets reference to the internal cached image loaded from the ImageIndex. + + + + + Gets reference to the internal cached image loaded from the ImageIndex. + + + + + Specifies the Button image. + + + + + Specifies enlarged the Button image. + + + + + Gets or sets the image index of the enlarged image for the button. Note that if large image is not specified the + default image will be enlarged which might not result in perfect image appearance. + + + + + Property for Property Editor support for ImageIndex selection. + + + + + Gets or sets a value indicating whether button is enabled. + + + + + Gets the display rectangle occupied by the button. + + + + + Gets or sets the magnified display rectangle of the button. + + + + + Gets whether mouse is over the button. + + + + + Gets whether left mouse button is pressed on the button. + + + + + Returns name of the button that can be used to identify it from the code. + + + + + Gets or sets a value indicating whether button is visible. + + + + + Gets or sets the object that contains data about the tab. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Gets or sets the object that contains data about the tab. Any Object derived type can be assigned to this property. If this property is being set through the Windows Forms designer, only text can be assigned. + + + + + Returns the reference to parent tab. + + + + + Gets or sets whether button has design-time focus. + + + + + Gets or sets the mouse cursor that is displayed when mouse is over the button. + + + + + Gets or sets the bounds of the content block. + + + + + Gets or sets item margin only used by certain items in certain containers. Provided only for internal DotNetBar use. + + + + + Represents event arguments for Click event. + + + + + Gets the action that caused the event, event source. + + + + + Represents typed collection of BubbleButton objects. + + + + + Copies contained items to the IBlock array. + + Array to copy to. + + + + Creates new instance of the collection. + + Parent of the collection. + + + + Adds new item to the collection but it does not raise internal events. + + New item to add. + Index of newly added item. + + + + Adds new item to the collection at specified location but it does not raise internal events. + + New item to add. + Position to add item to. + + + + Clears the collection but it does not raise internal events. + + + + + Performs additional custom processes before setting a value in the CollectionBase instance. + + The zero-based index at which oldValue can be found. + The value to replace with newValue. + The new value of the element at index. + + + + Performs additional custom processes after setting a value in the CollectionBase instance. + + The zero-based index at which oldValue can be found. + The value to replace with newValue. + The new value of the element at index. + + + + Performs additional custom processes before inserting a new element into the CollectionBase instance. + + The zero-based index at which to insert value. + The new value of the element at index. + + + + Performs additional custom processes after inserting a new element into the CollectionBase instance. + + The zero-based index at which to insert value. + The new value of the element at index. + + + + Performs additional custom processes when removing an element from the CollectionBase instance. + + The zero-based index at which value can be found. + The value of the element to remove from index. + + + + Performs additional custom processes after removing an element from the CollectionBase instance. + + The zero-based index at which value can be found. + The value of the element to remove from index. + + + + Removes an item without raising internal events. + + Item to remove. + + + + Performs additional custom processes when clearing the contents of the CollectionBase instance. + + + + + Copies the collection to the ArrayList object. + + Target ArrayList. + + + + Adds new item to the collection. + + New item to add. + Index of newly added item. + + + + Adds new item to the collection at specified location. + + New item to add. + Position to insert item at. Position of -1 will append the item to the end of the collection. + Index of the newly added item. + + + + Inserts new item at the specified position. + + Position to insert item at. + Item to insert. + + + + Returns index of an item. + + Item to return index for. + Item at the specified position. + + + + Returns index of an item with given the item's name. + + Name of the item. + Index of the Item with the specified name or -1 if item is not found. + + + + Returns true if given item is contained by this collection. + + Item to test. + True if item is part of this collection otherwise false. + + + + Returns true if item with given name is part of this collection. + + Item name. + True if item is part of this collection otherwise false. + + + + Removes an item from the collection. + + Item to remove. + + + + Removes an item from collection at specified index. + + Index of the item to remove. + + + + Removes item from the collection with specified name. + + Name of the item to remove. + + + + Adds array of the items to the collection. + + Array of items to add. + + + + Copy the collection to the array. + + Array to copy collection to. + The zero-based relative index in array at which copying begins. + + + + Gets the parent of the collection. + + + + + Accesses items inside of the collection based on the index. + + + + + Accesses items inside of the collection based on the name. + + + + + Represents class for displaying BubbleButton objects on canvas. + + + + + Paints button on given canvas. + + Painting information. + + + + Represents class that holds information for BubbleButton painting. + + + + + Graphics object. + + + + + Button to paint. + + + + + Reference to BubbleBar control. + + + + + Gets or sets whether magnified version of the button is painted. + + + + + Gets or sets the button alignment inside of the bar. + + + + + Represents class for default layout of the BubbleButton objects. + + + + + Represents block layout manager responsible for sizing the content blocks. + + + + + Resizes the content block and sets it's Bounds property to reflect new size. + + Content block to resize. + Content size available for the block in the given line. + + + + Performs layout finalization + + + + + + + + + Gets or sets the graphics object used by layout manager. + + + + + Creates new instance of the class. + + + + + Resizes the content block and sets it's Bounds property to reflect new size. + + Content block to resize. + + + + Represents class that provides mangification for the BubbleMar control + + + + + Represents the serial content layout manager that arranges content blocks in series next to each other. + + + + + Represents interface for block layout. + + + + + Performs layout of the content block. + + Container bounds to layout content blocks in. + Content blocks to layout. + Block layout manager that resizes the content blocks. + The bounds of the content blocks within the container bounds. + + + + Creates new instance of the class. + + + + + Performs layout of the content block. + + Container bounds to layout content blocks in. + Content blocks to layout. + Block layout manager that resizes the content blocks. + The bounds of the content blocks within the container bounds. + + + + Occurs when X, Y position of next block is calcualted. + + + + + Occurs before new block is layed out. + + + + + Indicates whether space to the left of center and right aligned blocks is blocked out by stretching the block so it consumes that space. + + + + + Gets or sets the spacing in pixels between content blocks. Default value is 0. + + + + + Gets or sets whether content blocks are forced to fit the container bounds if they + occupy more space than it is available by container. Default value is false. + + + + + Gets or sets whether content blocks are resized to fit the container bound if they + occupy less space than it is available by container. Default value is false. + + + + + Gets or sets whether content blocks are resized (Width) to fit container bounds if they + occupy less space than the actual container width. Applies to the Vertical orientation only. Default value is false. + + + + + Gets or sets whether content blocks are resized (Height) to fit container bounds if they + occupy less space than the actual container height. Applies to the Horizontal orientation only. Default value is false. + + + + + Gets or sets the content orientation. Default value is Horizontal. + + + + + Gets or sets the content vertical alignment. Default value is Middle. + + + + + Gets or sets the block line vertical alignment. Default value is Middle. + + + + + Gets or sets the content horizontal alignment. Default value is Left. + + + + + Gets or sets whether all content blocks are resized so they have same height which is height of the tallest content block. Default value is false. + + + + + Gets or sets whether oversized blocks are resized based on the percentage reduction instead of based on equal pixel distribution. Default value is false. + + + + + Gets or sets whether content is wrapped into new line if it exceeds the width of the container. + + + + + Gets or sets whether layout is right-to-left. + + + + + Performs layout of the content block. + + Container bounds to layout content blocks in. + Content blocks to layout. + Block layout manager that resizes the content blocks. + The bounds of the content blocks within the container bounds. + + + + Gets or sets the bubble size for the mouse over item. + + + + + Gets or sets magnification factor for the item that is at the position MouseOverIndex-1 + + + + + Gets or sets magnification factor for the item that is at the position MouseOverIndex-2 + + + + + Gets or sets magnification factor for the item that is at the position MouseOverIndex+1 + + + + + Gets or sets magnification factor for the item that is at the position MouseOverIndex+2 + + + + + Gets or sets the index of the item mouse is over. + + + + + Gets or sets new X coordinate of the mouse over item when in horizontal layout or Y + coordinate when in vertical layout. + + + + + Summary description for ButtonItem. + + + + + PopupItem Class can pop-up it's subitems on either the popup Bar + or menu. + + + + + Adds neccessary functions to base item so it supports images properly. + If your item implements images you should derive from this class instead of BaseItem + + + + + Create new instance of ImageItem. + + + + + Create new instance of ImageItem and assigns the item name. + + Item name. + + + + Create new instance of ImageItem and assigns the item name and text. + + Item name. + Item text. + + + + Must be called by any sub item that implements the image when image has changed + + + + + Called after image on an item has changed. + + + + + Refreshes internal image size structure. + + + + + Occurs after an item has been removed. + + Item being removed. + + + + Refreshes internal image size structure. + + + + + When parent items does recalc size for its sub-items it should query + image size and store biggest image size into this property. + + + + + Provides design-time support for DotNetBar items. + + + + + Creates new instance of PopupItem. + + + + + Creates new instance of PopupItem and assigns the name to it. + + Item name + + + + Creates new instance of PopupItem and assigns the name and text to it. + + Item name. + Item text. + + + + Copies the PopupItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Occurs when the mouse pointer is moved over the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is released. This is used by internal implementation only. + + + + + Displays the sub-items on popup menu. + + Popup location. + + + + Invokes PopupOpen event. + + + + + + Displays the sub-items on popup menu. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Displays the sub-items on popup menu. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + Indicates whether screen position of the menu is verified so the menu always appears on the screen. + + + + Raises PopupShowing event. + + Event arguments. + + + + Displays the sub-items on popup toolbar. + + Popup location. + + + + Displays the sub-items on popup toolbar. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Displays popup container. + + Popup location. + + + + Creates the popup container control which is a parent/holder control for the controls you want to display on the popup. + This method can be used if you do not wish to handle the PopupContainerLoad to add controls to the popup container. + After calling this method you can access PopupContainerControl property to add your controls to be displayed on the popup. + + Indicates whether PopupContainerLoad events are fired. + + + + Displays popup container. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Displays the sub-items on popup specified by PopupType. + + Popup location. + + + + Displays the sub-items on popup specified by PopupType. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Raises PopupClose event. + + Event arguments. + + + + Queries whether popup can be closed. + + Source of closing request. + true if popup can be closed otherwise false. + + + + Closes the currently open popup. + + + + + Raises PopupFinalized event. + + Event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Sets the SourceControl for popup menu or toolbar. + + Control that popup menu or toolbar was invoked for. + + + + Occurs when popup container is loading. Use this event to assign control to the popup container. If you want to use same control + that you added to the popup container after popup is closed you must handle the PopupContainerUnload event and remove the control + from the popup container so it is not disposed with the container. + + + + + Occurs when popup container is unloading. Use this event to save any state associated with the control that was contained by the container or + to remove the control from the container so it is not disposed with container. + + + + + Occurs when popup item is about to open. + + + + + Occurs while popup item is closing. + + + + + Occurs while popup item is closing. + + + + + Occurs after popup item has been closed. + + + + + Occurs just before popup window is shown. + + + + + Gets the size of the popup before it is displayed. + + + + + Gets or sets whether popup on-screen position is verified and popup location adjusted so it does not cross boundaries of the screen. + + + + + Indicates whether sub-items are shown on popup Bar or popup menu. + + + + + Indicates the font that will be used on the popup window. + + + + + Indicates side bar for pop-up window. + + + + + Gets or sets the location of popup in relation to it's parent. + + + + + Gets or sets the popup offset. + + + + + Gets or sets the popup location. + + + + + Indicates when menu items are displayed when MenuVisiblity is set to VisibleIfRecentlyUsed and RecentlyUsed is true. + + + + + Indicates Animation type for Popups. + + + + + Specifies the inital width for the Bar that hosts pop-up items. Applies to PopupType.Toolbar only. + + + + + Gets the control that is displaying the context menu. + + + + + Gets the reference to the internal host PopupContainerControl control. + + + + + Provides support for personalized menu items. + + + + + Creates new instance of ButtonItem. + + + + + Creates new instance of ButtonItem and assigns the name to it. + + Item name. + + + + Creates new instance of ButtonItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Overloaded. Serializes the item and all sub-items into the XmlElement. + + XmlElement to serialize the item to. + + + + Overloaded. Deserializes the Item from the XmlElement. + + Source XmlElement. + + + + Called when NotificationMarkText property has changed. + + Old property value + New property value + + + + Called when NotificationMarkPosition property has changed. + + Old property value + New property value + + + + Called when NotificationMarkSize property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when NotificationMarkOffset property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Called when button image has changed. + + + + + Called when container of the item has changed. + + Previous item container. + + + + Overriden. Draws the item. + + Item paint arguments. + + + + Resets ImageFixedSize property to its default value. + + + + + Gets whether ImageFixedSize property should be serialized. + + + + + Gets whether FixedSize property should be serialized. + + + + + Resets the property to default value. + + + + + Overridden. Recalculates the size of the item. + + + + + Overloaded. Called when size of the item is changed externally. + + + + + Starts the button pulse effect which alternates slowly between the mouse over and the default state. The pulse effect + continues indefinitely until it is stopped by call to StopPulse method. + + + + + Starts the button pulse effect which alternates slowly between the mouse over and the default state. Pulse effect + will alternate between the pulse state for the number of times specified by the pulseBeatCount parameter. + + Specifies the number of times button alternates between pulse states. 0 indicates indefinite pulse + + + + Stops the button Pulse effect. + + + + + Indicates whether the item enabled property has changed. + + + + + Provides internal implementation for ButtonItem mouse down events. + + Mouse event arguments. + + + + Occurs when the item is double clicked. This is used by internal implementation only. + + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Called after Checked property has changed. + + + + + Called when Visibility of the items has changed. + + New Visible state. + + + + Sets Checked property without firing any events or performing any built-in logic. + + + + + Fires CheckedChanged event. + + + + + Fires OptionGroupChanging event. + + + + + Occurs just before Click event is fired. + + + + + Returns the shortcut string that is displayed on tooltip. + + + + + + Gets or sets the current font for the button. + + + + + Creates new ButtonItem with text set to corresponding item from string array and adds it to SubItems collection. + + + + + + Creates new ButtonItem with text set to corresponding item from string array and adds it to SubItems collection. + + Click event handler assigned to each item + + + + Occurs when Checked property has changed. + + + + + Occurs before an item in option group is checked and provides opportunity to cancel that. + + + + + Indicates whether images assigned to the button are disposed when button is disposed. Default value is false. + + + + + Specifies maximum of 2 character text displayed inside of the notification mark on top of the button. + + + + + Indicates the position of the notification marker within the bounds of the button. + + + + + Specifies diameter of notification mark. When set to 0 system default value is used. + + + + + Gets or sets background color of the notification mark. + + + + + Specifies the offset for the notification mark relative to its position. + + + + + Gets/Sets the image position inside the button. + + + + + Gets or sets the custom color name. Name specified here must be represented by the corresponding object with the same name that is part + of the Office2007ColorTable.RibbonTabItemColors collection. See documentation for Office2007ColorTable.RibbonTabItemColors for more information. + If color table with specified name cannot be found default color will be used. Valid settings for this property override any + setting to the Color property. + Applies to items with Office 2007 style only. + + + + + Gets or sets the predefined color of the button. Color specified applies to buttons with Office 2007 style only. It does not have + any effect on other styles. Default value is eButtonColor.Default + + + + + Gets/Sets the button style which controls the appearance of the button elements. Changing the property can display image only, text only or image and text on the button at all times. + + + + + Indicates whether the item will auto-expand when clicked. + When item is on top level bar and not on menu and contains sub-items, sub-items will be shown only if user + click the expand part of the button. Setting this property to true will expand the button and show sub-items when user + clicks anywhere inside of the button. Default value is false which indicates that button is expanded only + if its expand part is clicked. + + + + + Gets or sets the color of the Symbol. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Specifies the Button icon. Icons support multiple image sizes and alpha blending. + + + + + Specifies the Button image which is used when button background is black or very dark. Image is used when button text is white. This is provided for Metro style applications. + + + + + Specifies the Button image. + + + + + Specifies the small Button image used by Ribbon control when small image variant is needed because of the automatic button resizing or + because the button is on the Quick Access Toolbar. + + + + + Gets or sets the image size that is used by the button when multiple ImageList controls are used as source for button image. + By default ImageList assigned to Images property of parent control is used. Using this property you can selection ImagesMedium or + ImagesLarge ImageList to be used as source for image for this button. + + + + + Gets or sets whether button uses the ImageSmall as source of the image displayed on the button if ImageSmall is set to valid image. Default value is false. + + + + + Specifies the index of the image for the button if ImageList is used. + + + + + Specifies the image for the button when mouse is over the item. + + + + + Specifies the index of the image for the button when mouse is over the item when ImageList is used. + + + + + Specifies the image for the button when mouse left button is pressed. + + + + + Specifies the index of the image for the button when mouse left button is pressed and ImageList is used. + + + + + Specifies the image for the button when items Enabled property is set to false. + + + + + Specifies the index of the image for the button when items Enabled property is set to false and ImageList is used. + + + + + Sets fixed size of the image. Image will be scaled and painted it size specified. + + + + + Gets or sets the fixed size of the button. Both width and height must be set to value greater than 0 in order for button to use fixed size. + Setting both width and height to 0 (default value) indicates that button will be sized based on content. + + + + + Gets whether fade effect is enabled. + + + + + Gets whether Pulse function is enabled. + + + + + Gets whether the button is currently pulsing, alternating slowly between the mouse over and default state. + + + + + Gets or sets whether pulse effect started with StartPulse method stops automatically when mouse moves over the button. Default value is true. + + + + + Gets or sets the pulse speed. The value must be greater than 0 and less than 128. Higher values indicate faster pulse. Default value is 12. + + + + + Gets or sets whether button auto-expands on mouse hover when button is used as menu-item and displayed on menu. Default value is true. + + + + + Indicates whether button should popup when clicked automatically. + + + + + Gets or sets whether Checked property is automatically inverted, button checked/unchecked, when button is clicked. Default value is false. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or set the alternative shortcut text. + + + + + Returns shortcut text if any that needs to be displayed. + + + + + Gets or sets the image bounds. + + + + + Gets or sets sub items bounds. + + + + + Gets or sets text bounds. + + + + + Gets or set the Group item belongs to. The groups allows a user to choose from mutually exclusive options within the group. The choice is reflected by Checked property. + + + + + Gets or sets the text color of the button. + + + + + Gets or sets the text color of the button when mouse is over the item. + + + + + Gets or sets whether the font used to draw the item text is underlined when mouse is over the item. + + + + + Gets or sets whether the font used to draw the item text is bold when mouse is over the item. + + + + + Gets or sets whether the font used to draw the item text is bold. + + + + + Gets or sets whether the font used to draw the item text is italic. + + + + + Gets or sets whether the font used to draw the item text is underlined. + + + + + Gets or sets the width of the expand part of the button item. + + + + + Returns the collection of sub items. + + + + + Gets or sets whether button appears as split button. Split button appearance divides button into two parts. Image which raises the click event + when clicked and text and expand sign which shows button sub items on popup menu when clicked. Button must have both text and image visible (ButtonStyle property) in order to appear as a full split button. + Use AutoExpandOnClick=true if you want to make complete surface of the button display popup when clicked. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the amount of padding added horizontally to the button images when not on menus. Default value is 10 pixels. + + + + + Gets or sets the amount of padding added vertically to the button images when not on menus. Default value is 6 pixels. + + + + + Gets or sets an shape descriptor for the button which describes the shape of the button. Default value is null + which indicates that system default shape is used. + + + + + Indicates item's visibility when on pop-up menu. + + + + + Indicates whether item was recently used. + + + + + Indicates whether mouse is over the item. + + + + + Indicates whether mouse is over the expand part of the button. + + + + + Indicates whether mouse is pressed. + + + + + Indicates the way item is painting the picture when mouse is over it. Setting the value to Color will render the image in gray-scale when mouse is not over the item. + + + + + Gets or sets whether the button text is automatically wrapped over multiple lines when button is used on RibbonBar control. Default value is true. + + + + + Gets or sets whether image animation is enabled + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Represents accessible interface for ButtonItem object. + + + + + Represents accessible interface for ButtonItem object. + + + + + Delegate for OptionGroupChanging event. + + + + + Represents event arguments for OptionGroupChanging event. + + + + + Set to true to cancel the checking on NewChecked button. + + + + + Button that will become checked if operation is not canceled. + + + + + Button that is currently checked and which will be unchecked if operation is not canceled. + + + + + Default constructor. + + + + + Stores all information for side bar images that are used by Bar or Popup menu. + + + + + Gets or sets the side bar image. + + + + + Gets or sets the side bar back color. + + + + + Gets or sets the gradient staring color. + + + + + Gets or sets the gradient ending color. + + + + + Gets or sets the gradient angle. + + + + + Gets or sets the gradient staring color. + + + + + Gets or sets whether image is stretched so it fills the side bar or not if image is smaller than current side bar size. + + + + + Summary description for ButtonItemLayout. + + + + + Arranges the button inner parts when button size has changed externally. + + Button to arrange inner parts for. + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Creates new accessibility instance. + + Reference to AccessibleObject. + + + + Starts the button pulse effect which alternates slowly between the mouse over and the default state. The pulse effect + continues indefinitely until it is stopped by call to StopPulse method. + + + + + Starts the button pulse effect which alternates slowly between the mouse over and the default state. Pulse effect + will alternate between the pulse state for the number of times specified by the pulseBeatCount parameter. + + Specifies the number of times button alternates between pulse states. 0 indicates indefinite pulse + + + + Stops the button Pulse effect. + + + + + Gets whether ImageFixedSize property should be serialized. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Notifies a control that it is the default button so that its appearance and behavior is adjusted accordingly. + + true if the control should behave as a default button; otherwise false. + + + + Generates a Click event for the control. + + + + + Displays the sub-items on popup specified by PopupType. + + Popup location. + + + + Displays the sub-items on popup specified by PopupType. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Called when Command property value changes. + + + + + Occurs when Checked property has changed. + + + + + Gets or sets whether text-markup support is enabled for controls Text property. Default value is true. + Set this property to false to display HTML or other markup in the control instead of it being parsed as text-markup. + + + + + Gets whether the button is currently pulsing, alternating slowly between the mouse over and default state. + + + + + Gets or sets whether pulse effect started with StartPulse method stops automatically when mouse moves over the button. Default value is true. + + + + + Gets or sets the pulse speed. The value must be greater than 0 and less than 128. Higher values indicate faster pulse. Default value is 12. + + + + + Sets fixed size of the image. Image will be scaled and painted it size specified. + + + + + Gets or sets the text alignment. Applies only when button text is not composed using text markup. Default value is center. + + + + + Gets or sets whether during painting OnPaintBackground on base control is called when BackColor=Transparent. + + + + + Gets or sets whether button is focused when pressed using left mouse button. Default value is true. + + + + + Gets whether command is executed when button is clicked. + + + + + Gets or sets the color of the Symbol. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Specifies the Button image which is used when button background is black or very dark. Image is used when button text is white. This is provided for Metro style applications. + + + + + Specifies the Button image. + + + + + Specifies the image for the button when mouse is over the item. + + + + + Specifies the image for the button when items Enabled property is set to false. + + + + + Specifies the image for the button when mouse left button is pressed. + + + + + Gets or sets the location of popup in relation to it's parent. + + + + + Returns the collection of sub items. + + + + + Gets or sets whether button appears as split button. Split button appearance divides button into two parts. Image which raises the click event + when clicked and text and expand sign which shows button sub items on popup menu when clicked. Button must have both text and image visible (ButtonStyle property) in order to appear as a full split button. + + + + + Gets or sets whether button displays the expand part that indicates that button has popup. + + + + + Gets/Sets the image position inside the button. + + + + + Gets or sets whether mouse over fade effect is enabled. Default value is true. + + + + + Indicates the way button is rendering the mouse over state. Setting the value to Color will render the image in gray-scale when mouse is not over the item. + + + + + Gets or sets the width of the expand part of the button item. + + + + + Gets or sets the text associated with this button. + + + + + Gets/Sets informational text (tooltip) for the button. + + + + + Gets or sets whether mnemonic character assigned to button is processed only if Alt key is pressed. Default value is false which indicate that Alt key is not required. + + + + + + Indicates whether the button will auto-expand when clicked. + When button contains sub-items, sub-items will be shown only if user + click the expand part of the button. Setting this property to true will expand the button and show sub-items when user + clicks anywhere inside of the button. Default value is false which indicates that button is expanded only + if its expand part is clicked. + + + + + Gets or sets whether Checked property is automatically inverted, button checked/unchecked, when button is clicked. Default value is false. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or sets an shape descriptor for the button which describes the shape of the button. Default value is null + which indicates that system default shape is used. + + + + + Gets or sets whether control displays focus cues when focused. + + + + + Gets or sets the custom color name. Name specified here must be represented by the corresponding object with the same name that is part + of the Office2007ColorTable.ButtonItemColors collection. See documentation for Office2007ColorTable.ButtonItemColors for more information. + If color table with specified name cannot be found default color will be used. Valid settings for this property override any + setting to the Color property. + Applies to items with Office 2007 style only. + + + + + Gets or sets the predefined color of the button. Color specified applies to buttons with Office 2007 style only. It does not have + any effect on other styles. Default value is eButtonColor.Default + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Gets or sets the mode by which the Button automatically resizes itself. + + + + + Gets or sets the amount of spacing between button image if specified and text. + + + + + Gets or sets the text color. + + + + + Gets or sets the value returned to the parent form when the button is clicked. + + + + + Gets or sets a value indicating whether the button is expanded (displays drop-down) or not. + + + + + Gets or sets the collection of shortcut keys associated with the button. When shortcut key is pressed button Click event is raised. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Represents class for Accessibility support. + + + + + Creates new instance of the object and initializes it with owner control. + + Reference to owner control. + + + + Returns number of child objects. + + Total number of child objects. + + + + Returns reference to child object given the index. + + 0 based index of child object. + Reference to child object. + + + + Returns current accessible state. + + + + + Summary description for ThemedButtonItemPainter. + + + + + Represents the Check-box item. Use a CheckBox to give the user an option, such as true/false or yes/no. + + + + + Creates new instance of CheckBoxItem. + + + + + Creates new instance of CheckBoxItem and assigns the name to it. + + Item name. + + + + Creates new instance of CheckBoxItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the CheckBoxItem specific properties to new instance of the item. + + New CheckBoxItem instance. + + + + Copies the CheckBoxItem specific properties to new instance of the item. + + New CheckBoxItem instance. + + + + Raises the click event and provide the information about the source of the event. + + + + + + Sets the Checked property of the item, raises appropriate events and provides the information about the source of the change. + + New value for Checked property + Source of the change. + + + + Called when Command property value changes. + + + + + Sets the Checked property of the item, raises appropriate events and provides the information about the source of the change. + + New value for Checked property + Source of the change. + + + + Raises CheckState changed event. + + Event arguments. + + + + Raises CheckedBindableChanged changed event. + + Event arguments. + + + + Called after Checked property has changed. + + + + + Raises the CheckedChanging event. + + + + + Raises the CheckedChanged event. + + + + + Occurs before Checked property is changed and allows you to cancel the change. + + + + + Occurs after Checked property is changed. Action cannot be cancelled. + + + + + Occurs when CheckState property has changed. + + + + + Occurs when CheckedBindable property has changed. + + + + + Gets or set whether the Checked values and the item appearance are automatically changed when the Check-Box is clicked. Default value is true. + + + + + Gets or sets the size of the check or radio sign. Default value is 13x13. Minimum value is 6x6. + + + + + Gets or sets the text associated with this item. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets whether text assigned to the check box is visible. Default value is true. + + + + + Gets or sets the text color. Default value is Color.Empty which indicates that default color is used. + + + + + Gets or sets the appearance style of the item. Default value is CheckBox. Item can also assume the style of radio-button. + + + + + Gets or sets the check box position relative to the text. Default value is Left. + + + + + Gets whether mouse is over the item. + + + + + Gets whether left mouse button is pressed on the item. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or sets a value indicating whether the CheckBox will allow three check states rather than two. If the ThreeState property is set to true + CheckState property should be used instead of Checked property to set the extended state of the control. + + + + + Specifies the state of a control, such as a check box, that can be checked, unchecked, or set to an indeterminate state. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is checked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is unchecked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is in indeterminate state. + + + + + Delegate for OptionGroupChanging event. + + + + + Represents event arguments for OptionGroupChanging event. + + + + + Set to true to cancel the checking on NewChecked button. + + + + + Check-box that will become checked if operation is not cancelled. + + + + + Check-box that is currently checked and which will be unchecked if operation is not cancelled. This property will have only valid values for eCheckBoxStyle.RadioButton style CheckBoxItems. + + + + + Indicates the action that has caused the event. + + + + + Default constructor. + + + + + Represents painter for CheckBoxItem. + + + + + Paints CheckBoxItem. + + Provides arguments for the operation. + + + + Gets or sets color table used by renderer. + + + + + Represents circular progress indicator. + + + + + Creates new instance of circular progress indicator. + + + + + Creates new instance of circular progress indicator and assigns the name to it. + + Item name. + + + + Creates new instance of circular progress indicator and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the ProgressBarItem specific properties to new instance of the item. + + New ProgressBarItem instance. + + + + Copies the ProgressBarItem specific properties to new instance of the item. + + New ProgressBarItem instance. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Raises ValueChanged event. + + Provides event arguments. + + + + Called when property on CircularProgressBar changes. + + Property Change Arguments + + + + Starts the progress bar loop for endless type progress bar. Progress bar will continue to run until Stop() method is called. + + + + + Stops the progress bar loop for endless type progress bar. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when ProgressTextFormat property has changed. + + Old property value + New property value + + + + Gets or sets the circular progress bar type. + + + + + Gets or sets the maximum value of the progress bar. + + + + + Gets or sets the minimum value of the progress bar. + + + + + Gets or sets the color of the progress percentage text. + + + + + Gets or sets whether text that displays the progress bar completion percentage text is visible. Default value is false. + + + + + Gets or sets the text displayed on top of the circular progress bar. + + + + + Gets or sets the current value of the progress bar. + + + + + Occurs when Value property has changed. + + + + + Gets or sets whether endless type progress bar is running. + + + + + Gets or sets the color of the color of progress indicator. + + + + + Gets or sets circular progress indicator diameter in pixels. + + + + + Gets or sets the text position in relation to the circular progress indicator. + + + + + Gets or sets whether text/label displayed next to the item is visible. + + + + + Gets or sets the suggested text-width. If you want to make sure that text you set wraps over multiple lines you can set suggested text-width so word break is performed. + + + + + Gets or sets text padding. + + + + + Gets or sets the color of the text label. + + + + + Gets or sets the color of the pie progress bar dark border. + + + + + Gets or sets the color of the pie progress bar light border. + + + + + Gets or sets the color of the spoke progress bar dark border. + + + + + Gets or sets the color of the spoke progress bar light border. + + + + + Gets or sets format string for progress value. + + + + + Gets or sets the animation speed for endless running progress. Lower number means faster running. + + + + + Defines available circular progress bar types. + + + + + Line spokes progress bar. + + + + + Dot type/FireFox progress bar. + + + + + Donut type progress bar. + + + + + Spoke type progress bar. + + + + + Pie type progress bar. + + + + + Summary description for ColorFunctions. + + + + + Provides popup color picker. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets or sets the reference to the IWindowsFormsEditorService interface used for Windows Forms design time support. + + + + + Gets or sets the ColorScheme object for Scheme colors. + + + + + Gets or sets currently selected color. + + + + + Gets the selected color color scheme name if color scheme color is selected otherwise it returns an empty string. + + + + + Returns true if color selection was cancelled. + + + + + Represents the color comb control that allows color choice from pre-defined color comb palette. + + + + + Raises SelectedColorChanged event. + + Provides event arguments. + + + + Required designer variable. + + + + + Creates new instance of the control. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Raises MouseOverColorChanged event. + + Provides event arguments. + + + + Occurs when SelectedColor has changed. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is true. + + + + + Gets the color mouse is currently over. If mouse is not over any color in comb Color.Empty is returned. + + + + + Gets or sets the selected color. When setting the color note that color must be already present in the color comb otherwise the selected color will be reset to Color.Empty. + + + + + Occurs when MouseOverColor property has changed. + + + + + Represents the color selection control. + + + + + Raises SelectedColorChanged event. + + Provides event arguments. + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Occurs when SelectedColor has changed. + + + + + Gets or sets the selected color. + + + + + Represents color item used for color picker control. Color item can only be used as part of the color picker DotNetBar feature. + + + + + Overloaded. Serializes the item and all sub-items into the XmlElement. + + XmlElement to serialize the item to. + + + + + Gets or sets the color represented by this item. Default value is Color.Black. + + + + + Gets or sets the size of the item when displayed. Default value is 13x13 pixels. + + + + + Gets or sets border drawn around the item. Default value is eColorItemBorder.All which indicates that border is drawn + on all four sides. + + + + + Gets whether mouse is over the item. + + + + + Represents the color picker drop down button. + + + + + Creates new instance of ButtonItem. + + + + + Creates new instance of ButtonItem and assigns the name to it. + + Item name. + + + + Creates new instance of ButtonItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Raises the ColorPreview event. + + Provides the data for the event. + + + + Invokes the ColorPreview event. + + Provides data for the event. + + + + Indicates whether SubItems collection is serialized. ColorPickerDropDown does not serialize the sub items. + + + + + Gets whether property should be serialized. + + + + + Resets the property to its default value. + + + + + Raises RemovingToken event. + + Provides event arguments. + + + + Displays the Colors dialog that allows user to choose the color or create a custom color. If new color is chosen the + SelectedColorChanged event is raised. + + + + + Raises the BeforeColorDialog event. + + + + + + Update the selected color image if the SelectedColorImageRectangle has been set and button is using Image property to display the image. + + + + + Gets collection of ColorItem[] arrays that represent themed colors. Each ColorItem[] array is used to represent single line of theme colors. + + Collection of ColorItem[] arrays. + + + + Returns an array that represents the standard colors. Usually instances of ColorItem are included. + + ArrayList containing objects that describe standard colors. + + + + Invokes SelectedColorChanged event. + + + + + Occurs when color is chosen from drop-down color picker or from Custom Colors dialog box. Selected color can be accessed through SelectedColor property. + + + + + Occurs when mouse is moving over the colors presented by the color picker. You can use it to preview the color before it is selected. + + + + + Occurs before color picker dialog is shown. Data property of the event arguments will hold the reference to the Form about to be shown. + + + + + Gets or sets the last selected color from either the drop-down or Custom Color dialog box. Default value is + Color.Empty. You can use SelectedColorChanged event to be notified when this property changes. + + + + + Gets or sets whether theme colors are displayed on drop-down. Default value is true. + + + + + Gets or sets whether standard colors are displayed on drop-down. Default value is true. + + + + + Gets or sets more colors menu item is visible which allows user to open Custom Colors dialog box. Default value is true. + + + + + Gets or sets the rectangle in Image coordinates where selected color will be painted. Setting this property will + have an effect only if Image property is used to set the image. Default value is an empty rectangle which indicates + that selected color will not be painted on the image. + + + + + Gets whether internal representation of color items on popup has been initialized. + + + + + "Occurs after popup colors have been added to the SubItems collection. This event can be used to effectively add custom items to the popup. + + + + + Gets or sets the Owner Window that will be used as owner for the colors modal dialog when displayed. + + + + + Gets or sets the array of ColorItem objects that will be used as theme colors instead of built-in color palette. + See: http://www.devcomponents.com/kb2/?p=79 for instructions. + + + + + Gets or sets the array of ColorItem objects that will be used as standard colors instead of built-in color palette. + See: http://www.devcomponents.com/kb2/?p=79 for instructions. + + + + + Indicates whether button should popup when clicked automatically. + + + + + Represents custom color blend selection control. + + + + + Raises SelectedColorChanged event. + + Provides event arguments. + + + + Occurs when SelectedColor has changed. + + + + + Gets or sets the color selected by the control. Color that is assigned must be visible on the face of the control otherwise the SelectedColor will be set to Color.Empty + + + + + Represents the form in Office style with custom borders and caption. + + + + + Represents the form class that should be used instead of standard Form when form caption is provided by Ribbon control + and custom form look and feel in style of Office 2007 is required. This form does not have standard form caption. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Called when EnableCustomStyle property has changed. + + + + + Gets whether custom form styling is enabled. + + true if custom styling is enabled otherwise false. + + + + Gets the array of LinearGradientColorTable objects that describe the border colors. The colors with index 0 is used as the outer most + border. + + Array of LinearGradientColorTable + + + + Returns form custom region. + + New instance of the custom region. + + + + Gets the form path for the given input bounds. + + Represent the form bounds. + + + + + Paints the non-client area of the form. + + + + + Called when WM_NCACTIVATE message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Invalidates non client area of the form. + + Indicates whether complete form is invalidated. + + + + Redraws the non-client area of the form. + + + + + Called when BackgroundImageUnderCaption property has changed. + + Old property value + New property value + + + + Called when RenderFormIcon property has changed. + + Old property value + New property value + + + + Called when RenderFormText property has changed. + + Old property value + New property value + + + + Gets or sets whether Windows Vista Glass support is enabled when form is running on Windows Vista with Glass support. + Default value is true. + + + + + Gets or sets the RibbonControl that is hosted by this form. This property is for internal use only. + + + + + Gets whether Vista glass effect extension over the ribbon control caption is enabled. + + + + + Gets or sets the form's window state. + + + + + Gets or sets whether custom style for the form is enabled. Default value is true. + + + + + Gets or sets top left rounded corner size. Default value is 6. + + + + + Gets or sets top right rounded corner size. Default value is 6. + + + + + + Gets or sets bottom left rounded corner size. Default value is 6. + + + + + Gets or sets bottom right rounded corner size. Default value is 6. + + + + + Gets whether client border is painted in OnPaint method. + + + + + Gets whether ribbon control caption is painted + + + + + Gets or sets whether 3D MDI border is removed. Default value is true. + + + + + Gets whether form uses custom region + + + + + Gets whether Windows Glass effect is rendered on the form when supported by Operating System and enabled using EnableGlass. + + + + + Returns whether form is sizable given form state (maximized, minimized, normal) and FormBorderStyle setting. + + + + + Gets or sets whether non-client area of the form rendering is enabled. + + + + + Indicates whether form BackgroundImage is pulled up and rendered under form caption as well. + + + + + Indicates whether form icon is drawn. This is different from ShowIcon property which when set to false also removes the form icon from task-bar. Setting this property to false will keep form icon in task-bar but will hide on the form. + + + + + Indicates whether form Text is rendered in form caption. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Raises TitleTextMarkupLinkClick event. + + Provides event arguments. + + + + Gets whether custom form styling is enabled. + + true if custom styling is enabled otherwise false. + + + + Invalidates non client area of the form. + + Indicates whether complete form is invalidated. + + + + Called when WM_NCACTIVATE message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Gets the form path for the give input bounds. + + Represents the form bounds. + + + + + Updates the form title bar text. Usually calling this method is not necessary but under certain conditions when form is used as MDI parent form + calling it to update combined text is necessary. + + + + + Called when CloseEnabled property value has changed. + + + + + Paints the non-client area of the form. + + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + + Occurs when text-markup link in TitleText is clicked. + + + + + Gets or sets the font for the form caption text when CaptionVisible=true. Default value is NULL which means that system font is used. + + + + + Gets whether Vista glass effect extension over the ribbon control caption is enabled. + + + + + Gets or sets the icon for the form. + + + + + Gets or sets a value indicating whether the form enables auto scrolling. + + + + + Gets or sets the Office 2007 Renderer global Color Table. Setting this property will affect all controls in application that are using Office 2007 global renderer. + + + + + Gets whether client border is painted in OnPaint method. + + + + + Gets whether ribbon control caption is painted + + + + + Gets or sets whether anti-alias smoothing is used while painting form caption. Default value is true. + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Gets or sets the tooltip for the form system icon. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Initializes a new instance of the MetroForm class. + + + + + Gets the array of LinearGradientColorTable objects that describe the border colors. The colors with index 0 is used as the outer most + border. + + Array of LinearGradientColorTable + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Gets the form path for the given input bounds. + + Represent the form bounds. + + + + + Called when HelpButtonText property has changed. + + Old property value + New property value + + + + Called when SettingsButtonText property has changed. + + Old property value + New property value + + + + Raises SettingsButtonClick event. + + Provides event arguments. + + + + Raises HelpButtonClick event. + + Provides event arguments. + + + + Gets or sets custom border colors for the form. When set it overrides settings from global Metro color table. + + + + + This property is not applicable for MetroForm. + + + + + + + Gets or sets the HELP button text. + + + + + Gets or sets the SETTINGS button text. + + + + + Occurs when SETTINGS button, if displayed, is clicked. + + + + + Occurs when HELP button, if displayed, is clicked. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents the Color scheme used by items on the Bar. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + VS.NET 2005 Blue Color Scheme + + + + + Converts hex string to Color type. + + Hexadecimal color representation. + Reference to Color object. + + + + Converts hex string to Color type. + + Color representation as 32-bit RGB value. + Reference to Color object. + + + + Converts hex string to Color type. + + Color representation as 32-bit RGB value. + Reference to Color object. + + + + Specifies Dock Site BackColor. + + + + + Specifies Dock Site BackColor2. + + + + + Specifies the gradient angle. + + + + + Specifies the menu bar background color. + + + + + Specifies the target menu bar gradient background color. + + + + + Specifies the gradient angle. + + + + + Specifies the background color for the bar when floating or when docked. + + + + + Specifies the target gradient background color for the bar when floating or when docked. + + + + + Specifies the gradient angle. + + + + + Specifies the background color for the bar Caption. + + + + + Specifies the target gradient background color for the bar Caption. + + + + + Specifies the gradient angle. + + + + + Specifies the color for text of the Caption. + + + + + Specifies the Bar Caption inactive (lost focus) background color. + + + + + Specifies the target background gradient Bar Caption inactive (lost focus) color. + + + + + Specifies the gradient angle. + + + + + Specifies the Bar inactive (lost focus) text color. + + + + + Specifies the background color for popup bars. + + + + + Specifies the border color for popup bars. + + + + + Specifies the border color for docked bars. + + + + + Specifies the color of the grab handle stripes. + + + + + Specifies the border color for floating bars. + + + + + Specifies the item background color. + + + + + Specifies the target item background gradient color. + + + + + Specifies the gradient angle. + + + + + Specifies the item text color. + + + + + Specifies the background color for the item that is disabled. + + + + + Specifies the text color for the item that is disabled. + + + + + Specifies the background color when mouse is over the item. + + + + + Specifies the target gradient background color when mouse is over the item. + + + + + Specifies the gradient angle. + + + + + Specifies the text color when mouse is over the item. + + + + + Specifies the border color when mouse is over the item. + + + + + Specifies the background color when item is pressed. + + + + + Specifies the target gradient background color when item is pressed. + + + + + Specifies the gradient angle. + + + + + Specifies the text color when item is pressed. + + + + + Specifies the border color when item is pressed. + + + + + Specifies the color for the item group separator. + + + + + Specifies the color for the item group separator shade. + + + + + Specifies the background color for the shadow of expanded item. + + + + + Specifies the background color for the expanded item. + + + + + Specifies the target gradient background color for the expanded item. + + + + + Specifies the gradient angle. + + + + + Specifies the text color for the expanded item. + + + + + Specifies the border color for the expanded item. + + + + + Specifies the background color for the checked item. + + + + + Specifies the target gradient background color for the checked item. + + + + + Specifies the gradient angle. + + + + + Specifies the border color for the checked item. + + + + + Specifies the text color for the checked item. + + + + + Specifies the customize item background color. Applies to Office2003 style only. + + + + + Specifies the customize item target gradient background color. Applies to Office2003 style only. + + + + + Specifies the customize item background color gradient angle. Applies to Office2003 style only. + + + + + Specifies the customize item text color. Applies to Office2003 style only. + + + + + Specifies the color of the menu border. + + + + + Specifies the background color of the menu. + + + + + Specifies the target gradient background color of the menu. + + + + + Specifies the angle of the gradient fill for the menu background. + + + + + Specifies the background color of the menu part (left side) that is showing the images. + + + + + Specifies the target gradient background color of the menu part (left side) that is showing the images. + + + + + Specifies the angle of the gradient fill for the menu part (left side) that is showing the images. + + + + + Specifies the background color for the items that were not recently used. + + + + + Specifies the side bar color for the items that were not recently used. + + + + + Specifies the target gradient side bar color for the items that were not recently used. + + + + + Specifies the angle of the gradient fill for the menu part (left side) that is showing the images. + + + + + Specifies the border color for focused design-time item. + + + + + Gets or sets predefined color scheme. By default DotNetBar will automatically change and generate color scheme depending on system colors. + + + + + Specifies the background color of the panel. + + + + + Specifies the target background gradient color of the panel. + + + + + Specifies the angle of the gradient fill for the panel background. + + + + + Specifies border color of the panel. + + + + + Specifies color of the text on the panel. + + + + + Specifies the background color of the explorer bar. + + + + + Specifies the target gradient background color of the explorer bar. + + + + + Specifies the angle of the gradient fill for the explorer bar background. + + + + + Specifies the foreground color of MDI System Item buttons. + + + + + Specifies the background color of the Splitter. + + + + + Specifies the target background gradient color of the Splitter. + + + + + Specifies the angle of the gradient fill for the Splitter background. + + + + + Specifies border color of the Splitter. + + + + + Specifies color of the text on the Splitter. + + + + + Indicates auto-hide panel background image if any. + + + + + Gets or sets the color of the auto-hide panel background. + + + + + Gets or sets the color of the auto-hide panel background. + + + + + Gets or sets the color of the auto-hide tab. + + + + + Gets or sets the color of the auto-hide tab. + + + + + Gets or sets the auto-hide tab background gradient angle. + + + + + Gets or sets the color of the auto-hide tab text. + + + + + Gets or sets the color of the auto-hide tab border. + + + + + Gets or sets the color of the auto-hide tab. + + + + + Gets or sets the color of the auto-hide tab. + + + + + Gets or sets the color of the auto-hide tab text. + + + + + Gets or sets the color of the tab border. + + + + + Specifies the type of predefined color scheme in ColorScheme object. + + + + + Default value. DotNetBar will automatically change and generate color scheme depending on system colors. + + + + + Blue Office 2003 Color Scheme. This setting specifies that this color scheme will be used regardless of system color setting on user machine. + + + + + Olive Green Office 2003 Color Scheme. This setting specifies that this color scheme will be used regardless of system color setting on user machine. + + + + + Silver Office 2003 Color Scheme. This setting specifies that this color scheme will be used regardless of system color setting on user machine. + + + + + Always use system colors to auto-generate color scheme. + + + + + Specifies a color scheme member. + + + + + Summary description for ColorSchemeEditor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Summary description for ColorSchemeVSEditor. + + + + + Represents Color type editor with support for color schemes. + + + + + Edits the value of the specified object using the editor style indicated by GetEditStyle. + + An ITypeDescriptorContext that can be used to gain additional context information. + An IServiceProvider that this editor can use to obtain services. + The object to edit. + The new value of the object. + + + + Gets the editor style used by the EditValue method. + + An ITypeDescriptorContext that can be used to gain additional context information. + A UITypeEditorEditStyle value that indicates the style of editor used by EditValue. If the UITypeEditor does not support this method, then GetEditStyle will return None. + + + + + Provides command related utility methods that register and unregister commands. + + + + + Connects the Command Source to the Command. + + Command source to connect to the command. + Reference to the command. + + + + Disconnects command source from the command. + + Reference to command source. + Reference to the command. + + + + Unregister command from all subscribers. Called when command is disposed. + + Command to unregister. + + + + Gets an array of Command Sources that are connected with the command. + + Reference to command + An array of command sources. + + + + Gets or sets whether commands use Reflection to find the property names when applying value to the unknown types. Default value is true. + Setting this value to false will increase performance if Unknown types are used but it will at same time disable the + command setting value for these types. + + + + + Gets or sets whether layout on the items of type BaseItem is automatically updated when command text or other property changes which requires layout updated. Default value is true. + + + + + Represents the bound data navigator in current DotNetBar style. + + + + + Creates new instance of BindingNavigatorEx + + + + + Creates new instance of BindingNavigatorEx + + + + + Creates new instance of BindingNavigatorEx + + + + + Creates new instance of BindingNavigatorEx + + + + + Adds default items that make up the binding navigation control. + + + + + Gets or sets the reference to Add New record button. + + + + + Gets or sets the binding source for the navigator. + + + + + Gets or sets the label which represents the items count. + + + + + Indicates the format string for the label which displays the number of items bound. + + + + + Gets or sets the item which deletes current record. + + + + + Gets or sets the item which moves to first record. + + + + + Gets or sets the item which moves to last record. + + + + + Gets or sets the item which moves to next record. + + + + + Gets or sets the item which moves to previous record. + + + + + Gets or sets the text-box which shows current position. + + + + + Represents the class for the BaseItem non-popup based control host. + + + + + Creates new instance of the object. + + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrieved from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Paints the control focus cues. + + Paint event information. + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Resets style to default value. Used by windows forms designer. + + + + + Called when visual property of the control has changed so the control can be updated. + + + + + Forces the button to perform internal layout. + + + + + Recalculates the size of the internal item. + + + + + Indicates to control that all further update operations should not result in layout and refresh of control content. + Use this method to optimize the addition of new items to the control. This method supports nested calls meaning + that multiple calls are allowed but they must be ended with appropriate number of EndUpdate calls. + IsUpdateSuspended property returns whether update is suspended. + + + + + Indicates that update operation is complete and that control should perform layout and refresh to show changes. See BeginUpdate + for more details. + + + + + Indicates that update operation is complete and that control should perform layout and refresh to show changes. See BeginUpdate + for more details. + + + + + Gets or sets the instance of BaseItem object hosted by this control. + + + + + Gets or sets whether during painting OnPaintBackground on base control is called when BackColor=Transparent. + + + + + Gets or sets whether control displays focus cues when focused. + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Specifies the background style of the control. + + + + + Gets or sets Bar Color Scheme. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets/Sets the visual style for the control. + + + + + Gets whether control layout is suspended becouse of the call to BeginUpdate method. + + + + + Initializes a new instance of the CircularProgress class. + + + + + Raises ValueChanged event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when Value property has changed. + + + + + Gets or sets the circular progress bar type. + + + + + Gets or sets the maximum value of the progress bar. + + + + + Gets or sets the minimum value of the progress bar. + + + + + Gets or sets the color of the progress percentage text. + + + + + Gets or sets whether text that displays the progress bar completion percentage text is visible. Default value is false. + + + + + Gets or sets the text displayed on top of the circular progress bar. + + + + + Gets or sets the current value of the progress bar. + + + + + Gets or sets whether endless type progress bar is running. + + + + + Gets or sets the color of the color of progress indicator. + + + + + Gets or sets the color of the pie progress bar dark border. + + + + + Gets or sets the color of the pie progress bar light border. + + + + + Gets or sets the color of the spoke progress bar dark border. + + + + + Gets or sets the color of the spoke progress bar light border. + + + + + Gets or sets format string for progress value. + + + + + Gets or sets the animation speed for endless running progress. Lower number means faster running. + + + + + Initializes a new instance of the CollapsibleSplitContainer class. + + + + + Raises BeforeNearCollapseButtonClick event. + + Provides event arguments. + + + + Raises NearCollapseButtonClick event. + + Provides event arguments. + + + + Raises BeforeFarCollapseButtonClick event. + + Provides event arguments. + + + + Raises FarCollapseButtonClick event. + + Provides event arguments. + + + + Called when ButtonPosition property has changed. + + Old property value + New property value + + + + Called when CollapseMode property has changed. + + Old property value + New property value + + + + + Occurs after near collapse button is clicked. + + + + + Occurs before far collapse button is clicked and allows you to cancel its action. + + + + + Occurs after far collapse button is clicked. + + + + + Indicates position of buttons inside container. + + + + + Specifies how panels are collapsed when collapse buttons are pressed. + + + + + Defines available positions for buttons inside CollapsibleSplitterContainer. + + + + + Buttons are positioned on left or top side depending on orientation. + + + + + Buttons are positioned in center of container. + + + + + Buttons are positioned on right or bottom side depending on orientation. + + + + + Defines collapse mode for the CollapsibleSplitContainer control. + + + + + When buttons are pressed the splitter is positioned at the PanelMinSize. + + + + + When buttons are pressed associated panel is collapsed through Panel1Collapsed or Panel2Collapsed properties. + + + + + Represents the color picker button control. + + + + + Creates new instance of the object. + + + + + Displays the Colors dialog that allows user to choose the color or create a custom color. If new color is chosen the + SelectedColorChanged event is raised. + + + + + Raises the ColorPreview event. + + Provides event data. + + + + Raises the SelectedColorChanged event. + + Provides event data. + + + + Indicates whether SubItems collection is serialized. ColorPickerDropDown does not serialize the sub items. + + + + + Gets whether property should be serialized. + + + + + Resets the property to its default value. + + + + + Invokes the ColorPreview event. + + Provides data for the event. + + + + Update the selected color image if the SelectedColorImageRectangle has been set and button is using Image property to display the image. + + + + + Occurs when color is chosen from drop-down color picker or from Custom Colors dialog box. Selected color can be accessed through SelectedColor property. + + + + + Occurs when mouse is moving over the colors presented by the color picker. You can use it to preview the color before it is selected. + + + + + Gets or sets the array of ColorItem objects that will be used as standard colors instead of built-in color palette. + See: http://www.devcomponents.com/kb2/?p=79 for instructions. + + + + + Gets or sets the array of ColorItem objects that will be used as theme colors instead of built-in color palette. + See: http://www.devcomponents.com/kb2/?p=79 for instructions. + + + + + Gets whether command is executed when button is clicked. + + + + + Gets or sets the Owner Window that will be used as owner for the colors modal dialog when displayed. + + + + + Gets or sets more colors menu item is visible which allows user to open Custom Colors dialog box. Default value is true. + + + + + Gets or sets the last selected color from either the drop-down or Custom Color dialog box. Default value is + Color.Empty. You can use SelectedColorChanged event to be notified when this property changes. + + + + + Gets or sets whether theme colors are displayed on drop-down. Default value is true. + + + + + Gets or sets whether standard colors are displayed on drop-down. Default value is true. + + + + + Gets or sets the rectangle in Image coordinates where selected color will be painted. Setting this property will + have an effect only if Image property is used to set the image. Default value is an empty rectangle which indicates + that selected color will not be painted on the image. + + + + + Represents enhanced Windows combo box control. + + + + + Creates new instance of ComboBoxEx. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Clean up any resources being used. + + + + + Loads all fonts available on system into the combo box. + + + + + Releases the focus from combo box. The control that last had focus will receive focus back when this method is called. + + + + + Called when DropDownColumns property has changed. + + Old property value + New property value + + + + Called when DropDownColumnsHeaders property has changed. + + Old property value + New property value + + + + Raises BeforeMultiColumnPopupOpen event. + + Provides event arguments. + + + + Raises the DataColumnCreated event. + + Provides event arguments. + + + + Raises SelectionChanging event. + + Provides event arguments. + + + + Called when MultiColumnControlFont property has changed. + + Old property value + New property value + + + + Called when Command property value changes. + + + + + Occurs when drop down portion of combo box is shown or hidden. + + + + + Gets or sets whether control displays focus cues when focused. + + + + + Gets or sets whether control is stand-alone control. Stand-alone flag affects the appearance of the control in Office 2007 style. + + + + + Gets or sets whether watermark text is displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark (tip) text displayed inside of the control when Text is not set and control does not have input focus. This property supports text-markup. + Note that WatermarkText is not compatible with the auto-complete feature of .NET Framework 2.0. + + + + + Gets or sets the watermark hiding behaviour. Default value indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets the combo box background color. Note that in Office 2007 style back color of the control is automatically managed. + + + + + Gets or sets whether the BackColor value you set is used instead of the style back color automatically provided by the control. Default + value is false which indicates that BackColor property is automatically managed. Set this property to true and then set BackColor property + to make control use your custom back color. + + + + + Gets or sets value indicating whether system combo box appearance is used. Default value is false. + + + + + Gets or sets value indicating whether the combo box is draw using the Windows XP Theme manager when running on Windows XP or theme aware OS. + + + + + Disables internal drawing support for the List-box portion of Combo-box. Default value is false which means that internal drawing code is used. If + you plan to provide your own drawing for combo box items you must set this property to True. + + + + + Gets or sets whether combo box generates the audible alert when Enter key is pressed. + + + + + The ImageList control used by Combo box to draw images. + + + + + Determines the visual style applied to the combo box when shown. Default style is Office 2007. + + + + + Gets or sets whether ComboBoxEx thumb button that displays drop-down is rendered. Default value is true. + + + + + Gets or sets whether ComboBoxEx border is rendered. Default value is true. + + + + + Indicates whether ItemHeight property is set automatically based on the current font when DrawMode=OwnerDrawFixed + + + + + Gets or sets the custom color table used to render combo-box items + + + + + Gets or sets the text color for the text in combo-box when control Enabled property is set to false. + Setting this property is effective only for DropDownList ComboBox style. + + + + + Gets or sets the control background color when control is disabled. Default value is an empty color which indicates that system background color is used when control is disabled. + + + + + Gets the window handle that the drop down list is bound to. + + + + + Gets or sets whether FocusHighlightColor is used as background color to highlight text box when it has input focus. Default value is false. + + + + + Gets or sets the color used as background color to highlight text box when it has input focus and focus highlight is enabled. + + + + + Gets or sets comma separated list of field names that are displayed on drop down. When set it activates ComboBoxEx multi-column drop-down mode. + DataSource must be set in order for drop-down to display data. + + + + + Indicates custom column names with each column separated by new line, i.e. \r\n escape sequence. + + + + + Occurs before the multi-column popup is opened and it allows canceling of popup by setting CancelEventArgs.Cancel=true. + + + + + Occurs when ColumnHeader is automatically created by control as result of data binding for multi-column drop-down and provides you with opportunity to modify it. + + + + + Occurs before selection on multi-column drop-down has changed and allows canceling of the change. Applies to multi-column drop-down only. + + + + + Gets or sets whether selection change on multi-column drop-down closes the popup. Default value is true. Applies to multi-column drop-down only. + + + + + Indicates whether multi-column popup size is preserved between popup displays if popup is resized by end-user. Applies to multi-column drop-down only. + + + + + Indicates whether multi-column popup can be resized by end user. Applies to multi-column drop-down only. + + + + + Indicates whether multi-column popup close button is visible. + + + + + Gets or sets whether multi-column popup window is open. Applies to multi-column drop-down only. + + + + + Gets the reference to the control which is used to display multi-column data on popup. Control is created just before the popup is opened. + + + + + Indicates the font used by the multi-column control on the popup. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Represents the method that will handle the DropDownChange event. + + + + + Summary description for ComboBoxItem. + + + + + Creates new instance of ComboBoxItem. + + + + + Creates new instance of ComboBoxItem and assigns item name. + + Item Name. + + + + Creates new instance of ComboBoxItem and assigns item name and item text. + + Item Name + Item Text. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Returns whether property should be serialized. + + + + + Overridden. Releases the input focus. + + + + + Raises the ComboBoxTextChanged event. + + Provides event arguments. + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Occurs when underlining control ComboBox.Text property has changed. + + + + + Occurs when selected item on combo box has changed. + + + + + Gets or sets the accessible role of the item. + + + + + Gets or sets whether combo box generates the audible alert when Enter key is pressed. + + + + + Gets or sets the text color of the combo box label. + + + + + IBlock member implementation + + + + + Gets or sets the width of the of the drop-down portion of a combo box. + + + + + Gets or sets the height of the of the drop-down portion of a combo box. + + + + + Indicates the Width of the combo box part of the item. + + + + + Indicates whether control automatically releases its input focus when selection is made using keyboard. + + + + + Returns the reference to the inner combo box control. + + + + + Indicates whether item caption is always shown. + + + + + Gets an object representing the collection of the items contained in inner ComboBoxEx. + + + + + Gets or sets a value specifying the style of the combo box. + + + + + Gets or sets the starting index of text selected in the combo box. + + + + + Gets or sets the number of characters selected in the editable portion of the combo box. + + + + + Gets or sets the text that is selected in the editable portion of a combo box. + + + + + Gets or sets currently selected item in the combo box. + + + + + Gets or sets the index specifying the currently selected item. + + + + + Gets or sets the value indicating whether the item automatically loads all the fonts available into the combo box. + + + + + Gets or sets the height of an item in the combo box. + + + + + Indicates item's visibility when on pop-up menu. + + + + + Gets or sets the value that indicates whether the item was recently used. + + + + + Overridden. Gets or sets the text associated with this item. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the item caption text displayed next to the combo box. + + + + + Gets or sets a string that specifies the property of the data source whose contents you want to display. When ComboBoxItem is used in DropDown mode + and objects like ComboItem are added to ComboBoxItems.Items collection DisplayMembers should be set to the name of the property you would + like to use as text representation in editable portion of ComboBox. For example in case of ComboItem objects property should be set to Text. + + + + + Specifies whether combo box is drawn using themes when running on OS that supports themes like Windows XP + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets whether watermark text is displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark (tip) text displayed inside of the control when Text is not set and control does not have input focus. This property supports text-markup. + Note that WatermarkText is not compatible with the auto-complete feature of .NET Framework 2.0. + + + + + Gets or sets the watermark hiding behaviour. Default value indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets whether control is stand-alone control. Stand-alone flag affects the appearance of the control in Office 2007 style. + + + + + Summary description for ComboItem. + + + + + Creates new instance of ComboItem. + + + + + Initializes a new instance of the ComboItem class. + + + + + + Initializes a new instance of the ComboItem class. + + + + + + + Initializes a new instance of the ComboItem class. + + + + + + + + Initializes a new instance of the ComboItem class. + + + + + + + Overridden. Returns a human-readable string representation of this object. + + A string that represents this object. + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the index value of the image assigned to the item. + + + + + Gets or sets the text alignment.. + + + + + Gets or sets the line alignment for the item. + + + + + Gets or sets the value that encapsulates text layout information (such as alignment, orientation, tab stops, and clipping) and display manipulations. + + + + + Gets or sets the image horizontal image position. + + + + + Gets or sets the font name used to draw the item text. + + + + + Gets or sets the text color. + + + + + Gets or sets the background color of the item. + + + + + Specifies style information applied to text. + + + + + Gets the em-size of this Font object in design units. + + + + + Gets or sets the image assigned to this item. + + + + + Gets or sets an object that contains data to associate with the item. + + + + + Serves as integration of regular Image class and Icon class + + + + + Specifies orientation of content. + + + + + Indicates Horizontal orientation of the content. + + + + + Indicates Vertical orientation of the content. + + + + + Specifies content horizontal alignment. + + + + + Content is left aligned.UI + + + + + Content is right aligned. + + + + + Content is centered. + + + + + Specifies content vertical alignment. + + + + + Content is top aligned. + + + + + Content is bottom aligned. + + + + + Content is in the middle. + + + + + Represents a extended content block interface for advanced layout information. + + + + + Returns whether element is an container so it receives full available size of parent control for layout. + + + + + Represents event arguments for SerialContentLayoutManager.NextPosition event. + + + + + Gets or sets the block that is layed out. + + + + + Gets or sets the current block position. + + + + + Gets or sets the calculated next block position. + + + + + Cancels default position calculation. + + + + + Represents event arguments for the SerialContentLayoutManager layout events. + + + + + Gets or sets the reference block object. + + + + + Gets or sets the position block will assume. + + + + + Cancel the layout of the block, applies only to BeforeXXX layout event. + + + + + Gets or sets the visibility index of the block. + + + + + Creates new instance of the class and initializes it with default values. + + + + + Delegate for SerialContentLayoutManager.NextPosition event. + + + + + Delegate for the SerialContentLayoutManager layout events. + + + + + Summary description for ContextExMenuTypeEditor. + + + + + Gets the editor style used by the EditValue method. + + An ITypeDescriptorContext that can be used to gain additional context information. + A UITypeEditorEditStyle value that indicates the style of editor used by EditValue. If the UITypeEditor does not support this method, then GetEditStyle will return None + + + + Represents the context menu bar that provides the context menus for the System.Windows.Forms.Control inherited controls on the form. + + + + + Returns the instance of the BaseItem that is assigned as context menu to the control. + + Control to return context menu for. + Instance of the BaseItem used as context menu for the control. + + + + Assigns the context menu to a control. + + Control to assign the context menu to. + Instance of PopupItem derived class usually ButtonItem to act as context menu for a control. The SubItems collection of the item specified here actually defines the visible context menu items. + + + + Gets/Sets whether Bar is visible or not. + + + + + Summary description for Popups. + + + + + Summary description for ControlContainerItem. + + + + + Creates new instance of ControlContainerItem and assigns item name. + + + + + Creates new instance of ControlContainerItem and assigns item name. + + Item name. + + + + Creates new instance of ControlContainerItem and assigns item name and item text. + + Item name. + Item text. + + + + Overridden. Returns the copy of the ControlContainerItem. + + Copy of the ControlContainerItem. + + + + Overridden. Draws the item. + + Target Graphics object. + + + + Overridden. Recalculates the size of the item. + + + + + Called when size of the item is changed externally. + + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Occurs when container control needs to be assigned to the item. + + + + + Indicates item's visiblity when on pop-up menu. + + + + + Indicates whether item was recently used. + + + + + Gets/Sets informational text (tooltip) for the item. + + + + + Gets or sets the reference to the control that is managed by the item. + + + + + IBlock member implementation + + + + + Specifies whether contained control can be automatically resized to fill the item container. + + + + + Represents the Check Box control with extended styles. + + + + + Invokes the CheckedChanged event. + + + + + Invokes CheckedChanging event. + + + + + Called when Command property value changes. + + + + + Occurs before Checked property is changed and allows you to cancel the change. + + + + + Occurs after Checked property is changed with extended information. + + + + + Occurs after Checked property is changed. This event is provided for the Windows Forms data binding support. You can use CheckedChangedEx to get extended information about the changed. + + + + + Occurs after Checked property is changed. This event is provided for the Windows Forms data binding support. You can use CheckedChangedEx to get extended information about the changed. + + + + + Gets or sets the size of the check or radio sign. Default value is 13x13. Minimum value is 6x6. + + + + + Gets or sets whether text-markup support is enabled for controls Text property. Default value is true. + Set this property to false to display HTML or other markup in the control instead of it being parsed as text-markup. + + + + + Gets or sets the appearance style of the item. Default value is CheckBox. Item can also assume the style of radio-button. + + + + + Gets or sets the check box position relative to the text. Default value is Left. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or sets whether text assigned to the check box is visible. Default value is true. + + + + + Gets or sets the text color. Default value is Color.Empty which indicates that default color is used. + + + + + Gets or sets the text associated with the control. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Gets or sets a value indicating whether the CheckBox will allow three check states rather than two. If the ThreeState property is set to true + CheckState property should be used instead of Checked property to set the extended state of the control. + + + + + Specifies the state of a control, such as a check box, that can be checked, unchecked, or set to an indeterminate state. + + + + + Gets the underlying CheckBoxItem + + + + + Gets or sets whether mnemonic character assigned to control is processed only if Alt key is pressed. Default value is false which indicate that Alt key is not required. + + + + + Gets or set whether the Checked values and the item appearance are automatically changed when the Check-Box is clicked. Default value is true. + + + + + Gets or sets the object that represents the Checked state of control. + + + + + Gets or sets whether empty string is consider as null value during CheckValue value comparison. Default value is true. + + + + + Gets or sets the value that represents the Indeterminate state of check box when CheckValue property is set to that value. Default value is null. + + + + + Gets or sets the value that represents the Checked state of check box when CheckValue property is set to that value. Default value is null. + + + + + Gets or sets the value that represents the Unchecked state of check box when CheckValue property is set to that value. Default value is null. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is checked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is unchecked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is in indeterminate state. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Delegate for OptionGroupChanging event. + + + + + Represents event arguments for OptionGroupChanging event. + + + + + Set to true to cancel the checking on NewChecked button. + + + + + Check-box that will become checked if operation is not cancelled. + + + + + Check-box that is currently checked and which will be unchecked if operation is not cancelled. This property will have only valid values for eCheckBoxStyle.RadioButton style CheckBoxItems. + + + + + Indicates the action that has caused the event. + + + + + Default constructor. + + + + + Represents the combo box like control which shows the AdvTree control on popup. Tree control + can be configured to display multiple columns as well. + + + + + Initializes a new instance of the TextBoxDropDown class. + + + + + Raises FormattingEnabledChanged event. + + Event arguments. + + + + Raises FormatStringChanged event. + + Event arguments. + + + + Raises FormatInfoChanged event. + + Event arguments. + + + + Raises the DataSourceChanged event. + + An EventArgs that contains the event data. + + + + Raises the DisplayMemberChanged event. + + An EventArgs that contains the event data. + + + + When overridden in a derived class, resynchronizes the item data with the contents of the data source. + + + + + When overridden in a derived class, sets the specified array of objects in a collection in the derived class. + + An array of items. + + + + Raises the DataColumnCreated event. + + Provides event arguments. + + + + Raises the DataNodeCreated event. + + Provides event arguments. + + + + Creates a new node for the data item. + + Item to create node for. + New instance of the node. + + + + Raises the DataNodeCreated event. + + Provides event arguments. + + + + When overridden in a derived class, sets the object with the specified index in the derived class. + + The array index of the object. + The object. + + + + Called when ParentFieldName property has changed. + + + + + Called when GroupingMembers property has changed. + + + + + Raises the Format event. + + Event parameters + + + + Raises the SelectedIndexChanged event. + + Event arguments. + + + + Raises the ValueMemberChanged event. + + Event arguments. + + + + Raises the SelectedValueChanged event. + + Event arguments. + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Renders the selected node inside the combo box. + + Graphics reference. + Render bounds. + + + + Updates popup tree size based on its content. + + + + + Shows drop-down popup. Note that popup will be shown only if there is a DropDownControl assigned or DropDownItems collection has at least one item. + + + + + Closes the drop-down popup if it is open. + + + + + Called when PopupLocation property has changed. + + Old property value + New property value + + + + Raises the ButtonClearClick event. + + + + + + Raises the ButtonDropDownClick event. + + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Command property value changes. + + + + + Occurs when Clear button is clicked and allows you to cancel the default action performed by the button. + + + + + Occurs when Drop-Down button that shows popup is clicked and allows you to cancel showing of the popup. + + + + + Occurs when ButtonCustom control is clicked. + + + + + Occurs when ButtonCustom2 control is clicked. + + + + + Occurs when the text alignment in text box has changed. + + + + + Occurs before Node has been selected by user or through the SelectedNode property. Event can be canceled. + + + + + Occurs after node has been selected by user or through the SelectedNode property. + + + + + Occurs when the DataSource changes. + + + + + Occurs when the DisplayMembers property changes. + + + + + Occurs when the control is bound to a data value that need to be converted. + + + + + Occurs when FormattingEnabled property changes. + + + + + Occurs when FormatString property changes. + + + + + Occurs when FormatInfo property has changed. + + + + + Occurs when a Node for an data-bound object item has been created and provides you with opportunity to modify the node. + + + + + Occurs when a group Node is created as result of GroupingMembers property setting and provides you with opportunity to modify the node. + + + + + Occurs when value of ValueMember property has changed. + + + + + Occurs when value of SelectedValue property has changed. + + + + + Occurs when value of SelectedIndex property has changed. + + + + + Occurs when ColumnHeader is automatically created by control as result of data binding and provides you with opportunity to modify it. + + + + + Gets or sets the tree node that is currently selected in the tree control. + + + If no Node is currently selected, the + SelectedNode property is a null reference (Nothing in Visual + Basic). + + + + + Gets or sets whether selection change on popup tree closes the popup. Default value is true. + + + + + Gets or sets the field name that holds the text that will be displayed in the control for selected item. When not set all items set in DisplayMembers will be displayed in control. + + + + + Gets or sets the field name that holds the text that will be displayed in the control for selected item. When not set all items set in DisplayMembers will be displayed in control. + + + + + Gets or sets the comma separated list of property or column names to display on popup tree control. + + + + + Gets or sets the data source for the ComboTree. Expected is an object that implements the IList or IListSource interfaces, + such as a DataSet or an Array. The default is null. + + + + + Gets or sets a value indicating whether formatting is applied to the DisplayMembers property of the control. + + + + + Gets or sets the format-specifier characters that indicate how a value is to be displayed. + + + + + Gets or sets the IFormatProvider that provides custom formatting behavior. + + + + + Gets or sets comma separated field or property names that holds the value that is used to identify node and parent node. Format expected is: FieldNodeId,ParentNodeFieldId. For example if your table represents departments, you have DepartmentId field which uniquely identifies a department and ParentDepartmentId field which identifies parent of the department if any you would set this property to DepartmentId,ParentDepartmentId. + Note that you can only use ParentFieldNames or GroupingMembers property but not both. If both are set ParentFieldName take precedence. + + + + + Gets or sets comma separated list of field or property names that are used for grouping when data-binding is used. + + + + + Gets or sets style for automatically created group nodes when data-binding is used and GroupingMembers property is set. + + + Name of the style assigned or null value indicating that no style is used. + Default value is null. + + + + + Gets or sets the index specifying the currently selected item. + + + + + Gets or sets the property to use as the actual value for the items in the control. Applies to data-binding scenarios. SelectedValue property will return the value of selected node as indicated by this property. + + + + + Gets or sets the value of the member property specified by the ValueMember property. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets whether watermark text is displayed if set for the input items. Default value is true. + + + + + Gets or sets the watermark text displayed on the input control when control is empty. + + + + + Gets or sets the watermark text alignment. Default value is left. + + + + + Gets or sets whether FocusHighlightColor is used as background color to highlight text box when it has input focus. Default value is false. + + + + + Gets or sets the color used as background color to highlight text box when it has input focus and focus highlight is enabled. + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Indicates whether Enter key when pressed while control has input focus toggles the popup. Default value is true. + + + + + Gets or sets whether keyboard incremental search is enabled. Default value is true. + + + + + Gets or sets whether during keyboard search selected node can be set to nothing/null if there is no match found. + Default value is true. + + + + + Gets or sets the keyboard search buffer expiration timeout. Default value is 1000 which indicates that + key pressed within 1 second will add to the search buffer and control will be searched for node text + that begins with resulting string. Setting this value to 0 will disable the search buffer. + + + + + Indicates the custom popup location for the ComboTree popup + + + + + Gets or sets the reference of the control that will be displayed on popup that is shown when drop-down button is clicked. + + + + + Gets the collection of BaseItem derived items displayed on popup menu. + + + + + Gets the reference to internal AdvTree control that is displayed on popup Use it to get access to the AdvTree events and properties. + + + + + Gets or sets the height in pixels of the drop-down portion of the ComboTreeBox control. + + + + + Gets or sets the width in pixels of the drop-down portion of the ComboTreeBox control. + + + + + Gets or sets a value indicating whether the combo box is displaying its drop-down portion. + + + + + Gets the collection of tree nodes that are assigned to the popup tree view control. + + + A NodeCollection that represents the tree nodes + assigned to the tree control. + + + The Nodes property holds a collection of Node objects, each of which has a + Nodes property that can contain its own NodeCollection. + + + + + Gets the collection of column headers that appear in the popup tree. + + + By default there are no column headers defined. In that case tree control + functions as regular tree control where text has unrestricted width. + If you want to restrict the horizontal width of the text but not display + column header you can create one column and set its width to the width desired and + set its Visible property to false. + + + + + Gets or sets whether column headers are visible if they are defined through Columns collection. Default value is true. + + + + + Gets or sets whether grid lines are displayed when columns are defined. Default value is true. + + + + + Gets or sets the grid lines color. + + + + + Gets or sets whether horizontal grid lines between each row are displayed. Default value is false. + + + + + Gets or sets whether node is highlighted when mouse enters the node. Default value is false. + + + There are two ways to enable the node hot-tracking. You can set the HotTracking property to true in which case the + mouse tracking is enabled using system colors specified in TreeColorTable. You can also define the NodeStyleMouseOver + style which gets applied to the node when mouse is over the node. + + + + + Gets or sets the node selection box style for popup tree control. + + SelectionBox Property + SelectionBoxSize Property + SelectionBoxFillColor Property + SelectionBoxBorderColor Property + + + + Gets or sets the ImageList that contains the Image objects used by the tree nodes. + + + + + Gets or sets the image-list index value of the default image that is displayed by the tree nodes. + + + + + Gets or sets the control background color when control is disabled. Default value is an empty color which indicates that system background color is used when control is disabled. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Represents the method that will handle converting for ComboTree control. + + + + + + + Gets the reference to the item being converted. + + + + + Get the reference to the name of the field or property on the item that needs conversion. + + + + + Defines delegate for data node based events. + + + + + Defines event arguments for data node based events. + + + + + Gets or sets the node that is created for data item. + + + + + Gets the data-item node is being created for. + + + + + Initializes a new instance of the DataNodeEventArgs class. + + + + + + + Defines delegate for data column based events. + + + + + Defines event arguments for data column based events. + + + + + Gets or sets the column header that is created for data. + + + + + Initializes a new instance of the DataColumnEventArgs class. + + + + + + Initializes a new instance of the ControlWithBackgroundStyle class. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is true. + + + + + Specifies the background style of the control. + + + + + Represents the DataGridView control with enhanced Office 2007 style. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Indicates whether control will delay call to OnResize base DataGridView method when control is running on MDI Child which was introduced as workaround to an issue in control. + + + + + Gets or sets the scroll-bar visual style. + + + + + Gets or sets whether selected column header is highlighted. Default value is true. + + + + + Gets or sets whether select all sign displayed in top-left corner of the grid is visible. Default value is true. + + + + + Gets or sets whether enhanced selection for the cells is painted in Office 2007 style. Default value is true. + + + + + Indicates whether BackgroundColor property set on DataGridView is obeyed instead of using system color scheme color. + + + + + GetContentBounds + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the Button background + + + + + + + + Paints the button background and content + + + + + + + + + + + OnMouseEnter + + + + + + Establishes the given rowIndex as the + ActiveRowIndex. + + + + + + Processes MouseLeave events + + + + + + Processes MouseMove events + + + + + + Processes MouseDown events + + + + + + Processes MouseUp events + + + + + + Determines if the given part is set + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + + GetValue + + + + + + + Initiates the refresh of the cell button + + + + + + + Gets the Type of the editing control associated with the cell + + + + + FormattedValueType + + + + + Gets whether the Column cells will fully paint + their cell background and content + + + + + Constructor + + + + + Gets whether ImageFixedSize property should be serialized. + + + + + Hooks or unhooks our system events + + + + + + Processes Button expand changes + + + + + + + ButtonItem_Click + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Dispose + + + + + + Gets or sets the active row index + + + + + Gets the Control Button + + + + + Gets or sets the Current row index + + + + + Gets or sets a expanded button + was just closed + + + + + Gets or sets the cell callback state + + + + + Gets or sets whether Checked property is automatically inverted, button checked/unchecked, when button is clicked. Default value is false. + + + + + Indicates whether the button will auto-expand when clicked. + When button contains sub-items, sub-items will be shown only if user + click the expand part of the button. Setting this property to true will expand the button and show sub-items when user + clicks anywhere inside of the button. Default value is false which indicates that button is expanded only + if its expand part is clicked. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or sets button Color Scheme. ColorScheme does not apply to Office2007 styled buttons. + + + + + Gets or sets the predefined color of the button. Color specified applies to buttons with Office 2007 style only. It does not have + any effect on other styles. Default value is eButtonColor.BlueWithBackground + + + + + Gets or sets the custom color name. Name specified here must be represented by the corresponding object with the same name that is part + of the Office2007ColorTable.ButtonItemColors collection. See documentation for Office2007ColorTable.ButtonItemColors for more information. + If color table with specified name cannot be found default color will be used. Valid settings for this property override any + setting to the Color property. Applies to items with Office 2007 style only. + + + + + Specifies the image for the button when items Enabled property is set to false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Indicates the way button is rendering the mouse over state. Setting the value to + Color will render the image in gray-scale when mouse is not over the item. + + + + + Specifies the image for the button when mouse is over the item. + + + + + Specifies the Button image. + + + + + Sets fixed size of the image. Image will be scaled and painted it size specified. + + + + + Gets/Sets the image position inside the button. + + + + + Gets or sets the amount of spacing between button image if specified and text. + + + + + Gets or sets the location of popup in relation to it's parent. + + + + + Specifies the image for the button when mouse left button is pressed. + + + + + Gets or sets an shape descriptor for the button + which describes the shape of the button. Default value is null + which indicates that system default shape is used. + + + + + Gets or sets whether button displays the expand part that indicates that button has popup. + + + + + Gets or sets whether button appears as split button. Split button appearance + divides button into two parts. Image which raises the click event when clicked + and text and expand sign which shows button sub items on popup menu when clicked. + Button must have both text and image visible (ButtonStyle property) in order to + appear as a full split button. + + + + + Gets/Sets the visual style for the button. + + + + + Returns the collection of sub items. + + + + + Gets or sets the width of the expand part of the button item. + + + + + Gets or sets the default Text to display on the Button + + + + + Gets or sets the text alignment. Applies only when button text is not composed using text markup. Default value is center. + + + + + Gets the Cell paint setting for the ButtonX control + + + + + BeforeCellPaintEventArgs + + + + + RowIndex of cell being painted + + + + + ColumnIndex of cell being painted + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the Button background + + + + + + + + Paints the button background and content + + + + + + + + + + + OnMouseEnter + + + + + + Processes MouseLeave events + + + + + + Processes MouseMove events + + + + + + Processes MouseDown events + + + + + + Processes MouseUp events + + + + + + Determines if the given part is set + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the Content bounds for the given cell + + + + + + + Initiates the refresh of the cell + + + + + + + Gets the Type of the editing control associated with the cell + + + + + FormattedValueType + + + + + Constructor + + + + + HookEvents + + + + + + CheckBoxItem_Click + + + + + + + CheckBoxItem_DoubleClick + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Dispose + + + + + + Gets or sets the active row index + + + + + Gets the Control Button + + + + + Gets or sets the Current row index + + + + + Gets or sets the MouseDown row index + + + + + Gets or sets the cell callback state + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is checked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is unchecked. + + + + + Gets or sets the custom image that is displayed instead default check box representation when check box is in indeterminate state. + + + + + Gets or sets the check box position relative to the text. + Default value is Left. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Specifies the state of the control, that can be + checked, unchecked, or set to an indeterminate state. + + + + + CheckValue + + + + + Gets or sets the value that represents the Checked state value of the check + box when CheckValue property is set to that value. Default value is null. + + + + + Gets or sets the value that represents the Indeterminate state of the check + box when CheckValue property is set to that value. Default value is null. + + + + + Gets or sets the value that represents the Unchecked state value of check + box when CheckValue property is set to that value. Default value is 'N'. + + + + + Gets or sets whether empty string is consider as null value + during CheckValue value comparison. Default value is true. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets whether text-markup support is enabled for controls + Text property. Default value is true. Set this property to false to + display HTML or other markup in the control instead of it being parsed as text-markup. + + + + + Gets or sets the default Text to display + + + + + Gets or sets the text color. Default value is + Color.Empty which indicates that default color is used. + + + + + Gets or sets whether text assigned to the check box is visible. + Default value is true. + + + + + Gets or sets a value indicating whether the CheckBox will allow + three check states rather than two. If the ThreeState property is + set to true CheckState property should be used instead of Checked + property to set the extended state of the control. + + + + + Gets the Cell paint setting for the ButtonX control + + + + + InitializeEditingControl + + + + + + + + DetachEditingControl + + + + + Click + + + + + + + DrawItem + + + + + + + DropDownChange + + + + + + + MeasureItem + + + + + + + PositionEditingControl + + + + + + + + + + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + ParseFormattedValue + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the cell background + + + + + + + + Paints the cell content + + + + + + + + + + + + DrawControl + + + + + + + + + + + DrawText + + + + + + + + + MustRenderVisibleControl + + + + + + + OnMouseEnter + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + Determines if the given part is set + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + Constructor + + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + HookEvents + + + + + + ComboBoxEx_DataSourceChanged + + + + + + + DoComboBoxEx_Click + + + + + + + DoComboBoxEx_DrawItem + + + + + + + DoComboBoxEx_DropDownChange + + + + + + + DoComboBoxEx_MeasureItem + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Dispose + + + + + + Occurs right before a ComboBox Cell is painted + + + + + Occurs when the ComboBox is clicked + + + + + Occurs when a visual aspect of an owner-drawn ComboBox changes + + + + + Occurs when drop down portion of the ComboBox is shown or hidden. + + + + + Occurs each time an owner-drawn ComboBox item needs + to be drawn and when the sizes of the list items are determined + + + + + Gets the underlying ComboBoxEx control + + + + + Gets or sets the ComboBox CurrencyManager + + + + + Gets or sets a custom System.Collections.Specialized.StringCollection + to use when the AutoCompleteSource property is set to CustomSource. + + + + + Gets or sets an option that controls how automatic completion works for the ComboBox. + + + + + Gets or sets a value specifying the source of complete strings used for automatic completion. + + + + + Gets or sets the data source that populates the selections for the combo box + + + + + Gets or sets a string that specifies the property or column + from which to retrieve strings for display in the combo box. + + + + + Gets or sets whether the control + will be displayed for the current cell only. + + + + + Gets or sets a value indicating whether user code or + operating system code will handle drawing of elements in the list. + + + + + Gets or sets a value specifying the style of the combo box. + + + + + Gets or sets the height in pixels of the drop-down portion of the ComboBox. + + + + + Gets or sets the width of the drop-down lists of the combo box. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets the flat style appearance of the column's cells. + + + + + Gets or sets whether control displays focus cues when focused. + + + + + Gets or sets the format-specifier + characters that indicate how a value is to be displayed. + + + + + Gets or sets a value indicating whether formatting is applied to the DisplayMember property. + + + + + Gets or sets the ImageList control used by Combo box to draw images. + + + + + Gets or sets the Input Method Editor (IME) mode of the control. + + + + + Gets or sets a value indicating whether + the control should resize to avoid showing partial items. + + + + + Gets or sets whether control is stand-alone control. + Stand-alone flag affects the appearance of the control in Office 2007 style. + + + + + Gets or sets the height of an item in the combo box. + + + + + Gets the collection of objects used as selections in the combo box. + + + + + Gets or sets the maximum number of items + in the drop-down list of the cells in the column. + + + + + Gets or sets the number of characters a user can type into the ComboBox. + + + + + Gets or sets a value indicating whether control's + elements are aligned to support locales using right-to-left fonts. + + + + + Gets or sets whether the items in the combo box are sorted. + + + + + Determines the visual style applied to + the combo box when shown. Default style is Office 2007. + + + + + Gets or sets the text associated with this control. + + + + + Gets or sets a string that specifies the property or column + from which to get values that correspond to the selections in the drop-down list. + + + + + Gets or sets the watermark hiding behaviour. Default value + indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets whether watermark text is + displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark (tip) text displayed inside of the control when Text + is not set and control does not have input focus. This property supports text-markup. + Note that WatermarkText is not compatible with the auto-complete feature of .NET Framework 2.0. + + + + + Gets the Cell paint setting for the control + + + + + DropDownChangeEventArgs + + + + + ColumnIndex + + + + + Expanded state + + + + + RowIndex + + + + + Handles OnTextChanged events + + + + + + OnSelectedIndexChanged + + + + + + NotifyDataGridViewOfValueChange + + + + + ApplyCellStyleToEditingControl + + + + + + Gets EditingControlFormattedValue + + + + + + + Gets whether the given key wants to be processed + by the Control + + + + + + + + PrepareEditingControlForEdit + + + + + + Gets or sets the DataGridView + + + + + Gets or sets the Control Formatted Value + + + + + Gets or sets the Control RoeIndex + + + + + Gets or sets the Control ValueChanged state + + + + + Gets the Panel Cursor + + + + + Gets whether to RepositionEditingControlOnValueChange + + + + + InitializeEditingControl + + + + + + + + DetachEditingControl + + + + + ButtonClearClick + + + + + + + ButtonCustomClick + + + + + + + ButtonCustom2Click + + + + + + + ButtonDropDownClick + + + + + + + ButtonFreeTextClick + + + + + + + ConvertFreeTextEntry + + + + + + + PositionEditingControl + + + + + + + + + + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the cell background + + + + + + + + Paints the cell content + + + + + + + + + + + DrawControl + + + + + + + + DrawText + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + GetValue + + + + + + + GetHorizontalAlignment + + + + + + + Determines if the given part is set + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + FormattedValueType + + + + + Constructor + + + + + Resets style to default value. Used by windows forms designer. + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + DoButtonClearClick + + + + + + + DoButtonCustomClick + + + + + + + DoButtonCustom2Click + + + + + + + DoButtonDropDownClick + + + + + + + DoButtonFreeTextClick + + + + + + + DoConvertFreeTextEntry + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Occurs right before a DateTimeInput Cell is painted + + + + + Occurs when Clear button is clicked and allows you + to cancel the default action performed by the button + + + + + Occurs when ButtonCustom control is clicked + + + + + Occurs when ButtonCustom2 control is clicked + + + + + Occurs when Drop-Down button that shows calendar + is clicked and allows you to cancel showing of the popup + + + + + Occurs when Free-Text button is clicked + and allows you to cancel its default action + + + + + Occurs if Free-Text entry value is not natively recognized by + the control and provides you with opportunity to convert that + value to the value the control expects + + + + + Gets the underlying DateTimeInput control + + + + + Gets or sets whether empty null/nothing state of the control is + allowed. Default value is true which means that IsEmpty property may + return true if input value is resets or ValueObject set to null/nothing. + + + + + Gets or sets whether input focus is automatically advanced + to next input field when input is complete in current one. + + + + + Gets or sets whether first day in month is automatically + selected on popup date picker when month or year is changed. + + + + + Gets or sets whether auto-overwrite functionality for input is enabled. + When in auto-overwrite mode input field will erase existing entry + and start new one if typing is continued after InputComplete method is called. + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button + that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button + that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the button + that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button + that switches the control into the free-text entry mode when clicked. + + + + + Gets or sets the custom date/time format string. + + + + + Gets or sets whether the control + will be displayed for the current cell only. + + + + + Gets or sets whether empty input values (year, month or day) are + set to defaults while user is entering data. Default value is true. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets the format date/time is displayed in. To specify + custom format set this value to Custom and specify custom format + using CustomFormat property. + + + + + Gets or sets the input field alignment inside the control + + + + + Gets or sets whether input part of the control is read-only. When set + to true the input part of the control becomes read-only and does not allow + the typing. However, drop-down part if visible still allows user to change + the value of the control. Use this property to allow change of the value + through drop-down picker only. + + + + + Gets or sets whether check box shown using ShowCheckBox + property which locks/unlocks the control update is checked. + + + + + Gets or sets the maximum date and time that can be selected in the control. + + + + + Gets or sets the minimum date and time that can be selected in the control. + + + + + Gets the reference to the internal MonthCalendarItem control which is used to display calendar when drop-down is open. + + + + + List of characters that when pressed would select next input field. For example if you are + allowing time input you could set this property to : so when user presses the : character, + the input is forwarded to the next input field. + + + + + Gets or sets a value indicating whether a check box is + displayed to the left of the input value. Set to true if a check box + is displayed to the left of the input value; otherwise, false. The default is false. + + When the ShowCheckBox property is set to true, a check box is displayed + to the left of the input in the control. When the check box is selected, the value + can be updated. When the check box is cleared, the value is unable to be changed. + You can handle the LockUpdateChanged event to be notified when this check box is checked + and unchecked. Use LockUpdateChecked property to get or sets whether check box is checked. + + + + + + Gets or sets a value indicating whether a spin button control + (up-down control) is used to adjust the current value. The default is false. + + When the ShowUpDown property is set to true, a spin button control + is shown to adjust value of currently focused input item. The value can + be adjusted by using the up and down buttons to change the value. + + + + + + Gets the Cell paint setting for the control + + + + + Handles OnValueChanged events + + + + + + ApplyCellStyleToEditingControl + + + + + + Gets EditingControlFormattedValue + + + + + + + Gets whether the given key wants to be processed + by the Control + + + + + + + + PrepareEditingControlForEdit + + + + + + Gets or sets the Edit state + + + + + Gets or sets the DataGridView + + + + + Gets or sets the Control Formatted Value + + + + + Gets or sets the Control RoeIndex + + + + + Gets or sets the Control ValueChanged state + + + + + Gets the Panel Cursor + + + + + Gets whether to RepositionEditingControlOnValueChange + + + + + InitializeEditingControl + + + + + + + + DetachEditingControl + + + + + ButtonClearClick + + + + + + + ButtonCustomClick + + + + + + + ButtonCustom2Click + + + + + + + ButtonDropDownClick + + + + + + + ButtonFreeTextClick + + + + + + + ConvertFreeTextEntry + + + + + + + PositionEditingControl + + + + + + + + + + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the cell background + + + + + + + + Paints the cell content + + + + + + + + + + + DrawControl + + + + + + + + DrawText + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + GetValue + + + + + + + GetHorizontalAlignment + + + + + + + Determines if the given part is set + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + FormattedValueType + + + + + Constructor + + + + + Resets style to default value. Used by windows forms designer. + + + + + DoButtonClearClick + + + + + + + DoButtonCustomClick + + + + + + + DoButtonCustom2Click + + + + + + + DoButtonDropDownClick + + + + + + + DoButtonFreeTextClick + + + + + + + DoConvertFreeTextEntry + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Occurs right before a DoubleInput Cell is painted + + + + + Occurs when Clear button is clicked and allows you + to cancel the default action performed by the button + + + + + Occurs when ButtonCustom control is clicked + + + + + Occurs when ButtonCustom2 control is clicked + + + + + Occurs when Drop-Down button that shows calendar + is clicked and allows you to cancel showing of the popup + + + + + Occurs when Free-Text button is clicked + and allows you to cancel its default action + + + + + Occurs if Free-Text entry value is not natively recognized by + the control and provides you with opportunity to convert that + value to the value the control expects + + + + + DoubleInput + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button + that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button + that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the button + that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button + that switches the control into the free-text entry mode when clicked. + + + + + Gets or sets the Numeric String Format that is used to format + the numeric value entered for display purpose. Read more about + available formats in MSDN under "Standard Numeric Format Strings" + and "Custom Numeric Format Strings" topics. + + The format specified here indicates the format for display purpose + only, not for the input purpose. For example to display the number + in system Currency format set the DisplayFormat to 'C'. + + + + + + Gets or sets whether the control + will be displayed for the current cell only. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets the value to increment or decrement the value of the + control when the up or down buttons are clicked. + + + + + Gets or sets the input field alignment inside the control + + + + + Gets or sets whether check box shown using ShowCheckBox + property which locks/unlocks the control update is checked. + + + + + Gets or sets the maximum value that can be entered. + + + + + Gets or sets the minimum value that can be entered. + + + + + Gets or sets a value indicating whether a check box is + displayed to the left of the input value. Set to true if a check box + is displayed to the left of the input value; otherwise, false. The default is false. + + When the ShowCheckBox property is set to true, a check box is displayed + to the left of the input in the control. When the check box is selected, the value + can be updated. When the check box is cleared, the value is unable to be changed. + You can handle the LockUpdateChanged event to be notified when this check box is checked + and unchecked. Use LockUpdateChecked property to get or sets whether check box is checked. + + + + + + Gets or sets a value indicating whether a spin button control + (up-down control) is used to adjust the current value. The default is false. + + When the ShowUpDown property is set to true, a spin button control + is shown to adjust value of currently focused input item. The value can + be adjusted by using the up and down buttons to change the value. + + + + + + Gets the Cell paint setting for the control + + + + + Handles OnValueChanged events + + + + + + ApplyCellStyleToEditingControl + + + + + + Gets EditingControlFormattedValue + + + + + + + Gets whether the given key wants to be processed + by the Control + + + + + + + + PrepareEditingControlForEdit + + + + + + Gets or sets the Edit state + + + + + Gets or sets the DataGridView + + + + + Gets or sets the Control Formatted Value + + + + + Gets or sets the Control RoeIndex + + + + + Gets or sets the Control ValueChanged state + + + + + Gets the Panel Cursor + + + + + Gets whether to RepositionEditingControlOnValueChange + + + + + InitializeEditingControl + + + + + + + + DetachEditingControl + + + + + ButtonClearClick + + + + + + + ButtonCustomClick + + + + + + + ButtonCustom2Click + + + + + + + ButtonDropDownClick + + + + + + + ButtonFreeTextClick + + + + + + + ConvertFreeTextEntry + + + + + + + PositionEditingControl + + + + + + + + + + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the cell background + + + + + + + + Paints the cell content + + + + + + + + + + + DrawControl + + + + + + + + DrawText + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + GetValue + + + + + + + GetHorizontalAlignment + + + + + + + Determines if the given part is set + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + FormattedValueType + + + + + Constructor + + + + + Resets style to default value. Used by windows forms designer. + + + + + DoButtonClearClick + + + + + + + DoButtonCustomClick + + + + + + + DoButtonCustom2Click + + + + + + + DoButtonDropDownClick + + + + + + + DoButtonFreeTextClick + + + + + + + DoConvertFreeTextEntry + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Occurs right before a DateTimeInput Cell is painted + + + + + Occurs when Clear button is clicked and allows you + to cancel the default action performed by the button + + + + + Occurs when ButtonCustom control is clicked + + + + + Occurs when ButtonCustom2 control is clicked + + + + + Occurs when Drop-Down button that shows calendar + is clicked and allows you to cancel showing of the popup + + + + + Occurs when Free-Text button is clicked + and allows you to cancel its default action + + + + + Occurs if Free-Text entry value is not natively recognized by + the control and provides you with opportunity to convert that + value to the value the control expects + + + + + IntegerInput + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button + that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button + that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the button + that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button + that switches the control into the free-text entry mode when clicked. + + + + + Gets or sets the Numeric String Format that is used to format + the numeric value entered for display purpose. Read more about + available formats in MSDN under "Standard Numeric Format Strings" + and "Custom Numeric Format Strings" topics. + + The format specified here indicates the format for display purpose + only, not for the input purpose. For example to display the number + in system Currency format set the DisplayFormat to 'C'. + + + + + + Gets or sets whether the control + will be displayed for the current cell only. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets the value to increment or decrement the value of the + control when the up or down buttons are clicked. + + + + + Gets or sets the input field alignment inside the control + + + + + Gets or sets whether check box shown using ShowCheckBox + property which locks/unlocks the control update is checked. + + + + + Gets or sets the maximum value that can be entered. + + + + + Gets or sets the minimum value that can be entered. + + + + + Gets or sets a value indicating whether a check box is + displayed to the left of the input value. Set to true if a check box + is displayed to the left of the input value; otherwise, false. The default is false. + + When the ShowCheckBox property is set to true, a check box is displayed + to the left of the input in the control. When the check box is selected, the value + can be updated. When the check box is cleared, the value is unable to be changed. + You can handle the LockUpdateChanged event to be notified when this check box is checked + and unchecked. Use LockUpdateChecked property to get or sets whether check box is checked. + + + + + + Gets or sets a value indicating whether a spin button control + (up-down control) is used to adjust the current value. The default is false. + + When the ShowUpDown property is set to true, a spin button control + is shown to adjust value of currently focused input item. The value can + be adjusted by using the up and down buttons to change the value. + + + + + + Gets the Cell paint setting for the control + + + + + Handles OnValueChanged events + + + + + + ApplyCellStyleToEditingControl + + + + + + Gets EditingControlFormattedValue + + + + + + + Gets whether the given key wants to be processed + by the Control + + + + + + + + PrepareEditingControlForEdit + + + + + + Gets or sets the Edit state + + + + + Gets or sets the DataGridView + + + + + Gets or sets the Control Formatted Value + + + + + Gets or sets the Control RoeIndex + + + + + Gets or sets the Control ValueChanged state + + + + + Gets the Panel Cursor + + + + + Gets whether to RepositionEditingControlOnValueChange + + + + + InitializeEditingControl + + + + + + + + DetachEditingControl + + + + + ButtonClearClick + + + + + + + ButtonCustomClick + + + + + + + ButtonCustom2Click + + + + + + + ButtonDropDownClick + + + + + + + PositionEditingControl + + + + + + + + + + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the cell background + + + + + + + + Paints the cell content + + + + + + + + + + + DrawControl + + + + + + + + DrawText + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + GetValue + + + + + + + GetHorizontalAlignment + + + + + + + Determines if the given part is set + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + Constructor + + + + + Resets style to default value. Used by windows forms designer. + + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + DoButtonClearClick + + + + + + + DoButtonCustomClick + + + + + + + DoButtonCustom2Click + + + + + + + DoButtonDropDownClick + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Occurs right before a IpAddressInput Cell is painted + + + + + Occurs when Clear button is clicked and allows you + to cancel the default action performed by the button + + + + + Occurs when ButtonCustom control is clicked + + + + + Occurs when ButtonCustom2 control is clicked + + + + + Occurs when Drop-Down button that shows calendar + is clicked and allows you to cancel showing of the popup + + + + + Gets the underlying IpAddressInput control + + + + + Gets or sets whether empty null/nothing state of the control + is allowed. Default value is true which means that Text property + may return null if there is no input value. + + + + + Gets or sets whether free-text entry is automatically + turned off when control loses input focus. Default value is false. + + + + + Gets or sets whether auto-overwrite functionality for input + is enabled. When in auto-overwrite mode input field will erase existing entry + and start new one if typing is continued after InputComplete method is called. + + + + + Gets or sets whether free text entries are attempted to be + auto-resolved to IP address as host/domain names. Default value is true. + + + + + Gets or sets the Background color. + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button + that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button + that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the button + that shows drop-down when clicked. + + + + + Gets or sets whether the control + will be displayed for the current cell only. + + + + + Gets or sets the reference of the control that will be + displayed on popup that is shown when the drop-down button is clicked. + + + + + Returns the collection of DropDownItems. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets the color used as background color to highlight + the text box when it has input focus and FocusHighlight is enabled. + + + + + Gets or sets whether FocusHighlightColor is used as + background color to highlight the text box when it has + input focus. Default value is false. + + + + + Gets or sets the foreground color. + + + + + Gets or sets whether control input is in + free-text input mode. Default value is false. + + + + + Gets or sets the Input Method Editor (IME) mode of the control. + + + + + Gets or sets whether input part of the control is read-only. When + set to true the input part of the control becomes read-only and does + not allow the typing. However, drop-down part if visible still allows + user to possibly change the value of the control through the method you + can provide on drop-down. Use this property to allow change of the value + through drop-down button only. + + + + + Gets or sets whether check box shown using ShowCheckBox + property which locks/unlocks the control update is checked. + + + + + Gets or sets a value indicating whether control's + elements are aligned to support locales using right-to-left fonts. + + + + + List of characters that when pressed would select next input field. For example if you are + allowing time input you could set this property to : so when user presses the : character, + the input is forwarded to the next input field. + + + + + Gets or sets a value indicating whether a check box is displayed to + the left of the input value. Set to true if a check box is displayed + to the left of the input value; otherwise, false. The default is false. + + + + + Gets or sets the text as it is currently displayed to the user. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets whether watermark text is + displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark (tip) text displayed inside of + the control when Text is not set and control does not have + input focus. This property supports text-markup. + + + + + Gets the Cell paint setting for the control + + + + + Control for input of the integer value. + + + + + Initializes a new instance of the IpAddressInput class. + + + + + Copies the current value in the control to the Clipboard. + + + + + Pastes the current Clipboard content if possible as the value into the control. + + + + + Moves the current control value to the Clipboard. + + + + + Shows drop-down popup. Note that popup will be shown only if there is a DropDownControl assigned or DropDownItems collection has at least one item. + + + + + Closes the drop-down popup if it is open. + + + + + Raises the ButtonClearClick event. + + + + + + Raises the ButtonDropDownClick event. + + + + + + Raises the LockUpdateChanged event. + + Provides event data./ + + + + Raises ValueChanged event. + + Provides event arguments. + + + + + + + + + + Called when Command property value changes. + + + + + Occurs when Clear button is clicked and allows you to cancel the default action performed by the button. + + + + + Occurs when Drop-Down button that shows calendar is clicked and allows you to cancel showing of the popup. + + + + + Occurs when ShowCheckBox property is set to true and user changes the lock status of the control by clicking the check-box. + + + + + Occurs when Value property has changed. + + + + + Gets the object that describes the settings for the button that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the button that switches the control into the free-text entry mode when clicked. + + + + + Gets or sets whether auto-overwrite functionality for input is enabled. When in auto-overwrite mode input field will erase existing entry + and start new one if typing is continued after InputComplete method is called. + + + + + Gets or sets whether empty null/nothing state of the control is allowed. Default value is true which means that Text property + may return null if there is no input value. + + + + + Gets or sets the reference of the control that will be displayed on popup that is shown when drop-down button is clicked. + + + + + Gets the collection of BaseItem derived items displayed on popup menu. + + + + + Gets or sets whether input part of the control is read-only. When set to true the input part of the control becomes + read-only and does not allow the typing. However, drop-down part if visible still allows user to possibly change the value of the control + through the method you can provide on drop-down. + Use this property to allow change of the value through drop-down button only. + + + + + Gets or sets a value indicating whether a check box is displayed to the left of the input value. + Set to true if a check box is displayed to the left of the input value; otherwise, false. The default is false. + + When the ShowCheckBox property is set to true, a check box is displayed to the left of the input in the control. When the check box is selected, the value can be updated. When the check box is cleared, the value is unable to be changed. + You can handle the LockUpdateChanged event to be notified when this check box is checked and unchecked. Use LockUpdateChecked property + to get or sets whether check box is checked. + + + + + + Gets or sets whether check box shown using ShowCheckBox property which locks/unlocks the control update is checked. + + + + + List of characters that when pressed would select next input field. For example if you are + allowing time input you could set this property to : so when user presses the : character, + the input is forwarded to the next input field. + + + + + Gets or sets the IP Address value represented by the control. + + + + + Occurs if Free-Text entry value is not natively recognized by the control and provides you with opportunity to convert that value to the + value control expects. + + + + + Occurs when Free-Text button is clicked and allows you to cancel its default action. + + + + + Gets or sets whether free text entries are attempted to be auto-resolved to IP address as host/domain names. Default value is true. + + + + + Gets or sets whether free-text entry is automatically turned off when control loses input focus. Default value is false. + + + + + Gets or sets whether control input is in free-text input mode. Default value is false. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Handles OnTextChanged events + + + + + + ApplyCellStyleToEditingControl + + + + + + Gets EditingControlFormattedValue + + + + + + + Gets whether the given key wants to be processed + by the Control + + + + + + + + PrepareEditingControlForEdit + + + + + + Gets or sets the Edit state + + + + + Gets or sets the DataGridView + + + + + Gets or sets the Control Formatted Value + + + + + Gets or sets the Control RoeIndex + + + + + Gets or sets the Control ValueChanged state + + + + + Gets the Panel Cursor + + + + + Gets whether to RepositionEditingControlOnValueChange + + + + + GetAdjustedEditingControlBounds + + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the Label background + + + + + + + + Paints the Label background and content + + + + + + + + + + + OnMouseEnter + + + + + + Processes MouseLeave events + + + + + + Processes MouseMove events + + + + + + Processes MouseDown events + + + + + + Processes MouseUp events + + + + + + CellAlignPoint + + + + + + + Determines if the given part is set + + + + + + + + Gets the background bounds for the given cell + + + + + + + + GetValue + + + + + + + GetHorizontalAlignment + + + + + + + Initiates the refresh of the cell label + + + + + + + Gets the Type of the editing control associated with the cell + + + + + FormattedValueType + + + + + Constructor + + + + + Gets whether property should be serialized. + + + + + Resets the SingleLineColor property to its default value. + + + + + Hooks or unhooks our system events + + + + + + LabelItem_Click + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the LabelX Column + + + + + + Dispose + + + + + + Button FlatStyle + + + + + Button UseColumnTextForButtonValue + + + + + InCallBack + + + + + Gets the Control LabelX + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets whether control displays focus cues when focused. + + + + + Gets or sets the border sides that are displayed. + Default value specifies border on all 4 sides. + + + + + Gets or sets the type of the border drawn around the label. + + + + + Specifies label image. + + + + + Gets/Sets the image position inside the label. + + + + + Gets or sets the bottom padding in pixels. + + + + + Gets or sets the left padding in pixels. + + + + + Gets or sets the top padding in pixels. + + + + + Gets or sets the right padding in pixels. + + + + + Gets or sets the border line color when border is single line. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the horizontal text alignment. + + + + + Gets or sets the vertical text alignment. + + + + + + Gets or sets a value that determines whether text is displayed in multiple lines or one long line. + + + + + Gets the Cell paint setting for the ButtonX control + + + + + InitializeEditingControl + + + + + + + + DetachEditingControl + + + + + ButtonClearClick + + + + + + + ButtonCustomClick + + + + + + + ButtonCustom2Click + + + + + + + ButtonDropDownClick + + + + + + + KeyDown routine forwards all DataGridView sent keys to + the underlying focusable control + + + + + + + PositionEditingControl + + + + + + + + + + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the cell background + + + + + + + + Paints the cell content + + + + + + + + + + + + DrawControl + + + + + + + + + + + DrawText + + + + + + + + + MustRenderVisibleControl + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + GetValue + + + + + + + GetTextAlignment + + + + + + + Determines if the given part is set + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + Constructor + + + + + Resets style to default value. Used by windows forms designer. + + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + DoButtonClearClick + + + + + + + DoButtonCustomClick + + + + + + + DoButtonCustom2Click + + + + + + + DoButtonDropDownClick + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Dispose + + + + + + Occurs right before a MaskedTextBoxAdv Cell is painted + + + + + Occurs when Clear button is clicked and allows you + to cancel the default action performed by the button + + + + + Occurs when ButtonCustom control is clicked + + + + + Occurs when ButtonCustom2 control is clicked + + + + + Occurs when Drop-Down button is clicked and allows you to cancel showing of the popup + + + + + Gets the underlying MaskedTextBoxAdv control + + + + + Gets or sets a value indicating whether PromptChar can be entered as valid data. + + + + + Gets or sets a value indicating whether characters outside of the ASCII character set will be accepted. + + + + + Gets or sets the Background color. + + + + + Specifies the background style of the control. + + + + + Gets or sets a value indicating whether the masked text box + control raises the system beep for each user key stroke that it rejects. + + + + + Gets the object that describes the settings for the button + that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button + that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the button + that shows drop-down when clicked. + + + + + Gets or sets the culture information associated with the masked text box. + + + + + Gets or sets a value that determines whether + literals and prompt characters are copied to the clipboard + + + + + Gets or sets whether the control + will be displayed for the current cell only. + + + + + Gets or sets the reference of the control that will be + displayed on popup that is shown when the drop-down button is clicked. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets the color used as background color to highlight + the text box when it has input focus and FocusHighlight is enabled. + + + + + Gets or sets whether FocusHighlightColor is used as + background color to highlight the text box when it has + input focus. Default value is false. + + + + + Gets or sets the foreground color. + + + + + Gets or sets a value indicating whether the prompt characters + in the input mask are hidden when the masked text box loses focus. + + + + + Gets or sets the Input Method Editor (IME) mode of the control. + + + + + Gets or sets the text insertion mode of the masked text box control. + + + + + Gets or sets the input mask to use at run time. + + + + + Gets or sets the character to be displayed in substitute for user input. + + + + + Gets or sets the character used to represent the absence of user input. + + + + + Gets or sets a value indicating whether the parsing of + user input should stop after the first invalid character is reached. + + + + + Gets or sets a value that determines how an input + character that matches the prompt character should be handled. + + + + + Gets or sets a value that determines how + a space input character should be handled. + + + + + Gets or sets a value indicating whether control's + elements are aligned to support locales using right-to-left fonts. + + + + + Gets or sets a value indicating + whether the user is allowed to reenter literal values. + + + + + Gets or sets the text as it is currently displayed to the user. + + + + + Gets or sets how text is aligned in a masked text box control. + + + + + Gets or sets a value that determines whether literals + and prompt characters are included in the formatted string. + + + + + Gets or sets a value indicating whether + the operating system-supplied password character should be used. + + + + + Gets or sets the data type used to verify the data input by the user. + + + + + Gets or sets the watermark hiding behaviour. Default value + indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets whether watermark text is + displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark (tip) text displayed inside of + the control when Text is not set and control does not have + input focus. This property supports text-markup. + + + + + Gets the Cell paint setting for the control + + + + + Initializes a new instance of the MaskedTextBoxAdv class. + + + + + Initializes a new instance of the MaskedTextBoxAdv class using the specified input mask. + + A custom mask language provider, derived from the MaskedTextProvider class. + + + + Initializes a new instance of the MaskedTextBoxAdv class using the specified input mask. + + Initializes a new instance of the MaskedTextBox class using the specified input mask. + + + + Raises TypeValidationCompleted event. + + + + + Raises the TextAlignChanged event. + + + + + Raises MaskInputRejected event. + + + + + + Raises the MaskChanged event. + + + + + Raises IsOverwriteModeChanged event. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Shows drop-down popup. Note that popup will be shown only if there is a DropDownControl assigned or DropDownItems collection has at least one item. + + + + + Closes the drop-down popup if it is open. + + + + + Raises the ButtonClearClick event. + + + + + + Raises the ButtonDropDownClick event. + + + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Gets whether property should be serialized by Windows Forms designer. + + + + + Converts the user input string to an instance of the validating type. + + If successful, an Object of the type specified by the ValidatingType property; otherwise, null to indicate conversion failure. + + + + Returns a string that represents the current masked text box. This method overrides ToString. + + A String that contains information about the current MaskedTextBox. The string includes the type, a simplified view of the input string, and the formatted input string. + + + + Called when Command property value changes. + + + + + Occurs when Clear button is clicked and allows you to cancel the default action performed by the button. + + + + + Occurs when Drop-Down button that shows popup is clicked and allows you to cancel showing of the popup. + + + + + Occurs when ButtonCustom control is clicked. + + + + + Occurs when ButtonCustom2 control is clicked. + + + + + Occurs after the insert mode has changed + + + + + Occurs after the input mask is changed. + + + + + Occurs when the user's input or assigned character does not match the corresponding format element of the input mask. + + + + + Occurs when the text alignment is changed. + + + + + Occurs when MaskedTextBox has finished parsing the current value using the ValidatingType property. + + + + + Specifies back color when Enabled=false + + + + + Gets or sets whether FocusHighlightColor is used as background color to highlight text box when it has input focus. Default value is false. + + + + + Gets or sets the color used as background color to highlight text box when it has input focus and focus highlight is enabled. + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets or sets the reference of the control that will be displayed on popup that is shown when drop-down button is clicked. + + + + + Gets the collection of BaseItem derived items displayed on popup menu. + + + + + Gets the reference to internal MaskedTextBox control. + + + + + Gets or sets whether watermark text is displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark (tip) text displayed inside of the control when Text is not set and control does not have input focus. This property supports text-markup. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets the watermark hiding behaviour. Default value indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets a value indicating whether PromptChar can be entered as valid data by the user. Default value is true. + + + + + Gets or sets a value indicating whether the MaskedTextBox control accepts characters outside of the ASCII character set. + true if only ASCII is accepted; false if the MaskedTextBox control can accept any arbitrary Unicode character. The default is false. + + + + + Gets or sets a value indicating whether the masked text box control raises the system beep for each user key stroke that it rejects. + + + + + Gets or sets the culture information associated with the masked text box. + + + + + Gets or sets a value that determines whether literals and prompt characters are copied to the clipboard. + + + + + Gets or sets the IFormatProvider to use when performing type validation. + + + + + Gets or sets a value indicating whether the prompt characters in the input mask are hidden when the masked text box loses focus. + + + + + Gets or sets the text insertion mode of the masked text box control. + + + + + Gets or sets the input mask to use at run time. The default value is the empty string which allows any input + + + + + Gets a value indicating whether all required inputs have been entered into the input mask. Returns true if all required input has been entered into the mask; otherwise, false. + + + + + Gets a clone of the mask provider associated with this instance of the masked text box control. Returns masking language provider of type MaskedTextProvider. + + + + + Gets a value indicating whether all required and optional inputs have been entered into the input mask. Returns true if all required and optional inputs have been entered; otherwise, false. + + + + + Gets or sets the character to be displayed in substitute for user input. + + + + + Gets or sets the character used to represent the absence of user input in MaskedTextBox. Returns character used to prompt the user for input. The default is an underscore (_). + + + + + Gets or sets whether text in control is read only. Default value is false. + + + + + Gets or sets a value indicating whether the parsing of user input should stop after the first invalid character is reached. Returns true if processing of the input string should be terminated at the first parsing error; otherwise, false if processing should ignore all errors. The default is false. + + + + + Gets or sets a value that determines how an input character that matches the prompt character should be handled. Returns true if the prompt character entered as input causes the current editable position in the mask to be reset; otherwise, false to indicate that the prompt character is to be processed as a normal input character. The default is true. + + + + + Gets or sets a value that determines how a space input character should be handled. Returns true if the space input character causes the current editable position in the mask to be reset; otherwise, false to indicate that it is to be processed as a normal input character. The default is true. + + + + + Gets or sets a value indicating the currently selected text in the control. + + + + + Gets or sets the number of characters selected in the text box. + + + + + Gets or sets the starting point of text selected in the text box. + + + + + Gets or sets a value indicating whether the defined shortcuts are enabled. + + + + + Gets or sets the text as it is currently displayed to the user. + + + + + Gets or sets how text is aligned in a masked text box control. + + + + + Gets the length of the displayed text. + + + + + Gets or sets a value that determines whether literals and prompt characters are included in the formatted string. + + + + + Gets or sets a value indicating whether the operating system-supplied password character should be used. + + + + + Gets or sets the data type used to verify the data input by the user. Returns Type representing the data type used in validation. The default is null. + + + + + Gets the preferred height for a masked text box. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Handles OnTextChanged events + + + + + + ApplyCellStyleToEditingControl + + + + + + Gets EditingControlFormattedValue + + + + + + + Gets whether the given key wants to be processed + by the Control + + + + + + + + PrepareEditingControlForEdit + + + + + + Gets or sets the DataGridView + + + + + Gets or sets the Control Formatted Value + + + + + Gets or sets the Control RoeIndex + + + + + Gets or sets the Control ValueChanged state + + + + + Gets the Panel Cursor + + + + + Gets whether to RepositionEditingControlOnValueChange + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the Button background + + + + + + + + Paints the button background and content + + + + + + + + + + + OnMouseEnter + + + + + + Processes MouseLeave events + + + + + + Processes MouseMove events + + + + + + Processes MouseDown events + + + + + + Processes MouseUp events + + + + + + Determines if the given part is set + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the content bounds for the given cell + + + + + + + + GetValue + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + FormattedValueType + + + + + Constructor + + + + + Gets whether ChunkColor property should be serialized. + + + + + Resets the ChunkColor property to its default value. + + + + + Gets whether ChunkColor property should be serialized. + + + + + Resets the ChunkColor property to its default value. + + + + + Hooks or unhooks our system events + + + + + + ProgressBarItem_Click + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Dispose + + + + + + Button FlatStyle + + + + + Button UseColumnTextForButtonValue + + + + + InCallBack + + + + + Gets the Control ProgressBarX + + + + + Gets or sets the color of the progress chunk. + + + + + Gets or sets the target gradient color of the progress chunk. + + + + + Gets or sets the gradient angle of the progress chunk. + + + + + Gets or sets the predefined color state table for progress bar. Color + specified applies to items with Office 2007 style only. It does not have + any effect on other styles. You can use ColorTable to indicate the state + of the operation that Progress Bar is tracking. Default value is eProgressBarItemColor.Normal. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets/Sets the visual style for the control. + + + + + Gets or sets the default Text to display on the Progress Bar + + + + + Gets or sets whether the text inside the progress bar is displayed. + + + + + Gets or sets the current position of the progress bar. + + + + + Gets the Cell paint setting for the ButtonX control + + + + + GetAdjustedEditingControlBounds + + + + + + + + GetPreferredSize + + + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the Slider background + + + + + + + + Paints the Slider content + + + + + + + + + + + OnMouseEnter + + + + + + Process MouseEnter state + + + + + + + Processes MouseLeave events + + + + + + Processes MouseMove events + + + + + + Processes MouseDown events + + + + + + Processes MouseUp events + + + + + + CellAlignPoint + + + + + + + + GetSliderValue + + + + + + + Determines if the given part is set + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the content bounds for the given cell + + + + + + + Initiates the refresh of the cell slider + + + + + + + Gets the Type of the editing control associated with the cell + + + + + Gets the type of the underlying data + (i.e., the type of the cell's Value property) + + + + + Constructor + + + + + Returns whether property should be serialized. Used by Windows Forms designer. + + + + + Resets the property to default value. Used by Windows Forms designer. + + + + + Hooks or unhooks our system events + + + + + + SliderItem_Click + + + + + + + SliderItem_ValueChanged + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Dispose + + + + + + Occurs right before a Slider Cell is painted + + + + + Gets or sets the active row index + + + + + Gets or sets the DataBindingComplete state + + + + + Gets the Control Slider + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets the text label position in relationship to the slider. Default value is Left. + + + + + Gets or sets whether the text label next to the slider is displayed. + + + + + Gets or sets the width of the label part of the item in pixels. Value must be greater than 0. Default value is 38. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets or sets the amount by which a call to the PerformStep method increases the current position of the slider. Value must be greater than 0. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the color of the label text. + + + + + Gets or sets whether vertical line track marker is displayed on the slide line. Default value is true. + + + + + Gets or sets the current position of the slider. + + + + + Gets the Cell paint setting for the ButtonX control + + + + + InitializeEditingControl + + + + + + + + DetachEditingControl + + + + + ButtonClearClick + + + + + + + ButtonCustomClick + + + + + + + ButtonCustom2Click + + + + + + + ButtonDropDownClick + + + + + + + KeyDown routine forwards all DataGridView sent keys to + the underlying focusable control + + + + + + + PositionEditingControl + + + + + + + + + + + + + + GetAdjustedEditingControlBounds + + + + + + + + Cell painting + + + + + + + + + + + + + + + + Paints the cell background + + + + + + + + Paints the cell content + + + + + + + + + + + + DrawControl + + + + + + + + + + DrawText + + + + + + + + + Gets the background bounds for the given cell + + + + + + + + Gets the button bounds for the given cell + + + + + + + GetValue + + + + + + + GetTextAlignment + + + + + + + Determines if the given part is set + + + + + + + + Gets the Type of the editing control associated with the cell + + + + + Constructor + + + + + Resets style to default value. Used by windows forms designer. + + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Appends text to the current text of a text box. + + The text to append to the current contents of the text box. + + + + Clears all text from the text box control. + + + + + Clears information about the most recent operation from the undo buffer of the text box. + + + + + Copies the current selection in the text box to the Clipboard. + + + + + Moves the current selection in the text box to the Clipboard. + + + + + Specifies that the value of the SelectionLength + property is zero so that no characters are selected in the control. + + + + + Retrieves the character that is closest to the specified location within the control. + + The location from which to seek the nearest character. + The character at the specified location. + + + + Retrieves the index of the character nearest to the specified location. + + The location to search. + The zero-based character index at the specified location. + + + + Retrieves the index of the first character of a given line. + + The line for which to get the index of its first character. + The zero-based character index in the specified line. + + + + Retrieves the index of the first character of the current line. + + The zero-based character index in the current line. + + + + Retrieves the line number from the specified character position within the text of the control. + + The character index position to search. + The zero-based line number in which the character index is located. + + + + Retrieves the location within the control at the specified character index. + + The index of the character for which to retrieve the location. + The location of the specified character. + + + + Replaces the current selection in the text box with the contents of the Clipboard. + + + + + Selects a range of text in the text box. + + The position of the first character in the current text selection within the text box. + The number of characters to select. + + + + Selects all text in the text box. + + + + + Undoes the last edit operation in the text box. + + + + + Replaces the specified selection in the TextBox with the contents of the Clipboard. + + The text to replace. + + + + DoButtonClearClick + + + + + + + DoButtonCustomClick + + + + + + + DoButtonCustom2Click + + + + + + + DoButtonDropDownClick + + + + + + + Gets the cell paint bitmap + + + + + + + Invokes BeforeCellPaint user events + + Row index + Column index + + + + Clones the ButtonX Column + + + + + + Dispose + + + + + + Occurs right before a TextBoxDropDown Cell is painted + + + + + Occurs when Clear button is clicked and allows you + to cancel the default action performed by the button + + + + + Occurs when ButtonCustom control is clicked + + + + + Occurs when ButtonCustom2 control is clicked + + + + + Occurs when Drop-Down button is clicked and allows you to cancel showing of the popup + + + + + Gets the underlying TextBoxDropDown control + + + + + Gets or sets a custom StringCollection to use when + the AutoCompleteSource property is set to CustomSource. + A StringCollection to use with AutoCompleteSource. + + + + + Gets or sets an option that controls + how automatic completion works for the TextBox. + One of the values of AutoCompleteMode. The values are Append, + None, Suggest, and SuggestAppend. The default is None. + + + + + Gets or sets a value specifying the source of complete strings used for automatic completion. + One of the values of AutoCompleteSource. The options are AllSystemSources, AllUrl, FileSystem, HistoryList, RecentlyUsedList, CustomSource, and None. The default is None. + + + + + Gets or sets the Background color. + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button + that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button + that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the button + that shows drop-down when clicked. + + + + + Gets or sets whether the TextBox control + modifies the case of characters as they are typed. + One of the CharacterCasing enumeration values that specifies + whether the TextBox control modifies the case of characters. + The default is CharacterCasing.Normal. + + + + + Gets or sets whether the control + will be displayed for the current cell only. + + + + + Gets or sets the reference of the control that will be + displayed on popup that is shown when the drop-down button is clicked. + + + + + Gets or sets whether the control can respond to user interaction + + + + + Gets or sets the color used as background color to highlight + the text box when it has input focus and FocusHighlight is enabled. + + + + + Gets or sets whether FocusHighlightColor is used as + background color to highlight the text box when it has + input focus. Default value is false. + + + + + Gets or sets the foreground color. + + + + + Gets or sets a value indicating whether the selected text in + the text box control remains highlighted when the control loses focus. + true if the selected text does not appear highlighted when the + text box control loses focus; false, if the selected text remains + highlighted when the text box control loses focus. The default is true. + + + + + Gets or sets the Input Method Editor (IME) mode of the control. + + + + + Gets or sets the maximum number of characters the user can type or paste into the text box control. + The number of characters that can be entered into the control. The default is 32767. + + + + + Gets or sets the character to be displayed in substitute for user input. + + + + + Gets or sets a value indicating whether control's + elements are aligned to support locales using right-to-left fonts. + + + + + Gets or sets a value indicating the currently selected text in the control. + A string that represents the currently selected text in the text box. + + + + + Gets or sets the number of characters selected in the text box. + The number of characters selected in the text box. + + + + + Gets or sets the starting point of text selected in the text box. + The starting position of text selected in the text box. + + + + + Gets or sets the text as it is currently displayed to the user. + + + + + Gets or sets how text is aligned in a masked text box control. + + + + + Gets the length of text in the control. + Returns number of characters contained in the text of the control. + + + + + Gets or sets a value indicating whether + the operating system-supplied password character should be used. + + + + + Gets or sets the watermark hiding behaviour. Default value + indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets whether watermark text is + displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark (tip) text displayed inside of + the control when Text is not set and control does not have + input focus. This property supports text-markup. + + + + + Gets the Cell paint setting for the control + + + + + Represents single line text box control with the drop down button to display custom control on popup and additional custom buttons. + + + + + Raises BeforeMultiColumnPopupOpen event. + + Provides event arguments. + + + + Initializes a new instance of the TextBoxDropDown class. + + + + + Raises the TextAlignChanged event. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Shows drop-down popup. Note that popup will be shown only if there is a DropDownControl assigned or DropDownItems collection has at least one item. + + + + + Closes the drop-down popup if it is open. + + + + + Raises the ButtonClearClick event. + + + + + + Raises the ButtonDropDownClick event. + + + + + + Called when DropDownControl property has changed. + + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Called when Command property value changes. + + + + + Returns a string that represents the current text in text box. This method overrides ToString. + + A String that contains information about the current TextBox. The string includes the type, a simplified view of the input string, and the formatted input string. + + + + Appends text to the current text of a text box. + + The text to append to the current contents of the text box. + + + + Clears all text from the text box control. + + + + + Clears information about the most recent operation from the undo buffer of the text box. + + + + + Copies the current selection in the text box to the Clipboard. + + + + + Moves the current selection in the text box to the Clipboard. + + + + + Specifies that the value of the SelectionLength property is zero so that no characters are selected in the control. + + + + + Retrieves the character that is closest to the specified location within the control. + + The location from which to seek the nearest character. + The character at the specified location. + + + + Retrieves the index of the character nearest to the specified location. + + The location to search. + The zero-based character index at the specified location. + + + + Retrieves the index of the first character of a given line. + + The line for which to get the index of its first character. + The zero-based character index in the specified line. + + + + Retrieves the index of the first character of the current line. + + The zero-based character index in the current line. + + + + Retrieves the line number from the specified character position within the text of the control. + + The character index position to search. + The zero-based line number in which the character index is located. + + + + Retrieves the location within the control at the specified character index. + + The index of the character for which to retrieve the location. + The location of the specified character. + + + + Replaces the current selection in the text box with the contents of the Clipboard. + + + + + Selects a range of text in the text box. + + The position of the first character in the current text selection within the text box. + The number of characters to select. + + + + Selects all text in the text box. + + + + + Undoes the last edit operation in the text box. + + + + + Replaces the specified selection in the TextBox with the contents of the Clipboard. + + The text to replace. + + + + Occurs when Clear button is clicked and allows you to cancel the default action performed by the button. + + + + + Occurs when Drop-Down button that shows popup is clicked and allows you to cancel showing of the popup. + + + + + Occurs when ButtonCustom control is clicked. + + + + + Occurs when ButtonCustom2 control is clicked. + + + + + Occurs when the text alignment is changed. + + + + + Occurs when the value of the Modified property has changed. + + + + + Occurs before the popup is opened and it allows canceling of popup by setting CancelEventArgs.Cancel=true. + + + + + Indicates whether all text is auto-selected when control gets input focus. Default value is false. + + + + + Gets or sets whether FocusHighlightColor is used as background color to highlight text box when it has input focus. Default value is false. + + + + + Gets or sets the color used as background color to highlight text box when it has input focus and focus highlight is enabled. + + + + + Specifies the background style of the control. + + + + + Gets the object that describes the settings for the button that shows drop-down when clicked. + + + + + Gets the object that describes the settings for the button that clears the content of the control when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets or sets a value indicating whether the drop-down is open. + + + + + Indicates whether DropDownControl is automatically focused when popup is open. + + + + + Gets or sets the reference of the control that will be displayed on popup that is shown when drop-down button is clicked. + + + + + Gets the collection of BaseItem derived items displayed on popup menu. + + + + + Gets the reference to internal TextBox control. Use it to get access to the text box events and properties. + + + + + Gets or sets whether watermark text is displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark (tip) text displayed inside of the control when Text is not set and control does not have input focus. This property supports text-markup. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets the watermark hiding behaviour. Default value indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets the watermark image displayed inside of the control when Text is not set and control does not have input focus. + + + + + Gets or sets the watermark image alignment. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Gets or sets the text as it is currently displayed to the user. + + + + + Gets the preferred height for a text box. + + + + + Gets or sets a custom StringCollection to use when the AutoCompleteSource property is set to CustomSource. + A StringCollection to use with AutoCompleteSource. + + + + + Gets or sets an option that controls how automatic completion works for the TextBox. + One of the values of AutoCompleteMode. The values are Append, None, Suggest, and SuggestAppend. The default is None. + + + + + Gets or sets a value specifying the source of complete strings used for automatic completion. + One of the values of AutoCompleteSource. The options are AllSystemSources, AllUrl, FileSystem, HistoryList, RecentlyUsedList, CustomSource, and None. The default is None. + + + + + Gets or sets whether the TextBox control modifies the case of characters as they are typed. + One of the CharacterCasing enumeration values that specifies whether the TextBox control modifies the case of characters. The default is CharacterCasing.Normal. + + + + + Gets or sets the character used to mask characters of a password in a single-line TextBox control. + The character used to mask characters entered in a single-line TextBox control. Set the value of this property to 0 (character value) if you do not want the control to mask characters as they are typed. Equals 0 (character value) by default. + + + + + Gets or sets how text is aligned in a TextBox control. + One of the HorizontalAlignment enumeration values that specifies how text is aligned in the control. The default is HorizontalAlignment.Left. + + + + + Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character. + true if the text in the TextBox control should appear as the default password character; otherwise, false. + + + + + Gets or sets a value indicating whether the selected text in the text box control remains highlighted when the control loses focus. + true if the selected text does not appear highlighted when the text box control loses focus; false, if the selected text remains highlighted when the text box control loses focus. The default is true. + + + + + Gets or sets the maximum number of characters the user can type or paste into the text box control. + The number of characters that can be entered into the control. The default is 32767. + + + + + Gets or sets a value that indicates that the text box control has been modified by the user since the control was created or its contents were last set. + true if the control's contents have been modified; otherwise, false. The default is false. + + + + + Gets or sets a value indicating whether text in the text box is read-only. + true if the text box is read-only; otherwise, false. The default is false. + + + + + Gets or sets a value indicating the currently selected text in the control. + A string that represents the currently selected text in the text box. + + + + + Gets or sets the number of characters selected in the text box. + The number of characters selected in the text box. + + + + + Gets or sets the starting point of text selected in the text box. + The starting position of text selected in the text box. + + + + + Gets the length of text in the control.Returns number of characters contained in the text of the control. + + + + + Handles OnTextChanged events + + + + + + ApplyCellStyleToEditingControl + + + + + + Gets EditingControlFormattedValue + + + + + + + Gets whether the given key wants to be processed + by the Control + + + + + + + + PrepareEditingControlForEdit + + + + + + Gets or sets the DataGridView + + + + + Gets or sets the Control Formatted Value + + + + + Gets or sets the Control RoeIndex + + + + + Gets or sets the Control ValueChanged state + + + + + Gets the Panel Cursor + + + + + Gets whether to RepositionEditingControlOnValueChange + + + + + Displays the desktop alerts with optional image or symbol. Text on alerts supports text-markup. + + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Specifies reference control which is used to find target screen alert is displayed on. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Text-markup link click event handler. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Specifies alert color. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Specifies alert color. + Specifies reference control which is used to find target screen alert is displayed on. + + + + Shows desktop alert at specific screen position. + + Text to show on the alert. Text supports text-markup. + Alert position on the screen. + + + + Shows desktop alert at specific screen position. + + Text to show on the alert. Text supports text-markup. + Alert position on the screen. + Specifies reference control which is used to find target screen alert is displayed on. + + + + Shows desktop alert at specific screen position. + + Text to show on the alert. Text supports text-markup. + Image to display on alert. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Alert color. + Alert position on the screen. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Alert color + Alert position on the screen + Text-markup link click event handler. + Specifies reference control which is used to find target screen alert is displayed on. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Alert color + Alert position on the screen + Text-markup link click event handler. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Alert color + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Symbol to show on the alert, see http://www.devcomponents.com/kb2/?p=1347 + Symbol set to use + Symbol color or Color.Empty to use default text color + Alert color + Alert position on the screen + Duration of alert in the seconds. + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Symbol to show on the alert, see http://www.devcomponents.com/kb2/?p=1347 + Symbol set to use + Symbol color or Color.Empty to use default text color + Alert position on the screen + Alert color + Duration of alert in the seconds. + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + Text-markup link click event handler. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Symbol to show on the alert, see http://www.devcomponents.com/kb2/?p=1347 + Symbol set to use + Symbol color or Color.Empty to use default text color + Alert position on the screen + Alert color + Duration of alert in the seconds. + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + Text-markup link click event handler. + Specifies reference control which is used to find target screen alert is displayed on. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Image to display on the alert + Alert screen position + Alert color + Duration of alert in seconds + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Image to display on the alert + Alert screen position + Alert color + Duration of alert in seconds + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + Text-markup link click event handler. + + + + Shows desktop alert. + + Text to show on the alert. Text supports text-markup. + Image to display on the alert + Alert screen position + Alert color + Duration of alert in seconds + Alert ID used to recognize alert if clicked and specified Action is called + Action method to call if alert is clicked. + Text-markup link click event handler. + Specifies reference control which is used to find target screen alert is displayed on. + + + + Raises BeforeAlertDisplayed event. + + Provides event arguments. + + + + Raises RemovingToken event. + + Provides event arguments. + + + + Indicates maximum alert size. + + + + + Specifies default alert screen position. + + + + + Specifies default alert color. + + + + + Gets or sets the total time in milliseconds alert animation takes. + Default value is 200. + + + + + Gets or sets time period in seconds after alert closes automatically. + + + + + Gets or sets whether text-markup can be used in alert text, default value is true. + + + + + Indicates whether alert plays exclamation sound when shown. + + + + + Occurs before alert is displayed and allows access to the alert Window through sender. + + + + + Occurs after alert as been closed. + + + + + Defines delegate for AlertClosed event. + + Sender. + Event arguments + + + + Defines event arguments for AlertClosed event. + + + + + Specifies alert closure source. + + + + + Defines predefined desktop alert colors. + + + + + Sets alert size based on its content, it respects MinimumSize and MaximumSize property settings. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Called when TextMarkupEnabled property has changed. + + Old property value + New property value + + + + Occurs when text markup link is clicked. + + + + + Raises MarkupLinkClick event. + + Provides event arguments. + + + + Display balloon. + + Indicates whether alert receives input focus upon showing. + + + + Displays balloon. + + + + + Called when alert needs to be hidden. + + + + + Hides balloon. + + + + + Gets or sets the color of the Symbol. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Indicates image displayed on alert. + + + + + Indicates optional Alert Id. + + + + + Indicates the method that will be invoked if user clicks the alert. + + + + + Gets or sets whether text-markup can be used in Text property. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Gets or sets the default alert size. + + + + + Gets or sets the total time in milliseconds alert animation takes. + Default value is 200. + + + + + Gets or sets whether balloon will close automatically when user click the close button. + + + + + Gets or sets time period in seconds after alert closes automatically. + + + + + Specifies the reference control which is used to find which screen the alert is displayed on. If not specified alert is displayed on primary screen. + + + + + Indicates spacing between alerts on the screen + + + + + Indicates the request screen position for the alert + + + + + Indicates spacing in pixels between image and text + + + + + Indicates whether alert plays exclamation sound when shown. + + + + + Indicates whether close button on alert is visible + + + + + Defines the alert positions. + + + + + Top-left screen position. + + + + + Top-right screen position. + + + + + Bottom-right screen position. + + + + + Bottom left screen position. + + + + + Defines closure sources for the alert. + + + + + Alert is closed becouse of timeout + + + + + Alert is closed becouse user clicked close button. + + + + + Alert is closed becouse user clicked on the alert. + + + + + Component to display flyout popup. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Called when Content property has changed. + + Old property value + New property value + + + + Called when PointerSide property has changed. + + Old property value + New property value + + + + Called when TargetControl property has changed. + + Old property value + New property value + + + + Called when DeepControlIntegration property has changed. + + Old property value + New property value + + + + Called when DisplayMode property has changed. + + Old property value + New property value + + + + Called when CloseMode property has changed. + + Old property value + New property value + + + + Raises PrepareContent event. + + Provides event arguments. + + + + Shows flyout with the Content. + + + + + Returns the flyout size based on Content size. + + Proposed flyout size. + + + + Shows flyout at specified location and with specified size. Size can be empty (0,0) and flyout will be automatically sized based on the content. + + + + + + Raises FlyoutShowing event. + + Provides event arguments. + + + + Raises FlyoutShown event. + + Provides event arguments. + + + + Raises QueryShowFlyout event. + + Provides event arguments. + + + + Shows flyout at specified location and with specified size. Size can be empty (0,0) and flyout will be automatically sized based on the content. + + Screen bounds to display flyout at. + Side of the flyout which will have pointer triangle + Pointer position either x or y depending on which side pointer is displayed on. + Target item for the flyout. + + + + Raises FlyoutClosing event. + + Provides event arguments. + + + + Raises FlyoutClosed event. + + Provides event arguments. + + + + Closes the flyout form if it was open. + + + + + Called when ActivateOnShow property has changed. + + Old property value + New property value + + + + Called when TopMost property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when DropShadow property has changed. + + Old property value + New property value + + + + Called when Parent property has changed. + + Old property value + New property value + + + + Indicates a control, usually panel with other controls inside of it, that is displayed on the flyout popup. + + + + + Indicates the side of the flyout triangle pointer is displayed on. + + + + + Indicates the target control for the flyout display and positioning. + + + + + Indicates whether Flyout integrates on item level with DotNetBar controls it recognizes like SuperTabControl, AdvTree etc. + + + + + Specifies when the flyout is displayed. + + + + + Indicates when Flyout is automatically closed. + + + + + Occurs before the flyout is shown for specific target and allows you to prepare Content for it. Sender of event will be the targeted control or item. + + + + + Occurs after flyout has been shown. + + + + + Provides opportunity to cancel showing of the flyout before any objects are created and allocated. This is preferred event to cancel flyout showing. + + + + + Occurs before flyout is closed and allows you to cancel the closing. + + + + + Occurs after flyout is closed. + + + + + Indicates whether flyout is active/focused when its shown, default value is false. + + + + + Indicates whether flyout is made top-most window when shown + + + + + Gets or sets the background flyout color. Default value is Color.Empty which indicates that current color scheme will be used. + + + + + Gets or sets the flyout border color. Default value of Color.Empty indicates that color scheme will be used. + + + + + Indicates whether flyout displays drop shadow. + + + + + Gets or sets the parent control for the Flyout. Parent is used to find the parent form so flyout can be closed when form is de-activated. + + + + + Defines delegate for the FlyoutShowing event. + + + + + + + Gets the reference to the flyout form. + + + + + Gets the reference to the flyout target usually TargetControl. + + + + + Allows you to cancel showing of the flyout by setting this value to true. + + + + + Initializes a new instance of the FlyoutShowingEventArgs class. + + + + + + + Defines the modes for Flyout display. + + + + + Flyout is displayed manually using flyout.Show() method. + + + + + Flyout is displayed when mouse is over TargetControl. + + + + + Flyout is displayed when mouse is hovering over TargetControl. + + + + + Flyout is displayed when left mouse button is clicked on TargetControl. + + + + + Defines Flyout closing condition. + + + + + Flyout is closed manually using flyout.Close() method. + + + + + Flyout is closed when user clicks outside of flyout bounds. + + + + + Flyout is closed when TargetControl is hidden. + + + + + Flyout is closed when TargetControl loses focus. + + + + + Flyout is closed when parent forms deactivates. + + + + + Defines colors for the Flyout control. + + + + + Specifies Flyout background color. + + + + + Specifies Flyout border color. + + + + + Called when PointerOffset property has changed. + + Old property value + New property value + + + + Called when PointerSide property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Indicates whether flyout displays a drop shadow. + + + + + Gets or sets whether form is made active/focused when shown. + + + + + Gets or sets the pointer offset from the top-left corner + + + + + Gets or sets the side pointer triangle is displayed on. + + + + + Gets or sets the flyout border color. Default value of Color.Empty indicates that color scheme will be used. + + + + + Defines the side of triangle pointer displayed on flyout popup. + + + + + Represents graphical panel control with support for different visual styles and gradients. + + + + + Default constructor. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Applies any region related settings from style to control. + + + + + Applies color scheme colors to the style objects. + + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Returns the current style of the control. + + Instance of ElementStyle object. + + + + Returns the current mouse down style of the control. + + Instance of ElementStyle object. + + + + Returns the current mouse over style of the control. + + Instance of ElementStyle object. + + + + Paints panel using Windows themes. + + Paint event arguments + + + + Prepares paint surface for paint operation. Called as first thing in Paint event. + + + + + + Paints panel given current style. + + Paint event arguments + + + + Paints insides of the control. + + Paint event arguments. + + + + Indicates whether CanvasColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets CanvasColor to it's default value. Used by windows forms designer design-time support. + + + + + Resets the style to it's default value. + + + + + Resets the internal mouse tracking properties that track whether mouse is over the panel and whether is mouse pressed while over the panel. + + + + + Resets the style to it's default value. + + + + + Resets the style to it's default value. + + + + + Called after either ColorScheme or ColorSchemeStyle has changed. If you override make sure that you call base implementation so default + processing can occur. + + + + + Applies predefined Panel color scheme to the control. + + + + + Applies predefined Panel color scheme to the control. + + + + + Applies predefined Button color scheme to the control. + + + + + Applies predefined Label color scheme to the control. + + + + + Applies predefined lable style to the ElementStyle object. + + Reference to ElementStyle object. + + + + Notifies a control that it is the default button so that its appearance and behavior is adjusted accordingly. + + true if the control should behave as a default button; otherwise false. + + + + Generates a Click event for the control. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets Bar Color Scheme. + + + + + Gets or sets whether focus rectangle is displayed when control has focus. + + + + + Gets or sets the canvas color for the panel. Canvas color will be visible on areas of the control that do not get covered + by the style and it will also be used as a base color for style to be painted on. + + + + + Gets or sets the panel style. + + + + + Gets or sets the panel style when mouse hovers over the panel. + + + + + Gets or sets the panel style when mouse button is pressed on the panel. + + + + + Gets or sets whether anti-alias smoothing is used while painting. + + + + + Gets or sets color scheme style. + + + + + Gets or sets whether text rectangle painted on panel is considering docked controls inside the panel. + + + + + Gets or sets the text rectangle. This property is set by internal implementation and it should not be set by outside code. + + + + + Gets or sets whether painting of the control is suspended. + + + + + Gets or sets the value returned to the parent form when the button is clicked. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Calls base WndProc implementation + + Describes Windows Message + + + + Gets the ItemPaintArgs which provide information for rendering. + + Reference to Canvas + Returns the new ItemPaintArgs instance + + + + Paints the background of the control + + PaintEventArgs arguments + + + + Converts the client point into the screen point. + + Client point + Client point converted into screen coordinates. + + + + Adjusts the client rectangle for the control. + + Reference to new client rectangle. + + + + Adjusts the border rectangle before the non-client border is rendered. + + Border rectangle + + + + Occurs after non-client area is rendered and provides opportunity to render on top of it. + + Reference to Graphics object. + + + + Gets the reference to the BorderStyle used by the control if any. + + + + + Returns the Windows handle associated with the control. + + + + + Returns width of the control. + + + + + Returns the height of the control. + + + + + Returns whether handled for the control has been created. + + + + + Returns background color of the control. + + + + + Returns background color of the control when Enabled=false. + + + + + Returns whether control is enabled. + + + + + Invalidates non-client area of the control. + + + + + Paints insides of the control. + + Paint event arguments. + + + + Returns the size of the panel calculated based on the text assigned. + + Calculated size of the panel or Size.Empty if panel size cannot be calculated. + + + + Applies color scheme to the panel. + + + + + Applies default group panel style to the control. + + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Gets or sets the panel color scheme. + + + + + Gets or sets the image that appears in title with text. + + + + + Gets or sets the position of the title image. Default value is left. + + + + + Gets or sets the scrollbar skining type when control is using Office 2007 style. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets or sets whether box around the title of the group is drawn. Default value is true. + + + + + Gets or sets whether text rectangle painted on panel is considering docked controls inside the panel. + + + + + Gets or sets whether panel automatically provides shadows for child controls. Default value is false. + + + + + Specifies back color when Enabled=false + + + + + Defines predefined color schemes for panel control. + + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrived from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Gets or sets whether custom styling (Office 2007 style) is enabled. Default value is true. + + + + + Recalculates the size of the internal item. + + + + + Gets whether property should be serialized. + + + + + Resets the SingleLineColor property to its default value. + + + + + Invokes the MarkupLinkClick event. + + Provides additional data about event. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Command property value changes. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Specifies spacing between label image and text. + + + + + Gets or sets whether text-markup support is enabled for controls Text property. Default value is true. + Set this property to false to display HTML or other markup in the control instead of it being parsed as text-markup. + + + + + Gets or sets whether control displays focus cues when focused. + + + + + Gets or sets the border sides that are displayed. Default value specifies border on all 4 sides. + + + + + Gets or sets the type of the border drawn around the label. + + + + + Specifies label image. + + + + + Gets/Sets the image position inside the label. + + + + + Gets or sets the border line color when border is single line. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the horizontal text alignment. + + + + + Gets or sets the text vertical alignment. + + + + + Gets or sets a value that determines whether text is displayed in multiple lines or one long line. + + + + + Gets or sets the left padding in pixels. + + + + + Gets or sets the right padding in pixels. + + + + + Gets or sets the top padding in pixels. + + + + + Gets or sets the bottom padding in pixels. + + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Gets or sets text-orientation. Default is horizontal. + + + + + Gets or sets how vertical text is rotated when TextOrientation = Vertical. + + + + + Gets the underlying LabelItem + + + + + Indicates the symbol displayed on label instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the color of the symbol. + + + + + Indicates whether label text is rendered using bold font unless the Font property is specifically set to different font. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + A single horizontal or vertical line control. + + + + + Initializes a new instance of the Line class. + + + + + Called when StartLineCap property has changed. + + Old property value + New property value + + + + Called when StartLineCapSize property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when EndLineCap property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Specifies the line alignment within control bounds. + + + + + Specifies distance from the start of a line to the beginning of a dash pattern. + + + + + Specifies the line dash style. + + + + + Gets or sets the line thickness in pixels. + + + + + Gets or sets whether vertical line is drawn. Default value is false which means horizontal line is drawn. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Indicates the start of the line cap. + + + + + Indicates the size of the start cap. + + + + + Indicates the start of the line cap. + + + + + Indicates end line cap size. + + + + + Defined line end types. + + + + + Provides data for CheckStateConvert event. + + + + + Initializes a new instance of the CheckStateConvertEventArgs class. + + + + + + Represents generic base control for items container control. + + + + + Represents base control for bars. + + + + + Provides interface for controls that support ribbon customization. + + + + + Called when item contained by the container is right-clicked. + + Instance of the item that was right-clicked. + + + + Creates new accessibility instance. + + Reference to AccessibleObject. + + + + Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control. + + The AccessibleEvents object to notify the accessibility client applications of. + The child Control to notify of the accessible event. + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Invokes the DotNetBar Customize dialog. + + + + + Raises BeforeItemDrag event. + + Provides event arguments. + + + + + Called when DragInProgress property value has changed. + + + + + Releases the focus from the bar and selects the control that had focus before bar was selected. If control that had focus could not be determined focus will stay on the bar. + This method is used by internal DotNetBar implementation and you should not use it. + + + + + Invokes ItemDoubleClick event. + + Reference to item double-clicked + Event arguments + + + + Invokes the ItemClick event. + + Reference to the item that was clicked. + + + + Returns the item at specified coordinates or null if no item can be found. + + X - coordinate to test. + Y - coordinate to test. + + + + + Sets the height of the control to the automatically calcualted height based on content. + + + + + Returns automatically calculated height of the control given current content. + + Height in pixels. + + + + Returns automatically calculated width of the control given current content. + + Width in pixels. + + + + Clean up any resources being used. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Applies design-time defaults to control. + + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrived from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Indicates to control that all further update operations should not result in layout and refresh of control content. + Use this method to optimize the addition of new items to the control. This method supports nested calls meaning + that multiple calls are allowed but they must be ended with appropriate number of EndUpdate calls. + IsUpdateSuspended property returns whether update is suspended. + + + + + Indicates that update operation is complete and that control should perform layout and refresh to show changes. See BeginUpdate + for more details. + + + + + Indicates that update operation is complete and that control should perform layout and refresh to show changes. See BeginUpdate + for more details. + + + + + Raises ItemLayoutUpdated event. + + Provides event arguments. + + + + Invalidates the control layout and forces the control to recalculates the layout for the items it contains on next layout operation invoked using RecalcLayout method. + + + Call to this method is usually followed by the call to + RecalcLayout method to perform the control layout. + + + + + Applies any layout changes and repaint the control. + + + + + Sets up timer that watches when active window changes. + + + + + Called after change of active window has been detected. SetupActiveWindowTimer must be called to enable detection. + + + + + Releases and disposes the active window watcher timer. + + + + + Called when item on popup container is right-clicked. + + Instance of the item that is right-clicked. + + + + Called when item on popup container is right-clicked. + + Instance of the item that is right-clicked. + + + + Occurs when Checked property of an button has changed. + + + + + Occurs when Item is clicked. + + + + + Occurs when Item is clicked. + + + + + Occurs when popup of type container is loading. + + + + + Occurs when popup of type container is unloading. + + + + + Occurs when popup item is about to open. + + + + + Occurs when popup item is closing. + + + + + Occurs just before popup window is shown. + + + + + Occurs when Item Expanded property has changed. + + + + + Occurs when mouse button is pressed. + + + + + Occurs when mouse button is released. + + + + + Occurs when mouse enters the item. + + + + + Occurs when mouse leaves the item. + + + + + Occurs when mouse moves over the item. + + + + + Occurs when mouse remains still inside an item for an amount of time. + + + + + Occurs when item loses input focus. + + + + + Occurs when item receives input focus. + + + + + Occurs when user changes the item position, removes the item, adds new item or creates new bar. + + + + + Occurs after an Item is removed from SubItemsCollection. + + + + + Occurs after an Item has been added to the SubItemsCollection. + + + + + Occurs when ControlContainerControl is created and contained control is needed. + + + + + Occurs when Text property of an Item has changed. + + + + + Use this event if you want to serialize the hosted control state directly into the DotNetBar definition file. + + + + + Use this event if you want to deserialize the hosted control state directly from the DotNetBar definition file. + + + + + Occurs after DotNetBar definition is loaded. + + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Occurs before an item in option group is checked and provides opportunity to cancel that. + + + + + Occurs before tooltip for an item is shown. Sender could be the BaseItem or derived class for which tooltip is being displayed or it could be a ToolTip object itself it tooltip is not displayed for any item in particular. + + + + + Gets or sets the form SideBar is attached to. + + + + + Gets or sets whether accelerator letters on buttons are underlined. Default value is false which indicates that system setting is used + to determine whether accelerator letters are underlined. Setting this property to true + will always display accelerator letter underlined. + + + + + Indicates whether Reset buttons is shown that allows end-user to reset the toolbar state. + + + + + Occurs before an item drag & drop operation is started and allows cancellation. + + + + + + + Gets item that is being dragged. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Indicates whether item shortcut is displayed in Tooltips. + + + + + Gets or sets whether hooks are used for internal DotNetBar system functionality. Using hooks is recommended only if DotNetBar is used in hybrid environments like Visual Studio designers or IE. + + + + + Gets whether control is in menu mode. + + + + + Returns the reference to the control that last had input focus. This property should be used to + determine which control had input focus before bar gained the focus. Use it to apply + the menu command to active control. + + + + + Returns whether control has any popups registered. + + + + + Gets or sets whether internal WM_GESTURENOTIFY handler is enabled. Default value is false. + + + + + Gets or sets whether ProcessDialogKey method calls base ContainerControl implementation. + By default base implementation is called but under certain conditions you might want to set + this property to true to receive KeyDown events for Arrow keys. + + + + + Gets or sets whether shortuct processing for the items hosted by this control is enabled. Default value is true. + + + + + Gets or sets the item default accessibility action will be performed on. + + + + + Gets or sets whether control height is set automatically based on the content. Default value is false. + + + + + Specifies the background style of the control. + + + + + Indicates whether shortucts handled by items are dispatched to the next handler or control. + + + + + Gets or sets Bar Color Scheme. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is true. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + Specifies whether SideBar is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets or sets whether Key Tips (accelerator keys) for items are displayed on top of them. + + + + + Gets or sets the font that is used to display Key Tips (accelerator keys) when they are displayed. Default value is null which means + that control Font is used for Key Tips display. + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Gets or sets whether mouse over fade effect is enabled. Default value is true. + + + + + Gets whether control layout is suspended becouse of the call to BeginUpdate method. + + + + + Occurs after internal item layout has been updated and items have valid bounds assigned. + + + + + Gets/Sets the Image size for all sub-items on the Bar. + + + + + Gets or sets whether external ButtonItem object is accepted in drag and drop operation. UseNativeDragDrop must be set to true in order for this property to be effective. + + + + + Gets or sets whether native .NET Drag and Drop is used by control to perform drag and drop operations. AllowDrop must be set to true to allow drop of the items on control. + + + + + Gets or sets whether control supports drag & drop. Default value is false. + + + + + Represents the method that will handle the ItemRemoved event. + + + + + Defines notification interface for scrollable item controls. + + + + + Indicates that item has been selected via keyboard. + + Reference to item being selected + + + + Gets or sets whether selection is allowed. + + + + + Gets or sets the selected item index. + + + + + Gets or sets the BindingContext. + + + + + Invalidates non-client area of the control. This method should be used + when you need to invalidate non-client area of the control. + + + + + Scrolls the control so that item is displayed within the visible bounds of the control. AutoScroll must be set to true for this method to work. + + Item to ensure visibility for. Item must belong to this control. + + + + Indicates that item has been selected via keyboard. + + Reference to item being selected + + + + Called when an item should be selected as result of the keyboard action. + + Item that is being selected. + + + + Raises the DataSourceChanged event. + + An EventArgs that contains the event data. + + + + When overridden in a derived class, resynchronizes the item data with the contents of the data source. + + + + + Raises the DataNodeCreated event. + + Provides event arguments. + + + + Raises the SelectedIndexChanged event. + + Event arguments. + + + + Called when TouchEnabled property has changed. + + Old property value + New property value + + + + Indicates whether container responds to keyboard presses and changes the active/mouse over item. + + + + + Gets or sets the scroll-bar visual style. + + + + + Gets/Sets the visual style for items and color scheme. + + + + + Gets or sets spacing in pixels between items. Default value is 1. + + + + + Indicates whether control can be scrolled when client area is dragged using mouse. Default value is true. + + + + + Gets the reference to internal vertical scroll-bar control if one is created or null if no scrollbar is visible. + + + + + Gets the reference to internal horizontal scroll-bar control if one is created or null if no scrollbar is visible. + + + + + Gets or sets a value indicating whether the control enables the user to scroll to items placed outside of its visible boundaries. + + + + + Gets or sets the minimum size of the auto-scroll. Returns a Size that represents the minimum height and width of the scrolling area in pixels. + This property is managed internally by control and should not be modified. + + + + + Gets or sets the location of the auto-scroll position. + + + + + Gets or sets whether all painting in control is suspended. + + + + + Gets or sets the index specifying the currently selected item. + + + + + Returns collection of items on a bar for binding support. + + + + + Gets or sets the item template that is repeated for each data-row when using data binding. + + + + + Gets the collection of the binding applied to ItemTemplate visual when using data-binding. + + + + + Gets or sets whether external ButtonItem object is accepted in drag and drop operation. UseNativeDragDrop must be set to true in order for this property to be effective. + + + + + Gets or sets whether native .NET Drag and Drop is used by control to perform drag and drop operations. AllowDrop must be set to true to allow drop of the items on control. + + + + + Gets or sets whether automatic drag & drop support is enabled. Default value is false. + + + + + Gets or sets the data source for the ComboTree. Expected is an object that implements the IList or IListSource interfaces, + such as a DataSet or an Array. The default is null. + + + + + Occurs when the DataSource changes. + + + + + Occurs when a item for an data-bound object item has been created and provides you with opportunity to modify the created item. + + + + + Occurs when value of SelectedIndex property has changed. + + + + + Indicates whether touch support for scrolling is enabled. + + + + + Initializes a new instance of the ListBoxAdv class. + + + + + Called when CheckBoxesVisible property has changed. + + Old property value + New property value + + + + Called when ItemHeight property has changed. + + Old property value + New property value + + + + Called when SelectionMode property has changed. + + Old property value + New property value + + + + Selects or clears the selection for the specified item in a ListBoxAdv. Use this property to set the selection of items in a multiple-selection ListBoxAdv. To select an item in a single-selection ListBox, use the SelectedIndex property. + + The zero-based index of the item in a ListBox to select or clear the selection for. You can pass -1 to clear the selection. + true to select the specified item; otherwise, false. + + + + Selects or clears the selection for the specified item in a ListBoxAdv. Use this property to set the selection of items in a multiple-selection ListBoxAdv. To select an item in a single-selection ListBox, use the SelectedIndex property. + + The zero-based index of the item in a ListBox to select or clear the selection for. You can pass -1 to clear the selection. + true to select the specified item; otherwise, false. + Indicates the source of the change. + + + + Selects next visible list box item. + + + + + Selects previous visible list box item. + + + + + Gets ListBoxItem which represents an object value from Items collection when Items collection contains non ListBoxItem objects. + + Value to get ListBoxItem for. + + + + + Called when DisplayMember property has changed. + + Old property value + New property value + + + + Called when CheckStateMember property has changed. + + Old property value + New property value + + + + Raises CheckStateConvert event. + + Provides event arguments. + + + + Called when ValueMember property has changed. + + Old property value + New property value + + + + Clears internal property descriptors cache when data-binding is used. In most cases it is not needed that you call this method. Do so only if instructed by DevComponents support. + + + + + Finds the first item in the ListBox that starts with the specified string. The search starts at a specific starting index. + + The text to search for. + The zero-based index of the first item found; returns ListBox.NoMatches if no match is found. + + + + Finds the first item in the ListBox that starts with the specified string. The search starts at a specific starting index. + + The text to search for. + The zero-based index of the item before the first item to be searched. Set to negative one (-1) to search from the beginning of the control. + The zero-based index of the first item found; returns ListBox.NoMatches if no match is found. + + + + Finds the first item in the ListBox that exactly matches the specified string. The search starts at a specific starting index. + + The text to search for. + The zero-based index of the first item found; returns ListBox.NoMatches if no match is found. + + + + Finds the first item in the ListBox that exactly matches the specified string. The search starts at a specific starting index. + + The text to search for. + The zero-based index of the item before the first item to be searched. Set to negative one (-1) to search from the beginning of the control. + The zero-based index of the first item found; returns ListBox.NoMatches if no match is found. + + + + Raises ItemCheck event. + + Provides event arguments. + + + + Sets the check state of the item at the specified index. + + The index of the item to set the state for. + One of the CheckState values. + + + + Gets the list of items displayed in list box. + + + + + Gets the collection of view items which are created to represent each data item in Items collection. + + + + + Indicates whether check-boxes are visible inside list box items. + + + + + Indicates fixed item height. Maybe set to 0 to indicate that each item should be sized based on its content. + + + + + Specifies the selection mode used by the control. + + + + + Gets or sets the zero-based index of the currently selected item in a ListBoxAdv. Negative one (-1) is returned if no item is selected. + + + + + Gets a collection that contains the zero-based indexes of all currently selected items in the ListBoxAdv. Do not modify items in this collection. To select or deselect list items while in multi-selection mode use SetSelected method. + + + + + Gets a collection containing the currently selected items in the ListBoxAdv. Do not modify items in this collection. To select or deselect list items while in multi-selection mode use SetSelected method. + + + + + Gets or sets the selected item. + + + + + Indicates property name which will provide the value to display for this list box when data-binding is used and DataSource is set. + + + + + Indicates property name which will provide the value for CheckState of the list box item when data-binding is used and DataSource is set. + + + + + Occurs when using data-binding with CheckStateMember specified and it allows you to convert a property value to CheckState. + + + + + Returns the enumerator with selected values if any + + + + + Gets or sets the value of the member property specified by the ValueMember property. If ValueMember specifies property that cannot be found on selected object this property returns null. + + + + + Indicates property name which will return the value for the selected item when SelectedValue property is accessed. + + + + + Occurs when CheckState of an ListBoxItem changes and it allows you to cancel the change. + + + + + Gets collection of checked items in the list. Modifying this collection does not have any effect on actual checked items. Use SetItemCheckState to set checked state of an item or access ListBoxItem directly and set its CheckState property. + + + + + + Defines selection modes for list control. + + + + + Items cannot be selected. + + + + + Only one item at the time can be selected. + + + + + Multiple items can be selected. A mouse click or pressing the SPACEBAR selects or deselects an item in the list. + + + + + Multiple items can be selected. Pressing SHIFT and clicking the mouse or pressing SHIFT and one of the arrow keys (UP ARROW, DOWN ARROW, LEFT ARROW, and RIGHT ARROW) extends the selection from the previously selected item to the current item. Pressing CTRL and clicking the mouse selects or deselects an item in the list. + + + + + Indicates that CheckState change of the item should be canceled. + + + + + Specifies the ListBoxItem that was changing. + + + + + When data-bound provides the object which was used to generate an ListBoxItem. + + + + + Initializes a new instance of the ListBoxAdvItemCheckEventArgs class. + + + + + + + Represents the ListBoxAdv item for internal use. Not for public usage. + + + + + Returns copy of the item. + + + + + Copies the ListBoxItem specific properties to new instance of the item. + + New ListBoxItem instance. + + + + Copies the ListBoxItem specific properties to new instance of the item. + + New item instance. + + + + Called when CheckState property has changed. + + Old property value + New property value + + + + Called when IsSelected property has changed. + + Old property value + New property value + + + + Sets selected state of the item including the source of the action that caused the change. + + + + + + + Called when HotTracking property has changed. + + Old property value + New property value + + + + Called when Image property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether mouse is over the item. + + + + + Gets the mouse state of the check box part of item if visible. + + + + + Indicates check-box state if visible. + + + + + Gets or sets whether item is selected. + + + + + Indicates whether item changes its background colors when mouse is over the item. + + + + + Specifies image displayed on the item. + + + + + Gets or sets the color of the Symbol. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Indicates the array of colors that when set are used to draw the background of the item. + + + + + Gets or sets the color of the text. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the text alignment. Default value is left. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Paints ListBoxItem. + + Provides arguments for the operation. + + + + Provides data for the Slider item rendering events. + + + + + Gets or sets the reference to the item being rendered. + + + + + Gets or sets the reference to graphics object. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the ListBoxItem being rendered. + Reference to the graphics object. + + + + Defines color table for ListBoxItem. + + + + + Specifies default state color table. + + + + + Specifies mouse over state color table. + + + + + Specifies selected state color table. + + + + + Defines single state color table for ListBoxItem. + + + + + Initializes a new instance of the OfficeListBoxItemStateColorTable class. + + + + + Initializes a new instance of the OfficeListBoxItemStateColorTable class. + + + + + + + + + Initializes a new instance of the OfficeListBoxItemStateColorTable class. + + + + + + Indicates item text color. + + + + + Gets or sets the background colors for the item. + + + + + Gets or sets the back colors gradient angle if there is more than one color in BackColors array. + + + + + Gets or sets the gradient colors positions if there is more than one color in BackColors array. + + + + + Paints StepItem. + + Provides arguments for the operation. + + + + Represents the extended ListView control with the Office 2007 Style. + + + + + Called when ColumnHeaderFont property has changed. + + Old property value + New property value + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Resets internal Column Header handler. This method should be called after you change the View property + at run-time. If your control is always in single view there is no need to call this method. This method + will work only when controls handle has already been created. + + + + + Resets the internal color table reference. This method is usually called automatically by + + + + + Gets whether property should be serialized by VS.NET designer. + + + + + Resets property to its default value. + + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrived from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Gets or sets the column header font. Default value is null which means controls Font property is used. + + + + + Gets or sets the item foreground color when control or item is disabled. By default SystemColors.Dark is used. + + + + + Gets or sets whether control displays focus cues when focused. + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Specifies the control border style. Default value has Class property set so the system style for the control is used. + + + + + Specifies back color when Enabled=false + + + + + Summary description for MessageHandler. + + + + + Calculates the size of non-client area of the control. + + + + + Paints the non-client area of the control. + + + + + Draws the non-client area buffered. + + + + + Represents the PageNavigator control + + + + + Constructor + + + + + Hooks or unhooks our control events + + true to hook, false to unhook + + + + Handles NavigatePreviousPage events + + + + + + + Raises the NavigatePreviousPage event + + + + + Handles NavigateToday events + + + + + + + Raises the NavigateToday event + + + + + Handles NavigateNextPage events + + + + + + + Raises the NavigateNextPage event + + + + + Forces the button to perform internal layout. + + + + + Dispose + + + + + + Occurs when NavigateNextPage button is clicked + + + + + Occurs when NavigateToday button is clicked + + + + + Occurs when NavigatePreviousPage button is clicked + + + + + DefaultSize + + + + + Gets or sets the layout orientation. Default value is horizontal. + + + + + Gets or sets the tooltip for the PreviousPage button of the control + + + + + Gets or sets the tooltip for the Today button + + + + + Gets or sets the tooltip for the NextPage button + + + + + Gets/Sets the visual style for the control. + + + + + PageNavigator buttons + + + + + Previous page + + + + + Today + + + + + Next page + + + + + Represents the PageNavigate item + + + + + Creates new instance of PageNavigateItem + + + + + Creates new instance of PageNavigateItem and assigns the name to it + + Item name + + + + Handles size recalc + + + + + Handles external size changes + + + + + Lays out our control based upon its + vertical / horizontal orientation + + + + + Handles control rendering + + + + + + Draws the PreviousPage button + + Graphics + Office2007ScrollBarColorTable + + + + Gets the PreviousPage bitmap + + + + + + + + Creates the PreviousPage bitmap + + + + + + + + Draws the Today button + + Graphics + Office2007ScrollBarColorTable + + + + Gets the Today Bitmap + + + + + + + + Creates the Today Bitmap + + + + + + + + Draws the NextPage button + + + + + + + Gets the NextPage Bitmap + + + + + + + + Creates the NextPage Bitmap + + + + + + + + Centers the given rect + + + + + + + Processes InternalMouseMove events + + + + + + Returns the HitText area for the given point + + + + + + + Processes Mouse Leave events + + + + + Processes Mouse Down events + + + + + + Processes Mouse Up events + + + + + + Raises the NavigatePreviousPage event + + + + + Raises the NavigateToday event + + + + + Raises the NavigateNextPage event + + + + + Handles timer click events + + + + + + + Enables our click timer + + + + + Disposes of the click timer + + + + + OnTooltipChanged + + + + + Updates the control tooltip + + + + + Returns copy of the item + + + + + Copies the PageNavigatorItem specific properties to + new instance of the item + + New PageNavigatorItem instance + + + + Dispose + + + + + Releases the given bitmap + + Bitmap to release + + + + Occurs when NavigateNextPage button is clicked + + + + + Occurs when NavigateToday button is clicked + + + + + Occurs when NavigatePreviousPage button is clicked + + + + + Gets or sets the MouseOverPart + + + + + Gets or sets the MouseDownPart + + + + + Gets or sets the control orientation. Default value is Horizontal + + + + + Gets or sets whether Click event will be auto repeated + when mouse button is kept pressed over the item + + + + + Gets or sets the auto-repeat interval for the click event + when mouse button is kept pressed over the item + + + + + Gets or sets the tooltip for the PreviousPage button of the control + + + + + Gets or sets the tooltip for the Today button + + + + + Gets or sets the tooltip for the NextPage button + + + + + Defines the PageNavigator item parts + + + + + Indicates no part + + + + + Indicates the PreviousPage button of the control + + + + + Indicates the TodayPage button of the control + + + + + Indicates the NextPage button of the control + + + + + Initializes a new instance of the PageSlider class. + + + + + Raises SelectedPageChanged event. + + Provides event arguments. + + + + Called when IndicatorVisible property has changed. + + Old property value + New property value + + + + Returns array of all pages in control. + + Array of pages. + + + + Removes and disposes all pages within the control. + + + + + Called when SelectedPage property has changed. + + Old property value + New property value + + + + Called when AnimationTime property has changed. + + Old property value + New property value + + + + Called when SelectedPagePadding property has changed. + + Old property value + New property value + + + + Called when PageSpacing property has changed. + + Old property value + New property value + + + + Called when NextPageVisibleMargin property has changed. + + Old property value + New property value + + + + Called when Orientation property has changed. + + Old property value + New property value + + + + Called when ScrollBarVisibility property has changed. + + Old property value + New property value + + + + Called when TouchEnabled property has changed. + + Old property value + New property value + + + + Occurs when selected page has changed. + + + + + Gets or sets whether current page indicator is visible. Default value is true. + + + + + Indicates selected page. + + + + + Indicates the animation time in milliseconds for operations that perform visual animation of transition. Set to zero to disable animation. + + + + + Gets or sets zero based selected page index. If there is no page selected returns -1. + + + + + Gets the total number of pages displayed by the control. + + + + + Gets or sets the single page padding. + + + + + Gets or sets the spacing in pixels between pages. + + + + + Gets or sets the page layout orientation. Default is horizontal. + + + + + Indicates whether page can be dragged using mouse to change currently selected page + + + + + Indicates whether selected page can be changed by using mouse drag on PageSlider client area which is not covered by pages. + + + + + Indicates scrollbar visibility. + + + + + Gets or sets the time in milliseconds that scrollbar is kept visible when there is no activity in control and mouse is over the control. + + + + + Indicates whether native touch support in control is enabled if available on target system. + + + + + Specifies scrollbar visibility. + + + + + Scrollbars are not visible. + + + + + Scrollbars are visible only if mouse is inside of the control. + + + + + Scrollbars are always visible. + + + + + Specifies level of touch enabled on the control. + + + + + Touch is enabled control wide. + + + + + Touch is disabled control wide. + + + + + Touch is enabled but only for the direct control client content. If touch input occurs on any child control it is not processed. + + + + + Called when PageNumber property has changed. + + Old property value + New property value + + + + Gets or sets page number. Page number determines the order in which pages are displayed inside of the PageSlider control. + + + + + Represents control which visually indicates current step in a sequence. + + + + + Initializes a new instance of the StepIndicator class. + + + + + Called when StepCount property has changed. + + Old property value + New property value + + + + Called when CurrentStep property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Orientation property has changed. + + Old property value + New property value + + + + Gets or sets the total number of steps that control will track. Default value is 10. + + + + + Gets or sets the current step in sequence. Current step should be less or equal than StepCount. + + + + + Gets or sets the background color of the control. + + + + + Gets or sets the color of the current step indicator. + + + + + Indicates the control orientation. + + + + + Processes the resizing messages. + + The message. + true, if the WndProc method from the base class shouldn't be invoked. + + + + Gets whether popup has been resized by end-user. + + + + + Type of resize mode, grips are automatically drawn at bottom-left and bottom-right corners. + + + + + Gets or sets whether Close button is visible in fotter. Resize handle must also be visible in order for close button to render. + + + + + Gets resize grip bounds. + + + + + Initializes a new instance of the ResizeGripColors structure. + + + + + + + + Specifies the popup resize modes + + + + + Raises Closed event. + + Provides event arguments. + + + + Raises Closing event. + + Provides event arguments. + + + + Show control on popup at specified location. + + + + + Shows control on popup at specified location with specified popup resize edges. + + + + + Shows control on popup at specified location and size with specified popup resize edges. + + + + + Hides popup if visible. + + + + + Occurs after popup is closed. + + + + + Occurs before popup is closed and allows canceling. + + + + + Gets whether popup is visible. + + + + + Gets the control displayed on popup. + + + + + Gets or sets the popup padding. + + + + + Gets or sets popup margin. + + + + + Represents the stand-alone progress bar control. + + + + + Advances the current position of the progress bar by the amount of the Step property. + + + + + Advances the current position of the progress bar by the specified amount. + + The amount by which to increment the progress bar's current position. + + + + Gets whether ChunkColor property should be serialized. + + + + + Resets the ChunkColor property to its default value. + + + + + Gets whether ChunkColor property should be serialized. + + + + + Resets the ChunkColor property to its default value. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets or sets the current position of the progress bar. + + + + + Gets or sets the amount by which a call to the PerformStep method increases the current position of the progress bar. + + + + + Gets or sets the color of the progress chunk. + + + + + Gets or sets the target gradient color of the progress chunk. + + + + + Gets or sets the gradient angle of the progress chunk. + + + + + Gets or sets whether the text inside the progress bar is displayed. + + + + + Gets or sets the type of progress bar used to indicate progress. The Standard style displays the progress based on Minimum, Maximum and current Value. + The Marquee type is automatically moving progress bar that is used to indicate an ongoing operation for which the actual duration cannot be estimated. + + + + + Gets or sets the marquee animation speed in milliseconds. + + + + + Gets or sets the predefined color state table for progress bar. Color specified applies to items with Office 2007 style only. It does not have + any effect on other styles. You can use ColorTable to indicate the state of the operation that Progress Bar is tracking. Default value is eProgressBarItemColor.Normal. + + + + + Gets the underlying ProgressBarItem + + + + + Defines color table for the StepItem. + + + + + Gets or sets the default state StepItem colors. + + + + + Gets or sets the mouse over state StepItem colors. + + + + + Gets or sets the StepItem colors when mouse is pressed over the item. + + + + + Gets or sets the StepItem colors when Value property is greater than Minimum property value, i.e. item is reporting progress. + Note that only Background color is used when progress indicator is drawn. + + + + + Paints StepItem. + + Provides arguments for the operation. + + + + Paints StepItem. + + Provides arguments for the operation. + + + + Represents the color table for StepItem single state. + + + + + Initializes a new instance of the OfficeStepItemStateColorTable class. + + + + + Initializes a new instance of the OfficeStepItemStateColorTable class. + + + + + + + + Initializes a new instance of the OfficeStepItemStateColorTable class. + + + + + + + + + + Gets or sets the background colors for the step item. + + + + + Gets or sets the back colors gradient angle if there is more than one color in BackColors array. + + + + + Gets or sets the gradient colors positions if there is more than one color in BackColors array. + + + + + Gets or sets the text color for the step item. + + + + + Gets or sets the border colors of the step item. + + + + + Represents the progress steps control. + + + + + Initializes a new instance of the ProgressSteps class. + + + + + Returns collection of items on a bar. + + + + + Gets/Sets the visual style for items and color scheme. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Gets or sets the arrow pointer width for the StepItem objects hosted within this container. + + + + + Represents a step item which is used to show single step in multi-step progress control. + + + + + Creates new instance of StepItem. + + + + + Creates new instance of StepItem and assigns the name to it. + + Item name. + + + + Creates new instance of StepItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the StepItem specific properties to new instance of the item. + + New StepItem instance. + + + + Copies the StepItem specific properties to new instance of the item. + + New StepItem instance. + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Called when Minimum property has changed. + + Old property value + New property value + + + + Called when Maximum property has changed. + + Old property value + New property value + + + + Called when Value property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Called when Image property has changed. + + Old property value + New property value + + + + Called when MinimumSize property has changed. + + Old property value + New property value + + + + Called when HotTracking property has changed. + + Old property value + New property value + + + + Called when ImageTextSpacing property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets the render path of the item. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets or sets the color of the Symbol. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Indicates the image that is displayed next to the item text label. + + + + + Gets or sets whether this is first item in StepControl. + + + + + Gets or sets whether this is laste item in StepControl. + + + + + Indicates minimum size of the item + + + + + Specifies whether item changes its appearance when mouse is moved over the item + + + + + Gets whether mouse is over the item. + + + + + Gets whether left mouse button is pressed on the item. + + + + + Indicates the spacing between image and text. + + + + + Gets or sets padding around content of the item. + + + + + Indicates the array of colors that when set are used to draw the current progress, i.e. Value>Minimum + + + + + Indicates the array of colors that when set are used to draw the background of the item. + + + + + Gets or sets the text alignment. Default value is left. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the color of the text. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Container for the StepItem objects. + + + + + Initializes a new instance of the StepContainer class. + + + + + Returns copy of the item. + + + + + Copies the StepContainer specific properties to new instance of the item. + + New StepContainer instance. + + + + Copies the StepContainer specific properties to new instance of the item. + + New StepContainer instance. + + + + Called when PointerSize property has changed. + + Old property value + New property value + + + + Gets or sets the arrow pointer width for the StepItem objects hosted within this container. + + + + + Provides data for the Slider item rendering events. + + + + + Gets or sets the reference to the item being rendered. + + + + + Gets or sets the reference to graphics object. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the Slider item being rendered. + Reference to the graphics object. + + + + Gets or sets current MultiFormAppContext context. If you are using MultiFormAppContext to start your app then you should also + set that instance of MultiFormAppContext to this property so internally TabFormControl can register any new deattached forms + and prevent application from closing if startup form is closed first. + + + + + Gets or sets whether tab renders its state. Used internally by DotNetBar. Do not set. + + + + + Gets the actual tab path. + + + + + Indicates the array of colors that when set are used to draw the background of the item. + + + + + Summary description for Office2003ButtonItemPainter. + + + + + Summary description for ButtonItemPainter. + + + + + Paints state of the button, either hot, pressed or checked + + + + + + + + Paints state of the button, either hot, pressed or checked + + + + + + + + Gets or sets color table used by renderer. + + + + + Gets or sets the color table for form in active state. + + + + + Gets or sets the color table for from in inactive state. + + + + + Gets or sets the border thickness. + + + + + Gets or sets the background color of the form. + + + + + Gets or sets the text color of the form. + + + + + Gets or sets the text formatting for caption text. + + + + + Represents Range Slider Control. + + + + + Raises ValueChanging event. + + Provides event arguments. + + + + Raises ValueChanged event. + + Provides event arguments. + + + + Raises GetRangeTooltipText event. + + Provides event arguments. + + + + Forces the button to perform internal layout. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs before Value has changed and allow the cancellation of the change. + + + + + Occurs after Value property has changed + + + + + Occurs when control is about to display the range tooltip and it allows you to customize tooltip + + + + + Gets the RangeSliderItem. + + + + + Indicates whether clicking the area outside of the range change buttons moves the range change button to the clicked location if possible thus allowing range change. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Indicates image to be used as maximum range slider button instead of built-in button. Image is scaled to size set by RangeButtonSize. + + + + + Indicates image to be used as minimum range slider button instead of built-in button. Image is scaled to size set by RangeButtonSize. + + + + + Specifies minimum absolute range that user can select. Absolute range is defined as Abs(Value.Max-Value.Min) Applies to user performed selection through mouse only. + + + + + Gets current part that is pressed using mouse left button. + + + + + Gets mouse over part. + + + + + Gets bounds of maximum range sliding button. + + + + + Gets bounds of minimum range sliding button. + + + + + Indicates the size of the range change buttons. + + + + + Specifies the height of the range line + + + + + Gets or sets the string that is used to format the range value to be displayed while user moves the range buttons. Value set here is used in string.Format(RangeTooltipFormat, Value.Min, Value.Max). + + + + + Gets or sets the color of the range value. + + + + + Specifies whether range tooltip is shown while user is changing the range + + + + + Gets or sets the slider orientation. Default value is horizontal. + + + + + Gets tick marks bounds. + + + + + Gets tick marks bounds for second marker is visible. + + + + + Specifies the ticks position inside of Range Slider. + + + + + Indicates tick display period + + + + + Indicates whether tick lines are shown + + + + + Gets or sets the range displayed by the control. + + + + + Represents the Rating control. + + + + + Initializes a new instance of the Rating class. + + + + + Raises the ParseRating event. + + Provides event arguments. + + + + Raises the ParseAverageRatingValue event. + + Provides event arguments. + + + + Raises the AverageRatingChanged event. + + Event data. + + + + Raises the RatingChanged event. + + Event data. + + + + Raises RatingChanging event. + + Event data + + + + Called when Command property value changes. + + + + + Occurs when Rating property has changed. + + + + + Occurs when RatingValue property has changed. + + + + + Occurs when Rating property is about to be changed and provides opportunity to cancel the change. + + + + + Occurs when AverageRating property has changed. + + + + + Occurs when AverageRatingValue property has changed. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Occurs when RatingValue property is set and it allows you to provide custom parsing for the values. + + + + + Occurs when AverageRatingValue property is set and it allows you to provide custom parsing for the values. + + + + + Indicates number of stars used for the rating. Minium value is 2 stars. + + + + + Gets or sets the rating value represented by the control. Default value is 0 which indicates + that there is no rating set. Maximum value is 5. + + + + + Gets or sets the average rating shown by control. Control will display average rating (if set) when no explicit + Rating value is set through Rating property. Minimum value is 0 and Maximum value is 5. + + + + + Gets or sets the AverageRating property. This property is provided for Data-Binding with NULL value support. + + + + + Gets the reference to custom rating images. + + + + + Gets or sets whether text assigned to the check box is visible. Default value is true. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets whether rating can be edited. Default value is true. + + + + + Gets or sets the orientation of rating control. + + + + + Gets or sets the Rating property value. This property is provided for Data-Binding with NULL value support. + + + + + Gets or sets the text color. Default value is Color.Empty which indicates that default color is used. + + + + + Gets or sets the spacing between optional text and the rating. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Represents an image control with built-in reflection. + + + + + Initializes a new instance of the ReflectionImage class. + + + + + Gets or sets the image displayed on the control. + + + + + Gets or sets whether reflection effect is enabled. Default value is true. + + + + + Represents an single line of text label control with text-markup support and built-in reflection. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets whether reflection effect is enabled. Default value is true. + + + + + Represents control which handles scroll-bars. + + + + + Initializes a new instance of the ScrollbarControl class. + + + + + Called when ScrollOverrideControl property has changed. + + Old property value + New property value + + + + Gets or sets the scroll-bar visual style. + + + + + Initializes a new instance of the RichTextBoxEx class. + + + + + Raises AcceptsTabChanged event. + + Provides event arguments. + + + + Raises HideSelectionChanged event. + + Provides event arguments. + + + + Raises ModifiedChanged event. + + Provides event arguments. + + + + Raises MultilineChanged event. + + Provides event arguments. + + + + Raises ReadOnlyChanged event. + + Provides event arguments. + + + + Raises LinkClicked event. + + Provides event arguments. + + + + Raises Protected event. + + Provides event arguments. + + + + Raises SelectionChanged event. + + Provides event arguments. + + + + Raises HScroll event. + + Provides event arguments. + + + + Raises HScroll event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Appends text to the current text of a text box + + + + + Determines whether you can paste information from the Clipboard in the specified data format. + + + + + + + Clears all text from the text box control. + + + + + Clears information about the most recent operation from the undo buffer of the text box. + + + + + Copies the current selection in the text box to the Clipboard. + + + + + Moves the current selection in the text box to the Clipboard. + + + + + Specifies that the value of the SelectionLength property is zero so that no characters are selected in the control. + + + + + Searches the text in a RichTextBox control for a string. + + + + + + + Searches the text of a RichTextBox control for the first instance of a character from a list of characters. + + + + + + + Searches the text in a RichTextBox control for a string with specific options applied to the search. + + + + + + + + Searches the text of a RichTextBox control, at a specific starting point, for the first instance of a character from a list of characters. + + + + + + + + Searches the text in a RichTextBox control for a string at a specific location within the control and with specific options applied to the search. + + + + + + + + + Searches a range of text in a RichTextBox control for the first instance of a character from a list of characters. + + + + + + + + + Searches the text in a RichTextBox control for a string within a range of text within the control and with specific options applied to the search. + + + + + + + + + + Retrieves the character that is closest to the specified location within the control. + + + + + + + Retrieves the index of the character nearest to the specified location + + + + + + + Retrieves the index of the first character of a given line. (Inherited from TextBoxBase.) + + + + + + + Retrieves the index of the first character of the current line. (Inherited from TextBoxBase.) + + + + + + Retrieves the line number from the specified character position within the text of the RichTextBox control. + + + + + + + Retrieves the location within the control at the specified character index. + + + + + + + Loads a rich text format (RTF) or standard ASCII text file into the RichTextBox control. + + + + + + Loads the contents of an existing data stream into the RichTextBox control. + + + + + + + Loads a specific type of file into the RichTextBox control. + + + + + + + Replaces the current selection in the text box with the contents of the Clipboard. + + + + + Pastes the contents of the Clipboard in the specified Clipboard format. + + + + + + Reapplies the last operation that was undone in the control. + + + + + Saves the contents of the RichTextBox to a rich text format (RTF) file. + + + + + + Saves the contents of a RichTextBox control to an open data stream. + + + + + + + Saves the contents of the RichTextBox to a specific type of file. + + + + + + + Scrolls the contents of the control to the current caret position. + + + + + Activates the control. (Inherited from Control.) + + + + + Selects a range of text in the text box. + + + + + + + Selects all text in the text box. + + + + + Undoes the last edit operation in the text box. + + + + + Gets the reference to internal RichTextBox control. + + + + + Occurs when the value of the AcceptsTab property changes + + + + + Occurs when the value of the HideSelection property changes. + + + + + Occurs when the value of the Modified property changes. + + + + + Occurs when the value of the Multiline property changes. + + + + + Occurs when the value of the ReadOnly property changes. + + + + + Occurs when a hyperlink in the text is clicked. + + + + + Occurs when the user takes an action that would change a protected range of text. + + + + + Occurs when the current selection has changed. + + + + + Occurs when the horizontal scroll bar is clicked. + + + + + Occurs when the vertical scroll bar is clicked. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is true. + + + + + Gets or sets the back color of the RichTextBox. + + + + + Gets or sets whether tab characters are accepted as input + + + + + Gets or sets whether automatic word selection is enabled. + + + + + Gets or sets indent for bullets in the control. + + + + + Gets or sets whether URLs are automatically formatted as links. + + + + + Gets or sets whether drag/drop of text, pictures and other data is enabled. + + + + + Gets or sets whether selection should be hidden when the edit control loses focus. + + + + + Gets or sets lines of text in a multi-line edit, as an array of String values. + + + + + Gets or sets maximum number of characters that can be entered into the edit control. + + + + + Gets or sets whether the text in the control can span more than one line. + + + + + Gets or sets whether the text in the edit control can be changed or not. + + + + + Gets or sets right margin dimensions. + + + + + Gets or sets the text of the RichTextBox control, including all rich text format (RTF) codes. + + + + + Gets or sets for multi-line edit control, which scroll bars will be shown. + + + + + Gets or sets whether shortcuts defined for the control are enabled. + + + + + Gets or sets whether selection margin is visible. + + + + + Gets or sets whether lines are automatically word-wrapped. + + + + + Gets or sets current zoom factor for the control content. + + + + + Should be fired when non-client size of the control changes, i.e. when WM_NCCALCSIZE message is received. + + + + + Should be fired when scroll-bar value on child control changes. + + + + + Should be fired when control receives WM_MOVE message. + + + + + Gets whether control is in design mode. + + + + + Raises NonClientSizeChanged event. + + Provides event arguments. + + + + Raises ScrollBarValueChanged event. + + Provides event arguments. + + + + Raises NonClientSizeChanged event. + + Provides event arguments. + + + + Defines arguments for IScrollBarOverrideSupport.ScrollBarValueChanged event. + + + + + Initializes a new instance of the ScrollValueChangedEventArgs class. + + + + + + Defines information for IScrollBarOverrideSupport.ScrollBarValueChanged event. + + + + + Defines delegate for IScrollBarOverrideSupport.ScrollBarValueChanged event. + + Sender. + Event arguments + + + + Gets or sets the scroll-bar visual style. + + + + + Paints ListBoxItem. + + Provides arguments for the operation. + + + + Paints ListBoxItem. + + Provides arguments for the operation. + + + + Represents SideNav control to create "hamburger" menus. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Updates the control colors from the global color table. + + + + + Maximizes control width so it fills up space to the right of the control. + + Source of the event. + + + + Restores the control to previous size if it was maximized before. + + Source of event. + + + + Opens the control, i.e. expands it, selects specified item and shows its associated panel. + + Item to select. + Source of the event. + + + + Closes the control, i.e. unselects any selected item, hide its associated panel and folds the control. + + Source of the event. + + + + Raises IsMenuExpandedChanged event. + + Provides event arguments. + + + + Expands or collapses the control items menu. + + + + + + Called when AnimationTime property has changed. + + Old property value + New property value + + + + Raises BeforeMaximize event. + + Provides event arguments. + + + + Raises BeforeRestore event. + + Provides event arguments. + + + + Raises BeforeOpen event. + + Provides event arguments. + + + + Raises BeforeClose event. + + Provides event arguments. + + + + Raises SelectedItemChanged event. + + Provides event arguments. + + + + Indicates whether splitter that is located on right hand side of open control is visible and enabled. + + + + + Indicates whether button which folds/closes the control is visible. + + + + + + Returns collection of items on a bar. + + + + + Gets or sets whether control is closed, i.e. whether selected item panel is shown or not. When closed + any selected item is unselected and selected panel hidden. + + + + + Indicates whether side menu is expanded, i.e. shows both image and text. When menu is collapsed only image is shown. + + + + + Occurs when IsMenuExpanded property has changed its value. + + + + + Indicates the animation time in milliseconds for operations that perform visual animation of transition. Set to zero to disable animation. + + + + + Occurs before the control is maximized and allows you to cancel that. + + + + + Occurs before the control is restored and allows you to cancel that. + + + + + Occurs before the control is opened and allows you to cancel that. + + + + + Occurs before the control is closed and allows you to cancel that. + + + + + Gets currently selected item. Only items with Panel assigned can be selected. + + + + + Occurs when SelectedItem changes. + + + + + Gets reference to internal SideNavStrip control. + + + + + Defines delegate for the CancelSource events. + + + + + + + Event arguments for CancelSourceEventHandler + + + + + Gets the source of the event. + + + + + Gets any optional data that is associated with the event. + + + + + Creates new instance of the object. + + Source of event + + + + Creates new instance of the object. + + Source of event + Optional data associated with the event. + + + + Initializes a new instance of the MetroTabItem class. + + + + + Selects the tab. + + + + + Called after Checked property has changed. + + + + + Occurs just before Click event is fired. + + + + + Called when Visibility of the items has changed. + + New Visible state. + + + + Occurs after item visual style has changed. + + + + + Gets or sets cached image rendering bounds. + + + + + Gets or sets cached text rendering bounds. + + + + + Gets or sets the panel assigned to this tab item. + + + + + Gets or set the Group item belongs to. The groups allows a user to choose from mutually exclusive options within the group. The choice is reflected by Checked property. + + + + + Returns the collection of sub items. + + + + + Indicates the array of colors that when set are used to draw the background of the item. + + + + + Indicates the array of colors that when set are used to draw the border of the item. + + + + + Gets or sets the additional padding added around the tab item in pixels. Default value is 0. + + + + + Indicates an optional title for the associated panel. If not set item text is used. + + + + + Gets or sets whether this item acts as the SideNav control system menu which collapses and expands the SideNav items. + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Indicates whether the item will auto-expand when clicked. + When item is on top level bar and not on menu and contains sub-items, sub-items will be shown only if user + click the expand part of the button. Setting this propert to true will expand the button and show sub-items when user + clicks anywhere inside of the button. Default value is false which indicates that button is expanded only + if its expand part is clicked. + + + + + Gets or sets whether item can be customized by end user. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets a value indicating whether the item is enabled. + + + + + Indicates item's visiblity when on pop-up menu. + + + + + Indicates when menu items are displayed when MenuVisiblity is set to VisibleIfRecentlyUsed and RecentlyUsed is true. + + + + + Indicates Animation type for Popups. + + + + + Indicates the font that will be used on the popup window. + + + + + Indicates whether sub-items are shown on popup Bar or popup menu. + + + + + Specifies the inital width for the Bar that hosts pop-up items. Applies to PopupType.Toolbar only. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Gets or sets the width of the expand part of the button item. + + + + + Gets or set the alternative shortcut text. + + + + + Gets or sets whether item separator is shown before this item. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Gets or sets the text color of the button when mouse is over the item. + + + + + Indicates the way item is painting the picture when mouse is over it. Setting the value to Color will render the image in gray-scale when mouse is not over the item. + + + + + Gets/Sets the button style which controls the appearance of the button elements. Changing the property can display image only, text only or image and text on the button at all times. + + + + + Provides data for the SideNavItem rendering events. + + + + + Gets or sets the reference to the item being rendered. + + + + + Gets or sets the reference to graphics object. + + + + + Indicates whether to cancel system rendering of the item. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the ListBoxItem being rendered. + Reference to the graphics object. + + + + Defines color table for SideNav control. + + + + + Gets or sets the color table for SideNavItem + + + + + Gets or sets the background color of SideNav title bar. + + + + + Gets or sets the border color of the title of SideNav control. + + + + + Gets or sets the color of the strip which hosts the items. + + + + + Gets or sets the border color of the SideNav control. + + + + + Gets or sets the back color of panels that are attached to SideNavItem and displayed when SideNavItem is selected. + + + + + Defines color table for SideNavItem + + + + + Gets or sets the color table for Default state. + + + + + Gets or sets the color table for MouseOver state. + + + + + Gets or sets the color table for Pressed state. + + + + + Gets or sets the color table for Selected state. + + + + + Defines state color table for SideNavItem + + + + + Indicates item text color. + + + + + Gets or sets the background colors for the item. + + + + + Gets or sets the back colors gradient angle if there is more than one color in BackColors array. + + + + + Gets or sets the gradient colors positions if there is more than one color in BackColors array. + + + + + Gets or sets the border colors for the item. + + + + + Indicates the corner radius. + + + + + Represents a panel which hosts controls for the SideNavItem. + + + + + Raises NonClientSizeChanged event. + + Provides event arguments. + + + + Raises ScrollBarValueChanged event. + + Provides event arguments. + + + + Raises NonClientSizeChanged event. + + Provides event arguments. + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Returns collection of items on a bar. + + + + + Gets currently selected item. + + + + + Represents the panel which can slide out and into the view. + + + + + Raises IsOpenChanged event. + + Provides event arguments. + + + + Called when SlideSide property has changed. + + Old property value + New property value + + + + Called when IsOpen property has changed. + + Old property value + New property value + + + + Slides panel into the view. + + + + + Waits for current slide animation to finish and then returns control. + + + + + Slides panel out of the view. + + + + + Called when AnimationTime property has changed. + + Old property value + New property value + + + + Called when SlideOutButtonVisible property has changed. + + Old property value + New property value + + + + Called when SlideOutButtonSize property has changed. + + Old property value + New property value + + + + Returns whether property should be serialized. + + + + + Resets property to default value. + + + + + Called when SlideOutActiveButtonSize property has changed. + + Old property value + New property value + + + + Returns whether property should be serialized. + + + + + Resets property to default value. + + + + + Called when SlideOutButtonStyle property has changed. + + Old property value + New property value + + + + Called when CenterContent property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Occurs when IsOpen property value has changed, i.e. slide-panel is shown or hidden. + + + + + Gets or sets side panel slides into. + + + + + Gets or sets whether panel is open. When this property is changed panel will slide in or out of the view. + + + + + Gets or sets whether panel uses modal animation, meaning when IsOpen property is set the call is not returned until animation is complete. + + + + + Gets or sets the open panel bounds. When control IsOpen=false and panel is collapsed its original bounds are stored in OpenBounds property and restored once panel is open. + + + + + Gets or sets the animation duration time in milliseconds. Setting this property to 0 will disable slide animation. + + + + + Gets or sets whether slide out button is shown when panel is out of the view and which allows panel to be shown. + + + + + Gets or sets the slide-out buttton size in default state. + + + + + Gets or sets active (mouse over) slide out button size. + + + + + Gets or sets slide-out button style. + + + + + Gets or sets whether panel centers the Controls inside of it. Default value is false. + + + + + Gets or sets the color of the Symbol displayed on slideout button. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the slideout button. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Defines the side SlidePanel slides into. + + + + + Represents the slider button that is used by SlidePanel when collapsed to slide it back into the view. + + + + + Initializes a new instance of the SliderButton class. + + + + + + Called when AutoTopMostEnabled property has changed. + + Old property value + New property value + + + + Called when SliderSize property has changed. + + Old property value + New property value + + + + Called when ActiveSliderSize property has changed. + + Old property value + New property value + + + + Called when IsActive property has changed. + + Old property value + New property value + + + + Called when IsMouseDown property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Gets or sets whether slider button automatically checks whether its top-most control on the form, i.e. visible at all times on top of other controls + + + + + Gets or sets the slider size in default state. Notice that size specified here applies to Left and Right SlidePanel positions. For Top and Bottom positions the Width and Height are interchaged. + + + + + Gets or sets the slider size in active state. Notice that size specified here applies to Left and Right SlidePanel positions. For Top and Bottom positions the Width and Height are interchaged. + + + + + Gets or sets whether slider button is in active state. + + + + + Gets or sets the style associated with the control. + + + + + Gets or sets the color of the Symbol. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Represents the Slider control. + + + + + Raises the IncreaseButtonClick event. + + Provides event arguments + + + + Raises the DecreaseButtonClick event. + + Provides event arguments + + + + Raises the ValueChanged event. + + Provides event arguments + + + + Raises the ValueChanging event. + + + + + Advances the current position of the slider by the amount of the Step property. + + + + + Returns whether property should be serialized. Used by Windows Forms designer. + + + + + Resets the property to default value. Used by Windows Forms designer. + + + + + Forces the button to perform internal layout. + + + + + Called when Command property value changes. + + + + + Occurs after Value property has changed. + + + + + Occurs before Value property has changed. + + + + + Occurs when Increase button is clicked using mouse. + + + + + Occurs when Decrease button is clicked using mouse. + + + + + Gets or sets whether text-markup support is enabled for controls Text property. Default value is true. + Set this property to false to display HTML or other markup in the control instead of it being parsed as text-markup. + + + + + Gets or sets the text label position in relationship to the slider. Default value is Left. + + + + + Gets or sets whether the text label next to the slider is displayed. + + + + + Gets or sets the width of the label part of the item in pixels. Value must be greater than 0. Default value is 38. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets or sets the current position of the slider. + + + + + Gets or sets the amount by which a call to the PerformStep method increases the current position of the slider. Value must be greater than 0. + + + + + Gets or sets the color of the label text. + + + + + Gets or sets whether vertical line track marker is displayed on the slide line. Default value is true. + + + + + Gets or sets the tooltip for the Increase button of the slider. + + + + + Gets or sets the tooltip for the Decrease button of the slider. + + + + + Gets or sets the slider orientation. Default value is horizontal. + + + + + Gets the SliderItem. + + + + + Gets or sets the custom color table for the item. Color table here will override all system color table settings. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Represents the control which displays symbol from symbols library. + + + + + Initializes a new instance of the SymbolBox class. + + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrieved from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Resets style to default value. Used by windows forms designer. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Specifies the background style of the control. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Gets or sets the color of the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the name of the color table. + + + + + Gets or sets the default tab colors. + + + + + Gets or sets the disabled tab colors. + + + + + Gets or sets the selected tab colors. + + + + + Gets or sets the colors when mouse is over the tab but tab is not selected. + + + + + Gets or sets colors for the tab close button. + + + + + Defines the color table for RibbonTabItem states. + + + + + Indicates item text color. + + + + + Gets or sets the background colors for the item. + + + + + Gets or sets the back colors gradient angle if there is more than one color in BackColors array. + + + + + Gets or sets the gradient colors positions if there is more than one color in BackColors array. + + + + + Gets or sets the item border colors. + + + + + Creates a copy of the state color table. + + + + + Defines color table for TabFormItem close button displayed on tabs. + + + + + Colors for the button in default state. + + + + + Colors for button in mouse over state. + + + + + Colors for button when pressed with mouse state. + + + + + Defines state color table for TabFormItem close button displayed on tabs. + + + + + Gets or sets the background colors for the item. + + + + + Gets or sets the back colors gradient angle if there is more than one color in BackColors array. + + + + + Gets or sets the gradient colors positions if there is more than one color in BackColors array. + + + + + Indicates item sign color. + + + + + Indicates item border color. + + + + + Gets or sets color table used by renderer. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets the reference to TabParentForm being rendered. + + + + + Indicates whether to cancel system rendering of the item. + + + + + Raises PrepareModalPanelBounds event. + + Provides event arguments. + + + + Initializes a new instance of the MetroForm class. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Shows the panel control in the center of the form and covers all non system controls making the panel effectively modal. + + Control to show. + + + + Shows the panel control in the center of the form by sliding it in from specified side and covers all non system controls making the panel effectively modal. + + Panel to show. + Side to slide panel into the view from. + + + + Shows the panel control in the center of the form by sliding it in from specified side and covers all non system controls making the panel effectively modal. + + Panel to show. + Side to slide panel into the view from. + Slide animation speed in milliseconds. + + + + Hides the panel control that was previously shown using ShowModalPanel method. + + Control to hide. + + + + Hides the panel control that was previously shown using ShowModalPanel method by sliding it out of the view to the specified side. + + Control to hide. + Side to slide control into. + + + + Gets effective Border Thickness for the form. + + Thickness + + + + Called when BorderThickness property has changed. + + Old property value + New property value + + + + Called when BorderColor property has changed. + + Old property value + New property value + + + + Called when WM_NCHITTEST message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Called when WM_DWMCOMPOSITIONCHANGED message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Called when WM_NCACTIVATE message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Called when WM_NCCALCSIZE message is received. + + Message structure. + true to call base WndProc otherwise false. + + + + Occurs before modal panel is shown and allows change of modal panel bounds. + + + + + Gets or sets whether MetroShell is pre-rendered when form is shown to make first rendering smoother. Default value is true. + + + + + Gets whether at least one modal panel is displayed. + + + + + Indicates whether modal panel when displayed shows MetroStatusBar. + + + + + Returns whether Windows Glass effects are enabled. + + + + + Gets or sets the TabFormControl that is hosted by this form. This property is for internal use only. + + + + + Gets or sets whether form can be resized. + + + + + Gets or sets the form border thickness. Default value is empty thickness which indicates that thickness is taken from color table. + + + + + Gets or sets the form border colors. + + + + + Gets whether form is active. + + + + + Indicates the number of pixels subtracted from form's height or width (depending on taskbar position) when form is maximized and taskbar is in auto-hide state. Default value is 4. + + + + + This property is not to be used with MetroForm. + + + + + Gets or sets the size of the border on the edges of the form that when mouse is over allow for form resizing. + + + + + Indicates whether Close button in top-right corner of the form is visible. + + + + + This property cannot be used on MetroAppForm + + + + + This property cannot be used on MetroAppForm + + + + + This property cannot be used on MetroAppForm + + + + + This property cannot be used on MetroAppForm + + + + + Gets or sets text for form system menu Restore item. + + + + + Gets or sets text for form system menu Move item. + + + + + Gets or sets text for form system menu Size item. + + + + + Gets or sets text for form system menu Minimize item. + + + + + Gets or sets text for form system menu Maximize item. + + + + + Gets or sets text for form system menu Close item. + + + + + Represents Tabbed Forms control for creating tabbed user interface as replacement for MDI child forms. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Performs the setup of the TabFormPanel with the current style of the TabFormControl Control. + + Panel to apply style changes to. + + + + Creates new Tab at specified position, creates new associated panel and adds them to the control. + + Specifies the text displayed on the tab. + Specifies the name of the tab + Specifies the position of the new tab inside of Items collection. + New instance of the TabFormItem that was created. + + + + Creates new Tab and associated panel and adds them to the control. + + Specifies the text displayed on the tab. + Specifies the name of the tab + New instance of the TabFormItem that was created. + + + + Recalculates layout of the control and applies any changes made to the size or position of the items contained. + + + + + Occurs when text markup link is clicked. + + + + + Raises CreateNewTab event. + + Provides event arguments. + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Occurs when Item on control is clicked. + + + + + Occurs after selected tab has changed. You can use + TabFormControl.SelectedTab + property to get reference to newly selected tab. + + + + + Occurs when text markup link from TitleText markup is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Returns current number of tabs visible and hidden on the tab strip. + + + + + Indicates whether Form.Icon is shown in top-left corner. + + + + + + Gets or sets the Context menu bar associated with the this control which is used as part of Global Items feature. The context menu + bar assigned here will be used to search for the items with the same Name or GlobalName property so global properties can be propagated when changed. + You should assign this property to enable the Global Items feature to reach your ContextMenuBar. + + + + + Gets or sets whether custom caption and quick access toolbar provided by the control is visible. Default value is false. + This property should be set to true when control is used on MetroAppForm. + + + + + Gets or sets the font for the form caption text when CaptionVisible=true. Default value is NULL which means that system font is used. + + + + + Gets or sets the explicit height of the caption provided by control. Caption height when set is composed of the TabGroupHeight and + the value specified here. Default value is 0 which means that system default caption size is used. + + + + + Specifies the background style of the control. + + + + + Gets or sets the currently selected TabFormItem. TabFormItems are selected using the Checked property. Only a single + TabFormItem can be selected (Checked) at any given time. + + + + + Indicates whether new tab item which allows creation of new tab when clicked is visible. When visible you need to handle CreateNewTab event and create your new tab in event handler. + + + + + Occurs when new tab item is clicked by end user and allows you to create and add new tab to the control. + + + + + Returns reference to internal tab-strip control. + + + + + Returns collection of items on a bar. + + + + + Gets collection of items displayed in control captions, if it is visible (CaptionVisible=true). + + + + + Gets or sets the custom color table for the control. When set this color table overrides all system color settings for control. + + + + + Gets or sets whether mouse wheel scrolls through the tabs. Default value is true. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Gets or sets a value indicating whether the user can give the focus to this control using the TAB key. Default value is false. + + + + + Gets or sets the side tab-strip is docked to. + + + + + Gets or sets the font tab items are displayed with. + + + + + Gets or sets whether this TabFormControl was auto-created as result of end-user tearing off the tab. + + + + + Specifies dock side for tab form strip control. + + + + + Represents a tab in Tabbed Form user interface. + + + + + Initializes a new instance of the TabFormItem class. + + + + + Selects the tab. + + + + + Called after Checked property has changed. + + + + + Occurs just before Click event is fired. + + + + + Called when Visibility of the items has changed. + + New Visible state. + + + + Occurs after item visual style has changed. + + + + + Gets color table key for the default tab color table. + + + + + Gets color table key for the green tab color table. + + + + + Gets color table key for the magenta tab color table. + + + + + Gets color table key for the orange tab color table. + + + + + Gets color table key for the red tab color table. + + + + + Gets color table key for the blue tab color table. + + + + + Gets color table key for the yellow tab color table. + + + + + Gets color table key for the purple tab color table. + + + + + Gets color table key for the cyan tab color table. + + + + + Gets color table key for the blue mist tab color table. + + + + + Gets color table key for the purple mist tab color table. + + + + + Gets color table key for the tan tab color table. + + + + + Gets color table key for the lemon lime tab color table. + + + + + Gets color table key for the apple tab color table. + + + + + Gets color table key for the teal tab color table. + + + + + Gets color table key for the red chalk tab color table. + + + + + Gets color table key for the silver tab color table. + + + + + Gets or sets the close button bounds. + + + + + Gets or sets cached image rendering bounds. + + + + + Gets or sets cached text rendering bounds. + + + + + Gets or sets the additional padding added around the tab item in pixels. Default value is 0. + + + + + Indicates whether close button is visible on the tabs which when clicked closes the tab. Default value is true. + + + + + Gets or sets whether size of the tab has been reduced below the default calculated size. + + + + + Gets or sets the predefined color of the tab. Default value is eTabFormItemColor.Default + + + + + Gets or sets the panel assigned to this tab item. + + + + + Gets or set the Group item belongs to. The groups allows a user to choose from mutually exclusive options within the group. The choice is reflected by Checked property. + + + + + Returns the collection of sub items. + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Indicates whether the item will auto-expand when clicked. + When item is on top level bar and not on menu and contains sub-items, sub-items will be shown only if user + click the expand part of the button. Setting this propert to true will expand the button and show sub-items when user + clicks anywhere inside of the button. Default value is false which indicates that button is expanded only + if its expand part is clicked. + + + + + Gets or sets whether item can be customized by end user. + + + + + Gets or set a value indicating whether tab is selected. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets a value indicating whether the item is enabled. + + + + + Indicates item's visiblity when on pop-up menu. + + + + + Indicates when menu items are displayed when MenuVisiblity is set to VisibleIfRecentlyUsed and RecentlyUsed is true. + + + + + Indicates Animation type for Popups. + + + + + Indicates the font that will be used on the popup window. + + + + + Indicates whether sub-items are shown on popup Bar or popup menu. + + + + + Specifies the inital width for the Bar that hosts pop-up items. Applies to PopupType.Toolbar only. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Gets or sets the width of the expand part of the button item. + + + + + Gets or set the alternative shortcut text. + + + + + Gets or sets whether item separator is shown before this item. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Gets or sets the text color of the button when mouse is over the item. + + + + + Indicates the way item is painting the picture when mouse is over it. Setting the value to Color will render the image in gray-scale when mouse is not over the item. + + + + + Gets/Sets the button style which controls the appearance of the button elements. Changing the property can display image only, text only or image and text on the button at all times. + + + + + Indicates the array of colors that when set are used to draw the background of the item. + + + + + Gets or sets the custom color table for the tab. When set this color table overrides all color settings for a tab. + + + + + Specifies predefined color assigned to Tab Form Item. + + + + + Gets the TabFormItem this panel is associated with + + + + + Defines state color table for TabParentForm. + + + + + Gets or sets the colors for the top part of the background. + + + + + Gets or sets the back colors gradient angle if there is more than one color in BackColors array. + + + + + Gets or sets the gradient colors positions if there is more than one color in BackColors array. + + + + + Gets or sets the color of caption text. + + + + + Gets or sets the border colors. + + + + + Defines the internal container item for the ribbon strip control. + + + + + Creates new instance of the class and initializes it with the parent RibbonStrip control. + + Reference to parent RibbonStrip control + + + + Occurs after an item has been added to the container. This procedure is called on both item being added and the parent of the item. To distinguish between those two states check the item parameter. + + When occurring on the parent this will hold the reference to the item that has been added. When occurring on the item being added this will be null (Nothing). + + + + Paints this base container + + + + + Returns copy of GenericItemContainer item + + + + + Raises CreateNewTab event. + + Provides event arguments. + + + + Return Sub Item at specified location + + + + + Gets the list of the items displayed in form caption if its visible. + + + + + Gets or sets the scroll button width. + + + + + Indicates the scroll in pixels each time scroll button is pressed. + + + + + Gets reference to internal ribbon strip container that contains tabs and/or other items. + + + + + Gets reference to internal caption container item that contains the quick toolbar, start button and system caption item. + + + + + Indicates whether new tab item which allows creation of new tab when clicked is visible. When visible you need to handle CreateNewTab event and create your new tab in event handler. + + + + + Occurs when new tab item is clicked by end user and allows you to create and add new tab to the control. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + When parent items does recalc size for its sub-items it should query + image size and store biggest image size into this property. + + + + + + Represents simple item container which orders items horizontally and support all ItemAlignment settings. + + + + + Initializes a new instance of the SimpleItemContainer class. + + + + + Returns copy of the item. + + + + + Copies the item specific properties to new instance of the item. + + New instance. + + + + Copies the item specific properties to new instance of the item. + + New instance. + + + + Sets whether container is used as system container internally by DotNetBar. + + true or false to indicate whether container is system container or not. + + + + Called when ItemSpacing property has changed. + + Old property value + New property value + + + + Gets or sets the minimum size of the container. Either Width or Height can be set or both. Default value is 0,0 which means + that size is automatically calculated. + + + + + Returns whether instance of the item container is used as system container internally by DotNetBar. + + + + + Indicates the spacing between items. + + + + + Indicates additional spacing between item when its BeginGroup property is set. + + + + + Specifies the layout orientation + + + + + Indicates whether all items are resized to be of the size equal to largest item in the container + + + + + Indicates left side padding within container. + + + + + Indicates right side padding within container. + + + + + Gets overlap spacing for specific item types specified by OverlapType in the container. + + + + + Gets the type of the item that will overlap. + + + + + Return Sub Item at specified location + + + + + Occurs after an item has been added to the container. This procedure is called on both item being added and the parent of the item. To distinguish between those two states check the item parameter. + + When occurring on the parent this will hold the reference to the item that has been added. When occurring on the item being added this will be null (Nothing). + + + + Occurs after an item has been removed. + + Item being removed. + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Represents tabbed UI strip control. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Occurs when text markup link is clicked. + + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrived from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Returns effective caption height. + + Caption height. + + + + Returns automatically calculated height of the control given current content. + + Height in pixels. + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Called when item on popup container is right-clicked. + + Instance of the item that is right-clicked. + + + + Starts moving of the parent form action which happens when user attempts to drag the form caption. + + + + + Returns true if point is inside the caption area. + + Client point coordinates. + True if point is inside of caption area otherwise false. + + + + Closes specified tab. + + Tab to close + Source of the event + + + + Raises RemovingToken event. + + Provides event arguments. + + + + Raises RemovingToken event. + + Provides event arguments. + + + + Raises BeforeTabFormItemDetach event. + + Provides event arguments. + + + + Raises TabFormItemDetach event. + + Provides event arguments. + + + + Occurs when text markup link from TitleText markup is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Gets or sets whether control can be customized and items added by end-user using context menu to the quick access toolbar. + Caption of the control must be visible for customization to be enabled. Default value is true. + + + + + Gets or sets the explicit height of the caption provided by control. Caption height when set is composed of the TabGroupHeight and + the value specified here. Default value is 0 which means that system default caption size is used. + + + + + Gets or sets whether custom caption line provided by the control is visible. Default value is false. + This property should be set to true when control is used on Office2007RibbonForm. + + + + + Gets or sets the font for the form caption text when CaptionVisible=true. Default value is NULL which means that system font is used. + + + + + Gets/Sets the visual style of the control. + + + + + Returns collection of items on a bar. + + + + + Returns currently selected TabFormItem. TabFormItems are selected using the Checked property. Only a single + TabFormItem can be Checked at any given time. + + + + + Indicates whether Form.Icon is shown in top-left corner. + + + + + Gets the reference to the internal container item for the items displayed in control caption. + + + + + Gets the reference to the internal container for the ribbon tabs and other items. + + + + + Indiciates the appearance of the tab form items rendered on the strip + + + + + Indicates whether end-user tab reordering is enabled, default value is true. + + + + + Indicates whether user can detach the tabs into the new forms using drag and drop. Default value is true. + + + + + Occurs before tab is closed and it allows canceling of the event. + + + + + Occurs after tab is closed. + + + + + Returns current number of tabs visile and hiden on the tab strip. + + + + + Indicates whether new tab item which allows creation of new tab when clicked is visible. When visible you need to handle CreateNewTab event and create your new tab in event handler. + + + + + Occurs before TabFormItem is detached and gives you opportunity to cancel the action or provide your own new TabParentForm and TabFormControl. + + + + + Occurs after TabFormItem has been detached and is added to the new form and tab control. + + + + + Defines delegate for the TabFormCloseTab event. + + + + + Defines delegate for the TabFormCloseTab event. + + + + + Allows to cancel the closing of the tab. + + + + + Reference to tab being closed. + + + + + Source of the event. + + + + + Defines delegate for the TabFormItemDetach event. + + + + + Defines delegate for the TabFormItemDetach event. + + + + + Gets or sets the reference to the form which will host newly detached TabFormItem and its panel, an instance of TabParentForm. You can provide your own instance of TabParentForm and TabControl to use instead of controls creating them. You must provide both TabParentForm and TabControl. Provide these in BeforeTabFormItemDetach event. + + + + + Gets or sets the reference to TabFormControl which will receive TabFormItem being dragged. If you provide your own TabParentForm and TabControl you must provide both. Provide these in BeforeTabFormItemDetach event. + + + + + Gets reference to the TabFormItem being detached. + + + + + Enables canceling of TabFormItem detachment from its parent. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets the reference to SwitchButtonItem being rendered. + + + + + Gets or sets the ItemPaintArgs reference. + + + + + Indicates whether to cancel system rendering of the item. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Raises CommandKeyDown event. + + Provides event arguments. + + + + Invalidates non-client area of the text box as response to the border changes. + + + + + Calculates and sets the text-box height based on font and style. This method is used internally and should not be used. + + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Invokes ButtonCustomClick event. + + + + + Invokes ButtonCustomClick2 event. + + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrived from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Occurs when ButtonCustom control is clicked. + + + + + Occurs when ButtonCustom2 control is clicked. + + + + + Indicates whether internal override for IsInputKey returns true for the Enter key. + + + + + Indicates whether all text is auto-selected when control gets input focus. Default value is false. + + + + + Gets or sets whether control prevents Beep sound when Enter key is pressed. + + + + + Gets or sets whether FocusHighlightColor is used as background color to highlight text box when it has input focus. Default value is false. + + + + + Gets or sets the color used as background color to highlight text box when it has input focus and focus highlight is enabled. + + + + + Occurs during preprocessing to handle command keys. Command keys are keys that always take precedence over regular input keys. Examples of command keys include accelerators and menu shortcuts. Set Handled=true to indicate that you handled the key and that it should not be passed for further processing. + + + + + Gets or sets the scrollbar skinning type when control is using Office 2007 style. + + + + + Specifies the control border style. Default value has Class property set so the system style for the control is used. + + + + + Gets or sets the rendering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Gets or sets whether watermark text is displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark image displayed inside of the control when Text is not set and control does not have input focus. + + + + + Gets or sets the watermark image alignment. + + + + + Gets or sets the watermark (tip) text displayed inside of the control when Text is not set and control does not have input focus. This property supports text-markup. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets the watermark hiding behaviour. Default value indicates that watermark is hidden when control receives input focus. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Specifies back color when Enabled=false + + + + + Represents the Vertical Office 2007 Style Scroll Bar control. + + + + + Gets or sets whether custom styling (Office 2007 style) is enabled. Default value is true. + + + + + Class represents single token in TokenEditor control. + + + + + Initializes a new instance of the EditToken class. + + Indicates token value. + + + + Initializes a new instance of the EditToken class. + + Indicates token value + Indicates token text + + + + Initializes a new instance of the EditToken class. + + Indicates token value + Indicates token text + Indicates token image + + + + Called when Value property has changed. + + Old property value + New property value + + + + Called when Text property has changed. + + Old property value + New property value + + + + Called when Image property has changed. + + Old property value + New property value + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Tooltip property has changed. + + Old property value + New property value + + + + Called when MouseOverPart property has changed. + + Old property value + New property value + + + + Indicates the token value, for example an email token has email address as token Value and full name as token Text. + + + + + Indicates the token text, for example an email token has email address as token Value and full name as token Text. + + + + + Gets or sets custom data associated with the object. + + + + + Gets the display bounds of the token, if displayed, inside of TokenEditor control. + + + + + Indicates the image that is displayed next to the token + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the token instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Gets or sets the color of the Symbol. + + + + + Indicates tooltip that is displayed when mouse is over the token and token is selected. + + + + + Gets the part of the token mouse is over. Valid only when token is selected. + + + + + Gets the bounds of the remove button if displayed. Valid only when token is selected. + + + + + Gets the bounds of the image if displayed. Valid only when token is selected. + + + + + Indicates whether token is selected. + + + + + Indicates whether token is focused while selected. + + + + + Defines the token parts. + + + + + Identifies no token part. + + + + + Identifies the token body/text. + + + + + Identifies the remove token button. + + + + + Identifies the token image. + + + + + Initializes a new instance of the TokenEditor class. + + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrieved from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Resets style to default value. Used by windows forms designer. + + + + + Raises SelectedTokensChanged event. + + Provides event arguments. + + + + Called when RemoveTokenButtonVisible property has changed. + + Old property value + New property value + + + + Returns the token from SelectedTokens at specified position or null/nothing if no token is at given location. + + Location in client coordinates to test. + EditToken instance or null/nothing + + + + Raises TokenMouseEnter event. + + Provides event arguments. + + + + Raises TokenMouseLeave event. + + Provides event arguments. + + + + Raises TokenMouseClick event. + + Provides event arguments. + + + + Raises TokenMouseClick event. + + Provides event arguments. + + + + Raises TokenMouseHover event. + + Provides event arguments. + + + + Raises RemovingToken event. + + Provides event arguments. + + + + Called when ReadOnly property has changed. + + Old property value + New property value + + + + Called when DropDownHeight property has changed. + + Old property value + New property value + + + + Called when DropDownWidth property has changed. + + Old property value + New property value + + + + Raises AutoCompletePopupOpened event. + + Provides event arguments. + + + + Raises BeforeAutoCompletePopupOpen event. + + Provides event arguments. + + + + Raises BeforePopupOpen event. + + Provides event arguments. + + + + Raises ValidateToken event. + + Provides event arguments. + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Called when TextSeparator property has changed. + + Old property value + New property value + + + + Called when DropDownButtonVisible property has changed. + + Old property value + New property value + + + + Called when CheckBoxesVisible property has changed. + + Old property value + New property value + + + + Shows tooltip for this item. + + + + + Destroys tooltip window. + + + + + Gets or sets the location of the auto-scroll position. + + + + + Specifies the background style of the control. + + + + + Gets the collection of the selected tokens. + + + + + Occurs when SelectedTokens collection changes. + + + + + Gets the collection of the tokens available for selection. + + + + + Indicates whether remove token button is displayed on individual tokens so they can be removed from the selection. + + + + + Occurs when mouse enters one of the SelectedTokens token. + + + + + Occurs when mouse leaves one of the SelectedTokens token. + + + + + Occurs when mouse clicks one of the SelectedTokens token. + + + + + Occurs when mouse double clicks one of the SelectedTokens token. + + + + + Occurs when mouse hovers one of the SelectedTokens token. + + + + + Occurs before token is removed from the SelectedTokens by end user. + + + + + Indicates whether tokens can be added or removed by end user. Default value is false. + + + + + Indicates the height of the auto-complete drop-down. + + + + + Indicates the width of the auto-complete drop-down. + + + + + Indicates whether when token text is entered into the text-box pressing the Enter key attempts to validate the token and converts the text to token. + + + + + Occurs before token auto-complete popup is displayed and allows cancelation of popup display. + + + + + Occurs after auto-complete popup is open. + + + + + Occurs before the auto-complete popup is displayed and allows you to adjust popup location. + + + + + Indicates how tokens are filtered based on the entered text + + + + + Indicates whether auto-complete popup size is preserved between popup displays if popup is resized by end-user. + + + + + Indicates whether auto-complete popup can be resized by end user. + + + + + Indicates whether multi-column popup close button is visible. + + + + + Gets or sets whether auto-complete popup window is open. + + + + + Gets the list of separators which are used to divide entered text into the tokens. + + + + + Occurs when an token is selected from the auto-complete list or when text entry by end user is parsed into token to validate it. + + + + + Indicates whether control automatically increases its height as more tokens are selected. MaxHeightLines property controls the maximum number of lines control will grow to before showing scroll-bar. + + + + + Indicates maximum number of lines control will grow to when AutoSizeHeight=true. Set to 0 to indicates unlimited growth. + Default value is 5. + + + + + Gets reference to internal text-box control that is used to input the token text. + + + + + Indicates whether any text entered into the token editor is validated and converted to token when control loses focus. + + + + + Gets or sets whether watermark text is displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark image displayed inside of the control when Text is not set and control does not have input focus. + + + + + Gets or sets the watermark image alignment. + + + + + Gets or sets the watermark (tip) text displayed inside of the control when Text is not set and control does not have input focus. This property supports text-markup. + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets the watermark hiding behaviour. Default value indicates that watermark is hidden when control receives input focus. + + + + + Indicates the character separator that is used to separate tokens when controls Text property is updated or parsed. + + + + + Indicates whether drop-down button which shows available token popup is displayed + + + + + Indicates whether check-boxes are displayed on popup token selection list and used for token selection. + + + + + Occurs when item's tooltip visibility has changed. + + + + + Gets or sets whether tooltips are shown when mouse is over the selected token when Tooltip property is set. + + + + + Delegate for the ValidateTokenEvent event. + + + + + Arguments for the ValidateTokenEvent event. + + + + + Indicates whether validated token is valid. Default value is true. When you set this property to false the token being validated will be discared. + + + + + Indicates the Token that will be accepted by the control if IsValid=true. + + + + + Indicates whether token is newly created. When false it means that token was taken from Tokens collection. + + + + + Initializes a new instance of the ValidateTokenEventArgs class. + + + + + + Delegate for RemovingToken event. + + + + + Defines event arguments for RemovingToken event. + + + + + Indicates the Token that will be removed. + + + + + Set to true to cancel removal of the token. + + + + + Indicates the source of the event. + + + + + Initializes a new instance of the RemovingTokenEventArgs class. + + + + + + Specifies the filter behavior on token editor popup list. + + + + + Token text is searched for the match. + + + + + Token value is searched for the match. + + + + + Both token text and value are searched for the match. + + + + + Delegate for TokenEditor.BeforePopupOpen event. + + + + + Defines event arguments for BeforePopupOpen event. + + + + + Gets or sets the screen location of the popup in relation to the TokenEditor control. + + + + + Gets the suggested popup size. + + + + + Initializes a new instance of the TokenEditorPopupEventArgs class. + + + + + + Represents the color table for TokenEditor control tokens. + + + + + Initializes a new instance of the TokenEditorColorTable class. + + + + + Initializes a new instance of the TokenEditorColorTable class. + + + + + Initializes a new instance of the TokenEditorColorTable class. + + + + + Gets or sets token default state colors. + + + + + Gets or sets token mouse over state colors. + + + + + Gets or sets token focused state colors. + + + + + Represents the state color table for token in TokenEditor control. + + + + + Initializes a new instance of the TokenColorTable class. + + + + + Initializes a new instance of the TokenColorTable class. + + + + + + + Initializes a new instance of the TokenColorTable class. + + + + + + + Gets or sets token text color. + + + + + Gets or sets the background color table. + + + + + Represents non-intrusive Warning Box control with Options and Close button. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Raises the CloseClick event. + + Event arguments. + + + + Raises the OptionsClick event. + + Event arguments. + + + + Updates control color scheme based on currently selected Office 2007 Color Table. Usually it is not necessary to + call this method manually. You need to call it to update the colors on control if you customize the Office2007ColorTable.WarningBox values. + + + + + Invokes the MarkupLinkClick event. + + Provides additional data about event. + + + + Called when AntiAlias property has changed. + + Old property value + New property value + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Occurs when Close button is clicked. + + + + + Occurs when Options button is clicked. + + + + + Occurs when warning text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets the text displayed on close button tooltip. + + + + + Gets or sets the text displayed on warning control label. Supports text-markup. + + + + + Gets or sets whether text is wrapped on multiple lines if it cannot fit the space allocated to the control. + + + + + Gets or sets the image displayed next to the warning label text. Default value is null. + + + + + Gets or sets the text for the Options buttons. + + + + + Gets or sets whether Options button is visible. Default value is true. + + + + + Gets or sets whether Close button is visible. Default value is true. + + + + + Gets or sets the timeout in seconds after which the control automatically closes itself. Default value is 0 which indicates that auto-close + is disabled. + + + + + Gets or sets the control's color scheme. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is true. + + + + + Defines available WarningBox control color schemes. + + + + + Represents compact tree bread-crumb control. + + + + + Initializes a new instance of the CrumbBar class. + + + + + Finds CrumbBarItem with specified name. + + Name of item to look for + Item or null if no item was found. + + + + Sets the currently selected item in the control. + + Reference to selected item. + Source of the event. + + + + Shows the selected item popup menu if it has menu items. + + true if popup was shown otherwise false + + + + Gets whether an item is in selected path to the currently selected item as either one of the parents of selected item + or selected item itself. + + Item to test. + true if item is in selected path otherwise false. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Raises the SelectedItemChanging event. + + Provides event arguments. + + + + Raises the SelectedItemChanged event. + + Provides event arguments. + + + + Returns full path to the given node. + + Node to return path to. + Full path to the node. + + + + Occurs before SelectedItem has changed and provides opportunity to cancel the change. Set Cancel property on event arguments to true to cancel the change. + + + + + Occurs after SelectedItem has changed. The change of the selected item at this point cannot be canceled. For that use SelectedItemChanging event. + + + + + Gets or sets currently selected item. + + + + + Gets collection of items assigned to the control. + + + + + Gets or sets the visual style of the control. Default value is Windows Vista style. + + + + + Gets the color table used by the Vista style renderer. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Gets or sets the delimiter string that the tree node path uses. + + + + + Defines delegate for CrumbBar selection events. + + + + + Provides data for CrumbBar selection events. + + + + + Gets or sets newly selected item. + + + + + Initializes a new instance of the CrumbBarSelectionEventArgs class. + + + + + + Represents an item for CrumbBar control. + + + + + Gets whether item is selected item in CrumbBar control. + + + + + Returns the collection of sub items. + + + + + Gets the path from the root tree node to the current tree node. The path consists of the labels of all the tree nodes that must be navigated to get to this tree node, starting at the root tree node. The node labels are separated by the delimiter character specified in the PathSeparator property of the Tree control that contains this node. + + + + + Represents collection of CrumbBarItem buttons. + + + + + Initializes a new instance of the CrumbBarItemsCollection class. + + + + + + Sets the node collection belongs to. + + CrumbBarItem that is parent of this collection. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the CrumbBarItem array. + + Array to copy to. + + + + Gets or sets the node this collection is associated with. + + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's name. + + + + + Represents a view of CrumbBarItem displayed inside of CrumbBar control. + + + + + Initializes a new instance of the CrumbBarItemView class. + + + + + Returns copy of ExplorerBarContainerItem item + + + + + Gets the item attached to the view. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets color table used by renderer. + + + + + Creates new instance of BaseItem. + + + + + Creates new instance of BaseItem and assigns item name. + + Item name. + + + + Creates new instance of BaseItem and assigns item name and item text. + + Item Name + Item Text + + + + Returns copy of ExplorerBarContainerItem item + + + + + Represents internal CrumbBar view container. + + + + + Initializes a new instance of the CrumbBarViewContainer class. + + + + + Recalculates the size of the item + + + + + Paints this base container + + + + + Returns copy of ExplorerBarContainerItem item + + + + + Occurs when sub item expanded state has changed. + + Sub item affected. + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Represents collection for Node objects. + + + + Creates new instance of the object. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the Node array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's name. + + + + + Provides High DPI support for DotNetBar controls. + + + + + Gets or sets whether scale factor when set is normalized so both Width and Height values are the same. Default value is false. + If using ScaleMode=font the scale factor might not be same for Width and Height so this allows opportunity to keep existing size ratios on the DotNetBar sized controls. + When set to true the scale factor Height will always be set to scale factor Width. + + + + + Indicates whether controls will automatically scale current images based on the current DPI. Depending on scaling this may result in pixalted images. + Best policy is to provide separate images for each DPI level Windows runs on and if you do that you need to set this property to false to disable + automatic size scaling for the images. Default value is true which causes the images to be upscaled. + + + + + Initializes a new instance of the DualButton class. + + + + + Called when ButtonSize property has changed. + + Old property value + New property value + + + + Called when Text2 property has changed. + + Old property value + New property value + + + + Called when MouseOverPart property has changed. + + Old property value + New property value + + + + Called when LeftMouseButtonDownPart property has changed. + + Old property value + New property value + + + + Called when Command property value changes. + + + + + Called when IsSelected property has changed. + + Old property value + New property value + + + + Called when Font property has changed. + + Old property value + New property value + + + + Gets or sets the second button part text. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that for ButtonItem instances if this property is set to null and command was assigned previously, Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Gets or sets the selected part of button. + + + + + Gets or sets the text font. + + + + + Standalone Calculator control. + + + + + Raises CalculatorDisplayChanged event. + + Provides event arguments. + + + + Invalidates control auto-size and resizes the control if AutoSize is set to true. + + + + + Called when FocusButtonsOnMouseDown property has changed. + + Old property value + New property value + + + + Called when DisplayVisible property has changed. + + Old property value + New property value + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Occurs when a calc button has been clicked + + + + + Occurs when the calculator value has changed + + + + + Indicates whether calculator displays only Integer values. + + + + + Gets or sets whether memory keys are visible. Default value is true. + + + + + Gets or sets visibility of the decimal calculator key. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Gets or sets whether calculator display is visible. Default value is true. + + + + + ButtonClickEventArgs + + + + + ButtonClickEventArgs + + + + + Gets the calc button that was clicked + + + + + ValueChangedEventArgs + + + + + ValueChangedEventArgs + + + + + + + Gets the input string value + + + + + Gets or sets calculator value + + + + + Represents a control that enables the user to select time using visual time display. + + + + + Raises SelectedTimeChanged event. + + Provides event arguments. + + + + Raises OkClick event. + + Provides event arguments. + + + + Initializes a new instance of the MonthCalendarAdv class. + + + + + Returns whether property should be serialized. + + + + + Resets property to default value. + + + + + Invalidates control auto-size and resizes the control if AutoSize is set to true. + + + + + Occurs after SelectedTime changes. + + + + + Occurs when OK button is clicked. + + + + + Gets or sets the text displayed on OK button. + + + + + Gets or sets whether Ok button is visible. + + + + + Gets or sets the selected date time. + + + + + Gets or sets selected time. Returns TimeSpan.Zero if there is no time selected. + + + + + Gets or sets the time format used to present time by the selector. + + + + + Gets or sets the format for the 12 Hour Time Display. + + + + + Gets or sets the format for the 24 Hour Time Display. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Indicates the type of the selector used to select time. + + + + + Gets or sets the text displayed on Clear button only when MonthCalendarStyle is used. + + + + + Gets or sets the text displayed on Hour label. + + + + + Gets or sets the text displayed on Minute label. + + + + + Represents the Time selector item. + + + + + Initializes a new instance of the TimeSelectionItem class. + + + + + Raises SelectedTimeChanged event. + + Provides event arguments. + + + + Raises OkClick event. + + Provides event arguments. + + + + Returns whether property should be serialized. + + + + + Resets property to default value. + + + + + Called when SelectedTime property has changed. + + Old property value + New property value + + + + Called when TimeFormat24H property has changed. + + Old property value + New property value + + + + Called when TimeFormat12H property has changed. + + Old property value + New property value + + + + Called when SelectedDateTime property has changed. + + Old property value + New property value + + + + Called when OkText property has changed. + + Old property value + New property value + + + + Called when ClearText property has changed. + + Old property value + New property value + + + + Called when TimeFormat property has changed. + + Old property value + New property value + + + + Called when OkButtonVisible property has changed. + + Old property value + New property value + + + + Called when ClearButtonVisible property has changed. + + Old property value + New property value + + + + Called when SelectorType property has changed. + + Old property value + New property value + + + + Called when HourText property has changed. + + Old property value + New property value + + + + Called when MinuteText property has changed. + + Old property value + New property value + + + + Occurs after SelectedTime changes. + + + + + Occurs when OK button is clicked. + + + + + Gets or sets selected time. Returns TimeSpan.Zero if there is no time selected. + + + + + Gets or sets the format for the 24 Hour Time Display. + + + + + Gets or sets the format for the 12 Hour Time Display. + + + + + Gets or sets the selected date time. + + + + + Gets or sets the text displayed on OK button. + + + + + Gets or sets the text displayed on Clear button only when MonthCalendarStyle is used. + + + + + Gets or sets the time format used to present time by the selector. + + + + + Gets or sets whether Ok button is visible. + + + + + Gets or sets whether Ok button is visible. + + + + + Indicates the type of the selector used to select time. + + + + + Gets or sets the text displayed on Hour label. + + + + + Gets or sets the text displayed on Minute label. + + + + + Defines time selector format. + + + + + Selector uses system format. + + + + + Selector uses 24-hour time format. + + + + + Selector uses 12-hour time format. + + + + + Defines the TimeSelector styles. + + + + + Time selector uses style similar to MonthCalendarStyle. + + + + + Time selector uses the touch style. + + + + + Represents the group of the input items with automatic and manual item focus change. + + + + + Raises the RenderInvalid event. + + + + + Raises the ArrangeInvalid event. + + + + + Raises the ResetMouseHover event. + + + + + Occurs when item arrange becomes invalid. + + + + + Occurs when item appearance becomes invalid and items needs to be repainted. + + + + + Occurs when item needs to signal to parent control that MouseHover needs to be reset usually in response to tooltip hiding. + + + + + Occurs when item is clicked. + + + + + Occurs when item is clicked using mouse. + + + + + Occurs when mouse button is pressed over the item. + + + + + Occurs when mouse button is pressed over the item. + + + + + Occurs when mouse hovers over the item. + + + + + Gets or sets whether item is Enabled. + + + + + Gets or sets whether visual is rendered. Default value is true. + + + + + Gets the parent of the item. + + + + + Gets the relative location of the element inside of its parent item. + + + + + Gets or sets the item horizontal alignment inside of the parent group. Default value is left. + + + + + Occurs when child item input is complete. Method should be used to forward the input focus onto the different field if desired. + + + + + Occurs when input stack on the child control has changed. + + Control on which input has changed + + + + Occurs when input stack on the child control has changed. + + Control on which input has changed + + + + Gets or sets the horizontal spacing in pixels between the items. + + + + + Gets or sets whether visual is root visual directly parented to the control. + + + + + Gets or sets group vertical alignment. Default value is middle. + + + + + Gets or sets input group horizontal alignment. Default value is left. + + + + + Resets the input position so the new input overwrites current value. + + + + + Updates the IsEmpty property value based on the contained input controls. + + + + + Gets or sets whether Tab key is used to navigate between the fields. Default value is true. + + + + + Gets or sets whether Enter key is used to navigate between input fields. Default value is true. + + + + + Gets or sets whether Arrow keys are used to navigate between input fields. Default value is true. + + + + + Gets or sets whether input focus is automatically advanced to next input field when input is complete in current one. + + + + + Gets or sets whether input items are read-only. + + + + + Gets or sets whether input group is empty i.e. it does not hold any value. + + + + + Gets or sets whether auto-overwrite functionality for input is enabled. When in auto-overwrite mode input field will erase existing entry + and start new one if typing is continued after InputComplete method is called. + + + + + Gets or sets whether current input is the user input. + + + + + List of characters that when pressed would select next input field. + + + + + Initializes a new instance of the IPAddressGroup class. + + + + + Describes the Elliptical Shape. + + + + + Returns the shape that fits given bounds. + + Bounds to fit shape in. + GraphicsPath representing shape or null if shape cannot be created. + + + + Returns the inner shape based on the specified border size. + + Bounds to fit shape in. + GraphicsPath representing shape or null if shape cannot be created. + + + + Returns whether shape can be drawn given the bounds. + + Bounds to test. + true if shape can be drawn inside of bounds otherwise false. + + + + Represents EllipticalShapeDescriptor object converter. + + + + + Initializes FormatHelper class. + + + + + Defines an interface that represents the Command associated with an BaseItem instance. + + + + + Executes the command without specifying the source of the command. + + + + + Executes the command and specifies the source of the command. + + + + + Called when CommandSource is registered for the command. + + CommandSource registered. + + + + Called when CommandSource is unregistered for the command. + + CommandSource unregistered. + + + + Sets an property value on the subscribers through the reflection. If subscriber does not have + specified property with value type its value is not set. + + Property name to set. + Property value. + + + + Executes the code associated with the command. + + + + + Provides the opportunity to cancel the execution of the command. This event occurs before the Executed event. + + + + + Gets or sets the text associated with the items that are using command. + + + + + Gets or sets the value of Checked property if item associated with the command support it. + + + + + Gets or sets the value of Visible property if item associated with the command support it. + + + + + Gets or sets the value of Image property if item associated with the command support it. + + + + + Gets or sets the value of small image (ImageSmall) property if item associated with the command support it. + + + + + Gets or sets the value of Enabled property for items associated with the command. + + + + + Defines an command that is associated with an instance of BaseItem + + + + + Initializes a new instance of the Command class with the specified container. + + An IContainer that represents the container for the command. + + + + Initializes a new instance of the Command class with the specified container. + + An IContainer that represents the container for the command. + + + + Initializes a new instance of the Command class with the specified execute event handler. + + + + + Initializes a new instance of the Command class. + + + + + Executes the command. + + + + + Executes the command. + + + + + Raises the Execute event. + + Provides event data. + + + + Raises the PreviewExecuted event. + + Provides event data. + + + + Called when Text property is set. + + + + + Sets the Text property on all subscribers to the command Text. + + + + + Sets an property value on the subscribers through the reflection. If subscriber does not have + specified property with value type its value is not set. + + Property name to set. + Property value. + + + + Gets whether property is set and whether it will be applied to items associated with the command. + + + + + + Resets the property to its default value and disables its propagation to items that are associated with command. + + + + + Gets whether property is set and whether it will be applied to items associated with the command. + + + + + + Resets the property to its default value and disables its propagation to items that are associated with command. + + + + + Gets whether property is set and whether it will be applied to items associated with the command. + + + + + + Resets the property to its default value and disables its propagation to items that are associated with command. + + + + + Gets whether property is set and whether it will be applied to items associated with the command. + + + + + + Resets the property to its default value and disables its propagation to items that are associated with command. + + + + + Gets whether property is set and whether it will be applied to items associated with the command. + + + + + + Resets the property to its default value and disables its propagation to items that are associated with command. + + + + + Gets whether property is set and whether it will be applied to items associated with the command. + + + + + + Resets the property to its default value and disables its propagation to items that are associated with command. + + + + + Called when CommandSource is registered for the command. + + CommandSource registered. + + + + Called when CommandSource is unregistered for the command. + + CommandSource unregistered. + + + + Executes the code associated with the command when an instance of BaseItem is clicked. + + + + + Occurs before the Executed event and allows you to cancel the firing of Executed event. + + + + + Gets or sets the Text that is assigned to all command sources that are using this command and have Text property. + + + + + Gets or sets the value for the Checked property that is assigned to the command subscribers using this command and have Checked property. + + + + + Gets whether the command is in process of syncing its state to all subscribers. + + + + + Gets or sets the value for the Visible property that is assigned to the command subscribers using this command and have Visible property. + + + + + Gets or sets the image that is assigned to the command subscribers using this command and have Image property. + + + + + Gets or sets the small image that is assigned to the command subscribers using this command and have ImageSmall property. + + + + + Gets or sets the value for Enabled property assigned to the command subscribers using this command and have Enabled property. + + + + + Returns name of the node that can be used to identify it from the code. + + + + + Defines an container where you can arrange child elements added to SubItems collection either horizontally or vertically, relative to each other using SetDock and GetDock methods. + + + + + Initializes a new instance of the ItemDockContainer class. + + + + + Returns copy of the item. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Recalculates the size of the container. Assumes that DisplayRectangle.Location is set to the upper left location of this container. + + + + + Called after TopInternal property has changed + + + + + Called after LeftInternal property has changed + + + + + Must be overridden by class that is inheriting to provide the painting for the item. + + + + + Retrieves the docking for specified item. + + + + + Sets the docking within container for specified item. + + Item to set docking for. + Docking value. + + + + Returns empty container default design-time size. + + Size of an empty container. + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Return Sub Item at specified location + + + + + Gets or sets a value that indicates whether the last child element within a ItemDockContainer stretches to fill the remaining available space. + + + + + IBlock member implementation + + + + + Provides binding support for ItemPanel control. + + + + + Initializes a new instance of the ItemVisualGenerator class. + + + + + + Called when Bindings property has changed. + + Old property value + New property value + + + + Called when VisualTemplate property has changed. + + Old property value + New property value + + + + When overridden in a derived class, sets the specified array of objects in a collection in the derived class. + + An array of items. + + + + Creates a new item from template for the data. + + Data to create item for. + New instance of the BaseItem. + + + + When overridden in a derived class, sets the object with the specified index in the derived class. + + The array index of the object. + The object. + + + + When overridden in a derived class, resynchronizes the item data with the contents of the data source. + + + + + Gets or sets the data source for the ComboTree. Expected is an object that implements the IList or IListSource interfaces, + such as a DataSet or an Array. The default is null. + + + + + Gets or sets the visual template that is generated for each data item. + + + + + + Defines delegate for data visual creation based events. + + + + + Defines event arguments for data visual creation based events. + + + + + Gets or sets the visual that is created for data item. + + + + + Gets the data-item node is being created for. + + + + + Initializes a new instance of the DataNodeEventArgs class. + + + + + + + Defines BorderColors structure used to define border colors. + + + + + Creates new instance of the object. + + Uniform BorderColors + + + + Creates new instance of the object. + + Left BorderColors + Top BorderColors + Right BorderColors + Bottom BorderColors + + + + Gets whether object equals to this instance. + + object to test. + returns whether objects are Equals + + + + Gets whether object equals to this instance. + + object to test. + returns whether objects are Equals + + + + Returns hash code for object. + + Hash code + + + + Returns string representation of object. + + string representing BorderColors + + + + Gets string representation of object. + + Culture info. + string representing BorderColors + + + + Returns whether all values are empty. + + + + + Returns whether all values are the same. + + + + + Gets or sets the left BorderColors. + + + + + Gets or sets the top BorderColors. + + + + + Gets or sets the Right BorderColors. + + + + + Gets or sets the Bottom BorderColors. + + + + + Provides BorderColors TypeConverter. + + + + + Gets or sets the background color. + + + + + Gets or sets the canvas light shade color. This property is not directly used but it is provided for reference. + + + + + Gets or sets the canvas lighter shade color. This property is not directly used but it is provided for reference. + + + + + Gets or sets the foreground color. + + + + + Gets or sets the base metro color. + + + + + Gets or sets background color of edit controls. + + + + + Gets or sets the color table for MetroAppForm. + + + + + Gets or sets the color table for MetroForm. + + + + + Gets or sets the color table for MetroTab. + + + + + Gets or sets color table for MetroStatusBar. + + + + + Gets or sets color table for MetroToolbar. + + + + + Gets or sets the color table used by MetroTile items. + + + + + Gets or sets the metro-part colors that define the metro UI color scheme. These colors are provided for you reference and reuse in your app. + + + + + Represents class that defines parameters for Metro style color scheme. + + + + + Initializes a new instance of the MetroStyleParameters class. + + Canvas color. + Base color. + + + + Initializes a new instance of the MetroColorGeneratorParameters structure. + + Canvas color. + Base color. + User friendly theme name. + + + + Returns array of all predefined Metro color themes. + + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets or sets the color of the Metro canvas. + + + + + Gets or sets the base color for the Metro style. + + + + + Gets or sets the user friendly theme name. + + + + + Initializes the Metro UI color table based on colors specified. + + + + + Defines base set of Metro UI color scheme. + + + + + Gets or sets the base canvas color, like form background. + + + + + Gets or sets the chrome base color, used for window border, selection marking etc. + + + + + Gets or sets the text color for text displayed over the BaseColor. + + + + + Gets or sets the text color displayed over the canvas color. + + + + + Gets or sets the lighter text color used for example for inactive non selected tab text etc. + + + + + Gets or sets the text color used for disabled text. + + + + + Gets or sets the text light color. + + + + + Gets or sets the color that lighter than canvas color unless canvas is white in which case this will be white as well. + + + + + Gets or sets the color that is in dark shade off of the canvas color. + + + + + Gets or sets the color that is in darker shade off of the canvas color. + + + + + Gets or sets the color that is in light shade off of the canvas color. + + + + + Gets or sets the color that is in lighter shade off of the canvas color. + + + + + Gets or sets the light base color shade. + + + + + Gets or sets the just a tad lighter base color. + + + + + Gets or sets the text color for light base color. + + + + + Gets or sets the lighter base color shade. + + + + + Gets or sets the lightest base color shade. + + + + + Gets or sets the dark base color shade. + + + + + Gets or sets the darker base color shade. + + + + + Gets or sets the base color analogous color 1 + + + + + Gets or sets the Analogous color light variant. + + + + + Gets or sets the text color for Analogous color light variant. + + + + + Gets or sets the Analogous color dark variant. + + + + + Gets or sets the Analogous color darker variant. + + + + + Gets or sets the Analogous color text color. + + + + + Gets or sets the off base color button gradient start. + + + + + Gets or sets the off base color button gradient start. + + + + + Gets or sets background color of edit controls. + + + + + Represents the MetroAppForm color table. + + + + + Gets or sets the border thickness. + + + + + Gets or sets the border thickness for form when it is running on Windows without Glass effect enabled. + + + + + Gets or sets the border colors. + + + + + Gets or sets the inactive form border colors. + + + + + Represents the MetroForm color table. + + + + + Gets or sets the border thickness. + + + + + Gets or sets the border thickness for form when it is running on Windows without Glass effect enabled. + + + + + Gets or sets the border colors. + + + + + Gets or sets the inactive form border colors. + + + + + Gets or sets the color array for the top-border lines. + + + + + Gets or sets the color array for the bottom-border lines. + + + + + Gets or sets status bar background style. + + + + + Gets or sets the resize handle marker light color. + + + + + Gets or sets the resize handle marker color. + + + + + Gets or sets the color table for MetroTabStrip. + + + + + Gets or sets tab panel background style. + + + + + Gets or sets the color table for MetroTabItem. + + + + + Gets or sets the color of the active form caption text displayed on metro strip. + + + + + Gets or sets the color of the inactive form caption text displayed on metro strip. + + + + + Gets or sets the text formatting for caption text. + + + + + Represents MetroTabItem color table. + + + + + Gets or sets the default state tab colors. + + + + + Gets or sets the mouse over state tab colors. + + + + + Gets or sets the selected state tab colors. + + + + + Gets or sets the pressed state tab colors. + + + + + Gets or sets the disabled state tab colors. + + + + + Initializes a new instance of the MetroTabItemStateColorTable class. + + + + + + + Gets or sets the background style. + + + + + Gets or sets tabstrip background style. + + + + + Gets or sets the tile check-mark background overlay color. + + + + + Gets or sets the tile check-mark foreground overlay color. + + + + + Gets or sets toolbar background style. + + + + + Initializes the Visual Studio 2012 color scheme Metro color table based on colors specified. + + + + + Gets or sets color hue. Hue is value from 0-1 which determines the degree on color wheel color is on, i.e. 0.5 = 180 degrees + + + + + Gets or sets the color saturation from 0-1, i.e. 0-100%. + + + + + Gets or sets the amount of white and black in color. + + + + + Initializes a new instance of the HSVColor structure. + + + + + + + + Gets whether values are close. + + First value. + Second value + true if values are close enough + + + + Gets whether value is zero + + value to check + true if value is considered zero + + + + Gets whether value is not an number. + + value to test + true if value is not an number + + + + Represents the Metro application button used on MetroTab control. + + + + + Initializes a new instance of the MetroAppButton class. + + + + + Processes the Escape key when Application Button is hosting the backstage tab and uses it to close the tab if open. + This method is called from ProcessDialogKey method of MetroForm. + + Key data + true if key was used to close backstage tab + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets whether control set on BackstageTab property is used on application menu popup. + + + + + Gets or sets the backstage tab that is displayed instead of popup menu. + + + + + Raises PrepareModalPanelBounds event. + + Provides event arguments. + + + + Initializes a new instance of the MetroForm class. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Shows the panel control in the center of the form and covers all non system controls making the panel effectively modal. + + Control to show. + + + + Shows the panel control in the center of the form by sliding it in from specified side and covers all non system controls making the panel effectively modal. + + Panel to show. + Side to slide panel into the view from. + + + + Shows the panel control in the center of the form by sliding it in from specified side and covers all non system controls making the panel effectively modal. + + Panel to show. + Side to slide panel into the view from. + Slide animation speed in milliseconds. + + + + Hides the panel control that was previously shown using ShowModalPanel method. + + Control to hide. + + + + Hides the panel control that was previously shown using ShowModalPanel method by sliding it out of the view to the specified side. + + Control to hide. + Side to slide control into. + + + + Gets effective Border Thickness for the form. + + Thickness + + + + Called when BorderThickness property has changed. + + Old property value + New property value + + + + Called when BorderColor property has changed. + + Old property value + New property value + + + + Called when WM_NCHITTEST message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Called when WM_DWMCOMPOSITIONCHANGED message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Called when WM_NCACTIVATE message is received. + + Reference to message data. + Return true to call base form implementation otherwise return false. + + + + Called when WM_NCCALCSIZE message is received. + + Message structure. + true to call base WndProc otherwise false. + + + + Occurs before modal panel is shown and allows change of modal panel bounds. + + + + + Gets or sets whether MetroShell is pre-rendered when form is shown to make first rendering smoother. Default value is true. + + + + + Gets whether at least one modal panel is displayed. + + + + + Indicates whether modal panel when displayed shows MetroStatusBar. + + + + + Returns whether Windows Glass effects are enabled. + + + + + Gets or sets the MetroTab that is hosted by this form. This property is for internal use only. + + + + + Gets or sets whether form can be resized. + + + + + Gets or sets the form border thickness. Default value is empty thickness which indicates that thickness is taken from MetroFormColorTable. + + + + + Gets or sets the form border colors. + + + + + Gets whether form is active. + + + + + Indicates the number of pixels subtracted from form's height or width (depending on taskbar position) when form is maximized and taskbar is in auto-hide state. Default value is 4. + + + + + This property is not to be used with MetroForm. + + + + + Gets or sets the size of the border on the edges of the form that when mouse is over allow for form resizing. + + + + + Indicates whether Close button in top-right corner of the form is visible. + + + + + This property cannot be used on MetroAppForm + + + + + This property cannot be used on MetroAppForm + + + + + This property cannot be used on MetroAppForm + + + + + This property cannot be used on MetroAppForm + + + + + Gets or sets text for form system menu Restore item. + + + + + Gets or sets text for form system menu Move item. + + + + + Gets or sets text for form system menu Size item. + + + + + Gets or sets text for form system menu Minimize item. + + + + + Gets or sets text for form system menu Maximize item. + + + + + Gets or sets text for form system menu Close item. + + + + + Initializes a new instance of the BorderOverlay class. + + + + + Delegate for PrepareModalPanelBounds event. + + + + + + + Provides data for PrepareModalPanelBounds event. + + + + + Gets or sets the bounds modal panel will occupy when shown. + + + + + Initializes a new instance of the ModalPanelBoundsEventArgs class. + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets or sets whether divider panel that divides message box buttons and text content is visible. Default value is true. + + + + + Gets or sets whether Text supports and renders text markup. Default value is true. + + + + + Gets or sets the anti-alias setting for text-pane. + + + + + Enumeration of available common system strings. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Loads the items for the customization from MetroTab control. Registered MetroToolbar controls are enumerated and items + are added if they have CanCustomize=true. + + MetroTab control that holds references to known MetroToolbars. + + + + Gets reference to the internal Quick Access Toolbar Customization panel. + + + + + Represents Metro Tab control, usually used as application tab but can be used as standard tab control as well. + + + + + Raises SettingsButtonClick event. + + Provides event arguments. + + + + Raises HelpButtonClick event. + + Provides event arguments. + + + + Gets the name of the QAT Customize Item which is used to display the QAT Customize Dialog box. + + + + + Gets the name of the Add to Quick Access Toolbar context menu item. + + + + + Gets the name of the Remove from Quick Access Toolbar context menu item. + + + + + Gets the name of the QAT placement change context menu item. + + + + + Gets the name of the label displayed on Quick Access Toolbar customize popup menu. + + + + + Gets the string that is used as starting name for the frequently used QAT menu items created when QAT Customize menu is displayed. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Performs the setup of the MetroTabPanel with the current style of the MetroShell Control. + + Panel to apply style changes to. + + + + Creates new Rendering Tab at specified position, creates new associated panel and adds them to the control. + + Specifies the text displayed on the tab. + Specifies the name of the tab + Specifies the position of the new tab inside of Items collection. + New instance of the MetroTabItem that was created. + + + + Creates new Rendering Tab and associated panel and adds them to the control. + + Specifies the text displayed on the tab. + Specifies the name of the tab + New instance of the MetroTabItem that was created. + + + + Recalculates layout of the control and applies any changes made to the size or position of the items contained. + + + + + Occurs when text markup link is clicked. + + + + + Called when right-mouse button is pressed over MetroTabStrip + + Reference to MetroTabStrip object. + + + + Displays popup customize context menu for given customization object. + + Object that should be customized, usually an instance of BaseItem. + Indicates whether customize menu is displayed over metro tab strip + + + + Removes an item from the Quick Access Toolbar. + + Reference to the item that is already part of Quick Access Toolbar. + + + + Adds an instance of base type BaseItem to the Quick Access Toolbar. Note that this method creates + new instance of the item or an representation of the item being added and adds that to the Quick Access Toolbar. + + Reference to the item to add, must be an BaseItem type. + + + + Raises the BeforeCustomizeMenuPopup event. + + Event arguments + + + + Raises the BeforeAddItemToQuickAccessToolbar event. + + Event arguments. + + + + Shows the quick access toolbar customize dialog. + + + + + Applies the Quick Access Toolbar customization changes made on QatCustomizePanel to the MetroShell Control Quick Access Toolbar. Note that QatCustomizePanel.DataChanged property indicates whether user made any changes to the data on the panel. + + Reference to the QatCustomizePanel + + + + Raises the AfterQatDialogChangesApplied event. + + + + + Returns the Metro Application Button. + + reference to Application Button or null if button is not found. + + + + Registers the MetroToolbar or any other DotNetBar container that implements IOwner interface so it can participate in Quick Access Toolbar serialization and customization. + + + + + + Registers the MetroToolbar or any other DotNetBar container that implements IOwner interface so it can participate in Quick Access Toolbar serialization and customization. + + + + + + Occurs just before the customize popup menu is displayed and provides the ability to cancel the menu display as well + as to add/remove the menu items from the customize popup menu. + + + + + Occurs before an item is added to the quick access toolbar as result of user action. This event provides ability to + cancel the addition of the item by setting the Cancel=true of event arguments. + + + + + Occurs before an item is removed from the quick access toolbar as result of user action. This event provides ability to + cancel the addition of the item by setting the Cancel=true of event arguments. + + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Occurs when Item on metro tab strip or quick access toolbar is clicked. + + + + + Occurs before Quick Access Toolbar dialog is displayed. This event provides the opportunity to cancel the showing of + built-in dialog and display custom customization dialog. You can also set the Dialog property of the event arguments to + the custom dialog you want used instead of the DotNetBar system customization dialog. + + + + + Occurs after the Quick Access Toolbar dialog is closed. + + + + + Occurs after any changes done on the Quick Access Toolbar dialog are applied to the actual Quick Access Toolbar. + + + + + Occurs after selected Metro tab has changed. You can use + MetroShell.SelectedTab + property to get reference to newly selected tab. + + + + + Occurs when text markup link from TitleText markup is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Occurs when SETTINGS button, if displayed, is clicked. + + + + + Occurs when HELP button, if displayed, is clicked. + + + + + Gets the collection of the Quick Access Toolbar Frequently used commands. You should add existing buttons to this collection that + you already have on the MetroToolbar controls or on the application menu. The list will be used to construct the frequently used + menu that is displayed when Customize Quick Access Toolbar menu is displayed and it allows end-user to remove and add these + frequently used commands to the QAT directly from this menu. + Note that items you add here should not be items that are already on Quick Access Toolbar, i.e. in MetroShell.QuickToolbarItems collection. + + + + + Gets or sets whether KeyTips functionality is enabled. Default value is true. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Indicates whether Form.Icon is shown in top-left corner. + + + + + + Gets or sets the Context menu bar associated with the this control which is used as part of Global Items feature. The context menu + bar assigned here will be used to search for the items with the same Name or GlobalName property so global properties can be propagated when changed. + You should assign this property to enable the Global Items feature to reach your ContextMenuBar. + + + + + Gets or sets whether custom caption and quick access toolbar provided by the control is visible. Default value is false. + This property should be set to true when control is used on MetroAppForm. + + + + + Gets or sets the font for the form caption text when CaptionVisible=true. Default value is NULL which means that system font is used. + + + + + Gets or sets the explicit height of the caption provided by control. Caption height when set is composed of the TabGroupHeight and + the value specified here. Default value is 0 which means that system default caption size is used. + + + + + Gets or sets the font that is used to display Key Tips (accelerator keys) when they are displayed. Default value is null which means + that control Font is used for Key Tips display. + + + + + Specifies the background style of the control. + + + + + Gets or sets the currently selected MetroTabItem. MetroTabItems are selected using the Checked property. Only a single + MetroTabItem can be selected (Checked) at any given time. + + + + + Returns reference to internal metro tab-strip control. + + + + + Returns collection of items on a bar. + + + + + Returns collection of quick toolbar access and caption items. + + + + + Gets or sets whether mouse wheel scrolls through the Metro tabs. Default value is true. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Gets or sets a value indicating whether the user can give the focus to this control using the TAB key. Default value is false. + + + + + Gets or sets whether control can be customized and items added by end-user using context menu to the quick access toolbar. + Caption of the control must be visible for customization to be enabled. Default value is true. + + + + + Gets or sets whether external implementation for metro toolbar and menu item customization will be used for customizing the control. When set to true + it enables the displaying of MetroToolbar and menu item context menus which allow customization. You are responsible for + adding the menu items to context menu to handle all aspects of item customization. See "MetroShell Control Quick Access Toolbar Customization" topic in help file under How To. + Default value is false. + + + + + Gets or sets whether customize dialog is used to customize the quick access toolbar. You can handle the EnterCustomize event + to display your custom dialog instead of built-in dialog for customization. Default value is true. + + + + + Gets or sets the categorization mode for the items on Quick Access Toolbar customize dialog box. Default value categorizes + items by the toolbar they appear on. + + + + + Gets or sets the Quick Access Toolbar layout description. You can use the value obtained from this property to save + the customized Quick Access Toolbar into registry or into any other storage object. You can also set the saved layout description back + to restore user customize layout. + + + + + Gets or sets whether Quick Access Toolbar has been customized by end-user. You can use value of this property to determine + whether Quick Access Toolbar layout that can be accessed using QatLayout property should be saved. + + + + + Gets the reference to the Metro localization object which holds all system text used by the component. + + + + + Gets or sets the side tab-strip is docked to. + + + + + Gets or sets whether SETTINGS button is visible. + + + + + + Gets or sets the SETTINGS button text. + + + + + Gets or sets the HELP button text. + + + + + Gets or sets the font tab items are displayed with. + + + + + Describes the categorization mode used to categorize items on the Customize Metro dialog. + + + + + Items are automatically categorized by the toolbar they appear on. + + + + + Items are categorized by the Category property on each item. Category property should be set on each item. + + + + + Represents Metro-UI Status Bar control. + + + + + Initializes a new instance of the MetroStatusBar class. + + + + + Called when ResizeHandleVisible property has changed. + + Old property value + New property value + + + + Indicates whether items that cannot fit are displayed on popup. + + + + + Returns collection of items on a bar. + + + + + Gets or sets whether resize handle used to resize the parent form is visible. + + + + + Gets or sets spacing between items, default value is 2. + + + + + Defines the internal container item for the ribbon strip control. + + + + + Creates new instance of the class and initializes it with the parent RibbonStrip control. + + Reference to parent RibbonStrip control + + + + Paints this base container + + + + + Returns copy of GenericItemContainer item + + + + + Return Sub Item at specified location + + + + + Called when SettingsButtonText property has changed. + + Old property value + New property value + + + + Called when HelpButtonText property has changed. + + Old property value + New property value + + + + Gets reference to internal ribbon strip container that contains tabs and/or other items. + + + + + Gets reference to internal caption container item that contains the quick toolbar, start button and system caption item. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + When parent items does recalc size for its sub-items it should query + image size and store biggest image size into this property. + + + + + Gets or sets whether Settings button is visible. + + + + + Gets or sets whether Help button is visible. + + + + + Gets or sets the Settings button text. + + + + + Represents Rendering Tab used on Metro Tab Control. + + + + + Initializes a new instance of the MetroTabItem class. + + + + + Selects the tab. + + + + + Called after Checked property has changed. + + + + + Occurs just before Click event is fired. + + + + + Called when Visibility of the items has changed. + + New Visible state. + + + + Occurs after item visual style has changed. + + + + + Gets or sets cached image rendering bounds. + + + + + Gets or sets cached text rendering bounds. + + + + + Gets or sets whether tab renders its state. Used internally by DotNetBar. Do not set. + + + + + Gets or sets the additional padding added around the tab item in pixels. Default value is 0. + + + + + Gets or sets whether size of the tab has been reduced below the default calculated size. + + + + + Gets or sets the predefined color of item. Color specified here applies to items with Office 2007 style only. It does not have + any effect on other styles. Default value is eMetroTabColor.Default + + + + + Gets or sets the panel assigned to this tab item. + + + + + Gets or set the Group item belongs to. The groups allows a user to choose from mutually exclusive options within the group. The choice is reflected by Checked property. + + + + + Returns the collection of sub items. + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Indicates whether the item will auto-expand when clicked. + When item is on top level bar and not on menu and contains sub-items, sub-items will be shown only if user + click the expand part of the button. Setting this propert to true will expand the button and show sub-items when user + clicks anywhere inside of the button. Default value is false which indicates that button is expanded only + if its expand part is clicked. + + + + + Gets or sets whether item can be customized by end user. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets a value indicating whether the item is enabled. + + + + + Indicates item's visiblity when on pop-up menu. + + + + + Indicates when menu items are displayed when MenuVisiblity is set to VisibleIfRecentlyUsed and RecentlyUsed is true. + + + + + Indicates Animation type for Popups. + + + + + Indicates the font that will be used on the popup window. + + + + + Indicates whether sub-items are shown on popup Bar or popup menu. + + + + + Specifies the inital width for the Bar that hosts pop-up items. Applies to PopupType.Toolbar only. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Gets or sets the width of the expand part of the button item. + + + + + Gets or set the alternative shortcut text. + + + + + Gets or sets whether item separator is shown before this item. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Gets or sets the text color of the button when mouse is over the item. + + + + + Indicates the way item is painting the picture when mouse is over it. Setting the value to Color will render the image in gray-scale when mouse is not over the item. + + + + + Gets or sets the text color of the button. + + + + + Gets/Sets the button style which controls the appearance of the button elements. Changing the property can display image only, text only or image and text on the button at all times. + + + + + Specifies predefined color assigned to Metro Tab. + + + + + Represents panel used by MetroTabItem as a container panel for the control. + + + + + Creates new instance of the panel. + + + + + Indicates whether style of the panel is managed by tab control automatically. + Set this to true if you would like to control style of the panel. + + + + + Gets or sets TabItem that this panel is attached to. + + + + + Gets or sets which edge of the parent container a control is docked to. + + + + + Gets or sets the size of the control. + + + + + Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. + + + + + Gets or sets a value indicating whether the control is displayed. + + + + + Gets or sets which edges of the control are anchored to the edges of its container. + + + + + Represents Metro-UI TabStrip control. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Occurs when text markup link is clicked. + + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrived from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Returns effective caption height. + + Caption height. + + + + Returns automatically calculated height of the control given current content. + + Height in pixels. + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Called when ShowKeyTips on RibbonBar contained by this Ribbon is set to true + + + + + Forces the control to exit Ribbon Key-Tips mode. + + + + + Called when item on popup container is right-clicked. + + Instance of the item that is right-clicked. + + + + Starts moving of the parent form action which happens when user attempts to drag the form caption. + + + + + Returns true if point is inside the caption area. + + Client point coordinates. + True if point is inside of caption area otherwise false. + + + + Occurs when text markup link from TitleText markup is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Gets or sets whether KeyTips functionality is enabled. Default value is true. + + + + + Gets or sets whether control can be customized and items added by end-user using context menu to the quick access toolbar. + Caption of the control must be visible for customization to be enabled. Default value is true. + + + + + Gets or sets the explicit height of the caption provided by control. Caption height when set is composed of the TabGroupHeight and + the value specified here. Default value is 0 which means that system default caption size is used. + + + + + Gets or sets whether custom caption line provided by the control is visible. Default value is false. + This property should be set to true when control is used on Office2007RibbonForm. + + + + + Gets or sets the font for the form caption text when CaptionVisible=true. Default value is NULL which means that system font is used. + + + + + Gets/Sets the visual style of the control. + + + + + Returns collection of items on a bar. + + + + + Returns currently selected MetroTabItem. MetroTabItems are selected using the Checked property. Only a single + MetroTabItem can be Checked at any given time. + + + + + Gets whether Ribbon is in key-tips mode including its child controls. + + + + + Indicates whether Form.Icon is shown in top-left corner. + + + + + Returns collection of items on a bar. + + + + + Gets the reference to the internal container item for the items displayed in control caption. + + + + + Gets the reference to the internal container for the ribbon tabs and other items. + + + + + Represents Metro Tile. + + + + + Raises CheckedChanged event. + + Provides event arguments. + + + + Raises OptionGroupChanging event. + + Provides event arguments. + + + + Creates new instance of metro tile. + + + + + Creates new instance of metro tile and assigns the name to it. + + Item name. + + + + Creates new instance of metro tile and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the MetroTileItem specific properties to new instance of the item. + + New ProgressBarItem instance. + + + + Copies the MetroTileItem specific properties to new instance of the item. + + New MetroTileItem instance. + + + + Called when NotificationMarkText property has changed. + + Old property value + New property value + + + + Called when NotificationMarkPosition property has changed. + + Old property value + New property value + + + + Called when NotificationMarkSize property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when NotificationMarkOffset property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs just before Click event is fired. + + + + + Called when TileSize property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when IsLeftMouseButtonDown property has changed. + + Old property value + New property value + + + + Called when IsMouseOver property has changed. + + Old property value + New property value + + + + Raises TitleTextMarkupLinkClick event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Checked property has changed. + + Old property value + New property value + + + + Called when CheckBehavior property has changed. + + Old property value + New property value + + + + Called when CurrentFrame property has changed. + + Old property value + New property value + + + + Called when AutoRotateFramesInterval property has changed. + + Old property value + New property value + + + + Called when DragStartPoint property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs after Checked property has changed. + + + + + Occurs before an item in option group is checked and provides opportunity to cancel that. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Specifies maximum of 2 character text displayed inside of the notification mark on top of the button. + + + + + Indicates the position of the notification marker within the bounds of the button. + + + + + Specifies diameter of notification mark. When set to 0 system default value is used. + + + + + Gets or sets background color of the notification mark. + + + + + Specifies the offset for the notification mark relative to its position. + + + + + Gets or sets the tile size. + + + + + Gets or sets the predefined tile color for default tile frame. + + + + + Specifies the Tile style default tile frame. + + + + + Indicates the symbol displayed on face of the tile instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the color of the symbol. + + + + + Gets or sets the image displayed on the tile. + + + + + Gets or sets image alignment in relation to text. + + + + + Gets or sets the text associated with this item. + + + + + Gets whether left mouse button is pressed over the tile. + + + + + Gets whether mouse is over the item. + + + + + Gets or sets the tile title text displayed by default in lower left corner. + + + + + Occurs when an hyperlink in title text markup is clicked. + + + + + Gets or sets the title text font. + + + + + Gets or sets the color of the title text. + + + + + Gets or sets title text alignment. + + + + + Gets or sets the top-left location of the image. + + + + + Gets or sets whether tile is checked. + + + + + Gets or sets the automatic check behavior of metro tile. + + + + + Gets or set the Group item belongs to. The groups allows a user to choose from mutually exclusive options within the group. The choice is reflected by Checked property. + + + + + Gets the list of tile frames that are displayed when frame animation is enabled using AnimationEnabled property. + + + + + Gets or sets index of currently displayed frame in Frames collection. + + + + + Gets the index of last selected frame, i.e. before CurrentFrame was set with new value. + + + + + Gets or sets whether Frame animation is enabled when CurrentFrame has changed. Default value is true. + + + + + Gets or sets the frames animation duration in milliseconds. Default value is 800. + + + + + Gets or sets the automatic tile frame rotation interval in milliseconds. When set it will change the CurrentFrame property so each frame from Frames collection is displayed after interval set here. + + + + + Gets or sets tile background color when Enabled=false. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Specifies how MetroTileItem is checked. + + + + + Metro tile item inherits the check behavior from host control. + + + + + Metro tile item cannot be checked. + + + + + Metro tile item is checked using right mouse button. + + + + + Metro tile item is checked using middle mouse button. + + + + + Metro tile item is checked using left mouse button. + + + + + Defines single frame for metro-tile item. + + + + + Initializes a new instance of the MetroTileFrame class. + + + + + Called when TitleText property has changed. + + Old property value + New property value + + + + Raises TitleTextMarkupLinkClick event. + + Provides event arguments. + + + + Called when TitleTextFont property has changed. + + Old property value + New property value + + + + Called when TitleTextColor property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when TitleTextAlignment property has changed. + + Old property value + New property value + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Image property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Text property has changed. + + Old property value + New property value + + + + Called when Color property has changed. + + Old property value + New property value + + + + Called when FrameDisplayDuration property has changed. + + Old property value + New property value + + + + Occurs when text markup link is clicked. + + + + + Raises MarkupLinkClick event. + + Provides event arguments. + + + + Called when TextMarkupEnabled property has changed. + + Old property value + New property value + + + + Called when ImageTextAlignment property has changed. + + Old property value + New property value + + + + Raises the PropertyChanged event. + + Provides event arguments. + + + + Gets or sets the tile title text displayed by default in lower left corner. + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Occurs when an hyperlink in title text markup is clicked. + + + + + Gets or sets the title text font. + + + + + Gets or sets the color of the title text. + + + + + Gets or sets title text alignment. + + + + + Gets the effective style for the tile when TileColor property is set to predefined tile color. + + + + + Specifies the Tile style of the item. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the tile instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the color of the symbol. + + + + + Gets or sets the image displayed on the tile. + + + + + Gets or sets the top-left location of the image. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the predefined tile color. + + + + + Gets or sets the frame display duration in milliseconds during metro-tile frame animation. When not set then each frame will stay visible for duration set on MetroTileItem.AutoRotateFramesInterval. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Gets or sets whether text-markup can be used in Text property. + + + + + Gets or sets image alignment in relation to text. + + + + + Occurs when property on BindingDef object has changed. + + + + + Represents panel for Metro Tiles. + + + + + Represents generic item panel container control. + + + + + Returns first checked top-level button item. + + An ButtonItem object or null if no button could be found. + + + + Adds new item to the ItemPanel based on specified ItemTemplate and sets its Text property. + + Text to assign to the item. + reference to newly created item + + + + Gets or sets default layout orientation inside the control. You can have multiple layouts inside of the control by adding + one or more instances of the ItemContainer object and chaning it's LayoutOrientation property. + + + + + Gets or sets whether items contained by container are resized to fit the container bounds. When container is in horizontal + layout mode then all items will have the same height. When container is in vertical layout mode then all items + will have the same width. Default value is true. + + + + + Gets or sets whether ButtonItem buttons when in vertical layout are fit into the available width so any text inside of them + is wrapped if needed. Default value is false. + + + + + Gets or sets the item alignment when container is in horizontal layout. Default value is Left. + + + + + Gets or sets whether items in horizontal layout are wrapped into the new line when they cannot fit allotted container size. Default value is false. + + + + + Returns collection of items on a bar. + + + + + Gets or sets the index specifying the currently selected item. + + + + + Gets the list of ButtonItem or CheckBoxItem controls that have their Checked property set to true. + + + + + Gets or sets ButtonItem or CheckBoxItem item that have their Checked property set to true. + + + + + Initializes a new instance of the MetroTilePanel class. + + + + + Gets or sets a value indicating whether the control enables the user to scroll to items placed outside of its visible boundaries. + + + + + Gets or sets spacing in pixels between items. Default value is 1. + + + + + Gets or sets whether items contained by container are resized to fit the container bounds. When container is in horizontal + layout mode then all items will have the same height. When container is in vertical layout mode then all items + will have the same width. Default value is true. + + + + + Raises ExpandedChanging event. + + Provides event arguments. + + + + Raises ExpandedChanged event. + + Provides event arguments. + + + + Initializes a new instance of the MetroStatusBar class. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Registers toolbar with MetroTab so it can participate in Quick Access Toolbar operations. + + MetroTab + + + + Unregisters previously registered toolbar from MetroTab and removes it from Quick Access Toolbar operations. + + + + + Returns automatically calculated height of the control given current content. + + Height in pixels. + + + + Called after change of active window has been detected. SetupActiveWindowTimer must be called to enable detection. + + + + + Invokes the ItemClick event. + + Reference to the item that was clicked. + + + + Called when AutoCollapse property has changed. + + Old property value + New property value + + + + Called when AnimationSpeed property has changed. + + Old property value + New property value + + + + Called when ExpandDirection property has changed. + + Old property value + New property value + + + + Occurs before Expanded property has changed, i.e. control expanded or collapsed and allows you to cancel action by setting Cancel=true on event arguments. + + + + + Occurs after Expanded property value has changed, i.e. control was expanded or collapsed. + + + + + Returns collection of items on a bar. + + + + + Gets or sets spacing between items, default value is 0. + + + + + Returns collection of items on a bar. + + + + + Gets or sets whether toolbar is attempted to be automatically registered with parent MetroShell control so it can participate in Quick Access Toolbar operations. Default value is true. + + + + + Gets or sets whether control is expanded or not. When control is expanded both main and extra toolbar items are visible. When collapsed + only main items are visible. Default value is false. + + + + + Gets or sets whether control is automatically collapsed, Expanded property set to False, if control was expanded and any button on the control was clicked or mouse is clicked elsewhere, parent form has lost input focus or some other control gains input focus. + + + + + Gets or sets the animation speed duration in milliseconds. Default value is 150 milliseconds. Set to zero, 0 to disable animation. + + + + + Gets or sets the expand direction for the toolbar. Default value is Auto. + + + + + Gets or sets whether Expand button is visible. Default value is true. + + + + + Gets or sets whether control height is set automatically based on the content. Default value is false. + + + + + Defines expand direction behavior for MetroToolbar. + + + + + Expand direction is automatically determined by the position of the control on the form. + + + + + Control is expanded up so bottom of the control is fixed. + + + + + Control sis expanded down so top of the control is fixed. + + + + + Defines the internal container item for the MetroToolbar control. + + + + + Creates new instance of the class and initializes it with the parent RibbonStrip control. + + Reference to parent MetroToolbar control + + + + Paints this base container + + + + + Returns copy of GenericItemContainer item + + + + + Called when ExpandButtonVisible property has changed. + + Old property value + New property value + + + + Gets or sets whether Expand button is visible. Default value is true. + + + + + Gets reference to container that host items. + + + + + Gets reference to container that hosts extra items. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + When parent items does recalc size for its sub-items it should query + image size and store biggest image size into this property. + + + + + Initializes Office Mobile 2014 color scheme Metro color table based on colors specified. + + + + + Draws the border. + + Graphics canvas. + Bounds for border. + Border thickness. + Border color. + + + + Draws background. + + Graphics canvas. + Background bounds. + Background color + + + + Deflates the rectangle by the border thickness. + + Rectangle. + Border thickness + Rectangle deflated by the border thickness + + + + Represents the painter for the Office 2007 SystemCaptionItem + + + + + Represents the base class for the SystemCaptionItem painter. + + + + + Paints the SystemCaptionItem as icon in left hand corner. + + + + + + Paints the SystemCaptionItem as set of buttons minimize, restore/maximize and close. + + + + + + Paints the background of the button using specified color table colors. + + Graphics object. + Background bounds + Color Table + + + + Gets or sets color table used by renderer. + + + + + Abstract renderer for rendering Metro-UI controls. + + + + + Renders the + + + + + + Gets or sets color table used by renderer. + + + + + Renders the MetroTileItem. + + MetroTileItem to render. + Rendering event arguments. + + + + Renders the MetroForm. + + Form to render. + Rendering event arguments. + + + + Renders the MetroForm. + + Form to render. + Rendering event arguments. + + + + Renders the MetroTabItem. + + Form to render. + Rendering event arguments. + + + + Renders the MetroTabStrip + + TabStrip to render. + Paint args + + + + Renders the MetroStatusBar. + + Status bar to render + Paint args + + + + Renders the MetroStatusBar. + + Status bar to render + Paint args + + + + Defines class for passing rendering information to renderer. + + + + + Gets or sets the control to render. + + + + + Gets or sets the paint event arguments to use to render out control. + + + + + Gets or sets the current color table. + + + + + Gets or sets default font. + + + + + Gets or sets default plain font. + + + + + Gets or sets right-to-left setting. + + + + + Gets or sets the paint information for items. + + + + + Represents the Office 2007 Ribbon Tab Group painter. + + + + + Paints ribbon tab group. + + Context information + + + + Paints SwitchButton. + + Provides arguments for the operation. + + + + Gets or sets color table used by renderer. + + + + + Defines Thickness structure used by borders and margins. + + + + + Creates new instance of the object. + + Uniform Thickness + + + + Creates new instance of the object. + + Left Thickness + Top Thickness + Right Thickness + Bottom Thickness + + + + Gets whether object equals to this instance. + + object to test. + returns whether objects are Equals + + + + Gets whether object equals to this instance. + + object to test. + returns whether objects are Equals + + + + Returns hash code for object. + + Hash code + + + + Returns string representation of object. + + string representing Thickness + + + + Gets string representation of object. + + Culture info. + string representing Thickness + + + + Returns whether object holds valid value. + + Specifies whether negative values are allowed. + Specifies whether NaN values are allowed. + Specifies whether positive infinity values are allowed + Specifies whether negative infinity values are allowed + true if object holds valid value + + + + Returns true if two objects are close. + + Thickness to test. + true if values are close. + + + + Returns true if two objects are close. + + Thickness 1 + Thickness 2 + true if values are close. + + + + Returns whether all values are zero. + + + + + Returns whether all values are the same. + + + + + Gets or sets the left Thickness. + + + + + Gets or sets the top Thickness. + + + + + Gets or sets the Right Thickness. + + + + + Gets or sets the Bottom Thickness. + + + + + Gets the total horizontal thickness i.e. Left+Right. + + + + + Gets the total vertical thickness i.e. Top+Bottom. + + + + + Provides Thickness TypeConverter. + + + + + Represents the base class each micro-chart implements + + + + + Creates the chart image. + + Rendering information. + Image of the chart. + + + + Defines the style for Area micro chart. + + + + + Initializes a new instance of the AreaMicroChartStyle class. + + + + + Raises StyleChanged event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when style appearance changes. + + + + + Gets or sets the value of the zero line, i.e. where zero line is drawn. Default value is 0. + + + + + Gets or sets the chart area color. + + + + + Gets or sets the color of the high point dot on chart. + + + + + Gets or sets the color of the low point dot on chart. + + + + + Gets or sets the color of the first point dot on chart. + + + + + Gets or sets the color of the last point dot on chart. + + + + + Defines the style for the bar style micro charts. + + + + + Raises StyleChanged event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when style appearance changes. + + + + + Gets or sets the minimum single bar width. + + + + + Gets or sets the color of positive bar value. + + + + + Gets or sets the color of negative bar value. + + + + + Gets or sets whether average line is drawn. + + + + + Gets or sets the value of the zero line, i.e. pivot point that determines negative and positive values. Default value is 0. + + + + + Gets or sets the color of the lowest value bar on graph. + + + + + Gets or sets the color of the highest value bar on graph. + + + + + Defines the style for 100% bar chart. + + + + + Initializes a new instance of the PieMicroChartStyle class. + + + + + Raises StyleChanged event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when style appearance changes. + + + + + Gets or sets the minimum single bar width. + + + + + Gets the pre-defined slice colors for the pie chart. + + + + + Gets or sets the color of the slice outline. + + + + + Defines the style for the line micro chart. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Raises StyleChanged event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets or sets the color of the chart line. + + + + + Gets or sets whether average line is drawn. + + + + + Gets or sets the color of the + + + + + Gets or sets whether zero-line is drawn on chart. + + + + + Gets or sets the value of the zero line, i.e. where zero line is drawn. Default value is 0. + + + + + Gets or sets the color of the + + + + + Occurs when style appearance changes. + + + + + Gets or sets the color of the high point dot on chart. + + + + + Gets or sets the color of the low point dot on chart. + + + + + Gets or sets the color of the first point dot on chart. + + + + + Gets or sets the color of the last point dot on chart. + + + + + Gets or sets whether control line is drawn. Default value is false. Control lines can be used to display for example low and high control bounds for the chart. + + + + + Gets or sets the color of the first control line. + + + + + Gets or sets starting value that is used to draw first control line. + + + + + Gets or sets end value that is used to draw first control line. + + + + + Gets or sets whether control line is drawn. Default value is false. Control lines can be used to display for example low and high control bounds for the chart. + + + + + Gets or sets the color of the second control line. + + + + + Gets or sets starting value that is used to draw second control line. + + + + + Gets or sets end value that is used to draw second control line. + + + + + Represents Micro-Chart Control. + + + + + Initializes a new instance of the MicroChart class. + + + + + Forces the button to perform internal layout. + + + + + Raises MouseOverDataPointChanged event. + + Provides event arguments. + + + + Invalidates the chart display and requests the re-paint. + + Indicates whether to animate transition to new chart + + + + Called when Command property value changes. + + + + + Gets or sets whether mouse over tooltip for data point is enabled. Default value is true. + + + + + Gets the index of data point (DataPoints collection) that mouse is over or returns -1 if mouse is not over any data-point. + + + + + Occurs when MouseOverDataPointIndex property changes due to user moving the mouse and pointing it to different data point on chart. + + + + + Gets or sets the tooltips for each data-point assigned through DataPoints property. If not set control will automatically + show tooltip based on the data-point value. + + + + + Gets or sets the chart data points. Note that if you are adding or removing points directly from this collection you must call + Refresh() method on the control to refresh the display. + + + + + Gets or sets the format string for the value when it is displayed as tool-tip for data point. + + + + + Gets or sets whether chart is tracking mouse movement to show data-point and its value on tooltip. Default value is true. + + + + + Gets or sets whether transition animation between same chart with different data-points is enabled. Default value is true. + + + + + Gets or sets whether button like mouse over tracking is enabled for whole control. When enabled control looks like a button when mouse is over it. Default value is false. + + + + + Gets the style used to customize appearance of Line micro-chart. + + + + + Gets the style used to customize appearance of Plot micro-chart. + + + + + Gets the style used to customize appearance of Column micro-chart. + + + + + Gets the style used to customize appearance of Bar micro-chart. + + + + + Gets the style used to customize appearance of Win-Lose micro-chart. + + + + + Gets the style used to customize appearance of Pie micro-chart. + + + + + Gets the style used to customize appearance of Area micro-chart. + + + + + Gets the style used to customize appearance of 100% micro-chart. + + + + + Gets or sets the type of the chart rendered. + + + + + Gets or sets the maximum value for data points. By default maximum data point is calculated based on that data displayed by the chart, but when + two charts need to be scaled the same setting maximum and minimum values for them will ensure that scales are visually the same. + + + + + Gets or sets the minimum value for data points. By default minimum data point is calculated based on that data displayed by the chart, but when + two charts need to be scaled the same setting maximum and minimum values for them will ensure that scales are visually the same. + + + + + Gets whether command is executed when control is clicked. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Initializes a new instance of the TrendInfo structure. + + + + + + + + + Initializes a new instance of the TrendInfo structure. + + + + + Initializes a new instance of the MicroChartRenderInfo structure. + + + + + + + + + Represents the micro-chart item. + + + + + Creates new instance of MicroChartItem. + + + + + Creates new instance of MicroChartItem and assigns the name to it. + + Item name. + + + + Creates new instance of MicroChartItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the MicroChartItem specific properties to new instance of the item. + + New MicroChartItem instance. + + + + Copies the MicroChartItem specific properties to new instance of the item. + + New MicroChartItem instance. + + + + Recalculate the size of the item. If overridden base implementation must be called so default processing can occur. + + + + + Raises MouseOverDataPointChanged event. + + Provides event arguments. + + + + Invalidates the chart display and requests the re-paint. + + Indicates whether to animate transition to new chart + + + + Draws the chart. + + Paint arguments + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when DataMaxValue property has changed. + + Old property value + New property value + + + + Called when DataMinValue property has changed. + + Old property value + New property value + + + + Gets or sets the suggested text-width. If you want to make sure that text you set wraps over multiple lines you can set suggested text-width so word break is performed. + + + + + Gets or sets the format string for the value when it is displayed as tool-tip for data point. + + + + + Gets or sets the chart data points. Note that if you are adding or removing points directly from this collection you must call + Refresh() method on the control to refresh the display. + + + + + Gets or sets the tooltips for each data-point assigned through DataPoints property. If not set control will automatically + show tooltip based on the data-point value. + + + + + Gets or sets whether transition animation between same chart with different data-points is enabled. Default value is true. + + + + + Gets whether fade effect is enabled. + + + + + Gets or sets whether chart is tracking mouse movement to show data-point and its value on tooltip. Default value is true. + + + + + Gets or sets whether button like mouse over tracking is enabled for whole control. When enabled control looks like a button when mouse is over it. Default value is false. + + + + + Gets the index of data point (DataPoints collection) that mouse is over or returns -1 if mouse is not over any data-point. + + + + + Gets or sets whether mouse over tooltip for data point is enabled. Default value is true. + + + + + Occurs when MouseOverDataPointIndex property changes due to user moving the mouse and pointing it to different data point on chart. + + + + + Gets the style used to customize appearance of Line micro-chart. + + + + + Gets the style used to customize appearance of Plot micro-chart. + + + + + Gets the style used to customize appearance of Column micro-chart. + + + + + Gets the style used to customize appearance of Bar micro-chart. + + + + + Gets the style used to customize appearance of Win-Lose micro-chart. + + + + + Gets the style used to customize appearance of Pie micro-chart. + + + + + Gets the style used to customize appearance of Area micro-chart. + + + + + Gets the style used to customize appearance of 100% micro-chart. + + + + + Gets or sets the width of the chart part of the control. + + + + + Gets or sets the height of the chart part of the control. + + + + + Gets or sets the type of the chart rendered. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets text-position in relation to the chart. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets whether caption/label set using Text property is visible. + + + + + Gets or sets text padding. + + + + + Gets or sets switch margin. + + + + + Gets or sets the text color. + + + + + Gets or sets the background image position + + + + + Gets or sets the background image used by the control. + + + + + Gets or sets the maximum value for data points. By default maximum data point is calculated based on that data displayed by the chart, but when + two charts need to be scaled the same setting maximum and minimum values for them will ensure that scales are visually the same. + + + + + Gets or sets the minimum value for data points. By default minimum data point is calculated based on that data displayed by the chart, but when + two charts need to be scaled the same setting maximum and minimum values for them will ensure that scales are visually the same. + + + + + Indicates item's visibility when on pop-up menu. + + + + + Indicates whether item was recently used. + + + + + Represents MicroChart hot-points. + + + + + Start angle for pie slice. + + + + + Sweep angle for pie slice. + + + + + Initializes a new instance of the MicroChartHotPoint structure. + + + + + + + Initializes a new instance of the MicroChartHotPoint structure. + + + + + + + + + Initializes a new instance of the MicroChartHotPoint structure. + + + + + + + + + + Defines available MicroChar types. + + + + + Identifies Plot chart. + + + + + Identifies WinLose chart. + + + + + Identifies Area chart. + + + + + Identifies Line chart. + + + + + Identifies Column chart. + + + + + Identifies Bar chart. + + + + + Identifies Pie chart. + + + + + Identifies 100% bar. + + + + + Defines micro-chart text position in relation to the chart. + + + + + Text is positioned to the left of the chart. + + + + + Text is positioned to the right of the chart. + + + + + Text is positioned on top of the chart. + + + + + Text is positioned on bottom of the chart. + + + + + Defines the style for pie chart. + + + + + Initializes a new instance of the PieMicroChartStyle class. + + + + + Raises StyleChanged event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when style appearance changes. + + + + + Gets the pre-defined slice colors for the pie chart. + + + + + Gets or sets the color of the slice outline. + + + + + Defines the style for the plot micro chart. + + + + + Raises StyleChanged event. + + Provides event arguments. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when style appearance changes. + + + + + Gets or sets the color of the chart line. + + + + + Gets or sets whether average line is drawn. + + + + + Gets or sets the color of the + + + + + Gets or sets whether zero-line is drawn on chart. + + + + + Gets or sets the value of the zero line, i.e. where zero line is drawn. Default value is 0. + + + + + Gets or sets the color of the + + + + + Gets or sets the color of the high point dot on chart. + + + + + Gets or sets the color of the low point dot on chart. + + + + + Gets or sets the color of the first point dot on chart. + + + + + Gets or sets the color of the last point dot on chart. + + + + + Gets or sets whether control line is drawn. Default value is false. Control lines can be used to display for example low and high control bounds for the chart. + + + + + Gets or sets the color of the first control line. + + + + + Gets or sets starting value that is used to draw first control line. + + + + + Gets or sets end value that is used to draw first control line. + + + + + Gets or sets whether control line is drawn. Default value is false. Control lines can be used to display for example low and high control bounds for the chart. + + + + + Gets or sets the color of the second control line. + + + + + Gets or sets starting value that is used to draw second control line. + + + + + Gets or sets end value that is used to draw second control line. + + + + + Class that tracks lists of all controls that host currently open popups. + + + + + Registers IOwnerMenuSupport popup host in response to host displaying its first popup. + + IOwnerMenuSupport host to register + + + + Unregisters IOwnerMenuSupport popup host in response to host closing its last popup. + + IOwnerMenuSupport host to unregister + + + + Closes all currently open popups. + + + + + Closes all currently open popups excluding specified popup host. + + IOwnerMenuSupport host to exclude from closing or null + + + + Represents custom collection with INotifyPropertyChanged and INotifyCollectionChanged interface support. + + + + + + Represents collection changed notification interface. + + + + + Occurs when collection changed. + + + + + Creates new instance of object. + + + + + Creates new instance of object. + + + + + Creates new instance of object. + + List to initialize collection with. + + + + Add item to collection. + + Item to add. + + + + Remove all items from collection. + + + + + Remove all items from collection. + + + + + Checks whether collection contains item. + + Item to look for. + true if item is in collection. + + + + Copy collection to array. + + Array to copy to. + Index to copy from. + + + + Copy collection to array. + + Array to copy to. + + + + Gets enumerator for collection. + + Enumerator. + + + + Returns index of an item. + + Reference to item. + Index of item. + + + + Insert item at specified location. + + Index to insert item in. + Item to insert. + + + + Inserts item. + + Index to insert item at. + Reference to item. + + + + Removes item from collection. + + Item to remove. + true if item was removed. + + + + Remove item at specified location. + + Index of item to remove. + + + + Remove item at specified location. + + Index of item to remove. + + + + Set item on location. + + Index + Item to assign. + + + + Returns items directly without checks. + + List of items. + + + + Occurs when collection is read. + + + + + Occurs when collection property has changed. + + Event arguments. + + + + Blocks the collection reentrancy. + + IDisposable to end re-entrancy + + + + Checks whether call creates reentrancy. + + + + + Called when collection has changed. + + Event arguments. + + + + Occurs when property value has changed. + + + + + Returns number of items in collection. + + + + + Returns item at index. + + Index of item. + Item at index. + + + + Returns the IList interface for items in collection. + + + + + Occurs when collection has changed. + + + + + Defines change actions. + + + + + Items were added. + + + + + Items were removed. + + + + + Items were replaced. + + + + + Items were moved. + + + + + Collection was reset. + + + + + Defines delegate for collection notification events. + + Event sender. + Event arguments. + + + + Defines collection change notification event arguments. + + + + + Create new instance of object. + + Action + + + + Creates new instance of object. + + Specifies action. + List of changed items. + + + + Creates new instance of object. + + Specifies action. + Item that was changed. + + + + Creates new instance of object. + + Action. + New items in collection. + Old items in collection. + + + + Creates new instance of object. + + Action. + List of changed items. + Starting index of change. + + + + Creates new instance of object. + + Action + Changed item + Index of change + + + + Creates new instance of object. + + Action + New item + Old item + + + + Creates new instance of object. + + Action + New items. + Removed items. + Starting index of change. + + + + Creates new instance of object. + + Action + Changed items + New index + Old index + + + + Creates new instance of object. + + Action + Changed item + New index + Old index + + + + Creates new instance of object. + + Action. + New item + Old item + New index + + + + Gets the type of the collection change action. + + + + + Gets list of newly added items. + + + + + Gets new starting index. + + + + + Gets list of removed items. + + + + + Old starting index. + + + + + Represents advanced property grid control. + + + + + Defines an interface that is used by advanced property grid parser to localize property names. + + + + + Gets localized property name. + + Property name to retrieve localized name for. + Localized Property name or null to use default. + + + + Gets localized category name. + + Category to retrieve localized value for. + Localized Category name or null to use default. + + + + Gets localized message for Tooltip body when error setting the property value has occurred. + + Default system message. + Localized message or null to use default. + + + + Gets the style that is applied to property node when it is in read-only state. + + + + + Gets the style that is applied to property node when its value has changed from the default value for the property. + + + + + Gets the property category style. + + + + + Gets the default style for unchanged value edit cell. + + + + + Initializes a new instance of the AdvPropertyGrid class. + + + + + Invokes PropertyValueChanging event. + + Event data. + + + + Invokes PropertyValueChanged event handler. + + Name of the property that has changed. + New property value. + Old property value. + + + + Invokes PropertyValueChanged event. + + Name of property that has changed + + + + Raises ValidatePropertyValue event. + + Provides event arguments. + + + + Raises PropertiesLoaded event. + + Provides event arguments. + + + + Commits any property edits that are currently in progress by applying the current entered value to the property. + Returns true if edit was applied. + + + + + Updates specified property value in property grid. + + Property Name to update value for. + + + + Refreshes the display of all property values in the grid. + + + + + Reloads all properties from selected object. + + + + + Collapses all the categories in the AdvPropertyGrid. + + + + + Expands all the categories in the AdvPropertyGrid. + + + + + Raises the PrepareErrorSuperTooltip event. + + Provides information about event. + + + + Sets the property grid column width. + + Column index + Width of column in pixels + + + + Raises the ConvertPropertyValueToString event. + + Provides event data + + + + Raises the ConvertFromStringToPropertyValue event. + + Provides event data + + + + Raises the ProvidePropertyValueList event. + + Provides event data + + + + Raises the ProvideUITypeEditor event. + + Provides event data + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Find PropertyNode using the property name. + + Property to name + PropertyNode or null if not found + + + + Called when SubPropertiesDefaultSort property has changed. + + Old property value + New property value + + + + Raises the PropertyChanged event. + + Provides event arguments. + + + + Signals the object that initialization is starting. + + + + + Signals the object that initialization is ending. + + + + + Occurs when property grid needs property names translated for UI. + + + + + Occurs when Super Tooltip that is displayed for the error that occurred when property is being set is being assigned to a property node. + This event allows you to customize the super tooltip displayed. + + + + + Occurs when property value is being converted to text representation for display. You can handle this event + to provide custom conversion for property values. You must set IsConverted=true on event arguments to indicate that you have performed value conversion. + + + + + Occurs when text entered by user is being converted to typed property value to be assigned to the property. You can handle this event + to provide custom conversion for property values. You must set IsConverted=true on event arguments to indicate that you have performed value conversion. + + + + + Occurs when property looks for the list of valid values for the property to show on either drop-down or use + in auto-complete list. For example when property type is enum the internal implementation will convert available enum + values into string list and use on drop-down and in auto-complete list. You can use this event to provide + custom value list in combination with ConvertPropertyValueToString, ConvertFromStringToPropertyValue events. + You must set IsListValid=true on event arguments to indicate that list your provided should be used. + + + + + Occurs when property node needs the UITypeEditor for the property. You can handle this event and provide your own UITypeEditor to be used instead of the one specified on the property. + + + + + Occurs when user changes the value of the property in property grid. + + + + + Occurs before property value entered by the user is set on the property. You can cancel internal assignment by property grid by setting Handled=true on event arguments. + + + + + Occurs when users changes the property value and attempts to commit the changes. This even allows you to validate the value and show error message if value is invalid and cancel its application. + + + + + Occurs after properties have been loaded into the property grid. + + + + + Gets or sets the currently selected objects. + + + + + Gets or sets the currently selected object. + + + + + Gets or sets the browsable attributes associated with the object that the property grid is attached to. + + + + + Gets or sets whether property is highlighted to confirm the value update by user. Default value is true. + + + + + Gets or sets the list of property names that are not loaded into property grid regardless of their Browsable attribute setting. + + + + + Gets or sets the list of category names properties below to that are not loaded into property grid regardless of the property Browsable attribute setting. + + + + + Returns reference to internal SuperTooltip component used by AdvPropertyGrid. + + + + + Defines the appearance of the control. + + + + + Gets or sets the property sorting inside of the grid. + + + + + Gets or sets the help type that is provided by the control. Default help type is SuperTooltip which shows tooltip over each property + that provides property description. + + + + + Gets reference to the help panel that is displayed below property grid and which provides selected property description. + + + + + Gets reference to the expandable splitter that is displayed above the help panel and allows resizing of the panel. + + + + + Gets reference to internal AdvTree control that displays properties. + + + + + Gets or sets the grid lines color. + + + + + Gets the reference to the internal toolbar control displayed above the property grid. + + + + + Gets or sets whether toolbar is visible. Default value is true. + + + + + Gets or sets whether search text box that allows property filtering is visible. Default value is true. + + + + + Gets reference to internal TextBoxItem that represents search text box. + + + + + Gets the reference to the property gird localization object which holds all system text used by the component. + + + + + Gets or sets whether Tab key navigates between property nodes. Default value is true. + + + + + Gets or sets the password character used by the property values that are marked with PropertyPasswordText attribute. + + + + + Gets or sets the sub property default sorting. Default value is Alphabetical. + + + + + Occurs when property defined by AdvPropertyGrid control has changed. + + + + + Gets the style that is applied to property node when it is in read-only state. + + + + + Gets the style that is applied to property node when its value has changed from the default value for the property. + + + + + Gets the style that is applied to property edit cell when its displaying unchanged property value. + + + + + Gets the property category style. + + + + + Defines the sorting for the AdvPropertyGrid properties. + + + + + Specifies help types property grid uses to display help for selected property. + + + + + No help is visible. + + + + + SuperTooltip with property description is displayed when mouse is over the property. + + + + + Panel below property grid is displayed which shows the description for the selected property. + + + + + Defines delegate for Localize AdvPropertyGrid event. + + + + + + + Defines data for Localize AdvPropertyGrid event. + + + + + Gets the property name or category name localization is performed for. Inspect LocalizationType property to get localization type which + determines value specified in this property. + + + + + Gets the localization type being performed. + + + + + Gets or sets the localized value to be used. Set to null or empty string to use default value. + + + + + Initializes a new instance of the AdvPropertyGridLocalizeEventArgs class. + + Key value event is raised for. + Localization Type being performed. + + + + Defines the localization types for AdvPropertyGrid control. + + + + + Property name is localized. + + + + + Category is localized. + + + + + Error super tooltip parts are being localized. + + + + + Defines delegate for Localize AdvPropertyGrid event. + + + + + + + Defines data for PrepareErrorTooltip AdvPropertyGrid event. + + + + + Gets or sets the SuperTooltipInfo that represent tooltip that will be displayed to provide error information. + + + + + Gets the name of the property tooltip is displayed for. + + + + + Gets reference to the exception that was thrown when property was set. + + + + + Gets the value that was set and caused the error. + + + + + Initializes a new instance of the PropertyErrorTooltipEventArgs class. + + SuperTooltipInfo for error tooltip + Property that caused error + Exception that was raised when property was set + Value that caused the error. + + + + Defines delegate for Convert Value events. + + Sender + Event data. + + + + Defines data for Convert Value events that allows custom value conversion for property grid. + + + + + Gets or sets the string property value. + + + + + Gets or sets the typed property value. + + + + + Gets the property name for which conversion is being done. + + + + + Gets the target component that property is on. + + + + + Gets or sets whether converted value is used. You need to set this property to true to indicate that you have performed value conversion. + + + + + Gets the property descriptor that describes property. + + + + + Initializes a new instance of the ConvertValueEventArgs class. + + + + + + + + + Defines delegate for Convert Value events. + + Sender + Event data. + + + + Defines data for Convert Value events that allows custom value conversion for property grid. + + + + + Gets the property name value list is needed for. + + + + + Gets the target component that property is on. + + + + + Gets or sets whether property ValueList provided is valid. You must set this property to true in order for the list to be used. + + + + + Gets or sets the list of valid property values. + + + + + Gets the property descriptor that describes property. + + + + + Initializes a new instance of the PropertyValueListEventArgs class. + + + + + + + Defines delegate for Localize AdvPropertyGrid event. + + Sender of event. + Event data. + + + + Defines data for PrepareErrorTooltip AdvPropertyGrid event. + + + + + Gets the property name UITypeEditor is looked for. + + + + + Gets the property descriptor for property UITypeEditor is looked for. + + + + + Gets or sets the instance of UITypeEditor to be used for the property. You set this property to the UITypeEditor that you want + used for the property while editing. Note that you must set EditorSpecified = true in order for this value to be used. + + + + + Gets or sets whether the value specified in UITypeEditor property is used. You must set this value to true in order for + UITypeEditor property value to be used. + + + + + Initializes a new instance of the ProvideUITypeEditorEventArgs class. + + Property Name + Property Descriptor + + + + Defines delegate for PropertyValueChanging event. + + Event sender. + Event data. + + + + Defines arguments for PropertyValueChanging event. + + + + + Gets the name of the property which value is changing. + + + + + Gets the new value that is being set on property. + + + + + Gets or sets whether value assignment was handled by your code. Set to true to cancel internal AdvPropertyGrid property value assignment. + + + + + Gets the PropertyDescriptor for the property being changed. + + + + + Gets the full property path up to the selected object. + + + + + Initializes a new instance of the PropertyValueChangingEventArgs class. + + + + + + + Initializes a new instance of the PropertyValueChangingEventArgs class. + + + + + + + Defines delegate for ValidatePropertyValue event. + + Sender + ValidatePropertyValue event arguments + + + + Defines event arguments for ValidatePropertyValue event. + + + + + Gets or sets whether validation failed. Set to true to cancel property value assignment. + + + + + Gets the name of the property which value is changing. + + + + + Gets the new value that is being set on property. + + + + + Gets the target object on which property value is set. + + + + + Gets or sets the message that is displayed to user if validation fails, i.e. Cancel=true. + + + + + Initializes a new instance of the ValidatePropertyValueEventArgs class. + + + + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets or sets the color of the node highlight when error has occurred while setting property value. + + + + + Gets or sets the color of the node highlight when property update was successful. + + + + + Gets or sets default style for property node. + + + Default value is null. + + + + + Gets or sets style for property node when in read-only state. + + + Default value is null. + + + + + Gets or sets style for property node when in read-only state. + + + Default value is null. + + + + + Gets or sets style for property node edit cell when displaying unchanged property value. + + + Default value is null. + + + + + Gets or sets style for property node when in read-only state. + + + Default value is null. + + + + + Gets or sets the image that is displayed in property name cell when property value has failed the validation. + + + + + Represents the class that stores text used by property grid control for localization purposes. + + + + + Raises the PropertyChanged event. + + Provides event arguments. + + + + Gets or sets tooltip used by Categorized toolbar button. + + + + + Gets or sets tooltip used by Alphabetical toolbar button. + + + + + Gets or sets the tooltip text used in tooltip when error occurred during property value setting. + + + + + Gets or sets the watermark text displayed in search text-box. + + + + + Occurs when property defined by AdvPropertyGridLocalization class has changed. + + + + + Represents the property category in AdvPropertyGrid. + + + + + Represents check-box style property node in AdvPropertyGrid. + + + + + Represents a property node in AdvPropertyGrid. + + + + + Initializes a new instance of the PropertyNode class. + + + + + + Releases the inline editor used by the node. + + + + + Places the node into the editing mode if possible, raises the exception if node is read-only. + + Action that caused the edit mode. + Indicates whether to focus the editor. + + + + Called after property editor is created. + + + + + Exits the editor mode. + + Action that caused the editor mode exit. + + + + Called when visual part of the node has changed due to the changes of its properties or properties of the cells contained by node. + + + + + Cancel the edit changes and applies the old property value. + + + + + Attempts to apply current edit value to the property. + + + + + Returns the full property path to the root of the selected object. + + Full property path. + + + + Starts fade background color style highlight for the property node. + + Specifies the fade background color. + + + + Applies PropertySettings to this node. + + + + + Gets or sets whether property text box is read only. Default value is false. + + + + + Gets whether node is in editing mode. + + + + + Gets or sets the property settings that are applied to this property node. + + + + + Gets or sets whether property node represents property for multiple objects. + + + + + Gets or sets whether property is password property which value is not displayed as plain text. + + + + + Defines delegate that is called after property editor is created. + + PropertyNode sender. + Reference to editor. + + + + Initializes a new instance of the PropertyNode class. + + + + + + Defines a attribute which applies an date-time editor to a property when used with AdvPropertyGrid control. Applies to DateTime property types only. + + + + + Defines base attribute for custom AdvPropertyGrid in-line property value editors. + + + + + Creates a control that is used as property value in-line editor. Control must implement IPropertyValueEditor interface. + + PropertyDescriptor for the property being edited. + Target object that owns the property. + Control that represents in-line editor. + + + + Gets or sets pre-defined format for date-time input. + + + + + Gets or sets custom format for date-time input. + + + + + Gets or sets whether empty null/nothing state of the control is allowed. Default value is false. + + + + + Gets or sets whether drop-down button that shows calendar is visible. Default value is true. + + + + + Gets or sets the minimum date that control accepts. + + + + + Gets or sets the maximum date that control accepts. + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + + + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + + + Initializes a new instance of the PropertyDateTimeEditor class. + + + + + Defines an interface that is implemented by the control that will be used by AdvPropertyGrid control to edit property value. + + + + + Focus the edit part of the control. + + + + + Gets or sets the font used by the edit part of the control. Font might be used to visually indicate that property value has changed. Implementing this property is optional. + + + + + Gets whether the edit part of the control is focused. + + + + + Gets or sets the value being edited. + + + + + Occurs when EditValue changes. Raising this even will cause the property value to be updated with the EditValue. + + + + + Defines a attribute which applies an double type numeric editor to a property when used with AdvPropertyGrid control. Applies to double property types only. + + + + + Gets or sets whether up/down button is shown. + + + + + Gets or sets the display format for the control when control does not have input focus. + + + + + Gets or sets the minimum value that can be entered. + + + + + Gets or sets the maximum value that can be entered. + + + + + Gets or sets whether empty state i.e. null/nothing value is allowed when editor is used with nullable types. + + + + + Initializes a new instance of the PropertyDoubleEditor class. + + + + + Initializes a new instance of the PropertyDoubleEditor class. + + + + + + Initializes a new instance of the PropertyDoubleEditor class. + + + + + + + Initializes a new instance of the PropertyDoubleEditor class. + + + + + + + + Initializes a new instance of the PropertyDoubleEditor class. + + + + + + + + + Initializes a new instance of the PropertyDoubleEditor class. + + + + + + + Defines a attribute which applies an integer type numeric editor to a property when used with AdvPropertyGrid control. Applies to int property types only. + + + + + Gets or sets whether up/down button is shown. + + + + + Gets or sets the display format for the control when control does not have input focus. + + + + + Gets or sets the minimum value that can be entered. + + + + + Gets or sets the maximum value that can be entered. + + + + + Gets or sets whether empty state i.e. null/nothing value is allowed when editor is used with nullable types. + + + + + Initializes a new instance of the PropertyIntegerEditor class. + + + + + Initializes a new instance of the PropertyIntegerEditor class. + + + + + + Initializes a new instance of the PropertyIntegerEditor class. + + + + + + + Initializes a new instance of the PropertyIntegerEditor class. + + + + + + + + Initializes a new instance of the PropertyIntegerEditor class. + + + + + + + + + Initializes a new instance of the PropertyIntegerEditor class. + + + + + + + Defines multiple choice, option or check-boxes, in-line AdvPropertyGrid property value editor. + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + + Initializes a new instance of the PropertyMultiChoiceEditor class. + + + + + + + + Represents item container that arranges items horizontally or vertically. + + + + + Creates new instance of the ItemContainer object. + + + + + Must be overridden by class that is inheriting to provide the painting for the item. + + + + + Returns empty container default design-time size. + + Size of an empty container. + + + + Gets whether FixedSize property should be serialized. + + + + + Resets the property to default value. + + + + + Called when FixedSize property has changed. + + Old property value + New property value + + + + Recalculates the size of the container. Assumes that DisplayRectangle.Location is set to the upper left location of this container. + + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Return Sub Item at specified location + + + + + Called after TopInternal property has changed + + + + + Called after LeftInternal property has changed + + + + + Returns copy of the item. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Occurs when sub item expanded state has changed. + + Sub item affected. + + + + Called when item Display state has changed. + + + + + Sets whether container is used as system container internally by DotNetBar. + + true or false to indicate whether container is system container or not. + + + + Called when TitleVisible property has changed. + + Old property value + New property value + + + + Called when TitleText property has changed. + + Old property value + New property value + + + + Called when TitlePosition property has changed. + + Old property value + New property value + + + + Selects first visible item contained by the container by sending mouse over message. + + + + + Sets the new hot-sub item for the container. This method is designed for internal use by the DotNetBar and should not be used. + + Reference to an instance of BaseItem or null. + + + + Gets or sets the minimum size of the container. Either Width or Height can be set or both. Default value is 0,0 which means + that size is automatically calculated. + + + + + Specifies the container background style. Default value is an empty style which means that container does not display any background. + BeginGroup property set to true will override this style on some styles. + + + + + Gets or sets the item alignment when container is in horizontal layout. Default value is Left. + + + + + Gets or sets the item vertical alignment. Default value is Top. + + + + + Gets or sets whether items in horizontal layout are wrapped into the new line when they cannot fit allotted container size. Default value is false. + + + + + Gets or sets spacing in pixels between items. Default value is 0. + + + + + Gets or sets the suggested fixed size of the container. Width or Height or Both may be set to suggest fixed size for the container. + + + + + Gets or sets orientation inside the container. Do not change the value of this property. It is managed by system only. + + + + + Gets or sets orientation inside the container. + + + + + Gets or sets whether items contained by container are resized to fit the container bounds. When container is in horizontal + layout mode then all items will have the same height. When container is in vertical layout mode then all items + will have the same width. Default value is true. + + + + + IBlock member implementation + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Returns whether instance of the item container is used as system container internally by DotNetBar. + + + + + Gets or sets the accessible role of the item. + + + + + Specifies the title background style. + + + + + Indicates whether TitleText is visible if set. Default value is true. + + + + + Gets or sets the title text for the container. + + + + + Gets or sets position of title text. + + + + + Gets or sets the Key Tips access key or keys for the item when on Ribbon Control or Ribbon Bar. Use KeyTips property + when you want to assign the one or more letters to be used to access an item. For example assigning the FN to KeyTips property + will require the user to press F then N keys to select an item. Pressing the F letter will show only keytips for the items that start with letter F. + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Gets or sets whether item can be customized by end user. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Specifes the mouse cursor displayed when mouse is over the item. + + + + + Gets or sets item description. This description is displayed in + Customize dialog to describe the item function in an application. + + + + + Gets or sets a value indicating whether the item is enabled. + + + + + Gets or sets whether item is global or not. + This flag is used to propagate property changes to all items with the same name. + Setting for example Visible property on the item that has GlobalItem set to true will + set visible property to the same value on all items with the same name. + + + + + Gets or sets item alignment inside the container. + + + + + Gets or sets the collection of shortcut keys associated with the item. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets/Sets informational text (tooltip) for the item. + + + + + Indicates whether container responds to keyboard presses and changes the active/mouse over item. + + + + + Initializes a new instance of the PropertyMultiChoiceItemEditor class. + + + + + + + Represents the option list property node for AdvPropertyGrid. + + + + + Initializes a new instance of the PropertyNode class. + + + + + + Describes the property settings applied to the property on AdvPropertyGrid control. + + + + + Initializes a new instance of the PropertySettings class. + + + + + Initializes a new instance of the PropertySettings class. + + + + + + Initializes a new instance of the PropertySettings class. + + + + + + Raises the ConvertPropertyValueToString event. + + Provides event data + + + + Raises the ConvertFromStringToPropertyValue event. + + Provides event data + + + + Raises the ProvidePropertyValueList event. + + Provides event data + + + + Called when TypeConverter property has changed. + + Old property value + New property value + + + + Raises PropertyChanged event. + + Event data. + + + + Occurs when property value is being converted to text representation for display. You can handle this event + to provide custom conversion for property values. You must set IsConverted=true on event arguments to indicate that you have performed value conversion. + + + + + Occurs when text entered by user is being converted to typed property value to be assigned to the property. You can handle this event + to provide custom conversion for property values. You must set IsConverted=true on event arguments to indicate that you have performed value conversion. + + + + + Occurs when property looks for the list of valid values for the property to show on either drop-down or use + in auto-complete list. For example when property type is enum the internal implementation will convert available enum + values into string list and use on drop-down and in auto-complete list. You can use this event to provide + custom value list in combination with ConvertPropertyValueToString, ConvertFromStringToPropertyValue events. + You must set IsListValid=true on event arguments to indicate that list your provided should be used. + + + + + Gets or sets read-only property style. + + + Default value is null. + + + + + Gets or sets whether property is in read-only state. Default value is false. + + + + + Gets or sets the SuperTooltip that is displayed when property is in read-only state (ReadOnly=true). + + + + + Gets or sets the SuperTooltip that is assigned to the property. + + + + + Gets or sets the image that is displayed next to the property name in the grid. + + + + + Gets or sets the image alignment in relation to the property name inside of the grid cell. + + + + + Gets or sets the custom category node will be placed in instead of category specified by Category attribute. + + + + + Gets or sets the custom property name that is displayed in the grid instead of the real property name. + + + + + Gets or sets the name of the property that is managed by this informational object. If you set PropertyDescriptor than that is the value + that will be used by the control regardless of PropertyName value. + If you set PropertyName but not PropertyDescriptor then all properties with given name + regardless of type will use these settings. + + + + + Gets or sets property descriptor that identifies the property settings apply to. If you set PropertyDescriptor than that is the value + that will be used by the control regardless of PropertyName value. + If you set PropertyName but not PropertyDescriptor then all properties with given name + regardless of type will use these settings. + + + + + Gets or sets default property style. + + + Default value is null. + + + + + Gets or sets the UITypeEditor used to edit the property. + + + + + Gets or sets the custom in-line property value editor. Property value editor is created by inheriting from PropertyValueEditor class. + + + + + Gets or sets whether node is visible in property grid. Default value is true. + + + + + Gets or sets the property node type that is used to edit this property value. Note that content of property grid would need to be + reloaded to apply any changes to this property. + + + + + Gets or sets the property description that overrides description specified on property through DescriptionAttribute. + Default value is null. + + + + + Gets or sets custom TypeConverter assigned to the property which will override any TypeConverter that is returned by the PropertyDescriptor. + + + + + Occurs when property value on the object changes. + + + + + Defines the type of the property node in grid that is assigned to property. + + + + + Specifies default node type for the property. + + + + + Specifies the node type that is constructed as group of option buttons that represent all values for the property. Works best + for smaller set of Enum values. + + + + + Defines exception which is thrown when property value fails the validation in AdvPropertyGrid.ValidatePropertyValue event. + + + + + Initializes a new instance of the InvalidPropertyValueException class. + + + + + Defines Advanced Property Grid Node for Color type. + + + + + Initializes a new instance of the PropertyNode class. + + + + + + Initializes a new instance of the PropertyNodeFactory class. + + + + + + Initializes a new instance of the PropertyParser class. + + + + + + Initializes a new instance of the PropertyParser class. + + + + + + Initializes a new instance of the PropertyParser class. + + + + + + Initializes a new instance of the PropertyParser class. + + + + + + Initializes a new instance of the PropertyGridInfoCollection class. + + + + + + Gets property info object based on property name. + + Property name. + PropertyGridInfo instance or null if it cannot be found. + + + + Gets property info object based on property descriptor. + + Property descriptor. + PropertyGridInfo instance or null if it cannot be found. + + + + Returns property setting based on property descriptor or name if property descriptor is not set on property settings + Property descriptor takes precedence. + + Property descriptor to look for. + Property Name to look for. + Property settings instance or null + + + + Gets the owner of the collection. + + + + + Defines a attribute which applies an slider in-line editor to a property when used with AdvPropertyGrid control. + + + + + Gets or sets the minimum slider value. + + + + + Gets or sets the maximum slider value. + + + + + Gets or sets whether slider text label is visible. + + + + + Gets or sets the slider label width. Default value is 18. + + + + + Gets or sets label text color. + + + + + Initializes a new instance of the PropertySliderEditor class. + + Minimum value for slider. + Maximum value for slider. + + + + Initializes a new instance of the PropertySliderEditor class. + + + + + + + + Initializes a new instance of the PropertySliderEditor class. + + + + + + + + + + Initializes a new instance of the PropertySliderEditor class. + + + + + + + + Initializes a new instance of the PropertySliderEditor class. + + + + + + + + + Creates a control that is used as property value in-line editor. Control must implement IPropertyValueEditor interface. + + PropertyDescriptor for the property being edited. + Target object that owns the property. + Control that represents in-line editor. + + + + Defines Radial Menu control. + + + + + Initializes a new instance of the RadialMenu class. + + + + + Raises BeforeMenuClose event. + + Provides event arguments. + + + + Raises BeforeMenuOpen event. + + Provides event arguments. + + + + Raises MenuOpened event. + + Provides event arguments. + + + + Raises MenuClosed event. + + Provides event arguments. + + + + Gets or sets whether radial menu is open. + + + + + Called when Image property has changed. + + Old property value + New property value + + + + Called when IsOpen property has changed. + + Old property value + New property value + + + + Sets whether radial menu is open and provides the source of the action. + + true to open menu, false to close it. + Source of the action. + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Raises ItemAdded event. + + Reference to item. + Provides event arguments. + + + + Raises ItemRemoved event. + + Reference to item. + Provides event arguments. + + + + Raises ItemMouseEnter event. + + Reference to item. + Provides event arguments. + + + + Raises ItemMouseHover event. + + Reference to item. + Provides event arguments. + + + + Raises ItemMouseLeave event. + + Reference to item. + Provides event arguments. + + + + Raises ItemMouseDown event. + + Reference to item. + Provides event arguments. + + + + Raises ItemMouseUp event. + + Reference to item. + Provides event arguments. + + + + Raises ItemMouseMove event. + + Reference to item. + Provides event arguments. + + + + Raises ItemClick event. + + Reference to item. + Provides event arguments. + + + + Raises ItemDoubleClick event. + + Reference to item. + Provides event arguments. + + + + Raises ItemExpandedChanged event. + + Reference to item. + Provides event arguments. + + + + Raises ItemTextChanged event. + + Provides event arguments. + + + + Raises ItemTooltipShowing event. + + Provides event arguments. + + + + Occurs before menu is closed and allows you to cancel closing. + + + + + Occurs before menu has been opened and allows you to cancel opening + + + + + Occurs after menu has been opened. + + + + + Occurs after menu is closed.Occurs after menu is closed. + + + + + Specifies the width of the sub-menu edge around the radial menu. + + + + + Indicates spacing between sub-menu marking edge and the item. + + + + + Gets or sets radial menu diameter. Minimum value is 64. + + + + + Gets reference to colors used by the radial menu. + + + + + Indicates the size of the back symbol that is displayed on center of radial menu + + + + + Specifies the back button symbol. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates diameter of center button of radial menu. + + + + + Specifies the maximum pie part angle an item will occupy. Maximum is 180, minimum is 1 degree. + + + + + Indicates maximum radial angle single item in menu can consume. By default this property is set to zero which indicates that + radial menu is equally divided between visible menu items. + + + + + Indicates the position of top-left corner of radial menu when shown in screen coordinates + + + + + Indicates image displayed in center of the radial menu. + + + + + Indicates symbol displayed in center of the radial menu. When set, it overrides any Image settings. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets whether radial menu is open. + + + + + Returns collection of items on a bar. + + + + + Gets or sets whether shortcut processing for the items hosted by this control is enabled. Default value is true. + + + + + Indicates whether radial menu is closed automatically when app is deactivated. Default value is true, if set to false + you are responsible for closing the menu. + + + + + Gets or sets whether hooks are used for internal DotNetBar system functionality. Using hooks is recommended only if DotNetBar is used in hybrid environments like Visual Studio designers or IE. + + + + + Indicates the radial menu type. eRadialMenuType.Segment menu type allows for display of image, text and any sub-menu items. + eRadialMenuType.Circular allows only for display of Symbol or Image and it does not display either text or sub-menu items. + eRadialMenuType.Circular is designed to be used for single level menus only that don't need text. + + + + + Indicates whether control automatically scales the items if the parent Form performs scaling due to AutoScale settings. + + + + + Indicates accessibility help string + + + + + Returns whether control has any popups registered. + + + + + Indicates whether shortcuts handled by items are dispatched to the next handler or control. + + + + + Indicates whether items show tooltips. + + + + + Indicates whether item shortcut is displayed in Tooltips. + + + + + Gets or sets whether accelerator letters on buttons are underlined. Default value is false which indicates that system setting is used + to determine whether accelerator letters are underlined. Setting this property to true + will always display accelerator letter underlined. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + Occurs after an item has been added to items collection. + + + + + Occurs after an item has been removed from items collection. + + + + + Occurs when mouse pointer enters boundaries of an item. + + + + + Occurs when mouse pointer hovers over an item. + + + + + Occurs when mouse pointer leaves boundaries of an item. + + + + + Occurs when mouse button is pressed on item. + + + + + Occurs when mouse button is released on item. + + + + + Occurs when mouse moves over an item. + + + + + Occurs when an item is clicked. + + + + + Occurs when an item is double-clicked. + + + + + Occurs when an item Expanded property value has changed. + + + + + Occurs when an item Text property value has changed. + + + + + Occurs when tooltip for an item is about to be displayed. + + + + + Defines colors used by Radial Menu Component. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Raises the PropertyChanged event. + + Event arguments + + + + Gets or sets the color of the Radial Menu button background. + + + + + Gets or sets the color of the radial menu button border. + + + + + Gets or sets the color of the Radial Menu background. + + + + + Gets or sets the color of the Radial Menu border + + + + + Gets or sets the color of border for mouse over state for the radial menu item expand part. + + + + + Gets or sets the color of the radial menu border for parts where items do not have sub-items, i.e. non-active area of the border. + + + + + Gets or sets the color of the expand sign which shows menu item sub-items. + + + + + Gets or sets the color of the radial menu item text. + + + + + Gets or sets the color of the radial menu item mouse over background. + + + + + Gets or sets the color of the radial menu item mouse over foreground. + + + + + Gets or sets the color of the radial menu item foreground when disabled. + + + + + Gets or sets background color of the circular menu item type. Applies only to circular menu types. + + + + + Gets or sets text color of the circular menu item type. Applies only to circular menu types. + + + + + Gets or sets border color of the circular menu item type. Applies only to circular menu types. + + + + + Occurs when property value has changed. + + + + + Initializes a new instance of the RadialMenuContainer class. + + + + + Returns copy of the item. + + + + + Copies the RadialMenuItem specific properties to new instance of the item. + + New ProgressBarItem instance. + + + + Copies the RadialMenuItem specific properties to new instance of the item. + + New RadialMenuItem instance. + + + + Raises Opened event. + + Provides event arguments. + + + + Raises Closed event. + + Provides event arguments. + + + + Called when OpenState property has changed. + + Old property value + New property value + + + + Closes currently open popup. + + + + + Called when MaxItemRadialAngle property has changed. + + Old property value + New property value + + + + Called when Diameter property has changed. + + Old property value + New property value + + + + Called when CenterButtonDiameter property has changed. + + Old property value + New property value + + + + Called when SubMenuEdgeWidth property has changed. + + Old property value + New property value + + + + Called when SubMenuEdgeItemSpacing property has changed. + + Old property value + New property value + + + + Return Sub Item at specified location + + + + + Called when MenuLocation property has changed. + + Old property value + New property value + + + + Called when RadialMenu property has changed. + + Old property value + New property value + + + + Gets the current expanded subitem. + + + + + + Called when BackSymbolSize property has changed. + + Old property value + New property value + + + + Called when BackSymbol property has changed. + + Old property value + New property value + + + + Called when BackButtonSymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when MaxItemPieAngle property has changed. + + Old property value + New property value + + + + Called when MenuType property has changed. + + Old property value + New property value + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Called when Image property has changed. + + Old property value + New property value + + + + Called when Font property has changed. + + Old property value + New property value + + + + Occurs after radial menu is opened. + + + + + Occurs after radial menu is closed. + + + + + Returns internal popup control for radial menu. + + + + + Indicates maximum radial angle single item in menu can consume. By default this property is set to zero which indicates that + radial menu is equally divided between visible menu items. + + + + + Returns diameter which takes in account current scaling factor. + + + + + Gets or sets radial menu diameter. Minimum value is 64. + + + + + Returns actual center button diameter which takes in account current scale factor. + + + + + Indicates diameter of center button of radial menu. + + + + + Specifies the width of the sub-menu edge around the radial menu. + + + + + Indicates spacing between sub-menu marking edge and the item. + + + + + Indicates the position of top-left corner of radial menu when shown in screen coordinates + + + + + Indicates the size of the back symbol that is displayed on center of radial menu + + + + + Specifies the back button symbol. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Specifies the maximum pie part angle an item will occupy. Maximum is 180, minimum is 1 degree. + + + + + Gets reference to colors used by the radial menu. + + + + + Indicates the radial menu type. eRadialMenuType.Radial menu type allows for display of image, text and any sub-menu items. + eRadialMenuType.Circular allows only for display of Symbol or Image and it does not display either text or sub-menu items. + eRadialMenuType.Circular is designed to be used for single level menus only that don't need text. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the image displayed on the item. + + + + + Specifies font for menu items. + + + + + Initializes a new instance of the RadialSubItemInfo class. + + + + + + + + + Initializes a new instance of the RadialMenuPopupProxy class. + + + + + + Defines available radial menu type. + + + + + Defines Radial Menu Item. + + + + + Raises CheckedChanged event. + + Provides event arguments. + + + + Called when DisplayPath property has changed. + + Old property value + New property value + + + + Returns copy of the item. + + + + + Copies the RadialMenuItem specific properties to new instance of the item. + + New ProgressBarItem instance. + + + + Copies the RadialMenuItem specific properties to new instance of the item. + + New RadialMenuItem instance. + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Called when Image property has changed. + + Old property value + New property value + + + + Called when TextVisible property has changed. + + Old property value + New property value + + + + Called when TracksMouse property has changed. + + Old property value + New property value + + + + Called when Checked property has changed. + + Old property value + New property value + + + + Called when TextOffset property has changed. + + Old property value + New property value + + + + Raises BeforeMenuOpened event. + + Provides event arguments. + + + + Raises BeforeMenuClosed event. + + Provides event arguments. + + + + Called when CircularMenuDiameter property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs after Checked property has changed. + + + + + Gets display path of the item. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the image displayed on the item. + + + + + Indicates whether text on item is visible. + + + + + Gets whether mouse is over the item. + + + + + Indicates whether item changes its appearance when mouse is over it or pressed + + + + + Indicates whether item is in checked state. + + + + + Gets or sets the optional text offset for the item. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Occurs before radial menu item is expanded and its sub-items displayed. + + + + + Occurs before radial menu item is closed + + + + + Control Container (System.Windows.Forms.Control or its descendant) + + + + + Specifies explicit circular menu type diameter. Applies to circular menu type only. + + + + + Gets or sets background color of the circular menu item type. Applies only to circular menu types. + + + + + Gets or sets text color of the circular menu item type. Applies only to circular menu types. + + + + + Gets or sets border color of the circular menu item type. Applies only to circular menu types. + + + + + Initializes a new instance of the RadialMenuPopup class. + + + + + Called when DisplayItem property has changed. + + Old property value + New property value + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Returns the color scheme used by control. Color scheme for Office2007 style will be retrieved from the current renderer instead of + local color scheme referenced by ColorScheme property. + + An instance of ColorScheme object. + + + + Identifies the item displayed by this popup. + + + + + Gets or sets the content image displayed on the window. + + + + + Gets or sets the rendering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Represents rating item control which provides rating functionality. + + + + + Initializes a new instance of the RatingItem class. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Raises the AverageRatingChanged event. + + Event data. + + + + Raises the ParseAverageRatingValue event. + + Provides event arguments. + + + + Sets the Rating value of the control and provides information about source of the rating change. + + New Rating value. + Source of this change. + + + + Raises RatingChanging event. + + Event data + + + + Raises the RatingChanged event. + + Event data. + + + + Raises the ParseRating event. + + Provides event arguments. + + + + Occurs when Rating property has changed. + + + + + Occurs when RatingValue property has changed. + + + + + Occurs when Rating property is about to be changed and provides opportunity to cancel the change. + + + + + Occurs when AverageRating property has changed. + + + + + Occurs when AverageRatingValue property has changed. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Occurs when RatingValue property is set and it allows you to provide custom parsing for the values. + + + + + Occurs when AverageRatingValue property is set and it allows you to provide custom parsing for the values. + + + + + Gets or sets the average rating shown by control. Control will display average rating (if set) when no explicit + Rating value is set through Rating property. Minimum value is 0 and Maximum value is controlled by NumberOfStars property value. + + + + + Gets or sets the AverageRating property. This property is provided for Data-Binding with NULL value support. + + + + + Gets or sets the rating value represented by the control. Default value is 0 which indicates + that there is no rating set. Maximum value is controlled by NumberOfStars property. + + + + + Gets or sets the Rating property value. This property is provided for Data-Binding with NULL value support. + + + + + Gets or sets whether rating can be edited. Default value is true. + + + + + Specifies the control background style. Default value is an empty style which means that container does not display any background. + + + + + Gets the reference to custom rating images. + + + + + Gets or sets whether text assigned to the check box is visible. Default value is true. + + + + + Gets or sets the text color. Default value is Color.Empty which indicates that default color is used. + + + + + Gets or sets the spacing between optional text and the rating. + + + + + Gets or sets the orientation of rating control. + + + + + Indicates number of stars used for the rating. Minium value is 2 stars. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Initializes a new instance of the RatingImage structure. + + + + + + + Defines the custom rating images for Rating control. + + + + + Initializes a new instance of the RatingImages class. + + + + + Gets or sets the image used for unrated rating part. + + + + + Gets or sets the image used for unrated rating part when mouse is over the control. + + + + + Gets or sets the image used for rated part of the control. + + + + + Gets or sets the image used for Average Rated part of the control. + + + + + Gets or sets the image used for rated part of the control when mouse is over the control. + + + + + Delegate for Rating change events. + + + + + Represents event arguments for Rating change events. + + + + + New Rating value being assigned. + + + + + Previous or current value (if RatingChanging event). + + + + + Indicates the action that has caused the event. + + + + + Initializes a new instance of the RatingChangeEventArgs class. + + + + + + + + Represents color table for CrumbBarItemView. + + + + + Gets or sets the default state color table. + + + + + Gets or sets active mouse over color table. + + + + + Gets or sets inactive part mouse over color table. + + + + + Gets or sets the pressed color table. + + + + + Defines state color table for CrumbBarItemView + + + + + Gets or sets foreground/text color. + + + + + Gets or sets the background color blend collection. + + + + + Gets or sets the border color. + + + + + Gets or sets the border color. + + + + + Represents the color table for Office 2007 Style CalendarView Control. + + + + + Initializes ColorScheme object with the black color scheme. + + ColorScheme object to initialize. + + + + Defines colors for the WarningBox control. + + + + + Gets or sets the background color of WarningBox control. + + + + + Gets or sets the border color of the warning panel. + + + + + Gets or sets the back color of the warning panel. + + + + + Gets or sets the end gradient back color of the warning panel. + + + + + Gets or sets the background color of WarningBox control. + + + + + Gets or sets the border color of the warning panel. + + + + + Gets or sets the back color of the warning panel. + + + + + Gets or sets the end gradient back color of the warning panel. + + + + + Gets or sets the background color of WarningBox control. + + + + + Gets or sets the border color of the warning panel. + + + + + Gets or sets the back color of the warning panel. + + + + + Gets or sets the end gradient back color of the warning panel. + + + + + Gets or sets the background color of WarningBox control. + + + + + Gets or sets the border color of the warning panel. + + + + + Gets or sets the back color of the warning panel. + + + + + Gets or sets the end gradient back color of the warning panel. + + + + + Renders the Range Slider items. + + + + + Gets or sets color table used by renderer. + + + + + Defines the color table for the Range Slider Item in single state. + + + + + Gets or sets the colors for the slider which changes the minimum value of the range. + + + + + Gets or sets the colors for the slider which changes the maximum value of the range. + + + + + Gets or sets the tick line color. + + + + + Gets or sets the color for the line which indicates current range value. + + + + + Gets or sets the background colors of the current range value. + + + + + Gets or sets the color for the line showing control range. + + + + + Gets or sets the background colors for the line showing control range. + + + + + Gets or sets the corner radius for the range rectangle. + + + + + Defines the color table for the Range Slider Item in single state. + + + + + Gets or sets the default state colors. + + + + + Gets or sets the mouse over state colors. + + + + + Gets or sets the mouse pressed colors. + + + + + Gets or sets the disabled colors. + + + + + Initializes a new instance of the Office2010RangeChangePartColorTable class. + + + + + Initializes a new instance of the Office2010RangeChangePartColorTable class. + + + + + + + + Gets or sets the part background colors. + + + + + Gets or sets the part border color + + + + + Gets or sets the part border light color + + + + + Represents color table for Office 2010 style. + + + + + Represents color table for Office 2007 style. + + + + + Defines the provider for the element style classes support. + + + + + Returns the instance of the ElementStyle with given class name or null if there is no class with that name defined. + + Class name. See static members of ElementStyleClassKeys class for the list of available keys. + Instance of ElementStyle for given class name or null if class cannot be found. + + + + Creates new instance of the object. + + + + + Initializes a new instance of the Office2007ColorTable class. + + Specifies the color factory for the color table. + + + + Creates new instance of the object. + + + + + Creates new instance of the object. + + + + + Creates new instance of the color table and initializes it with custom color scheme. + + Predefined color scheme to be used as starting color scheme. + Color to use as basis for new color scheme + + + + Gets or sets the RibbonBar color table. + + + + + Gets or sets the background colors for the ItemContainer with BeginGroup property set to true. + + + + + Gets or sets the background colors for the Bar object. + + + + + Gets or sets the colors for the RibbonControl. + + + + + Gets or sets the colors for the ColorItem which is used by drop-down Color Picker. + + + + + Gets or sets the color table for menus. + + + + + Gets or sets the color table for ComboBoxItem. + + + + + Gets or sets the colors for the Ribbon Bar dialog launcher button. + + + + + Gets or sets the legacy color scheme object that applies to the user interface elements not covered by color table. + + + + + Gets or sets the color table of the system buttons displayed in form caption. + + + + + Gets or sets the color table of the close system button displayed in form caption. Applies to Office 2010 styles and later only. + + + + + Gets or sets the color table for the form caption. + + + + + Gets or sets the bacgkround colors for the quick access toolbar. + + + + + Gets or sets the colors for the tab and tab strip control. + + + + + Gets or sets the colors for the tab strip control used on docking windows. When not set TabControl color scheme is used. + + + + + Gets or sets the KeyTips color table. + + + + + Gets or sets the color table for the CheckBoxItem. + + + + + Gets or sets the scroll bar colors. + + + + + Gets or sets the application style scroll bar colors. + + + + + Gets or sets the color table for the ProgressBarItem. + + + + + Gets or sets the color table for the paused ProgressBarItem. + + + + + Gets or sets the color table for the error state of ProgressBarItem. + + + + + Gets or sets the color table for the galleries. + + + + + Gets or sets the color table for the NavigationPane control. + + + + + Gets or sets the color table for the Slider item. + + + + + Gets or sets the color table for the Range Slider item. + + + + + Gets the SuperTooltip color table. + + + + + Gets the color table for the ListViewEx control. + + + + + Gets the color table for the ListViewEx control. + + + + + Gets the color table used by SideBar control. + + + + + Gets or sets the color table for AdvTree control. + + + + + Gets or sets the CrumBarItem color table. + + + + + Gets the color table used by Schedule control. + + + + + Gets or sets SwitchButton color table. + + + + + Gets or sets the colors for the StepItem used in ProgressSteps control. + + + + + Gets or sets the colors for the ListBoxItem used in ListBoxAdv control. + + + + + Gets or sets the color table for the radial menu. + + + + + Gets or sets color table for TokenEditor control tokens. + + + + + Gets or sets color table for Flyout control. + + + + + Gets or sets the colors for the SideNav control. + + + + + Gets or sets the color tables for the TabFormItem. The key is the string representation of a eTabFormItemColor value. + + + + + Returns the instance of the ElementStyle with given class name or null if there is no class with that name defined. + + Class name. See static members of ElementStyleClassKeys class for the list of available keys. + Instance of ElementStyle for given class name or null if class cannot be found. + + + + Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by a button with Office 2007 style. + The collection by default has elements that are created to + represents the members of eButtonColor enumeration. The name of each color table object is the same as the string + enum representation. You can add custom members to this collection or modify the existing ones. Note that you must specify the + unique name for the new color table elements. Name specified there can be used in ButtonItem.CustomColorName property to specify + custom color table for an ButtonItem. + + + + + Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by a button with Office 2007 style when + button is on RibbonBar control. When collection is empty the values from the ButtonItemColors collections are used instead. + + + + + Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by a button with Office 2007 style when + button is on menu bar. When collection is empty the values from the ButtonItemColors collections are used instead. + + + + + Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by Ribbon Application Menu Button in Office 2010 style. + + + + + Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by buttons that are on Backstage tab-strip. + + + + + Gets the reference to collection of Office2007ButtonItemColorTable objects the describe colors used by buttons that are on NavigationPane control. Currently used for Office 2010 style only. When empty ButtonItemColors is used. + + + + + Gets the reference to collection of Office2007RibbonTabItemColorTable objects the describe colors used by a ribbon tab with Office 2007 style. + The collection by default has elements that are created to + represents the members of eRibbonTabColor enumeration. The name of each color table object is the same as the string + enum representation. You can add custom members to this collection or modify the existing ones. Note that you must specify the + unique name for the new color table elements. Name specified there can be used in RibbonTabItem.CustomColorName property to specify + custom color table for an ButtonItem. + + + + + Gets the reference to collection of Office2007RibbonTabGroupColorTableCollection objects the describe colors used by a ribbon tab groups with Office 2007 style. + The collection by default has elements that are created to + represents the members of eRibbonTabGroupColor enumeration. The name of each color table object is the same as the string + enum representation. You can add custom members to this collection or modify the existing ones. Note that you must specify the + unique name for the new color table elements. + + + + + Returns the color scheme table was initialized with. + + + + + Get the reference to the collection that holds system cached styles. In most cases there is no need for you to modify members of this collection. + + + + + Gets or sets whether images like Start button image, are cloned when painted. This is reduces the performance but is necessary if they can be accessed from multiple threads. + + + + + Gets the reference to collection of contextual color tables that are based on items Control container type and other context properties. + When contextual color table is defined it overrides the default color table. + + + + + Initializes a new instance of the Office2010ColorTable class. + + + + + Gets the color scheme color table is initialized with. + + + + + Defines the color scheme type for the Office2010ColorTable. + + + + + Silver color scheme. + + + + + Blue color scheme. + + + + + Black color scheme. + + + + + Visual Studio 2010 Blue color scheme. + + + + + Specifies colors for StepIndicator control. + + + + + Initializes a new instance of the StepIndicatorColorTable class. + + + + + Initializes a new instance of the StepIndicatorColorTable class. + + + + + + + Gets or sets Background color of the control. + + + + + Gets or sets indicator color. + + + + + Defines the color table for SuperTab states + + + + + Event raised when the SuperTabColorTable is changed + + + + + Gets or sets the Background color + + + + + Gets or sets the colors for the outer border. + + + + + Gets or sets the colors for the inner border. + + + + + Gets or sets the ControlBoxDefault colors + + + + + Gets or sets the ControlBoxMouseOver colors + + + + + Gets or sets the ControlBoxPressed colors + + + + + Gets or sets the colors for the InsertMarker. + + + + + Gets or sets the color for the SelectionMarker. + + + + + Gets whether the ColorTable is empty. + + + + + Defines the colors for the SuperTabControlBox states + + + + + Event raised when the SuperTabControlBoxStateColorTable is changed + + + + + Gets or sets the colors for the background. + + + + + Gets or sets the colors for the border. + + + + + Gets or sets the colors for the drawn image. + + + + + Defines the color table for SuperTabItem states + + + + + Event raised when the SuperTabItemColorTable is changed + + + + + Gets or sets the Default tab color settings + + + + + Gets or sets the Left Aligned tab color settings + + + + + Gets or sets the Bottom Aligned tab color settings + + + + + Gets or sets the Right Aligned tab color settings + + + + + Event raised when the SuperTabColorStates is changed + + + + + Gets or sets the tab colors when the tab is not selected, and the mouse is not over it + + + + + Gets or sets the tab colors when the tab is selected, but the mouse is not over the it + + + + + Gets or sets the tab colors when the tab is not selected, but the mouse is over it + + + + + Gets or sets the tab colors when the tab is selected, and the mouse is over it + + + + + Gets or sets the tab colors when the tab + is disabled, is not selected, and the mouse is not over it + + + + + Defines the colors for the SuperTabItem states + + + + + Event raised when the SuperTabItemStateColorTable is changed + + + + + Gets or sets the background colors. + + + + + Gets or sets the outer border color. + + + + + Gets or sets the inner border color. + + + + + Gets or sets the text color. + + + + + Gets or sets the Close Marker color. + + + + + Gets or sets the Selection Marker color. + + + + + Event raised when the SuperTabLinearGradientColorTable is changed + + + + + Gets or sets the Gradient Colors + + + + + Gets or sets the Gradient Color Positions + + + + + Gets or sets the Gradient angle + + + + + Gets or sets whether the Gradient will adapt to changes in the TabAlignment + + + + + Gets whether color definition is empty + + + + + Defines the colors for the SuperTabPanel + + + + + Event raised when the SuperTabPanelColorTable is changed + + + + + Gets or sets the Default tab panel color settings + + + + + Gets or sets the Left Aligned tab panel color settings + + + + + Gets or sets the Bottom Aligned tab panel color settings + + + + + Gets or sets the Right Aligned tab panel color settings + + + + + Event raised when the SuperTabPanelItemColorTable is changed + + + + + Gets or sets the background colors. + + + + + Gets or sets the colors for the outer border. + + + + + Gets or sets the colors for the inner border. + + + + + GetOffice2010BackstageColorTable + + Office2010BackstageColorTable + + + + GetOffice2010BackstageBlueColorTable + + + + Office2010BackstageBlueColorTable + + + + GetVS2010BackstageBlueColorTable + + + + Office2010BackstageBlueColorTable + + + + GetOffice2010BackstageBlackColorTable + + + + Office2010BackstageBlackColorTable + + + + GetOffice2010BackstageSilverColorTable + + + + Office2010BackstageSilverColorTable + + + + GetOffice2007BackstageVistaGlassColorTable + + + + Office2010BackstageVistaGlassColorTable + + + + GetOffice2010BackstageSilverColorTable + + + + Office2010BackstageSilverColorTable + + + + GetOffice2010BackstageItemColorTable + + Office2010BackstageItemColorTable + + + + GetOffice2010BackstageBlueItemColorTable + + + + Office2010BackstageBlueItemColorTable + + + + GetOffice2010BackstageBlackItemColorTable + + + + Office2010BackstageBlackItemColorTable + + + + GetOffice2010BackstageSilverItemColorTable + + + + Office2010BackstageSilverItemColorTable + + + + GetOffice2007BackstageVistaGlassItemColorTable + + + + Office2010BackstageVistaGlassItemColorTable + + + + GetOffice2010BackstageSilverItemColorTable + + + + + Office2010BackstageSilverItemColorTable + + + + GetOffice2010BackstagePanelColorTable + + Office2010BackstagePanelColorTable + + + + GetOffice2010BackstageBluePanelColorTable + + + + Office2010BackstageBluePanelColorTable + + + + GetOffice2010BackstageBlackPanelColorTable + + + + Office2010BackstageBlackPanelColorTable + + + + GetOffice2010BackstageSilverPanelColorTable + + + + Office2010BackstageSilverPanelColorTable + + + + GetOffice2007BackstageVistaGlassPanelColorTable + + + + Office2010BackstageVistaGlassPanelColorTable + + + + GetOffice2010BackstageSilverPanelColorTable + + + + Office2010BackstageSilverPanelColorTable + + + + Defines color table for the SwitchButton control. + + + + + Gets or set the text/caption color. + + + + + Gets or sets the OFF text color. + + + + + Gets or sets the ON text color. + + + + + Gets or sets the button border color. + + + + + Gets or sets background color of OFF switch part. + + + + + Gets or sets background color of ON switch part. + + + + + Gets or sets the switch border color. + + + + + Gets or sets the switch background color. + + + + + Gets or sets the switch background color when in ON state, i.e. Value=true. When set to Color.Empty SwitchBackColor is always used. + + + + + Gets default disabled color scheme for the switch button. + + + + + Gets or sets default Switch Button color table. + + + + + Gets or sets the disabled Switch Button color table. + + + + + Represents the Windows 7 blue style color initialization class. + + + + + Represents color table for Windows 7 style. + + + + + Initializes a new instance of the Office2010ColorTable class. + + + + + Defines the color scheme type for the Office2010ColorTable. + + + + + Blue color scheme. + + + + + Provides information about the binding for the item. + + + + + Initializes a new instance of the ItemBindingInfo class. + + + + + + + Gets or sets the data row item is bound to. + + + + + Gets or sets the data item index. + + + + + Gets or sets the additional data connected to this binding information. + + + + + Represents the slider item which allows you to select a value from predefined range. + + + + + Creates new instance of SliderItem. + + + + + Creates new instance of SliderItem and assigns the name to it. + + Item name. + + + + Creates new instance of SliderItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the SliderItem specific properties to new instance of the item. + + New SliderItem instance. + + + + Copies the SliderItem specific properties to new instance of the item. + + New SliderItem instance. + + + + Raises ValueChanging event. + + Provides event arguments. + + + + Raises ValueChanged event. + + Provides event arguments. + + + + Raises GetRangeTooltipText event. + + Provides event arguments. + + + + Gets the range part that is under specified client location. + + Location in parent control client coordinates. + Range part at specified location. + + + + Called when Minimum property has changed. + + Old property value + New property value + + + + Called when Maximum property has changed. + + Old property value + New property value + + + + Sets the range value. + + New Range value. + Source of the value change. + + + + Called when Value property has changed. + + Old property value + New property value + + + + Called when TicksVisible property has changed. + + Old property value + New property value + + + + Called when TicksStep property has changed. + + Old property value + New property value + + + + Called when RangeButtonSize property has changed. + + Old property value + New property value + + + + Called when TicksPosition property has changed. + + Old property value + New property value + + + + Called when MinimumAbsoluteRange property has changed. + + Old property value + New property value + + + + Called when RangeTooltipFormat property has changed. + + Old property value + New property value + + + + Called when MinRangeSliderImage property has changed. + + Old property value + New property value + + + + Called when MaxRangeSliderImage property has changed. + + Old property value + New property value + + + + Called when RangeLineHeight property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs before Value has changed and allow the cancellation of the change. + + + + + Occurs after Value property has changed + + + + + Gets mouse over part. + + + + + Gets current part that is pressed using mouse left button. + + + + + Occurs when control is about to display the range tooltip and it allows you to customize tooltip + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the range displayed by the control. + + + + + Indicates whether tick lines are shown + + + + + Gets tick marks bounds. + + + + + Gets tick marks bounds for second marker is visible. + + + + + Gets bounds of minimum range sliding button. + + + + + Gets bounds of maximum range sliding button. + + + + + Indicates tick display period + + + + + Gets or sets the slider orientation. Default value is horizontal. + + + + + Gets or sets the width of the range slider in pixels. Value must be greater than 0. Default value is 140. + + + + + Gets or sets the Height of the range slider in pixels. Value must be greater than 0. Default value is 24. + + + + + Indicates the size of the range change buttons. + + + + + Specifies the ticks position inside of Range Slider. + + + + + Specifies minimum absolute range that user can select. Absolute range is defined as Abs(Value.Max-Value.Min) Applies to user performed selection through mouse only. + + + + + Gets or sets the string that is used to format the range value to be displayed while user moves the range buttons. Value set here is used in string.Format(RangeTooltipFormat, Value.Min, Value.Max). + + + + + Specifies whether range tooltip is shown while user is changing the range + + + + + Indicates image to be used as minimum range slider button instead of built-in button. Image is scaled to size set by RangeButtonSize. + + + + + Indicates image to be used as maximum range slider button instead of built-in button. Image is scaled to size set by RangeButtonSize. + + + + + Specifies the height of the range line + + + + + Indicates whether clicking the area outside of the range change buttons moves the range change button to the clicked location if possible thus allowing range change. + + + + + Gets or sets the color of the range value. + + + + + Specifies the ticks position inside of Range Slider. + + + + + Ticks are displayed on top of range sliders. + + + + + Ticks are displayed on bottom of range sliders. + + + + + Ticks are displayed on top and bottom of range sliders. + + + + + Defines value for the range slider controls. + + + + + Gets or sets the range minimum value. + + + + + Gets or sets the range maximum value. + + + + + Provides data for the Slider item rendering events. + + + + + Gets or sets the reference to the item being rendered. + + + + + Gets or sets the reference to graphics object. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the Range Slider item being rendered. + Reference to the graphics object. + + + + Defines delegate for RangeSliderValueChanging event. + + + + + + + Provides information for RangeSliderValueChanging event. + + + + + Represents event arguments that provide information on source of action. + + + + + Gets the source of the event. + + + + + Initializes a new instance of the EventSourceArgs class. + + + + + + New range value. + + + + + Set to true to cancel the value changing. + + + + + Initializes a new instance of the RangeSliderValueChangingEventArgs class. + + + + + + Defines the slider item parts. + + + + + Indicates no part. + + + + + Indicates the minimum range slider button. + + + + + Indicates the maximum range slider button. + + + + + Indicates the track area part of the control. + + + + + Defines delegate for RangeSliderValueChanging event. + + + + + + + Provides information for GetRangeTooltip event. + + + + + Gets or sets the tooltip to display. + + + + + Initializes a new instance of the RangeTooltipEventArgs class. + + + + + + Color definition class + + + + + Constructor - solid def + + RGB value + + + + Constructor - solid def + + Color + + + + Constructor - 2 color def + + Start Color + End Color + + + + Constructor - 2 color def + + Start Color + End Color + Gradient angle + + + + Constructor - Gradient def + + Array of RGB values + Gradient positions + + + + Constructor - Gradient def + + Array of Color values + Gradient positions + + + + Constructor - Gradient def + + Array of RGB values + Gradient positions + Gradient angle + + + + Constructor - Gradient def + + Array of Color values + Gradient positions + Gradient angle + + + + OnColorDefChanged + + + + + Event raised when the SuperTabColorStates is changed + + + + + Gets or sets the Color array + + + + + Gets or sets the Color Positions + + + + + Gets or sets the Gradient Angle + + + + + IsEmpty + + + + + ColorDefConvertor + + + + + Represents the visual separator line that is displayed between items. + + + + + Creates new instance of Separator. + + + + + Creates new instance of Separator and assigns the name to it. + + Item name. + + + + Returns copy of the item. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets or sets separator padding. + + + + + Gets or sets the size of separator. Size specified is for separator in Vertical orientation. If orientation changes then the size will be internally switched to respect proper orientation. + + + + + Indicates splitter orientation. + + + + + Gets or sets the separator color. + + + + + Gets or sets the separator shade color. + + + + + Defines an item that allows the toolbar customization. + + + + + Creates new instance of CustomizeItem object. + + + + + Returns copy of CustomizeItem item + + + + + Called when item container has changed. If you override this method you must call the base implementation to allow default processing to occur. + + Previous container of the item. + + + + Occurs when tooltip is about to be shown or hidden. + + Specifies whether tooltip is shown or hidden. + + + + Loads the resources (text) used by this item. + + + + + Overriden. Draws the item. + + Target Graphics object. + + + + Sets the custom system tooltip text for the item. + + Tooltip text. + + + + Overriden. Recalculates the size of the item. + + + + + Gets localized tooltip text for this instance of the item. + + Tooltip text. + + + + Called when mouse hovers over the customize item. + + + + + Forces the repaint the item. + + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Overloaded. Serializes the item and all sub-items into the XmlElement. + + XmlElement to serialize the item to. + + + + Overloaded. Deserializes the Item from the XmlElement. + + Source XmlElement. + + + + Gets whether the mouse is over the item. + + + + + Gets or sets a value indicating whether the item is visible. + + + + + Gets or sets whether Customize menu item is visible. + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Gets or sets whether item can be customized by end user. + + + + + Gets or sets whether item is global or not. + This flag is used to propagate property changes to all items with the same name. + Setting for example Visible property on the item that has GlobalItem set to true will + set visible property to the same value on all items with the same name. + + + + + Represents base class for the CalendarMonth and MultiMonthCalendar controls. This class is used internally by DotNetBar and is not intended for public use. + + + + + Initializes a new instance of the MultiMonthCalendar class. + + + + + Must be overridden by class that is inheriting to provide the painting for the item. + + + + + Paints background of the item. + + Provides painting arguments + + + + Returns copy of the item. + + + + + Copies the CalendarMonth specific properties to new instance of the item. + + New ButtonItem instance. + + + + Specifies the container background style. Default value is an empty style which means that container does not display any background. + BeginGroup property set to true will override this style on some styles. + + + + + Returns name of the item that can be used to identify item from the code. + + + + + Gets or sets the accessible role of the item. + + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Gets or sets whether item can be customized by end user. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Specifies the mouse cursor displayed when mouse is over the item. + + + + + Gets or sets item description. This description is displayed in + Customize dialog to describe the item function in an application. + + + + + Gets or sets whether item is global or not. + This flag is used to propagate property changes to all items with the same name. + Setting for example Visible property on the item that has GlobalItem set to true will + set visible property to the same value on all items with the same name. + + + + + Gets or sets item alignment inside the container. + + + + + Gets or sets the collection of shortcut keys associated with the item. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets/Sets informational text (tooltip) for the item. + + + + + Gets or sets the text associated with this item. + + + + + Defines the visual marking applied to dates through month calendar control. + + + + + Initializes a new instance of the DateAppearanceDescription class. + + + + + Initializes a new instance of the DateAppearanceDescription class. + + + + + + Applies all settings from this object to specified object. + + Reference to object. + + + Gets whether property should be serialized. Provided for WinForms designer support. + + + Resets property to its default value. Provided for WinForms designer support. + + + Gets whether property should be serialized. Provided for WinForms designer support. + + + Resets property to its default value. Provided for WinForms designer support. + + + Gets whether property should be serialized. Provided for WinForms designer support. + + + Resets property to its default value. Provided for WinForms designer support. + + + Gets whether property should be serialized. Provided for WinForms designer support. + + + Resets property to its default value. Provided for WinForms designer support. + + + + Gets or sets whether text is drawn using bold font. + + + + + Gets or sets the background color for the marked day. + + + + + Gets or sets the background target gradient color for the marked date. + + + + + Gets or sets the background gradient fill angle. Default value is 90. + + + + + Gets or sets the text color for the marked date. + + + + + Gets whether any of the appearance values have been changed. + + + + + Gets or sets the border color. + + + + + Gets or sets whether day marked is selectable by end user. Default value is true. + + + + + Reverts the input to the last stored value. + + + + + Called when input field is full, i.e. it has an complete entry. If auto-overwrite is enabled the continued typing after input is complete + will erase the existing entry and start new one. + + + + + Resets the input position so the new input overwrites current value. + + + + + Occurs when input on the control has changed. + + + + + Occurs when validation of the input is performed and it allows you to deny the input. + + + + + Occurs when IsEmpty property has changed. + + + + + Gets whether watermark will be drawn in current control state. + + + + + Gets or sets whether control is empty. + + + + + Gets or sets whether auto-overwrite functionality for input is enabled. When in auto-overwrite mode input field will erase existing entry + and start new one if typing is continued after InputComplete method is called. + + + + + Gets or sets the watermark text displayed on the input control when control is empty. + + + + + Gets or sets whether watermark text is displayed if set. Default value is true. + + + + + Gets or sets whether input item is read-only. + + + + + Gets or sets whether control allows empty input state i.e. does not have an text entered. Default value is true. + + + + + Raises SelectedIndexChanged event + + + + + Occurs when SelectedIndex property has changed. + + + + + Gets or sets the text that is selected by the control. + + + + + Gets or sets the currently selected index. -1 is returned if nothing is selected. + + + + + Gets or sets custom AM text used. + + + + + Gets or sets custom PM text used. + + + + + Represents a control that enables the user to select a date using a visual monthly calendar display. + + + + + Initializes a new instance of the MonthCalendarAdv class. + + + + + Returns the DayLabel at given client coordinates or null/nothing if there is no label at give location. + + X - position in client coordinates. + Y - position in client coordinates. + DayLabel at given coordinates or null/nothing. + + + + Returns the DayLabel that represents the date. + + Date to find label for. + DayLabel object or nothing if date cannot be founds. + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all monthly marked dates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the date from the MonthlyMarkedDates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all weekly marked dates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the day from the WeeklyMarkedDays. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all annually marked dates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the date from the AnnuallyMarkedDates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all marked dates set through MarkedDates property. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the date from the MarkedDates collection. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Repaints the marked dates to reflect the dates set in the lists of marked dates. + Use this method to reflect the changes made to the AnnuallyMarkedDates, MonthlyMarkedDates or MarkedDates properties as well + as change to the marked Colors properties. + + + + + Raises the DateChanged event. + + Provides event data. + + + + Raises the DateSelected event. + + Provides event data. + + + + Raises the MonthChanged event. + + Provides additional event data. + + + + Raises the MonthChanging event. + + Provides additional event data. + + + + Raises the PaintLabel event. + + Provides event data. + + + + Raises the LabelMouseDown event. + + Provides event data. + + + + Raises the LabelMouseUp event. + + Provides event data. + + + + Raises the LabelMouseEnter event. + + Provides event data. + + + + Raises the LabelMouseLeave event. + + Provides event data. + + + + Raises the LabelMouseMove event. + + Provides event data. + + + + Raises the LabelMouseHover event. + + Provides event data. + + + + Gets whether property should be serialized. Provided for designer support. + + + + + + Reset property to default value. Provided for designer support. + + + + + Gets whether property should be serialized. Provided for designer support. + + + + + + Reset property to default value. Provided for designer support. + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MinDate property to its default value. + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MaxDate property to its default value. + + + + + Resets property to its default value. Provided for design-time support. + + + + + Gets whether property should be serialized. Provided for design-time support. + + + + + Sets the number of columns and rows of months to display. + + The number of columns. + The number of rows. + ArgumentOutOfRangeException will be raised if any value is less than zero or one value is grater than zero and other is zero. + + + + Returns whether property should be serialized by Windows Forms designer. + + + + + Sets the selected dates in a month calendar control to the specified date range. + + The beginning date of the selection range. + The end date of the selection range. + startDate is less than the minimum date allowable for a month calendar control.
+ -or-
+ startDate is greater than the maximum allowable date for a month calendar control.
+ -or-
+ endDate is less than the minimum date allowable for a month calendar control.
+ -or- endDate is greater than the maximum allowable date for a month calendar control.
+
+ + If the startDate value is greater than endDate property value, the dates are swapped; the endDate value becomes the starting date, and startDate value becomes the end date. + +
+ + + Invalidates control auto-size and resizes the control if AutoSize is set to true. + + + + + Occurs when month displayed by the item has changed. + + + + + Occurs before the month that is displayed is changed. + + + + + Occurs when child label representing days is rendered and it allows you to override default rendering. + + + + + Occurs when mouse button is pressed over the day/week label inside of the calendar. + + + + + Occurs when mouse button is released over day/week label inside of the calendar. + + + + + Occurs when mouse enters the day/week label inside of the calendar. + + + + + Occurs when mouse leaves the day/week label inside of the calendar. + + + + + Occurs when mouse moves over the day/week label inside of the calendar. + + + + + Occurs when mouse remains still inside an day/week label of the calendar for an amount of time. + + + + + Occurs when SelectedDate property has changed. + + + + + Occurs when the user makes an explicit date selection using the mouse. + + + This event is similar to the DateChanged event, but it occurs at the end of a date selection made using the mouse. + The DateChanged event occurs during any date selection, whether by mouse, keyboard, or code. You should handle this event + when you enable multiple date selection through MultiSelect property and want to be notified after the date selection has been + made. DateChanged event would fire each time selection changes during the selection of multiple dates. + + + + + Gets or sets the array of DateTime objects that determine which monthly days to mark using Colors.MonthlyMarker settings. + Make sure to call UpdateMarkedDates() method to update calendar display with marked dates. + + + + + Gets or sets the array of DayOfWeek members that determine which days of week to mark using Colors.WeeklyMarker settings. + + + + + Gets or sets the array of DateTime objects that determines which annual days are marked using Colors.AnnualMarker settings. + Make sure to call UpdateMarkedDates() method to update calendar display with marked dates. + + + + + Gets or sets the array of DateTime objects that determines which non-recurring dates are marked using Colors.DayMarker settings. + Make sure to call UpdateMarkedDates() method to update calendar display with marked dates. + + + + + Gets or sets the first month displayed by the control. + + + + + Gets number of months displayed on the control. + + + + + Gets the calendar colors used by the control. + + + + + Gets or sets the size of each day item on the calendar. Default value is 24, 15. + + + + + Gets or sets the size of date navigation buttons on the calendar. Default value is 13, 18. If you increase size of the navigation + buttons change DaySize as well so everything fits. + + + + + Gets or sets the minimum date and time that can be selected in the control. + + + + + Gets or sets the maximum date and time that can be selected in the control. + + + + + Specifies the commands container background style. Commands container displays Today and Clear buttons if they are visible. + + + + + Specifies the navigation container background style. Navigation container displays month, year and optional buttons. Default value is an empty style which means that container does not display any background. + BeginGroup property set to true will override this style on some styles. + + + + + Gets or sets the number of columns and rows of months displayed on control. Default value is 0,0 which indicates that + calendar will display as many columns and rows as it is possible to fit into container space available. + + + + + Gets or sets whether weekend days can be selected. Default value is true. + + + + + Gets or sets the rule used to determine first week of the year for week of year display on calendar. Default value is first-day. + + + + + Gets or sets the value that is used by calendar as today's date. + + + + + Gets a value indicating whether the TodayDate property has been explicitly set. + + + + + Gets or sets whether today marker that indicates TodayDate is visible on the calendar. Default value is true. + + + + + Gets or sets whether week of year is visible. Default value is false. + + + + + Gets or sets the array of custom names for days displayed on calendar header. The array must have exactly 7 elements representing day names from 0 to 6. + + + + + Gets or sets the first day of week displayed on the calendar. Default value is Sunday. + + + + + Gets or sets whether control uses the two letter day names. Default value is true. + + + + + Gets or sets the calendar selected date. Note that SelectedDate property should be used only when MultiSelect property is set to false. + When multiple dates can be selected use range selection properties: SelectionStart, SelectionEnd and SelectionRange. + + + + + Gets or sets whether selection of multiple dates up to the MaxSelectionCount is enabled. Default value is false which indicates that only + single day can be selected. + + + + + Gets the reference to the bottom container that parents the Today, and Clear system buttons. + + + + + Gets or sets whether Today button displayed at the bottom of the calendar is visible. Default value is false. + + + + + Gets or sets whether Clear button displayed at the bottom of the calendar is visible. Clear button clears the currently selected date. Default value is false. + + + + + Gets or sets the maximum number of days that can be selected in a month calendar control. + + + + + Gets or sets the start date of the selected range of dates. + + + + + Gets or sets the end date of the selected range of dates. + + + + + Gets or sets the selected range of dates for a month calendar control. + + Setting this property is functionally equivalent to using the SetSelectionRange method. You can set the start and end dates separately by setting either the SelectionStart or SelectionEnd properties. You cannot change the start and end dates by setting the SelectionRange.Start or SelectionRange.End property values of the SelectionRange property. You should use SelectionStart, SelectionEnd, or SetSelectionRange. + If the Start property value of the SelectionRange is greater than its End property value, the dates are swapped; the End property value becomes the starting date, and Start property value becomes the end date. + + + + + Gets or sets whether Year/Century selection is enabled when calendar is displaying single month. + + + + + Indicates whether month selector which is displayed when month label is clicked is using abbreviated month names instead of month number. + + + + + Indicates whether calendar is used in month selection mode which shows only month and year. + + + + + Gets or sets a value indicating whether the control is automatically resized to display its entire contents. You can set MaximumSize.Width property to set the maximum width used by the control. + + + + + Represents the container that presents single calendar month. + + + + + Initializes a new instance of the CalendarMonth class. + + + + + Called when MonthSelectionMode property has changed. + + Old property value + New property value + + + + Must be overridden by class that is inheriting to provide the painting for the item. + + + + + Returns copy of the item. + + + + + Copies the CalendarMonth specific properties to new instance of the item. + + New ButtonItem instance. + + + + Raises the MonthChanged event. + + Provides additional event data. + + + + Raises the MonthChanging event. + + Provides additional event data. + + + + Gets whether property should be serialized. Provided for designer support. + + + + + + Reset property to default value. Provided for designer support. + + + + + Gets whether property should be serialized. Provided for designer support. + + + + + + Reset property to default value. Provided for designer support. + + + + + Raises the PaintLabel event. + + Provides event data. + + + + Raises the DateChanged event. + + Provides event data. + + + + Gets the DayLabel item assigned to the given date. Returns null if there is no label displayed for the date. + + Date to return label for. + DayLabel instance or null if date is not displayed on this calendar. + + + + Occurs when sub item expanded state has changed. + + Sub item affected. + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MinDate property to its default value. + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MaxDate property to its default value. + + + + + Called when DayClickAutoClosePopup property has changed. + + Old property value + New property value + + + + Occurs when month displayed by the item has changed. + + + + + Occurs before the month that is displayed is changed. + + + + + Occurs when child label representing days is rendered and it allows you to override default rendering. + + + + + Occurs when mouse button is pressed over the day/week label inside of the calendar. + + + + + Occurs when mouse button is released over day/week label inside of the calendar. + + + + + Occurs when mouse enters the day/week label inside of the calendar. + + + + + Occurs when mouse leaves the day/week label inside of the calendar. + + + + + Occurs when mouse moves over the day/week label inside of the calendar. + + + + + Occurs when mouse remains still inside an day/week label of the calendar for an amount of time. + + + + + Occurs when SelectedDate property has changed. + + + + + Indicates whether calendar is used in month selection mode which shows only month and year. + + + + + Gets or sets whether Year/Century selection is enabled. + + + + + Indicates whether month selector which is displayed when month label is clicked is using abbreviated month names instead of month number. + + + + + Gets or sets the first day of week displayed on the calendar. Default value is Sunday. + + + + + Gets or sets whether trailing days outside of the current displayed month are visible on calendar. + + + + + Gets or sets whether week of year is visible. Default value is false. + + + + + Gets or sets the rule used to determine first week of the year for week of year display on calendar. Default value is first-day. + + + + + Returns the collection of sub items. + + + + + Gets or sets the size of each day item on the calendar. Default value is 24, 15. + + + + + Gets or sets the size of date navigation buttons on the calendar. Default value is 13, 18. If you increase size of the navigation + buttons change DaySize as well so everything fits. + + + + + Gets the calendar colors used by the control. + + + + + Gets or sets whether multiple days can be selected by clicking each day. Default value is false. + + + + + Gets or sets whether selection of dates using mouse is enabled. Default value is true. + + + + + Gets or sets the calendar selected date. + + + + + Gets or sets whether weekend days can be selected. Default value is true. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets default text alignment for the DayLabel items representing calendar days. + + + + + Gets or sets whether control uses the two letter day names. Default value is true. + + + + + Gets or sets the array of custom names for days displayed on calendar header. The array must have exactly 7 elements representing day names from 0 to 6. + + + + + Gets or sets whether header navigation buttons for month and year are visible. Default value is true. + + + + + Specifies the navigation container background style. Navigation container displays month, year and optional buttons. Default value is an empty style which means that container does not display any background. + BeginGroup property set to true will override this style on some styles. + + + + + Gets or sets whether today marker that indicates TodayDate is visible on the calendar. Default value is true. + + + + + Gets or sets the value that is used by calendar as today's date. + + + + + Gets a value indicating whether the TodayDate property has been explicitly set. + + + + + Gets or sets the minimum date and time that can be selected in the control. + + + + + Gets or sets the maximum date and time that can be selected in the control. + + + + + Gets or sets whether clicking the day closes the parent popup if item is on popup. + + + + + Initializes a new instance of the YearSelectoControl class. + + + + + Initializes a new instance of the CenturySelectorControl class. + + + + + Initializes a new instance of the YearSelectorContainer class. + + + + + Raises SelectedYearChanged event. + + Provides event arguments. + + + + Initializes a new instance of the YearSelectorContainer class. + + + + + Raises SelectedYearChanged event. + + Provides event arguments. + + + + Initializes a new instance of the CenturySelectorControl class. + + + + + Initializes a new instance of the YearSelectorContainer class. + + + + + Raises SelectedYearChanged event. + + Provides event arguments. + + + + Defines the MonthCalendar and SingleMonthCalendar colors for customization. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + Gets whether property should be serialized. Provided for WinForms designer support. + + + Resets property to its default value. Provided for WinForms designer support. + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Gets the appearance settings for the todays date. + + + + + Gets the appearance settings for selected days. + + + + + Gets the appearance settings for the trailing days on calendar. + + + + + Gets or sets the appearance settings for the labels that show week of year number. + + + + + Gets or sets the days divider line color. + + + + + Gets the appearance settings for the numeric day of month label. + + + + + Gets the appearance settings for the weekend days on calendar (Saturday and Sunday). + + + + + Gets the appearance settings for the trailing weekend days on calendar (Saturday and Sunday). + + + + + Gets the appearance settings for the labels that display day name in calendar header. + + + + + Gets or sets the marker settings for days specified by MonthCalendarItem.MonthlyMarkedDates property. + + + + + Gets or sets the marker settings for days specified by MonthCalendarItem.AnnuallyMarkedDates property. + + + + + Gets or sets the marker settings for days specified by MonthCalendarItem.MarkedDates property. + + + + + Gets or sets the marker settings for days specified by MonthCalendarItem.WeeklyMarkedDays property. + + + + + Gets the minimum date value of the DateTimePicker control. + + + + + Specifies the maximum date value of the DateTimePicker control. This field is read-only. + + + + + Raises the ValueChanged event. + + + + + Occurs when Value or IsEmpty property has changed. + + + + + Gets or sets the date time. + + + + + Gets or sets the values of the nested DateTimeGroup items. + + + + + Gets or sets the minimum value represented by the group. + + + + + Gets or sets maximum value represented by the group. + + + + + Gets or sets whether input values are set to defaults while user is entering data. Default value is true. + + + + + Defines the date-time selector visibility for DateTimeInput control popup. + + + + + Depending on DateTimeInput.Format property setting either date or time selector is used. + + + + + Only date selector is visible. + + + + + Only time selector is visible on popup. + + + + + Both date and time selectors are visible. + + + + + Gets or sets the amount of padding added to text. + + + + + Gets or sets the text displayed by the label. + + + + + Defines an interface for the DateTime Part interaction. + + + + + Reverts to the last input value control held. + + + + + Gets or sets the date/time part value. + + + + + Gets or sets the minimum value for the date/time part entry. + + + + + Gets or sets the maximum value for the date/time part entry. + + + + + Gets the date time part control represents. + + + + + Gets or sets whether input part is empty. + + + + + Gets or sets the day in numeric format to display. Allowed values are from -1 to 6. -1 represents an empty state. + 0 represents Sunday and 6 Represents Saturday. + + + + + Gets or sets the array of custom names for days. The array must have exactly 7 elements representing day names from 0 to 6. + + + + + Gets or sets whether abbreviated day names are used for display instead of full day names. Default value is false. + + + + + Represents a label for the NumericHourInput control that shows whether time is AM or PM. + + + + + Gets or sets custom AM text used. + + + + + Gets or sets custom PM text used. + + + + + Gets or sets whether abbreviated month names are used for display instead of full month names. Default value is false. + + + + + Occurs when Value property has changed. + + + + + Gets or sets whether mouse wheel increases or decreases the input value when used. + + + + + Gets or sets whether control allows empty input state i.e. does not have an number entered. Default value is true. When control is empty + IsEmpty property returns true and control does not display number. Set to false to always force control to have number displayed. + + + + + Gets or sets the value to increment or decrement the value of the control when the up or down buttons are clicked. + + + + + Gets or sets the Numeric String Format that is used to format the numeric value entered for display purpose. + + + + + Initializes a new instance of the NumericDayInput class. + + + + + Initializes a new instance of the NumericDayOfYearInput class. + + + + + Initializes a new instance of the NumericHourInput class. + + + + + Initializes a new instance of the NumericMinuteInput class. + + + + + Initializes a new instance of the NumericMonthInput class. + + + + + Initializes a new instance of the NumericSecondInput class. + + + + + Initializes a new instance of the NumericYearInput class. + + + + + Gets or sets the year display format. Default value is four digit format. + + + + + Defines data for the ParseValue event that allows you to provide custom parsing for values set to ValueObject property. + + + + + Get the value that was set to the ValueObject property and which should be converted to ParsedValue DateTime. + + + + + Gets or sets whether you have provided ParsedValue. + + + + + Initializes a new instance of the ParseDateTimeValueEventArgs class. + + Indicates the value object. + + + + /// + Gets or sets the parsed value from ValueObject property. + + + + + + Defines delegate for ParseDateTimeValue event. + + + + + + + Initializes a new instance of the DayLabel class. + + + + + Raises the PaintLabel event. + + Provides event data. + + + + Returns copy of the item. + + + + + Copies the DayLabel specific properties to new instance of the item. + + New ButtonItem instance. + + + + Occurs when the mouse pointer enters the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer leaves the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is released. This is used by internal implementation only. + + + + Gets whether property should be serialized. Provided for WinForms designer support. + + + Resets property to its default value. Provided for WinForms designer support. + + + + Occurs when label is rendered and it allows you to override default rendering. + + + + + Gets or sets the date represented by this label. DateTime.MinValue indicates that label is either used as textual day representation + or the week number as specified by the IsWeekOfYear property. + + + + + Gets or sets whether this label is used as the label that displays the day name. + + + + + Gets or sets whether this label is used as the week of year label. + + + + + Gets whether the label for date represents the trailing date, i.e. date that is from next or previous month for the month displayed. + + + + + Gets or sets whether mouse is over the item. + + + + + Gets or sets whether left-mouse button is pressed over the item. + + + + + Specifies the item background style. Default value is an empty style which means that container does not display any background. + BeginGroup property set to true will override this style on some styles. + + + + + Gets or sets whether label appears as selected. + + + + + Gets or sets whether label provides visual indicator when mouse is over the label or pressed while over the label. Default value is true. + + + + + Gets or sets whether label is selectable. IsSelected property returns whether label is selected. Default value is true. + + + + + Gets or sets the label text color. Default value is an empty color. + + + + + Gets or sets whether text is drawn using Bold font. Default value is false. + + + + + Gets or sets the text alignment. + + + + + Gets or sets the image alignment. + + + + + Gets or sets the image displayed on the label. + + + + + Gets or sets whether flat Office 2007 style is used to render the item. Default value is false. + + + + + Gets or sets whether date represented by label is marked as todays date. + + + + + Gets or sets whether popup is displayed when mouse is pressed anywhere over the item. Default value is false which indicates + that popup is displayed only if image assigned to the item and mouse is pressed over image. + + + + + Indicates the alignment of the DayLabel part like text or image. + + + + + Provides data for DayLabel painting events. + + + + + Gets the graphics canvas for rendering. + + + + + Gets or sets which parts of the item will be drawn by the system. You can set this to None to completely disable system rendering. + + + + + Initializes a new instance of the DayPaintEventArgs class. + + Reference to Graphics canvas. + Reference to item being rendered. + + + + Renders the background of the item. + + + + + Renders the item text. + + + + + Renders the item text. + + + + + Renders the item text. + + + + + Renders the item text. + + + + + Renders the item text. + + + + + Renders items image. + + + + + Renders items image. + + + + + Defines delegate for DayLabel painting events. + + Source of the event. + Provides event data. + + + + Specifies the parts of DayLabel control. Members of this enum are intended to be used as flags (combined). + + + + + Specifies no part. + + + + + Specifies the label background. + + + + + Specifies the label text. + + + + + Specifies the label image. + + + + + Specifies all parts. + + + + + Indicates the hour format. + + + + + Indicates Ante Meridiem period, before the middle day. + + + + + Indicates Post Meridiem after the middle day". + + + + + Identifies the date time part. + + + + + Specifies the input fields alignment inside of the control. + + + + + Specifies the text alignment. + + + + + Specifies the format of the date time picker. + + + + + Indicates that custom format specified by CustomFormat property is used. + + + + + The DateTimePicker control displays the date/time value in the long date format set by the user's operating system. + + + + + The DateTimePicker control displays the date/time value in the short date format set by the user's operating system. + + + + + The DateTimePicker control displays the date/time value in the time format set by the user's operating system. + + + + + The DateTimePicker control displays the date/time value in the short time format set by the user's operating system. + + + + + Specifies the display format of the year in input control. + + + + + Specifies the visual item alignment inside the parent group. + + + + + Specifies the vertical alignment. + + + + + Describes the system button item type. System buttons are buttons created internally by controls. + + + + + Specifies the auto-change item when VisualUpDownButton control is clicked. + + + + + No item is automatically changed. + + + + + Auto-change focused item in parent group + + + + + Auto change first input item before the Up/Down button in parent group. + + + + + Specifies the keys used for navigation between input fields. + + + + + No key is used for the navigation. + + + + + Tab key is used to advance to the next input field. + + + + + Arrow keys are used to advance to the next input field. + + + + + Enter key is used to advance to the next input field. + + + + + Tab, Arrows and Enter keys are used to advance to the next input field. + + + + + Describes input button settings. + + + + + Initializes a new instance of the InputButtonSettings class. + + + + + Initializes a new instance of the InputButtonSettings class. + + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Copies properties to new instance of the item. + + New InputButtonSettings instance + + + + Gets or sets whether button is visible. + + + + + Gets or sets whether button is enabled. + + + + + Gets or sets the display position index of the button. Buttons are ordered from left to right with button with lowest index appearing as left-most button. + + + + + Gets or sets the image displayed on the face of the button. + + + + + Gets or sets the text displayed on the input button face. + + + + + Gets or sets the visual item button references for its action. + + + + + Gets or sets the shortcut key which when pressed triggers button click event or its default function. + + + + + Gets or sets tooltip displayed for the button when mouse hovers over it. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Gets or sets the color of the Symbol. + + + + + Defines the system colors used by the input controls. + + + + + Resets property to its default value. Provided for design-time support. + + + + + Returns whether property should be serialized. Provided for design-time support. + + + + + Resets property to its default value. Provided for design-time support. + + + + + Returns whether property should be serialized. Provided for design-time support. + + + + + Occurs when color has changed. + + + + + Gets or sets the background color of input item part when part has input focus. Default value is Color.Empty which indicates that system Highlight color is used. + + + + + Gets or sets the text color of input item part when part has input focus. Default value is Color.Empty which indicates that system HighlightText color is used. + + + + + Initializes a new instance of the InputValidationEventArgs class. + + Indicates current input. + + + + Defines delegate for input validation event. + + + + + + + Initializes a new instance of the VisualToggleButton class. + + + + + Raises the CheckedChanged event. + + + + + Occurs when Checked property has changed. + + + + + Gets or sets whether item is checked. + + + + + Gets whether left mouse button is pressed over the item. + + + + + Gets whether mouse is over the item. + + + + + Initializes a new instance of the LockUpdateCheckBox class. + + + + + Initializes a new instance of the MonthCalendarItem class. + + + + + Returns copy of the item. + + + + + Copies the CalendarMonth specific properties to new instance of the item. + + New ButtonItem instance. + + + + Copies the CalendarMonth specific properties to new instance of the item. + + New ButtonItem instance. + + + + Returns whether property should be serialized by Windows Forms desginer. + + + + + Sets the selected dates in a month calendar control to the specified date range. + + The beginning date of the selection range. + The end date of the selection range. + startDate is less than the minimum date allowable for a month calendar control.
+ -or-
+ startDate is greater than the maximum allowable date for a month calendar control.
+ -or-
+ endDate is less than the minimum date allowable for a month calendar control.
+ -or- endDate is greater than the maximum allowable date for a month calendar control.
+
+ + If the startDate value is greater than endDate property value, the dates are swapped; the endDate value becomes the starting date, and startDate value becomes the end date. + +
+ + + Applies current date selection to the control. You are usually not required to make calls to this method directly since it is automatically + done by the control when selection changes. This method returns immediately if MultiSelect + property is set to false or SelectionStart or SelectionEnd properties have DateTime.MinValue. + + + + + Returns the DayLabel at given client coordinates or null/nothing if there is no label at give location. + + X - position in client coordinates. + Y - position in client coordinates. + DayLabel at given coordinates or null/nothing. + + + + Returns the DayLabel that represents the date. + + Date to find label for. + DayLabel object or nothing if date cannot be founds. + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all monthly marked dates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the date from the MonthlyMarkedDates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all weekly marked days. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the date from the MonthlyMarkedDates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all annually marked dates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the date from the AnnuallyMarkedDates. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Returns whether property should be serialized. Provided for Windows Forms designer support. + + + + + Resets property to its default value. Provided for Windows Forms designer support. + + + + + Removes all marked dates set through MarkedDates property. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + Removes the date from the MarkedDates collection. Note that you must call UpdateMarkedDates method to reflect these changes on calendar. + + + + + + Repaints the marked dates to reflect the dates set in the lists of marked dates. + Use this method to reflect the changes made to the AnnuallyMarkedDates, MonthlyMarkedDates or MarkedDates properties as well + as change to the marked Colors properties. + + + + + Raises the MonthChanged event. + + Provides additional event data. + + + + Raises the MonthChanging event. + + Provides additional event data. + + + + Raises the PaintLabel event. + + Provides event data. + + + + Raises the LabelMouseDown event. + + Provides event data. + + + + Raises the LabelMouseUp event. + + Provides event data. + + + + Raises the LabelMouseEnter event. + + Provides event data. + + + + Raises the LabelMouseLeave event. + + Provides event data. + + + + Raises the LabelMouseMove event. + + Provides event data. + + + + Raises the LabelMouseHover event. + + Provides event data. + + + + Gets whether property should be serialized. Provided for designer support. + + + + + + Reset property to default value. Provided for designer support. + + + + + Gets whether property should be serialized. Provided for designer support. + + + + + + Reset property to default value. Provided for designer support. + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MinDate property to its default value. + + + + + Gets whether Value property should be serialized by Windows Forms designer. + + true if value serialized otherwise false. + + + + Reset the MaxDate property to its default value. + + + + + Resets property to its default value. Provided for design-time support. + + + + + Gets whether property should be serialized. Provided for design-time support. + + + + + Sets the number of columns and rows of months to display. + + The number of columns. + The number of rows. + ArgumentOutOfRangeException will be raised if any value is less than zero or one value is grater than zero and other is zero. + + + + Raises the DateChanged event. + + Provides event data. + + + + Raises the DateSelected event. + + Provides event data. + + + + Reloads the localized strings for Today and Clear buttons. + + + + + Called when DayClickAutoClosePopup property has changed. + + Old property value + New property value + + + + Occurs when month displayed by the item has changed. + + + + + Occurs before the month that is displayed is changed. + + + + + Occurs when child label representing days is rendered and it allows you to override default rendering. + + + + + Occurs when mouse button is pressed over the day/week label inside of the calendar. + + + + + Occurs when mouse button is released over day/week label inside of the calendar. + + + + + Occurs when mouse enters the day/week label inside of the calendar. + + + + + Occurs when mouse leaves the day/week label inside of the calendar. + + + + + Occurs when mouse moves over the day/week label inside of the calendar. + + + + + Occurs when mouse remains still inside an day/week label of the calendar for an amount of time. + + + + + Occurs when SelectedDate property has changed. + + + + + Occurs when the user makes an explicit date selection using the mouse. + + + This event is similar to the DateChanged event, but it occurs at the end of a date selection made using the mouse. + The DateChanged event occurs during any date selection, whether by mouse, keyboard, or code. You should handle this event + when you enable multiple date selection through MultiSelect property and want to be notified after the date selection has been + made. DateChanged event would fire each time selection changes during the selection of multiple dates. + + + + + Gets or sets the maximum number of days that can be selected in a month calendar control. + + + + + Gets or sets the start date of the selected range of dates. + + + + + Gets or sets the end date of the selected range of dates. + + + + + Gets or sets the selected range of dates for a month calendar control. + + Setting this property is functionally equivalent to using the SetSelectionRange method. You can set the start and end dates separately by setting either the SelectionStart or SelectionEnd properties. You cannot change the start and end dates by setting the SelectionRange.Start or SelectionRange.End property values of the SelectionRange property. You should use SelectionStart, SelectionEnd, or SetSelectionRange. + If the Start property value of the SelectionRange is greater than its End property value, the dates are swapped; the End property value becomes the starting date, and Start property value becomes the end date. + + + + + Gets or sets whether selection of multiple dates up to the MaxSelectionCount is enabled. Default value is false which indicates that only + single day can be selected. + + + + + Gets or sets the array of DateTime objects that determine which monthly days to mark using Colors.MonthlyMarker settings. + + + + + Gets or sets the array of DayOfWeek members that determine which days of week to mark using Colors.WeeklyMarker settings. + + + + + Gets or sets the array of DateTime objects that determines which annual days are marked using Colors.AnnualMarker settings. + + + + + Gets or sets the array of DateTime objects that determines which nonrecurring dates are marked using Colors.DayMarker settings. + + + + + Gets or sets the first month displayed by the control. + + + + + Gets number of months displayed on the control. + + + + + Gets the calendar colors used by the control. + + + + + Gets or sets the size of each day item on the calendar. Default value is 24, 15. + + + + + Gets or sets the size of date navigation buttons on the calendar. Default value is 13, 18. If you increase size of the navigation + buttons change DaySize as well so everything fits. + + + + + Gets or sets the minimum date and time that can be selected in the control. + + + + + Gets or sets the maximum date and time that can be selected in the control. + + + + + Specifies the commands container background style. Commands container displays Today and Clear buttons if they are visible. + + + + + Specifies the navigation container background style. Navigation container displays month, year and optional buttons. Default value is an empty style which means that container does not display any background. + BeginGroup property set to true will override this style on some styles. + + + + + Gets or sets the number of columns and rows of months displayed on control. Default value is 0,0 which indicates that + calendar will display as many columns and rows as it is possible to fit into container space available. + + + + + Gets or sets whether weekend days can be selected. Default value is true. + + + + + Gets or sets the rule used to determine first week of the year for week of year display on calendar. Default value is first-day. + + + + + Gets or sets the value that is used by calendar as today's date. + + + + + Gets a value indicating whether the TodayDate property has been explicitly set. + + + + + Gets or sets whether today marker that indicates TodayDate is visible on the calendar. Default value is true. + + + + + Gets or sets whether week of year is visible. Default value is false. + + + + + Gets or sets whether control uses the two letter day names. Default value is true. + + + + + Gets or sets the array of custom names for days displayed on calendar header. The array must have exactly 7 elements representing day names from 0 to 6. + + + + + Gets or sets the first day of week displayed on the calendar. Default value is Sunday. + + + + + Gets or sets the calendar selected date. Note that SelectedDate property should be used only when MultiSelect property is set to false. + When multiple dates can be selected use range selection properties: SelectionStart, SelectionEnd and SelectionRange. + + + + + Gets the reference to the bottom container that parents the Today, and Clear system buttons. + + + + + Gets reference to internal Today button on calendar. + + + + + Gets or sets whether Today button displayed at the bottom of the calendar is visible. Default value is false. + + + + + Gets or sets whether Clear button displayed at the bottom of the calendar is visible. Clear button clears the currently selected date. Default value is false. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets whether clicking the day closes the parent popup if item is on popup. + + + + + Gets or sets whether Year/Century selection is enabled when calendar is displaying single month. + + + + + Indicates whether month selector which is displayed when month label is clicked is using abbreviated month names instead of month number. + + + + + Indicates whether calendar is used in month selection mode which shows only month and year. + + + + + Gets or sets the size available for the item currently being arranged. + + + + + Gets or sets whether mouse is over the host control. + + + + + Gets or sets system colors used by the control. + + + + + Defines data for the ParseValue event that allows you to provide custom parsing for values set to ValueObject property. + + + + + Get the value that was set to the ValueObject property and which should be converted to ParsedValue DateTime. + + + + + Gets or sets whether you have provided ParsedValue. + + + + + Initializes a new instance of the ParseDateTimeValueEventArgs class. + + Indicates the value object. + + + + /// + Gets or sets the parsed value from ValueObject property. + + + + + + Defines delegate for ParseValue event. + + + + + + + Defines data for the ParseValue event that allows you to provide custom parsing for values set to ValueObject property. + + + + + Get the value that was set to the ValueObject property and which should be converted to ParsedValue DateTime. + + + + + Gets or sets whether you have provided ParsedValue. + + + + + Initializes a new instance of the ParseDateTimeValueEventArgs class. + + Indicates the value object. + + + + /// + Gets or sets the parsed value from ValueObject property. + + + + + + Defines delegate for ParseValue event. + + + + + + + Gets or sets whether button automatically gets Click events repeated when mouse is kept pressed on the button. Default value is false. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets whether default button background is rendered when mouse is not over the host control. Default value is true. + + + + + Gets or sets the shortcut key which when pressed triggers button click event or its default function. + + + + + Gets or sets the button tooltip. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Gets or sets the fixed button height. + + + + + Gets whether mouse is over the control. + + + + + Gets whether mouse is pressed on the control. + + + + + Gets or sets the text displayed on the face of the button. + + + + + Gets or sets the image displayed on the face of the button. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Gets or sets the color of the Symbol. + + + + + Raises DecreaseValue event. + + Provides event arguments. + + + + Raises IncreaseValue event. + + Provides event arguments. + + + + Defines data for ConvertFreeTextEntry event. + + + + + Gets the string value that was entered by the user. + + + + + Gets or sets the converted ValueEntered into the control's value type. For example for IpAddressInput the value set here + must be of string type and in IP address format. For IntegerInput control the value set here must be an int type. For DateTimeInput + control value set here must be DateTime type. + If you provide ControlValue set ValueConverted=true to indicate so. + + + + + Gets or sets whether ValueEntered has been converted to ControlValue. Set to true to indicate that you have performed conversion. + + + + + Defines delegate for ConvertFreeTextEntry event. + + Source of event. + Provides event data. + + + + Gets or sets the value to increment or decrement the value of the control when the up or down buttons are clicked. + + + + + Gets or sets the Numeric String Format that is used to format the numeric value entered for display purpose. + + + + + Specifies trigger types for the value changed events on editor controls. + + + + + ValueChanged event is fired as soon as user types in the value. + + + + + ValueChanged event is fired after control loses input focus. + + + + + ValueChanged event is fired after control loses input focus or user presses the Enter key. + + + + Creates new instance of the class. + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds array of new objects to the collection. + + Array of object to add. + + + + Adds array of new objects to the collection. + + Array of object to add. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the VisualItem array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Represents the up down button which allows change of the value in currently focused input control. + + + + + Initializes a new instance of the VisualUpDownButton class. + + + + + Raises the UpClick event. + + Provides event data. + + + + Raises the DownClick event. + + Provides event data. + + + + Occurs when Up part of the button has been clicked. + + + + + Occurs when Down part of the button has been clicked. + + + + + Gets or sets the image displayed on the face of the button. + + + + + Gets or sets the image displayed on the face of the button. + + + + + Gets or sets the default width of the buttons. + + + + + Gets or sets whether control automatically tries to increase/decrease the value of the item that has input focus in the same + parent group as the button. Default value is false. + + + + + Gets or sets the item that is automatically changed when buttons are pressed. + + + + + Statis functions for design-time support. + + + + + Summary description for DesignTimeDte. + + + + + Summary description for Display. + + + + + System item that displays the items that could not fit inside the container on popup menu or toolbar. + + + + + Create new instance of DisplayMoreItem object. + + + + + Returns copy of DisplayMoreItem item + + + + + Called when item container has changed. If you override this method you must call the base implementation to allow default processing to occur. + + Previous container of the item. + + + + Overridden. Draws the item. + + Target Graphics object. + + + + Overriden. Recalculates the size of the item. + + + + + Overridden. Displays the sub-items on popup. + + Popup location. + + + + Overridden. Displays the sub-items on popup. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Overridden. Displays the sub-items on popup toolbar. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Overridden. Displays the sub-items on popup menu. + + Horizontal coordinate in pixels of the upper left corner of a popup. + Vertical coordinate in pixels of the upper left corner of a popup. + + + + Overridden. Close the popup window if open. + + + + + Adds the items that are not visible to the overflow popup. + + + + + Returns the insertion index for the items removed from overflow popup. Assumes that right-most items are removed first by the layout manager. + + + + + + Removes the items from the overflow and adds them back to the parent item. + + + + + Forces the repaint the item. + + + + + Returns the fixed size of the item. + + + + + Get or sets whether item has been changed in a way that it needs its size recalculated. This is internal + property and it should not be used by your code. + + + + + Gets whether the mouse is over the item. + + + + + Represents panel that is hosted by DockContainerItem as docked control. + + + + + Represents graphical panel control with support for different visual styles and gradients. + + + + + Default constructor. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Applies color scheme colors to the style objects. + + + + + Sets the internal mouse down flag which controls appearance of the control. You can use this method to simulate the pressed state for the panel with appropriate StyleMouseDown assigned. + + New value for the mouse down flag. + + + + Sets the mouse over internal flag that tracks whether the mouse is over the control. You can use this method to simulate the mouse over appearance when appropriate StyleMouseOver style is set. + + New value for the mouse over flag. + + + + Indicates whether CanvasColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets CanvasColor to it's default value. Used by windows forms designer design-time support. + + + + + Resets the style to it's default value. + + + + + Resets the internal mouse tracking properties that track whether mouse is over the panel and whether is mouse pressed while over the panel. + + + + + Resets the style to it's default value. + + + + + Resets the style to it's default value. + + + + + Called when AntiAlias property has changed. + + + + + Called after either ColorScheme or ColorSchemeStyle has changed. If you override make sure that you call base implementation so default + processing can occur. + + + + + Returns the size of the panel calculated based on the text assigned. + + Calculated size of the panel or Size.Empty if panel size cannot be calculated. + + + + Returns the size of the panel calculated based on the text assigned. + + Calculated size of the panel or Size.Empty if panel size cannot be calculated. + + + + Updates the markup size to reflect current position of the scrollbars. You must call this method if you are scrolling control with markup using the AutoScrollPosition property. + + + + + Applies predefined Panel color scheme to the control. + + + + + Applies predefined Button color scheme to the control. + + + + + Applies predefined Label color scheme to the control. + + + + + Notifies a control that it is the default button so that its appearance and behavior is adjusted accordingly. + + true if the control should behave as a default button; otherwise false. + + + + Generates a Click event for the control. + + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Raises NonClientSizeChanged event. + + Provides event arguments. + + + + Raises ScrollBarValueChanged event. + + Provides event arguments. + + + + Raises NonClientSizeChanged event. + + Provides event arguments. + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets a value indicating whether right-to-left mirror placement is turned on. Default value is false. + + + + + Gets or sets Bar Color Scheme. Note that when ColorSchemeStyle property is set to Office 2007 style the color scheme is always retrived from the GlobalManager.Renderer and any\ + changes made on this property will not have any effect. + + + + + Gets or sets whether paint operations for the control are suspended. + + + + + Gets or sets whether Text supports and renders text markup. Default value is true. + + + + + Gets or sets the text displayed on panel. + + + + + Gets or sets whether focus rectangle is displayed when control has focus. + + + + + Gets or sets the canvas color for the panel. Canvas color will be visible on areas of the control that do not get covered + by the style and it will also be used as a base color for style to be painted on. + + + + + Gets or sets the panel style. + + + + + Gets or sets the panel style when mouse hovers over the panel. + + + + + Gets or sets the panel style when mouse button is pressed on the panel. + + + + + Gets or sets whether anti-alias smoothing is used while painting. + + + + + Gets or sets color scheme style. + + + + + Gets or sets a value indicating whether the container will allow the user to scroll to any controls placed outside of its visible boundaries. + + + + + Gets or sets whether text rectangle painted on panel is considering docked controls inside the panel. + + + + + Gets or sets the text rectangle. This property is set by internal implementation and it should not be set by outside code. + + + + + Gets or sets whether text markup if it occupies less space than control provides uses the Style Alignment and LineAlignment properties to align the markup inside of the control. Default value is false. + + + + + Returns reference to internal vertical scroll-bar control. + + + + + Returns reference to internal horizontal scroll-bar control. + + + + + Indicates whether panel uses themed DotNetBar scrollbars. Default value is true. + + + + + Gets or sets the scroll-bar visual style. + + + + + Gets or sets the value returned to the parent form when the button is clicked. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Specifies back color when Enabled=false + + + + + Creates new instance of the panel. + + + + + Called after either ColorScheme or ColorSchemeStyle has changed. If you override make sure that you call base implementation so default + processing can occur. + + + + + Indicates whether style of the panel is managed by tab control automatically. + Set this to true if you would like to control style of the panel. + + + + + Gets or sets TabItem that this panel is attached to. + + + + + Gets or sets which edge of the parent container a control is docked to. + + + + + Gets or sets the size of the control. + + + + + Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. + + + + + Gets or sets a value indicating whether the control is displayed. + + + + + Gets or sets which edges of the control are anchored to the edges of its container. + + + + + Defines single color blend point for the multicolor gradient fills. + + + + + Creates new instance of the class. When defining multicolor gradinet blends and using the percentage positions the positions created + must start with 0f and end with 1f. + + + + + Creates new instance of the class and initialize it with default values. + + + + + Creates new instance of the class and initialize it with default values. + + + + + Gets or sets Color to use in multicolor gradient blend at specified position. + + + + + Gets or sets the color position in multicolor gradient blend. Values less or equal to 1 are used as percentage specifing percentages of distance along the gradient line. + Values greater than 1 are used as absolute pixel values of distance along the gradient line. + + + + + Represents Collection for the BackgroundColorBlend objects. + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds array of new objects to the collection. + + Array of object to add. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the BackgroundColorBlend array. + + Array to copy to. + + + + Creates ColorBlend object based on the members of the collection. ColorBlend object will be valid only if all members of the collection + represents relative/percentage based color blends. + + + + + + Adds the BackgroundColorBlend objects from the collection. + + Collection to copy objects from + + + + Initializes the collection with the two color blend. + + Collection to initialize. + Start color. + End color. + + + + Initializes the collection with the two color blend. + + Collection to initialize. + Start color. + End color. + + + + Initializes the collection with the two color blend. + + Collection to initialize. + Solid Color + + + + Returns reference to the object in collection based on it's index. + + + + + Represents BackgroundColorBlend object converter. + + + + + Represents the cancelable event arguments with integer value. + + + + + Gets or sets the new value that will be used if event is not canceled. + + + + + Indicates the source of the event. + + + + + Defines delegate for cancelable events. + + + + + Represents the cancelable event arguments with object value. + + + + + Initializes a new instance of the CancelObjectValueEventArgs class. + + + + + + Gets or sets the data connected to this event. + + + + + Defines delegate for cancelable events. + + + + + Provides data for CheckBoxItem rendering events. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets the reference to CheckBoxItem being rendered. + + + + + ColorScheme object that is used to provide colors for rendering check box item in legacy styles like Office 2003. Office 2007 style + uses color tables provided by renderers. + + + + + Indicates whether item is in Right-To-Left environment. + + + + + Gets or sets the text font. + + + + + Gets or sets the ItemPaintArgs reference. + + + + + Creates new instance of the object and provides default values. + + Reference to Graphics object + Reference to CheckBoxItem + Reference to legacy ColorScheme + Indicates the font for the text. + Indicates whether item is in Right-To-Left environment. + + + + Defines the event arguments class for ColorPickerDropDown ColorPreview event. + + + + + Gets the color that is being previewed. + + + + + Gets the ColorItem if available for the color being previewed. This property can be null if there is no ColorItem connected with the color. + + + + + Creates new instance of the object. + + Color being previewed. + ColorItem connected with the color. + + + + Defines delegate for ColorPreview event. + + + + + Delegate for the CancelableEventSource event. + + + + + Represents event arguments that provide information on source of action and allow canceling of action. + + + + + Gets or sets whether event action will be canceled. + + + + + Initializes a new instance of the EventSourceArgs class. + + + + + + Initializes a new instance of the CancelableEventSourceArgs class. + + + + + + Provides data for the Navigation Pane rendering events. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets the rendering bounds. + + + + + Creates new instance of the objects and initializes it with default values. + + + + + Provides data for the ProgressBarItem rendering events. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets the reference to ProgressBarItem being rendered. + + + + + Indicates whether item is in Right-To-Left environment. + + + + + Gets or sets the text font. + + + + + Creates new instance of the object and provides default values. + + Reference to Graphics object + Reference to ProgressBarItem + Indicates the font for the text. + Indicates whether item is in Right-To-Left environment. + + + + Provides data for the Quick Access Toolbar Customize dialog events. + + + + + Gets or sets whether to cancel the current operation. When showing the dialog this allows to cancel the showing. When dialog is closed + it allows to cancel the changes made on customize dialog. + + + + + Gets or sets the reference to the form that is acting as dialog. You can set this value to your custom form to display it instead of + built-in dialog. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the dialog being used for customization. + + + + Provides data for the Quick Access Toolbar Customize Item rendering events. + + + + + Gets or sets the reference to the item being rendered. + + + + + Gets or sets the reference to graphics object. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the customize item being rendered. + Reference to the graphics object. + + + + Provides data for the Quick Access Toolbar Overflow item rendering events. + + + + + Gets or sets the reference to the item being rendered. + + + + + Gets or sets the reference to graphics object. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the overflow item being rendered. + Reference to the graphics object. + + + + Provides information for ribbon customization events. + + + + + Gets or sets whether the menu popup will be cancelled. Default value is false. + + + + + Gets or sets the reference to the object customize menu will be acting on. This could be an ButtonItem or any + BaseItem derived class as well as RibbonBar object. + + + + + Gets or sets the reference to the popup menu that will be displayed. You can change the members of SubItems collection to add/remove/change + the context menu items that will be displayed. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to context object. + Reference to popup menu item if any. + + + + Provides data for the RenderMdiSystemitem event. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets the reference to MdiSystemItem being rendered. + + + + + Creates new instance of the class and initializes it with default values. + + Reference to graphics object. + Reference to MdiSystemItem being rendered. + + + + Represents events arguments for the Ribbon Control rendering events. + + + + + Gets or sets Graphics control is rendered on. + + + + + Gets the reference to RibbonControl instance being rendered. + + + + + Gets whether Windows Vista Glass is enabled. + + + + + Creates new instance and initializes it with the default values. + + Reference to Graphics object + Reference to RibbonControl + + + + Gets or sets whether the closing of the ribbon menu is canceled. + + + + + Gets or sets the source object that was cause of the menu closing. For example this could be reference to an item that was clicked. + Default value is null which indicates that there is no information about the object that caused closing available. + + + Following is the possible list of types that this property could be set to + and causes for closing: + + BaseItem - when an item is clicked the Source will be set to the instance + of the item that was clicked. + RibbonControl - when parent form RibbonControl is on loses the input + focus the Source will be set to the RibbonControl + RibbonTabItem - when tab menu is displayed and user clicks the same tab + to close the menu. The RibbonTabItem with EventSource=Code will be also set as + source when user double-clicks the tab to maximize the ribbon. + Any other type if RibbonControl.PopupRibbon method is called by your + code. + + + + + + Gets or sets the source of the event. + + + + + Creates new instance of the object. + + + + + Gets or sets the reference to graphics object. + + + + + Initializes a new instance of the SideBarPanelItemRendererEventArgs class. + + + + + + + Gets or sets the reference to graphics object. + + + + + Initializes a new instance of the SideBarRendererEventArgs class. + + + + + + + Provides data for the Slider item rendering events. + + + + + Gets or sets the reference to the item being rendered. + + + + + Gets or sets the reference to graphics object. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to the Slider item being rendered. + Reference to the graphics object. + + + + Defines the abstract class for form caption painter. + + + + + Provides data for form caption rendering events. + + + + + Gets or sets the reference to graphics object. + + + + + Gets or sets the caption bounds. + + + + + Gets or sets the form caption is rendered for. + + + + + Creates new instance of the class. + + + + + Defines the Office 2007 style form caption painter. + + + + + Gets or sets color table used by renderer. + + + + + Represents an item that provides system buttons displayed on form caption. + + + + + Summary description for MDISystemItem. + + + + + Returns copy of CustomizeItem item + + + + + Returns the single button size. + + Size of the button. + + + + MDI System Item can render itself as either Simple icon with system drop down menu or set of + system buttons Minimize, Restore and Close. This item is rendered on the Bar that is designated as + Menu bar and when bar is used on MDI form and MDI Child form is maximized. + + + + + Gets the default size of the system buttons. + + + + + + Gets or sets the custom button size to use instead of system determined size. + + + + + Gets or sets whether Minimize button is visible. + + + + + Gets or sets whether Restore/Maximize button is visible. + + + + + Gets or sets whether Close button is visible. + + + + + Gets or sets whether help button is visible. + + + + + Gets or sets whether Icon is queried when item is painted. Default value is false. + + + + + Provides data for the RenderSystemCaptionItem event. + + + + + Gets or sets Graphics control is rendered on. + + + + + Gets reference to SystemCaptionItem being rendered. + + + + + Gets whether Windows Vista Glass is enabled. + + + + + Creates new instance of the class and initializes it with default values. + + Reference to Graphics object. + Reference to item being rendered. + Indicates whether Vista Glass effect is enabled. + + + + Represents the line drawn between start and end point. + + + + + Paints the shape on canvas. If overriden base implementation must be called to paint any child shapes. + + Shape paint information. + + + + Returns absolute location of the shape based on parent bounds. + + Parent absolute bounds. + Absolute location of the shape + + + + Returns absolute size of the shape based on the parent bounds. + + Absolute parent bounds. + Absolute size of the shape. + + + + Gets the absolute bounds of the shape. + + Parent bounds. + Absolute bounds of the shape. + + + + Gets the location of the shape. + + + + + Gets the size of the shape. + + + + + Gets the shape padding. Padding is the inside spacing between shape and it's child shapes. + + + + + Gets the collection of child shapes. + + + + + Gets or sets whether this shape will set the ShapePaintInfo.ChildContentClip property to the region that represents the inside content of the shape. + This is used when there is inside content of the shape which is not part of the shape itself and calling routine needs + access to the region that defines the shape inside bounds. + + + + + Gets the start point of the line. + + + + + Gets the end point of the line. + + + + + Gets the line border. + + + + + Describes the shape location. + + + + + Gets or sets the X location of the shape relative to it's parent. + + + + + Gets or sets the Y location of the shape relative to it's parent. + + + + + Gets or sets the relative X position. + + + + + Gets or sets the relative Y position. + + + + + Describes the relative location. + + + + + Describes the padding for the shape. Padding is the space inside the shape and between it's child shapes. + + + + + Creates new instance of the class. + + + + + Creates new instance of the class and initializes it with default values. + + + + + Gets or sets the left padding in pixels. + + + + + Gets or sets the right padding in pixels. + + + + + Gets or sets the top padding in pixels. + + + + + Gets or sets the bottom padding in pixels. + + + + + Gets the total horizontal padding. + + + + + Gets the total vertical padding. + + + + + Paints the border. + + + + + Paints the border. + + + + + Gets or sets the rounded corner size. + + + + + Gets the shape border. + + + + + Gets the shape fill. + + + + + Defines the shape border. + + + + + Gets or sets the border width in pixels. + + + + + Gets or sets the border color. + + + + + Gets or sets the ending gradient border color. + + + + + Gets or sets the gradient angle. Default value is 90. + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the Shape array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Gets or sets the starting fill color. + + + + + Gets or sets the end fill color. + + + + + Gets or sets the gradient angle. + + + + + Gets or sets the background color collection blend. + + + + + Gets or sets the fill gradient type. + + + + + Paints the border. + + + + + Paints the border. + + + + + Gets the shape border. + + + + + Gets the shape fill. + + + + + Describes shape size. + + + + + Gets or sets the width of the shape. When RelativeWidth is specified then number specifed here is added to the actual shape width. + + + + + Gets or sets the height of the shape. When RelativeHeight is specified the number specified here is added to the actual shape height. + + + + + Gets or sets the relative shape width. + + + + + Gets or sets the relative shape height. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Represents the class used to create Color objects. + + + + + Creates new instance of the object. + + + + + Represents the class used to create Color objects blended based on base color. + + + + + Creates new instance of the object. + + + + + Converts integer color representation to Color type. + + Color representation as 32-bit RGB value. + Reference to Color object. + + + + Converts integer color representation to Color type. + + Color representation as 32-bit RGB value. + Reference to Color object. + + + + Converts integer color representation to Color type. + + Color value. + Reference to Color object. + + + + Converts color representation to alpha Color type. + + Color value. + Reference to Color object. + + + + Converts integer color representation to Color type. + + Color value. + Reference to Color object. + + + + Defines the names for the ElementStyle.Class style classes. + + + + + Gets the key for the GalleryContainer background style class. + + + + + Gets the key for the Ribbon File menu outer container background style class. + + + + + Gets the key for the Ribbon File menu two column container background style class. + + + + + Gets the key for the Ribbon File menu first column container background style class. + + + + + Gets the key for the Ribbon File menu second column container background style class. + + + + + Gets the key for the Ribbon File menu bottom container background style class. + + + + + Gets the key for the text box border style class. + + + + + Gets the key for the RichTextBox control border style class. + + + + + Gets the key for the ItemPanel style class. + + + + + Gets the key for the ListBoxAdv style class. + + + + + Gets the key for the date time input background style class. + + + + + Gets the style key for the Ribbon client panel. + + + + + Gets the style key for the ListView control border style. + + + + + Gets the style key for the Office2007 Status Bar alternative background. + + + + + Gets the style key for the AdvTree control border and background. + + + + + Gets the style key for the AdvTree control columns header. + + + + + Gets the style key for the AdvTree control columns header for the child nodes. + + + + + Gets the style key for the AdvTree control column. + + + + + Gets the style key for the CrumbBar background style. + + + + + Gets the key for the DataGridView border style class. + + + + + Gets the key for the DataGridViewNumeric border style class. + + + + + Gets the key for the DataGridViewDateTime border style class. + + + + + Gets the key for the DataGridViewIpAddress border style class. + + + + + Gets the key for SlidePanel slide-out button style. + + + + + Gets the key for the MetroTilePanel style class. + + + + + Gets the key for Metro tile group container title class. + + + + + Gets the style key for the MonthCalendarAdv control. + + + + + Gets the style key for the ProgressSteps control. + + + + + Gets the style key for the SideNavStrip control. + + + + + Gets the style key for the TabFormPanel control. + + + + + Represents a static class that maintains the global rendering properties for all controls when eRenderMode is set to global. + + + + + Gets or sets the global renderer used by all controls that have RenderMode set to eRenderMode.Global. + + + + + Represents complex gradient color table. + + + + + Creates new instance of the object. + + + + + Creates new instance of the object and initializes it with default values. + + Start color + End color + + + + Creates new instance of the object and initializes it with default values. + + Start color + End color + + + + Creates new instance of the object and initializes it with default values. + + Start color + End color + + + + Creates new instance of the object and initializes it with default values. + + Start color + End color + Linear gradient angle + + + + Creates new instance of the object and initializes it with default values. + + Start color + End color + Linear gradient angle + + + + Gets or sets the color collection blend that describes the gradient. + + + + + Gets or sets the gradient type. + + + + + Gets or sets the linear gradient angle. + + + + + Creates a copy of table. + + A copy. + + + + Represents the color table of linear gradient. + + + + + Creates new instance of the object. + + + + + Creates new instance of the object. + + Start color. + + + + Creates new instance of the object. + + Start color. + End color. + + + + Creates new instance of the object. + + Start color in hexadecimal representation like FFFFFF. + End color in hexadecimal representation like FFFFFF. + + + + Creates new instance of the object. + + Start color in 32-bit RGB representation. + + + + Creates new instance of the object. + + Start color in 32-bit RGB representation. + End color in 32-bit RGB representation. + + + + Creates new instance of the object. + + Start color in 32-bit RGB representation. + End color in 32-bit RGB representation. + Gradient angle. + + + + Creates new instance of the object. + + Start color. + End color. + Gradient angle. + + + + Gets or sets the start color. + + + + + Gets or sets the end color. + + + + + Gets or sets the gradient angle. Default value is 90. + + + + + Gets whether both colors assigned are empty. + + + + + Item container for dockable windows. + + + + + Creates new instance of ControlContainerItem and assigns item name. + + + + + Creates new instance of ControlContainerItem and assigns item name. + + Item name. + + + + Creates new instance of ControlContainerItem and assigns item name and item text. + + Item name. + Item text. + + + + Overriden. Returns the copy of the ControlContainerItem. + + Copy of the ControlContainerItem. + + + + Overriden. Draws the item. + + Target Graphics object. + + + + Overriden. Recalculates the size of the item. + + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Occurs after an item has been removed. + + Item being removed. + + + + Occurs after text has changed. + + + + + Occurs after item visual style has changed. + + + + + Occurs when container control needs to be assigned to the item. + + + + + Gets or sets the reference to the contained control. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets item description. This description is displayed in + Customize dialog to describe the item function in an application. + + + + + Gets or sets item alignment inside the container. + + + + + Gets or sets the collection of shortcut keys associated with the item. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets a value indicating whether the item is visible. + + + + + Specifies the Tab image. Image specified here is used only on Tab when there are multiple dock containers on Bar. + + + + + Specifies the index of the Tab image if ImageList is used. Image specified here is used only on Tab when there are multiple dock containers on Bar. + + + + + Specifies the Button icon. Icons support multiple image sizes and alpha blending. + + + + + Gets or sets the predefined tab color. Default value is eTabItemColor.Default which means that default color is used. + + + + + Gets or sets whether tab that dock container item is on is selected. + + + + + Gets or sets the width of the item in pixels. + + + + + Gets or sets the height of the item in pixels. + + + + + Gets or sets the minimum size of the item. When used please note that layout logic for dockable windows expects that + all DockContainerItems that are in particular docking side have exact same minimum size. When setting this property it is + best to set the same value for all DockContainerItem instances you create. + + + + + Gets or sets the default floating size of the Bar that is containing this item. + + + + + Gets or sets the minimum size of the form client area that is tried to maintain when dockable window is resized. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Gets or sets whether item can be customized by end user. + + + + + Returns whether item is in design mode or not. + + + + + Gets or sets whether item is global or not. + This flag is used to propagate property changes to all items with the same name. + Setting for example Visible property on the item that has GlobalItem set to true will + set visible property to the same value on all items with the same name. + + + + + Gets or sets the close button behavior on the host Bar. Default value is eDockContainerClose.Inherit which means that Bar.CanHide will control whether DockContainerItem can be closed. + + + + + Specifies the behavior of the close button on host bar for the DockContainerItem. + + + + + Closing of the bar is inherited from the host bar. Bar.CanHide property will control close button visibility. + + + + + Closing of the DockContainerItem is allowed. + + + + + Closing of DockContainerItem is not allowed. + + + + + Summary description for DockingHint. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Update control region based on hint side + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represent the docking information for an control. + + + + + Control dock side. + + + + + Control dock site. + + + + + Docking offset. + + + + + Docking line. + + + + + Docked control width. + + + + + Docked control height. + + + + + Control position. + + + + + Indicates whether to use outline or not + + + + + Indicates that dock site should change it's Z-Order so it maximizes the space it consumes as related to other dock sites. + + + + + Indicates that dock site should change it's Z-Order so it reduces the amount of space it consumes as related to other dock sites. + + + + + When either FullSizeDock or PartialSizeDock is set it indicates the new dock site Z-Order index. + + + + + Returns the bar that mouse is placed over. + + + + + Returns dock side the mouse is indicating user wants to dock bar at. + + + + + Gets the last relative docked to bar. + + + + + Gets the last relative docked to document id. + + + + + Returns side of last docked-to dock site. + + + + + Dock Sites are created by DotNetBar control on each edge of the + DotNetBar container control and are used for docking purposes. + If Dock Site does not contain any controls it will be invisible. + + + + + Creates new instance of DockSite object with specified dock style. + + Specifies the position and manner in which a site is docked. + + + + Creates new instance of DockSite object. + + + + + Returns reference to the DocumentDockUIManager object used for interaction with document docking engine. + + Reference to the DocumentDockUIManager object. + + + + Saves layout for bars contained by dock site. + + Parent XmlElement. + + + + Loads layout for the bars. + + Parent XmlElement that was passed to SaveLayout method to save layout + + + + Suspends normal layout logic. + + + + + Resumes normal layout logic. + + + + + Resumes normal layout logic. Optionally forces an immediate layout of pending layout requests. + + + + + Docks the bar to the dock site. + + Bar to dock. + + + + Dockes the Bar to dock site at specified position. + + Bar to dock. + Bar insert position. + + + + Relayouts all docked controls in the site. + + + + + Returns the docking information for current position. + + Controls docking provider. + Horizontal assumed docking position. + Vertical assumed docking position. + Docking information. + + + + + Undocks the control from the site. + + Control to undock. + + + + Gets or sets whether painting is disabled on dock site while layout of bars is performed. Default value is true. + You might need to set this property to false if you are expirience vide flashing while using DirectX video animation in Bar controls that are part of the + dock site. + + + + + Specifies background image position when container is larger than image. + + + + + Specifies the transparency of background image. + + + + + Gets or sets the target gradient background color. + + + + + Gets or sets gradient fill angle. + + + + + Specifies the position and manner in which a site is docked. + + + + + Gets the reference to the DotNetBarManager that uses this dock site. + + + + + Represents class that is a bar container for document docking. + + + + + Represents Document container base class. + + + + + Creates new instance of the class. + + + + + Resizes the document within specified bounds. + + Area available for the document. + + + + Sets the display bounds. + + New display bounds. + + + + Sets layout bounds. + + New layout bounds. + + + + Resets the layout bounds for the document base container to the empty bounds. + + + + + Resets the layout bounds for the document base container to the empty bounds. + + + + + Sets the parent document. + + Parent container. + + + + Sets the width of the document. + + Width in pixels + + + + Sets the height of the document. + + Height in pixels. + + + + Occurs when width is being set on child document. + + Reference document being changed + Width in pixels + True if width was applied by parent otherwise false + + + + Occurs when height is being set on child document. + + Reference document being changed + Height in pixels + True if width was applied by parent otherwise false + + + + Updates bounds of the item in response to the scrolling of LayoutControl. + + + + + + + Gets the unique ID for the container. + + + + + Returns actual display bounds of the document. + + + + + Returns layout bounds of the document. Layout bounds are proposed bounds of the layout and might not be the same + as DisplayBounds. + + + + + Gets the parent container. + + + + + Gets whether document is visible or not. + + + + + Gets minimum size of the document. + + + + + Creates new instance of the class. + + + + + Creates new instance of the class and initializes it with the Bar object. + + Bar to contain on document. + + + + Creates new instance of the class and initializes it with the bar and propesed width and height. + + Bar to contain on document. + Proposed width of the document in pixels + Proposed height of the document in pixels + + + + Resizes document object. + + Available bounds for the document. + + + + Gets or sets the bar that is contained by this document. + + + + + Gets whether document is visible. + + + + + Gets the minimum size of the document. + + + + + Represents DocumentBarContainer converter. + + + + + Creates new instance of the class. + + + + + Checks whether conversion can be made to specified type. + + Context Information. + Destination type. + + + + + Converts object to specified type. + + Context information. + Culture information. + Object to convert. + Destination type. + Object converted to destination type. + + + + Collection of DocumentBaseContainer objects. + + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds new objects to the collection. + + Array of documents to add. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the DocumentBaseContainer array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Represents Dock container with either horizontal or vertical layout. + + + + + Creates new instance of the object and initializes it with specified values. + + Array of documents to host in this container. + Container orientation + + + + Creates new instance of the object. + + + + + Resizes the object inside of the given bounds. + + Available area. + + + + Occurs when width is being set on child document. + + Reference document being changed + Width in pixels + True if width was applied by parent otherwise false + + + + Occurs when height is being set on child document. + + Reference document being changed + Height in pixels + True if width was applied by parent otherwise false + + + + Returns the DocumentBarContainer object for a given bar. + + Bar to search for. + Reference to container or null if bar could not be found + + + + Gets whether document is visible or not. + + + + + Gets the orientation of the container. Default value is Horizontal. + + + + + Returns collection of the documents hosted by this container. + + + + + Returns minimum size of the object. + + + + + Gets or sets splitter size in pixels between the documents docking inside the container. Default value is 3. + + + + + Gets or sets whether the size of the documents is recorded once the layout is calculated. + + + + + Indicates whether the container is allowed to exceed the parent control client size due to inner child windows minimum size constraints. + + + + + Represents DocumentDockContainer object converter. + + + + + Represents class that manages document docking UI interaction. + + + + + + Returns DocumentBaseContainer that holds the reference bar. + + Bar to return document container for. + Returns null if document container cannot be found or reference to the document container. + + + + Docks specified bar by appending it to the container. Bar will be added according to the container's orientation. + + Bar to dock. + + + + Docks specified bar by appending it to the container. Bar will be added according to the container's orientation. + + Bar to dock. + Side to dock bar at. + + + + Adjusts the size of the dock container if needed after a bar has been docked to it. + + Bar object that has been docked. + Indicates that bar was already docked but its Visible property has changed + + + + Processes OnMouseMove events from DockSite. This routine assumes that mouse messages are received only when mouse is actually over + the dock site and not containing bars. This is significant because it will receive messages only if mouse is over the splitter + space between bars. + + Mouse event arguments. + + + + Returns reference to the DocumentDockContainer that contains specified coordinates. Searches through the Documents collection first. + + X coordinate + Y coordinate + + + + + Sets the width of the bar that is managed by this document layout. Width can be set only if parent container has + Horizontal orientation. Note that bar minimum size is respected by this method and + it will be enforced. If width is less than minimum width bar's width will be set to minimum width. + + Reference to bar object. + Desired width. + + + + Sets the height of the bar that is managed by this document layout. Height can be set only if parent container has + vertical orientation. Note that bar minimum size is respected by this method and + it will be enforced. If height is less than minimum height bar's height will be set to minimum height. + + Reference to bar object. + Desired height. + + + + Gets or sets the root document dock container object. + + + + + Gets or sets the splitter width used for mouse hit-testing. + + + + + Gets or sets the container of the document. + + + + + Gets whether document/bar is being resized. + + + + + Represent the menu, toolbar and popup menu structure for the form. + + + + + Raises BarStateChanged event. + + Provides event arguments. + + + + Creates new instance of DotNetBarManager. + + + + + Creates new instance of DotNetBarManager. + + Container. + + + + Dock bar to the specified side of the form. + + Bar to dock. + Side to dock bar to. + + + + Docks the bar to the specified side of the reference bar. + + Bar to dock. + Reference bar. + Side of the reference bar to dock the bar to. + + + + Docks specified DockContainerItem. + + DockContainerItem to dock. + Side to dock item to. + + + + Docks specified DockContainerItem. + + DockContainerItem to dock. + Reference bar. + Side to dock item to. + + + + Docks specified DockContainerItem. + + DockContainerItem to dock. + Reference bar. + Side to dock item to. + + + + Tear-off specified DockContainerItem and float it. + + Item to float. + + + + Tear-off specified DockContainerItem and float it. + + Item to float. + + + + Make specified bar floating bar, i.e. undock it and place in floating window. + + Bar to float. + + + + Make specified bar floating bar, i.e. undock it and place in floating window and specified location on the screen. + + Bar to float. + Screen coordinates for the floating bar. + + + + Raises the ActiveDockContainerChanged event. + + Provides event arguments. + + + + Invokes ItemDoubleClick event. + + Reference to item double-clicked + Event arguments + + + + Returns the Bar object that contains the item. + + + + + Clean up any resources being used. + + + + + Returns whether property should be serialized by Windows Forms designer. + + + + + Use to remove bar from DotNetBar control. Bar will be undocked if it is docked and + removed from all internal collections. + + Bar to remove. + + + + Forces the loading of the definition specified in DefinitionName property. + By default definition is loaded after parent form handle has been created and form is loaded. + However, under certain circumstances you might need DotNetBar to load definition right away so + you can access bars and items. We recommend moving the code to Form Load event and leaving the loading process for DotNetBar definition as is. + + + + + Loads DotNetBar definition from file. + + File that contains DotNetBar defintion. + + + + Invokes SerializeItem event. + + Provides data for the event. + + + + Invokes DeserializeItem event. + + Provides data for the event. + + + + Saves current DotNetBar definition and state to the file. + + File name. + + + + Loads DotNetBar layout from file. + + File that contains DotNetBar defintion. + + + + Saves current DotNetBar layout to the file. + + File name. + + + + Invokes the DotNetBar Customize dialog. + + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name. This method search for items on all Bars, Items collection and ContextMenus collection. + The order of search is as follows. All Bars from Bars collections are searched, then Items collection and then ContextMenus collection. + + Item name to look for. + Specifies that search will be performed through all DotNetBar collections. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. This method will searchs for items on all Bars, Items collection and ContextMenus collection. + The order of search is as follows. All Bars from Bars collections are searced, then Items collection and then ContextMenus collection. + + Item name to look for. + Item type to look for. + Specifies that full search (through all collections) will be performed. + + + + + Returns the collection of items with the specified name and type. This method will searchs for items on all Bars, Items collection and ContextMenus collection. + The order of search is as follows. All Bars from Bars collections are searced, then Items collection and then ContextMenus collection. + + Item name to look for. + Item type to look for. + Specifies that full search (through all collections) will be performed. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Returns the first item that matches specified name with the option to indicate full search of all collections. + The order of search is as follows. All Bars from Bars collections are searced, then Items collection and then ContextMenus collection. + + Item name to look for. + Specifies that all collection will be searched. + + + + + Called before modal dialog is displayed using ShowModal() method. + + + + + Called after modal dialog is closed. + + + + + You must call this procedure if you are implementing custom customize dialog box after your dialog box is closed. + + + + + Registers popup item with DotNetBar. Use this function carefully. The registration is required only if Popup item is created completely from code and it is not added to any DotNetBarManager collection. + + + + + + Un-registers specified popup. See RegisterPopup for more information. + + + + + + Resets the ColorScheme property to its default value. + + + + + Informs the DotNetBarManager that Mdi Child for has been activated. Calling this method is needed only under special + conditions where MDI child system items do not show. + + + + + Resets all usage data collected by DotNetBar in relation to the Personalized menus. + + + + + Occurs after bar registered with DotNetBarManager state has changed, like selected dock tab has changed, bar has closed, bar has been docked or undocked etc. + + + + + Occurs when focused (active) DockContainerItem has changed. You can use ActiveDockContainerItem property to get reference to currently focused DockContainerItem. + + + + + Occurs just before customize popup menu is shown. + + + + + Occurs when Item is clicked. + + + + + Occurs when Item is clicked. + + + + + Occurs when popup of type container is loading. + + + + + Occurs when popup of type container is unloading. + + + + + Occurs when popup item is about to open. + + + + + Occurs when popup item is closing. + + + + + Occurs just before popup window is shown. + + + + + Occurs when Item Expanded property has changed. + + + + + Occurs when Bar is docked. + + + + + Occurs when Bar is Undocked. + + + + + Occurs before dock tab is displayed. + + + + + Occurs when Bar auto-hide state has changed. + + + + + Occurs when mouse button is pressed. + + + + + Occurs when mouse button is released. + + + + + Occurs when mouse enters the item. + + + + + Occurs when mouse leaves the item. + + + + + Occurs when mouse moves over the item. + + + + + Occurs when mouse remains still inside an item for an amount of time. + + + + + Occurs when item loses input focus. + + + + + Occurs when item receives input focus. + + + + + Occurs when user changes the item position, removes the item, adds new item or creates new bar. + + + + + Occurs after DotNetBar definition is loaded. + + + + + Occurs when users wants to reset the DotNetBar to default state. + + + + + Occurs after an Item is removed from SubItemsCollection. + + + + + Occurs after an Item has been added to the SubItemsCollection. + + + + + Occurs when ControlContainerControl is created and contained control is needed. + + + + + Occurs when Text property of an Item has changed. + + + + + Occurs when Customize Dialog is about to be shown. + + + + + Occurs when Customize Dialog is closed. + + + + + Use this event if you want to serialize the hosted control state directly into the DotNetBar definition file. + + + + + Use this event if you want to deserialize the hosted control state directly from the DotNetBar definition file. + + + + + Occurs when current Dock tab has changed. + + + + + Occurs when Bar is about to be closed as a result of user clicking the Close button on the bar. + + + + + Occurs when Bar in auto-hide state is about to be displayed. + + + + + Occurs when user starts to drag the item when customize dialog is open. + + + + + Occurs when users Tears-off the Tab from the Bar and new Bar is created as result of that action. + + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Occurs before an item in option group is checked and provides opportunity to cancel the change. + + + + + Occurs before tooltip for an item is shown. Sender could be the BaseItem or derived class for which tooltip is being displayed or it could be a ToolTip object itself it tooltip is not displayed for any item in particular. + + + + + Occurs on dockable bars when end-user attempts to close the individual DockContainerItem objects using system buttons on dock tab. + Event can be canceled by setting the Cancel property of event arguments to true. This even will occur only after user presses the + X button on tab that is displaying the dockable windows/documents. + + + + + Occurs on dockable bars after DockContainerItem is closed. This action cannot be cancelled. + + + + + Occurs after an item has been serialized to XmlElement and provides you with opportunity to add any custom data + to serialized XML. This allows you to serialize any data with the item and load it back up in DeserializeItem event. + + + To serialize custom data to XML definition control creates handle this event and use CustomXmlElement + property on SerializeItemEventArgs to add new nodes or set attributes with custom data you want saved. + + + + + Occurs after an item has been de-serialized (load) from XmlElement and provides you with opportunity to load any custom data + you have serialized during SerializeItem event. + + + To de-serialize custom data from XML definition handle this event and use CustomXmlElement + property on SerializeItemEventArgs to retrive any data you saved in SerializeItem event. + + + + + Occurs when TextBoxItem input text has changed. + + + + + Occurs when color on ColorPickerDropDown is choosen from drop-down color picker or from Custom Colors dialog box. Selected color can be accessed through SelectedColor property. + + + + + Occurs when Checked property of an button has changed. + + + + + Gets or sets docking splitter size. + + + + + Indicates whether Ctrl+Tab keys cycles the currently selected dock tab. + + + + + Gets or sets the Context menu bar associated with the this control which is used as part of Global Items feature. The context menu + bar assigned here will be used to search for the items with the same Name or GlobalName property so global properties can be propagated when changed. + You should assign this property to enable the Global Items feature to reach your ContextMenuBar. + + + + + Gets or sets the form DotNetBarManager is attached to. + + + + + Gets or sets the user control DotNetBarManager is parented to when on user control and providing popups only. + + + + + Gets currently focused (active) DockContainerItem. Note that only if DockContainer Item has input focus it will be consider active + so there can only be one active DockContainerItem at a time. + + + + + Gets whether component has been disposed. + + + + + Disposed will return true after Dispose method has been executed. + + + + + Gets or sets whether GC.Collect() is called when this component is disposed. + + + + + Gets or sets the minimum client size that docking windows will try to maintain for the client area (not occupied by dock windows). + Note that this value is suggested value and cannot be observed when form is resized below the minimum size required for the given layout. + Default value is 48x48 pixels. + + + + + Indicates whether DotNetBar provides docking hints for easy docking of bars. + + + + + Gets or sets whether user can control how first bar is docked when using docking hints (default value is True). When enabled (default value) placing the mouse over the middle + docking hint will dock the bar at partial size and using the far docking hint will dock bar at full size. Full size indicates that dock site which hosts the bar + consumes all the space of the parent form while partial size indicates that dock site consumes the full size minus the space of the other dock sites. Default value is true. + + + + + Gets or sets whether uniform styling is applied to bars docked as documents. Default value is true which means + that bar that will be docked as document will have it's style changed so it fits in default document styling. + Such bars will have GrabHandleStyle=None, DockTabAlignment=Top and AlwaysDisplayDockTab=true. + Set this property to false to have bars keep these properties once they are docked as documents. + Value of these properties will be returned back to the default values once bar is not docked as document. + + + + + Gets the collection of the Bar objects associated with DotNetBarManager. + + + + + Gets whether definition is loaded. + + + + + Gets the collection of all items that are used for end-user design-time customization. + + + + + Gets the collection of all popup menus managed by DotNetBarManager. + + + + + Indicates whether shortucts handled by items are dispatched to the next handler or control. + + + + + Gets or sets the collection of shortcut keys that are automatically dispatched to the control that has focus even if they are handled and used by one of the items. This gives you fine control over which shortcuts are passed through the system and which ones are marked as handled by DotNetBar. + + + + + Indicates whether Reset buttons is shown that allows end-user to reset the toolbar state. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Suspends the bar layout for all bars. + + + + + Specifes whether drop shadow is displayed for Menus and pop-up Bars. OfficeXP Style only. + + + + + Specifes whether to use Alpha-Blending shadows for pop-up items if supported by target OS. Disabling Alpha-Blended shadows can improve performance. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + Gets or sets whether hooks are used for internal DotNetBar system functionality. Using hooks is recommended only if DotNetBar is used in hybrid environments like Visual Studio designers or IE. + + + + + Gets whether any handlers have been defined for SerializeItem event. If no handles have been defined to optimize performance SerializeItem event will not be attempted to fire. + + + + + Gets whether any handlers have been defined for DeserializeItem event. If no handles have been defined to optimize performance DeserializeItem event will not be attempted to fire. + + + + + Returns whether definition is being currently loaded. + + + + + Gets or sets whether document bars are saved in definition file. Default value is false which means that document + bars are not saved as part of definition file. You can set this value to true to save document bar to definition file and + be able to load them. + + + Note that by default Document bars that you created during design-time get member + variables assigned to them by Windows Forms designer. If you decide to save definition + of such bars and load definition back member variables will not point to correct bar + instances since loading definition recreates all bars from scratch. You should always + use Bars collection to access bars when saving and loading definitions. + + + + + Gets or sets the DotNetBar definition string. + + + + + Gets or sets the DotNetBar layout string. + + + + + Gets whether DotNetBarManager is loading layout. + + + + + Specifies that custom customize dialog will be used. Use EnterCustomize event to show your custom dialog box. + + + + + Gets or sets the toolbar Top dock site used by DotNetBarManager. + + + + + Gets or sets the toolbar Bottom dock site used by DotNetBarManager. + + + + + Gets or sets the toolbar Left dock site used by DotNetBarManager. + + + + + Gets or sets the toolbar Right dock site used by DotNetBarManager. + + + + + Gets or sets the Top dock site used by DotNetBarManager. + + + + + Gets or sets the Bottom dock site used by DotNetBarManager. + + + + + Gets or sets the Left dock site used by DotNetBarManager. + + + + + Gets or sets the Right dock site used by DotNetBarManager. + + + + + Gets or sets the Fill dock site used by DotNetBarManager. Fill dock site is most commonly used as dock site + for document type docking. + + + + + Specifies whether bars are drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Sets the style of all items in DotNetBar Manager. + + + + + Gets or sets Color scheme for all bars. Note that you need to set UseGlobalColorScheme to true to indicate + that this ColorScheme object will be used on all bars managed by this instance of DotNetBarManager. + + + + + Gets or sets whether ColorScheme object on DotNetBarManager is used as a default ColorScheme for all bars managed by DotNetBarManager. + Default value is false which indicates that ColorScheme on each Bar is used. + When set to true each bar will use the ColorScheme settings from DotNetBarManager and it will ignore any + setting on the Bar.ColorScheme object. + + + + + Indicates whether the Personalized menu setting is ignored and full menus are always shown. + + + + + Gets or sets whether accelerator letters for menu or toolbar commands are underlined regardless of + current Windows settings. Accelerator keys allow easy access to menu commands by using + Alt + choosen key (letter). Default value is false which indicates that system setting is used + to determine whether accelerator letters are underlined. Setting this property to true + will always display accelerator letter underlined. + + + + + Returns whether theme support is enabled on the OS that supports themes like Windows XP. + + + + + Indicates whether the CustomizeItem (allows toolbar customization) is added for new Bars end users are creating. + + + + + Gets or sets whether DotNetBar ignores the F10 key which when pressed sets the focus to menu bar + + + + + Indicates whether the items that are not recenly used are shown after mouse hovers over the expand button. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Indicates whether item shortcut is displayed in Tooltips. + + + + + Specifies the pop-up animation style. + + + + + Specifies whether the MDI system buttons are displayed in menu bar when MDI Child window is maximized. + + + + + Gets or sets whether MDI Child form System Menu is hidden. System menu is displayed in MDI form menu area when form is maximized. Default value is false. + + + + + Gets or sets whether customize context menu is shown on all bars or dock sites. + + + + + Gets or sets whether parent form is activated when dock window layout is loaded. + + + + + Represents delegate for ContextMenu events. + + + + + Represents the method that will handle the ItemRemoved event. + + + + + Defines the delegate for DockTabChange event + + + + + Defines the delegate for BarClosing event + + + + + Defines the delegate for BarAutoHideDisplay event + + + + + Represents the method that will handle the LocalizeString event. + + + + + Gets or sets the display rectangle for popup auto-hide bar. + + + + + Event arguments for LocalizeString event. + + + + + Indicates that event has been handled and that LocalizedValue should be used. + + + + + Indicates the string key for the text that needs to be localized. + + + + + Indicates the localized text value. If you are performing custom string localization + you need to set this value to the translated text for current locale and you need to set + Handled property to true. + + + + + Default constructor. + + + + + Event arguments for EndUserCustomize event. + + + + + Indicates the customize action that user executed. + + + + + Default constructor. + + Indicates action user executed. + + + + Initializes a new instance of the EndUserCustomizeEventArgs class. + + + + + + + Gets any action data, might be null/nothing. + + + + + Delegate for EndUserCustomize event. + + + + + Defines delegate for ActiveDockContainerChanged event. + + + + + + + Provides event arguments for ActiveDockContainerChanged event. + + + + + Gets the DockContainerItem that has been activate or deactivated. + + + + + Initializes a new instance of the ActiveDockContainerChangedEventArgs class. + + + + + + Summary description for DotNetBarResourcesAttribute. + + + + + Summary description for DotNetBarStreamer. + + + + + Represents class that can serialize compatible marked properties. + + + + + XML element is expected to be something like Image data Base64 encoded + + Image data + + + + + Represents visual style of an User Interface Element. + + + + Creates new instance of the class. + + + + Initializes a new instance of the ElementStyle class. + + + + + Creates new instance of the class. + + + Creates new instance of the class. + + + Creates new instance of the class. + + + + Indicates whether BackgroundColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether BackgroundColor2 should be serialized. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundImage to it's default value null (VB Nothing). Used by windows forms designer design-time support. + + + + + Indicates whether TextColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets TextColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether TextShadowColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets TextColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether TextShadowOffset should be serialized. Used by windows forms designer design-time support. + + + + + Resets TextShadowOffset to it's default value. Used by windows forms designer design-time support. + + + + + Sets size of the element style. + + Indicates new size. + + + + Indicates whether BorderColor should be serialized. Used by windows forms designer design-time support. + + + + + Resets BorderColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether BorderColor3 should be serialized. Used by windows forms designer design-time support. + + + + + Resets BorderColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether BorderColorLight should be serialized. Used by windows forms designer design-time support. + + + + + Resets BorderColor to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether BorderColor2 should be serialized. Used by windows forms designer design-time support. + + + + + Resets BorderColorLight2 to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether property should be serialized. Used by windows forms designer design-time support. + + + + + Resets property to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether property should be serialized. Used by windows forms designer design-time support. + + + + + Resets property to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether property should be serialized. Used by windows forms designer design-time support. + + + + + Resets property to it's default value. Used by windows forms designer design-time support. + + + + + Indicates whether property should be serialized. Used by windows forms designer design-time support. + + + + + Resets property to it's default value. Used by windows forms designer design-time support. + + + + + Releases all resources used in this control. After calling Dispose() + object is not in valid state and cannot be recovered to the valid state. + Recreation of the object is required. + + + + + Applies a "child/inherited" style text and box properties but not any background or border properties to this style. + Use this method to create style hierarchies. + + Style to apply to this style + + + + + Applies a "child/inherited" style to this style. Use this method to create style + hierarchies. + + + This method is used to support style hierarchies where a base style is defined + and inherited/child styles are derived and based on it. By using this method on the + base style you can apply only style changes defined by the child style. For example if + you defined a base style for normal user interface element then in most cases you do + not want to redefine the styling for the case when same user interface element is + selected. You will just defined the behavior of the selected state and then apply it to + the base normal style using ApplyStyle method. + + Style to apply to current style. + + + + Makes an exact copy of the style. + + New copy of ElementStyle object. + + + + Reset all style properties to default values. + + + + Returns default style for the Cell object. + + Reference to the default style for the Node. Cell style is based on the given + node style. + + + + Returns default style for disabled cells. + Returns new instance of ElementStyle object. + + + Returns default style for the selected cell object. + New instance of the ElementStyle object. + + + + Sets Alpha value for all colors defined by style to specified value. + + Style to change. + Alpha value for the colors. + + + + Returns reference to ColorScheme object used by this style. + + Instance of ColorScheme object or null if object could not be obtained. + + + + Occurs when appearance property of the style has changed. + + + + + Occurs when component is Disposed. + + + + + Gets the collection that defines the multicolor gradient background. + + + + + Gets or sets the background color for UI element. If used in combination with + BackgroundColor2 is specifies starting gradient color. + + + + + Gets or sets the color scheme color that is used as background color. Setting + this property overrides the setting of the corresponding BackColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BackColor property. + + + + + Gets or sets the target gradient background color for UI element. + + + + + Gets or sets the color scheme color that is used as target gradient background color. Setting + this property overrides the setting of the corresponding BackColor2 property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BackColor2 property. + + + + + Gets or sets the background gradient angle. + + + + + Gets or sets the background gradient fill type. Default value is Linear. + + + + + Specifies background image. + + + + + Specifies background image position when container is larger than image. + + + + + Specifies the transparency of background image. + + + + + Gets or sets the text color displayed in this UI element. + + + + + Gets or sets the color scheme color that is used as text color. Setting + this property overrides the setting of the corresponding TextColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through TextColor property. + + + + + Gets or sets the text shadow color. + + + + + Gets or sets the color scheme color that is used as text shadow color. Setting + this property overrides the setting of the corresponding TextShadowColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through TextColor property. + + + + + Indicates text shadow offset in pixels + + + + + Gets or sets the Font used to draw this the text. + + + + + Gets or sets a value that determines whether text is displayed in multiple lines or one long line. + + + + + Specifies alignment of the text. + + + + + Specifies alignment of the text. + + + + + Specifies how to trim characters when text does not fit. + + + + + Gets the total horizontal margin (Left + Right) + + + + + Gets the total vertical margin (Top + Bottom) + + + + + Gets or sets the left margin. + + + + + Gets or sets the right margin. + + + + + Gets or sets the top margin. + + + + + Gets or sets the bottom margin. + + + + + Gets or sets whether any style property has changed which could influence the size of the style. + + + + + Gets the calcuated size of the element style. + + + + + Gets or sets the border type for all sides of the element. + + + + + Gets or sets border width in pixels. + + + + + Gets or sets the border type for top side of the element. + + + + + Gets or sets the border type for bottom side of the element. + + + + + Gets or sets the border type for left side of the element. + + + + + Gets or sets the border type for right side of the element. + + + + + Gets or sets border width in pixels. + + + + + Gets or sets border width in pixels. + + + + + Gets or sets border width in pixels. + + + + + Gets or sets border width in pixels. + + + + + Gets or sets the border color for all sides. Specifing the color for the side will override this value. + + + + + Gets or sets the color scheme color that is used as border color. Setting + this property overrides the setting of the corresponding BorderColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderColor property. + + + + + Gets or sets the target background gradient color for border on all sides. Specifing the color for the side will override this value. Gradient border colors + be employed only when per side border color is not specified. + + + + + Gets or sets the color scheme color that is used as taget gradient border color. Setting + this property overrides the setting of the corresponding BorderColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderColor property. + + + + + Gets or sets the border gradient angle. Default value is 90. + + + + + Gets or sets the color for light border part when etched border is used. + + + + + Gets or sets the color scheme color that is used as border light color for etched border style. Setting + this property overrides the setting of the corresponding BorderColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderColor property. + + + + + Gets or sets the target background gradient color for border on all sides. Specifing the color for the side will override this value. Gradient border colors + be employed only when per side border color is not specified. + + + + + Gets or sets the color scheme color that is used as taget gradient border light color for etched border style. Setting + this property overrides the setting of the corresponding BorderColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderColor property. + + + + + Gets or sets the light border gradient angle. Default value is 90. + + + + + Gets or sets the background color for the left side border. + + + + + Gets or sets the color scheme color that is used as left border color. Setting + this property overrides the setting of the corresponding BorderLeftColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderLeftColor property. + + + + + Gets or sets the background color for the right side border. + + + + + Gets or sets the color scheme color that is used as right border color. Setting + this property overrides the setting of the corresponding BorderRightColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderRightColor property. + + + + + Gets or sets the background color for the top side border. + + + + + Gets or sets the color scheme color that is used as top border color. Setting + this property overrides the setting of the corresponding BorderTopColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderTopColor property. + + + + + Gets or sets the background color for the bottom side border. + + + + + Gets or sets the color scheme color that is used as bottom border color. Setting + this property overrides the setting of the corresponding BorderBottomColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BorderBottomColor property. + + + + + Gets the total horizontal padding (Left + Right) + + + + + Gets the total vertical padding (Top + Bottom) + + + + + Gets or sets the padding space in pixels for all 4 sides of the box. + + + + + Gets or sets the amount of space to insert between the top border of the element and the content. + + + + + Gets or sets the amount of space to insert between the bottom border of the element and the content. + + + + + Gets or sets the amount of space to insert between the left border of the element and the content. + + + + + Gets or sets the amount of space to insert between the right border of the element and the content. + + + + + Gets or sets the name of the style. + + + + + Gets or sets the class style belongs to. The Class styles are used to apply predefined values to the styles that belong to the same class. + This feature is used to manage color schemes/tables per class style. + + + + + Gets or sets the description of the style. + + + + + Gets or sets the Site associated with this component. Used by Windows forms designer. + + + + + Gets or sets the maximum height of the element. This property should be used in + conjunction with the WordWrap property to limit the size of + text bounding box. + + Default value is 0 which indicates that height of the style is unlimited. + + + + Returns System.Drawing.StringFormat constructed from current style settings. + + + + + Gets or sets a value indicating whether the control interprets an ampersand character (&) in the control's Text property to be an access key prefix character. Default value is false. + + + + + Indicates whether control hides the underlines of the letter prefixed by ampersand character when UseMnemonic=true + + + + + Returns eTextFormat constructed from current style settings. + + + + + Gets or sets the border corner type for all 4 sides. Default corner type is Square. + + + + + Gets or sets the border corner type for top left corner. Default value is Inherit which means that setting from CornerType property is used. + + + + + Gets or sets the border corner type for top right corner. Default value is Inherit which means that setting from CornerType property is used. + + + + + Gets or sets the border corner type for bottom left corner. Default value is Inherit which means that setting from CornerType property is used. + + + + + Gets or sets the border corner type for bottom right corner. Default value is Inherit which means that setting from CornerType property is used. + + + + + Gets or sets the diameter in pixels of the corner type rounded or diagonal. + + + + + Gets whether to paint left border for the style. + + + + + Gets whether to paint right border for the style. + + + + + Gets whether to paint top border for the style. + + + + + Gets whether to paint bottom border for the style. + + + + + Gets whether to paint any border for the style. + + + + + Gets whether to paint any border for the style. + + + + + Gets whether custom has any of properties changed. + + + + + Gets or sets whether ElementStyle is in design mode. + + + + + Gets or sets the maximum width of the element. This property should be used in + conjunction with the WordWrap property to limit the size of + text bounding box. + + Default value is 0 which indicates that width of the style is not limited. + + + + Gets or sets the reference to the parent collection. + + + + + Gets or sets the tree control style is assigned to. + + + + + Specifies the type of the gradient fill. + + + + + Represents linear gradient fill. + + + + + Represents radial gradient fill. + + + + + Paints the ElementStyle + + + + Creates new instance of the object. + + + + Paints text for given style. + + Display information. + Text to paint. + Default font if no font by style is specified. + + + + + Returns new Region object for given ElementStyle. + New instance of Region object. + Information to describe ElementStyle. + + + + Returns the clipping for the content of the element style. + + + + + + + Paints the element style on the canvas. + + Holds information necessary to paint style on canvas. + + + + Paint style border. + + Style display information. + + + + Paints style background. + + Style display information. + + + + Paints style background. + + Style display information. + + + + Paints style background image. + + Style display information. + + + + Returns background rectangle for given style by taking in account margins. + + Reference to style object. + Style bounds + Background rectangle. + + + + Returns GraphicsPath for given style. + + Reference to style. + Style bounds. + New instance of GraphicsPath + + + + Returns GraphicsPath for given style. + + Reference to style. + Style bounds. + New instance of GraphicsPath + + + + Initializes a new instance of the BorderDrawInfo structure. + + + + + + + + + + Represents information necessary to paint the style on canvas. + + + + Reference to ElementStyle object. + + + Reference to Graphics object. + + + ElementStyle bounds. + + + Get or sets whether layout is right-to-left. + + + + Gets or sets whether bottom and right border is "twisted" giving beveled look when double border is used. + + + + Creates new instance of the object. + + + Creates new instance of the object and initializes it with default values. + Style to initialize object with. + Graphics object to initialize object with. + Bounds to initialize object with. + + + Creates new instance of the object and initializes it with default values. + Style to initialize object with. + Graphics object to initialize object with. + Bounds to initialize object with. + + + + Specifies part of the background path. + + + + + Indicates complete background path + + + + + Indicates Top half of background path + + + + + Indicates Bottom half of background path + + + + + Represents the layout for the element style. + + + + + Calculates size of an style element. + + Style to calculate size for. + Default font that will be used by style if style does not uses it's own font. + Size of the style element. At this time only Height member will be calculated. + + + + Returns the total white space for a style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for + + + + + Returns the total white space for a style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for left side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for left side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for right side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for right side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for top side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for top side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for top side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns total white space for top side of the style. Whitespace is the space between the edge of the element and inner content of the element. + + Style to return white space for. + + + + + Returns amount of spacing for specified style parts. + + Style to calculate spacing for. + Part of the style spacing is calculated for. Values can be combined. + Side of the style to use for calculation. + + + + + Gets inner rectangle taking in account style padding, margins and border. + + + + + Specifies the appearance of a item. + + + + + Specifies the CrumbBar control style. + + + + + Specifies the Bar state. + + + + + Specifies the Bar grab handle style. + + + + + Specifies the Orientation of the item within container. + + + + + Specifies the design-marker orientation for the item. + + + + + Specifies the supported orientations by the item. + + + + + Specifies the docked Bar border type. + + + + + Specifes vertical alignment. + + + + + Specifies item alignment. + + + + + Specifies the popup type. + + + + + Specifies the dock side. + + + + + Specifies the item shortcut. + + + + + Specifies the item menu visibility. + + + + + Specifies the item behavior personalized menus. + + + + + Specifies the popup animation. + + + + + Specifies ButtonItem style. + + + + + Specifies the image position. + + + + + Specifies the hot tracking style for buttons. + + + + + Specifies the menu drop shadow. + + + + + Specifies the image size for the items on the Bar. + + + + + Specifies button image list selection. + + + + + Indicates that image is stretched to fill the container space. + + + + + Image is centered inside of container space. + + + + + Image is tiled to fill container space. + + + + + Image is drawn in top left corner of container space. + + + + + Image is drawn in top right corner of container space. + + + + + Image is drawn in bottom left corner of container space. + + + + + Image is drawn in bottom right corner of container space. + + + + + Image is drawn on the left side in the middle of the container space. + + + + + Image is drawn on the right side in the middle of the container space. + + + + + Specifies the sides of a rectangle to apply a border to. + + + + + No Border. + + + + + Border on the Left edge. + + + + + Border on the Right edge. + + + + + Border on the Top edge. + + + + + Border on the Bottom edge. + + + + + Border on all 4 sides. + + + + + Specifies appearance type of the Side Bar control. + + + + + Traditional Side Bar appearance with 3D panels. + + + + + Improved Flat Side Bar appearance with extended appearance options. + + + + + Specifies predefined side bar color scheme. + + + + + Specifies the side popup is displayed in relation to it's parent. + + + + + Indicates layout type used for items within side bar panel. + + + + + Default layout all items arranged in one column. + + + + + Items arranged in multiple columns determined by the width of the panel. + + + + + Indicates color scheme assigned to the tab item. + + + + + Indicates the action end user took during toolbar/menubar customization. + + + + + User has changed the visibility of the bar. + + + + + Indicates that item visibility has changed i.e. it's visible property. + + + + + Indicates that an item has been moved to different location. + + + + + Indicates that an item has been removed from the bar. + + + + + Indicates that item's text has been changed. + + + + + Indicates that style of the button i.e. ButtonStyle property has changed. + + + + + Indicates that item's BeginGroup property has changed. + + + + + Indicates that user has created a new bar. + + + + + Indicates that user has renamed the bar i.e. changed it's Text property. + + + + + Indicates that user has deleted the bar. + + + + + Specifies the type of the layout for tabs. + + + + + Tabs are auto-sized to fit the width of the container. + + + + + Tab's width is calculated based on the image and text and navigation box is displayed + when tabs cannot fit the container. + + + + + Tab are wrapping on multiple lines based on the width and navigation box is displayed. + + + + + Tab are wrapping on multiple lines based on the width and NO navigation box is displayed. + + + + + Indicates the corner type. + + + + + Inherits setting if applies. + + + + + Specifies square corner. + + + + + Specifies rounded corner. + + + + + Specifies diagonal corner. + + + + + Specifies the action that raised a event + + + + + The event was caused by a keystroke. + + + + + The event was caused by a mouse operation. + + + + + The event is caused programmatically from user code. + + + + + Specifies the button alignment inside of the BubbleBar. + + + + + Buttons are aligned to the top and arranged horizontally. + + + + + Buttons are aligned to the bottom and arranged horizontally. + + + + Specifies the way background image is displayed on background. + + + Image is stretched to fill the background + + + Image is centered inside the background + + + Image is tiled inside the background + + + + Image is drawn in top left corner of container space. + + + + + Image is drawn in top right corner of container space. + + + + + Image is drawn in bottom left corner of container space. + + + + + Image is drawn in bottom right corner of container space. + + + + + Imaged is centered and fills the control but aspect ratio is unchanged. + + + + + Specifies the border type for style element. + + + + Indicates no border + + + Border is a solid line + + + Border is a solid dash line + + + Border is solid dash-dot line + + + Border is solid dash-dot-dot line + + + Border consists of dots + + + Border consists light and dark part creating an etched effect + + + Border consists dark and light part. Light part is the inside border. + + + + Specifies the alignment of a text string relative to its element's rectangle. + + + + + Specifies the text be aligned near from the origin position of the element's rectangle. In a left-to-right layout, the near position is left. In a right-to-left layout, the near position is right. + + + + + Specifies that text is aligned in the center of the element's rectangle. + + + + + Specifies that text is aligned far from the origin position of the element's rectangle. In a left-to-right layout, the far position is right. In a right-to-left layout, the far position is left. + + + + + Specifies how to trim characters from a text that does not completely fit into a element's shape. + + + + + Specifies that the text is trimmed to the nearest character. + + + + + Specifies that the text is trimmed to the nearest character, and an ellipsis is inserted at the end of a trimmed line. + + + + + The center is removed from trimmed lines and replaced by an ellipsis. The algorithm keeps as much of the last slash-delimited segment of the line as possible. + + + + + Specifies that text is trimmed to the nearest word, and an ellipsis is inserted at the end of a trimmed line. + + + + + Specifies no trimming. + + + + + Specifies that text is trimmed to the nearest word. + + + + + Specifies the alignment of buttons in title bar. + + + + + Buttons are left aligned. + + + + + Buttons are right aligned. + + + + + Indicates white-space part of the style. + + + + + Represents style padding. + + + + + Represents style border. + + + + + Represents style margin. + + + + + Indicates the style side. + + + + + Specifies left side of the style. + + + + + Specifies right side of the style. + + + + + Specifies top side of the style. + + + + + Specifies bottom side of the style. + + + + + Specifies the button state. + + + + + Button is in it's default state. + + + + + Button is disabled + + + + + Mouse is over the button + + + + + Left mouse button is pressed + + + + + Right mouse button is pressed + + + + + Button is hidden. + + + + + Indicates predefined color scheme assigned to super tooltip. + + + + + Specifies predefined color assigned to ribbon items. + + + + + Specifies predefined color assigned to ribbon tab groups. + + + + + Specifies the state of the Wizard button. + + + + + Specifies the button that caused the wizard page change. + + + + + Page change was started using Wizard Back button. + + + + + Page change was started using Wizard Next button. + + + + + Page change was started from code. + + + + + Specifies wizard button that is clicked when the user presses the ENTER key. + + + + + If finish button is enabled and visible it will be clicked otherwise click next button + + + + + Click finish button + + + + + Click next button + + + + + No button will be clicked + + + + + Specifies wizard button that is clicked when the user presses the Escape key. + + + + + Cancel button will be clicked + + + + + No button will be clicked + + + + + Specifies border around ColorItem. + + + + + No Border. + + + + + Border on the Left edge. + + + + + Border on the Right edge. + + + + + Border on the Top edge. + + + + + Border on the Bottom edge. + + + + + Border on all 4 sides. + + + + + Specifies the line alignment of the items inside of the container. + + + + + Items are aligned to the top. + + + + + Items are aligned to the middle point of the line. + + + + + Items are aligned to the bottom. + + + + + Specifies the alignment of the items inside of the container in horizontal layout. + + + + + Items are left aligned. + + + + + Items are centered. + + + + + Items are right aligned. + + + + + Specifies the alignment of the items inside of the container in vertical layout. + + + + + Items are top aligned. + + + + + Items are in the middle. + + + + + Items are Bottom aligned. + + + + + Specifies the rendering mode used by a user interface element. + + + + + Indicates that rendering on user interface element instance set through Renderer property is used. + + + + + Indicates that global application wide renderer is used as specified by GlobalManager.Renderer property. + + + + + Indicates that custom rendered will be used for an user interface element. Renderer property must be set when using this value to the renderer + that will be used. + + + + + Specifies the predefined color table for button. + + + + + Specifies the color table used to render ProgressBarItem in Office 2007 style. + + + + + Indicates default Normal color table, usually green. + + + + + Indicates Pause state color table, usually yellow. + + + + + Indicates Error state color table, usually red. + + + + + Specifies the position of ribbon title. + + + + + Title is positioned on the top of the ribbon. + + + + + Title is positioned on the bottom of the ribbon. + + + + + Specifies text alignment on the button. + + + + + Specifies the left aligned text. + + + + + Specifies the center aligned text. + + + + + Specifies the right aligned text. + + + + + Specifies the position of the tab close button. + + + + + Close button is on the left side of the tab. + + + + + Close button is on the right side of the tab. + + + + + Describes the bar type. + + + + + Indicates that bar is toolbar. + + + + + Indicates that bar is menu bar. + + + + + Indicates that bar is status bar. + + + + + Indicates that bar is dock window. + + + + + Describes the categorization mode used to categorize items on the Customize Ribbon dialog. + + + + + Items are automatically categorized by the ribbon bar they appear on. + + + + + Items are categorized by the Category property on each item. Category property should be set on each item. + + + + + Describes the check-box item appearance style + + + + + Standard check-box style. + + + + + Radio button style. Only one button can be selected/checked in given container. + + + + + Indicates the position of the check box sign related to the text for CheckBoxItem. + + + + + Check box sign is positioned on the left side of the text. + + + + + Check box sign is positioned on the right side of the text. + + + + + Check box sign is positioned above the text. + + + + + Check box sing is positioned below the text + + + + + Indicates the type of the progress bar. + + + + + Standard step based progress bar. + + + + + The automatically moving progress bar. + + + + + Defines the direction of collapsing/expanding + + + + + Control is collapsed from bottom to top. + + + + + Control is collapsed from top to bottom. + + + + + Control is collapsed from right to left. + + + + + Control is collapsed from left to right. + + + + + Describes the scroll bar skinning applied to the controls. + + + + + No scrollbar skinning is applied to the control. + + + + + Optimized scrollbar skinning algorithm is used. Might provide better appearance in certain scenarios. + + + + + Unoptimized scrollbar skinning algorithm is used. Might provide better appearance in certain scenarios. + + + + + Indicates the position of the slider label text related to the slider part. + + + + + Label is positioned on the left side of the slider. + + + + + Label is positioned on the right side of the slider. + + + + + Label is positioned above the slider. + + + + + Label is positioned below the slider. + + + + + Defines the slider item parts. + + + + + Indicates no part. + + + + + Indicates the increase button of slider control. + + + + + Indicates the decrease button of slider control. + + + + + Indicates the label part of slider control. + + + + + Indicates the track area part of the control. + + + + + Specifies the position of the title image. + + + + + Image is positioned on the left side. + + + + + Image is centered. + + + + + Image is positioned on the right side. + + + + + Specifies the Wizard control Appearance. + + + + + Indicates default Wizard 97 style. + + + + + Indicates the Office 2007 Style Wizard Appearance. + + + + + Specifies wizard title image alignment + + + + + Image is aligned to left + + + + + Image is aligned to right + + + + + Specifies the behaviour used to hide watermark. + + + + + Watermark for control is hidden when control receives the input focus. + + + + + Watermark for control is hidden when control has non-empty input value. + + + + + Specifies the advanced ScrollBar appearance. + + + + + Default scroll bar appearance. + + + + + Office 2007 style Application scroll bar appearance. + + + + + Defines text position in relation to the content of the item.. + + + + + Text is positioned to the left of the content. + + + + + Text is positioned to the right of the content. + + + + + Text is positioned on top of the content. + + + + + Text is positioned on bottom of the content. + + + + + Defines position for the notification mark + + + + + Defines available symbol sets. + + + + + FontAwesome Symbol Set. + + + + + Android Material Symbol Set. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets the reference to ButtonItem instance being rendered. + + + + + Creates new instance of the object and initializes it with default values + + Reference to Graphics object. + Reference to ColorItem object. + + + + Represents event arguments for DockTabClosing event. + + + + + Indicates the DockContainerItem that is about to close. + + + + + Provides ability to cancel closing of the DockContainerItem. Default value is false. + + + + + Set to true to automatically remove DockContainerItem from the Bar.Items collection after it is closed. Default value is false + which means that DockContainerItem will be kept in collection but it will be hidden after this event is complete. + + + + + Returns source of the event: keyboard, mouse or code. + + + + + Creates new instance of the class. + + Reference to DockContainerItem that is about to close + + + + Delegate for DockTabClosing event. + + + + + Represents arguments for SerializeItem event which allows you to add custom serialization data to definitions saved by control. + + + + + Gets reference to item being serialized or de-serialized. + + + + + Gets reference to instance of XmlElement that item is serialized to or is being de-serialized from. You should not change any data directly on this element. + + + + + Gets the reference to XmlElement that you can serialize to or de-serialize any custom data from. You can add child elements or set the attributes on + this XmlElement when handling SerializeItem event. When handling DeserializeItem event you can load same data from this element. + + + + + Defines delegate for SerializeItem event. + + + + + Provides more information about MarkupLinkClick event. + + + + + Gets the value of href attribute from the markup link that was clicked. + + + + + Gets the value of name attribute from the markup link that was clicked. + + + + + Creates new instance of the object. + + Value of name attribute. + Value of href attribute. + + + + Defines delegate for MarkupLinkClick event. + + + + + Panel control with title bar that can be expanded or collapsed. + + + + + Called after either ColorScheme or ColorSchemeStyle has changed. If you override make sure that you call base implementation so default + processing can occur. + + + + + Used for design time support. + + true if property should be serialized. + + + + Resets the style to it's default value. + + + + + Resets the style to it's default value. + + + + + Resets the style to it's default value. + + + + + Called when AntiAlias property has changed. + + + + + Occurs before Expanded property is changed. You can cancel change of this property by setting Cancel=true on the event arguments. + + + + + Occurs after Expanded property has changed. You can handle ExpandedChanging event and have opportunity to cancel the change. + + + + + Indicates whether panel will hide the controls it contains when its collapsed and show them when its expanded. Default value is false. + + + + + Gets or sets whether the panel is collapsed/expanded when title bar is clicked. Default value is false. + + + + + Gets or sets the collapse/expand direction for the control. Default value causes the control to collapse from bottom to top. + + + + + Gets or sets whether panel is expanded or not. Default value is true. + + + + + Gets or sets animation time in milliseconds. Default value is 100 miliseconds. You can set this to 0 (zero) to disable animation. + + + + + Gets or sets the bounds of panel when expanded. This value is managed automatically by control based on the starting designer size and value + of Expanded property. + + + + + Gets or sets whether expand button is visible or not. Default value is true. + + + + + Returns bounds of expand button. Bounds are relative to the TitlePanel coordinates. + + + + + Gets or sets image that is used on title bar button to collapse panel. Default value is null which indicates + that system default image is used. + + + + + Gets or sets image that is used on title bar button to expand panel. Default value is null which indicates + that system default image is used. + + + + + Gets or sets the text for the title of the panel. + + + + + Gets or sets the title style. + + + + + Gets or sets the title style when mouse hovers over the title. + + + + + Gets or sets the title style when mouse button is pressed on the title. + + + + + Gets or sets the height of the title portion of the panel. Height must be greater than 0. Default is 26. + + + + + Gets reference to Panel control used as title bar. + + + + + Gets reference to the title bar expand button. + + + + + Gets or sets alignment of the expand button. + + + + + Gets the reference to the panel used as button when control is collapsed to the left or right. + + + + + Represents multi-functional splitter control. + + + + + Creates new instance of the object. + + + + + This member overrides Control.OnPaint. + + Event arguments. + + + + Resets BackgroundColor to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Resets BackgroundColor2 to it's default value. Used by windows forms designer design-time support. + + + + + Apply default splitter style colors. + + Style colors to apply. + + + + Gets or sets whether expandable control ExpandableControl assigned to this splitter is expaned or not. Default value is true. + + + + + Gets or sets whether Click event is triggering expand/collapse of the splitter. Default value is true. + + + + + Gets or sets whether DoubleClick event is triggering expand/collapse of the splitter. Default value is false. + + + + + Gets or sets whether splitter will act as expandable splitter. Default value is true. When set to true ExpandableControl property should be set to the control that should be expanded/collapsed. + + + + + Gets or sets the control that will be expanded/collapsed by the splitter. Default value is null. Expandable property should be also set to true (default) to enable expand/collapse functionality. + + + + + Gets or sets visual style of the control. Default value is eSplitterStyle.Office2003. + + + + + Gets or sets animation time in milliseconds. Default value is 100 miliseconds. You can set this to 0 (zero) to disable animation. + + + + + Gets or sets the shortcut key to expand/collapse splitter. + + + + + Gets or sets the background color for UI element. If used in combination with + BackgroundColor2 is specifies starting gradient color. + + + + + Gets or sets the color scheme color that is used as background color. Setting + this property overrides the setting of the corresponding BackColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BackColor property. + + + + + Gets or sets the target gradient background color for UI element. + + + + + Gets or sets the color scheme color that is used as target gradient background color. Setting + this property overrides the setting of the corresponding BackColor2 property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through BackColor2 property. + + + + + Gets or sets the background gradient angle. + + + + + Gets or sets the expand part fill color. + + + + + Gets or sets the color scheme color that is used expand part fill color. Setting + this property overrides the setting of the corresponding ExpandFillColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through ExpandFillColor property. + + + + + Gets or sets the expand part line color. + + + + + Gets or sets the color scheme color that is used expand part line color. Setting + this property overrides the setting of the corresponding ExpandLineColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through ExpandLineColor property. + + + + + Gets or sets the grip part dark color. + + + + + Gets or sets the color scheme color that is used grip part dark color. Setting + this property overrides the setting of the corresponding GripDarkColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through GripDarkColor property. + + + + + Gets or sets the expand part line color. + + + + + Gets or sets the color scheme color that is used expand part line color. Setting + this property overrides the setting of the corresponding GripLightColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through GripLightColor property. + + + + + Gets or sets the background color for UI element when mouse is over the element. If used in combination with + BackgroundColor2 is specifies starting gradient color. + + + + + Gets or sets the color scheme color that is used as background color when mouse is over the element. Setting + this property overrides the setting of the corresponding HotBackColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through HotBackColor property. + + + + + Gets or sets the target gradient background color for UI element when mouse is over the element. + + + + + Gets or sets the color scheme color that is used as target gradient background color when mouse is over the element. Setting + this property overrides the setting of the corresponding HotBackColor2 property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through HotBackColor2 property. + + + + + Gets or sets the background gradient angle when mouse is over the element. + + + + + Gets or sets the expand part fill color when mouse is over the element. + + + + + Gets or sets the color scheme color that is used expand part fill color when mouse is over the element. Setting + this property overrides the setting of the corresponding HotExpandFillColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through HotExpandFillColor property. + + + + + Gets or sets the expand part line color when mouse is over the element. + + + + + Gets or sets the color scheme color that is used expand part line color when mouse is over the element. Setting + this property overrides the setting of the corresponding HotExpandLineColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through HotExpandLineColor property. + + + + + Gets or sets the grip part dark color when mouse is over the element. + + + + + Gets or sets the color scheme color that is used grip part dark color when mouse is over the element. Setting + this property overrides the setting of the corresponding HotGripDarkColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through HotGripDarkColor property. + + + + + Gets or sets the grip part light color when mouse is over the element. + + + + + Gets or sets the color scheme color that is used grip part light color when mouse is over the element. Setting + this property overrides the setting of the corresponding HotGripLightColor property. + Color scheme colors are automatically managed and are based on current system colors. + That means if colors on the system change the color scheme will ensure that it's colors + are changed as well to fit in the color scheme of target system. Set this property to + eColorSchemePart.None to + specify explicit color to use through HotGripLightColor property. + + + + + Indicates the style of mutli-functional splitter control. + + + + + Specifies Office 2003 like splitter style and color scheme. + + + + + Specifies Mozilla like splitter style and color scheme. + + + + + Specifies Office 2007 like splitter style and color scheme. + + + + + Represents event arguments for ExpandedChanging and ExpandedChanged events. + + + + + Gets the action that caused the event, event source. + + + + + Gets or sets whether execution Expand event should be canceled. Applies only to ExpandedChanging event. Default is false. + + + + + Indicates new value for the Expanded property. + + + + + Represents the Outlook like Explorer-bar Control. + + + + + Creates new instance of side bar control. + + + + + Clean up any resources being used. + + + + + Returns true if color scheme has changed. + + + + + Resets color scheme to it's default value. + + + + + Creates the Graphics object for the control. + + The Graphics object for the control. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Raises ItemLayoutUpdated event. + + Provides event arguments. + + + + Applies any layout changes and repaint the control. + + + + + Invokes ItemDoubleClick event. + + Reference to item double-clicked + Event arguments + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Ensures that item is displayed on the screen. Item needs to have it's Visible property set to true. This method will expand the group if needed or it will scroll control to display an item. + + Item to display. + + + + Returns the item located at specific client coordinates. + + X Coordinate + Y Coordinate + + + + + Invokes the DotNetBar Customize dialog. + + + + + Invokes SerializeItem event. + + Provides data for the event. + + + + Invokes DeserializeItem event. + + Provides data for the event. + + + + Loads the Side bar definition from file. + + Definition file name. + + + + Saves the Side bar definition to file. + + Definition file name. + + + + Occurs when Checked property of an button has changed. + + + + + Occurs when Item is clicked. + + + + + Occurs when Item is clicked. + + + + + Occurs when popup of type container is loading. + + + + + Occurs when popup of type container is unloading. + + + + + Occurs when popup item is about to open. + + + + + Occurs when popup item is closing. + + + + + Occurs just before popup window is shown. + + + + + Occurs when Item Expanded property has changed. + + + + + Occurs when mouse button is pressed. + + + + + Occurs when mouse button is released. + + + + + Occurs when mouse enters the item. + + + + + Occurs when mouse leaves the item. + + + + + Occurs when mouse moves over the item. + + + + + Occurs when mouse remains still inside an item for an amount of time. + + + + + Occurs when item loses input focus. + + + + + Occurs when item receives input focus. + + + + + Occurs when user changes the item position, removes the item, adds new item or creates new bar. + + + + + Occurs after an Item is removed from SubItemsCollection. + + + + + Occurs after an Item has been added to the SubItemsCollection. + + + + + Occurs when ControlContainerControl is created and contained control is needed. + + + + + Occurs when Text property of an Item has changed. + + + + + Use this event if you want to serialize the hosted control state directly into the DotNetBar definition file. + + + + + Use this event if you want to deserialize the hosted control state directly from the DotNetBar definition file. + + + + + Occurs after DotNetBar definition is loaded. + + + + + Occurs before an item in option group is checked and provides opportunity to cancel that. + + + + + Occurs before tooltip for an item is shown. Sender could be the BaseItem or derived class for which tooltip is being displayed or it could be a ToolTip object itself it tooltip is not displayed for any item in particular. + + + + + Occurs after an item has been serialized to XmlElement and provides you with opportunity to add any custom data + to serialized XML. This allows you to serialize any data with the item and load it back up in DeserializeItem event. + + + To serialize custom data to XML definition control creates handle this event and use CustomXmlElement + property on SerializeItemEventArgs to add new nodes or set attributes with custom data you want saved. + + + + + Occurs after an item has been de-serialized (load) from XmlElement and provides you with opportunity to load any custom data + you have serialized during SerializeItem event. + + + To de-serialize custom data from XML definition handle this event and use CustomXmlElement + property on SerializeItemEventArgs to retrive any data you saved in SerializeItem event. + + + + + Suspends the layout and painting of the control. When you want to perform multiple operations on the explorer bar and you want to ensure + that layout of the items on it and painting is not performed for performance and appearance reasons set this property to true. Once you + want to enable layout and painting set the property back to false and call RecalcLayout method. Default value is false. + + + + + Gets or sets Bar Color Scheme. + + + + + Specifies whether ExplorerBar is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Specifies the background style of the Explorer Bar. + + + + + Gets or sets the vertical spacing between the group items. + + + + + Occurs after internal item layout has been updated and items have valid bounds assigned. + + + + + Gets or sets whether anti-alias smoothing is used while painting. + + + + + Returns the collection of Explorer Bar Groups. + + + + + Gets or sets the form ExplorerBar is attached to. + + + + + Gets or sets the margin in pixels between the explorer bar groups and the edge of the control. + + + + + Gets or sets whether end-user can rearrange the items inside the panels. + + + + + Gets or sets whether animation is enabled. + + + + + Gets or sets maximum animation time in milliseconds. + + + + + Gets or sets whether native .NET Drag and Drop is used by side-bar to perform drag and drop operations. AllowDrop must be set to true to allow drop of the items on control. + + + + + Gets or sets whether external ButtonItem object is accepted in drag and drop operation. UseNativeDragDrop must be set to true in order for this property to be effective. + + + + + Applies the stock style to the object. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + Specifies custom image to be used as button on ExplorerBarGroup item to expand the group. Default value is null + which indicates that default button is used. + + + + + Specifies custom image to be used as button on ExplorerBarGroup item to expand the group. This image is used when mouse is over the button. Default value is null + which indicates that default button is used. + + + + + Specifies custom image to be used as button on ExplorerBarGroup item to expand the group. This image is used when user presses left mouse button while cursor is positioned over the button. Default value is null + which indicates that default button is used. + + + + + Specifies custom image to be used as button on ExplorerBarGroup item to collapse the group. Default value is null + which indicates that default button is used. + + + + + Specifies custom image to be used as button on ExplorerBarGroup item to collapse the group. + This Image is used when mouse is over the button. Default value is null + which indicates that default button is used. + + + + + Specifies custom image to be used as button on ExplorerBarGroup item to collapse the group. + This Image is used when left mouse button is pressed while cursor is over the button. Default value is null + which indicates that default button is used. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for images displayed on the Group Item. + + + + + ImageList for large-sized images used on Items. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Indicates whether item shortcut is displayed in Tooltips. + + + + + Gets or sets the item default accesibility action will be performed on. + + + + + Indicates whether Reset buttons is shown that allows end-user to reset the toolbar state. + + + + + Returns the reference to the container that containing the sub-items. + + + + + Gets whether any handlers have been defined for SerializeItem event. If no handles have been defined to optimize performance SerializeItem event will not be attempted to fire. + + + + + Gets whether any handlers have been defined for DeserializeItem event. If no handles have been defined to optimize performance DeserializeItem event will not be attempted to fire. + + + + + Gets/Sets Bar definition as XML string. + + + + + Indicates whether shortucts handled by items are dispatched to the next handler or control. + + + + + Represents the method that will handle the ItemRemoved event. + + + + + Provides layout for Explorer-Bar control. + + + + + Creates new instance of ExplorerBarContainerItem class. + + + + + Returns copy of ExplorerBarContainerItem item + + + + + Recalculates the size of the item + + + + + Paints this base container + + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is released. This is used by internal implementation only. + + + + + Sets input focus to next visible item in Explorer Bar. + + True if focus was set to next visible item otherwise false. + + + + Sets input focus to previous visible item in Explorer Bar. + + True if focus was set to previous visible item otherwise false. + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Represents the Explorer-Bar Group item. + + + + + Creates new instance of ExplorerBarGroupItem. + + + + + Creates new instance of ExplorerBarGroupItem and assigns the name to it. + + Item name. + + + + Creates new instance of ExplorerBarGroupItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of ExplorerBarGroupItem item. + + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Occurs when the mouse pointer is moved over the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Occurs when the item is clicked. This is used by internal implementation only. + + + + + Called when Visibility of the items has changed. + + New Visible state. + + + + Overloaded. Serializes the item and all sub-items into the XmlElement. + + XmlElement to serialize the item to. + + + + Overloaded. Deserializes the Item from the XmlElement. + + Source XmlElement. + + + + Shows tooltip for this item. + + + + + Forces the repaint the item. + + + + + Applies default appearance to ExplorerBarGroupItem. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets or sets whether expand button is visible. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets whether drop shadow is displayed when non-themed display is used. + + + + + Gets the reference to ElementStyle object which describes visual appearance of the explorer group item title. + + + + + Gets the reference to ElementStyle object which describes visual appearance of the explorer group item title while mouse is over the title bar. + + + + + Gets or sets the item background style. + + + + + Gets or sets whether clicking the header of the control expands the item. + + + + + Applies the stock style to the object. + + + + + Applies new visual style to this the item and all of its sub-items. + + + + + Gets or sets expand button border color. + + + + + Gets or sets expand button back color. + + + + + Gets or sets expand button fore color. + + + + + Gets or sets hot expand button border color. + + + + + Gets or sets hot expand button back color. + + + + + Gets or sets hot expand button fore color. + + + + + Gets or sets a value indicating whether the item is enabled. + + + + + Gets the rectangle of the panel item Button. + + + + + Specifies the image. + + + + + Indicates whether XP themed special group colors are used for drawing. + + + + + Gets or sets the margin in pixels between the edge of the container and the items contained inside of it. Default value is 4. + + + + + Gets or sets whether text on sub items is wrapped on new line if it cannot fit the space available. + + + + + Specifies the index of the image if ImageList is used. + + + + + Summary description for frmCustomize. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Defines the generic container item that is used by toolbar, menu bar and other control for item layout. + + + + + Occurs when new item is added to the container. + + + + + Returns copy of GenericItemContainer item + + + + + Paints this base container + + + + + Recalculate Size of this item + + + + + This must be called by child item to let the parent know that its size + has been changed. + + + + + Occurs when the mouse pointer is over the item and a mouse button is released. This is used by internal implementation only. + + + + + Called when item owner has changed. + + + + + Return Sub Item at specified location + + + + + Set/Get does container wraps item into the new line when they exceed the container size + + + + + Specifies whether to display more items on popup menu or Bar. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets whether container is system container used internally by DotNetBar. + + + + + When parent items does recalc size for its sub-items it should query + image size and store biggest image size into this property. + + + + + Gets or sets whether item container fills the container control completely. + + + + + Summary description for Hook. + + + + + Summary description for HTMLHelp. + + + + + Interface for designer-item integration. + + + + + Describes container support for setting the word-wrap behavior of it's sub-items. + + + + + Gets or sets whether sub items text will be word wrapped if it cannot fit the space allocated. + + + + + Summary description for ItemPaintArgs. + + + + + Holds reference to all unique items in the DotNetBar. + + + + + Provides context information for serialization. + + + + + Gets or sets reference to context XmlElement an item is being serialized to. + + + + + Gets or sets whether SerializeItem event handler has been defined and whether event should be fired. + + + + + Gets or sets whether DeserializeItem event handler has been defined and whether event should be fired. + + + + + Provides access to serializer. + + + + + + + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Represent an style for the item. + + + + + Default Constructor + + + + + Makes a copy of the ItemStyle object. + + New Instance of a ItemStyle object + + + + Paints the style. + + Graphics object + Target area + Text + Text area + Text Font + + + + Paints the style + + Graphics object + Target Area + Text + Text area + Text Font + Border Type + + + + Paints the style + + Graphics object + Target Area + + + + Paints the style text only. + + Graphics object + Text + Text area + Font + + + + Gets or sets whether text is drawn vertically by this style. + + + + + Gets or sets a background color or starting color for gradient background. + + + + + Gets or sets a background color or ending color for gradient background. + + + + + Gets or sets a text color. + + + + + Gets or sets the gradient angle. + + + + + Gets or sets the style Font + + + + + Gets or sets a value that determines whether text is displayed in multiple lines or one long line. + + + + + Specifies alignment of the text. + + + + + Specifies alignment of the text. + + + + + Specifies how to trim characters when text does not fit. + + + + + Specifies background image. + + + + + Specifies background image position when container is larger than image. + + + + + Specifies the transparency of background image. + + + + + Gets or sets the corner type. + + + + + Gets or sets the diameter in pixels of the corner type rounded or diagonal. + + + + + Gets or sets the border type. + + + + + Gets or sets dash style for single line border type. + + + + + Gets or sets the border sides that are displayed. + + + + + Gets or sets the border color. + + + + + Gets or sets the line tickness of single line border. + + + + + Gets or sets the left text margin. + + + + + Gets or sets the right text margin. + + + + + Gets or sets the top text margin. + + + + + Gets or sets the bottom text margin. + + + + + + ColorEx object that provides the transparency setting ability. + + + + + Constructor with Color Initialization. + + Color object + + + + Constructor with Color and Transparency Initialization. + + Color object + Transparency + + + + Returns the color object with the transparency set. + + Color object + + + + Gets or sets the Color object which does not include transparency. + + + + + Indicates the transparency for the color. + + + + + Specifies that color derived from system colors which is part of DotNetBar Color Scheme object is used. + Colors derived from system colors are automatically refreshed when + system colors are changed. + + + We recommend using this property to specify color rather than setting color directly. + Using colors that are derived from system colors improves uniform look of your application + and visual integration into user environment. + + + + + Returns empty ColorEx object. + + + + + Indicates whether object contain any color. + + + + + Gets or sets a background color or starting color for gradient background. + + + + + Gets or sets a background color or ending color for gradient background. + + + + + Gets or sets a text color. + + + + + Gets or sets the gradient angle. + + + + + Gets or sets the style Font + + + + + Gets or sets a value that determines whether text is displayed in multiple lines or one long line. + + + + + Specifies alignment of the text. + + + + + Specifies alignment of the text. + + + + + Specifies how to trim characters when text does not fit. + + + + + Specifies background image. + + + + + Specifies background image position when container is larger than image. + + + + + Specifies the transparency of background image. + + + + + Gets or sets the corner type. + + + + + Gets or sets the diameter in pixels of the corner type rounded or diagonal. + + + + + Gets or sets the border type. + + + + + Gets or sets dash style for single line border type. + + + + + Gets or sets the border sides that are displayed. + + + + + Gets or sets the border color. + + + + + Gets or sets the line tickness of single line border. + + + + + Gets or sets the left text margin. + + + + + Gets or sets the right text margin. + + + + + Gets or sets the top text margin. + + + + + Gets or sets the bottom text margin. + + + + + ColorEx object that provides the transparency setting ability. + + + + + Gets or sets the Color object which does not include transparency. + + + + + Indicates the transparency for the color. + + + + + Specifies that color derived from system colors which is part of DotNetBar Color Scheme object is used. + Colors derived from system colors are automatically refreshed when + system colors are changed. + + + We recommend using this property to specify color rather than setting color directly. + Using colors that are derived from system colors improves uniform look of your application + and visual integration into user environment. + + + + + Summary description for LabelItem. + + + + + Called when ImageTextSpacing property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Reset property to its default value. + + + + + Gets whether property should be serialized. + + + + + Gets whether property should be serialized. + + + + + Resets the SingleLineColor property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Specifies spacing between label image and text. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets the type of the border drawn around the label. + + + + + Gets or sets the border sides that are displayed. Default value specifies border on all 4 sides. + + + + + Gets or sets the background color of the label. + + + + + Gets or sets the text color. + + + + + Gets or sets the border line color when border is single line. + + + + + Gets or sets the horizontal text alignment. + + + + + Gets or sets the text vertical alignment. + + + + + Gets or sets the label font. + + + + + Gets or sets the left padding in pixels. + + + + + Gets or sets the right padding in pixels. + + + + + Gets or sets the top padding in pixels. + + + + + Gets or sets the bottom padding in pixels. + + + + + Gets or sets the width of the label in pixels. + + + + + Gets or sets the height of the label. + + + + + Gets or sets whether the label is drawn as a divider label. + + + + + Gets or sets a value that determines whether text is displayed in multiple lines or one long line. + + + + + Indicates whether label text is rendered using bold font unless the Font property is specifically set to different font. + + + + + Gets or sets the text associated with this item. + + + + + Specifies the label icon. Icons support alpha blending. + + + + + Specifies label image. + + + + + Specifies the index of the image for the label if ImageList is used. + + + + + Gets/Sets the image position inside the label. + + + + + Gets or sets text-orientation. Default is horizontal. + + + + + Gets or sets how vertical text is rotated when TextOrientation = Vertical. + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on label instead of the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the color of the symbol. + + + + + Gets or sets whether label hosted in multi-line ItemContainer triggers new line switch after label is processed. + + + + + Contains static keys that are used to discover localized text for internal controls. + + + + + Navigation Pane collapse button tooltip text. + + + + + Navigation Pane expand button tooltip text. + + + + + Bar auto-hide button tooltip text. + + + + + Bar customize button tooltip text. + + + + + Bar close button tooltip text. + + + + + Bar maximize button tooltip text. + + + + + CustomizeItem tooltip text. + + + + + CustomizeItem Add/Remove text. + + + + + CustomizeItem text for button that opens Customize dialog. + + + + + CustomizeItem text for Reset command. + + + + + Tooltip text for system button that displays overflow items. + + + + + Text for Customize Dialog caption. + + + + + Text for Customize Dialog toolbars tab. + + + + + Text for Customize Dialog commands tab. + + + + + Text for Customize Dialog options tab. + + + + + Text for Customize Dialog keyboard button. + + + + + Text for Customize Dialog close button. + + + + + Text for Customize Dialog new toolbar button. + + + + + Text for Customize Dialog rename toolbar button. + + + + + Text for Customize Dialog delete toolbar button. + + + + + Text for Customize Dialog reset toolbar button. + + + + + Text for Customize Dialog label that gives following instructions to user: + To add a command to Bar select the category and drag the command out of this box to a Bar. + + + + + Text for Customize Dialog categories label. + + + + + Text for Customize Dialog toolbars label. + + + + + Text for Customize Dialog options tab Personalized Menus and Toolbars label. + + + + + Text for Customize Dialog options tab Aways show full menus check box. + + + + + Text for Customize Dialog options tab Show full menus after a short delay check box. + + + + + Text for Customize Dialog options tab 'Reset my usage data' command. + + + + + Text for Customize Dialog options tab 'Other' labe. + + + + + + + Text for Customize Dialog options tab 'Menu Animation:' label. + + + + + Text for Customize Dialog options tab Menu Animation combo box None option. + + + + + Text for Customize Dialog options tab Menu Animation combo box System Default option. + + + + + Text for Customize Dialog options tab Menu Animation combo box Random option. + + + + + Text for Customize Dialog options tab Menu Animation combo box Unfold option. + + + + + Text for Customize Dialog options tab Menu Animation combo box Slide option. + + + + + Text for Customize Dialog Confirm delete of bar message box. + + + + + Text for Reset command on customize item context menu. + + + + + Text for Delete item command on customize item context menu. + + + + + Text for Change Name item command on customize item context menu. + + + + + Text for Default Style item command on customize item context menu. + + + + + Text for Text Only item command on customize item context menu. + + + + + Text for Image And Text item command on customize item context menu. + + + + + Text for Begin Group item command on customize item context menu. + + + + + Text MdiSystemItem Minimize button. + + + + + Text MdiSystemItem Restore button. + + + + + Text MdiSystemItem Close button. + + + + + Text MdiSystemItem menu Restore command. + + + + + Text MdiSystemItem menu Move command. + + + + + Text MdiSystemItem menu Size command. + + + + + Text MdiSystemItem menu Minimize command. + + + + + Text MdiSystemItem menu Maximize command. + + + + + Text MdiSystemItem menu Close command. + + + + + Text MdiSystemItem menu Next command. + + + + + Text Navigation Bar Show More Buttons menu item. + + + + + Text Navigation Bar Show Fewer Buttons menu item. + + + + + Text Navigation Bar Options menu item. + + + + + Text for Move Up button on Navigation Bar Options dialog box. + + + + + Text for Move Down button on Navigation Bar Options dialog box. + + + + + Text for Reset button on Navigation Bar Options dialog box. + + + + + Text for OK button on Navigation Bar Options dialog box. + + + + + Text for Cancel button on Navigation Bar Options dialog box. + + + + + Text for Navigation Bar Options dialog box title. + + + + + Text for Navigation Bar Options label which is displayed above the list box which lists all the controls. + + + + + Text for Rename Toolbar dialog caption. + + + + + Text for New Toolbar dialog caption. + + + + + Text for Bar Name label on Bar edit dialog (either rename or new). + + + + + Text for OK Button on Bar edit dialog (either rename or new). + + + + + Text for Cancel Button on Bar edit dialog (either rename or new). + + + + + Text for Invalid Name Message on Bar edit dialog (either rename or new). + + + + + Text displayed on Color Picker drop down Theme Colors label. + + + + + Text displayed on Color Picker drop down Standard Colors label. + + + + + Text displayed on Color Picker drop down more colors menu item. + + + + + Text for the OK Button on Color Picker dialog. + + + + + Text for the Cancel Button on Color Picker dialog. + + + + + Text for the new color label on Color Picker dialog. + + + + + Text for the current color label on Color Picker dialog. + + + + + Text for the colors label on the standard colors tab. + + + + + Text for the colors label on the custom colors tab. + + + + + Text for the green component label on the custom colors tab. + + + + + Text for the blue component label on the custom colors tab. + + + + + Text for the red component label on the custom colors tab. + + + + + Text for the Color Model label on the custom colors tab. + + + + + Text for the RGB combo box item choice on the custom colors tab. + + + + + Text for the Standard tab on color picker dialog. + + + + + Text for the Custom tab on color picker dialog. + + + + + Text for the Custom tab on color picker dialog. + + + + + Text for the Custom tab on color picker dialog. + + + + + Indicates the text for Today button displayed on the MonthCalendarItem control. + + + + + Indicates the text for Clear button displayed on the MonthCalendarItem control. + + + + + Indicates the text for MessageBoxEx Abort button. + + + + + Indicates the text for MessageBoxEx Cancel button. + + + + + Indicates the text for MessageBoxEx Close button. + + + + + Indicates the text for MessageBoxEx Continue button. + + + + + Indicates the text for MessageBoxEx Help button. + + + + + Indicates the text for MessageBoxEx Ignore button. + + + + + Indicates the text for MessageBoxEx No button. + + + + + Indicates the text for MessageBoxEx OK button. + + + + + Indicates the text for MessageBoxEx Retry button. + + + + + Indicates the text for MessageBoxEx Try Again button. + + + + + Indicates the text for MessageBoxEx Yes button. + + + + + Identifies Form system menu Restore item. + + + + + Identifies Form system menu Move item. + + + + + Identifies Form system menu Size item. + + + + + Identifies Form system menu Minimize item. + + + + + Identifies Form system menu Maximize item. + + + + + Identifies Form system menu Close item. + + + + + Identifies Time Selector OK button. + + + + + Identifies Time Selector Clear button. + + + + + Identifies Time Selector Hour Label. + + + + + Identifies Time Selector Minute Label. + + + + + Identifies 'Show all' Filter Expression label. + + + + + Identifies 'Show null' Filter Expression label. + + + + + Identifies 'Show not null' Filter Expression label. + + + + + Identifies 'Custom' Filter Expression label. + + + + + Identifies 'Enter expression' Filter text. + + + + + Identifies 'Apply' Filter Expression button label. + + + + + Identifies 'Apply' Filter Expression button label. + + + + + Identifies 'Apply' Filter Expression button label. + + + + + Identifies 'Ok' Filter Expression button label. + + + + + Identifies 'Cancel' Filter Expression button label. + + + + + Identifies 'Close' Filter Expression button label. + + + + + Identifies 'Clear' Filter Expression button label. + + + + + Identifies 'Clear' Filter Expression button label. + + + + + Identifies Filter DateTimePicked dialog 'Filter by relative date' text. + + + + + Identifies Filter DateTimePicker dialog 'Filter by specific date' text. + + + + + Identifies Filter DateTimePicker dialog 'Filter by date range' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Current Month' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Current Year' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Last Month Period' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Last 3 Month Period' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Last 6 Month Period' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Last 9 Month Period' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Last Year' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Last 5 Year Period' text. + + + + + Identifies Filter DateTimePicker dialog, ByRelativeDate combo entry 'Last 10 Year Period' text. + + + + + Identifies Filter expression evaluation error 'Expression error' text. + + + + + Identifies Filter expression evaluation error 'Missing parenthesis' text. + + + + + Identifies Filter expression evaluation error 'Missing quote' text. + + + + + Identifies Filter expression evaluation error 'Invalid number of arguments' text. + + + + + Identifies Filter expression evaluation error 'Invalid argument' text. + + + + + Identifies Filter expression evaluation error 'Invalid 'Empty' operation' text. + + + + + Identifies Filter expression evaluation error 'Invalid DateTime operation' text. + + + + + Identifies Filter expression evaluation error 'Invalid bool operation' text. + + + + + Identifies Filter expression evaluation error 'Invalid string operation' text. + + + + + Identifies Filter expression evaluation error 'Invalid numeric operation' text. + + + + + Identifies Filter expression evaluation error 'Invalid logical evaluation' text. + + + + + Identifies Filter expression evaluation error 'Undefined User function' text. + + + + + Identifies custom filter dialog title 'Custom Filter' text. + + + + + Identifies custom filter dialog 'New Filter' text. + + + + + Identifies custom filter dialog 'New' button text. + + + + + Identifies custom filter dialog 'Delete' button text. + + + + + Identifies custom filter dialog 'Filter Name' text. + + + + + Identifies custom filter dialog 'Description' text. + + + + + Identifies custom filter dialog 'Show in FilterPopup' text. + + + + + Identifies custom filter dialog title 'Custom Filter' text. + + + + + Identifies the default GroupBy WaterMarkText. + + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Represents an item that displays log information in list container. + + + + + Initializes a new instance of the LogItem class. + + + + + + Creates new instance of LogItem and assigns the name to it. + + Item name. + + + + Creates new instance of LogItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets the color of the control text body. + + + + + Gets or sets the color of the header text. + + + + + Gets or sets the image displayed on the log item. + + + + + Gets or sets the image position in relation to text. + + + + + Gets or sets the background color of the item. + + + + + Gets whether item supports text markup. Default is false. + + + + + Summary description for MdiWindowListItem. + + + + + Initializes the item and connects it to the MDI form so it can process the events. You should not call this method directly since this process is + automatically managed by the item. + + + + + Initializes the item and connects it to the MDI form so it can process the events. You should not call this method directly since this process is + automatically managed by the item. + + + + + Refresh the MDI Child form Icons that are displayed on window list items. + + + + + Gets or sets whether the MDI Child Window Icons are displayed on items. + + + + + Gets or sets maximum form caption length that will be displayed on each item. If caption length exceeds given value ... characters are added. + + + + + Gets whether item has been connected to the MDI form so it can process its events. + + + + + Gets or sets whether flicker associated with switching maximized Mdi child forms is attempted to eliminate. You should set this property to false if you encounter any painting problems with your Mdi child forms. + + + + + Gets or sets whether numbered access keys are created for MDI Child window menu items for first 9 items. Access keys will start with number 1 and go through 9. Default value is false + which indicates that access keys are not created. + + + + + Summary description for PopupWindow. + + + + + Return Sub Item at specified location + + + + + Gets or sets whether Key Tips (accelerator keys) for items are displayed on top of them. + + + + + Gets or sets the font that is used to display Key Tips (accelerator keys) when they are displayed. Default value is null which means + that control Font is used for Key Tips display. + + + + + Gets or sets the item default accessibility action will be performed on. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Sets,Gets the side bar image structure. + + + + + Gets or sets the HotSubItem on the menu. This method is used internally by DotNetBar and should not be used in your application. + + + + + Summary description for MessageHandler. + + + + + Summary description for NativeFunctions. + + + + + For use with ChildWindowFromPointEx + + + + + Does not skip any child windows + + + + + Skips invisible child windows + + + + + Skips disabled child windows + + + + + Skips transparent child windows + + + + + Represents Outlook 2003 like Navigation Bar. + + + + + Default constructor. + + + + + Applies design-time defaults to control. + + + + + Increases the size of the navigation bar if possible by showing more buttons on the top. + + + + + Reduces the size of the navigation bar if possible by showing fewer buttons on the top. + + + + + Saves current visual layout of navigation bar control to XML based file. + + File name to save layout to. + + + + Saves current visual layout of navigation bar control to XmlElement. + + XmlElement object that will act as a parent for the layout definition. Exact same element should be passed into the LoadLayout method to load the layout. + + + + Loads navigation bar layout that was saved using SaveLayout method. Note that this method must be called after all items are created and added to the control. + + File to load layout from. + + + + Loads navigation bar layout that was saved using SaveLayout method. Note that this method must be called after all items are created and added to the control. + + Parent XML element that is used to load layout from. Note that this must be the same element that was passed into the SaveLayout method. + + + + Occurs after Options dialog which is used to customize control's content has closed by user using OK button. + + + + + Returns collection of items on a bar. + + + + + Gets or sets whether Configure Buttons button is visible. + + + + + Gets or sets whether Show More Buttons and Show Fewer Buttons menu items are visible on Configure buttons menu. + + + + + Gets or sets whether Navigation Pane Options menu item is visible on Configure buttons menu. + + + + + Gets or sets whether Navigation Pane Add/Remove Buttons menu item is visible on Configure buttons menu. + + + + + Gets or sets whether summary line is visible. + + + + + Gets or sets the padding in pixels at the top portion of the item. Height of each item will be increased by padding amount. + + + + + Gets or sets the padding in pixels for bottom portion of the item. Height of each item will be increased by padding amount. + + + + + Returns items container. + + + + + Returns reference to currently checked button. + + + + + Gets or sets whether images are automatically resized to size specified in ImageSizeSummaryLine when button is on the bottom summary line of navigation bar. + + + + + Gets or sets size of the image that will be use to resize images to when button button is on the bottom summary line of navigation bar and AutoSizeButtonImage=true. + + + + + Gets or sets the navigation bar definition string. + + + + + Gets/Sets the visual style for items and color scheme. + + + + + Indicates whether splitter on top of the navigation bar is visible. When activated splitter will let user change the height of the + control to show fewer or more buttons. It is recommended to have navigation bar docked to bottom (Dock=Bottom) to maintain + proper layout. + + + + + Container control for Navigation Bar. + + + + + Creates new instance of NavigationBarContainer. + + + + + Creates new instance of SideBarPanelItem and assigns the name to it. + + Item name. + + + + Creates new instance of SideBarPanelItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of SideBarPanelItem item. + + + + + Recalculates size of this container. + + + + + Increases the size of the navigation bar if possible by showing more buttons on the top. + + + + + Reduces the size of the navigation bar if possible by showing fewer buttons on the top. + + + + + Must be called by any sub item that implements the image when image has changed + + + + + Occurs after an item has been added to the container. This procedure is called on both item being added and the parent of the item. To distinguish between those two states check the item parameter. + + When occurring on the parent this will hold the reference to the item that has been added. When occurring on the item being added this will be null (Nothing). + + + + Occurs after an item has been removed. + + Item being removed. + + + + Returns index of the first item that is displayed in summary line or -1 if there is no item displayed in summary line. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets whether Configure Buttons button is visible. + + + + + Gets or sets whether Show More Buttons and Show Fewer Buttons menu items are visible on Configure buttons menu. + + + + + Gets or sets whether Navigation Pane Options menu item is visible on Configure buttons menu. + + + + + Gets or sets whether Navigation Pane Add/Remove Buttons menu item is visible on Configure buttons menu. + + + + + Gets or sets the padding in pixels at the top portion of the item. Height of each item will be increased by padding amount. + + + + + Gets or sets the padding in pixels for bottom portion of the item. Height of each item will be increased by padding amount. + + + + + Gets or sets whether images are automatically resized to size specified in ImageSizeSummaryLine when button is on the bottom summary line of navigation bar. + + + + + Gets or sets size of the image that will be use to resize images to when button button is on the bottom summary line of navigation bar and AutoSizeButtonImage=true. + + + + + Gets or sets whether summary line is visible. + + + + + Delegate for OptionGroupChanging event. + + + + + Delegate for PanelPopup events. + + + + + Represents Outlook 2003 style navigation pane control. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Applies any layout changes and repaint the control. + + + + + Returns Panel associated with button on navigation bar or null if panel cannot be found. + + Button on navigation bar. + + + + + Suspends normal layout logic. + + + + + Resumes normal layout logic. Optionally forces an immediate layout of pending layout requests. + + + + + Increases the size of the navigation bar if possible by showing more buttons on the top. + + + + + Reduces the size of the navigation bar if possible by showing fewer buttons on the top. + + + + + Saves current visual layout of navigation bar control to XML based file. + + File name to save layout to. + + + + Saves current visual layout of navigation bar control to XmlElement. + + XmlElement object that will act as a parent for the layout definition. Exact same element should be passed into the LoadLayout method to load the layout. + + + + Popup selected pane when control is collapsed. When control is collapsed (Expanded=false) currently selected pane is not visible + calling this method will popup selected pane and allow user access to it. Use PopupPaneVisible property + to check whether currently selected pane is displayed as popup. + + + + + Hides popup selected pane when control is collapsed and selected pane is displayed as popup. When control is collapsed (Expanded=false) + currently selected pane can be displayed as popup. Calling this method will hide the popup pane. Use PopupPaneVisible property + to check whether currently selected pane is displayed as popup. + + + + + Raises the PanelPopupClosed event. + + Provides event arguments. + + + + Loads navigation bar layout that was saved using SaveLayout method. Note that this method must be called after all items are created and added to the control. + + File to load layout from. + + + + Loads navigation bar layout that was saved using SaveLayout method. Note that this method must be called after all items are created and added to the control. + + Parent XML element that is used to load layout from. Note that this must be the same element that was passed into the SaveLayout method. + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Updates the color scheme on child panels to reflect the style of the NavigationBar control. Calling this method is necessary only if you manually + change the NavigationBar.ColorScheme property. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Occurs when Item is clicked. + + + + + Occurs when currently selected panel is about to change. + + + + + Occurs when control is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Occurs before panel is displayed on popup when control is collapsed. You can use this event to modify default + size of the popup panel or cancel the popup of the panel. + + + + + Occurs after panel is displayed on popup. + + + + + Occurs after panel displayed on popup is closed. + + + + + Occurs before Expanded property is changed. You can cancel change of this property by setting Cancel=true on the event arguments. + + + + + Occurs after Expanded property has changed. You can handle ExpandedChanging event and have opportunity to cancel the change. + + + + + Occurs after Options dialog which is used to customize control's content has closed by user using OK button. + + + + + Returns the width of the expanded control if control is currently collapsed. + + + + + Returns collection containing buttons on navigation bar. + + + + + Gets or sets the height of the navigation bar part of the navigation pane control. + Navigation Bar height is automatically calculated based on the content. + Setting this property suggests desired height of the navigation bar but the actual height will be + calculated to ensure that complete buttons are visible so suggested and actual height might differ. + + + + + Returns reference to internal NavigationBar control. + + + + + Gets or sets size of the image that will be use to resize images to when button button is on the bottom summary line of navigation bar and AutoSizeButtonImage=true. + + + + + Gets or sets whether Configure Buttons button is visible. + + + + + Gets or sets whether Show More Buttons and Show Fewer Buttons menu items are visible on Configure buttons menu. + + + + + Gets or sets whether Navigation Pane Options menu item is visible on Configure buttons menu. + + + + + Gets or sets whether Navigation Pane Add/Remove Buttons menu item is visible on Configure buttons menu. + + + + + Returns reference to currently checked button. + + + + + Returns reference to currently selected panel. Panels are automatically switched when buttons are checked. + + + + + ImageList for images used on Items. + + + + + Returns reference to the PanelEx that is used to display title. + + + + + Gets or sets the padding in pixels at the top portion of the item. Height of each item will be increased by padding amount. + + + + + Gets or sets the padding in pixels for bottom portion of the item. Height of each item will be increased by padding amount. + + + + + Gets or sets whether images are automatically resized to size specified in ImageSizeSummaryLine when button is on the bottom summary line of navigation bar. + + + + + Gets or sets the navigation bar definition string. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Gets or sets animation time in milliseconds when control is expanded or collapsed. Default value is 100 miliseconds. You can set this to 0 (zero) to disable animation. + + + + + Gets or sets whether navigation pane can be collapsed. Default value is false. When set to true + expand/collapse button will be displayed in title so control can be reduced in size. + + + + + Gets or sets alignment of the expand button inside of title bar. + + + + + Gets or sets whether navigation pane is expanded. Default value is true. + When control is collapsed it is reduced in size so it consumes less space. + + + + + Gets the reference to the inner panel displaying Navigation Pane vertical text created when control is collapsed. + + + + + Gets or sets whether selected pane is displayed as popup when control is collapsed (Expanded=false). Using + navigation pane button that is displayed when control is collapsed user can popup or close currently selected pane without + expanding the control. You can use this property to do same from code as well as check whether selected pane is displayed as + popup. Note that control must be collapsed (Expanded=false) in order for this property to have any effect. + + + + + Gets/Sets the visual style for the control. Default style is Office 2003. + + + + + Represents event arguments for PanelChanging event. + + + + + Set to true to cancel changing of the panel. + + + + + Panel that will be selected if operation is not cancelled. + + + + + Panel that is currently selected and which will be de-selected if operation is not cancelled. + + + + + Default constructor. + + + + + Represents event arguments for BeforePanelPopup event. + + + + + Set to true to cancel popup of the panel. + + + + + Size and position of popup. You can modify this memeber to affect size and position of popup. + + + + + Default constructor. + + + + + Represents Panel on Navigation Pane control. + + + + + Gets or sets button associated with the pane on the panel when hosted on NavigationPane control. + + + + + Summary description for NavPaneOptions. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Updates position of the title bar button to reflect any changes to the button that influence size of the button. + + + + + Occurs when Expanded/Collapse button is clicked. + + + + + Gets or sets whether expand button is visible or not. Default value is true. + + + + + Gets or sets alignment of the button. + + + + + Gets or sets whether text markup if it occupies less space than control provides uses the Style Alignment and LineAlignment properties to align the markup inside of the control. Default value is true. + + + + + Use as a popup container for DotNetBar objects. + + + + + Summary description for PopupContainer. + + + + + Summary description for PopupShadow. + + + + + Represents a progress bar item. + + + + + Creates new instance of ProgressBarItem. + + + + + Creates new instance of ProgressBarItem and assigns the name to it. + + Item name. + + + + Creates new instance of ProgressBarItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the ProgressBarItem specific properties to new instance of the item. + + New ProgressBarItem instance. + + + + Copies the ProgressBarItem specific properties to new instance of the item. + + New ProgressBarItem instance. + + + + Overriden. Draws the item. + + Target Graphics object. + + + + Overriden. Recalculates the size of the item. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Advances the current position of the progress bar by the amount of the Step property. + + + + + Advances the current position of the progress bar by the specified amount. + + The amount by which to increment the progress bar's current position. + + + + Gets whether ChunkColor property should be serialized. + + + + + Resets the ChunkColor property to its default value. + + + + + Gets whether ChunkColor property should be serialized. + + + + + Resets the ChunkColor property to its default value. + + + + + Overloaded. Deserializes the Item from the XmlElement. + + Source XmlElement. + + + + Overloaded. Serializes the item and all sub-items into the XmlElement. + + XmlElement to serialize the item to. + + + + Gets or sets the item background style. + + + + + Specifies the background style of the item. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets or sets the current position of the progress bar. + + + + + Gets or sets the amount by which a call to the PerformStep method increases the current position of the progress bar. + + + + + Gets or sets whether the text inside the progress bar is displayed. + + + + + Gets or sets the width of the item in pixels. 0 value indicates the auto-sizing item based on the text contained in it. + + + + + Gets or sets the height of the label. 0 value indicates the auto-sizing item based on the text height. + + + + + Gets or sets the color of the progress chunk. + + + + + Gets or sets the target gradient color of the progress chunk. + + + + + Gets or sets the gradient angle of the progress chunk. + + + + + Indicates item's visiblity when on pop-up menu. + + + + + Indicates whether item was recently used. + + + + + Gets or sets the type of progress bar used to indicate progress. The Standard style displays the progress based on Minimum, Maximum and current Value. + The Marquee type is automatically moving progress bar that is used to indicate an ongoing operation for which the actual duration cannot be estimated. + + + + + Gets or sets the marquee animation speed in milliseconds. + + + + + Gets or sets the predefined color state table for progress bar. Color specified applies to items with Office 2007 style only. It does not have + any effect on other styles. You can use ColorTable to indicate the state of the operation that Progress Bar is tracking. Default value is eProgressBarItemColor.Normal. + + + + + Summary description for RemindForm. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents color table for Bar objects in various states. + + + + + Gets or sets the colors for top part of toolbar background. + + + + + Gets or sets the colors for bottom part of toolbar background. + + + + + Gets or sets the color of the bottom border. + + + + + Gets or sets the popup toolbar background color. + + + + + Gets or sets the color of popup toolbar border. + + + + + Gets or sets the status bar top border color. + + + + + Gets or sets the status bar top border light color. + + + + + Gets or sets the alternative background colors for the status bar. + + + + + Represents color table for ButtonItem object. + + + + + Gets or sets the name of the color table. + + + + + Gets or sets the color table applied for button in default state. + + + + + Gets or sets the color table applied when mouse is over the button. + + + + + Gets or sets the color table applied when mouse is over the buttons inactive split part. Applies to split button appearance only. + + + + + Gets or sets the color table applied when mouse is pressed over the button. + + + + + Gets or sets the color table applied when mouse is pressed over the button. + + + + + Gets or sets the color table applied when button is expanded. + + + + + Gets or sets the color table applied when cursor is over button on a menu. + + + + + Represents typed collection of Office2007ButtonItemColorTable type. + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Returns whether collection contains object with specified name. + + Name of the object to look for + true if object with given name is part of the collection otherwise false + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the Office2007ButtonItemColorTable array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's index. + + + + + Represents a color table for ButtonItem in certain state like but not limited to mouse over, checked or pressed. + + + + + Gets or sets the outer border colors. + + + + + Gets or sets the outer border width. Default is 1. + + + + + Gets or sets the inner border colors. + + + + + Gets or sets top part background colors. + + + + + Gets or sets highlight colors for the top background part. + + + + + Gets or sets bottom part background colors. + + + + + Gets or sets highlight colors for the bottom background part. + + + + + Gets or sets the split border colors that divides button text and image from expand part of the button. + + + + + Gets or sets the split border light colors that divides button text and image from expand part of the button. + + + + + Gets or sets the text color. + + + + + Gets or sets the background color of the expand sign. + + + + + Gets or sets the outline light color of the expand sign. + + + + + Gets or sets the single gradient background for the button. When specified it is used instead of TopBackground and BottomBackground for rendering. + + + + + Represent the color table for the CheckBoxItem. + + + + + Gets or sets the colors for the item in default state. + + + + + Gets or sets the colors for the item when mouse is over the item. + + + + + Gets or sets the colors for the item when mouse is pressed over the item. + + + + + Gets or sets the colors for the item when item is disabled. + + + + + Defines the colors for the single CheckBoxItem state. + + + + + Gets or sets the background colors of the check box. + + + + + Gets or sets the color of the check border. + + + + + Gets or sets the inner color of check box border. + + + + + Gets or sets the inner background color of check box. + + + + + Gets or sets the color of the check sign that is drawn when item is checked. + + + + + Gets or sets the text color. + + + + + Defines color table for ColorItem. + + + + + Gets or sets the border that is drawn around each individual color item or color item group. + + + + + Gets or sets the inner mouse over color. + + + + + Gets or sets the outer mouse over color. + + + + + Represents the painter for ColorItem in Office 2007 style + + + + + Gets or sets color table used by renderer. + + + + + Defines the color scheme type for the Office2007ColorTable. + + + + + Blue color scheme. + + + + + Black color scheme. + + + + + Silver color scheme. + + + + + Windows Vista Glass inspired color scheme. + + + + + Defines the delegate which retrieves the color for specific integer value. + + color represented as integer. + Reference to Color object. + + + + Defines contextual label colors. + + + + + Initializes a new instance of the LabelColors structure. + + + + + + + Initializes ColorScheme object with the black color scheme. + + ColorScheme object to initialize. + + + + Defines the color table for the combo box. + + + + + Gets or sets the color for combo box in default state. + + + + + Gets or sets the color for standalone combo box in default state. Standalone combo box is a control not used by ComboBoxItem. + + + + + Gets or sets the colors when mouse is over the control. + + + + + Gets or sets the colors when control is dropped down. + + + + + Defines the combo box colors for a particular state. + + + + + Gets or sets the border color. + + + + + Gets or sets the background color. + + + + + Gets or sets the outer expand button border. + + + + + Gets or sets the inner expand button border. + + + + + Gets or sets the background color of the expand button. + + + + + Gets or sets the foreground color of the expand button. + + + + + Defines color table for the Office 2007 style DataGridView control. + + + + + Gets or sets grid background color. + + + + + Gets or sets default cell color. + + + + + Gets or sets default cell text color. + + + + + Gets or sets the background color for the column headers in normal state. + + + + + Gets or sets the normal column text color. + + + + + Gets or sets the column header border color. + + + + + Gets or sets the background color for the column headers in mouse over state. + + + + + Gets or sets the column header border color when mouse is over the column. + + + + + Gets or sets the selected column header text color. + + + + + Gets or sets the background color for the column headers in selected state. + + + + + Gets or sets the border color for the column headers in selected state. + + + + + Gets or sets the background color for the column headers in selected mouse over state. + + + + + Gets or sets the border color for the column headers in selected mouse over state. + + + + + Gets or sets the background color for the column headers in pressed state. + + + + + Gets or sets the border color for the column headers in pressed state. + + + + + Gets or sets the column header foreground color. + + + + + Gets or sets the background color for row marker background. + + + + + Gets or sets the border color for row marker. + + + + + Gets or sets the background color for row marker background. + + + + + Gets or sets the border color for row marker. + + + + + Gets or sets the background color for row marker background. + + + + + Gets or sets the border color for row marker. + + + + + Gets or sets the background color for row marker background. + + + + + Gets or sets the border color for row marker. + + + + + Gets or sets the background color for row marker background. + + + + + Gets or sets the border color for row marker. + + + + + Gets or sets the color of the grid lines. + + + + + Gets or sets the background color of selector cell usually located in top-left corner. + + + + + Gets or sets the border color of selector cell usually located in top-left corner. + + + + + Gets or sets the light border color of selector cell usually located in top-left corner. + + + + + Gets or sets the dark border color of selector cell usually located in top-left corner. + + + + + Gets or sets the sign color of selector cell usually located in top-left corner. + + + + + Gets or sets the background color of selector cell usually located in top-left corner. + + + + + Gets or sets the border color of selector cell usually located in top-left corner. + + + + + Gets or sets the light border color of selector cell usually located in top-left corner. + + + + + Gets or sets the dark border color of selector cell usually located in top-left corner. + + + + + Gets or sets the sign color of selector cell usually located in top-left corner. + + + + + Defines color table for the Dialog Launcher button. + + + + + Gets or sets the colors for the default state. + + + + + Gets or sets the colors for the mouse over state. + + + + + Gets or sets the colors for the pressed state. + + + + + Defines the color table for dialog launcher state. + + + + + Gets or sets the color of dialog launcher symbol. + + + + + Gets or sets the shade color of dialog launcher symbol. + + + + + Gets or sets the background color for the top part of the element. + + + + + Gets or sets the background color for the bottom part of the element. + + + + + Gets or sets the outer border colors. + + + + + Gets or sets the inner border colors. + + + + + Defines the color table for all states of Office 2007 style form caption. + + + + + Gets or sets the color table for caption in active state. + + + + + Gets or sets the color table for caption in inactive state. + + + + + Gets or sets the background color of the form. + + + + + Gets or sets the text color of the form. + + + + + Gets or sets the MDI Client Background image. + + + + + Defines color table for the Office 2007 style Form caption color state. + + + + + Gets or sets the colors for the top part of the background. + + + + + Gets or sets the colors for the bottom part of the background. + + + + + Gets or sets the array of colors used to draw the border that separates the form caption and the form content. Applies only to the Office2007Form rendering. + + + + + Gets or sets the color of caption text. + + + + + Gets or sets the color of caption extra text that is appended to the caption. + + + + + Gets or sets the array of colors that represents the border colors. Outer border is at index 0. + + + + + Represents the color table used by the Gallery container. + + + + + Gets or sets the background color of the Gallery Group label when gallery is displayed on popup. + + + + + Gets or sets the text color of the Gallery Group label when gallery is displayed on popup. + + + + + Gets or sets the border color of the Gallery Group label when gallery is displayed on popup. + + + + + Represents color table for ItemContainer object with BeginGroup set to true. + + + + + Gets or sets the outer border colors. + + + + + Gets or sets the inner border colors. + + + + + Gets or sets the top background colors. + + + + + Gets or sets the bottom background colors. + + + + + Gets or sets the dark color of item devider for items inside of the ItemContainer. + + + + + Gets or sets the light color of item devider for items inside of the ItemContainer. + + + + + Represents the color table for key tips. + + + + + Gets or sets KeyTip Text color. + + + + + Gets or sets KeyTip border color. + + + + + Gets or sets KeyTip Background color. + + + + + Represents color table for ListViewEx control. + + + + + Gets or sets the background color of the columns. + + + + + Gets or sets the color of the column separator. + + + + + Gets or sets the color of the column text. + + + + + Gets or sets the color of the control border. + + + + + Gets or sets the background colors for the selected item. + + + + + Gets or sets the color of the selected item border that is draw on top and bottom of the selection. + + + + + Gets or sets the text color for selected item. + + + + + Defines the color table for the menus. + + + + + Gets or sets the menu background colors. + + + + + Gets or sets the menu side background colors. + + + + + Gets or sets the menu side background colors for the items that were not recently used. + + + + + Gets or sets the menu border background colors. + + + + + Gets or sets the menu side border. + + + + + Gets or sets the light menu side border. + + + + + Gets or sets the background color blend for the special file menu background. + + + + + Gets or sets the two column container border color. + + + + + Gets or sets the two column container light border color. + + + + + Gets or sets the background color of first file column. + + + + + Gets or sets the border color of first file column. + + + + + Gets or sets the background color of first file column. + + + + + Gets or sets the background color blend for the bottom container on file menu. + + + + + Defines the color table for the NavigationPane control. + + + + + Gets or sets the background color collection blend for the button background. + + + + + Gets or sets color table used by renderer. + + + + + Defines color table for the Office 2007 style ProgressBarItem. + + + + + Gets or sets the background color collection blend for the item background. + + + + + Gets or sets the outer border color. + + + + + Gets or sets the inner border color. + + + + + Gets or sets the color collection blend for the current progress part of the item. + + + + + Gets or sets the color collection blend for overlay for the current progress of the item. + + + + + Gets or sets the color collection blend of shadow for the current progress of the item. + + + + + Defines abstract class for the ProgressBarItem painter. + + + + + Gets or sets color table used by renderer. + + + + + Defines painter for the Office 2007 style QAT Customize Item. + + + + + Defines base class for QAT customize item painter. + + + + + Gets or sets color table used by renderer. + + + + + Defines Office 2007 style QAT painter. + + + + + Defines base class for QAT overflow item painter. + + + + + Gets or sets color table used by renderer. + + + + + Defines the color table for the quick access toolbar in all states. + + + + + Gets or sets the colors for the quick access toolbar background when hosted in ribbon control caption and form is active + or the background colors when toolbar is hosted below the ribbon control. + + + + + Gets or sets the colors for the quick access toolbar background when hosted in ribbon control caption and form is inactive + + + + + Gets or sets the colors for the quick access toolbar background when positioned below the ribbon bar. + + + + + Gets or sets the background color of Customize Quick Access Toolbar menu label displayed on customize quick access toolbar menu. + + + + + Gets or sets the text color of Customize Quick Access Toolbar menu label displayed on customize quick access toolbar menu. + + + + + Defines the color table for the Quick Access toolbar. + + + + + Gets or sets the colors of the top background. + + + + + Gets or sets the colors of the bottom background. + + + + + Gets or sets the outer border color. + + + + + Gets or sets the middle border color. + + + + + Gets or sets the inner border color. + + + + + Gets or sets the border when Windows Vista Glass is enabled. + + + + + Represents Office 2007 Control renderer. + + + + + Represents bases class that defines a renderer. + + + + + Raises RenderKeyTips event. + + Provides context information. + + + + Draws KeyTip for an object. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderKeyTips method so events can occur. + + Provides context information. + + + + Raises RenderRibbonTabGroup event. + + Provides context information. + + + + Draws ribbon tab group. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonTabGroup method so events can occur. + + Provides context information. + + + + Raises RenderItemContainer event. + + Provides context information. + + + + Draws the separator for an item inside of item container. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderItemContainerSeparator method so events can occur. + + Provides context information. + + + + Raises RenderItemContainer event. + + Provides context information. + + + + Draws item container. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderItemContainer method so events can occur. + + Provides context information. + + + + Raises RenderButtonItem event. + + Provides context information. + + + + Draws ButtonItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderButtonItem method so events can occur. + + Provides context information. + + + + Raises RenderRibbonTabItem event. + + Provides context information. + + + + Draws RibbonTabItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonTabItem method so events can occur. + + Provides context information. + + + + Raises RenderToolbarBackground event. + + Provides context information. + + + + Draws docked or floating toolbar background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderToolbarBackground method so events can occur. + + Provides context information. + + + + Raises RenderPopupToolbarBackground event. + + Provides context information. + + + + Draws popup toolbar background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderPopupToolbarBackground method so events can occur. + + Provides context information. + + + + Raises RenderRibbonDialogLauncher event. + + Provides context information. + + + + Draws ribbon bar dialog launcher button. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonDialogLauncher method so events can occur. + + Provides context information. + + + + Raises RenderColorItem event event. + + Provides context information. + + + + Draws ColorItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderColorItem method so events can occur. + + Provides context information. + + + + Raises RenderRibbonControlBackground event event. + + Provides context information. + + + + Draws the background of the Ribbon Control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonControlBackground method so events can occur. + + Provides context information. + + + + Raises RenderSystemCaptionItem event event. + + Provides context information. + + + + Draws the SystemCaptionItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSystemCaptionItem method so events can occur. + + Provides context information. + + + + Raises RenderRibbonFormCaptionText event event. + + Provides context information. + + + + Draws the form caption text for the Ribbon Control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonFormCaptionText method so events can occur. + + Provides context information. + + + + Raises RenderQuickAccessToolbarBackground event event. + + Provides context information. + + + + Draws the background of Quick Access Toolbar on Ribbon Control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderQuickAccessToolbarBackground method so events can occur. + + Provides context information. + + + + Raises RenderMdiSystemItem event. + + Provides context information. + + + + Draws the MdiSystemItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderMdiSystemItem method so events can occur. + + Provides context information. + + + + Raises RenderFormCaptionBackground event. + + Provides context information. + + + + Draws the form caption background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderFormCaptionBackground method so events can occur. + + Provides context information. + + + + Raises RenderQatOverflowItem event. + + Provides context information. + + + + Draws the Quick Access Toolbar Overflow item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderQatOverflowItem method so events can occur. + + Provides context information. + + + + Raises RenderQatCustomizeItem event. + + Provides context information. + + + + Draws the Quick Access Toolbar Customize Item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderQatCustomizeItem method so events can occur. + + Provides context information. + + + + Raises RenderCheckBoxItem event. + + Provides context information. + + + + Draws the CheckBoxItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCheckBoxItem method so events can occur. + + Provides context information. + + + + Raises RenderCheckBoxItem event. + + Provides context information. + + + + Draws the ProgressBarItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderProgressBarItem method so events can occur. + + Provides context information. + + + + Raises RenderNavPaneButtonBackground event. + + Provides context information. + + + + Draws the Navigation Pane button background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderNavPaneButtonBackground method so events can occur. + + Provides context information. + + + + Raises RenderSliderItem event. + + Provides context information. + + + + Draws the Slider item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSliderItem method so events can occur. + + Provides context information. + + + + Raises RenderSideBar event. + + Provides context information. + + + + Draws the SideBar control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSideBar method so events can occur. + + Provides context information. + + + + Raises RenderSideBarPanelItem event. + + Provides context information. + + + + Draws the SideBar control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSideBarPanelItem method so events can occur. + + Provides context information. + + + + Raises RenderCrumbBarItemView event. + + Provides context information. + + + + Draws CrumbBarItemView. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCrumbBarItemView method so events can occur. + + Provides context information. + + + + Raises RenderCrumbBarOverflowItem event. + + Provides context information. + + + + Draws CrumbBarOverflowButton. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCrumbBarOverflowItem method so events can occur. + + Provides context information. + + + + Raises RenderSwitchButton event. + + Provides context information. + + + + Draws the Switch Button. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSwitchButton method so events can occur. + + Provides context information. + + + + Raises RenderRangeSliderItem event. + + Provides context information. + + + + Draws the Range Slider item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRangeSliderItem method so events can occur. + + Provides context information. + + + + Raises RenderStepItem event. + + Provides context information. + + + + Draws the Step item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderStepItem method so events can occur. + + Provides context information. + + + + Raises RenderListBoxItem event. + + Provides context information. + + + + Draws the ListBoxItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderListBoxItem method so events can occur. + + Provides context information. + + + + Raises RenderListBoxItem event. + + Provides context information. + + + + Draws the ListBoxItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderListBoxItem method so events can occur. + + Provides context information. + + + + Raises RenderTabFormStrip event. + + Provides context information. + + + + Draws the TabStrip. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabFormStrip method so events can occur. + + Provides context information. + + + + Raises RenderTabFormItem event. + + Provides context information. + + + + Draws the TabStrip. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabFormStrip method so events can occur. + + Provides context information. + + + + Raises RenderNewTabFormItem event. + + Provides context information. + + + + Draws the NewTabFormItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabFormStrip method so events can occur. + + Provides context information. + + + + Raises RenderTabParentForm event. + + Provides context information. + + + + Draws the TabParentForm. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabParentForm method so events can occur. + + Provides context information. + + + + Occurs when KeyTip is rendered. + + + + + Occurs when ribbon tab group is rendered. + + + + + Occurs when ItemContainer is rendered. + + + + + Occurs when separator is drawn for an item inside of ItemContainer. + + + + + Occurs when ButtonItem is rendered. + + + + + Occurs when RibbonTabItem is rendered. + + + + + Occurs when docked or floating toolbar is rendered. + + + + + Occurs when popup toolbar is rendered. + + + + + Occurs when dialog launcher button on ribbon bar is rendered. + + + + + Occurs when Ribbon Control background is rendered. + + + + + Occurs when form caption text on ribbon control is rendered. + + + + + Occurs when Quick Access Toolbar background is rendered. + + + + + Occurs when ColorItem is rendered. + + + + + Occurs when SystemCaptionItem is rendered. + + + + + Occurs when MdiSystemItem is rendered. + + + + + Occurs when form caption is background is being rendered. + + + + + Occurs when quick access toolbar overflow item is being rendered. + + + + + Occurs when quick access toolbar customize item is being rendered. + + + + + Occurs when CheckBoxItem is being rendered. + + + + + Occurs when ProgressBarItem is being rendered. + + + + + Occurs when Navigation pane button background is being rendered. + + + + + Occurs when Slider item is being rendered. + + + + + Occurs when Range Slider item is being rendered. + + + + + Occurs when SideBar control is being rendered. + + + + + Occurs when SideBarPanelItem control is being rendered. + + + + + Occurs when CrumbBarItemView is rendered. + + + + + Occurs when CrumbBarOverflowButton is rendered. + + + + + Occurs when Slider item is being rendered. + + + + + Occurs when StepItem is being rendered. + + + + + Occurs when ListBoxItem is being rendered. + + + + + Occurs when SideNavItem is being rendered. + + + + + Occurs when TabStrip is being rendered. + + + + + Occurs when TabFormItem is rendered. + + + + + Occurs when NewTabFormItem is rendered. + + + + + Occurs when TabParentForm is being rendered. + + + + + Draws KeyTip for an object. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderKeyTips method so events can occur. + + Provides context information. + + + + Draws ribbon tab group. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonTabGroup method so events can occur. + + Provides context information. + + + + Draws item container. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderItemContainer method so events can occur. + + Provides context information. + + + + Draws the separator for an item inside of item container. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderItemContainerSeparator method so events can occur. + + Provides context information. + + + + Draws ButtonItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderButtonItem method so events can occur. + + Provides context information. + + + + Draws RibbonTabItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonTabItem method so events can occur. + + Provides context information. + + + + Draws popup toolbar background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderPopupToolbarBackground method so events can occur. + + Provides context information. + + + + Draws docked or floating toolbar background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderToolbarBackground method so events can occur. + + Provides context information. + + + + Draws floating toolbar background. + + Provides context information. + + + + Draws ribbon bar dialog launcher button. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderPopupToolbarBackground method so events can occur. + + Provides context information. + + + + Draws ColorItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderColorItem method so events can occur. + + Provides context information. + + + + Draws the background of the Ribbon Control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonControlBackground method so events can occur. + + Provides context information. + + + + Draws the form caption text for the Ribbon Control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderRibbonFormCaptionText method so events can occur. + + Provides context information. + + + + Draws the background of Quick Access Toolbar on Ribbon Control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderQuickAccessToolbarBackground method so events can occur. + + Provides context information. + + + + Draws the SystemCaptionItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSystemCaptionItem method so events can occur. + + Provides context information. + + + + Draws the MdiSystemItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderMdiSystemItem method so events can occur. + + Provides context information. + + + + Draws the form caption background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderFormCaptionBackground method so events can occur. + + Provides context information. + + + + Draws the Quick Access Toolbar Overflow item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderQatOverflowItem method so events can occur. + + Provides context information. + + + + Draws the Quick Access Toolbar Overflow item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderQatOverflowItem method so events can occur. + + Provides context information. + + + + Draws the ProgressBarItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderProgressBarItem method so events can occur. + + Provides context information. + + + + Draws the Navigation Pane button background. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderNavPaneButtonBackground method so events can occur. + + Provides context information. + + + + Draws the Slider item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSliderItem method so events can occur. + + Provides context information. + + + + Draws the SideBar control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSideBar method so events can occur. + + Provides context information. + + + + Draws the SideBar control. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSideBarPanelItem method so events can occur. + + Provides context information. + + + + Draws CrumbBarItemView. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderButtonItem method so events can occur. + + Provides context information. + + + + Draws CrumbBarOverflowButton. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderCrumbBarOverflowItem method so events can occur. + + Provides context information. + + + + Draws SwitchButton. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderButtonItem method so events can occur. + + Provides context information. + + + + Draws the Slider item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderSliderItem method so events can occur. + + Provides context information. + + + + Draws the Step item. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderStepItem method so events can occur. + + Provides context information. + + + + Draws the ListBoxItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderListBoxItem method so events can occur. + + Provides context information. + + + + Draws the ListBoxItem. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderListBoxItem method so events can occur. + + Provides context information. + + + + Draws the TabStrip. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabFormStrip method so events can occur. + + Provides context information. + + + + Draws the TabStrip. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabFormStrip method so events can occur. + + Provides context information. + + + + Draws the TabStrip. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabFormStrip method so events can occur. + + Provides context information. + + + + Draws the TabParentForm. If you need to provide custom rendering this is the method that you should override in your custom rendered. If you + do not want default rendering to occur do not call the base implementation. You can call OnRenderTabParentForm method so events can occur. + + Provides context information. + + + + Occurs when color table is changed by setting the ColorTable property on the renderer. + + + + + Gets or sets color table used by renderer. + + + + + Defines color table for RibbonBar in various states. + + + + + Gets or sets the colors for the default RibbonBar state. + + + + + Gets or sets the colors for RibbonBar when mouse is over the control. + + + + + Gets or sets the colors for RibbonBar when ribbon bar is in overflow state and expanded to show all the items. + + + + + Represents the color table of RibbonBar for Office 2007 style. Default values represent blue Luna theme. + + + + + Gets or sets the height in pixels of top background part. + + + + + Gets or sets the outer border colors. + + + + + Gets or sets the inner border colors. + + + + + Gets or sets the top background colors. + + + + + Gets or sets the bottom background colors. + + + + + Gets or sets the title background colors. + + + + + Gets or sets the color of title text. + + + + + Defines color table for Ribbon Control. + + + + + Gets or sets the colors for the outer border. + + + + + Gets or sets the colors for the inner border. + + + + + Gets or sets the colors for the tabs background area. + + + + + Gets or sets the colors for the tabs background area when Windows Glass is enabled. + + + + + Gets or sets the color of border which is drawn above the tab. + + + + + Gets or sets the light color of border which is drawn above the tab. + + + + + Gets or sets the round corner size for the ribbon control parts. + + + + + Gets or sets the height in pixels of top background part. + + + + + Gets or sets the top background colors. + + + + + Gets or sets the bottom background colors. + + + + + Gets or sets the background image used on Office 2007 style start button displayed in top-left corner of ribbon control. + Note that image assigned to all StartButton properties must be the same size. The size for the button will be determined by image + size set on this property. + + + + + Gets or sets the background image used on Office 2007 style start button displayed in top-left corner of ribbon control when mouse is over the button. + + + + + Gets or sets the background image used on Office 2007 style start button displayed in top-left corner of ribbon control when button is pressed. + + + + + Represents painter for Office 2007 style ribbon overflow button. + + + + + Defines the color table for the Ribbon Tab Group. + + + + + Gets or sets the name of the color table. + + + + + Gets or sets the background color. + + + + + Gets or sets the background highlight colors. + + + + + Gets or sets the text color. + + + + + Gets or sets the border color + + + + + Collection for Office2007RibbonTabGroupColorTable type. + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Returns whether collection contains object with specified name. + + Name of the object to look for + true if object with given name is part of the collection otherwise false + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the Office2007RibbonTabItemColorTable array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's index. + + + + + Defines the color table for RibbonTabItem states. + + + + + Gets or sets the name of the color table. + + + + + Gets or sets the default tab colors. + + + + + Gets or sets the selected tab colors. + + + + + Gets or sets the selected tab colors when mouse is over the tab. + + + + + Gets or sets the colors when mouse is over the tab but tab is not selected. + + + + + Gets or sets the round corner size for the top part of the ribbon tab item. + + + + + Defines collection for Office2007RibbonTabItemColorTable items. + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Returns whether collection contains object with specified name. + + Name of the object to look for + true if object with given name is part of the collection otherwise false + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the Office2007ButtonItemColorTable array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's index. + + + + + Defines the colors for the RibbonTabItem state like but not limited to selected, mouse over etc. + + + + + Gets or sets the colors for the outer border. + + + + + Gets or sets the colors for the inner border. + + + + + Gets or sets the background colors. + + + + + Gets or sets the background highlight colors. + + + + + Gets or sets the text color. + + + + + Gets or sets the text color when rendered on Windows Glass. + + + + + Defines the colors for the scroll bar control. + + + + + Gets or sets the colors for the control default state. + + + + + Gets or sets the colors for the control when mouse is pressed over the control. + + + + + Gets or sets the colors for the control when mouse is over the control but not over an active part of the control like scroll buttons. + + + + + Gets or sets the colors for the control when mouse is over the active part of the control like scroll buttons. + + + + + Gets or sets the colors for the control when control is disabled. + + + + + Represents the color table for the Scroll bar in single state. + + + + + Gets or sets the outer border color for the scroll bar thumb. + + + + + Gets or sets the inner border color for the scroll bar thumb. + + + + + Gets or sets the thumb background color blend collection. + + + + + Gets or sets the directional sign background color for the scroll bar thumb. + + + + + Gets or sets the outer border color for the scroll bar track button. + + + + + Gets or sets the inner border color for the scroll bar track button. + + + + + Gets or sets the track background color blend collection. + + + + + Gets or sets the background color for the track signs. + + + + + Gets or sets the background colors for the entire control. + + + + + Gets or sets the border colors for the entire control. + + + + + Represents the color table for Office 2007 Style Side Bar Control. + + + + + Gets or sets the background color of the control. + + + + + Gets or sets the control border color. + + + + + Gets or sets the color of SideBarPanelItem text. + + + + + Gets or sets the color table for SideBarPanelItem in default state. + + + + + Gets or sets the color table for SideBarPanelItem in mouse over state. + + + + + Gets or sets the color table for SideBarPanelItem in expanded state. + + + + + Gets or sets the color table for SideBarPanelItem when mouse button is pressed on the item. + + + + + Gets or sets color table used by renderer. + + + + + Populates Office 2007 Color Table with Silver color scheme + + + + + Initializes ColorScheme object with the black color scheme. + + ColorScheme object to initialize. + + + + Defines the color table for the slider item. + + + + + Gets or sets the default state colors. + + + + + Gets or sets the mouse over state colors. + + + + + Gets or sets the mouse pressed colors. + + + + + Gets or sets the disabled colors. + + + + + Gets or sets the optional color table for Thumb part of the slider. When set to null default values from Office2007SliderColorTable are used. + + + + + Gets or sets the optional color table for Increase button part of the slider. When set to null default values from Office2007SliderColorTable are used. + + + + + Gets or sets the optional color table for Decrease button part of the slider. When set to null default values from Office2007SliderColorTable are used. + + + + + Defines set of color tables for single slider part. + + + + + Gets or sets the default state colors. + + + + + Gets or sets the mouse over state colors. + + + + + Gets or sets the mouse pressed colors. + + + + + Renders the Slider items. + + + + + Gets or sets color table used by renderer. + + + + + Defines the color table for the Slider Item in single state. + + + + + Gets or sets the part background colors. + + + + + Gets or sets the part border color + + + + + Gets or sets the part border light color + + + + + Gets or sets the part foreground color. + + + + + Gets or sets the part foreground light color. + + + + + Gets or sets the track line color. + + + + + Gets or sets the track line light color. + + + + + Gets or sets the track label color. + + + + + Gets or sets the track label color when on Slider control. + + + + + Defines the color table for the SuperTooltip. + + + + + Gets or sets the background colors. + + + + + Gets or sets the text color. + + + + + Represents color table for Office 2007 style system button displayed in form caption. + + + + + Gets or sets the color table of default button state. + + + + + Gets or sets the color table of button state when mouse is over the button. + + + + + Gets or sets the color table of button state when mouse is pressed over the button. + + + + + Represents color table for single state of Office 2007 style system button displayed in form caption. + + + + + Gets or sets the outer border colors. + + + + + Gets or sets the inner border colors. + + + + + Gets or sets top part background colors. + + + + + Gets or sets bottom part background colors. + + + + + Gets or sets highlight colors for the top background part. + + + + + Gets or sets highlight colors for the bottom background part. + + + + + Gets or sets the foreground color for the button. + + + + + Gets or sets the dark shading color for the foreground. + + + + + Gets or sets the light shading color for the foreground. + + + + + Represents the color table for the tab control. + + + + + Gets or sets the default tab item colors. + + + + + Gets or sets the mouse over tab item colors. + + + + + Gets or sets the selected tab item colors. + + + + + Gets or sets the color of the tab background colors. + + + + + Gets or sets the tab-strip background image. + + + + + Gets or sets the color of the tab panel background colors. + + + + + Gets or sets the color of tab panel border. + + + + + Represents the color table for the tab item. + + + + + Gets or sets top part background colors. + + + + + Gets or sets the bottom part background colors. + + + + + Gets or sets the outer border colors. + + + + + Gets or sets the inner border colors. + + + + + Gets or sets the text colors. + + + + + Paints background of docked bar. + + Context information + + + + Paints background of floating bar. + + Context information + + + + Paints background of popup bar. + + Context information + + + + Summary description for ButtonItemPainterHelper. + + + + + Provides data for ButtonItem rendering. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets the reference to ButtonItem instance being rendered. + + + + + Reference to internal data. + + + + + Indicates whether to cancel system rendering of the item. + + + + + Creates new instance of the object. + + + + + Creates new instance of the object and initializes it with default values + + Reference to Graphics object. + Reference to ButtonItem object. + + + + Creates new instance of the object and initializes it with default values + + Reference to Graphics object. + Reference to ButtonItem object. + + + + Defines container for ribbon caption layout and quick access toolbar customization and overflow. + + + + + Summary description for DesignTimeProviderContainer. + + + + + + + + Returns insertion index for an item taking in account any system items that are at the end of the collection. + + Parent item + Returns the index at which an item should be inserted + + + + Defines delegate for RenderKeyTips event. + + + + + Defines delegate for RenderRibbonTabGroup event. + + + + + Defines delegate for RenderItemContainer event. + + + + + Defines delegate for RenderItemContainerSeparator event. + + + + + Defines delegate for ButtonItem rendering events. + + + + + Defines delegate for RibbonTabItem rendering events. + + + + + Defines delegate for toolbar rendering events. + + + + + Defines delegate for Rendering dialog launcher button rendering events. + + + + + Defines delegate for ColorItem rendering events. + + + + + Defines delegate for RibbonControl rendering events. + + + + + Defines delegate for SystemCaptionItem rendering events. + + + + + Defines delegate for MdiSystemItem rendering events. + + + + + Defines delegate for RenderFormCaptionBackground rendering events. + + + + + Defines delegate for CustomizeMenuPopup events. + + + + + Defines delegate for the Quick Access Overflow item rendering events. + + + + + Defines delegate for the Quick Access Customize item rendering events. + + + + + Defines delegate for the Quick Access Customization dialog events. + + + + + Defines delegate for the CheckBoxItem rendering events. + + + + + Defines delegate for the ProgressBarItem rendering events. + + + + + Defines delegate for the Navigation Pane rendering events. + + + + + Defines delegate for the BeforeRibbonPanelPopupClose event. + + + + + Defines delegate for the Slider item rendering events. + + + + + Defines delegate for the SideBar control rendering event. + + + + + Defines delegate for the SideBarPanelItem control rendering event. + + + + + Defines delegate for the SwitchButtonItem control rendering event. + + + + + Defines delegate for the Slider item rendering events. + + + + + Defines delegate for the StepItem rendering events. + + + + + Defines delegate for the ListBoxItem rendering events. + + + + + Defines delegate for the SideNavItem rendering events. + + + + + Defines delegate for the TabStrip rendering events. + + + + + Defines delegate for the TabParentForm rendering events. + + + + + Represents the class that provides Office 2007 style Gallery container with drop-down ability. + + + + + Creates new instance of the class + + + + + Returns copy of the item. + + + + + Copies the ButtonItem specific properties to new instance of the item. + + New ButtonItem instance. + + + + Returns the client rectangle which is DisplayRectangle excluding scroll-bar bounds + + + + + + Invokes GalleryPopupOpen event. + + + + + + Invokes GalleryPopupShowing event. + + + + + + Invokes GalleryPopupClose event. + + + + + + Invokes GalleryPopupFinalized event. + + + + + + Gets whether DefaultSize property is serialized by Windows Forms designer based on its current value. + + + + + Resets DefaultSize property to its default value. + + + + + Gets whether PopupGallerySize property is serialized by Windows Forms designer based on its current value. + + + + + Resets PopupGallerySize property to its default value. + + + + + Scrolls the gallery if necessary to ensures that item is visible. + + Reference to the items that is part of the gallery. + + + + Scrolls gallery down to show next line of items. + + + + + Scrolls gallery up to show previous line of items. + + + + + + Opens the Gallery popup menu. + + + + + Called on each item when ScaleControl method of parent control is called and gives opportunity to item to adjust its displayed based on current scaling. + + Scale factor. + + + + Returns whether Gallery can extend the object. + + Object to test extensibility for. + Returns true if object can be extended otherwise false. + + + + Gets the GalleryGroup item is assigned to. + + Reference to item. + An instance of GalleryGroup object or null if item is not assigned to the group + + + + Assigns the item to the gallery group. + + Item to assign. + Group to assign item to. Can be null to remove item assignment. + + + + Occurs when Gallery popup item is about to open. + + + + + Occurs just before Gallery popup window is shown. + + + + + Occurs before the Gallery popup item is closed. + + + + + Occurs after Gallery popup item has been closed. + + + + + Gets or sets orientation inside the container. GalleryContainer automatically manages the layout orientation and this property should not be changed from its default value. + + + + + Gets or sets the item alignment when container is in horizontal layout. Default value is Left. + + + + + Gets or sets the item vertical alignment. Default value is Top. + + + + + Gets or sets whether items in horizontal layout are wrapped into the new line when they cannot fit allotted container size. Default value is false. + + + + + Gets or sets whether items contained by container are resized to fit the container bounds. When container is in horizontal + layout mode then all items will have the same height. When container is in vertical layout mode then all items + will have the same width. Default value is true. + + + + + Gets or sets whether Gallery when on popup is using standard scrollbars to scroll the content. + Standard scrollbars are displayed on right hand side of the Gallery. Default value for this property is true. + When set to false the scroll buttons are displayed only when needed and two buttons on top and bottom + of the Gallery are used to indicate the scrolling possibility and enable scrolling. Buttons are only + visible when needed. This scrolling button style can be used for example on Application Menu + to enable scrolling of list of most recently used files. + + + + + Gets or sets whether gallery is using incremental sizing when stretched. Default + value is true. Incremental sizing will resize the width of the gallery so it fits + completely the items it can contain in available space. That means that gallery will + occupy enough space to display the whole items within available space. When set to + false, it indicates that gallery will resize to fill all available space. + + + + + Gets or sets whether Gallery width is determined based on the RibbonBar width. This property is in effect when + Gallery is hosted directly the RibbonBar control. Default value is false. + When set to true the Gallery size is changed as the RibbonBar control is resized. The initial size of the Gallery is + determined by DefaultSize property. The MinimumSize property specifies the minimum size of the Gallery. + Note that only single Gallery can be stretched per RibbonBar control. + + + + + Gets the collection of the items that are added to the popup gallery. The items displayed on the gallery are combined with the + items from this collection and they are displayed on the gallery popup. This collection can for example have items that are + customizing the choices of the commands in gallery etc. + + + + + Gets or sets the default size of the gallery. The gallery height will be always enforced so all scroll buttons can be displayed. + Gallery width should allow display of both scroll buttons and the gallery content. + + + + + Gets or sets the default size of the gallery when gallery is displayed on the popup menu. + + + + + Gets or sets whether gallery can be displayed on the popup. Default value is true. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets whether the Gallery popup is open. + + + + + Gets or sets the Key Tips access key or keys for the item when on Ribbon Control or Ribbon Bar. Use KeyTips property + when you want to assign the one or more letters to be used to access an item. For example assigning the FN to KeyTips property + will require the user to press F then N keys to select an item. Pressing the F letter will show only keytips for the items that start with letter F. + + + + + Gets or sets whether scroll animation is enabled. Default value is true. + Scroll animation will be disabled if gallery is running under Remote Windows Terminal session or fade animation effect is disabled on the + container control. + + + + + Gets the collection of GalleryGroup objects associated with this gallery. Groups are assigned optionally to one or more items + that are part of the GalleryContainer. Groups are used to visually group the items when gallery is displayed on the popup. + + + + + Represents the popup gallery group that groups set of items inside of gallery into the group. + + + + + Creates new instance of the object. + + + + + Gets or sets title of the group that will be displayed on the group label when on popup gallery. + + + + + Gets or sets name of the group that can be used to identify item from the code. + + + + + Gets the parent gallery for the group. + + + + + Gets or sets the display order for the group when displayed on the popup. Lower values are displayed closer to the top. Default value is 0. + + + + + Gets the collection of the items assigned to this group. + + + + + Represents the GalleryGroup typed collection. + + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds new objects to the collection. + + Array of groups to add. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the GalleryGroup array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's name. + + + + + Summary description for ISimpleElement. + + + + + Represents IBlock layout manager implementation + + + + + Resizes the content block and sets it's Bounds property to reflect new size. + + Content block to resize. + + + + Indicates container title location. + + + + + Provides data for rendering ItemContainer. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets the reference to ItemContainer instance being rendered. + + + + + Creates new instance of the object. + + Reference to graphics object. + Reference to ItemContainer object. + + + + Provides data for the item separator rendering inside of the ItemContainer. + + + + + Gets or sets the reference to the item separator is being rendered for. + + + + + Creates new instance of the object. + + + + + Represents class for Accessibility support. + + + + + Creates new instance of the object and initializes it with owner control. + + Reference to owner control. + + + + Returns number of child objects. + + Total number of child objects. + + + + Returns reference to child object given the index. + + 0 based index of child object. + Reference to child object. + + + + Gets accessible role. + + + + + Gets parent accessibility object. + + + + + Returns bounds of the control. + + + + + Returns current accessible state. + + + + + Represents class for item display. + + + + + Represents canvas for KeyTips + + + + + Represents data for key tips rendering. + + + + + Gets or sets the graphics object used for rendering. + + + + + Gets or sets key tip bounds. + + + + + Gets or sets the text of key tip to be rendered. + + + + + Gets or sets the font key tip should be rendered with. + + + + + Reference object for which Key Tip is rendered. For example this could be reference to an instance of ButtonItem or BaseItem as well + as reference to System.Windows.Forms.Control object. Always test for type before accessing this reference. + + + + + Creates new instance of the object and initializes it with default values. + + + + + Represents painter for the MdiSystemItem. + + + + + Paints MdiSystemItem. + + Provides arguments for the operation. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets or sets whether Text supports and renders text markup. Default value is true. + + + + + Gets or sets whether divider panel that divides message box buttons and text content is visible. Default value is true. + + + + + Gets or sets the anti-alias setting for text-pane. + + + + + Enumeration of available common system strings. + + + + + Represents the class that provides MessageBox like functionality with the styled Office 2007 dialog and text markup support. + + + + + Displays a message box with specified text. + + The text to display in the message box. + One of the DialogResult values. + + + + Displays a message box in front of the specified object and with the specified text. + + The IWin32Window the message box will display in front of. + The text to display in the message box. + One of the DialogResult values. + + + + Displays a message box with specified text and caption. + + The text to display in the message box. + The text to display in the title bar of the message box. + One of the DialogResult values. + + + + Displays a message box with specified text and caption. + + The IWin32Window the message box will display in front of. + The text to display in the message box. + The text to display in the title bar of the message box. + One of the DialogResult values. + + + + Displays a message box with specified text, caption, and buttons. + + The text to display in the message box. + The text to display in the title bar of the message box. + One of the MessageBoxButtons values that specifies which buttons to display in the message box. + One of the DialogResult values. + + + + Displays a message box with specified text, caption, and buttons. + + The IWin32Window the message box will display in front of. + The text to display in the message box. + The text to display in the title bar of the message box. + One of the MessageBoxButtons values that specifies which buttons to display in the message box. + One of the DialogResult values. + + + + Displays a message box with specified text, caption, buttons, and icon. + + The text to display in the message box. + The text to display in the title bar of the message box. + One of the MessageBoxButtons values that specifies which buttons to display in the message box. + One of the MessageBoxIcon values that specifies which icon to display in the message box. + One of the DialogResult values. + + + + Displays a message box with specified text, caption, buttons, and icon. + + The IWin32Window the message box will display in front of. + The text to display in the message box. + The text to display in the title bar of the message box. + One of the MessageBoxButtons values that specifies which buttons to display in the message box. + One of the MessageBoxIcon values that specifies which icon to display in the message box. + One of the DialogResult values. + + + + Displays a message box with the specified text, caption, buttons, icon, and default button. + + The text to display in the message box. + The text to display in the title bar of the message box. + One of the MessageBoxButtons values that specifies which buttons to display in the message box. + One of the MessageBoxIcon values that specifies which icon to display in the message box. + One of the MessageBoxDefaultButton values that specifies the default button for the message box. + One of the DialogResult values. + + + + Displays a message box with the specified text, caption, buttons, icon, and default button. + + The IWin32Window the message box will display in front of. + The text to display in the message box. + The text to display in the title bar of the message box. + One of the MessageBoxButtons values that specifies which buttons to display in the message box. + One of the MessageBoxIcon values that specifies which icon to display in the message box. + One of the MessageBoxDefaultButton values that specifies the default button for the message box. + One of the DialogResult values. + + + + Displays a message box with the specified text, caption, buttons, icon, and default button. + + The IWin32Window the message box will display in front of. + The text to display in the message box. + The text to display in the title bar of the message box. + One of the MessageBoxButtons values that specifies which buttons to display in the message box. + One of the MessageBoxIcon values that specifies which icon to display in the message box. + One of the MessageBoxDefaultButton values that specifies the default button for the message box. + Indicates value for Message Box dialog TopMost property. + One of the DialogResult values. + + + + Occurs when text markup link on Message Box is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets whether MessageBoxEx is using Windows System API function to retrieve the localized strings used by MessageBoxEx. Set this to false + if you experience issues when using MessageBoxEx under certain conditions. + + + + + Gets or sets whether MessageBoxEx form has Windows Vista Glass enabled if running on + Windows Vista with Glass enabled. Default value is true. + + + + + Gets or sets the anti-alias setting for message box text. + + + + + Gets or sets the text color for the message box text. Default value is Color.Empty which indicates that system colors are used. + + + + + Gets or sets whether divider panel that divides message box buttons and text content is visible. Default value is true. + + + + + Gets or sets the message box start position when Owner is not specified. Default value is CenterScreen. + + + + + Gets or sets the message box start position when Owner is specified. Default value is CenterParent. + + + + + Gets or sets whether message box text renders text markup. Default value is true. + + + + + Summary description for Office2003RibbonTabItemPainter. + + + + + Paints state of the button, either hot, pressed or checked + + + + + + + + Paints background of docked bar. + + Context information + + + + Paints background of floating bar. + + Context information + + + + Paints background of popup bar. + + Context information + + + + Gets or sets color table used by renderer. + + + + + Gets or sets color table used by renderer. + + + + + Gets or sets color table used by renderer. + + + + + Represents Office 2007 style MdiSystemItem painter + + + + + Gets or sets color table used by renderer. + + + + + Represents base class for Ribbon Control painting. + + + + + Paints controls background + + + + + Paints form caption background + + + + + Paints form caption text when ribbon control is displaying form caption + + + + + Paints the background of quick access toolbar. + + + + + Paints controls background + + + + + Paints form caption background + + + + + Paints the background of quick access toolbar. + + + + + RibbonTabItem painter for Office 2007 style + + + + + Represents the Office Application Button displayed in the top-left corner of the Ribbon Control. + + + + + Processes the Escape key when Application Button is hosting the backstage tab and uses it to close the tab if open. + This method is called from ProcessDialogKey method of Office2007RibbonForm. + + Key data + true if key was used to close backstage tab + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Gets or sets whether control set on BackstageTab property is used on application menu popup. + + + + + Gets or sets the backstage tab that is displayed instead of popup menu. + + + + + Summary description for PainterFactory. + + + + + Forces the creation of the objects inside of factory. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Loads the items for the customization into the ribbon control. All Ribbon Bars on the ribbon are enumerated and items + are added if they have CanCustomize=true. + + Ribbon control to enumerate. + + + + Loads the items for the customization from MetroTab control. Registered MetroToolbar controls are enumerated and items + are added if they have CanCustomize=true. + + MetroTab control that holds references to known MetroToolbars. + + + + Gets reference to the internal Quick Access Toolbar Customization panel. + + + + + Represents the item that provides Quick Access Toolbar customization. + + + + + Creates new instance of CustomizeItem object. + + + + + Returns copy of CustomizeItem item + + + + + Overridden. Recalculates the size of the item. + + + + + Gets localized tooltip text for this instance of the item. + + Tooltip text. + + + + Called when mouse hovers over the customize item. + + + + + Gets or sets whether Customize menu item is visible. + + + + + Gets/Sets informational text (tooltip) for the item. + + + + + Represents the Quick Access Toolbar customization panel which can be used on the custom QAT customization dialogs + so customization of Quick Access Toolbar can be reused. + + + + + Gets reference to the internal ItemPanel control that displays the commands for selected category. + + + + + Gets reference to the ItemPanel control that displays the Quick Access Toolbar Items. + + + + + Gets reference to the button that perform addition of commands to the Quick Access Toolbar. + + + + + Gets reference to the button that perform removal of commands from the Quick Access Toolbar. + + + + + Gets reference to the combo box control that holds all categories. + + + + + Gets reference to the combo box categories label control. + + + + + Gets reference to the check box that changes the placement of the Quick Access Toolbar. + + + + + Required designer variable. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Loads the items for the customization into the ribbon control. All Ribbon Bars on the ribbon are enumerated and items + are added if they have CanCustomize=true. + + Ribbon control to enumerate. + + + + Loads the items for the customization from MetroTab registered toolbars. All registered Toolbars are enumerated and items + are added if they have CanCustomize=true. + + MetroTab control to enumerate. + + + + Gets or sets the value of data changed flag. + + + + + Represents the stand-alone Quick Access Toolbar control + + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Gets/Sets the visual style for items and color scheme. + + + + + Returns collection of items on a bar. + + + + + Represents a single ribbon container control. + + + + + Creates new accessibility instance. + + Reference to AccessibleObject. + + + + Closes the RibbonBar overflow popup if control is in overflow mode and displays the overflow popup that shows complete content of the control. + + + + + Resets style to default value. Used by windows forms designer. + + + + + Invokes the LaunchDialog event to execute default launch dialog action. + + + + + Called when item on popup container is right-clicked. + + Instance of the item that is right-clicked. + + + + Invokes DialogLauncherMouseEnter event. + + + + + Invokes DialogLauncherMouseLeave event. + + + + + Invokes DialogLauncherMouseHover event. + + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Resets cached content size. Content size is cached to improve performance of the control when control is + switched into overflow mode displaying a single button. If you change content of Rendering, hide/show items or + add new items you will need to call this method to erase cached value and allow the full Rendering size to be calculated. + + + + + Returns size of the control based on current content size. + + Size based on content. + + + + Sets the height of the control to the automatically calculated height based on content. + + + + + Returns automatically calculated height of the control given current content. + + Height in pixels. + + + + Returns automatically calculated width of the control given current content. + + Width in pixels. + + + + Gets the bounds of the title. + + + + + Resets TitleStyle property to its default value. Used by Windows Forms designer for design-time support. + + + + + Resets TitleStyle property to its default value. Used by Windows Forms designer for design-time support. + + + + + Occurs when dialog launcher button in title bar is clicked. Use DialogLauncherVisible property to show the button in title bar. + + + + + Occurs when overflow button for control is created because control size is below the minimum size required to display complete content of the control. + This event allows you to get access to the internal overflow button that is created and change it's properties if required. + + + + + Occurs after overflow button setup is complete and all items contained by this control are moved to it. + + + + + Occurs before overflow button is destroyed. + + + + + Occurs when mouse enters dialog launcher button. + + + + + Occurs when mouse leaves dialog launcher button. + + + + + Occurs when mouse hovers over the dialog launcher button. + + + + + Occurs when mouse is pressed over the dialog launcher button. + + + + + Gets or sets parent button when on QAT. + + + + + Gets or sets whether this RibbonBar is on QAT. + + + + + Gets or sets whether Office 2007 Design Guidelines specification for positioning KeyTips is used. + + + + + Gets or sets the Accessible name for the Dialog Launcher button + + + + + Specifies the background style of the control when mouse is over the control. Style specified here will be applied to the + BackgroundStyle. + + + + + Gets or sets image that is used as dialog luncher button in ribbon title bar. Default value is null which indicates that + default appearance for the button is used. + + + + + Gets or sets image that is used as dialog luncher button when mouse is over the button. + Note that if this property is set you also must set the DialogLauncherButton property. Images set to both + properties must have same size. Default value is null which indicates that + default appearance for the button is used. + + + + + Gets or sets maximum text length for automatic overflow button text. When overflow button is created due to the + reduced size of the control text for the button can be specified using OverflowButtonText property. If + text is not specified RibbonBar.Text property is used as overflow button text. In that case + this property specifies maximum length of the text to display on the button. Default value is 25. You can set + this property to 0 to use complete text regardless of length. + + + + + Gets or sets resize order index of the control. When control is parented to RibbonPanel control (which is the case when control is + used as part of RibbonControl) index specified here indicates the order in which controls that are part of the same panel + are resized. Lower index value indicates that control should be resized later when size needs to be reduced or earlier when size needs + to be increased. Default value is 0. + + + + + Gets or sets whether automatic overflow handling is enabled. When overflow is enabled if control is resized below the + size that is needed to display its complete content overflow button is created and all content is moved to the overflow button + popup. Control will only display overflow button when in this state and user can click overflow button to display the actual + content of the control. + Default value is true. + + + + + Gets or sets the text for overflow button that is created when ribbon bar size is reduced so it cannot display all its content. + When control is resized so it cannot display its content overflow button is created which is displayed on face of the control. + Complete content of the control is then displayed on popup toolbar when user clicks overflow button. + + + + + Gets or sets the Image for overflow button that is created when ribbon bar size is reduced so it cannot display all its content. + When control is resized so it cannot display its content overflow button is created which is displayed on face of the control. + Complete content of the control is then displayed on popup toolbar when user clicks overflow button. This Image is also used when + RibbonBar is added to the Quick Access Toolbar to identify the RibbonBar button. + + + + + Gets or sets whether dialog launcher button is visible in title of the ribbon. Default value is false. + + + + + Gets or sets default layout orientation inside the control. You can have multiple layouts inside of the control by adding + one or more instances of the ItemContainer object and changing it's LayoutOrientation property. + + + + + Gets or sets spacing in pixels between items. Default value is 1. + + + + + Gets or sets whether items contained by container are resized to fit the container bounds. When container is in horizontal + layout mode then all items will have the same height. When container is in vertical layout mode then all items + will have the same width. Default value is true. + + + + + Gets or sets the item alignment when container is in horizontal layout. Default value is Left. + + + + + Gets or sets the item vertical alignment. Default value is Top. + + + + + Returns collection of items on a bar. + + + + + Gets or sets whether ribbon bar can be customized by end user i.e. added to Quick Access Toolbar. + + + + + Returns reference to the overflow button that is used by control. + + + + + Gets whether control is in overflow state or not. + + + + + Gets or sets whether ButtonItem objects hosted on control are resized to reduce the space consumed by ribbon bar when required. + Default value is true. + + + + + Indicates whether auto-sizing for RibbonBar includes ribbon bar title width so in case when ribbon bar title width is wider than ribbon bar width the + width of the ribbon bar will always be at least the title bar width so complete title text can be displayed. + + + + + Gets/Sets the visual style for items and color scheme. + + + + + Gets or sets the KeyTip for the dialog launcher button. + + + + + Gets or sets whether ribbon bar title is visible. Default value is true. + + + + + Specifies the style of the title of the control. + + + + + Specifies the style of the title of the control when mouse is over the control. + + + + + Gets the title bounds. + + + + + Gets or sets whether control changes its background when mouse is over the control. + + + + + Gets or sets whether external ButtonItem object is accepted in drag and drop operation. UseNativeDragDrop must be set to true in order for this property to be effective. + + + + + Gets or sets whether native .NET Drag and Drop is used by control to perform drag and drop operations. AllowDrop must be set to true to allow drop of the items on control. + + + + + + Defines event handler for overflow button events. + + Control that is hosting the overflow button. + Event arguments + + + + Represents event arguments for overflow button events. + + + + + Creates new instance of the class and initializes it. + + Reference to overflow button. + + + + Returns reference to the overflow button that is used by control. + + + + + Represents class for RibbonBar Accessibility support. + + + + + Creates new instance of the object and initializes it with owner control. + + Reference to owner control. + + + + Returns number of child objects. + + Total number of child objects. + + + + Returns reference to child object given the index. + + 0 based index of child object. + Reference to child object. + + + + Represents the container for RibbonBar objects that will be merged into the MDI parent ribbon control. + + + + + Represents panel used by RibbonTabItem as a container panel for the control. + + + + + Creates new instance of the panel. + + + + + Scrolls the RibbonBar controls to the right one step if there is more of the controls on the panel that can fit into the available space. + + + + + Scrolls the RibbonBar controls one step to the left. + + + + + Resets the panel scroll position. + + + + + Gets or sets whether default control layout is used instead of Rendering layout for RibbonBar controls positioning. By default + internal layout logic is used so proper resizing of Ribbons can be performed. You can disable internal layout by setting this property + to true. + Default value is false. + + + + + Indicates whether style of the panel is managed by tab control automatically. + Set this to true if you would like to control style of the panel. + + + + + Gets or sets TabItem that this panel is attached to. + + + + + Gets or sets whether last RibbonBar is stretched to fill available space inside of the panel. Default value is false. + + + + + Gets or sets which edge of the parent container a control is docked to. + + + + + Gets or sets the size of the control. + + + + + Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. + + + + + Gets or sets a value indicating whether the control is displayed. + + + + + Gets or sets which edges of the control are anchored to the edges of its container. + + + + + Removes any RibbonBar objects that were merged into the Ribbon control. + + Reference to ribbon control to remove RibbonBar objects from. + + + + Merges RibbonBar objects from this container into the Ribbon control. + + Reference to ribbon control to remove RibbonBar objects from. + + + + Raises the BeforeRibbonMerge event. + + + + + Raises the AfterRibbonMerge event. + + + + + Raises the BeforeRibbonUnmerge event. + + + + + Raises the AfterRibbonUnmerge event. + + + + + Occurs before the RibbonBar objects from container are merged into the Ribbon control. + + + + + Occurs after the RibbonBar objects are merged into the Ribbon control. + + + + + Occurs after the RibbonBar objects are removed from the Ribbon control. + + + + + + Gets whether RibbonBar controls are merged into the RibbonControl. + + + + + Gets or sets whether RibbonTab item the RibbonBar controls are added to when merged is automatically activated (selected) after + controls are merged. Default value is true. + + + + + Gets or sets whether merge functionality is enabled for the container. Default value is true. + + + + + Gets or sets the Ribbon Tab text for the tab that will be created when ribbon bar objects from this container are merged into the ribbon. + + + + + Gets or sets the Key Tips access key or keys for the Ribbon Tab. Use KeyTips property + when you want to assign the one or more letters to be used to access an item. For example assigning the FN to KeyTips property + will require the user to press F then N keys to select an item. Pressing the F letter will show only keytips for the items that start with letter F. + + + + + Gets or sets the predefined color for the ribbon tab that is created when ribbon bar controls are merged into the ribbon. + Default value is eRibbonTabColor.Default + + + + + Gets or sets the name of RibbonTabItem object that already exists on Ribbon control into which the RibbonBar controls are merged. + If name is not specified new RibbonTabItem is created and RibbonBar controls are added to it. + + + + + Gets or sets the name of the RibbonTabItemGroup the new Ribbon Tab Item that is created will be added to. The RibbonTabItemGroup + must be created and added to RibbonControl.TabGroups collection. + + + + + Gets or sets the insertion index for the ribbon tab item that is created when ribbon bars are merged into the ribbon control. + Default value is -1 which means that ribbon tab item is appended to the existing ribbon tab items. + + + + + Gets or sets whether panel automatically provides shadows for child controls. + + + + + Represents Rendering control composed of two parts, RibbonStrip and multiple RibbonBar controls per strip. + + + + + Gets the name of the QAT Customize Item which is used to display the QAT Customize Dialog box. + + + + + Gets the name of the Add to Quick Access Toolbar context menu item. + + + + + Gets the name of the Remove from Quick Access Toolbar context menu item. + + + + + Gets the name of the QAT placement change context menu item. + + + + + Gets the name of the Minimize Ribbon Item which is used to minimize the ribbon. + + + + + Gets the name of the Maximize Ribbon Item which is used to maximize the ribbon. + + + + + Gets the name of the label displayed on Quick Access Toolbar customize popup menu. + + + + + Gets the string that is used as starting name for the frequently used QAT menu items created when QAT Customize menu is displayed. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Sets the height of the control to the automatically calcualted height based on content. + + + + + Sets the height of the control to the automatically calcualted height based on content. + + + + + Performs the setup of the RibbonPanel with the current style of the Ribbon Control. + + Panel to apply style changes to. + + + + Creates new Rendering Tab at specified position, creates new associated panel and adds them to the control. + + Specifies the text displayed on the tab. + Specifies the name of the tab + Specifies the position of the new tab inside of Items collection. + New instance of the RibbonTabItem that was created. + + + + Creates new Rendering Tab and associated panel and adds them to the control. + + Specifies the text displayed on the tab. + Specifies the name of the tab + New instance of the RibbonTabItem that was created. + + + + Recalculates layout of the control and applies any changes made to the size or position of the items contained. + + + + + Returns Control region if any when control is hosted by Office2007RibbonForm + + + + + + Occurs when text markup link is clicked. + + + + + Resets DefaultGroupFont property to default value null. + + + + + Raises the BeforeRibbonPanelPopupClose event. + + + + + Raises the AfterRibbonPanelPopupClose event. + + + + + Raises the BeforeRibbonPanelPopup event. + + + + + + Raises the BeforeRibbonPanelPopup event. + + + + + + Sets up timer that watches when active window changes. + + + + + Called after change of active window has been detected. SetupActiveWindowTimer must be called to enable detection. + + + + + Releases and disposes the active window watcher timer. + + + + + Displays the active ribbon panel on the popup if ribbon control is collapsed. + + Reference to the object that was cause of the event. This is provided to the BeforeRibbonPanelPopupClose event if an menu needs to be closed. + Indicates the event source. This is provided to the BeforeRibbonPanelPopupClose event if an menu needs to be closed. + + + + Closes the Ribbon tab menu with source set to null and event source set to Code. + + + + + Closes the Ribbon Menu if one is currently displayed. + + + + + Suspends the form layout. + + + + + Suspends the form layout. + + + + + Suspends the form layout. + + + + + Selects first visible RibbonTab. + + Returns true if selection is performed otherwise false. + + + + Called when right-mouse button is pressed over RibbonBar + + Reference to RibbonBar object. + + + + Called when right-mouse button is pressed over RibbonStrip + + Reference to RibbonStrip object. + + + + Displays popup customize context menu for given customization object. + + Object that should be customized, usually an instance of BaseItem. + Indicates whether customize menu is displayed over ribbon strip + + + + Raises the QatPlacementChanged event. + + Event arguments. + + + + Removes an item from the Quick Access Toolbar. + + Reference to the item that is already part of Quick Access Toolbar. + + + + Adds an instance of base type BaseItem or RibbonBar to the Quick Access Toolbar. Note that this method creates + new instance of the item or an representation of the item being added and adds that to the Quick Access Toolbar. + + Reference to the item to add, must be an BaseItem type or RibbonBar type. + + + + Raises the BeforeCustomizeMenuPopup event. + + Event arguments + + + + Raises the BeforeAddItemToQuickAccessToolbar event. + + Event arguments. + + + + Shows the quick access toolbar customize dialog. + + + + + Applies the Quick Access Toolbar customization changes made on QatCustomizePanel to the Ribbon Control Quick Access Toolbar. Note that QatCustomizePanel.DataChanged property indicates whether user made any changes to the data on the panel. + + Reference to the QatCustomizePanel + + + + Raises the AfterQatDialogChangesApplied event. + + + + + Returns the ribbon Application Button. + + reference to Application Button or null if button is not found. + + + + Occurs when Quick Access Toolbar placement is changed, i.e. below or above the Ribbon. + + + + + Occurs just before the customize popup menu is displayed and provides the ability to cancel the menu display as well + as to add/remove the menu items from the customize popup menu. + + + + + Occurs before an item is added to the quick access toolbar as result of user action. This event provides ability to + cancel the addition of the item by setting the Cancel=true of event arguments. + + + + + Occurs before an item is removed from the quick access toolbar as result of user action. This event provides ability to + cancel the addition of the item by setting the Cancel=true of event arguments. + + + + + Occurs when DotNetBar is looking for translated text for one of the internal text that are + displayed on menus, toolbars and customize forms. You need to set Handled=true if you want + your custom text to be used instead of the built-in system value. + + + + + Occurs when Item on ribbon tab strip or quick access toolbar is clicked. + + + + + Occurs before Quick Access Toolbar dialog is displayed. This event provides the opportunity to cancel the showing of + built-in dialog and display custom customization dialog. You can also set the Dialog property of the event arguments to + the custom dialog you want used instead of the DotNetBar system customization dialog. + + + + + Occurs after the Quick Access Toolbar dialog is closed. + + + + + Occurs after any changes done on the Quick Access Toolbar dialog are applied to the actual Quick Access Toolbar. + + + + + Occurs after selected Ribbon tab has changed. You can use + RibbonControl.SelectedRibbonTabItem + property to get reference to newly selected tab. + + + + + Occurs before selected RibbonPanel is displayed on popup while ribbon is collapsed. This event gives you the opportunity to cancel the popup of the ribbon panel. + + + + + Occurs after selected RibbonPanel is displayed on popup while ribbon is collapsed. + + + + + Occurs before RibbonPanel popup is closed and provides opportunity to cancel the closing. Note that if you cancel closing of ribbon popup you are + responsible for closing the popup. + + + + + Occurs after RibbonPanel popup is closed. + + + + + Occurs when text markup link from TitleText markup is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Occurs after Expanded property has changed. + + + + + Gets the collection of the Quick Access Toolbar Frequently used commands. You should add existing buttons to this collection that + you already have on the RibbonBar controls or on the application menu. The list will be used to construct the frequently used + menu that is displayed when Customize Quick Access Toolbar menu is displayed and it allows end-user to remove and add these + frequently used commands to the QAT directly from this menu. + Note that items you add here should not be items that are already on Quick Access Toolbar, i.e. in RibbonControl.QuickToolbarItems collection. + + + + + Gets or sets whether KeyTips functionality is enabled. Default value is true. + + + + + Gets or sets whether merge functionality is enabled for the control. Default value is true. + + + + + Gets or sets whether control height is set automatically based on the content. Default value is false. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + + Gets or sets the Context menu bar associated with the this control which is used as part of Global Items feature. The context menu + bar assigned here will be used to search for the items with the same Name or GlobalName property so global properties can be propagated when changed. + You should assign this property to enable the Global Items feature to reach your ContextMenuBar. + + + + + Gets or sets whether custom caption and quick access toolbar provided by the control is visible. Default value is false. + This property should be set to true when control is used on Office2007RibbonForm. + + + + + Gets or sets the font for the form caption text when CaptionVisible=true. Default value is NULL which means that system font is used. + + + + + Gets or sets the explicit height of the caption provided by control. Caption height when set is composed of the TabGroupHeight and + the value specified here. Default value is 0 which means that system default caption size is used. + + + + + Gets or sets the indent of the ribbon strip. The indent setting is useful when control is used with caption visible and the Office 2007 + style start button. The indent specified here will move the ribbon strip so the start button does not overlap the tabs. + Value of this property is used only when CaptionVisible = true. + Default value is 46. + + + + + Gets or sets the font used by the ribbon strip. + + + + + Gets or sets whether mouse over fade effect is enabled. Default value is true. + + + + + Gets or sets the font that is used to display Key Tips (accelerator keys) when they are displayed. Default value is null which means + that control Font is used for Key Tips display. + + + + + Collection of RibbonTabItemGroup items. Groups are assigned optionally to one or more RibbonTabItem object through the RibbonTabItem.Group + property to visually group tabs that belong to same functions. These tabs should be positioned next to each other. + + + + + Gets or sets the height in pixels of tab group line that is displayed above the RibbonTabItem objects that have group assigned. + Default value is 10 pixels. To show tab groups you need to assign the RibbonTabItem.Group property and set TabGroupsVisible=true. + + + + + Gets or sets whether tab group line that is displayed above the RibbonTabItem objects that have group assigned is visible. + Default value is false. To show tab groups you need to assign the RibbonTabItem.Group property and set TabGroupsVisible=true. Use TabGroupHeight + property to control height of the group line. + + + + + Gets or sets default font for tab groups. This font will be used if font is not specified by group style element. + + + + + Specifies the background style of the control. + + + + + Gets or sets the currently selected RibbonTabItem. RibbonTabItems are selected using the Checked property. Only a single + RibbonTabItem can be selected (Checked) at any given time. + + + + + Returns reference to internal ribbon strip control. + + + + + Returns collection of items on a bar. + + + + + Returns collection of quick toolbar access and caption items. + + + + + Gets/Sets the visual style of the control. If you are changing style to Office 2007 or Office 2010 use RibbonPredefinedColorSchemes.ChangeStyle method instead to ensure + all controls are switched properly. + + + + + Indicates whether control automatically updates Padding property for the ribbon and RibbonPanel based on style. Default value is true. + + + + + Gets or sets the Office 2007 Renderer global Color Table. Setting this property will affect all controls on the form that are using Office 2007 global renderer. + + + + + Gets whether collapsed ribbon is displaying the selected ribbon panel as popup. + + + + + Gets or sets whether mouse wheel scrolls through the ribbon tabs. Default value is true. + + + + + Gets or sets whether control is expanded or not. When control is expanded both the tabs and the tab ribbons are visible. When collapsed + only tabs are visible. + + + + + Gets or sets whether control is collapsed when RibbonTabItem is double clicked and expanded when RibbonTabItem is clicked. + Default value is true. + + + + + Gets or sets whether control is collapsed/expanded when Ctrl+F1 key is clicked. + Default value is true. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Gets or sets a value indicating whether the user can give the focus to this control using the TAB key. Default value is false. + + + + + Indicates the position of the BackgroundImage + + + + + Specifies whether the MDI system buttons are displayed in ribbon strip when MDI Child window is maximized. + + + + + Gets or sets whether Ribbon control employs the Windows Vista Glass support when available. This is managed automatically by Ribbon Control and + no setting is necessary on your part. + + + + + Indicates Quick Access Toolbar height when positioned below the Ribbon. Default value of 0 indicates auto-height. + + + + + Gets or sets whether control can be customized and items added by end-user using context menu to the quick access toolbar. + Caption of the control must be visible for customization to be enabled. Default value is true. + + + + + Gets or sets whether external implementation for ribbon bar and menu item customization will be used for customizing the ribbon control. When set to true + it enables the displaying of RibbonBar and menu item context menus which allow customization. You are responsible for + adding the menu items to context menu to handle all aspects of item customization. See "Ribbon Control Quick Access Toolbar Customization" topic in help file under How To. + Default value is false. + + + + + Gets or sets whether end-user customization of the placement of the Quick Access Toolbar is enabled. User + can change the position of the Quick Access Toolbar using the customize menu. Default value is true. + + + + + Gets or sets whether customize dialog is used to customize the quick access toolbar. You can handle the EnterCustomize event + to display your custom dialog instead of built-in dialog for customization. Default value is true. + + + + + Gets or sets the categorization mode for the items on Quick Access Toolbar customize dialog box. Default value categorizes + items by the ribbon bar they appear on. + + + + + Gets or sets whether Quick Access toolbar is positioned below the ribbon. + + + + + Gets or sets the Quick Access Toolbar layout description. You can use the value obtained from this property to save + the customized Quick Access Toolbar into registry or into any other storage object. You can also set the saved layout description back + to restore user customize layout. + + + + + Gets or sets whether Quick Access Toolbar has been customized by end-user. You can use value of this property to determine + whether Quick Access Toolbar layout that can be accessed using QatLayout property should be saved. + + + + + Gets the reference to the ribbon localization object which holds all system text used by the component. + + + + + Provides data for RibbonBar rendering events. + + + + + Gets or sets the reference to Graphics object. + + + + + Gets or sets the part bounds. + + + + + Gets or sets the reference to RibbonBar. + + + + + Gets or sets whether mouse over state should be painted for the ribbon bar part. + + + + + Gets or sets whether mouse is pressed over the ribbon part. + + + + + Gets or sets the region that defines the content bounds. When background is rendered the renderer should set this property + to define the content clip. + + + + + Creates new instance of the object and initializes it with default values. + + Reference to Graphics object. + Bounds of the part to be rendered. + Reference to ribbon bar. + + + + Represents the class that stores text used by ribbon control only for localization purposes. + + + + + Gets or sets the title text of the Quick Access Toolbar Customize dialog form. + + + + + Gets or sets the text of the "Place Quick Access Toolbar below the Ribbon" check-box on the Quick Access Toolbar Customize dialog form. + + + + + Gets or sets the text of the Choose commands from label on the Quick Access Toolbar Customize dialog form. + + + + + Gets or sets the text of the Remove button on the Quick Access Toolbar Customize dialog form. + + + + + Gets or sets the text of the Add button on the Quick Access Toolbar Customize dialog form. + + + + + Gets or sets the text of the OK button on the Quick Access Toolbar Customize dialog form. + + + + + Gets or sets the text of the Cancel button on the Quick Access Toolbar Customize dialog form. + + + + + Gets or sets the text that is used on context menu used to customize Quick Access Toolbar. + + + + + Gets or sets the text that is used on context menu used to customize Quick Access Toolbar. + + + + + Gets or sets the text that is used on context menu used to customize Quick Access Toolbar. + + + + + Gets or sets the text that is used on Quick Access Toolbar customize menu label. + + + + + Gets or sets the text that is used on context menu used to change placement of the Quick Access Toolbar. + + + + + Gets or sets the text that is used on context menu used to change placement of the Quick Access Toolbar. + + + + + Gets or sets the text that is used on context menu item used to minimize the Ribbon. + + + + + Gets or sets the text that is used on context menu item used to maximize the Ribbon. + + + + + Represents ribbon overflow button. + + + + + Gets or sets the ribbon bar control overflow button is displayed on. + + + + + Represents predefined color schemes for ribbon controls. + + + + + Applies default gray color scheme to background and title. + + Reference to object. + + + + Applies orange color scheme to background and title. + + Reference to object + + + + Apply Office 2003 color scheme to background and title. + + Reference to object + + + + Applies Office 2003 color scheme to ribbon control background. + + Reference to object. + + + + Applies Gray color scheme to ribbon control background. + + Reference to object. + + + + Applies Office 2007 color table to ribbon control background. + + Reference to object. + + + + Applies Office 2007 Luna blue color scheme to the Ribbon Bar. + + Reference to object. + + + + Applies specified style to Ribbon control and all other controls that are managed by the ribbon control. + This method is useful for example when switching the color tables for Office 2007 renderer. Once + the GlobalManager.Renderer color table is changed you can call this method to apply color table + changes to the Ribbon Control and other controls managed by it. + + RibbonControl to set the style on. + Visual style to apply. + + + + Applies specified visual style to the RibbonBar control. + + RibbonBar control to set the style on. + Visual style to apply. + + + + Applies current color scheme and layout settings to the container which acts as top-level file menu container. + Applies to Office 2007 style only. + + Container to apply style to. + + + + Applies current color scheme and layout properties to the two column menu container used by the top-level file menu. + Applies to Office 2007 style only. + + Container to apply style to. + + + + Applies current color scheme and layout properties to the first column menu container used by the top-level file menu. + This column usually contains menu items. + Applies to Office 2007 style only. + + Container to apply style to. + + + + Applies current color scheme and layout properties to the first column menu container used by the top-level file menu. + This column usually contains most recently used list of files or documents. + Applies to Office 2007 style only. + + Container to apply style to. + + + + Applies current color scheme and layout properties to the bottom menu container used by the top-level file menu. + This container usually contains Options and Exit buttons. + Applies to Office 2007 style only. + + Container to apply style to. + + + + Changes the Office 2007 color table for all DotNetBar controls on the open forms that are tracked by Application.OpenForms collection. You can use this function for example to + apply Black color scheme to all DotNetBar control on all open forms. The color table will be changed only for controls that + have Office 2007 style. Any other style will be unchanged. + + Color table to select and apply. + + + + Applies current Office 2007 style color table set on GlobalManager.Renderer to all DotNetBar controls with Office 2007 style on all open forms. + + + + + Changes the Office 2007 color table for all DotNetBar controls on the form. You can use this function for example to + apply Black color scheme to all DotNetBar control on given form. The color table will be changed only for controls that + have Office 2007 style. Any other style will be unchanged. + + Form to apply color table to. + Color table to select and apply. + + + + Generates and Changes the Office 2007 color table for all DotNetBar controls on the form. You can use this function for example to + create custom color scheme based on the base color and apply it to all DotNetBar control on given form. The new color table will be applied only to controls that + have Office 2007 style. Any other style will be unchanged. + + Form to apply color table to. + Base color table to use for creation of custom color table that will be applied. + Base color used to create custom color table. + + + + Generates and Changes the Office 2007 color table for all DotNetBar controls on all open forms. You can use this function for example to + create custom color scheme based on the base color and apply it to all DotNetBar control on given form. The new color table will be applied only to controls that + have Office 2007 style. Any other style will be unchanged. + + Base color table to use for creation of custom color table that will be applied. + Base color used to create custom color table. + + + + Applies current Office 2007 style color table to all DotNetBar controls on the form. + + Reference to the form or parent control that contains DotNetBar controls you would like to apply color table to. + + + + Changes style for all controls on Application.OpenForms to specified style. Use this method to change the style for all controls to Office 2007 or Office 2010 styles only. + + New style to assign to controls on forms. + + + + Changes style for all controls on Application.OpenForms to specified style. Use this method to change the style for all controls to Office 2007 or Office 2010 styles only. + + New style to assign to controls on forms. + Color used to blend with the base color scheme. + + + + Changes style for all controls on a form to specified style. Use this method to change the style for all controls to Office 2007 or Office 2010 styles only. + + New style to assign to controls. + Form or Control to process. + + + + Changes style for all controls on a form to specified style. Use this method to change the style for all controls to Office 2007 or Office 2010 styles only. + + New style to assign to controls. + Form or Control to process. + Color used to blend with the base color scheme. + + + + Changes the Office 2010 color table for all DotNetBar controls on the form. You can use this function for example to + apply Black color scheme to all DotNetBar control on given form. The color table will be changed only for controls that + have Office 2007 and 2010 style. Any other style will be unchanged. + + Form to apply color table to. + Color table to select and apply. + + + + Generates and Changes the Office 2010 color table for all DotNetBar controls on the form. You can use this function for example to + create custom color scheme based on the base color and apply it to all DotNetBar control on given form. The new color table will be applied only to controls that + have Office 2007 and 2010 style. Any other style will be unchanged. + + Form to apply color table to. + Base color table to use for creation of custom color table that will be applied. + Base color used to create custom color table. + + + + Generates and Changes the Office 2010 color table for all DotNetBar controls on all open forms. You can use this function for example to + create custom color scheme based on the base color and apply it to all DotNetBar control on given form. The new color table will be applied only to controls that + have Office 2007 and 2010 style. Any other style will be unchanged. + + Base color table to use for creation of custom color table that will be applied. + Base color used to create custom color table. + + + + Changes the Windows 7 color table for all DotNetBar controls on the form. You can use this function for example to + apply Black color scheme to all DotNetBar control on given form. The color table will be changed only for controls that + have Windows 7, Office 2007, 2010 style. Any other style will be unchanged. + + Form to apply color table to. + Color table to select and apply. + + + + Generates and Changes the Windows 7 color table for all DotNetBar controls on the form. You can use this function for example to + create custom color scheme based on the base color and apply it to all DotNetBar control on given form. The new color table will be applied only to controls that + have Windows 7, Office 2007 and 2010 style. Any other style will be unchanged. + + Form to apply color table to. + Base color table to use for creation of custom color table that will be applied. + Base color used to create custom color table. + + + + Generates and Changes the Windows 7 color table for all DotNetBar controls on all open forms. You can use this function for example to + create custom color scheme based on the base color and apply it to all DotNetBar control on given form. The new color table will be applied only to controls that + have Windows 7, Office 2007 and 2010 style. Any other style will be unchanged. + + Base color table to use for creation of custom color table that will be applied. + Base color used to create custom color table. + + + + Defines the Ribbon Quick Access Overflow system item. Used internally by Ribbon control. + + + + + Returns copy of DisplayMoreItem item + + + + + Overriden. Draws the item. + + Target Graphics object. + + + + Returns the insertion index for the items removed from overflow popup. Assumes that right-most items are removed first by the layout manager. + + + + + + Represents RibbonStrip control internally used by RibbonControl. + + + + + Occurs when text markup link is clicked. + + + + + Resets DefaultGroupFont property to default value null. + + + + + Returns automatically calculated height of the control given current content. + + Height in pixels. + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + Indicates whether GlobalName property is used for searching. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Called when ShowKeyTips on RibbonBar contained by this Ribbon is set to true + + + + + Forces the control to exit Ribbon Key-Tips mode. + + + + + Called when item on popup container is right-clicked. + + Instance of the item that is right-clicked. + + + + Returns true if point is inside the caption area. + + Client point coordinates. + True if point is inside of caption area otherwise false. + + + + Occurs when text markup link from TitleText markup is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets whether RibbonStrip control employs the Windows Vista Glass support when available. This is managed automatically by Ribbon Control and + no setting is necessary on your part. + + + + + + Gets reference to parsed markup body element if text was markup otherwise returns null. + + + + + Gets or sets whether KeyTips functionality is enabled. Default value is true. + + + + + Gets or sets whether control can be customized and items added by end-user using context menu to the quick access toolbar. + Caption of the control must be visible for customization to be enabled. Default value is true. + + + + + Gets or sets the explicit height of the caption provided by control. Caption height when set is composed of the TabGroupHeight and + the value specified here. Default value is 0 which means that system default caption size is used. + + + + + Gets or sets whether custom caption line provided by the control is visible. Default value is false. + This property should be set to true when control is used on Office2007RibbonForm. + + + + + Gets or sets the font for the form caption text when CaptionVisible=true. Default value is NULL which means that system font is used. + + + + + Gets or sets the indent of the ribbon strip. The indent setting is useful when control is used with caption visible and the Office 2007 + style start button. The indent specified here will move the ribbon strip so the start button does not overlap the tabs. + Value of this property is used only when CaptionVisible = true. + Default value is 46. + + + + + Gets or sets the height in pixels of tab group line that is displayed above the RibbonTabItem objects that have group assigned. + Default value is 14 pixels. To show tab groups you need to assign the RibbonTabItem.Group property and set TabGroupsVisible=true. + + + + + Gets or sets whether tab group line that is displayed above the RibbonTabItem objects that have group assigned is visible. + Default value is false. To show tab groups you need to assign the RibbonTabItem.Group property and set TabGroupsVisible=true. Use TabGroupHeight + property to control height of the group line. + + + + + Collection of RibbonTabItemGroup items. Groups are assigned optionally to one or more RibbonTabItem object through the RibbonTabItem.Group + property to visually group tabs that belong to same functions. These tabs should be positioned next to each other. + + + + + Gets/Sets the visual style of the control. + + + + + Returns collection of items on a bar. + + + + + Returns currently selected RibbonTabItem. RibbonTabItems are selected using the Checked property. Only a single + RibbonTabItem can be Checked at any given time. + + + + + Gets or set whether TabGroup painting is suspended. + + + + + Gets or sets default font for tab groups. This font will be used if font is not specified by group style element. + + + + + Gets or sets whether control is collapsed when RibbonTabItem is double clicked and expanded when RibbonTabItem is clicked. + + + + + Gets or sets whether control is collapsed when RibbonTabItem is double clicked and expanded when RibbonTabItem is clicked. + + + + + Gets or sets whether F10 key is ignored as way to set KeyTips focus to Ribbon. + + + + + Gets whether Ribbon is in key-tips mode including its child controls. + + + + + Returns collection of items on a bar. + + + + + Gets the reference to the internal container item for the items displayed in control caption. + + + + + Gets the reference to the internal container for the ribbon tabs and other items. + + + + + Defines the internal container item for the ribbon strip control. + + + + + Creates new instance of the class and initializes it with the parent RibbonStrip control. + + Reference to parent RibbonStrip control + + + + Paints this base container + + + + + Returns copy of GenericItemContainer item + + + + + Return Sub Item at specified location + + + + + Gets whether Metro Backstage application menu is open. + + + + + Gets reference to internal ribbon strip container that contains tabs and/or other items. + + + + + Gets reference to internal caption container item that contains the quick toolbar, start button and system caption item. + + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + When parent items does recalc size for its sub-items it should query + image size and store biggest image size into this property. + + + + + Provides data for RenderRibbonTabGroup event. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets RibbonTabItemGroup being rendered. + + + + + Gets or sets the bounds of the tab group. Bounds specified here are bounds of the tab group title. GroupBounds contains the bounds + that include all tabs that belong to the tab group. + + + + + Gets or sets the font that should be used to render group text. + + + + + Gets or sets group bounds including the tabs that belong to the group. + + + + + Gets or sets the effective style for the group. + + + + + Gets whether Windows Vista glass is enabled. + + + + + Represents Rendering Tab used on RibbonControl. + + + + + Selects the tab. + + + + + Resets Group property to default value null. + + + + + Called after Checked property has changed. + + + + + Occurs just before Click event is fired. + + + + + Occurs when the item is clicked. This is used by internal implementation only. + + + + + Called when Visibility of the items has changed. + + New Visible state. + + + + Occurs after item visual style has changed. + + + + + Gets or sets whether tab renders its state. Used internally by DotNetBar. Do not set. + + + + + Gets or sets the additional padding added around the tab item in pixels. Default value is 0. + + + + + Gets or sets whether size of the tab has been reduced below the default calculated size. + + + + + Gets or sets the predefined color of item. Color specified here applies to items with Office 2007 style only. It does not have + any effect on other styles. Default value is eRibbonTabColor.Default + + + + + Gets or sets the group this tab belongs to. Groups are optional classification that is used to + visually group tabs that belong to same functions. These tabs should be positioned next to each other. + + + + + Gets or sets the panel assigned to this ribbon tab item. + + + + + Gets or set the Group item belongs to. The groups allows a user to choose from mutually exclusive options within the group. The choice is reflected by Checked property. + + + + + Returns the collection of sub items. + + + + + Indicates whether the item will auto-collapse (fold) when clicked. + When item is on popup menu and this property is set to false, menu will not + close when item is clicked. + + + + + Indicates whether the item will auto-expand when clicked. + When item is on top level bar and not on menu and contains sub-items, sub-items will be shown only if user + click the expand part of the button. Setting this propert to true will expand the button and show sub-items when user + clicks anywhere inside of the button. Default value is false which indicates that button is expanded only + if its expand part is clicked. + + + + + Gets or sets whether item can be customized by end user. + + + + + Gets or set a value indicating whether the button is in the checked state. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets a value indicating whether the item is enabled. + + + + + Indicates item's visiblity when on pop-up menu. + + + + + Indicates when menu items are displayed when MenuVisiblity is set to VisibleIfRecentlyUsed and RecentlyUsed is true. + + + + + Indicates Animation type for Popups. + + + + + Indicates the font that will be used on the popup window. + + + + + Indicates whether sub-items are shown on popup Bar or popup menu. + + + + + Specifies the inital width for the Bar that hosts pop-up items. Applies to PopupType.Toolbar only. + + + + + Gets or sets whether item will display sub items. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Gets or sets the width of the expand part of the button item. + + + + + Gets or set the alternative shortcut text. + + + + + Gets or sets whether item separator is shown before this item. + + + + + Returns category for this item. If item cannot be customzied using the + customize dialog category is empty string. + + + + + Gets or sets the text color of the button when mouse is over the item. + + + + + Indicates the way item is painting the picture when mouse is over it. Setting the value to Color will render the image in gray-scale when mouse is not over the item. + + + + + Gets or sets the text color of the button. + + + + + Represents a group RibbonTabItem objects are assigned to. + + + + + Selected first tab that is part of this group. + + + + + Gets or sets the predefined color of the group. Color specified here applies to groups with Office 12 style only. It does not have + any effect on other styles. Default value is eRibbonTabGroupColor.Default + + + + + Gets or sets the custom color name. Name specified here must be represented by the coresponding object with the same name that is part + of the Office2007ColorTable.RibbonTabGroupColors collection. See documentation for Office2007ColorTable.RibbonTabGroupColors for more information. + If color table with specified name cannot be found default color will be used. Valid settings for this property override any + setting to the Color property. + + + + + Gets the style for tab group. + + + + + Gets or sets title of the group that will be displayed when group is visually represented. + + + + + Gets or sets parent ribbon strip for this group. + + + + + Gets or sets whether RibbonTabItem objects that belong to this group are visible. Setting this property will + show/hide all RibbonTabItem objects that are assigned to this group through RibbonTabItem.Group property. + + + + + Gets whether any tab from this tab group is selected. + + + + + Gets or sets name of the group that can be used to identify item from the code. + + + + + Gets an array of Rectangle objects that describe the visual position on the ribbon control of the group titles displayed. + If tabs that belong to a tab group are not next to each other then there will be multiple rectangle returned as part of the array + for each tab group that is apart. + + + + + Collection of RibbonTabItemGroup objects. + + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds new objects to the collection. + + Array of groups to add. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the RibbonTabItemGroup array. + + Array to copy to. + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's name. + + + + + Provides data for ButtonItem rendering. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets the reference to ButtonItem instance being rendered. + + + + + Reference to internal data. + + + + + Creates new instance of the object. + + + + + Creates new instance of the object and initializes it with default values + + Reference to Graphics object. + Reference to ButtonItem object. + + + + Creates new instance of the object and initializes it with default values + + Reference to Graphics object. + Reference to ButtonItem object. + + + + Summary description for SimpleElement. + + + + + Summary description for SimpleElementLayout. + + + + + Indicates absolute vertical alignment of the content. + + + + + Content is aligned to the top + + + + + Content is aligned in the middle + + + + + Content is aligned at the bottom + + + + + Indicates absolute horizontal alignment + + + + + Content is left aligned + + + + + Content is centered + + + + + Content is right aligned + + + + Indicates alignment of a part of the cell like image or check box in relation to the text. + + + + Part is aligned to the left center of the text assuming left-to-right + orientation. + + + + + Part is aligned to the right center of the text assuming left-to-right + orientation. + + + + + Part is aligned to the top left of the text assuming left-to-right + orientation. + + + + Part is aligned above the text and centered. + + + + Part is aligned to the top right of the text assuming left-to-right + orientation. + + + + + Part is aligned to the bottom left of the text assuming left-to-right + orientation. + + + + Part is aligned below the text and centered. + + + + Part is aligned to the bottom right of the text assuming left-to-right + orientation. + + + + + Summary description for SimpleNodeDisplay. + + + + + Represents information neccessary to paint the cell on canvas. + + + + + Represents the slider item which allows you to select a value from predefined range. + + + + + Creates new instance of SliderItem. + + + + + Creates new instance of SliderItem and assigns the name to it. + + Item name. + + + + Creates new instance of SliderItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the SliderItem specific properties to new instance of the item. + + New SliderItem instance. + + + + Copies the SliderItem specific properties to new instance of the item. + + New SliderItem instance. + + + + Raises the IncreaseButtonClick event. + + Provides event arguments + + + + Raises the DecreaseButtonClick event. + + Provides event arguments + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Advances the current position of the slider by the amount of the Step property. + + + + + Advances the current position of the slider by the amount of the Step property. + + + + + Advances the current position of the slider by the specified amount. + + The amount by which to increment the sliders current position. + + + + Advances the current position of the slider by the specified amount. + + The amount by which to increment the sliders current position. + + + + Raises the ValueChanged event. + + + + + Raises the ValueChanged event. + + + + + Raises the ValueChanging event. + + + + + Returns whether property should be serialized. Used by Windows Forms designer. + + + + + Resets the property to default value. Used by Windows Forms designer. + + + + + Occurs after Value property has changed. + + + + + Occurs before Value property has changed. + + + + + Occurs when Increase button is clicked using mouse. + + + + + Occurs when Decrease button is clicked using mouse. + + + + + Gets or sets the slider mouse over part. + + + + + Gets or sets the slider part that mouse is pressed over. This property should not be modified and it is for internal usage only. + + + + + Returns the label bounds inside of the control. + + + + + Gets or sets the text associated with this item. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets the maximum value of the range of the control. + + + + + Gets or sets the minimum value of the range of the control. + + + + + Gets or sets the current position of the slider. + + + + + Gets or sets the amount by which a call to the PerformStep method increases the current position of the slider. Value must be greater than 0. + + + + + Gets or sets whether the text label next to the slider is displayed. + + + + + Gets or sets the width of the slider part of the item in pixels. Value must be greater than 0. Default value is 136. + + + + + Gets or sets the width of the label part of the item in pixels. Value must be greater than 0. Default value is 38. + + + + + Gets or sets the text label position in relationship to the slider. Default value is Left. + + + + + Gets or sets whether Click event will be auto repeated when mouse button is kept pressed over the item. + + + + + Gets or sets the auto-repeat interval for the click event when mouse button is kept pressed over the item. + + + + + Gets or sets whether vertical line track marker is displayed on the slide line. Default value is true. + + + + + Gets or sets the color of the label text. + + + + + Gets or sets the Key Tips access key or keys for the item when on Ribbon Control or Ribbon Bar. Use KeyTips property + when you want to assign the one or more letters to be used to access an item. For example assigning the FN to KeyTips property + will require the user to press F then N keys to select an item. Pressing the F letter will show only keytips for the items that start with letter F. + + + + + Gets or sets the collection of shortcut keys associated with the item. + + + + + Gets or sets whether item will display sub items. + + + + + Specifies whether item is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets or sets whether the item expands automatically to fill out the remaining space inside the container. Applies to Items on stretchable, no-wrap Bars only. + + + + + Gets or sets the tooltip for the Increase button of the slider. + + + + + Gets or sets the tooltip for the Decrease button of the slider. + + + + + Gets or sets the slider orientation. Default value is horizontal. + + + + + Gets or sets the custom color table for the item. Color table here will override all system color table settings. + + + + + Indicates spacing for an user interface element either padding or margins. + + + + + Gets or sets the amount of the space on the left side. + + + + + Gets or sets the amount of the space on the right side. + + + + + Gets or sets the amount of the space on the top. + + + + + Gets or sets the amount of the space on the bottom. + + + + + Gets total horizontal spacing. + + + + + Gets total vertical spacing. + + + + + Gets whether all memebers of class are set to 0. + + + + + Summary description for SubItemsCollection. + + + + + Sorts the items in the collection using the built in IComparable on each item which sorts items by the Text property. + + + + + Sorts the items in the collection using specified comparer. + + Comparer to use for item sorting. + + + + Gets whether MinimumTooltipSize property should be serialized. + + + + + Retrieves SuperTooltipInfo for given component or return null if component does not have tooltip associated with it. + + + + + Associates SuperTooltipInfo with given component. + + Reference to supported component. + Instance of SuperTooltipInfo class. If null is passed the SuperTooltip is detached from the given component. + + + + Raises the MarkupLinkClick event. + + + + + Shows SuperTooltip for given object that has been registered using SetSuperTooltip method at specific location on the screen. + + Object to show tooltip for. Object must be registered using SetSuperTooltip method before tooltip is shown for it. + Specifies the explicit position of the SuperTooltip in screen coordinates. + + + + Shows SuperTooltip for given object that has been registered using SetSuperTooltip method. + + Object to show tooltip for. Object must be registered using SetSuperTooltip method before tooltip is shown for it. + + + + Shows SuperTooltip for given object that has been registered using SetSuperTooltip method. + + Object to show tooltip for. Object must be registered using SetSuperTooltip method before tooltip is shown for it. + + + + Raises the TooltipClosed event. + + Provides event arguments. + + + + Hides tooltip if it is visible. + + + + + Resets Hoover timer. + + + + + Occurs just before tooltip is displayed and gives you opportunity to cancel showing of tooltip. + + + + + Occurs after tooltip has been closed. + + + + + Occurs when text markup link is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Gets or sets the maximum width of the super tooltip. Default value is 0 which indicates that maximum width is not used. The maximum width property + will not be used if custom size is specified. + + + + + Gets or sets whether form active state is ignored when control is deciding whether to show tooltip. By default this property is set to false + which indicates that tooltip will be shown only if parent form is active. When set to true the form active state is ignored when + deciding whether to show tooltip. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is true. + + + + + Gets or sets whether SuperTooltip will be shown for the controls assigned to it. Default value is true. You can set + this property to false to disable SuperTooltip for all controls assigned to it. + + + + + Gets or sets whether tooltip is shown immediately after the mouse enters the control. The default value is false which indicates + that tooltip is shown after system hover timeout has expired which provides slight delay before tooltip is shown. + + + + + Gets or sets the minimum tooltip size. Default value is 150 width and 24 height. + + + + + Gets or sets the duration in seconds that tooltip is kept on screen after it is displayed. Default value is 20 seconds. + You can set this value to 0 to keep tooltip displayed until user moves mouse out of control or application loses focus. + + + + + Gets or sets the delay time for hiding the tooltip in milliseconds after + mouse has left the control. Default value is 0 which means that tooltip will be + hidden as soon as mouse leaves the control tooltip was displayed for. You can use + this property to provide the user with enough time to move the mouse cursor to the + tooltip so user can act on the content of the tooltip, like hyper links. + + + + + Gets or sets whether tooltip position is checked before tooltip is displayed and adjusted to tooltip always + falls into screen bounds. Default value is true. + + + + + Gets or sets whether tooltip position is checked before tooltip is displayed and adjusted so tooltip does not overlaps the + control it is displayed for. Default value is true. + + + + + Gets or sets the tooltip position in relationship to the control tooltip is providing information for. + Set this property to false if you want tooltip to be displayed below the mouse cursor. Default value is + true which indicates that tooltip is displayed below mouse cursor but it is positioned below the control + that it provides the information for so it is not covering its content. + + + + + Gets or sets default setting for new Tooltips you create in design time. If all your tooltips have common elements + you can change this property to reflect these default setting before you start writing tooltips for all controls on the form. + As you start creating new tooltips for controls on the form default values specified here will be used as starting values + for new tooltip you are creating. + + + + + Returns instance of default tooltip information used in design-time. + + + + + Gets the reference to internal Hashtable that contains reference to all controls and assigned SuperTooltips. This + collection must not be modified directly and it is automatically managed by the SuperTooltip component. You can use it + for example to change the color for all SuperTooltips managed by the component but you should not add or remove items to it. + Instead use SetSuperTooltip methods to add or remove the tooltip for a component. + + + + + Gets or sets the hover delay multiplier which controls how fast tooltip appears. The value set here indicates + how many hover events are needed to occur before the tooltip is displayed. + + + + + Returns whether tooltip is visible. + + + + + Gets reference to instance of tooltip control if any has been created at the time call is made. + + + + + Gets or sets default tooltip font. Default value is null which means that default system font is used. + + + + + Gets or sets whether complete tooltip is shown including header, body and footer. Default value is true. When set to false only tooltip header will be shown. + Providing this option to your end users as part of your application setting allows them to customize the level of information displayed and reduce it after they are familiar with your product. + + + + + Gets or sets whether tooltip is shown when control that tooltip is assigned to is focused. You can set this value to false to disable Tooltip display when control receives input focus. Default value is true. + + This property is effective only when Super Tooltip is assigned to the controls that inherit from System.Windows.Forms.Control class and it relies on Focused property of respective control for proper function. + + + + Provides information about SuperTooltip attached to a component. + + + + + Creates new instance of the class. + + + + + Creates new instance of the class with specified parameters. + + + + + Creates new instance of the class with specified parameters. + + + + + Returns whether property should be serialized. + + + + + Gets or sets whether tooltip header text is visible or not. Default value is true. + + + + + Gets or sets whether tooltip footer text is visible or not. Default value is true. + + + + + Gets or sets the header text. + + + + + Gets or sets the footer text. + + + + + Gets or sets body text. + + + + + Gets or sets body image displayed to the left of body text. + + + + + Gets or sets footer image displayed to the left of footer text. + + + + + Gets or sets the custom size for tooltip. Default value is 0,0 which indicates that tooltip is automatically + resized based on the content. + + + + + Gets or sets predefined tooltip color. + + + + + Extensibility interface that custom components may implement + so SuperTooltip can be provided for them. + + + + + This event should be triggered by the component when it wants to display SuperTooltip. Normally + this event would be equivalent of MouseHover event but you can trigger it in response to anything else. + Sender for this event must be object that implements ISuperTooltipInfoProvider interface. + + + + + This event should be triggered by component when it wants to hide SuperTooltip. For example this event + might be triggered when mouse leaves your component. Sender of this event must be object that implements ISuperTooltipInfoProvider interface. + + + + + Returns rectangle of the visible area of the component in screen coordinates. This rectangle is used + to position SuperTooltip on the screen. + + + + + Delegate for SuperTooltip events. + + + + + Represents event arguments for PanelChanging event. + + + + + Set to true to cancel display of tooltip. + + + + + Object that has triggered displaying of tooltip + + + + + Information that will be used to populate tooltip. + + + + + Location where tooltip will be displayed. You can change the location here to display tooltip at different position. + + + + + Indicates the tooltip size, read-only and valid only if tooltip position is checked on screen. + + + + + Default constructor. + + + + + Represents SuperTooltipControl. + + + + + Default constructor. + + + + + Paints insides of the control. + + Paint event arguments. + + + + Recalculates and set size of the control based on the content that is made available to it. + + + + + Calculates the tooltip height based on the specified width. + + Tooltip width + Size of the tooltip based on specified width. + + + + Shows tooltip at specified screen coordinates. + + X coordinate + Y coordinate + Indicates whether to enforce the screen position of tooltip if tooltip falls out of screen bounds. + + + + Updates the popup shadow size and position if shadow is visible. + + + + + Gets or sets whether complete tooltip is shown including header, body and footer. Default value is true. When set to false only tooltip header will be shown. + Providing this option to your end users as part of your application setting allows them to customize the level of information displayed and reduce it after they are familiar with your product. + + + + + Gets or sets the maximum width of the super tooltip. Default value is 0 which indicates that maximum width is not used. The maximum width property + will not be used if custom size is specified. + + + + + Gets or sets the minimum tooltip size. Default value is 150, 50 + + + + + Gets or sets image used next to body text. + + + + + Gets or sets image used next to footer text. + + + + + Gets or sets text displayed in header of tooltip + + + + + Gets or sets whether header in tooltip is visible. Default value is true. + + + + + Gets or sets text displayed in footer of the tooltip + + + + + Gets or sets whether footer in tooltip is visible. Default value is true. + + + + + Gets or sets whether line above footer text is drawn to separate footer from body text. Default value is true. + + + + + Gets or sets whether mouse click on super tooltip will activate it, make it active window. Default value is true. + + + + + Gets or sets whether tooltip control is popup tooltip or standard control. Default is false which means tooltip is popup style. + + + + + Represents class that holds padding information for user interface elements. + + + + + Gets or sets padding on left side. Default value is 0 + + + + + Gets or sets padding on right side. Default value is 0 + + + + + Gets or sets padding on top side. Default value is 0 + + + + + Gets or sets padding on bottom side. Default value is 0 + + + + + Creates new instance of the class and initializes it. + + Padding for all sides + + + + Creates new instance of the class and initializes it. + + Left padding + Right padding + Top padding + Bottom padding + + + + Raises the PropertyChanged event. + + Event arguments + + + + Gets amount of Top padding + + + + + Gets amount of Left padding + + + + + Gets amount of Bottom padding + + + + + Gets amount of Right padding + + + + + Gets amount of horizontal padding (Left+Right) + + + + + Gets amount of vertical padding (Top+Bottom) + + + + + Gets whether Padding is empty. + + + + + Gets or sets the padding for all sides. + + + + + Occurs when property value has changed. + + + + + Summary description for ThemedButtonItemPainter. + + + + + Provides data for toolbar rendering. + + + + + Gets or sets the reference to Bar object being rendered + + + + + Gets or sets Graphics object bar is rendered on. + + + + + Gets the bounds of the region that should be rendered. + + + + + Reference to internal data. + + + + + Creates new instance of the object and initializes it with default data. + + Reference to bar object. + Reference to Graphics object. + + + + Describes the round rectangle shape. + + + + + Initializes a new instance of the RoundCornerDescriptor class. + + + + + Initializes a new instance of the RoundCornerDescriptor class. + + + + + Initializes a new instance of the RoundCornerDescriptor class. + + + + + + + + + Gets or sets the top-left round corner size. + + + + + Gets or sets the top-right round corner size. + + + + + Gets or sets the bottom-left round corner size. + + + + + Gets or sets the bottom-right round corner size. + + + + + Gets whether all corner size values are set to zero which results in no rounded corners. + + + + + Gets whether all corner size values are set to same value. + + + + + Represents DocumentDockContainer object converter. + + + + + Initializes a new instance of the ScrollBarAdv class. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Gets whether scrollbar is vertical. + + true if scrollbar is vertical otherwise false for horizontal scrollbar + + + + Raises the Scroll event. + + Provides Event arguments. + + + + Raises the ValueChanged event. + + Provides Event arguments. + + + + Called when Command property value changes. + + + + + Occurs when the Value property is changed, either by a Scroll event or programmatically. + + + + + Occurs when the scroll box has been moved by either a mouse or keyboard action. + + + + + Gets or sets a value to be added to or subtracted from the Value property when the scroll box is moved a large distance. + A numeric value. The default value is 10. + ArgumentOutOfRangeException is raised if assigned value is less than 0. + + + + + Gets or sets the upper limit of values of the scrollable range. + A numeric value. The default value is 100. + + + + + Gets or sets the lower limit of values of the scrollable range. + A numeric value. The default value is 0. + + + + + Gets or sets the value to be added to or subtracted from the Value property when the scroll box is moved a small distance. + A numeric value. The default value is 1. + ArgumentOutOfRangeException is raised if assigned value is less than 0. + + + + + Gets or sets a numeric value that represents the current position of the scroll box on the scroll bar control. + A numeric value that is within the Minimum and Maximum range. The default value is 0. + ArgumentOutOfRangeException is raised if assigned value is less than the Minimum property value or assigned value is greater than the Maximum property value. + + + + + Gets or sets the scroll bar appearance style. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Summary description for ScrollButton. + + + + + Clean up any resources being used. + + + + + Represents class that provides shadows to elements. + + + + + Creates new instance of shadow painter. + + + + + Represents class that provides display context for shadow painter. + + + + + Summary description for ShortcutList. + + + + + Represents the Outlook like Side-bar Control. + + + + + Creates new instance of side bar control. + + + + + Clean up any resources being used. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Returns the renderer control will be rendered with. + + The current renderer. + + + + Raises ItemLayoutUpdated event. + + Provides event arguments. + + + + Invokes ItemDoubleClick event. + + Reference to item double-clicked + Event arguments + + + + Returns the collection of items with the specified name. + + Item name to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the collection of items with the specified name and type. + + Item name to look for. + Item type to look for. + + + + + Returns the first item that matches specified name. + + Item name to look for. + + + + + Invokes the DotNetBar Customize dialog. + + + + + Invokes SerializeItem event. + + Provides data for the event. + + + + Invokes DeserializeItem event. + + Provides data for the event. + + + + Loads the Side bar definition from file. + + Definition file name. + + + + Saves the Side bar definition to file. + + Definition file name. + + + + Occurs when Checked property of an button has changed. + + + + + Occurs when Item is clicked. + + + + + Occurs when Item is clicked. + + + + + Occurs when popup of type container is loading. + + + + + Occurs when popup of type container is unloading. + + + + + Occurs when popup item is about to open. + + + + + Occurs when popup item is closing. + + + + + Occurs just before popup window is shown. + + + + + Occurs when Item Expanded property has changed. + + + + + Occurs when mouse button is pressed. + + + + + Occurs when mouse button is released. + + + + + Occurs when mouse enters the item. + + + + + Occurs when mouse leaves the item. + + + + + Occurs when mouse moves over the item. + + + + + Occurs when mouse remains still inside an item for an amount of time. + + + + + Occurs when item loses input focus. + + + + + Occurs when item receives input focus. + + + + + Occurs when user changes the item position, removes the item, adds new item or creates new bar. + + + + + Occurs after an Item is removed from SubItemsCollection. + + + + + Occurs after an Item has been added to the SubItemsCollection. + + + + + Occurs when ControlContainerControl is created and contained control is needed. + + + + + Occurs when Text property of an Item has changed. + + + + + Use this event if you want to serialize the hosted control state directly into the DotNetBar definition file. + + + + + Use this event if you want to deserialize the hosted control state directly from the DotNetBar definition file. + + + + + Occurs after DotNetBar definition is loaded. + + + + + Occurs before an item in option group is checked and provides opportunity to cancel that. + + + + + Occurs before tooltip for an item is shown. Sender could be the BaseItem or derived class for which tooltip is being displayed or it could be a ToolTip object itself it tooltip is not displayed for any item in particular. + + + + + Occurs after an item has been serialized to XmlElement and provides you with opportunity to add any custom data + to serialized XML. This allows you to serialize any data with the item and load it back up in DeserializeItem event. + + + To serialize custom data to XML definition control creates handle this event and use CustomXmlElement + property on SerializeItemEventArgs to add new nodes or set attributes with custom data you want saved. + + + + + Occurs after an item has been de-serialized (load) from XmlElement and provides you with opportunity to load any custom data + you have serialized during SerializeItem event. + + + To de-serialize custom data from XML definition handle this event and use CustomXmlElement + property on SerializeItemEventArgs to retrive any data you saved in SerializeItem event. + + + + + Gets or sets the redering mode used by control. Default value is eRenderMode.Global which means that static GlobalManager.Renderer is used. If set to Custom then Renderer property must + also be set to the custom renderer that will be used. + + + + + Gets or sets the custom renderer used by the items on this control. RenderMode property must also be set to eRenderMode.Custom in order renderer + specified here to be used. + + + + + Gets or sets visual appearance for the control. + + + + + Gets or sets whether flat side bar is using system colors. + + + This property is used internally by side bar to determine whether to reset color scheme based on system colors. + If you want side bar to use system colors you need to set PredefinedColorScheme property. + + + + + Gets or sets Bar Color Scheme. + + + + + Gets/Sets the visual style of the SideBar. + + + + + Specifies whether SideBar is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Occurs after internal item layout has been updated and items have valid bounds assigned. + + + + + Returns the collection of side-bar Panels. + + + + + Gets or sets the expanded panel. Only one panel can be expanded at a time. + + + + + Gets or sets the form SideBar is attached to. + + + + + Gets or sets whether end-user can rearrange the items inside the panels. + + + + + Gets or sets whether native .NET Drag and Drop is used by side-bar to perform drag and drop operations. AllowDrop must be set to true to allow drop of the items on control. + + + + + Gets or sets whether external ButtonItem object is accepted in drag and drop operation. UseNativeDragDrop must be set to true in order for this property to be effective. + + + + + Gets or sets whether gray-scale algorithm is used to create automatic gray-scale images. Default is true. + + + + + ImageList for images used on Items. Images specified here will always be used on menu-items and are by default used on all Bars. + + + + + ImageList for medium-sized images used on Items. + + + + + ImageList for large-sized images used on Items. + + + + + Indicates whether Tooltips are shown on Bars and menus. + + + + + Indicates whether item shortcut is displayed in Tooltips. + + + + + Indicates whether Reset buttons is shown that allows end-user to reset the toolbar state. + + + + + Returns the reference to the container that containing the sub-items. + + + + + Gets/Sets control border style. + + + + + Gets whether any handlers have been defined for SerializeItem event. If no handles have been defined to optimize performance SerializeItem event will not be attempted to fire. + + + + + Gets whether any handlers have been defined for DeserializeItem event. If no handles have been defined to optimize performance DeserializeItem event will not be attempted to fire. + + + + + Gets/Sets Bar definition as XML string. + + + + + Indicates whether shortucts handled by items are dispatched to the next handler or control. + + + + + Represents the method that will handle the ItemRemoved event. + + + + + Provides layout for Side-Bar control. + + + + + Creates new instance of SideBarContainerItem class. + + + + + Returns copy of SideBarContainerItem item + + + + + Recalculates the size of the item + + + + + Paints this base container + + + + + Occurs when sub item expanded state has changed. + + Sub item affected. + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Sets input focus to next visible item in Explorer Bar. + + True if focus was set to next visible item otherwise false. + + + + Sets input focus to previous visible item in Explorer Bar. + + True if focus was set to previous visible item otherwise false. + + + + Gets or sets a value indicating whether the item is expanded or not. For Popup items this would indicate whether the item is popped up or not. + + + + + Summary description for SideBarPanelControl. + + + + + Represents the Side-Bar Panel item. + + + + + Creates new instance of SideBarPanelItem. + + + + + Creates new instance of SideBarPanelItem and assigns the name to it. + + Item name. + + + + Creates new instance of SideBarPanelItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of SideBarPanelItem item. + + + + + Returns the Font object to be used for drawing the item text. + + Font object. + + + + Occurs when the mouse pointer is moved over the item. This is used by internal implementation only. + + + + + Occurs when the mouse pointer is over the item and a mouse button is pressed. This is used by internal implementation only. + + + + + Occurs when the item is clicked. This is used by internal implementation only. + + + + + Overloaded. Serializes the item and all sub-items into the XmlElement. + + XmlElement to serialize the item to. + + + + Overloaded. Deserializes the Item from the XmlElement. + + Source XmlElement. + + + + Shows tooltip for this item. + + + + + Forces the repaint the item. + + + + + Must be called by any sub item that implements the image when image has changed + + + + + Gets whether mouse is over the panel header. + + + + + Gets whether mouse is pressed over the panel header. + + + + + Specifies panel title text alignment. Default value is Center. + + + + + Gets or sets the layout type for the items. Default layout orders items in a single column. Multi-column layout will order + items in multiple colums based on the width of the control. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the item background style. + + + + + Gets or sets the item header style. Applies only when SideBar.Appearance is set to Flat. + + + + + Gets or sets the item header style when mouse is over the header. Applies only when SideBar.Appearance is set to Flat. + + + + + Gets or sets the item header style when left mouse button is pressed on header. Applies only when SideBar.Appearance is set to Flat. + + + + + Gets or sets the item header side style. Applies only when SideBar.Appearance is set to Flat. + + + + + Gets or sets the item header side style when mouse is over the header. Applies only when SideBar.Appearance is set to Flat. + + + + + Gets or sets the item header side style when left mouse button is pressed on header. Applies only when SideBar.Appearance is set to Flat. + + + + + Gets or sets whether the font used to draw the item text is bold. + + + + + Gets or sets whether the font used to draw the item text is bold when mouse is over the item. + + + + + Gets or sets whether the font used to draw the item text is underlined when mouse is over the item. + + + + + Gets or sets the text color of the button when mouse is over the item. + + + + + Gets or sets the text color of the button. + + + + + Gets/Sets the Image size for all sub-items on the Bar. + + + + + Gets the rectangle of the panel item Button. + + + + + Gets or sets the index of the first visible item on the panel. + + + + + Gets or sets a value that determines whether text is displayed in multiple lines or one long line. + This setting applies to the buttons inside Panel as well. + + + + + Gets or sets whether scroll buttons are displayed when content of the panel exceeds it's height. + + + + + Specifies the Button icon. Icons support multiple image sizes and alpha blending. + + + + + Specifies the Button image. + + + + + Specifies the index of the image for the button if ImageList is used. + + + + + Specifies the image for the button when mouse is over the item. + + + + + Specifies the index of the image for the button when mouse is over the item when ImageList is used. + + + + + Specifies the image for the button when mouse left button is pressed. + + + + + Specifies the index of the image for the button when mouse left button is pressed and ImageList is used. + + + + + Represents class that provide display support for simple tabs. + + + + + Default constructor. + + + + + Provides layout management for ISimpleTab tab implementations. + + + + + Resizes the content block and sets it's Bounds property to reflect new size. + + Content block to resize. + + + + Represents painter for Mozilla style splitter. + + + + + Base class for painting expandable splitter control. + + + + + Default constructor. + + + + + Paints splitter. + + Paint information. + + + + Creates new instance of splitter painter. + + + + + Paints splitter. + + Paint information. + + + + Represents painter for Office 2003 style splitter. + + + + + Creates new instance of splitter painter. + + + + + Paints splitter. + + Paint information. + + + + Represents class that holds information neccessary to paint the expandable splitter. + + + + + Specifies reference to graphics canvas. + + + + + Specifies splitter display rectangle. + + + + + Holds color settings for painting. + + + + + Specifies whether splitter is expandable or not. + + + + + Specifies whether splitter is expanded or not. + + + + + Specifies the splitter dock. + + + + + Represents class that holds colors for the splitter display. + + + + + Specifies back color. + + + + + Specifies target gradient background color. + + + + + Specifies background gradient angle. + + + + + Specifies grip part dark color. + + + + + Specifies grip part light color. + + + + + Specifies expand part line color. + + + + + Specifies expand part fill color. + + + + + Initializes a new instance of the StyleManager class. + + + + + Initializes a new instance of the StyleManager class with the specified container. + + An IContainer that represents the container for the command. + + + + Updates Ambient colors for control and its child controls. + + + + + + Updates ambient colors for the control and its children. + + + + + + Gets whether property should be serialized by WinForms designer. + + + + + Resets property to its default value. + + + + + Changes the StyleManager style and color tint in one step. Use this method if you need to change style and color tint simultaneously in single step for better performance. + + New style. + Color tint for the style. + + + + Registers control with the StyleManager so control can be notified of global style changes. + + Control to register with the StyleManager. + + + + Unregister the control from StyleManager notifications. + + Control that was registered through Register method. + + + + Returns whether style is a Metro type style. + + style to test. + true if Metro type style otherwise false. + + + + Returns whether style is a Metro type style. + + style to test. + true if Metro type style otherwise false. + + + + Returns whether style is a Metro type style. + + style to test. + true if Metro type style otherwise false. + + + + Gets or sets the global style for the controls that have Style=ManagerControlled. + + + + + Gets or sets the color current style is tinted with. + + + + + Gets previous effective style. + + + + + Gets or sets color generation parameters for Metro color generator. + + + + + Gets or sets color generation parameters for Metro color generator. + + + + + Gets or sets the current visual style. + + + + + Gets or sets the color tint that is applied to current Office 2007, Office 2010 or Windows 7 color table. + Default value is Color.Empty which indicates that no color blending is performed. + + + + + Defines the StyleManager styles. + + + + + Manages whether ambient property settings (BackColor, ForeColor etc.) are applied to child controls of the form when StyleManager component changes style. + + + + + Initializes a new instance of the StyleManagerAmbient class. + + + + + Initializes a new instance of the StyleManagerAmbient class with the specified container. + + An IContainer that represents the container for the command. + + + + Gets ambient settings StyleManager is allowed to change on the control. + + + + + Sets the ambient settings StyleManager is allowed to change on component. + + Reference to supported component. + Ambient settings that StyleManager may change. + + + + Specifies ambient settings enabled on the control for StyleManager. + + + + + All ambient settings are allowed to change. + + + + + StyleManager cannot change ambient settings. + + + + + StyleManager should process child controls. + + + + + StyleManager should change BackColor. + + + + + StyleManager should change ForeColor. + + + + + Constructor + + Associated SuperTabItem + + + + Paint processing + + + + + + Gets the default tab ContentRectangle + + Rectangle + + + + Gets the tab ContentRectangle + + Rectangle + + + + Gets the tab path + + GraphicsPath + + + + Sets the default color tables + + + + + Gets the tab ColorTable + + ColorTable + + + + Gets the tab state + + eTabState + + + + Gets the tab panel Color Table + + Color Table + + + + Draws the tab background + + Graphics + Tab path + StateColorTable + + + + Draws the tab border + + Graphics + Tab path + Color table + + + + Draws the tab contents + + Graphics + State color table + + + + Draws the tab image + + Graphics + + + + Draws the tab text + + + + + + + Draws the tab close button + + Graphics + State color table + + + + Sets the GraphicsTransform for the given alignment + and Horizontal text setting + + Graphics + Rectangle to transform + Transformed rectangle + + + + Resets out transform + + Graphics + + + + Gets the focus rectangle + + + + + + + Gets the tab close button bitmap + + Graphics + State color table + Button bitmap + + + + Creates the close button bitmap + + Graphics + State color table + Close bitmap + + + + Gets the hot close button bitmap + + Graphics + Close bitmap + + + + Creates the hot button bitmap + + Graphics + Close bitmap + + + + Gets the pressed close button bitmap + + Graphics + Close bitmap + + + + Creates the pressed button bitmap + + Graphics + Close bitmap + + + + Gets the close button path + + Close rectangle + Corner radius + + + + + Gets or sets the default item ColorTable + + + + + Constructor for Office2007 style SuperTabItem base display + + Associated SuperTabItem + + + + Creates the tab item GraphicsPath + + Tab path + + + + Create the Top tab path + + GraphicsPath + + + + Creates the Bottom tab path + + GraphicsPath + + + + Creates the Left tab path + + GraphicsPath + + + + Create the Right tab path + + GraphicsPath + + + + Constructor + + Associated SuperTabStripItem + + + + Handles ContentManager NextPosition events + + + + + + + Handles RecalcSize requests + + + + + + Handles RecLayoutContent requests + + + + + Initializes the layout engine + + + + + + Performs the Recalc Layout + + + + + + Recalculates the bounds for the TabControlBox + + + + + + + Gets the tab client area + + + + + + Gets the tab client area + + + + + + Gets the tab height + + + + + + Layout manager NextBlockPosition + + + + + + PromoteTab NextBlockPosition + + + + + + + + Determines if all tabs are visible + + + + + + Paint processing + + + + + + Draws the background + + + + + + + Draws the tabs + + + + + + Draws the Drag and Drop insert marker + + ItemPaintArgs + Color table + + + + Draws the top insert marker + + + + + + Draws the left insert marker + + + + + + Determines if the given items are on the same line + + + + + + + + Draws the TabStrip border + + + + + + + Gets the inner and outer border lines + + + + + + + Sets the default color table + + + + + Gets the tab color table + + Tab color table + + + + Gets the tab close button bitmap + + + + + + + + Creates the tab close button bitmap + + + + + + + Gets the Menu button bitmap + + + + + + + + Create the Menu button bitmap + + + + + + + Gets the Menu button path + + + + + + Gets the Menu button bitmap + + + + + + + + Create the Menu button bitmap + + + + + + + Gets the Menu button path + + + + + + Gets the TabAlignment + + + + + gets or sets the default color table + + + + + Gets if display is RightToLeft + + + + + Gets tab vertical orientation + + + + + Gets the minimum TabStrip height + + + + + Gets whether we are to show the Focus rectangle + + + + + Gets CloseButtonOnTabsVisible + + + + + Gets FixedTabSize + + + + + Gets the minimum tab size + + + + + Gets the selected tab + + + + + Gets the selected font + + + + + Gets the tab ControlBox + + + + + Gets the tab height + + + + + Gets the tab bounds + + + + + Gets the Tabs collection + + + + + Gets the TabStrip + + + + + Gets the TabStripItem + + + + + Gets the PreDrawStripBorder state + + + + + Gets the SelectedPaddingWidth + + + + + Gets the TabOverlap + + + + + Gets the TabSpacing + + + + + Gets the TabOverlapLeft + + + + + Gets the TabLayoutOffset + + + + + Office2007 TabStrip base display constructor + + Associated TabStrip + + + + Tab layout offsets + + + + + Office 2010 Backstage SuperTabItem display constructor + + Associated SuperTabItem + + + + Draws the tab border + + + + + + + + Draws the Backstage SelectedItem marker + + + + + + + DrawTabItemBackground + + + + + + + + DrawTabItemHighLight + + + + + + + + + Creates the tab item GraphicsPath + + Tab path + + + + Create the Top tab path + + GraphicsPath + + + + Creates the Bottom tab path + + GraphicsPath + + + + Creates the Left tab path + + GraphicsPath + + + + Create the Right tab path + + GraphicsPath + + + + Gets the Layout manager NextBlockPosition + + + + + + Gets the "PromoteSelTab" NextBlockPosition + + + + + + + + Draws the background + + + + + + + PreDrawStripBorder + + + + + SelectedPaddingWidth + + + + + Constructor for OfficeMobile2014 style SuperTabItem base display + + Associated SuperTabItem + + + + Calculates the Content Rectangle for the tab + + Content Rectangle + + + + Creates the tab item GraphicsPath + + Tab path + + + + Create the Top tab path + + GraphicsPath + + + + Creates the Bottom tab path + + GraphicsPath + + + + Creates the Left tab path + + GraphicsPath + + + + Create the Right tab path + + GraphicsPath + + + + OfficeMobile2014 SuperTabStripBaseDisplay + + Associated TabStripItem + + + + Gets the next layout block position + + LayoutManagerPositionEventArgs + + + + Gets the next block position when attempting + to make a specific tab visible + + Potential item to replace + View item being placed + Block Rectangle + + + + Returns the Minimum tab size for this style + + + + + Tab layout offsets + + + + + Tab Overlap + + + + + Tab Spacing + + + + + Constructor for OneNote2007 style SuperTabItem base display + + Associated SuperTabItem + + + + Calculates the Content Rectangle for the tab + + Content Rectangle + + + + Creates the tab item GraphicsPath + + Tab path + + + + Create the Top tab path + + GraphicsPath + + + + Creates the Bottom tab path + + GraphicsPath + + + + Creates the Left tab path + + GraphicsPath + + + + Create the Right tab path + + GraphicsPath + + + + OneNote2007 SuperTabStripBaseDisplay + + Associated TabStripItem + + + + Gets the next layout block position + + LayoutManagerPositionEventArgs + + + + Gets the next block position when attempting + to make a specific tab visible + + Potential item to replace + View item being placed + Block Rectangle + + + + Returns the Minimum tab size for this style + + + + + Tab Overlap + + + + + Tab Spacing + + + + + Constructor + + Associated SuperTabControlBox + + + + Performs RecalcSize processing + + + + + Refreshes the CloseBox + + + + + Performs control Paint processing + + + + + + InternalMouseEnter + + + + + InternalMouseLeave + + + + + InternalMouseDown + + + + + + InternalMouseUp + + + + + + Returns copy of the item + + + + + Gets or sets the CloseBox Visible state + + + + + Gets whether the mouse is down + + + + + Gets whether the mouse is over the CloseBox + + + + + Constructor + + Associated SuperTabStripItem + + + + Performs RecalcSize processing + + + + + Performs RecalcLayout processing + + + + + Performs individual running layout processing for the given BaseItem + + Item to Layout + Running Layout Size + Whether a recalcSize is needed + New running Size + + + + Refresh code + + + + + Paint processing + + + + + + InternalMouseEnter + + + + + InternalMouseLeave + + + + + InternalMouseMove + + + + + + InternalMouseDown + + + + + + InternalMouseUp + + + + + + Gets the ControlBoxItem from the given Point + + + + + + + OnItemAdded + + + + + + OnAfterItemRemoved + + + + + + Removes all user added items from the ControlBox + + + + + Returns copy of the item. + + + + + Gets or sets the ControlBox Bounds + + + + + Gets the CloseBox + + + + + Gets the MenuBox + + + + + Gets or sets the ControlBox Visible state + + + + + Gets the MouseDown state + + + + + Gets the MouseOver state + + + + + Gets the TabStrip TabDisplay + + + + + Constructor + + Associated SuperTabControlBox + + + + RecalcSize + + + + + Refreshes the display + + + + + Paint processing + + + + + + Determines if all the items are visible + + true if all visible + + + + Gets MenuButton1 + + + + + + + + Gets MenuButton2 + + + + + + + + InternalMouseEnter + + + + + InternalMouseLeave + + + + + InternalMouseDown + + + + + + Gets the popup menu position + + + + + + Loads the TabMenu + + + + + Loads Tabs only into the TabMenu + + + + + + Loads all items into the TabMenu + + + + + + Sets the TabMenu entry image + + + + + + + Handles SuperTabMenuBox_Click event + + + + + + + InternalMouseUp + + + + + + Returns copy of the item. + + + + + Gets or sets whether the MenuBox is automatically hidden when the tab items size does not exceed the size of the control + + + + + Gets or sets whether the MenuBox raises a ClickEvent when selected + + + + + Gets or sets whether MenuBox shows only Tabs entries + + + + + Gets or sets whether the MenuBox displays each menu entry with its associated Image/Icon + + + + + Gets or sets MenuBox Visible state + + + + + Gets the MouseDown state + + + + + Gets the MouseOver state + + + + + Constructor + + + + + Sets the tab docking based upon the given alignment + + + + + + Hooks (or unhooks) underlying TabStrip events + + true to hook, false to unhook + + + + Handles TabItemOpen events + + + + + + + Handles TabItemClose events + + + + + + + Handles TabMoving events + + + + + + + Handles TabMoved events + + + + + + + Handles TabRemoved events + + + + + + + Handles SelectedTabChanging events + + + + + + + Handles SelectedTabChanged events + + + + + + + Handles GetTabItemPath events + + + + + + + Handles GetTabItemContentRectangle events + + + + + + + Handles BeforeTabDisplay events + + + + + + + Handles MeasureTabItem events + + + + + + + Handles PreRenderTabItem events + + + + + + + Handles PostRenderTabItem events + + + + + + + Handles GetTabCloseBounds events + + + + + + + Handles GetTabImageBounds events + + + + + + + Handles GetTabTextBounds events + + + + + + + Handles TabStripPaintBackground events + + + + + + + Handles StyleManagerStyleChanged events + + + + + + Handles TabStripTabColorChanged events + + + + + + + Handles TabStrip_MouseUp events + + + + + + + Handles TabStrip_MouseDown events + + + + + + + Handles TabStrip_MouseMove events + + + + + + + Handles TabStrip_MouseClick events + + + + + + + Handles TabStrip_MouseDoubleClick events + + + + + + + Handles TabStrip_MouseEnter events + + + + + + + Handles TabStrip_MouseHover events + + + + + + + Handles TabStrip_MouseLeave events + + + + + + + Creates a TabControl tab + + + + + + + Creates a TabControl tab + + + + + + + + Creates a TabControl tab + + + + + + + + + Selects the previous tab + + true if tab selected + + + + Selects the next tab + + true if tab selected + + + + Gets the SuperTabItem tab containing the given Point + + Point to test + Associated tab, or null + + + + Gets the item (SuperTabItem or BaseView) associated + with the given Point + + Point to test + BaseItem or null + + + + Closes the given tab + + + + + + Causes a Layout Recalculation of the SuperTabControl + + + + + Refreshes all panel styles + + + + + Applies color and border settings to the given panel + + + + + + Applies color settings to the given panel + + + + + + + Applies border settings for the given panel + + + + + + Performs OnSystemColorsChanged processing + + + + + + Performs OnResize processing + + + NOT NEEDED. Let WinForms layout do the work! + + + + OnControlAdded + + + + + + OnControlRemoved + + + + + + BeginInit + + + + + EndInit + + + + + Occurs when a tab is added to the Tabs collection + + + + + Occurs when a tab is about to Close + + + + + Occurs when a tab is removed from the Tabs collection + + + + + Occurs when a tab is about to be displayed + + + + + Occurs when a tab is being moved or dragged by the user + + + + + Occurs when a tab has been moved or dragged by the user + + + + + Occurs when the Selected tab is changing + + + + + Occurs when the Selected tab has changed + + + + + Occurs when the control needs a tab's bordering path + + + + + Occurs when the control needs a tab's Content Rectangle + + + + + Occurs when the control needs to measure a tab + + + + + Occurs before any tab rendering is done + + + + + Occurs After all tab rendering is complete + + + + + Occurs when the control needs to get the tab's Text Bounds + + + + + Occurs when the control needs to get the tab's Image Bounds + + + + + Occurs when the control needs to get the tab's Close Button Bounds + + + + + Occurs when the TabStrip background needs painted + + + + + Occurs when a TabStrip MouseUp event is raised + + + + + Occurs when a TabStrip MouseDown event is raised + + + + + Occurs when a TabStrip MouseMove event is raised + + + + + Occurs when a TabStrip MouseClick event is raised + + + + + Occurs when a TabStrip MouseDoubleClick event is raised + + + + + Occurs when a TabStrip MouseEnter event is raised + + + + + Occurs when a TabStrip MouseHover event is raised + + + + + Occurs when a TabStrip MouseLeave event is raised + + + + + Gets or sets whether TabStrip will get focus when Tab key is used. Default value is false. + + + + + Gets or sets whether tabs are automatically closed when a close button is clicked + + + + + Gets or sets whether the tab's visible close button is displayed for every tab state + + + + + Gets or sets whether close button is visible on each tab + + + + + Gets or sets the position of the tab close button + + + + + Gets or sets the custom tab Close button image + + + + + Gets or sets the custom Close button image that is used on tabs when the mouse is over the close button + + + + + Gets or sets the custom Close button image that is used on tabs when the button has been pressed + + + + + Gets the TabStrip ControlBox + + + + + Gets or sets whether the only Text displayed is for the SelectedTab + + + + + Gets or sets whether text is drawn horizontally regardless of tab orientation + + + + + Gets or sets the default alignment of the Image within the tab + + + + + Gets or sets the ImageList used by the TabStrip and its tab items + + + + + Gets or sets BaseItem tab padding in pixels. + + + + + Gets or sets whether vertical tab text is rotated 180 degrees + + + + + Gets or sets the SelectedTab based upon the given panel + + + + + Gets or sets whether a focus rectangle is displayed when tab has input focus + + + + + Gets or sets the fixed tab size in pixels. Either Height, Width, or both can be set + + + + + Gets or sets whether a tab is currently in a drag operation + + + + + Gets or sets whether tabs can be reordered through the user interface + + + + + Gets or sets the selected tab + + + + + Gets or sets the selected tab Font + + + + + Gets or sets the index of the selected tab + + + + + Gets or sets the tab alignment within the Tab-Strip control + + + + + Gets or sets the tab Font + + + + + Gets or sets the Horizontal spacing around tab elements + + + + + Gets or sets the type of the tab layout + + + + + Gets the collection of Tabs + + + + + Gets the control TabStrip + + + + + Gets or sets the Color of the TabStrip + + + + + Gets or sets the tab style + + + + + Gets or sets the Vertical spacing around tab elements + + + + + Gets or sets whether tabs are visible + + + + + Gets or sets tab text alignment + + + + + Gets the DefaultSize + + + + + Indicates whether Form.Validate is called and checked before selected tab is changed. Default value is true. + + + + + Represents Panel for the SuperTabControl + + + + + + _PanelColor_ColorTableChanged + + + + + + + Processes ColorTable changes + + + + + GetStyle + + + + + + Provides OnPaint support + + + + + + Occurs when the tab colors have changed + + + + + Gets or sets which edge of the parent container a control is docked to. + + + + + Gets or sets user specified tab panel display colors + + + + + Gets or sets the Panel ElementStyle + + + + + Gets or sets TabItem that this panel is attached to. + + + + + Specifies background image position when container is larger than image. + + + + + Constructor + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when Symbol property has changed. + + Old property value + New property value + + + + Called when SymbolSet property value changes. + + Indciates old value + Indicates new value + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Called when SymbolSize property has changed. + + Old property value + New property value + + + + Hooks or unhooks control events + + true to hook + + + + SuperTabItem_TextChanged processing + + + + + + + TextMarkupLinkClick + + + + + + + OnMarkupLinkClick + + + + + + ColorTable_ColorTableChanged + + + + + + + Processes ColorTable changes + + + + + Closes the tab + + + + + Gets the operational tab font + + + + + + Gets the tab ColorTable + + SuperTabItemStateColorTable + + + + Gets the tab ColorStateTable for the given state + + eTabState + SuperTabItemStateColorTable + + + + Gets the tab Panel ColorTable + + + + + + Gets the area of the tab that contains the given Point + + + + + + + Determines if the given Point is in the tab + + Point to test + true if Point is in tab + + + + Gets the tab bordering GraphicsPath + + GraphicsPath + + + + Gets the Close Button bounding Rectangle + + Bounding Rectangle + + + + Gets the Image bounding Rectangle + + Bounding Rectangle + + + + Gets the Text bounding Rectangle + + Bounding Rectangle + + + + Calculates Close button bounds + + Running rectangle + Running rectangle + + + + Calculates Image bounds + + Running rectangle + Running rectangle + + + + Refreshes the tab owner + + + + + Refreshes the tab display + + + + + Paint processing + + + + + + InternalMouseMove + + + + + + InternalMouseEnter + + + + + InternalMouseLeave + + + + + InternalMouseDown + + + + + + InternalMouseUp + + + + + + ToString + + + + + + Dispose + + + + + Returns copy of the item. + + + + + Copies specific properties to new instance of the item. + + New SuperTabItem instance + + + + Occurs when text markup link is clicked + + + + + Occurs when the tab colors have changed + + + + + IsMarkupSupported + + + + + Gets or sets the default SelectedTabFont + + + + + Gets the tab CloseButton Bounds + + + + + Gets or sets the CloseButtonMouseOver state + + + + + Gets or sets the CloseButtonPressed state + + + + + Gets the effective image alignment + + + + + Gets the tab Image Bounds + + + + + Gets the tabs vertical orientation + + + + + Gets the TabItemDisplay + + + + + Gets the tabs TabStrip + + + + + Gets the tabs Text Bounds + + + + + Gets or sets whether image animation is enabled + + + + + Gets or sets user specified tab display colors + + + + + Gets or sets whether Close button on the tab is visible when SuperTabStrip.CloseButtonOnTabsVisible property is set to true + + + + + Enabled + + + + + Gets or sets whether text-markup support is enabled for the control's Text property + + + + + Gets or sets the FixedTabSize + + + + + Gets or sets the tab icon. Icon has same functionality as Image except that it supports Alpha blending + + + + + Gets or sets the tab image + + + + + Gets or sets the tab image index + + + + + Gets or sets the alignment of the Image within the tab + + + + + Gets or sets the spacing between content and edges of the Image + + + + + Gets or sets the predefined color for the tab + + + + + Gets or sets the selected tab Font + + + + + StartsNewTabLine + + + + + Gets the realized symbol string. + + + + + Indicates the symbol displayed on face of the button instead of + the image. Setting the symbol overrides the image setting. + + + + + Gets or sets the symbol set used to represent the Symbol. + + + + + Gets or sets the color of the Symbol. + + + + + Indicates the size of the symbol in points. + + + + + Gets or sets the text alignment + + + + + Gets or sets the tab Font + + + + + Gets or sets the tab text + + + + + Gets or sets the control that is attached to this tab + + + + + Gets or sets the tab Bounds + + + + + Gets the MouseOver state + + + + + Gets the tab selected state + + + + + Gets the tab alignment + + + + + Gets the tab Content Rectangle + + + + + Gets or sets the tab TabStripItem + + + + + Gets or sets the tabs TabStyle + + + + + Visible + + + + + Alignment + + + + + + + + + TopLeft + + + + + TopCenter + + + + + TopRight + + + + + MiddleLeft + + + + + MiddleCenter + + + + + MiddleRight + + + + + BottomLeft + + + + + BottomCenter + + + + + BottomRight + + + + + Tab area parts + + + + + Tab states + + + + + Constructor + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + ShowWithoutActivation + + + + + Constructor + + + + + Hooks or unhooks TabStripItem events + + true to hook + + + + TabStripItem_TabItemOpen + + + + + + + TabStripItem_TabItemClose + + + + + + + TabStripItem_TabRemoved + + + + + + + TabStripItem_TabMoving + + + + + + + TabStripItem_TabMoved + + + + + + + TabStripItem_GetTabItemPath + + + + + + + TabStripItem_GetTabItemContentRectangle + + + + + + + TabStripItem_BeforeTabDisplay + + + + + + + TabStripItem_MeasureTabItem + + + + + + + TabStripItem_PreRenderTabItem + + + + + + + TabStripItem_PostRenderTabItem + + + + + + + TabStripItem_GetTabCloseBounds + + + + + + + TabStripItem_GetTabImageBounds + + + + + + + TabStripItem_GetTabTextBounds + + + + + + + TabStripItem_TabStripPaintBackground + + + + + + + TabStripItem_SelectedTabChanging + + + + + + + TabStripItem_SelectedTabChanged + + + + + + + TabStripItem_TabStripTabColorChanged + + + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Performs layout recalculation + + + + + Ensures that the given tab is visible on the TabStrip + + + + + + Gets the SuperTabItem from the given Point + + + SuperTabItem or null + + + + Gets the BaseItem from the given Point + + + BaseItem or null + + + + Closes the given tab + + + + + + Selects the previous tab + + true if successful + + + + Selects the next tab + + true if successful + + + + OnResize processing + + + + + + BeginInit + + + + + EndInit + + + + + Occurs when a tab is added to the Tabs collection + + + + + Occurs when a tab is about to Close + + + + + Occurs when a tab is removed from the Tabs collection + + + + + Occurs when a tab is about to be displayed + + + + + Occurs when a tab is being moved or dragged by the user + + + + + Occurs when a tab has been moved or dragged by the user + + + + + Occurs when the Selected tab is changing + + + + + Occurs when the Selected tab has changed + + + + + Occurs when the control needs a tab's bordering path + + + + + Occurs when the control needs a tab's Content Rectangle + + + + + Occurs when the control needs to measure a tab + + + + + Occurs before any tab rendering is done + + + + + Occurs After all tab rendering is complete + + + + + Occurs when the control needs to get the tab's Text Bounds + + + + + Occurs when the control needs to get the tab's Image Bounds + + + + + Occurs when the control needs to get the tab's Close Button Bounds + + + + + Occurs when the TabStrip background needs painted + + + + + Occurs when the TabStrip TabColor has changed + + + + + Gets or sets whether the control attached to the TabItem.AttachedControl property + is automatically selected when TabItem becomes the selected tab. Default value is true. + + + + + Gets or sets whether tabs are automatically closed when a close button is clicked + + + + + Gets or sets whether the tab's visible close button is displayed for every tab state + + + + + Gets or sets whether close button is visible on each tab + + + + + Gets or sets the position of the tab close button + + + + + Gets or sets the custom tab Close button image + + + + + Gets or sets the custom Close button image that is used on tabs when the mouse is over the close button + + + + + Gets or sets the custom Close button image that is used on tabs when the button has been pressed + + + + + Gets the TabStrip ControlBox + + + + + Gets or sets whether the only Text displayed is for the SelectedTab + + + + + Gets or sets the default alignment of the Image within the tab + + + + + Gets or sets BaseItem tab padding in pixels. + + + + + Gets or sets whether vertical tab text is rotated 180 degrees + + + + + Gets or sets the fixed tab size in pixels. Either Height, Width, or both can be set + + + + + Gets or sets whether a tab is currently in a drag operation + + + + + Gets or sets whether tabs can be reordered through the user interface + + + + + Gets or sets the selected tab + + + + + Gets or sets the selected tab Font + + + + + Gets or sets the index of the selected tab + + + + + Gets or sets the tab alignment within the Tab-Strip control + + + + + Gets or sets the tab Font + + + + + Gets or sets the Horizontal spacing around tab elements + + + + + Gets or sets the type of the tab layout + + + + + Gets the collection of Tabs + + + + + Gets or sets the Color of the TabStrip + + + + + Gets or sets the tab style + + + + + Gets or sets the Vertical spacing around tab elements + + + + + Gets the TabStrip associated TabStripItem + + + + + Gets or sets tab text alignment + + + + + Gets whether the tabStrip is visually available + + + + + Gets the Design state for the control + + + + + Gets the ISupportInitialize state + + + + + Gets the TabDisplay + + + + + Gets or sets the reference to ribbon application button when tab control is used as backstage ribbon control. + + + + + Gets the DefaultSize + + + + + Constructor + + Associated SuperTabStrip + + + + Syncs the Orientation of each SubItem to + the current TabAlignment Orientation + + + + + Gets the Orientation based upon the current + TabAlignment + + + + + + Makes sure all newly added items + are set to the design orientation and style + + + + + + Applies the current TabStyle to each tab and + sets the item style to the DotNetBarStyle from the TabStyle + + + + + Gets the DotNetBarStyle from the SuperTabStyle + + eDotNetBarStyle + + + + Hooks or unhooks our events + + + + + + Handles SubItemsChanged events + + + + + + + Handles newly added items + + + + + + Handles newly removed items + + + + + + Handles tab color changes + + + + + + + Handles color table changes + + + + + + + Performs NeedRecalcSize and refresh + + + + + Recalculates the size of the tabs. + + + + + Ensures that the given item is visible on the TabStrip + + + + + + Selects the given tab + + + + + + + Selects the previous tab + + + + + + Selects the previous tab + + + + + + Selects the next tab + + + + + + Selects the next tab + + + + + + UpdateSelectedTab + + + + + OnTabStyleChanged + + + + + OnMeasureTabItem + + + + + + + + + OnPreRenderTabItem + + + + + + + + OnPostRenderTabItem + + + + + + + OnGetTabItemContentRectangle + + + + + + + OnGetTabItemPath + + + + + + + OnSelectedTabRemoved + + + + + + + OnSelectedTabChanging + + + + + + + + OnSelectedTabChanged + + + + + + + + OnBeforeTabDisplay + + + + + + OnTabItemClose + + + + + + + OnTabStripColorChanged + + + + + OnPaintBackground + + + + + + + OnGetTextBounds + + + + + + + + OnGetImageBounds + + + + + + + + OnGetCloseBounds + + + + + + + + OnTabMoving + + + + + + + + + OnTabMoved + + Tab that was moved + Old tab order + New tab order + + + + + ItemAtLocation + + + + + + + + InternalClick + + + + + + + InternalMouseDown + + + + + + InternalMouseUp + + + + + + InternalMouseMove + + + + + + InternalOnMouseMove + + + + + + ProcessMouseMove + + + + + + HotTabMouseMove + + + + + + + ControlBoxMouseMove + + + + + + ProcessTabMove + + + + + + StartTabMove + + + + + + + SetDragWindowRegion + + + + + TabDragWindow_Paint + + + + + + + InternalMouseLeave + + + + + InternalOnMouseLeave + + + + + Get the tab at the given Point + + + SuperTabItem or null + + + + Gets the item at the given point + + + BaseItem or null + + + + Gets the next visible Tab + + + SuperTabItem + + + + Closes the given tab + + + + + + Paint processing + + + + + + SubItemSizeChanged + + + + + + Returns copy of the item. + + + + + Copies specific properties to new instance of the item. + + New SuperTabStripItem instance + + + + Occurs when a tab is added to the Tabs collection + + + + + Occurs when a tab is about to Close + + + + + Occurs when a tab is removed from the Tabs collection + + + + + Occurs when a tab is about to be displayed + + + + + Occurs when a tab is being moved or dragged by the user + + + + + Occurs when a tab has been moved or dragged by the user + + + + + Occurs when the Selected tab is changing + + + + + Occurs when the Selected tab has changed + + + + + Occurs when the control needs a tab's bordering path + + + + + Occurs when the control needs a tab's Content Rectangle + + + + + Occurs when the control needs to measure a tab + + + + + Occurs before any tab rendering is done + + + + + Occurs After all tab rendering is complete + + + + + Occurs when the control needs to get the tab's Text Bounds + + + + + Occurs when the control needs to get the tab's Image Bounds + + + + + Occurs when the control needs to get the tab's Close Button Bounds + + + + + Occurs when the TabStrip background needs painted + + + + + Occurs when the TabStrip TabColor has changed + + + + + Occurs when the TabStrip Color has changed + + + + + Gets or sets AutoCloseTabs + + + + + Gets or sets whether the control attached to the TabItem.AttachedControl property + is automatically selected when TabItem becomes the selected tab. Default value is true. + + + + + Gets or sets TabCloseButtonNormal + + + + + Gets or sets TabCloseButtonHot + + + + + Gets or sets TabCloseButtonPressed + + + + + Gets or sets TabHorizontalSpacing + + + + + Gets or sets TabVerticalSpacing + + + + + Gets or sets CloseButtonOnTabsVisible + + + + + Gets or sets CloseButtonOnTabsAlwaysDisplayed + + + + + Gets or sets CloseButtonPosition + + + + + Gets the ControlBox + + + + + Gets or sets DisplaySelectedTextOnly + + + + + Gets or set the Expanded state + + + + + Gets or sets the tab font + + + + + Gets or sets the selected tab font + + + + + Gets or sets the HorizontalText + + + + + Gets or sets the default alignment of the Image within the tab + + + + + Gets or sets the BaseItem tab padding. + + + + + Gets or sets RotateVerticalText + + + + + Gets or sets ShowFocusRectangle + + + + + Gets or sets the FixedTabSize + + + + + Gets or sets + + + + + Gets the MinTabStripHeight + + + + + Gets or sets ReorderTabsEnabled + + + + + Gets or sets the selected tab + + + + + Gets or sets the selected tab index + + + + + Gets or sets the tab alignment + + + + + Gets or sets the TabLayoutType + + + + + Gets or sets the TabStripColor + + + + + Gets or sets the TabStyle + + + + + Gets or sets the TextAlignment + + + + + Gets the First Visible Tab + + + + + Gets the HotTab + + + + + Gets the InsertTab + + + + + Gets whether to insert before or after + + + + + Gets the MouseOver tab + + + + + Gets TabStrip vertical orientation + + + + + Gets the Last Visible Tab + + + + + Gets the tab close button size + + + + + Gets the TabDisplay + + + + + Gets or sets the TabItemsBounds + + + + + Gets or sets the number of TabLines + + + + + Gets the TabStrip + + + + + Gets the visible tab count + + + + + Gets or sets the promoted visible tab + + + + + Generic ValueChangingEventArgs + + oldValue type + newValue type + + + + Gets the old value + + + + + Gets the new value + + + + + Generic ValueChangingSourceEventArgs + + oldValue type + newValue type + EventSource + + + + Gets the old value + + + + + Gets the new value + + + + + Gets the eventSource + + + + + Generic ValueChangedEventArgs + + oldValue type + newValue type + + + + Gets the old value + + + + + Gets the new value + + + + + Generic ValueChangedSourceEventArgs + + oldValue type + newValue type + EventSource + + + + Gets the old value + + + + + Gets the new value + + + + + Gets the eventSource + + + + + Gets the tab + + + + + Gets the tab + + + + + Gets the old order of the tabs + + + + + Gets or sets the new order of the tabs + + + + + TabStripTabColorChangedEventArgs + + + + + Constructor + + + + + Constructor + + Associated SuperTabStripItem + + + + Resizes the content block and sets it's Bounds property to reflect new size. + + Content block to resize. + + + + + Measures the given tab + + + + + + + Measures the markup text + + + + + + + + + Measures the given text + + + + + + + + + Finalizes the layout + + + + + + + + + Reorders the lines to keep the selected tab as line 0. + + + + + + + Adjusts the line layout + + + + + + + Gets the array od line sizes + + + + + + + Adjusts the individual blocks within a given line + + + + + + + Sets the Displayed status for the line blocks + + + + + + + Gets the count of BeginBreak groups + + + + + + + + Process item BeginBreaks + + + + + + + + + Makes sure the "VisibleTab" is in fact visible. + + + + + + + Determines what line th selected tab lies within + + + + + + + Finds the SelectedTab block + + + + + + + Resizes single line layouts + + + + + + Resizes multiline layouts + + + + + + gets or sets the FixedTabSize + + + + + Gets or sets the TabLayoutOffset + + + + + Gets the TabDisplay + + + + + Creates the tab item GraphicsPath + + Tab path + + + + Create the Top tab path + + GraphicsPath + + + + Creates the Bottom tab path + + GraphicsPath + + + + Creates the Left tab path + + GraphicsPath + + + + Create the Right tab path + + GraphicsPath + + + + Applies the predefined tab color to the color table + + + + + + + Applies the predefined color to the panel color table + + + + + + Constructor + + Associated SuperTabStripItem + + + + Gets the TabLayoutOffset + + + + + Constructor + + Associated SuperTabItem + + + + Returns the tab ContentRectangle + + + + + + Creates the tab item GraphicsPath + + Tab path + + + + Create the Top tab path + + GraphicsPath + + + + Creates the Bottom tab path + + GraphicsPath + + + + Creates the Left tab path + + GraphicsPath + + + + Create the Right tab path + + GraphicsPath + + + + Constructor + + Associated SuperTabStripItem + + + + Gets the LayoutManager NextBlockPosition + + + + + + Gets the PromoteSelectedTab NextBlockPosition + + + + + + + + Gets the TabOverlap + + + + + Gets the TabSpacing + + + + + Gets the TabOverlapLeft + + + + + Gets the TabLayoutOffset + + + + + Gets the MinTabSize + + + + + Constructor + + Associated SuperTabItem + + + + Creates the tab item GraphicsPath + + Tab path + + + + Create the Top tab path + + GraphicsPath + + + + Creates the Bottom tab path + + GraphicsPath + + + + Creates the Left tab path + + GraphicsPath + + + + Create the Right tab path + + GraphicsPath + + + + Constructor + + Associated SuperTabStripItem + + + + Gets the Layout manager NextBlockPosition + + + + + + Gets the "PromoteSelTab" NextBlockPosition + + + + + + + + Raises ValueChanging event. + + Provides event arguments. + + + + Raises ValueChanged event. + + Provides event arguments. + + + + Forces the button to perform internal layout. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Cancels animation if in progress. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Sets the value of the control with state transition animation (if enabled) and specifies the source of the action. + + New value for Value property. + Source of the action. + + + + Sets the value of the control and specifies the source of the action. + + New value for Value property. + Source of the action. + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Raises ValueObjectChanged event. + + Provides event arguments. + + + + Called when Command property value changes. + + + + + Occurs before Value property has changed and it allows you to cancel the change. + + + + + Occurs after Value property has changed. + + + + + Gets or sets the switch value. + + + + + Gets or sets the item border color. + + + + + Gets or sets whether state transition animation is enabled. + + + + + Gets or sets the color of the OFF state background. + + + + + Gets or sets the color of the ON state background. + + + + + Gets or sets the color of the ON state text. + + + + + Gets or sets the color of the OFF state text. + + + + + Gets or sets the border color of the button switch. + + + + + Gets or sets the background color of the switch button. + + + + + Gets or sets the text color. + + + + + Gets or sets the font that is used to draw ON/OFF text on the switch button. + + + + + Gets or sets the text that is displayed on switch when Value property is set to true. + + + + + Gets or sets the text that is displayed on switch when Value property is set to false. + + + + + Gets or sets the width in pixels of the switch part of the button. Minimum value is 6. + + + + + Gets the switch bounds. + + + + + Gets the On part of the switch button bounds excluding the SwitchBounds. + + + + + Gets the Off part of the switch button bounds excluding the SwitchBounds. + + + + + Gets or sets whether button is in read-only state meaning that it appears as enabled but user cannot change its state. + + + + + Gets or sets whether lock marker is visible on face of the control when IsReadOnly is set to true. + Default value is true. + + + + + Gets or sets the color of the read-only marker. + + + + + Indicates whether clicking left mouse button on the switch part of the item will toggle the switch Value. + + + + + Occurs after ValueObject property changes. + + + + + Gets or sets the object that represents the Value state of control. + + + + + Gets or sets the value that represents the True state of control when ValueObject property is set to that value. + + + + + Gets or sets the value that represents the False state of control when ValueObject property is set to that value. + + + + + Gets or sets the command assigned to the item. Default value is null. + Note that if this property is set to null Enabled property will be set to false automatically to disable the item. + + + + + Gets or sets user defined data value that can be passed to the command when it is executed. + + + + + Represents the switch button UI element. + + + + + Raises ValueChanging event. + + Provides event arguments. + + + + Raises ValueChanged event. + + Provides event arguments. + + + + Creates new instance of SwitchButtonItem. + + + + + Creates new instance of SwitchButtonItem and assigns the name to it. + + Item name. + + + + Creates new instance of SwitchButtonItem and assigns the name and text to it. + + Item name. + item text. + + + + Returns copy of the item. + + + + + Copies the SwitchButtonItem specific properties to new instance of the item. + + New SwitchButtonItem instance. + + + + Copies the SwitchButtonItem specific properties to new instance of the item. + + New SwitchButtonItem instance. + + + + Sets the value of the control and specifies the source of the action. + + New value for Value property. + Source of the action. + + + + Sets the value of the control with state transition animation (if enabled) and specifies the source of the action. + + New value for Value property. + Source of the action. + + + + Cancels any current inprogress animation. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Gets whether property should be serialized. + + + + + Resets property to its default value. + + + + + Occurs before Value property has changed and it allows you to cancel the change. + + + + + Occurs after Value property has changed. + + + + + Gets whether item supports text markup. Default is false. + + + + + Gets or sets whether text-markup support is enabled for items Text property. Default value is true. + Set this property to false to display HTML or other markup in the item instead of it being parsed as text-markup. + + + + + Gets or sets the text associated with this item. + + + + + Gets or sets the switch value. + + + + + Indicates whether clicking left mouse button on the switch part of the item will toggle the switch Value. + + + + + Gets the switch bounds. + + + + + Gets the button bounds. + + + + + Gets the On part of the switch button bounds excluding the SwitchBounds. + + + + + Gets the Off part of the switch button bounds excluding the SwitchBounds. + + + + + Gets or sets the switch offset from its initial position. Used for animation and dragging of the switch. + + + + + Gets whether switch part of the button is pressed using mouse left button. + + + + + Gets or sets the width in pixels of the switch part of the button. Minimum value is 6. + + + + + Gets or sets the text that is displayed on switch when Value property is set to true. + + + + + Gets or sets the text that is displayed on switch when Value property is set to false. + + + + + Gets whether fade effect is enabled. + + + + + Gets or sets whether state transition animation is enabled. + + + + + Gets or sets the width of the switch button. Must be greater than SwitchWidth. + + + + + Gets or sets the height of the switch button. Must be greater than 5. + + + + + Gets or sets text padding. + + + + + Gets or sets switch margin. + + + + + Gets or sets the color of the OFF state background. + + + + + Gets or sets the color of the ON state background. + + + + + Gets or sets the color of the ON state text. + + + + + Gets or sets the color of the OFF state text. + + + + + Gets or sets the item border color. + + + + + Gets or sets the border color of the button switch. + + + + + Gets or sets the background color of the switch button. + + + + + Gets or sets whether caption/label set using Text property is visible. + + + + + Gets or sets the text color. + + + + + Gets or sets the font that is used to draw ON/OFF text on the switch button. + + + + + Gets or sets whether button is in read-only state meaning that it appears as enabled but user cannot change its state. + + + + + Gets or sets whether lock marker is visible on face of the control when IsReadOnly is set to true. + Default value is true. + + + + + Gets or sets the color of the read-only marker. + + + + + Provides data for SwitchButton rendering. + + + + + Gets or sets Graphics object group is rendered on. + + + + + Gets or sets the reference to SwitchButtonItem being rendered. + + + + + ColorScheme object that is used to provide colors for rendering check box item in legacy styles like Office 2003. Office 2007 style + uses color tables provided by renderer. + + + + + Indicates whether item is in Right-To-Left environment. + + + + + Gets or sets the text font. + + + + + Gets or sets the ItemPaintArgs reference. + + + + + Creates new instance of the object and provides default values. + + Reference to Graphics object + Reference to SwitchButtonItem + Reference to legacy ColorScheme + Indicates the font for the text. + Indicates whether item is in Right-To-Left environment. + + + + Returns specific font set at specified size/ + + Font size + Symbol set to return + Font + + + + Returns FontAwesome at specific size. + + Font size in points + Font in desired size. + + + + Returns FontAwesome at specific size. + + Font size in points + Font in desired size. + + + + Gets FontAwesome at default size. + + + + + Returns FontAwesome Family. + + + + + Gets Material Font at default size. + + + + + Returns Material Font Family. + + + + + Gets the default size for the Material font size in points. + + + + + Gets the default size for the FontAwesome font size in points. + + + + + Represents colors for the active tab. + + + + + Creates new instance of the object. + + + + + Returns whether property should be serialized. + + true if property should be serialized otherwise false. + + + + Resets property to the default value. + + + + + Returns whether property should be serialized. + + true if property should be serialized otherwise false. + + + + Resets property to the default value. + + + + + Returns whether property should be serialized. + + true if property should be serialized otherwise false. + + + + Resets property to the default value. + + + + + Returns whether property should be serialized. + + true if property should be serialized otherwise false. + + + + Resets property to the default value. + + + + + Returns whether property should be serialized. + + true if property should be serialized otherwise false. + + + + Resets property to the default value. + + + + + Returns whether property should be serialized. + + true if property should be serialized otherwise false. + + + + Resets property to the default value. + + + + + Occurs after color property has changed. + + + + + Gets or sets the background color of the tab when inactive. + + + + + Gets or sets the target gradient background color of the tab when inactive. + + + + + Gets or sets the gradient angle. + + + + + Gets the collection that defines the multi-color gradient background for tab item.. + + + + + Gets or sets the light border color when tab is inactive. + + + + + Gets or sets the dark border color when tab is inactive. + + + + + Gets or sets the border color when tab is inactive. + + + + + Gets or sets the text color when tab is inactive. + + + + + Represents the class that defines colors for a tab control. + + + + + Default constructor. + + + + + Default contructor that accepts style. + + + + + Refreshes colors stored in the color scheme. This method is used for example to refresh the color after system display colors have changed. + + + + + Generates color scheme for flat style. + + + + + Generates color scheme for Office 2003 style. + + + + + Generates the VS2005 document tab like color scheme. + + + + + Generates Windows XP Themed color scheme. + + + + + Generates OneNote style color scheme. + + + + + Generates VS2005 style color scheme. + + + + + Generates OneNote style color scheme. + + + + + Generates OneNote style color scheme. + + + + + Resets changed flag for all color properties. When changed flag is set for a color property color is not automatically generated for that property. + Reseting the flag will ensure that all colors are automatically generated. + + + + + Applies predefinied tab item color scheme to the tab. + + Tab item to apply color to. + Predefined color to apply + + + + Applies predefinied tab item color scheme to the tab. + + Tab item to apply color to. + Predefined color to apply + + + + Gets or sets the style that color scheme represents. + + + + + Gets or sets whether themed color scheme is generated. + + + + + Indicates whether any of the colors has changed. + + + + + Gets or sets the tab-strip background image. + + + + + Specifies the background color of the tab control. + + + + + Specifies the target gradient background color of the tab control. + + + + + Specifies the gradient angle. + + + + + Specifies the border color of the tab control. + + + + + Specifies the background color of the tab panel. + + + + + Specifies the target gradient background color of the tab panel. + + + + + Specifies the gradient angle. + + + + + Specifies the border color of the tab panel. + + + + + Specifies the border color of the tab item. + + + + + Specifies the light border color of the tab item. + + + + + Specifies the dark border color of the tab item. + + + + + Specifies the background color of the tab item. + + + + + Specifies the target gradient background color of the tab item. + + + + + Specifies the gradient angle. + + + + + Gets the collection that defines the multi-color gradient background for tab item.. + + + + + Specifies the text of the tab item. + + + + + Specifies the border color of the tab item when mouse is over it. + + + + + Specifies the light border color of the tab item when mouse is over it. + + + + + Specifies the dark border color of the tab item when mouse is over it. + + + + + Specifies the background color of the tab item when mouse is over it. + + + + + Specifies the target gradient background color of the tab item when mouse is over it. + + + + + Specifies the gradient angle. + + + + + Gets the collection that defines the multi-color gradient background for tab item.. + + + + + Specifies the text color of the tab item when mouse is over it. + + + + + Specifies the border color of the tab item when selected. + + + + + Specifies the light border color of the tab item when selected. + + + + + Specifies the dark border color of the tab item when selected. + + + + + Specifies the background color of the tab item when selected. + + + + + Specifies the target gradient background color of the tab item when selected. + + + + + Specifies the gradient angle. + + + + + Gets the collection that defines the multi-color gradient background for tab item.. + + + + + Specifies the text color of the tab item when selected. + + + + + Specifies the tab item separator color. + + + + + Specifies the tab item separator shadow color. + + + + + Specifies the text of the tab item. + + + + + Summary description for TabControl. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets whether property should be serialized. Used by Windows Forms designer. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Applies default tab colors to the panel + + Panel to apply colors to. + + + + Resumes normal layout logic. Optionally forces an immediate layout of pending layout requests. + + + + + Resizes the portion of the control that holds the tabs. + + + + + Creates new tab and tab panel and adds it to the Tabs collection. + + Tab text. + Reference to newly created TabItem. + + + + Creates new tab and tab panel and inserts it at specified position inside of Tabs collection. + + Tab text. + Index to insert newly created tab at. -1 will append tab to the end of Tabs collection. + Reference to newly created TabItem. + + + + Selects previous visible tab. Returns true if previous tab was found for selection. + + + + + Selects next visible tab. Returns true if next tab was found for selection. + + + + + Resets color scheme to default value. + + + + + Memeber used by Windows Forms designer. + + true if property should be serialized. + + + + Memeber used by Windows Forms designer to reset property to default value. + + + + + Occurs when selected tab changes. + + + + + Occurs before selected tab changes and gives you opportunity to cancel the change. + + + + + Occurs when tab is dragged by user. + + + + + Occurs when the user navigates back using the back arrow. + + + + + Occurs when the user navigates forward using the forward arrow. + + + + + Occurs when tab item is closing. + + + + + Occurs when tab item is added to the tabs collection. + + + + + Occurs before control or item attached to the tab is displayed. + + + + + Occurs after tab item has been removed from tabs collection. + + + + + Gets or sets the background color. + + + + + Gets the collection of all tabs. + + + + + Gets or sets whether tabs are visible. Default value is true. + + + + + Returns reference to internal tab strip control. + + + + + Gets or sets whether TabStrip will get focus when Tab key is used. Default value is false. + + + + + Use TabControlPanel.Style property to set the background image for each tab panel. + + + + + Gets or sets whether pressing Ctrl+Tab keys will cycle through the selected tabs. Default value is true. + + + + + Gets or sets whether tabs use anti-alias smoothing when painted. Default value is false. + + + + + Gets or sets whether the tab scrolling is animated. + + + + + Gets or sets whether system box that enables scrolling and closing of the tabs is automatically hidden when tab items size does not exceed the size of the control. + + + + + Specifes whether end-user can reorder the tabs. + + + + + Gets or sets whether tab is automatically closed when close button is clicked. Closing the tab will remove tab being closed from Tabs collection + and it will remove the panel as well. Default value is false which means that tab will not be closed and you should handle TabClose event to + perform desired action as result of user closing the tab. + + + + + Gets or sets whether the Close button that closes the active tab is visible on system box. + + + + + Gets or sets whether close button is visible on each tab instead of in system box. + + + + + Gets or sets whether close button on tabs when visible is displayed for every tab state. Default value is true. When set to false + the close button will be displayed only for selected and tab that mouse is currently over. + + + + + Gets or sets the position of the close button displayed on each tab. Default value is Left. + + + + + Gets or sets custom image that is used on tabs as Close button that allows user to close the tab. + Use TabCloseButtonHot property to specify image that is used when mouse is over the close button. Note that image size must + be same for both images. + Default value is null + which means that internal representation of close button is used. + + + + + Gets or sets custom image that is used on tabs as Close button whem mouse is over the close button. + To use this property you must set TabCloseButtonNormal as well. Note that image size for both images must be same. + Default value is null which means that internal representation of close button is used. + + + + + Gets or sets whether only selected tab is displaying it's text. + + + + + Gets or sets the image list used by tab items. + + + + + Gets or sets scrolling offset of the first tab. You can use this property to programmatically scroll the tab strip. + + + + + Gets or sets Tab Control style. Theme style is supported only on themed OS and only for bottom or top aligned tabs. + + + + + Specifies whether tab is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets or sets whether tabs are scrolled continuously while mouse is pressed over the scroll tab button. + + + + + Gets or sets the auto-repeat interval for the tab scrolling while mouse button is kept pressed over the scroll tab button. + + + + + Gets or sets Tab Color Scheme. + + + + + Gets or sets the tab alignment within the Tab-Strip control. + + + + + Gets or sets the selected tab. + + + + + Gets or sets the selected tab Font + + + + + Gets or sets whether focus rectangle is displayed on the tab when tab has input focus. + + + + + Gets or sets whether keyboard navigation using Left and Right arrow keys to select tabs is enabled. Default value is true. + + + + + Gets or sets the index of the selected tab. + + + + + Gets or sets selected tab panel. + + + + + Gets or sets the type of the tab layout. + + + + + Indicates whether selected tab is aligned with the panel in multiple lines use case. + + + + + Gets or sets the fixed tab size in pixels. Either Height or Width can be set or both. + Value of 0 indicates that size is automatically calculated which is + default behavior. + + + + + Represents Panel for the Tab Control. + + + + + Default constructor. + + + + + Gets or sets TabItem that this panel is attached to. + + + + + Indicates whether style of the panel is managed by tab control automatically. + Set this to true if you would like to control style of the panel. + + + + + Gets or sets which edge of the parent container a control is docked to. + + + + + Represents the Tab on the Tab-Strip control. + + + + + Default constructor. + + Container object. + + + + Default constructor. + + + + + Returns the font for the tab text. + + Reference to the font object. + + + + Raises the Click event. + + + + + Occurs when mouse is pressed over the tab item. + + + + + Occurs when mouse button is released over the tab item. + + + + + Occurs when mouse hovers over the tab item. + + + + + Occurs when mouse enters the tab item. + + + + + Occurs when mouse leaves the tab item. + + + + + Occurs when mouse moves over the tab item. + + + + + Occurs when mouse click is performed on the tab item. + + + + + Gets the AccessibleObject assigned to the item. + + + + + Gets or sets the tab Image index. + + + + + Gets or sets the tab image. + + + + + Gets or sets the tab icon. Icon has same functionality as Image except that it support Alpha blending. + + + + + Gets or sets the text displayed on the tab. + + + + + Gets or sets whether tab is visible. + + + + + Gets the display bounds of the tab. + + + + + Gets or sets the bounds of the close button rectangle if displayed on the tab. You should not set value of this property. + + + + + Gets or sets the control that is attached to this tab. When tab is selected the control Visible property is set to true and when tab is unselected the control Visible property is set to false. + + + + + Gets or sets the background color of the tab when inactive. + + + + + Gets or sets the target gradient background color of the tab when inactive. + + + + + Gets or sets the gradient angle. + + + + + Gets or sets the light border color when tab is inactive. + + + + + Gets or sets the dark border color when tab is inactive. + + + + + Gets or sets the border color when tab is inactive. + + + + + Gets or sets the text color when tab is inactive. + + + + + Gets or sets name of the tab item that can be used to identify item from the code. + + + + + Gets or sets the predefined tab color. + + + + + Gets or sets an object that contains data to associate with the item. + + + + + Gets/Sets informational text (tooltip) for the tab. + + + + + Returns true if tab is selected tab. + + + + + Gets the tab alignment. + + + + + Returns true if mouse is over the tab. + + + + + Gets or sets whether Close button on the tab is visible when TabStrip.CloseButtonOnTabsVisible property is set to true. Default value is true. You can use this property + to selectively hide Close button on tabs. + + + + + Gets or sets the bounds of the content block. + + + + + Gets or sets item margin only used by certain items in certain containers. Provided only for internal DotNetBar use. + + + + + Summary description for TabItemLayoutManager. + + + + + Resizes the content block and sets it's Bounds property to reflect new size. + + Content block to resize. + + + + Gets or sets the padding in pixels for the measured text. Default is 4. + + + + + Gets or sets the padding in pixels for the measured image size. Default is 4. + + + + + Gets or sets the padding in pixels that is added to the measured height of the tab. Default is 4. + + + + + Gets or sets the padding in pixels that is added to the measured width of the tab. Default is 0. + + + + + Gets or sets whether text is always layed out horizontaly even if tabs are vertically aligned. + + + + + Gets or sets the additional padding for the selected item. + + + + + Gets or sets the fixed tab size in pixels. Either member can be set. Value of 0 indicates that size is automatically calculated which is + default behavior. + + + + + Summary description for TabsCollection. + + + + + Get the TabItem with given name. Name comparison is case insensitive. + + + + + + + Represents Tab-Strip control. + + + + + Raises TabMouseEnter event. + + Provides event arguments. + + + + Raises TabMouseLeave event. + + Provides event arguments. + + + + Raises TabMouseMove event. + + Provides event arguments. + + + + Raises TabMouseClick event. + + Provides event arguments. + + + + Raises TabMouseHover event. + + Provides event arguments. + + + + Default constructor. + + + + + Returns the bounds of the tab system box if one is available in current tab style. + + Rectangle describing the system box bounds. + + + + Recalculates the size of the tabs. + + + + + Selectes previous visible tab. Returns true if previous tab was found for selection. + + + + + Selectes next visible tab. Returns true if next tab was found for selection. + + + + + Invokes the TabCleared event. + + Provides events arguments + + + + Ensures that the tab is visible, scrolling the tab-strip view as necessary. + + Tab to make visible. + + + + Clean up any resources being used. + + + + + Called by StyleManager to notify control that style on manager has changed and that control should refresh its appearance if + its style is controlled by StyleManager. + + New active style. + + + + Refreshes the color scheme with the colors from system color table. + + + + + Resets color scheme to default value. + + + + + Memeber used by Windows Forms designer. + + true if property should be serialized. + + + + Memeber used by Windows Forms designer to reset property to default value. + + + + + Returns tab item that contains specified coordinates. + + X - coordinate to hit test + Y - coordinate to hit test + + + + + Hides tooltip for a tab is one is displayed. + + + + + Shows tooltip for given tab. + + + + + Resets Hoover timer. + + + + + Occurs after selected tab has changed. + + + + + Occurs before selected tab changes and gives you opportunity to cancel the change. + + + + + Occurs when tab is dragged by user. + + + + + Occurs when the user navigates back using the back arrow. + + + + + Occurs when the user navigates forward using the forward arrow. + + + + + Occurs when tab item is closing. + + + + + Occurs when tab item is added to the tabs collection. + + + + + Occurs before control or item attached to the tab is displayed. + + + + + Occurs after tab item has been removed from tabs collection. + + + + + Occurs after Tabs collection has been cleared. + + + + + Occurs after the tab item size has been determined and allows you to apply your custom size to the TabItem. + + + + + Occurs before tab is rendered and allows you to cancel default tab rendering performed by the control. + + + + + Occurs after tab is rendered and allows you to render on top of the default rendering performed by the control. + + + + + Occurs when mouse enters a tab. + + + + + Occurs when mouse leaves a tab. + + + + + Occurs when mouse moves over the tab. + + + + + Occurs when mouse clicks the tab. + + + + + Occurs when mouse hovers over the tab. + + + + + Gets or sets whether anti-alias smoothing is used while painting. Default value is false. + + + + + Returns minimum tab strip height given the style and the tabs it contains. + + + + + Returns the rectangle that contains all the tabs. + + + + + Gets or sets the index of currently selected tab. + + + + + Gets or sets the selected tab. + + + + + Gets or sets whether tabs are scrolled continuously while mouse is pressed over the scroll tab button. + + + + + Gets or sets the auto-repeat interval for the tab scrolling while mouse button is kept pressed over the scroll tab button. + + + + + Gets or sets whether the Close button that closes the active tab is visible. + + + + + Gets or sets whether close button is visible on each tab instead of in system box. + + + + + Gets or sets whether close button on tabs when visible is displayed for every tab state. Default value is true. When set to false + the close button will be displayed only for selected and tab that mouse is currently over. + + + + + Gets or sets the position of the close button displayed on each tab. Default value is Left. + + + + + Gets or sets custom image that is used on tabs as Close button that allows user to close the tab. + Use TabCloseButtonHot property to specify image that is used when mouse is over the close button. Note that image size must + be same for both images. + Default value is null + which means that internal representation of close button is used. + + + + + Gets or sets custom image that is used on tabs as Close button whem mouse is over the close button. + To use this property you must set TabCloseButtonNormal as well. Note that image size for both images must be same. + Default value is null which means that internal representation of close button is used. + + + + + Gets the collection of all tabs. + + + + + Gets or sets whether control attached to the TabItem.AttachedControl property is automatically selected when TabItem becomes selected tab. Default value is true. + + + + + Gets or sets the image list used by tab items. + + + + + Indicates whether selected tab is aligned with the panel in multiple lines use case. + + + + + Gets or sets the type of the tab layout. + + + + + Gets or sets whether tab size is adjusted to fit the available control size. + + + + + Gets or sets scrolling offset of the first tab. You can use this property to programmatically scroll the tab strip. + + + + + Gets or sets whether keyboard navigation using Left and Right arrow keys to select tabs is enabled. Default value is true. + + + + + Gets or sets the mouse cursor that is displayed when tab is dragged. + + + + + Returns tab mouse is over or null if mouse is not over the tab. + + + + + Gets or sets the selected tab Font + + + + + Gets or sets the tab alignment within the Tab-Strip control. + + + + + Specifes whether end-user can reorder the tabs. + + + + + Gets or sets whether system box that enables scrolling and closing of the tabs is automatically hidden when tab items size does not exceed the size of the control. + + + + + Gets or sets the background color. + + + + + Gets or sets whether only selected tab is displaying it's text. + + + + + Gets or sets TabStrip style. Theme style is supported only on themed OS and only for bottom or top aligned tabs. + + + + + Specifies whether tab is drawn using Themes when running on OS that supports themes like Windows XP. + + + + + Gets whether control should be represented in themed style. + + + + + Gets or sets Tab Color Scheme. + + + + + Gets or sets whether the tab scrolling is animanted. + + + + + Gets or sets the fixed tab size in pixels. Either Height or Width can be set or both. + Value of 0 indicates that size is automatically calculated which is + default behavior. + + + + + Gets or sets whether focus rectangle is displayed when tab has input focus. + + + + + Gets or sets whether Tab-Strip control provides Tabbed MDI Child form support. Default value is false. + + + + + Gets or sets the maximum number of characters that will be used as Tab text from Mdi Child caption. + + + + + Gets or sets whether the Mdi Child Icon is displayed on Tab. + + + + + Gets or sets whether the Tab-strip is automatically hidden when there are not Mdi Child forms open. + + + + + Gets or sets whether flicker associated with switching maximized Mdi child forms is attempted to eliminate. You should set this property to false if you encounter any painting problems with your Mdi child forms. + + + + + Gets or sets Mdi Container form for which Tab-Strip is providing Tabbed MDI Child support. + + + + + Event delegate for SelectedTabChanged event. + + + + + Event delegate for SelectedTabChanging event. + + + + + Event delegate for TabMoved event + + + + + Event delegate for NavigateBack, NavigateForward and TabItemClose events. + + + + + Represents the event arguments for tab selection events. + + + + + Currently selected tab. + + + + + Tab being selected. + + + + + Specifies the action that caused the event. + + + + + Default constructor. + + Currently selected tab. + New selection. + + + + Represents the event arguments for tab selection events. + + + + + Currently selected tab. + + + + + Tab being selected. + + + + + Cancels the selection operation. + + + + + Specifies the action that caused the event. + + + + + Default constructor. + + Currently selected tab. + New selection. + + + + Represents the event arguments for tab moving events. + + + + + Tab being moved. + + + + + Moved from index. + + + + + Moving to index. + + + + + Cancels the operation. + + + + + Default Constructor + + Tab + Old Index + New Index + + + + Represents the event arguments for action events. + + + + + Cancels the operation. + + + + + Reference to relevant TabItem, if any, otherwise null/nothing. + + + + + Default Constructor. + + + + + Destroys tooltip window. + + + + + Specifies the tab alignment inside the Tab-Strip control. + + + + + Tabs are left aligned. + + + + + Tabs are right aligned. + + + + + Tabs are top aligned. + + + + + Tabs are bottom aligned. + + + + + Indicates tab strip style. + + + + + Default VS.NET like flat style. + + + + + Office 2003 like style. + + + + + OneNote like style. + + + + + VS.NET 2005 style tabs. + + + + + Tab style where tabs are centered and first and last tab have the corners rounded. This style does not support multi-line tabs or tab scrolling. + + + + + VS.NET 2005 dock style tabs. + + + + + VS.NET 2005 document style tabs. + + + + + Simulated theme style with the horizontal text alignment at all times. + + + + + Office 2007 document style. + + + + + Office 2007 dock style. + + + + + Metro UI style. + + + + + Defines delegate for the MeasureTabItem event. + + + + + Represents event arguments for MeasureTabItem event. + + + + + Gets the TabItem that is being measured. + + + + + Gets or sets the size of the TabItem. The default size calculated by the control will be set by default. You can inspect it and change it to the + custom size by setting this property. + + + + + Creates new instance of the class and initializes it with default values. + + TabItem being measured. + Default size. + + + + Defines delegate for the PreRenderTabItem and PostRenderTabItem events. + + + + + Represents event arguments for PreRenderTabItem and PostRenderTabItem event. + + + + + Gets the reference to the TabItem being rendered. You can use properties like DisplayRectangle to determine the rendering bounds for the tab. + + + + + When used in PreRenderTabItem event allows you to cancel the default rendering by setting this property to true. + + + + + Gets the reference to the Graphics object to render the tab on. + + + + + Creates new instance of the class and initializes it with default values. + + Default value for TabItem property. + Default value for Graphics property. + + + + Represents base class for tab display. + + + + + Main method for painting. + + Reference to graphics object + TabStrip to paint + + + + Gets or sets whether anti-alias is used for painting the tabs. Default value is true. + + + + + Gets or sets whether text is drawn horizontaly regardless of tab orientation. + + + + + Gets or sets whether close button is painted on each tab. + + + + + Provides display capabilities for TabStrip with Office 2007 Dock style. + + + + + Provides display capabilities for TabStrip with Office 2007 Document style. + + + + + Creates new instance of the class. + + + + + Represents class performing the display of tabs with RoundHeader style. + + + + + Provides display support for SimualtedTheme tab style. + + + + + Provides display capabilites for TabStrip with VS2005Dock style. + + + + + Creates new instance of the class. + + + + + Represent a task-dialog message box window. + + + + + Displays TaskDialog message. + + Title of the window. + Task dialog header. + Task dialog text. + Displayed buttons. + Result from task-dialog. + + + + Displays TaskDialog message. + + Title of the window. + Task dialog header. + Task dialog text. + Displayed buttons. + Specifies the predefined color for the dialog. + Result from task-dialog. + + + + Displays TaskDialog message. + + Title of the window. + Icon displayed on dialog. + Task dialog header. + Task dialog text. + Displayed buttons. + Result from task-dialog. + + + + Displays TaskDialog message. + + Title of the window. + Icon displayed on dialog. + Task dialog header. + Task dialog text. + Displayed buttons. + Specifies the predefined color for the dialog. + Result from task-dialog. + + + + Displays TaskDialog message. + + Specifies the content of the task dialog. + Result from task-dialog. + + + + Displays TaskDialog message. + + Window owner of the task dialog. + Specifies the content of the task dialog. + Result from task-dialog. + + + + Closes the task dialog if it is open with eTaskDialogResult.None result. + + + + + Closes the task dialog if it is open with specified result value. + + Value that will be used as return value from Show method. + + + + Gets or sets whether TaskDialog form has Windows Vista Glass enabled if running on + Windows Vista with Glass enabled. Default value is true. + + + + + Gets or sets the anti-alias text-rendering setting for the controls on task-dialog. Default value is true. + + + + + Occurs when any text markup link on Task-Dialog Box is clicked. Markup links can be created using "a" tag, for example: + Markup link + + + + + Specifies the information displayed on task-dialog. + + + + + Initializes a new instance of the TaskDialogInfo structure. + + Title of dialog. + Task-dialog icon + Header text. + Dialog main/content text. + Dialog buttons displayed. + Dialog background color. + Radio Button Commands + Button commands. + Check-box command. + Footer text + Footer image. + + + + Initializes a new instance of the TaskDialogInfo structure. + + Title of dialog. + Task-dialog icon + Header text. + Dialog main/content text. + Dialog buttons displayed. + Dialog background color. + Radio Button Commands + Button commands. + Check-box command. + Footer text + Footer image. + Indicates whether TaskDialog is top most. + + + + Initializes a new instance of the TaskDialogInfo structure. + + Title of dialog. + Task-dialog icon + Header text. + Dialog main/content text. + Dialog buttons displayed. + Dialog background color. + + + + Initializes a new instance of the TaskDialogInfo structure. + + Title of dialog. + Task-dialog icon + Header text. + Dialog main/content text. + Dialog buttons displayed. + + + + Initializes a new instance of the TaskDialogInfo structure. + + Title of dialog. + Task-dialog icon + Header text. + Dialog main/content text. + Dialog buttons displayed. + + + + Gets or sets the task-dialog window title. + + + + + Gets or sets the task-dialog header. + + + + + Gets or sets the task-dialog text. + + + + + Gets or sets the task-dialog buttons displayed. + + + + + Gets or sets the task-dialog background color. + + + + + Gets or sets the array of commands that will be used to create the radio-buttons displayed on task-dialog. Each command will be executed as radio-buttons are checked by user. + + + + + Gets or sets the array of commands that will be used to create the buttons displayed on task-dialog. Each command will be executed as buttons are clicked by user. + + + + + Gets or sets the footer text displayed on task-dialog. + + + + + Gets or sets the command that is used to initialize the footer check-box. Command will be executed when check-box state changes by end user. + + + + + Gets or sets the icon that is displayed on task dialog. + + + + + Gets or sets the image that is displayed in the task-dialog footer. Expected image size is 16x16 pixels. + + + + + Gets or sets whether TaskDialog form is top-most. Default value is false. + + + + + Gets or sets the TaskDialog default button. + + + + + Indicates whether task dialog form close button is enabled, default value is true. + + + + + Specifies the task dialog buttons. + + + + + OK button will be displayed. + + + + + Yes button will be displayed. + + + + + No button will be displayed. + + + + + Cancel button will be displayed. + + + + + Retry button will be displayed. + + + + + Close button will be displayed. + + + + + Specifies the task dialog return values. + + + + + No button was clicked because dialog was closed using TaskDialog.Close method. + + + + + OK button was clicked. + + + + + Yes button was clicked. + + + + + No button was clicked. + + + + + Cancel button was clicked. + + + + + Retry button was clicked. + + + + + Close button was clicked. + + + + + Specifies the custom result. Custom result can be specified if TaskDialog.Close method is called to close dialog. + + + + + Specifies the custom result. Custom result can be specified if TaskDialog.Close method is called to close dialog. + + + + + Specifies the custom result. Custom result can be specified if TaskDialog.Close method is called to close dialog. + + + + + Define icons available on TaskDialog. + + + + + No icon. + + + + + Blue flag icon. + + + + + Blue stop icon. + + + + + Light bulb, idea icon. + + + + + Check-mark icon. + + + + + Check-mark icon. + + + + + Trash-can delete icon. + + + + + Exclamation icon. + + + + + Flag icon. + + + + + Hand-stop icon. + + + + + Help icon. + + + + + Informational icon. + + + + + Informational icon. + + + + + No entry icon. + + + + + Shield icon. + + + + + Shield help icon. + + + + + Shield OK icon. + + + + + Shield stop icon. + + + + + Stop icon. + + + + + Stop icon. + + + + + Users icons. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets or sets the task-background color. + + + + + Gets the task-dialog result + + + + + Gets or sets the anti-alias text-rendering setting for the controls. + + + + + Defines TaskDialog colors. + + + + + Task dialog will use default background as specified by current theme. + + + + + Task dialog will use silver background color. + + + + + Task dialog will use tan background color. + + + + + Task dialog will use dark-blue background color. + + + + + Task dialog will use blue background color. + + + + + Task dialog will use red background color. + + + + + Task dialog will use olive-green background color. + + + + + Task dialog will use purple background color. + + + + + Task dialog will use aqua background color. + + + + + Task dialog will use orange background color. + + + + + Summary description for TextBoxItem. + + + + + Selects all text in text box. + + + + + Indicates whether property should be serialized by Windows Forms designer. + + + + + Resets the property to default value. + + + + + Occurs when ButtonCustom control is clicked. + + + + + Occurs when ButtonCustom2 control is clicked. + + + + + IBlock member implementation + + + + + Gets or sets a value indicating whether the text in the TextBox control should appear as the default password character. + + + + + Gets or sets the character used to mask characters of a password in a single-line TextBox control. + + + + + Gets or sets the text associated with the editable part of the item. + + + + + Gets or sets the item caption text displayed next to the text input. + + + + + Gets or sets the maximum number of characters the user can type or paste into the text box control. + + + + + Gets or sets whether watermark text is displayed when control is empty. Default value is true. + + + + + Gets or sets the watermark image displayed inside of the control when Text is not set and control does not have input focus. + + + + + Gets or sets the watermark image alignment. + + + + + + Gets or sets the watermark font. + + + + + Gets or sets the watermark text color. + + + + + Gets or sets the watermark hiding behaviour. Default value indicates that watermark is hidden when control receives input focus. + + + + + Gets or sets whether FocusHighlightColor is used as background color to highlight text box when it has input focus. Default value is false. + + + + + Gets or sets the color used as background color to highlight text box when it has input focus and focus highlight is enabled. + + + + + Gets or sets the text-alignment inside of the text box. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Gets the object that describes the settings for the custom button that can execute an custom action of your choosing when clicked. + + + + + Measures the element given available size. + + Size available to element + Reference to graphics object + + + + Measures the end tag of an element. Most implementations do not need to do anything but implementations like the ones + that change color should return state back at this time. + + + + + + + Renders element. + + Provides markup drawing context information. + + + + Renders element tag end. Most implementations do not need to do anything but mplementations like the ones + that change color should return state back at this time. + + Provides markup drawing context information. + + + + Provides final rectangle to element and lets it arrange it's content given new constraint. + + Final rectangle. + + + + + Arranges the element given the final size. Layout is two step process with Measure followed by Arrange. + + + + + + + Returns whether markup element is an container so it receives full available size of parent control for layout. + + + + + Returns whether markup element is an block element that always consumes a whole line in layout. + + + + + Returns whether layout manager switches to new line after processing this element. + + + + + Returns whether layout manager can start new line with this element. + + + + + Gets the collection of child elements if any for this markup element. + + + + + Gets or sets whether element size is valid. When size is not valid element Measure method will be called to validate size. + + + + + Gets element parent or null if parent is not set. + + + + + Gets or sets actual rendering bounds. + + + + + Gets or sets whether markup element is visible. + + + + + Gets or sets the element margin. + + + + + Gets or sets actual rendered bounds for a give markup element if applicable. + + + + + Returns whether markup element is an block element that always consumes a whole line in layout. + + + + + Indicates paragraph content alignment + + + + + Indicates paragraph content alignment + + + + + Gets reference to markup start element. + + + + + Returns whether layout manager can start new line with this element. + + + + + Gets or sets heading level. Values from 1 to 6 are valid. Default is 1. + + + + + Returns whether hyper-link contains specified coordinates. + + + + + + + Creates new instance of the class. + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the MarkupElement array. + + Array to copy to. + + + + Gets or sets the collection parent element. + + + + + Returns reference to the object in collection based on it's index. + + + + + Tests whether input text could be markup text. + + Text to test. + true if text could be markup, otherwise false + + + + Gets the style of the hyperlink in its default state. + + + + + Gets the style of the hyperlink when mouse is over the link. + + + + + Gets the style of the visited hyperlink. + + + + + + Represents the method that will handle the ResolveImage event. + + + + + Defines the text-markup hyperlink appearance style. + + + + + Initializes a new instance of the HyperlinkStyle class. + + + + + Initializes a new instance of the HyperlinkStyle class. + + + + + + + Initializes a new instance of the HyperlinkStyle class. + + + + + + + + Gets or sets hyperlink text color. + + + + + Gets or sets hyperlink back color. + + + + + Gets or sets the underline style for the hyperlink. + + + + + Gets whether style has been changed from its default state. + + + + + + Indicates that event has been handled and that ResolvedImage should be used. + + + + + Indicates the string key parameters in url-style for the image that needs to be resolved. + + + + + Indicates the resolved image value. + you need to set this value to the resolved image and you need to set Handled property to true. + + + + + Default constructor. + + + + + Gets or sets whether element size is valid. When size is not valid element Measure method will be called to validate size. + + + + + Returns whether layout manager switches to new line after processing this element. + + + + + Returns whether markup element is an block element that always consumes a whole line in layout. + + + + + Returns whether layout manager can start new line with this element. + + + + + Summary description for Themes. + + + + + Represents toast display control. This class is not for public use. + + + + + Initializes a new instance of the ToastDisplay class. + + + + + Specifies the alpha-blending, opacity for the content rendered by the control. Setting this property allows fading in and out of the control content. + + + + + Gets or sets the toast background color. + + + + + Gets or sets the toast glow color. + + + + + Gets or sets the image displayed on the toast. + + + + + Represents class used to display toast notifications. A toast notification is a message that appears on the surface of the screen for a moment, + but it does not take focus (or pause the current activity), so it cannot accept any user input. + Notification pops up on the surface of the specified Form or Control. + It only fills the amount of space required for the message and the user's current activity remains visible and interactive. + The notification automatically fades in and out after specified time interval. + Notification text supports text-markup. + + + + + Closes all toast notifications open on specified parent control. + + Parent control. + + + + Closes specified toast notification on parent control. + + Parent control. + Toast ID as returned by the Show method. + + + + Updates the already displayed toast text. Note that toast notification will not be resized. + + Parent control which was used to show toast. + Toast ID returned by the Show toast method. + New toast notification text. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form. + + Parent form to display toast notification on top of + Message to display. + Image to display next to toast text. + Interval in milliseconds after which the notification is hidden. + Specifies toast-glow color used. + Specifies the position of the toast notification. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form. + + Parent form to display toast notification on top of + Message to display. + Image to display next to toast text. + Interval in milliseconds after which the notification is hidden. + Specifies toast-glow color used. + Specifies the X position of the toast notification with its parent window. + Specifies the Y position of the toast notification with its parent window. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form. + + Parent form to display toast notification on top of + Message to display. + Image to display next to toast text. + Interval in milliseconds after which the notification is hidden. + /// Specifies toast-glow color used. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form, with default timeout interval. + + Parent control to display toast notification on top of + Message to display. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form, with default timeout interval. + + Parent control to display toast notification on top of + Message to display. + Specifies the position of the toast notification. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form, with default timeout interval. + + Parent control to display toast notification on top of + Message to display. + Image to display next to toast text. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form. + + Parent form to display toast notification on top of + Message to display. + Image to display next to toast text. + Interval in milliseconds after which the notification is hidden. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form. + + Parent form to display toast notification on top of + Message to display. + Interval in milliseconds after which the notification is hidden. + + + + Displays the toast notification on top of the specified parent control, we recommend always using a parent form. + + Parent form to display toast notification on top of + Message to display. + Interval in milliseconds after which the notification is hidden. + Specifies the position of the toast notification. + + + + Specifies the toast margin from the edges of the parent control. Default value is 16 pixels on all sides. + + + + + Specifies the default toast position within the parent control. Default value is BottomCenter. + + + + + Specifies default glow color around toast notification. Default value is Blue. + + + + + Specifies the default timeout interval for the toast notification. + + + + + Specifies the toast background color. + + + + + Specifies the toast text color. + + + + + Specifies the font used for the toast. + + + + + Specifies the custom glow color used when eToastGlowColor.Custom is used. + + + + + Specifies toast position within parent control. + + + + + Specifies the glow color around toast notification. + + + + + Summary description for NewToolbar. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Summary description for Tooltip. + + + + + Gets or sets the rectangle of the control or item tooltip is displayed for. + + + + + Gets or sets whether text-markup is enabled for the tooltips. + + + + + Specifies fixed location for tooltip window. + + + + + Raises PanBegin event. + + Provides event arguments. + + + + Raises PanBegin event. + + Provides event arguments. + + + + Raises PanBegin event. + + Provides event arguments. + + + + Raises Begin event. + + Provides event arguments. + + + + Raises End event. + + Provides event arguments. + + + + Raises PressAndTap event. + + Provides event arguments. + + + + Raises RotateBegin event. + + Provides event arguments. + + + + Raises Rotate event. + + Provides event arguments. + + + + Raises RotateEnd event. + + Provides event arguments. + + + + Raises TwoFingerTap event. + + Provides event arguments. + + + + Raises ZoomBegin event. + + Provides event arguments. + + + + Raises Zoom event. + + Provides event arguments. + + + + Raises ZoomEnd event. + + Provides event arguments. + + + + Raises TouchDown event. + + Provides event arguments. + + + + Raises TouchDown event. + + Provides event arguments. + + + + Raises TouchDown event. + + Provides event arguments. + + + + Initializes a new instance of the TouchHandler class. + + + + + + Initializes a new instance of the TouchHandler class. + + + + + + Initializes handler + + + + + The Windows message handler. + + + + + Decode the message and create a collection of event arguments + + + + + The last event in the current gesture event sequence + + + + + Register for touch event + + true if succeeded + + + + The event arguments that started the current gesture + + + + + Gets or sets whether palm rejection is enabled. + + + + + Check if Multi-touch support device is ready + + + + + Create new gesture event instance and decode the gesture info structure + + The gesture handler + The gesture information + + + + Gesture relative rotation angle for Rotate event. + + + + + Indicates calculated gesture center. + + + + + Gesture zoom factor for Zoom event. + + + + + Gesture relative panning translation for Pan event. + + + + + Gesture velocity vector of the pan gesture for custom inertia implementations. + + + + + The last touch arguments in this gesture event sequence. + + + + + The client location of gesture. + + + + + Is this the first event of a gesture. + + + + + It this last event of a gesture. + + + + + Has gesture triggered inertia. + + + + + The first touch arguments in this gesture event sequence. + + + + + Gets or sets whether event is handled. + + + + + EventArgs passed to Touch handlers + + + + + Create new touch event argument instance + + The target control + one of the inner touch input in the message + + + + Touch client coordinate in pixels + + + + + A touch point identifier that distinguishes a particular touch input + + + + + A set of bit flags that specify various aspects of touch point + press, release, and motion. + + + + + mask which fields in the structure are valid + + + + + touch event time + + + + + touch event time from system up + + + + + the size of the contact area in pixels + + + + + Is Primary Contact (The first touch sequence) + + + + + Specifies that movement occurred + + + + + Specifies that the corresponding touch point was established through a new contact + + + + + Specifies that a touch point was removed + + + + + Specifies that a touch point is in range + + + + + specifies that this input was not coalesced. + + + + + Specifies that the touch point is associated with a pen contact + + + + + The touch event came from the user's palm + + Set to true + + + + Gets or sets whether event is handled. + + + + + Get the current Digitizer Status + + + + + Initializes a new instance of the GESTURECONFIG structure. + + + + + + + + Specifies available digitizer capabilities + + + + + Gesture Info Interop Structure + + + + + A Simple POINTS Interop structure + + + + + A Simple POINT Interop structure + + + + + Touch API defined structures [winuser.h] + + + + + Represents class that holds User Interface static methods. + + + + + Gets the graphics path that represents triangle. + + Top left position of the triangle. + Size of the triangle. + Pointing direction of the triangle. + Returns graphics path for the triangle of given size and pointing in given direction. + + + + Creates the double arrow >> collapse expand image for the collapsable controls. + + Indicates the direction of the arrow + Color for the arrows + Indicates whether image is for vertical collapse/expand + + + + + Specifies the pointing direction of triangle. + + + + + Triangle point to the left. + + + + + Triangle point to the right. + + + + + Triangle point to the top. + + + + + Triangle point to the bottom. + + + + + Represents compare validator for SuperValidator control used to compare two input fields or input fields to specified value. + + + + + Represents base validator used by SuperValidator component. + + + + + Validates the input control. + + Input control to validate. + true if validation is successful otherwise false + + + + Gets the input control value. + + Control to return value for. + Controls value + + + + Gets the input control value. + + Control to return value for. + Controls value + + + + Raises the GetValue event. + + Event arguments. + + + + Occurs when validator retrieves the value for the control. It allows you to return value for the controls validator does not recognize. + + + + + Gets or sets the error message that is displayed by error provider when validation fails. + + + + + Gets the last validation result returned from Validate call. True if validation was successful or false if validation failed. + + + + + Returns SuperValidator control validator is assigned to. + + + + + Gets or sets whether error is displayed using the error provider on SuperValidator when validation fails. Default value is true. + + + + + Gets or sets whether validator is enabled. Default value is true. + + + + + Gets or sets the group name validation belongs to. When control belongs to optional validation group the validation is considered successful when any of the controls in the group validates. + + + + + Gets or sets the highlight color for control when validation fails if Highlighter component is used on SuperValidator. Default Value is None. + + + + + Gets or sets the value property name for the control to validate. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Gets or sets the control to compare validated control to. + + + + + Gets or sets the Value property name for the ControlToCompare control. + + + + + Gets or sets the value to compare to the validation control. + + + + + Gets or sets the operator used for comparison. + + + + + Specifies the validation comparison operators used by the CompareValidator. + + + + + A comparison for equality. + + + + + A comparison for inequality. + + + + + A comparison for greater than. + + + + + A comparison for greater than or equal to. + + + + + A comparison for less than. + + + + + A comparison for less than or equal to. + + + + + A comparison for data type only. + + + + + Initializes a new instance of the CustomValidator class. + + + + + Gets or sets custom data associated with the validator + + + + + Defines delegate for CustomValidator ValidateValue event. + + Sender + Event arguments + + + + Gets the reference to the control to validate. + + + + + Gets or sets whether control's value is valid. + + + + + Initializes a new instance of the ValidateValueEventArgs class. + + Control to validate. + + + + Defines an interface that can be implemented by custom error providers to be used with SuperValidator. + + + + + Sets the error state on the control. + + Control for which error state is being set. + The error message from validator. + + + + Clears the error state for the control. + + Control to clear error state for. + + + + Retrieves whether control is highlighted when it receives input focus. + + + + + Sets whether control is highlighted when it receives input focus. + + Reference to supported control. + Indicates whether to highlight control on focus. + + + + Retrieves the highlight color that is applied to the control. + + + + + Sets the highlight color for the control. + + Reference to supported control. + Highlight color. + + + + Updates the highlighted controls border. Usually call to this method is not needed but under + certain scenarios where highlighter does not automatically detects the change in visibility of + the highlighted control call to this method is necessary. + + + + + Indicates the highlight focus color. + + + + + Gets or sets the container control highlighter is bound to. The container control must be set in order for highlighter to work. + Container control should always be a form. + + + + + Gets or sets the array of colors used to render custom highlight color. Control expects 3 colors in array to be specified which define the highlight border. + + + + + Defines highlight colors provided by Highlighter control. + + + + + Initializes a new instance of the ErrorProviderWrapper class. + + + + + + Initializes a new instance of the ErrorProviderWrapper class. + + + + + + + Initializes a new instance of the HighlightPanel class. + + + + + + Gets or sets the array of colors used to render custom highlight color. Control expects 3 colors in array to be specified which define the highlight border. + + + + + Initializes a new instance of the HighlightRegion structure. + + + + + + + + Initializes a new instance of the RangeValidator class. + + + + + Initializes a new instance of the RangeValidator class. + + + + + Initializes a new instance of the RangeValidator class. + + + + + Gets or sets the maximum value control may have. + + + + + Gets or sets the minimum value control may have. + + + + + Indicates whether empty string of zero length is considered valid input. + + + + + Represents the regular expression validator used with SuperValidator control. + + + + + Initializes a new instance of the RegularExpressionValidator class. + + + + + Initializes a new instance of the RegularExpressionValidator class. + + + + + + Initializes a new instance of the RegularExpressionValidator class. + + + + + + Initializes a new instance of the RegularExpressionValidator class. + + + + + + Gets or sets regular expression used to validate controls value. + + + + + Gets or sets whether empty value is considered valid value by the validator. Default value is false. + + + + + Describes required field validator used with SuperValidator control. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Initializes a new instance of the RequiredFieldValidator class. + + + + + Raises EvaluateIsEmpty event. + + Event Arguments + + + + Occurs when controls value needs to be evaluated to check whether it is empty. You can use this event to perform custom evaluation. + + + + + Indicates whether empty string of zero length is considered valid input. + + + + + Initializes a new instance of the ValidatorGetValueEventArgs class. + + + + + + + Gets Control to retrieve value for. + + + + + Gets the Value to evaluate. + + + + + Gets validator that is requesting value. + + + + + Resets the Value set and indicates that validator will internally retrieve value for the control. + + + + + Gets or sets the value that will be used by validator. + + + + + Raises the CustomValidatorValidateValue event. + + Validator that needs validation. + Control to validate. + + + + Retrieves first level Validator for given control or return null if control does not have validator associated with it. + + + + + Associates first level Validator with given control. + + Reference to supported control. + Instance of validator class. If null is passed existing Validator is detached from the given control. + + + + Retrieves second level Validator for given control or return null if control does not have validator associated with it. + + + + + Associates second level Validator with given control. + + Reference to supported control. + Instance of validator class. If null is passed existing Validator is detached from the given control. + + + + Retrieves third level Validator for given control or return null if control does not have validator associated with it. + + + + + Associates third level Validator with given control. + + Reference to supported control. + Instance of validator class. If null is passed existing Validator is detached from the given control. + + + + Raises the GetValue event. + + Event arguments. + + + + Performs validation on all validators. It also uses error provider to display failed validations if validator has that enabled. + + Returns true if all validations succeeded or false if at least one validation has failed. + + + + Validate single control. Note that control must have validator assigned to it. This method will change LastFailedValidationResults collection. + + Control to validate. + returns true if validation succeeds or false if it fails + + + + Validate single control. Note that control must have validator assigned to it. This method will change LastFailedValidationResults collection. + + Control to validate. + Indicates whether to clear the last set of failed validations by calling ClearFailedValidations() method. + returns true if validation succeeds or false if it fails + + + + Removes all visual markers from failed validations that were placed on the controls. + + + + + Occurs when validator retrieves the value for the control. It allows you to return value for the controls validator does not recognize. + + + + + Occurs when CustomValidator needs to validate the control value. + + + + + Gets or sets whether validation is performed in steps meaning that if first level validation fails, second level is not validated + until first level validation succeeds. Default value is false which means that all validation levels are validated even if first level fails. + + + + + Gets the readonly collection that returns failed validations that were result of last Validate method call. + + + + + Indicates default ErrorProvider IconPadding when Highlighter is used with SuperValidator. Setting this property to 0 will allow you to set IconPadding for each control manually. + + + + + Gets or sets the error provider that is used by the validator to report validation errors. + + + + + Gets or sets the custom error provider that is used by validator to report errors. You can provide your own error validators by implementing IErrorProvider interface. + + + + + Gets or sets the Highlighter component that is used to highlight validation errors. + + + + + Gets or sets the validation type performed by the control. Default value is Manual. + + + + + Gets or sets the container control validator is bound to. The container control must be set for the ValidationType ValidatingEventOnContainer. + When ContainerControl is Form the validator handles the Closing event of the form to perform the validation and cancel the form closing. + You can disable that by setting either Enabled=false or Form.CausesValidation=false. + + + + + Gets or sets whether validation is performed. Default value is true. + + + + + Gets or sets whether Cancel argument in Validating event for validation type ValidatingEventPerControl is set to true when validation fails. + + + + + Specifies the validation type for SuperValidator control. + + + + + SuperValidator uses manual validation, i.e. you will call Validate method to perform validation. + + + + + Validation is performed per control from each controls Validating event. The Cancel is set to true on event arguments if validation fails. + + + + + Validation is performed for all controls from Validating event on container control. By default container control is Form that SuperValidator is on. + + + + + Defines validator control pair used by SuperValidator control. + + + + + Gets the validator associated with the control. + + + + + Gets control reference. + + + + + Initializes a new instance of the ValidatorControlPair structure. + + Validator associated with the control + Control reference + + + + Initializes a new instance of the ValidatorGetValueEventArgs class. + + + + + + + Gets Control to retrieve value for. + + + + + Gets validator that is requesting value. + + + + + Resets the Value set and indicates that validator will internally retrieve value for the control. + + + + + Gets or sets the value that will be used by validator. + + + + + Retrieves the show state and the restored, minimized, and maximized positions of the specified window. + + + A handle to the window. + + + A pointer to the WINDOWPLACEMENT structure that receives the show state and position information. + + Before calling GetWindowPlacement, set the length member to sizeof(WINDOWPLACEMENT). GetWindowPlacement fails if lpwndpl-> length is not set correctly. + + + + If the function succeeds, the return value is nonzero. + + If the function fails, the return value is zero. To get extended error information, call GetLastError. + + + + + Options available when a form is tested for mose positions. + + + HTERROR: On the screen background or on a dividing line between windows + (same as HTNOWHERE, except that the DefWindowProc function produces a system + beep to indicate an error). + + + HTTRANSPARENT: In a window currently covered by another window in the + same thread (the message will be sent to underlying windows in the same thread + until one of them returns a code that is not HTTRANSPARENT). + + + HTNOWHERE: On the screen background or on a dividing line between + windows. + + + HTCLIENT: In a client area. + + + HTCAPTION: In a title bar. + + + HTSYSMENU: In a window menu or in a Close button in a child window. + + + HTGROWBOX: In a size box (same as HTSIZE). + + + HTMENU: In a menu. + + + HTHSCROLL: In a horizontal scroll bar. + + + HTVSCROLL: In the vertical scroll bar. + + + HTMINBUTTON: In a Minimize button. + + + HTMAXBUTTON: In a Maximize button. + + + HTLEFT: In the left border of a resizable window (the user can click + the mouse to resize the window horizontally). + + + HTRIGHT: In the right border of a resizable window (the user can click + the mouse to resize the window horizontally). + + + HTTOP: In the upper-horizontal border of a window. + + + HTTOPLEFT: In the upper-left corner of a window border. + + + HTTOPRIGHT: In the upper-right corner of a window border. + + + HTBOTTOM: In the lower-horizontal border of a resizable window (the + user can click the mouse to resize the window vertically). + + + HTBOTTOMLEFT: In the lower-left corner of a border of a resizable + window (the user can click the mouse to resize the window diagonally). + + + HTBOTTOMRIGHT: In the lower-right corner of a border of a resizable + window (the user can click the mouse to resize the window diagonally). + + + HTBORDER: In the border of a window that does not have a sizing + border. + + + HTOBJECT: Unknown...No Documentation Found + + + HTCLOSE: In a Close button. + + + HTHELP: In a Help button. + + + HTSIZE: In a size box (same as HTGROWBOX). (Same as GrowBox). + + + HTREDUCE: In a Minimize button. (Same as MinimizeButton). + + + HTZOOM: In a Maximize button. (Same as MaximizeButton). + + + + Hides the window and activates another window. + + + + + Activates and displays a window. If the window is minimized or + maximized, the system restores it to its original size and position. + An application should specify this flag when displaying the window + for the first time. + + + + + Activates the window and displays it as a minimized window. + + + + + Maximizes the specified window. + + + + + Activates the window and displays it as a maximized window. + + + + + Displays a window in its most recent size and position. This value + is similar to , except + the window is not actived. + + + + + Activates the window and displays it in its current size and position. + + + + + Minimizes the specified window and activates the next top-level + window in the Z order. + + + + + Displays the window as a minimized window. This value is similar to + , except the + window is not activated. + + + + + Displays the window in its current size and position. This value is + similar to , except the + window is not activated. + + + + + Activates and displays the window. If the window is minimized or + maximized, the system restores it to its original size and position. + An application should specify this flag when restoring a minimized window. + + + + + Sets the show state based on the SW_* value specified in the + STARTUPINFO structure passed to the CreateProcess function by the + program that started the application. + + + + + Windows 2000/XP: Minimizes a window, even if the thread + that owns the window is not responding. This flag should only be + used when minimizing windows from a different thread. + + + + + Represents Wizard control. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Resets the style to it's default value. + + + + + Resets the style to it's default value. + + + + + Simulates Back button click on Wizard control. Note that this method will raise the same events as + standard Wizard Back button click. + + + + + Simulates Next button click on Wizard control. Note that this method will raise the same events as + standard Wizard Next button click. + + + + + Simulates Cancel button click on Wizard control. Note that this method will raise the same events as + standard Wizard Cancel button click. + + + + + Simulates Finish button click on Wizard control. Note that this method will raise the same events as + standard Wizard Finish button click. + + + + + Raises BackButtonClick event. + + Event arguments + + + + Raises NextButtonClick event. + + Event arguments + + + + Raises FinishButtonClick event. + + Event arguments + + + + Raises CancelButtonClick event. + + Event arguments + + + + Raises HelpButtonClick event. + + Event arguments + + + + Raises WizardPageChanging event. + + Provides event arguments + + + + Raises WizardPageChanged event. + + Provides event arguments + + + + Occurs when Back button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Next button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Finish button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Cancel button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Help button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs before wizard page has changed and gives you opportunity to cancel the change. + + + + + Occurs after wizard page has changed. This event cannot be cancelled. To cancel the page change please use WizardPageChanging event. + + + + + Occurs when wizard buttons (Back, Next, Finish etc) are positioned and resized. + + + + + Gets or sets the header image. Default value is null which means that internal header image is used. You can hide header image + by setting HeaderImageVisible property. + + + + + Gets or sets whether header image is visible. Default value is true. + + + + + Gets or sets wizard button that is clicked when ENTER key is pressed. Default value is eWizardFormAcceptButton.FinishAndNext which + indicates that finish button will be clicked if available otherwise next button will be clicked. + + + + + Gets or sets wizard button that is clicked when ESCAPE key is pressed. Default value is eWizardFormCancelButton.Cancel which + indicates that Cancel button will be clicked. + + + + + Gets or sets whether all buttons are disabled while wizard page is changed which prevents users from clicking the buttons + if page change is taking longer. Default value is true. + + + + + Gets or sets whether wait cursor is displayed while page is changed. Default value is true. + + + + + Gets or sets the selected page index. You can set this property to change the currently selected wizard page. + + + + + Gets or sets selected wizard page. You can set this property to change the currently selected wizard page. + + + + + Gets the collection of Wizard pages. The order of WizardPage objects inside of this collection determines the flow of the wizard. + + + + + Returns a Stack of page history. Each time next page is displayed by wizard, previously visited page is added to the history. + When user commands Wizard back, the last page from the history is shown and removed from the stack. You should not modify this collection + directly since it is maintained by Wizard control. + + + + + Gets or sets the FlatStyle setting for the wizard buttons. Default value is FlatStyle.System + + + + + Gets or sets height of wizard command buttons. Default value is 22 pixels. + + + + + Gets or sets whether back button causes validation to be performed on any controls that require validation when it receives focus. Default value is false. + + + + + Gets or sets tab index of back button. Default value is 1. + + + + + Gets or sets a value indicating whether the user can give the focus to this back button using the TAB key. Default value is true. + + + + + Gets or sets caption of the back button. + + + + + Gets or sets width of the back button. Default value is 74. + + + + + Gets or sets auto size of the button. Default value is false. + + + + + Gets or sets auto size mode of the button. Default value is AutoSizeMode.GrowOnly. + + + + + Gets or sets whether next button causes validation to be performed on any controls that require validation when it receives focus. Default value is true. + + + + + Gets or sets tab index of next button. Default value is 2. + + + + + Gets or sets a value indicating whether the user can give the focus to button using the TAB key. Default value is true. + + + + + Gets or sets caption of the next button. + + + + + Gets or sets width of the next button. Default value is 74. + + + + + Gets or sets auto size of the button. Default value is false. + + + + + Gets or sets auto size mode of the button. Default value is AutoSizeMode.GrowOnly. + + + + + Gets or sets whether button causes validation to be performed on any controls that require validation when it receives focus. Default value is false. + + + + + Gets or sets tab index of the button. Default value is 4. + + + + + Gets or sets a value indicating whether the user can give the focus to button using the TAB key. Default value is true. + + + + + Gets or sets caption of the button. + + + + + Gets or sets width of the button. Default value is 74. + + + + + Gets or sets auto size of the button. Default value is false. + + + + + Gets or sets auto size mode of the button. Default value is AutoSizeMode.GrowOnly. + + + + + Gets or sets whether button causes validation to be performed on any controls that require validation when it receives focus. Default value is true. + + + + + Gets or sets tab index of the button. Default value is 4. + + + + + Gets or sets a value indicating whether the user can give the focus to button using the TAB key. Default value is true. + + + + + Gets or sets caption of the button. + + + + + Gets or sets width of the button. Default value is 74. + + + + + Gets or sets whether finish button is always visible next to the Next button. Default value is false which means that Finish + button will be visible only on last Wizard page and it will replace the Next button. When set to true Finish button is always visible next + to the Next button except on first Welcome wizard page. + + + + + Gets or sets auto size of the button. Default value is false. + + + + + Gets or sets auto size mode of the button. Default value is AutoSizeMode.GrowOnly. + + + + + Gets or sets whether button causes validation to be performed on any controls that require validation when it receives focus. Default value is false. + + + + + Gets or sets whether button is visible. Default value is true. + + + + + Gets or sets tab index of the button. Default value is 5. + + + + + Gets or sets a value indicating whether the user can give the focus to button using the TAB key. Default value is true. + + + + + Gets or sets caption of the button. + + + + + Gets or sets width of the button. Default value is 74. + + + + + Gets or sets auto size of the button. Default value is false. + + + + + Gets or sets auto size mode of the button. Default value is AutoSizeMode.GrowOnly. + + + + + Gets or sets the height of the wizard footer. Default value is 46 + + + + + Gets or sets the height of the wizard header. Default value is 60 + + + + + Gets or sets the header image alignment. Default value is right. + + + + + Gets or sets the header image size for interior wizard pages. Default value is 48x48 + + + + + Gets or sets indentation of header title label. Default value is 16. + + + + + Gets or sets indentation of header description label. Default value is 44. + + + + + + Indicates the font used to render caption header text. + + + + + Gets or sets whether description text displayed in wizard header is visible. + + + + + Gets or sets the header background style. + + + + + Gets or sets the footer background style. + + + + + Returns reference to internal Next button control. + + + + + Returns reference to internal Cancel button control. + + + + + Returns reference to internal Finish button control. + + + + + Returns reference to internal Help button control. + + + + + Returns reference to internal Back button control. + + + + + Gets or sets whether Focus cues on wizard navigation buttons are enabled. Default value is true. + + + + + Gets or sets the visual style used for wizard buttons. + + + + + Provides data for LayoutWizardButtons event. + + + + + Gets or sets bounds of Back button. + + + + + Gets or sets bounds of Next button. + + + + + Gets or sets bounds of Finish button. + + + + + Gets or sets bounds of Cancel button. + + + + + Gets or sets bounds of Help button. + + + + + Creates new instance of the class. + + + + + Creates new instance of the class and initializes it with default values. + + + + + Defines delegate for WizardPageChange events. + + + + + Updates page state when one of the page appearance properties has changed. + + + + + Fires BeforePageDisplayed event. + + Event arguments + + + + Invokes the BeforePageDisplayed event. + + Event arguments + + + + Fires AfterPageDisplayed event. + + Event arguments. + + + + Invokes AfterPageDisplayed event. + + Event arguments + + + + Fires BeforePageDisplayed event. + + Event arguments + + + + Invokes the BeforePageDisplayed event. + + Event arguments + + + + Raises BackButtonClick event. + + Event arguments + + + + Invokes BackButtonClick event. + + + + + Raises NextButtonClick event. + + Event arguments + + + + Invokes NextButtonClick event. + + + + + Raises FinishButtonClick event. + + Event arguments + + + + Invokes FinishButtonClick event. + + + + + Raises CancelButtonClick event. + + Event arguments + + + + Invokes CancelButtonClick event. + + + + + Raises HelpButtonClick event. + + Event arguments + + + + Invokes HelpButtonClick event. + + + + + Occurs before page is displayed. This event can cancel the page change. You can perform any additional setup of the Wizard page in this event. + + + + + Occurs after page has been displayed.This event can cancel the page change. You can perform any additional setup of the Wizard page in this event. + + + + + Occurs after page is hidden. You can perform any additional steps that are needed to complete wizard step in this event. + + + + + Occurs when Back button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Next button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Finish button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Cancel button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Occurs when Help button is clicked. You can cancel any default processing performed by Wizard control by setting Cancel=true on event arguments. + + + + + Gets whether page is currently selected page in Wizard. + + + + + Gets or sets whether back button is enabled when page is active. Default value is eWizardButtonState.Auto which indicates that state is + automatically managed by control. + + + + + Gets or sets whether back button is visible when page is active. Default value is eWizardButtonState.Auto. + + + + + Gets or sets whether next button is enabled when page is active. Default value is eWizardButtonState.Auto which indicates that state is + automatically managed by control. + + + + + Gets or sets whether next button is visible when page is active. Default value is eWizardButtonState.Auto. + + + + + Gets or sets whether finish button is enabled when page is active. Default value is eWizardButtonState.Auto which indicates that state is + automatically managed by control. + + + + + Gets or sets whether cancel button is enabled when page is active. Default value is eWizardButtonState.Auto which indicates that state is + automatically managed by control. + + + + + Gets or sets whether cancel button is visible when page is active. Default value is eWizardButtonState.Auto. + + + + + Gets or sets whether help button is enabled when page is active. Default value is eWizardButtonState.Auto which indicates that state is + automatically managed by control. + + + + + Gets or sets whether help button is visible when page is active. Default value is eWizardButtonState.Auto. + + + + + Gets or sets the page header image when page is an interior page, InteriorPage=true. Default value is null. + + + + + Gets or sets the text that is displayed as title in wizard header when page is active. + + + + + Gets or sets the text that is displayed as description in wizard header when page is active. + + + + + Gets or sets the text that is displayed on form caption when page is active. Default value is empty string which indicates that form caption + is not changed when page becomes active. + + + + + Gets or sets whether page is interior page. Interior pages use wizard header area to display page title, description and optional image. They are also padded and do not + fill the client area of the Wizard. Default value is true. + You can set this value to false to hide header area and make page fill the client area of the wizard. + + + + + Gets or sets whether page is visible. Page visibility is managed by Wizard control and it should not be set directly. + + + + + Represents the collection of WizardPage objects which determines the flow of the wizard. + + + + + Adds new object to the collection. + + Object to add. + Index of newly added object. + + + + Adds an array of objects to the collection. + + Array of WizardPage objects. + + + + Inserts new object into the collection. + + Position of the object. + Object to insert. + + + + Returns index of the object inside of the collection. + + Reference to the object. + Index of the object. + + + + Returns whether collection contains specified object. + + Object to look for. + true if object is part of the collection, otherwise false. + + + + Removes specified object from the collection. + + + + + + Copies collection into the specified array. + + Array to copy collection to. + Starting index. + + + + Copies contained items to the WizardPage array. + + Array to copy to. + + + + Copies contained items to the WizardPage array. + + Array to copy to. + + + + Gets the parent this collection is associated with. + + + + + Returns reference to the object in collection based on it's index. + + + + + Returns reference to the object in collection based on it's name. + + + + + Provides data for Wizard Page Change events. + + + + + Specifies the new active wizard page. You can change this argument when handling WizardPageChanging event and provide newly selected page of your own. + + + + + Specifies page that was or currently is active. + + + + + Indicates the wizard button that was source of page change. + + + + + Creates new instance of the class with default values. + + New wizard page + Old or current wizard page + Page change source + + + + Provides data for Wizard Page Change events. + + + + + Allows you to cancel the page change. + + + + + Creates new instance of the class with default values. + + New wizard page + Old or current wizard page + Page change source + + + + Defines delegate for WizardPageChange events. + + + + + Defines delegate for WizardPageChange events. + + + + diff --git a/ToolListRun/bin/Debug/FindLineTool.dll b/ToolListRun/bin/Debug/FindLineTool.dll new file mode 100644 index 0000000000000000000000000000000000000000..42ced4b8f9b40de6aca3192efdf5bdb9f30b79e7 GIT binary patch literal 32768 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 u^z{{?|T7%cV|L6Zb5BwJc(=E*a literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/FindLineTool.pdb b/ToolListRun/bin/Debug/FindLineTool.pdb new file mode 100644 index 0000000000000000000000000000000000000000..31c47664421b137106c6eb2cb58171bc6ad8b9ca GIT binary patch literal 34304 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 H&I11z;$M^R literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/HalconTool.pdb b/ToolListRun/bin/Debug/HalconTool.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d3c66efa17bd5083857ec8fd8b4b42d3642ab677 GIT binary patch literal 28160 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 a=?qowcq9Qil^xrm3Rhu)3JaW~7Wf~y;8$}1 literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/HalconWindow.exe b/ToolListRun/bin/Debug/HalconWindow.exe new file mode 100644 index 0000000000000000000000000000000000000000..da142c41e8e82d015e9102c6032c5a659c5171ac GIT binary patch literal 66048 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�xU1f6{;jUFl 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 I|92VqH&`1fGXMYp literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/ToolListRun.pdb b/ToolListRun/bin/Debug/ToolListRun.pdb new file mode 100644 index 0000000000000000000000000000000000000000..48de1fb4592529e72c81836430281ccd5e03f2fc GIT binary patch literal 11776 zcmeI1du$X%9LHym@@Q#GkH-Nm;EA9>;jWd+qbNnLEi|+kxB^j5=yBcBgS%V2z4Azm zSpj)OB1KJn#2So(iu_?BiAGC;2{!SS7(htWzxcyMBUF?`{6p&ZJG+-|Nz(*O5w81d zfA^W0{mstIZyr0dTNjNaHC<~;c?14Haj~~9SnZwbD=Ep#DXa_%h)e#9u?RlRIK*SZ z`ON?ioa%C9AbVh*Fa~n-2YlOye^si?<2qJgDUdI^y0XBou0i;9B$GYRTmO%6`ahGq zyhqz!_LVBTI_sZQkb16s<)K5l?=IPW;L@2%Ijg=+8}b^}EkpU=2k zE6n)twmna{o6fpV&Jg0-u$q&SKEyI1EZ;e4N>|+WpQ4K;ih)x9IeTG8aqxTPW;gY;$17slha`plIt|Ku z2d}8hLkQC@-RCO8j@%g@;9PuA%y6?dA6gw~e+Ho6hVYsk7hDD~?-}=qL2l-)MV_=h zZF0mE_p0CyJ*CFQr0%dUfW<(Kq_C*yz9nixO-3VPr0sfTGQ2IC*w`bjHkx>fW!dfO z)$J*!O}6D_ns24Lu_YExR&C#sRCO+1x+t{UG$++?BTDeqhxN@pudRtD8ntb@uUbpS zv7(vfS<4)o%<^O%0$Mz-CF;~vv(^YhnYJ_>i)e{TEwx-_#qwEZ_v#5h^@z(dYNH$A z8?W>^d?v{<;ybKD5vG6nUT!J;+X@|xF#YR6KGL3VlT07veiez8u>BbP!LnyL>?gau zuC*j1YIRbJ(~n;F;9jq@<;%lyOjh25gTQ_duI@GLWQYqxB(3X2R@Rplzjl1|`1zXl zsoAd2J~+`pn>ta6aVA6->c{%C1Oi&r8tall0uAPgOo#&NZ>y_QpT)Q>b zb8ou#TyX6hT>6GqX@+J zEMo#V4&)$XI{R-t;w@ky_$&xp<1h$Y;|O>Ucog)4=RoG8ukS_tM{qKji-PY1CxBDH z1>jV08F)Xafy}3a4BWc9hYd_3zhvd;9h7H+A#eo3eI{?-mbu#8kQe zF!u=E8$6GgZc8tjQ$oSR#F5PM0N4HAL{a!;FrN**U3bzl!vlSN|7$=K{Wyeeu1Pd$ z!k@rlKo@>J8SyvcETtwl#I(p}GodLOQ+59>z6-L>7C2{^!i8rjbTX8CqZ}x0D1%K1 z=li4Oi2n%A@om|q^1aV+AzsK82iNgT)&TWFc`jQ7O$*OZ+#_PAe@X&B=GQ^{_rdfP zGDn=izLN4Cc;kMLPaNybqR%@0@(shBva-4J%H~&#S)cl@C{_vSb6$6eJVUxfp1dio z%$m?{m{n#vjpSJ|U4vVB)tP=*Y85BjB!75wQ?g|x%y9ShJ2;e&x_P1PP@bRHqH!eU z0MvknpwpnOn0zzgSB?psFXcPiQ6T5$Xej3_=PJgLoVVE^_l+D+EN29i&zq4@xw!xx P`F}lt_alxBU=REY5KJ}n literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/VisionEdit.exe b/ToolListRun/bin/Debug/VisionEdit.exe new file mode 100644 index 0000000000000000000000000000000000000000..4cb4bd70f7d6b6f73c7484dfd625d304fce734fd GIT binary patch literal 577536 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

L%Kh4A)>v{g0LE$aY<1=`+3+9^0cAZ;jE-SRqa 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⪼g!x?ST6 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 Z>kqbza{Y1wz#z)?vxmelN7|p0{sZ3ZSquOG literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/VisionEdit.pdb b/ToolListRun/bin/Debug/VisionEdit.pdb new file mode 100644 index 0000000000000000000000000000000000000000..f410c75329c1169a6c2345b72808f4338b67f648 GIT binary patch literal 85504 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 literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/VisionJobFactory.dll b/ToolListRun/bin/Debug/VisionJobFactory.dll new file mode 100644 index 0000000000000000000000000000000000000000..03ba36f397f1f6a531f8bee7d3238a1f8a72f222 GIT binary patch literal 9728 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 literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/VisionJobFactory.pdb b/ToolListRun/bin/Debug/VisionJobFactory.pdb new file mode 100644 index 0000000000000000000000000000000000000000..03985ba5f93fbb4bda3db804a1500cdd07b418a4 GIT binary patch literal 19968 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 AH~;_u literal 0 HcmV?d00001 diff --git a/ToolListRun/bin/Debug/WeifenLuo.WinFormsUI.Docking.dll b/ToolListRun/bin/Debug/WeifenLuo.WinFormsUI.Docking.dll new file mode 100644 index 0000000000000000000000000000000000000000..d8ef4d1668e420ec85a6f90afcaedb5eaee7d7bc GIT binary patch literal 443904 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šOv!nQit$)Sguy>2!(TuP60 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

oD`*LqB^Z>FZeqq~Ai=efcGanFYD6*l{ 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

@!c&~9iy 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

Vcci`|MQ zdjYuhgk&yt{HBA{dG3~1z1N!lW$Ai8A9veM#oWkjjr5=8es>^@>>a^Y;C>*aQNF29 zgPEG6q)jx|l5$V=H+}fz$sDk*E5pzR#BHI9(qkzNeGi zlzIqJ|LlGP^?>@>-K>N9HLoc=w`C?KovqmwD0aWe5L3rnfT~9tLn)J5VlM<4_nJK; z##u>?9rpq4+83uJpWn2LMIedtJV5yks{#VicEUiy3o3>!Hn1^9ON>cZyZ&AJaJ2;uY2OvcupKE? z;lZffdvhl7ywk^1>q-85P_{X#S39XR%U!qg>nH1+Y_$X4jKlwfq3oP*Y}TiZ&L`Wi zr3`az^dVj_cowpkc-gGo`R`fQr`?oHrLP~?*z%BnT%&eUai^a!;~L738P}*S+?(05 z-Dl7l0{fjEwZk@F^3T)MHY!Pln%4+5x7ydNT4c^I+w{$Uwm@y6cnCEX5LzDnm{A{- zZr5x&#cszVdv2!rlXw(@2ZNnJ8<%Pm7vBygZPP7((Id1mE1)&d7O2%j%zdB{P$~33 zVN^HL^^Mt3UcPat%I$Z$7lt@$c&+r3Q5nvyT}(&I_pLn2X1%ZA1w?r6VB;O`dWE;nO}ESUeCjVw6!9#?&s3{&YU#&nWZtl zid^_y<3PES1X=E^8PPi0yC*{bmzI~-PIk|vdiZQ|S^1>NBJ*b8 zD{=CRIMp&v4bZ1!3_pKA2j4|CCTx3ti@@FQ4f114tDe;2uJLb+ydY2dWl+RBPSQ!2Tsp?>=*`Rb}KC!3u7iv#&rwcFCrdhT`bZIx+Ab98tg9bWxb9Y$VKR(-(~ zeMfsob@64v3{21^%!}Wl%V(i3HZQ`Y*kSp;ENpRuLanoVvljX1+!xe=q17c-lglU8 zj4CnpwE=O@st3OQ)i$vb!}|9DvM&f_r#s#H?J2wRpI7ciC%4c?82k{q)uCJ+5E!D_ ze1q~juUy@?CUdm~^Pe;K1viFr2Ubogb#lMc7=cDu>F46xs1?6Wc|SdoVvcXxJ73mx zZ<|b*-s_Ox;r<}6?RY$W5sn64JDT5Ke(~;BemK|r2>IQ-e7Bd+d>~7HedYy92maWj zv+FnOoXjxJf51aOFH?QGuIk8=xZ`>5<@>wiT+*8a_!#+vy?n(vkNh2p^V_a6hjCty z%u~Ef#d%11HJ1%##d>Guv+iD#3FG`n&BvX`4SpCEHWDASMB zDAYBXrkt|!-R}(Z^-N_r(K2Dq^C5=uye)5IS)7vz=h~m*;SR5d8AGN=y=FK*w4`dR zE`8e3^!MXf-SL*I!v=Kt@%D8XSjk{xDgk#?51$srS}4PWY4IoYcyRlAj3~RHc87KF zX|W-X4xgce_5d}0jq>NmXgm7cd1*1lEmFI#N0Ot@(c|g-dYBQ=FgFI?S^2Rkj}E-+ zRq*_FbU4$E(RY>(wXX3G%fuJx@XB^{*xB`COCBBmj1F&XUx%GuKUl0WCQOUJpvODg z*JG#Fk0u%p~Kqk>#)=7$F+I%_$zvRoL>)(&L|dEjU6qUeqPX)O_1EQ_!1pH z+lCITrj%8cRhRI6I$uP0xZOI{^&^Y(=<+vo`RjMmC0$f^SRX%6=&FGwCY-l@g+7~e z^%+}UwX^4|i}J|+JF?q7kkf`E+fLUT)NbdUua>eQCUc+#^Zy^nJ|_)=W2SK-f2AOcJYEi@PL}-?()S-w$taaR}@9KM_(K z#=(z`vPL8gO2@3ZkJn)ei{vt)4x7;3;v=i?Hme>hj?9qob}^XgwR;gpi;zWd(ccEIOj-?ldK!hHM}I^3C0 z2fJ>u)7nNqrdyszhb`!!Gh68~oiER69d=%u==B(^&1+1U7XL<%hqtdsS?#4|Wfg?m z(Q@tcWK|wL{(~NmZ�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.#P4sXc$(mwdcW zTmT#YX^I0n-qZJNt89Ok(p1km-bP#uY{)6b4u3v794gyiq&O}v*=p?hx0EK8ty=+z znW`X7=hOe*0CP%zI|p|9A1RJ@S$Zp}&Cs}AIcz*yTo&|#(7I-v(A?Kjt|BAJ^R+x=xl$I$Uj=llPa;_%XJs@+Vk`|lJE^p?PD$suaP z|1$%a|2rH^wb@^lVd|Y$WCXJQr0<^cQgQ7>RW&zAihBlQE5GhQgY)~?wKit-fJ6EG zO$Qva=JU55Xqb>s%}c*aan$30*WLtq>G!k4q5kuS1{_XC?KwbU{$C1nYCr$ua4=Pe ze@bBvuERgi4u{J7FAX>*)!|=Ln3L*I9{$sDPME# zILoM-aj1^x8*ud0@j0kr7E+kd@gB=b;|?@9{<`NR)z4yzV<Os3-1)c8e-_q?X26??nZ9o(L0b!H+6^KYcHZ7E|-Xk z+Ko*iZF!KLhD+f`*muY)wfasc!-MJ1H2*W=k1n_q9f|r(tUfFGrhM zLvXyRk8Ya=&iv>s=zV(%2Wzz84|bL6z1h;dQtdjRS+_d4j6a2LVHlb2NMUrBsac!b znZkiAa`3Q1mp{K_;I0e_*Vy}|CWEW%UTW`VufnCvFpKt37LE-(h~UM&3g^KlFJow^ zt%=pwRe-ujOy?UTux6ZYl9c(RvCqp^v}n&4X$tlktsux!7iW2Ipxz~Xxe5l>DM7cj zal01B*&jk>J;CS4J&Tecg0!ZFgbNs zI}XIYRKC`iY?rP7)A!PWqDO z*Vj%>guNqQ2j5rOgM7Cca&D-dtzT-_K5{ivI~>9>Lv_1*5AwJd=vMFWyz0#P9$KSf zv9%-geoqv|aJ+9R#1S7aR$d*NtzZ~1*cwz;N6L+jkNa!A{0k{`PQn@MX}<^2R<+BPiL5V$Ls+-s-m^g-mg`Cui4&B zEq(3knYtXnZonC3~Qb#udsuHNT3ts-r?1r01IqRCL96r6&16hA|L_+Dk35(2ns5Tps1J- z1r-G|D!wLERLnUC5aVmkIV0wrS|1fulxliTL)!pY{ho09< zxPzkaXX)GX`srk>P$-%e3PrO*p=eep6wL~SqMbsa>CJQWf1qlkUEdFW6}j>Di=p3c z&gk54SZx(#TnQh#!(zyYClBN4Sh!)m2(owal!AV)fDi1ykos95`7?Rc9fvzcdD41> zTH?9NN2)Q`tNUOFwBw;R4YXE7da5x~N+~vDhkNDJ0a32b-`hCVdlhVa;CN*iopt6J z&(!k9q;ZQovm`z3K{?MQy5;^)^^tcP6VAb-;3)sRbB=?4X%PQ>By4*~J0AQK`a?x* zc0IO{9Q4nwN%8vQ81QgtoriXsL?@Cd&bA%{I)~NiKzAuU+qxHGKF-rx0bzKyF zf{X(DkP@J!z>e|9BfImG%U+}{LNgtC2GCvWbl{I^?B(=ygHE(XMj=UgQLW?dR;LL) z=QOyx!suS(s=RdfIxb|%aXs(4Zpwc0QSEqjegkfd1!0X<{>_1Jd2y8O*{mHnD~*J)_` z2AwM3P`W&>j#1}N#lF}_&9&}R$L!44ed`#5@+EO_zZ_HZQ;dV-^Y4`Cm*YUi;0ZZS zEA9K|-|0?U<-!wloGvj~&V|Z%P8trkF}5EtE==W*53FNq8#Knr$#sm9P3n0}@pVca zvol{0s$&ez*MsYro%wo59b;&|POW2h=4)#mV`#okt7CTN>!EdwLHUw-?&)>Rp=#P0 z?Ra%wn`)YR-^;^t8o(^A$Ml(o(q(Aw8>H8Ic#e%c2z`K7Znq}>)jImjoJI+=RxiYM zkH~RSUaLGxO;)-3k#)Qhe@*#I-g)wE?cF^-((wAzI#d19+41i%pVa!sw@iFLA^%RQpLYIbuAus5#s4{x zMkD`EjDOe0zpS~Qlz*qhZ#j3U9CYrOaLyYANA)>R&T(KDZPUE}>h~_j+~g?{WAMF1 zXwg;>?YAZ^$j%gvmP&gq-ZRwRw92zjjeNrHkQH1MWR9~v$=zygdVU=fc{axk@hEtz z4nD0Nug)vtyc8!YS3SL*#^AY1>EwcT{C1rvybH&S_l$Ai^?PT+|DPH0I{UvhV%6Q< z0V6z#GV^U^(`Q8xJv_c@V=R7R^#JtL=#jFGE~H_7YI%`r<@ zt$F=85ZnK|Lb>O09f z?|LQ3Z|5+koSS@6#O&;&4QE>9oxz*rNbHjIk=k`$OI545`I#OLjStnP61U9kib`1{ zJN0{VCiZ`$+|WOK82n)m3HudY&*K<7>Nn}e0Ti7DL4x9=AehnfQ4su|H~3Mk`6vhu zl5LDzsGCSw9M_RJRcp@|x65dGjr}?uTme%7*{>sHJ@=9v8?l1isj+pkj=tURorCil zFO7H$?T4G^=!}hj@cUA77XN7(ov(49hV=q3t(J30Zzks4ZLVeh$MSH@n_K{=e)v=o z4*l?{BAoeQSHkHkcBPeJ@x`vROZd#MT-((w$|OKIJ`RCBUbZdlF{tjxt#fx831_ZY z%Q$nzT88#n%g{b+8QSO9heP|O>tMaEf?i*~(0c8v!_jr;w1tyvtSy{eV{Ji;tSxAf z9|sF98Vzx7>Gw{BjxJef9npo2xe)hb%>|?Dl=yPNzo0pwp!=Ia_pjI%x?en>wfY?? z-i;R7ePPx)sa9Y+U2}RA6m#2DP#hU#!i>DWO_}C=p(YSr_ zjtI#z%9+X6j#tJ}SKx-7H2*W&dHB=Z==VhQXCX6xUlz;16S$be^y zQVMhqmoD19g$`F!+BHuJJcWl_kN~^Z?Rou zhW6(CJ65IPyOr~3g7cO!;klb3%M?xybl8Kj{W*v4@({jm=vQja zO+WOJs29XBc-3|zVC3guF(0ea4_!GXoR5xzqxzwb5GZcg^)0asc;XEhT05VI3_^+=unl!n+R}s6TKY zHj*p251V9jWeGM{$R)!9k)ENlqyMwb%V>n|zCg>zox`UUw0Yrv2S-hdH=HB=|6btn z3`WB8k{ESUmYw{Mo&ArMe(4$Ckr3AuYpI_2)dk-L$Ic5+$g%Un6Y||kyD)5<+ru`W zD%d8;L)kMdhTNMiJ&zCrPWAaZpS6jd7uIHR=Y?}azjp)Z^Z&Mg zeR}s@a6OX3u!W@+=~F6J;pVL7r*qxOGkmcG581-Y;CpyqO+x1J!16*}ga4TvU!J9! zJOj0+BSXcl<<(iA&n^W1RBuoC*5|t8%kyRyI94~WK#E1OtZ8l`(j~V5I~6;4uKR~V zZ=c_u^|pCODNQ?}G;IrA5*IEF`qIOiU0Kwu?}fxCzpy>)c3bGN*(YxWpZwzXtheZs z+d_lE6Iqcvmt2rz`#9+FOaC2u+$^!Zd1thp+fcWpSQqS}!6Z%ZQqr`Kb@ACR|99wm z8|t;eXVqHkD^ZWWT4L42`c`YLug1S?UTdkD|JU;GSbb#kqw*T}>tn+C#wa*yjr+|U zr`sBLs`moS8ow1WWF6XhtphD$Rno1`VTZsoHE2jt95?d%;VIzp+mT1uJf)m2Q*mb0 za|HYHqVbPw`1NztedC-ZtzvNY)0_#-u5>X^hk>W>wDV+X4>0rlZjKGRVwSJ5^{NF? z!@T|;ynZj@4Q}K0m_cm73_|v)+l5~f z&2CT4s3Y_|(1F=`N8=t4g_-!NMtSXJ-$Y!c9_;IwEmlYW< z=?kuke}@?Ne;;yxsOanuo8S*WQQt{sDcL)u;N)%2kHS-XMByg$pkY0%3Bv&8^jtE+ zJd>1#B1PBJDRz7rWB11e1vUU4D9Q%F4l)}6*^>=`Fyd!hB8>RimIx!&`}BMFMb5ig z=_+~VaheB=-ql@Xb+10|?227fzxLBQEsNc0%6joBO1E)?ZU(Z*I3~g(BgR!MtDO4lD5p0}C8z!-{vGt8{S@C~9sUqH z{H^*+zN@R?H39Pq!E!=2mJ_no>VlGCvUfae_Io8m%R9To@3kZ3rU0jkp33ik z$mzisG%PuF^Pck`$At5zQE*g#|8tIm{GsK_^ZQi1pZ%AJf&8AnLo?6oa4b)yo@Uia zOm7)%IZ@9w)sy$e{WbE?x|Xn{>z+_~SKWHlwZBE0kQ;Sv?bQ6P?u{$tReo<8Id=i} z$03h($l%XJ*VUOJ5B!IHZL)&wQIUKfb=0aiFMt&Lg|lI54*1WUhK{jVo78vy)%80nSN%Kx zPKo!{T=kzZ;q<2D9WBspcYai^+9Ah*jkF%~T-EQr5WYB3$AF#d{Svsgo|t<=sTFe5 zA=El*ckBq!KigXIIk`Rasm{Gk)%k?B3brYnrR&FB-mhb(HmcLm6~#T}1HF~1@5;BP z>og1eD-89l-Dw$`@#lJ(GYu({nW>&H^ zey0(8S^T?ZY?TL>=ie#mqBRe$7!%Hpqu?lC-6_ZEng`#HJh*cmBlT73pYwGi)QN>Hm}z5liZQqtvk&IKg;Zs%dYuq zYJIgmB#pb7ySxu<)et;GVM9fN>kZo0#KJ85zwo+xd*@Zvku{Om#$3NP{$1x>zb^j{ zOrm{-tlzvoUq2?C4Wr6Yu&Gw(LlF%b79UFpP4dMm7L)C^#=qEVTl$xKPk zG9p;Kg*3fl2VGf@%YCvf?L2^@l{crX=W?|iC%O6>if%HCvUK!Hp_Hrpy$_(ST{B{0 zw$M7)5WUL2AIL*&Tc2~Wi;0snCRQt^GOKFllaq{Q-1`64n3G&9%7S=?55xcJYpzZ+ zYC4jRhqTDMbZP4n4{Ta4I{+(W2Vh6p0oW-yh6l8Sxk`N( zK+?U_r92n-+C%6PUeHM{wssck#DjXT{dI=mL3+ndOoY}DD+YglP2z3$I{mt+rFc_k zzOP%yOntOj0?V`XUi01Y>oVvbhwYR!dz3r4hm?24UQf|9Te$Sy!nGz(9c(_rWCTJik(Trg4H1|U#AGtgh zNW4*qVIFUY;`fLIULVPs#~bJTq#%w*<7yuVS;CyzYYpJ7byrJ$nC=ETr zX11C~#1oclsru_DQ@MMrst3Gd9v9NF&V&gV|8ck`7du ziy9kh{(g|+A&HGao+2uR{snGX2e=`FBeC zto1k2Cml8lj>;Ez$#KvVj5A-zyOWBz>7&EHg5t2~IGM~>gGj}syoj&s~Y!RI{(=d;F_tncIP z1A4J_vgjweOke8EF*$w2R>_`N=LoGJ6k|&7f3G?w@?;&mx%U_UJ2t0L!c_hO^*i|m z=iXz&Ic`ii_lY>@!)zQhpHURK?mHUJ^WdNN%W=}aa9!V@UtLeW<_@xMAn$h{Hd06G zK4c=$s8n~OdGFYFheHXG&xjJ9`!O9(jCvnF7d#$63XeH!(?hW4&*V+@q;8%t1W!3D zI7jP!w?#|fLDs7G@6JO`+AbGrq(M_+|HO8h8Lc)c!&*gh)=7058FpO^_gu}(;6o3{ zF@e=qCpLt7yV2I&<|lZq>m)>QXn$DKYtooW{s;{>brRicdT$$6PF* z5M7;>^DwNgBxW9+V_KUw+fi^HGa8QE!Fz0uQ`NI&v=DO5yo+8R*FbZix}cst^Y{X0 z`)q$5rExdpUr(pN+=mUgpS}^N(;zk4Pn1{u-j~IOeSl)AAar-qJl4F}?eT3}+^pt_ z6P}*XR8!6_$d7A`&_hAD;jBaCBBRmoosT^IgaVDWS$|nu`6!gSaDVb%P5oGQ+`h{A zQhmlb1->AALFSs5a$hB9w4d03*;p3P7As7=8nfQlFk$;L*flm|zxhl;54NaFRW}?tZ8Czn+%kX}^v8U+O&n z)8luGty6WxjKX#o_U^TQ5#;lznUAP{B#n`{#{Bfy`g~htInN0EAj>#r95a`>6NwG zj40dg**P}yr^d|fuV$Igsbf@a2LW;-x(G=1Wu<9NQCQnL@Z5GDYNT{*&BGs_m*eU0 z>+i^OL@vs|16@}2ph0ujf&9vL>U`hxb9yDUmiIVR4tPP11HNEIvVU-~`d%fE*5h98bCkrcYSR`D;*Xk{+_$EBAA>KvXe>O+y~9oD>FEhm;UyL$ z@L%lWS*YYjsE?O(Ak+VjMW)<63elVByX?y^&iN@RrR>Y<4E;;$IOr>ouW?ow`?^|~ zN)BDqzM(7Pxg0M0Jue-cui^R8Jg9u}GQ|VdMrLza#bIRrz<2hsRexRNlX|PEX4h zyh5Cc<&@s<)x%@#5BtBSjsdxIete>dx>x55UfYgW$}PrED`$&k-{i8K1~8FlG|wt; z70#uob-?R#T!Ry=z_nM_G_TLU176H`i|71RpZSJ5PFW@%&xGemvsC`0@)LEA<&Evw zX(;GK00$dO~EIZfRueOEgk^isnOGd<-?ir;s)Du>J6>B@bB~Tu3Y?nfCPL%#g`*+&z^<^ocqKcp4@rNiY1# zI({3Eg7K;0F=QR_e|3yhPMM|V3>H@M@VX>NeY#FBhpk|IW(*jg9RtSa#(?qp;W3Ux ze*8imBeh|!V{N*MzQ0(<&+#f4Um63(m&btdl`&v^byy751Ai^YDCJMJ7DU-{v!eUK z_Fu2#q-zvytM-|dkaP6pPV_hG^lJD(GH3q2ISP(iD}Jkvlgf`7p5;^Svk$aZly%j& z>+~yhpbo3o?{vj!xwHP=t~hZ$4u*_msNw`1O zM4a$o*b~%ibbGbJ8iFUuML+F|6MX>IW?#QPWc!)INpu@!!Z*2}QTF}0`tHE8D4bu6 z3Fnsz2WwL!Q|NlL)o9YE{VL+5d)(gMrh6`*7x?w?7_!&@n}~t^?A962$b0?jp6+jl zpsy1|eYPYH#dCoD;fud(r&ohV=f!x^-~YZH59^pw`g@`GhsB{MYoI?ydV~7u{?PfK z>KHiBp?%&=-h$_wSn0BUW{9e{Df9p=KnGB-9 z=QGjg-@D^W9E>542>pL-8~PF_|BUnpjT6E6SHwttGPjAggQ|1?&M~_8BMRp~qu}&= zvVQ9IvuCb>AM`ia+9DshM%7(U!BhJ;bWS|*0ugj9cLI{jnB=HluW&?(#vd4 z54s(TUY6we-Swh;U@pf2pIX1U4=5Wg%`t}JWm%3hFfYqhmZMd^0OF<|U8 zJjOZb(RPj)Y5hWvhBLSM^S@sj#=B4_im1Y4tG=EOZILM&n14ex`;xyA#P+`rDzPX{uKSLRycvzvVPUtX-)ne z_&em&7)Gv;0$CQ>>snjKtLuq0grgmTsp4r}#7zBIJ7>N&P<*YA81OyFIT&B+T=s@K zCUlpr6YIqErUK3-SI$yQ_2hi-#vyo+9(`fY_nwFt+SHxLZt5X_k+VR$4y!Y2o7-u& z(W=F*oTb^)PGh0$FFagh+wpKB?0e1bJhbUNoS~`O_e{{dR-}oXAa}TM?~!~YT;alR zOy)OB>`=zk%`ER&zLMc}zHW{wcWAGj^H9CZhGx?ztWvCVGoRlC3-_xezh0+-rjag8 zTq>wM%e^h$`LKJ$9OYiwMx47ZyssYO!~Xa;)`{3>!dY>=-dyMRg3@gBQ9P<2FWlnd zTJ4%GKWq*!Dd(r+tq7BOet9q6PR}pz#oOtTd03bKhF@NHBwa!+3#uk{hmTc(o2Gp0 zR9@sopYif5Rt4Ts%&Nc*Wmbi~q3nFM-7&gz z1`>5ZAAmS6|6K%m_K5Nz2Uqi-+~r-Icg0Gb*fa9jJ-0#C-BhY{sr1zEeHD7zOYu-y zLu7q|^k`jEf#)^9g*q2K!+C8+80Rkfd8N!& zdP0$B*!|vHq5HjazR>r#_ULefv`BSQb*J~lu`tlL(W~@#H^}*K)2n80FntOOPKOVI z4oRPF@7PFr(ma?oBY7Sy#svpMQcz~w$@?H~nA2^dQ;`+W)-U$SvHz?5;zl|DscxFw zwxX*}&jpseM%`+gU;NkSwVUKJw&@u?td4=f^j*(u@=WG^bG~Z+TjN*rr(+arFcqF0 zstDWaGnr+7=%zVuU3h5Mk%Y4AL*%^9%@nv*N?m0J5V+n6>_CJ4;WF@Yo1B;KJ+tf=r0jYJ?x;}C0mT)m zW$yNd;RN zlL`rQ*XzhLt@exhfseJ?wOP8VH65F9IA#;iv|=_fX(-t8Tkyf#MP3)kmZ@apvX>Jb zizF5ugA!PUV@-0}?Z+!;D%9xC=)@T)r-{GaAb9?YNiKPSn zUz1Heui(I3Hl48ap1JH192CDJ@mIWS+qOrbdgD7qOvDL%!0=Oi27&99@&ymt_U9z`N6k94j)DFo#|pX+#lh^MA6CaJ={)dO*h5!(zl*{gVvTeZ zWIa6Mh;IQe=~unXx>d+_RMj~VwRd|&PD6U)hMm0jy*qVx`N#$uMLF_5TemUTAmkb^ zbF;g4r-4zU*I7=B`w2TM%lr8AVWYd{bO-MDa^smna<$LXN(p_s@OAg?i!ZU$QSE#o z?yQ}xZ#PXg;ppriqK|vD)6LFjwKFohosQnV_!2wavz@PY^|0sa1xhKZ`288`ow3J6 zx~P4q5y$^dmtFaXx^N!+=04-#vpM3dXB+;E56Ib` z`*!CEnri02(X`3N=|S~9_iLxwMl0*E0*zZh*T?5HN|=OGd}q0=F;2*FkP}OI^&VCA zOZTs1BF_T5%_~{k^(^o6yWELAF{cYU+NO+|T+wy=5Yii;l;c1rDgPSRb`dRSg&&a9 zDDzsjpZLK8N5N5j^vOBS;4(*BAsD&-9t)p6rA`B~*ZqO5hOnbl1g8jun2z|tgK|2+ z*Y?uSfzbRO27Vu0$0_lt{famQvw(JefnYym+}P?}Ri_S$Ej|{X10i}<=cKphxT%kz zf0ACNq<9@DNtauG=A1hJeOjG|Iw{J6*|~J}u84=$F%j=ox!?!`4Qkm_WIKoJDrzk6 z$rfttRPRLip}{!og>oA1bGyd5)*#dUQKY>tiM!y3u&dBG7p3!qGSr`Q&l! zG}chl?atrJ+0VN6lK#A#E+5~{L!BZ`3meYciyxldPDA9Z6AR)s)095)2|3O2%s;1k zBG)+`Xuy6}t~9dnCL5o}>{!ypm(YA-PP2Mm*wWO2HkdA-)K0Tbs@Yy5*SYO9#_l8M zwbL9~t|zzC7?)h4%ctZtGv6PRUrH`}YEHB2mkX84&Tr>oID4vf)YBr3bdHI7ZE5IP zn|`J$Jxw87N2xmc^hl>xyDc3Z-pw&5z2yZBGz#rN4b|+sT{u2W@vUbxV5WV{n0-rh z^~?qyhSk-x#)m00iD&1S)=z3y^nIM@{5d(!V#TxY@Z4?1L%;W4^k~m3@R01)X8TL) zXnpCLHaX8H_pr)2qPi##XHo~6#ABPx_6-*m2`j*%coz*iQI(;kM=DQ?Sd$!}Ebr%b<5nt9H{T;rS*HCNO+_A1CMd zmLyIC>kc{Wft(MyUesMKc~(bP$AjnBrbh+7E(Tx!I|N^nLk46pWDKWoOtv^qpx2Dg zsoo2~=Zm)mpFDu`FDG%QTlGuMLNvQMHqI%(WE39T^KqMhZwR%1WB9o#{M@|6Gy!8u z=o}n44a>oS)36*IILFMvfpg3o=rhhSZ=}z-alMH?ND zZ}N(WiFJjQ-LE59_I&@W-;;MeyfVk>GOH|XnYjKz`pQ>DT&zcIo6y`>UW6QTX^tZ{ z4}HjLtWDRTk6KGP!ZlR#&T&iIj8n=z6Ys9jUAyU}<_R}&87Hgo`0DMKN9m1UGYpUI zS|cmA>ghb#^0mY8Ahv90CbYd>coN%PHWE(@>R(4eZ?EgXqsdKSx2S_{WWDNe1RXE-<9qt$76|;v}+Dq=6r9-u_c!#YdcFzFX>orO1S#HcwQ8h8`U|!w=Nb< zHD`ZYPE-74tZP?A^X=P!<~z0l&37&yP04@nYNv@9@v&+AwbG#_`;hNm1RC#I1RC#M z1RC#KI2uwr-k;O3HdgsBNqVOD{y>f+xxm!S_I_Uc@q-PR=t&FMQk5I_K&9q=sDVZS zyQU4Z*Z$!gQ}Tb2Z{fJL$CG!+UY^r{-B3?M{fu$Rqz!%&STBuHp zDZG9p#{||$yk42(4$G^=!$)&W@G5dQ_?7ekAIoth9>!c7#g{*x(;QYGr=U;zM2@)% zK8*Ds6l9HQ7Jn*kDqiU8#8sgC$($}^Svxhq>xSO+^t!(Pxt{oNzgUHJ>1wP?*U)?| z9MhP^N_7eL0OtIM4K%)Se`9;G;&Qe57CR4r@;RB0h^hHCz202k{g?RVf6$oJt#3a8 znLjm@%t6A{#G4ai4b5bO%t6AkeMmL#MtpTCl0ShZmu zTasy_w+^xR)rb@FkD{mUsDCZ~9dxL9#jR=czMrq>-{~f&dUp9Y>KHhOs`=3FTjc4R z5f5`>#Ei%B2xbZ!bT2*4w+a}^JYzg(ruw}%!cN~V(5&oL%if{HIy?jU$2KThXQhyL z6PVIo9dG|&4>Vg7Dc-;H-^RN-=k(nI?}@FURqsDtYiz&wMcDRx1sa`go8@t^10!QA zT)VeslDaV0{{+)dyMH;GV^5a%XJKcyIrh4F;E3(Ng8k*0xZfW|zMAh2CRQgOW_ci6 zL7od?uOD=mr^bEF7-rh3&yTR)5rY|TYA*Q0oHz7VSTC$f*DIcx;0M%!pySnabekLU zq4c3Y%4v?P4;30eUN{<3Q?JTtAeg+0NH+~@Ug?>ClH-Uz2JD$-FYD?C%ybz z%vOx{=x>zsQpCYeN8)Kc)}$NI#}CM*UAQ&d=1lPXvtfAd%2+cG(m(t>@_^o>`mP>J zx>~AJqc+5-*y7(icvheor^3_kwjZ9v zR=*#Hr@_=yvz74hhi%7$^ap>8JYel;r6egD`UAoF)0lAnJSLpKj0xwjqv1&Z^tT)b zJ#41$hKU`|OO8P;`FlGi7EIFX0h^Cl zZ^8W60$~1oT$pOE^`D5@Jl9h18SG8RXX2ZFo+gqLW++N~ii*|_>U%Bk?wg0-PIUi{ zJgaar{|@GEgUrkXZ)zNPQ$5M${fGyDll4(`En_3UzJ%$RgQs&IEQO9ZGo#_02RqN^ zIPE%FnDw35X~{4=SuGB0r<0(UxdC`+CEaXOk$dR?G-a*bN<1uunt6~OVOh?DrO=Ec z`dgmkRQ<{lD44Dz%@vDBQ}nfCPSc9h%)6Y?*r|?_^#|znDm(dRzh>t;uJjwg({s15 zju-w`)^SGSZY1m#~F#g-Rigl@wcjuGZKHR>$qL`I|})3O^%bstMzLgrp-Qn z3TUh?&{)8;EYcIME6~MWis_@gOf_jZu1l-lBUZSqJIQwphL9x+>cA9lkHK}+V zp`MesG15R^n)Yz%-h%fty>}e+xGG-dr(69bt3FK4&&gB0*``Q$v3s+NVbje89#a2o zI2Qul+juVRY=)ssoLRy8m5iR80ohXE6aJj~-kAFY(bY8yJZwk0l9;(>fzL!&u$%Ye z?s-k}%e5M4447Yp?`t<;LeB+k?`=)7u5#FQavE5FXXl};l8jRmHB2mY2Vv$EBG>L6 zXd1ahq81wJy^Pn*X|&En(xiqU?zr8{PcWfI+b1|qcGxr3@1|KxzsG*I)|BhD)Y+K% z$bYEeYHvlY>#rC84!K(A;&={as`qr{xIN-`kY{1@xKA5y6~g9aUBt;Urc|_53?r?L z=NGl4W;d7fzxc(TkuS(nt2uSf&3kE_R#^}zLW8c<`fW#g#9RjSurY7nBtSw zUT|UNcVdrQH1ITRoZNB&FmJU0n77U`hxJ8?liTE&nO|cCq5V44Kf$@}m~i$R6VC0% zgme2b;oM;~9I4&==Q!{I>8ni~bnS7~IqW;;GzRgBlaN0S$Z;}WsjD+RfKSfDuK^Cs zX{I^L%F=yJCUPB=(^x3Egyx;L0nLLKkEZ02JLfd5y_(mbQYQ|{abTkiuWQ{tbbOd1 z?_oJ+#$QAJy%e!_mmDYcdpW-^a~rAEi+XPHYVdq`foB|`Y`F5a4ww3%sC39JTFu zI0?47#{fLEir*}^&^&q@(7fm3(Ucl}Oao2R!?w>nq(8n_1Llac?T^7Hj%}wgP_5l& zIee-oGTr9i@9)iVa~Q{ch)Hs6l2PZz|EUvt*tz7a?E8w^gk z<5{^gA^qn4B96?d4GvAZ?Hkm}dgkbZ^6y}e$NHbqPvJdTY7gwe zIc8Z;D&8NGf2Tyh{4O>%gE>{<;NGm!dsDnCf7u#w2J<<^%V`lq;-xb$3g@8_M|d$f z&ACT%*y#~xB!13_I3w}%u!u7fKM#*MgY%(i&*QfKYUdWZ6 zH}H4hKQiKr&XW3(-}#q&N^+k|?(S{EI(YLEEQB}DVNkGnDLuW%Esi%YqX#z^mdSZl z8hEix#M~rdng6jIlLXW@Uy;(e`J)PYFfq{-=PI_&8VyH!@<%J2kgtc$qx-_vkEvto zd}=DU)029p=VNmWLupc*WY-N|n*Rd=7DnC)R={gtK}*lqUlq4Xe7o_UjIJ$_fmYhyGmkjbeZ^<#wsq>Z7 zO?^z|*yoOhBe~;wb(~aBIe%rnSgw7o6}w#2o!(;DMV^EA{K5I^st@faCEbWEUeKL~ zuC#M{YR>S&0zKp@lPlV0*2*t0E?^q0=GuQL;`c=boFq?UHrHisRnO_>c!u3x!o36D zv#aiXsk;Ba1)hWKDPICtYCxvPaNs9V)@CssB++Z&|67GHl&frm=2NA691UHMiNy!O5rb!{fE>FQqMYjeKD z?m;+3xTmEV3==B0mBjoT z+j&HOOJ|wZyOMRon{wRLzu*Hko2Yn;q$|0+%_i~=!Z#QAO8Qjr>E+hLHXUtRv3$-> z%`D!sP&Cx+<*fx8Nlq>0i}u-zqVcwcqM`EN+jANcBZKC@N)L*`EZgW<q z$p4-?&N$_N5bXNioZis>q|&RFQ2W!fK=*xv(}mrU|Ga(j$)&FAuJriV1kjQXZ_+Js zm-xl|bN=9m@QWsUieG$SG#u$aK3KcmK!#AO?h^u-))%#j%-uJ}TSGLnD(1|ra0cTlct@zP)Y{+8c ztkTyinRL&Wu;6m8@bIzWc~E+d@>Y7B5)We2k9X$*x{fi>-KK9vzWYR^m!1W~Gx64j zwcR?bTaj>5C$ompholP2KJLM!)8*8NPM5o3JYhe7B0jML1(qK zEt1!hyF;BD=rh7;BYj3VZKBTzr_D>~ABZQTi_4K;K3msCH9t1wmrcZzKSZ`f4x7!% zVY8)j*ld{`Hd~IvW{aTuLYgk-DiXpau+qIZV%+_|aCVKeJhBmIHDn_;=T6~h4`;QV z!)Km(tPG#ooV$e2Y|dT7XEx_<;WL|aRru`8xjOtq%;{?UOW@m|i}u8sqjX)dI-O{b zr2xsYWCXT>%=^CHz)NM`r)KVrhG079L*{QZ&`IXAa;B`w>5MJx+K0qPeJF|V{NpI_ z_02k8cs`nS0OwQj6T1Rwaxc(9%{W!H{Nt>Gvs=vQ1?%QFMq#*-!#`*r?%0=j?wrY zihfV_@_x`jGx59BUTB@7-B3D|KbmEVN^IO6HAFf4tnB6eu${-8hf>7(dVU)8{iAkV zs2Q^7bSknI$g@mB`^SqWM7Fv5Cy{QguZ6xny}TPO z_h@Qw?`lOOxod;1D>RK>oF6w6 zK@OMNdz96CaDNtgtIaQ~atCR-|B|~)Kd<9Kq#TblXix3gXZ8JJe3){7@s~Mfi9dCR zN!eE2E&A1%aDF`sj=FdFn;Zvs#|nB^GO7DVzl|9FJNo{Sx)1fc_;>IfO#|Oz|B(Lc z_xX3g-)QlsZ1RVk#!$BXTk-2`&dIc(S`9tDiI>(1@G+sG2`|&yD zGdWI;PvArMwzt+cF#N0Mn9z(HqcUD!*mVTiM)5Vfo$|G0JLPL`d*VyQ*wV;XV~j0} zf7cviD&H*6zXKn&G0>84R^&K{0pP*sH7;s$bG}ji(2hAB;A`A+%qpCn#)Px;C^)LV zugr0vKP^{dKeS67qogC~K3}h>erVS^CUS7jU)m3;neA?MJn-1$Ck=By%6*FORdqVu z`Br$V$APE(Z%vK|`L#aFeynoC+KA)7SE;}2;@>sr2DQFfpMM8F2_2Sr_I?$7AbqZa zntc=VdP!(q;_v2?@jg12|Wwddw6^( zAZbyl2UoM;>(%*#FQt4HY@pXGaX_o*@3J;m`+9rSX+t+yUsTUK=FI5EopxvW$bjAB zqYge*iPMSfYwlU+E7eI(-mKlCE|mOorh2cO4)8TDb8nx#)6r(pHL~A(3S#93IeyB28XI;W$j6A*7aeoLLb`GSm>&L(^_iQj3Pi~xlr=)<^x^$B<;p{sKj;bj)&2iuhxnZph_Ju#)Yz!DT9~MLH zYu=)cQL0T8G`Hjt8DQ=ImmPk$WPy&FM7ZS8^xJ;A|~>hOL&@BAekBL?Q@)zzm7UC%wUyo+@VefKA-C$_l+yy-}~oykRSZk>R^|< z5L$0s9(`@0W(`57FX`|ZVEmq5j)8q(dN~G)5}yFZxl@>d>^aqY738^NE)VPg{UBZ& zYG`&Zq^47|rEQBTG41<7X1TGZ9uRrES>GI4=cApjmXk;&lvs~a zckY_g0lwCs&Yxh|)SbKKIPhuU)%DcIuiAgVdpjM?H+ncp`GI*ew>_$k37hAbX)RN= z@gC#AQ!*c2$AfNj{wOP=%#~!mXC1S<%>CYr5I4u!&02JLT^^=xck)pC}v z?4*MZuFJBvy;sgB{1kE{z8mT?MAIyLSMzSsP>#9pMjL@h;h+rsq1&t`#m0@zGJR;l9y-i z_vrUt4;wyEeJ?pf1DS`(VbDz+$LZ^&l&H`R)SkJduaim+S3S_l?R;xJgP%D2)cHr@ zo-!P6l(T~SpmE}=S>S^su9p`c<ZQV*js!z zeCgCk18XDXl=ghk{yc!(o|?zvFtxD$Bi~zMmx7!FL{D4WWk6ii_@RhPCd}Rz?}469 zi!^Gskb6xH?>XE+Yg+Rv49i$o#!7kALl=uWetXOdaQ2zSsoub|7^ z&fX9%RWddZu}P8+hnkhq6hOg8$SvGXg?ZVky>w1I`iTpz@^IgrSA4i{&U=KoZ_aZk z+&AYtI=FAnH<)qXd;@*Pee>WJY@atEmL3-EBe9e`i?066e3RDX^+!g`ao-2J6uNv=JB?h24evyb6vi6hv_2l zd{*RH;-_}UwxJeTR=bv-=Dy-2@c8Hfcx+{)iKaTM@R&#wwXIfbB<~{}ED!lX4ztAJ zYAEwCP9y0O-o=LOg*~=AUtq__N{tPjF?8MS_kIQaKdw7X(M7%|-c$p@Dl}JW8;0`# zP_bCZxzP1dT3j0UK;$t_TK1{laghD-x$Iq-C4zVhr`mEU_l08HvvXQCp92rW*>@Fw$kspk!DSH$XxSBiU-?^xV7VCPi9HywbNLL zS<A|FaGPSGNrf}=^yL#T_Q*!>GbNE>)X_~cG9Db1A*vp8T|l+J4z$uUps&TGnIGi#0~sI`(~6dzCDwtUDw=LK~>Ab&15%L-9N&8~-% zduSKtxFtMQ!v%=#CHsfZ=!z5P9RT9BiSYBxt~k+kkbl&RMzoDIYxKiQM^1q$LY$8tleIqFgnjX^7SU_hu6ViZFYHmIoUfNb>xML z$7Fw@Iup)~p&Pc)Guk@&Y0$fP2zm``71$O!D%IElHAej`&LXK^*EY`+uXA>MP%nW0ZAM>MIq_8%M!W=Pcfo<3J|FU@n`l7?9A!!<*aj z5O2fB!({Iq#P?ewJ=D(H9zer<-iw$AeTYR{4ujmX@x$^Hjeui7+*>`lOIlNy@^<=j2&hGRe zBeaY@60?#PJ1g1Mt{!z!*ngxK*<=Un*ym)v^{(!`if$VE;%0t}Awdkfonh6xsI%1X zZs#x6VT}hqKZ&^!oi89}^gC5~KBWBgJ?(T6i=bbl8)8z~N@n^!&j(X7{=^)q4W$_MwO; zb%eajoWV&0+cF;lL#;V@SmmFex|W>QekN69wC<{h+^RSPM3FpdDa8z&j(HsYLU)#;A z6V~%=Tj32!6PM9Lh{DYBCoc z5*3O35)&Dpv8`X8jQIa#foFt2_TIwTTdN;EJyEfrRSHY@Akh6(q>Fff-&i_&kFk^+ z)t=t})iIG9>)4^UFYf87oc`%LjXHLTZ`C`0rj7}|2d{OiW_-3CKabUPt)te^pNn|@ zdpfSw-01W1?_gt12jAk}Mf~Cm`FDo%3&qD5bIckaGVA%0`VMlEIfEWDTK1L>KPQoT z{pE;*oFIGKAt<|c!Vm4W#i5k@0j|vkh#1|D*|-B`tmOQ8at2r_UD9#c?takqgvay zUWq*PwOn@iTN-;^))0+nVYSog!r~j%rgUyc&?J*yb#VNA74m#N$^(BJVlE&xsOcRz z@DVT8I0T~Nfn!X@TREmw{`p3f(bGmIN&1R!#=nDKr?#~+=vvcM57ga?Z`Enkv3WI@ zuHcyWe(zA&@!L5r@DP*Qov6ad*{m|Qst4c6u~WThY;9R++T`r-*73k|j#sXUvJUuO zj;S#;A9B|0`}ucLxll*ze0jS!uX|O`@q>1nZL~-eNPLo{SijP{{&1maD4+OII}NS> zR-gEB9j~sB7N58($J9I(ec~ticNW|yu5PDU*FjU>QGLKq>on@vCH*SQpN$Js`PI+s zn5eJXhGoA}&z$*19S?Gs@}tMqc~{-t3sGn0*}tsQ0pG|aHU3NUCz-qaO5tOjMIFEZ za~IP!sP!-RR+zqE4nu`COEFY$rg{%Wz4>*4pU_XHy&v@K#8)(O7FHrfmK#{QIlrs3iopNgYEyE>n*i8V$9e; zJu|WWPNAA7{3WMXvy-N$BP-8c{oa|7=da!I#Sb8GGr_P1;yf*jKGhScx#QpJJme(c z%^Z_TPk*mt44>oG+Tb4%KV6Gib>!8_3vFj-l1u(sz)fp^QVIqATBW0*-Fv2nv=P|Pw5T4h<}Ucu5R3-Tg- z4V>zjM8%2IR|!q0Be@T-EXOV3>5(pwm_K=@>hc^1{GryCaCJ|@G%yL)G=$d`IgJu# zjaR|haTFYtA9w1CBeOe*mmD>VNyaZzJw@TV$P#qytug9}E~3 zME~=-B}mHapn1r-D$0r4q5UcLx+=G=R^J(7E^-iPuTeOaxrpWkbxYt^qm-CS3Y)!K+m(uxqg*l4OHz=HubgpK{8xdC$EO%W40N&3@t{fYeIiJ06$R4@nCF`#-=MRRjbQ})*bP3Z+K z%|g*o=VCNvcTZfMY2OlQBL3j7+DFQLi}H_abj2z48w%%|W5T)CC^-F|+<&`v#DO1- zQk$S#m=8Tu?w`huiX%hQ0jM(Ms*s-3O5RmH`*osRuzQyr5mS=QJ@WjE-Rro+^iy)C z0gBU3sl&NlT~e`QwX!l?hPrUwD1+EMjrn}$w2t~uHw<1+l!|*Ph5S%7EI5tlXX2^W zES6R8HXr#;ZJO%7n>uT~o1%HWZ9sF6Z9sF+#iJ>+sl9TVCA*Q8aQ;FZn%6jjbNw;l z>^%yO+LygSj)U9-Kdps%><867mH%nS%hqr;0w#}unxEavxw;#+)2qP)(VVN_XFPcG z$X_?g@iaf02idQ@asD0HM1ME*ipI}Q1>KuO49S~q`^p|1doQJo7tiq*a^FFqy>Eeb z=ml-eRJvWMk!o#n(};)Vv&f@a-fNigFJ`YLwdr|2mC2HlZdXHTDb9#T^#_^8kej zI}NqQR%a6qjF^Zy$Xs3@)utmc#&pckQrFG0j~rQ zzWL}fGm!W>IMP54fDTQqYU>g2JQ~hHh{Ho7j@Y#5Cm}z^if>HE{w#5LXpT8{JsuWm zjHJiAjDn+jVT7v%4+tJjL>@>CMMNUzeW7ge4koiG%8YLZi z?pxLb4_*MwhbYW(>GxEHxlsDuTBk9nex)9smSdK%$V!D-t?E%8n&TjE=$sR5j?(P> zUUJXrb&Rpa_Zc~j?((W!^spQU@{Y!<(&@wNG@5m)`tdXC7~nI<3TvEFKmLeu;HiB3 z$Q-Y`J(Qe}ia51CypS`!gldK=v+}bdUfOdHrME|q15ee6$JFsk`m5(!b+-Spbxg>N zxm?X>!X!Y&xAN!5)$wyYtS0_&Ub$JobAZM-4l>JARk*$1FL!|{wHb4{hObh=sv6?@!bc0T9o_1Pe|C2 zzr#;Ra33~NP`D59n_xF`#d&(%#Pm|DJKrboNpkjC&iU25_NM2i=l5B~f4OxTePQzS z_w{u*Zo~`Ox!-#l@j&Yg;^A_VV{XfL=->0-Sx+3#teSQ?W+t>E zGn5ipy)z+g&md*Z1bxqhIGu5NU*=yx;cJEQGKUPh)MwCg#ch^(P$_->{XOJ7c68fv z&^z0@4{Tfafo1 z*PG{(yw~7ZzMryp$a!kbtAbWXFtQ@J)!ETknh^balPiQT@<*Rxo-@S}sM|svgB*AL z-g(5Q@D_gBaI7a%tbN_#vIL(h_6E?|p$!1HZM>UDF$+KXS2gEqZYBBcr$>ChO zEuR;T5x^-s{)_Xr^MB6Ut~hf|b{|~c@}K4?O8lp#B%%Mb43DJPyqp})XZjW7Za(Mj zNY3Vew-db`*nOjGg!z19x>+jw&Nvc9F;aps?tl9SRS-AsUn|{@hVa3giuq0UcvCUo znp$Os{eBf_n+M9T95avJ-tDu3)3URVx0$t%|G$f8pPDK7ozWp`2Db#Sy*H5^Tzx-9 z;$-OF)wyrEcXj^U8YkZCIZpg1i4)XQR2E%Vt37T=N6WoS`&V@1fh%({qpM+h<9_d#6w7nmi##~@9qLJ9rlhe+{0FA0Se{SkrybkUoi@K( zrKe5 zL-}ZVZAI#PV)8BTho|N|595b5GiVvQyPfkl935tVgYU7w!S{?QI4{3tSeYt5HoQ#i zQq$3;;9ZXSnjiJu`vcrMW$Q3D0k>T>&N`O%Uh9%aPi{tb7X4hsxoS{;OklS2<5zOI zUN8eYoA_{gIc;(D!fMH{8TuKH=wwh{#;lWnlTKXDd1yf=x^&P(UsN4I9_87)t9(3r zFP1>KQ!P2!O96h2WQvKSx;J-(rg4}IiOD71&(YA3R_`3s{-aB}JVvG^4JTdyk)HCf zv^pd0_Z~+oxF-22RieuYaE`vmKbLMf9lD_@so(#Z4fBZEuopNRD(fsN>ntkkEZ)^T z%kQHX70&X8UHsSPC4L+_yLm2*U*#ElGKdWtoDGfGY)J33L4&hli5~{GgFa(V)C|6y z%3c5Fr@o{*{uK{@r<|6T&#vYX87qAG?3y?dUb|$ae@oEv*>y{(Gh*E@pIyIZNm$@x zXuM*17#kl!{r$8XARi&~V{U7%#W_QCPxIr=OTqv=*%YjAoXHDB%tNz9@6)_56#qp- zmpT1UdCXx~C&rY;<|J`^t5nbO~ zV(BzJ;AE#l7vl5MRg@22$$EeLBWG3A(TF|L!GjcaBl+W%EDr>f!nHyw-cFTFQkdy-SO?jpQ2 zVyoLzUf7-G_IKx#2vhM%6fviJvvsnL$$FTm>a#;+npp@sw7CXv-X(t*m zxxa(yD++4zfmyG+u(CGW3&e%fYnUMI?Ed8y`r(PXLb=!7GK4;zbY*=yRdLYg`t({{ zLP6j^@qjz()BjG!+BE#Z;(8Q)CJq-=7<4y~wpdrZ#przROWU*Wd7Tz~Z}ZL=ZZ51B z+Ht0LMxwm81bLfJ-f###FTPJkJ^N^v81Jm-M(+$-98i63z4Zpl_1EScx!aV~@Y>nJ z4ih2nTZ_qyEjri^66YjanSEVeCi$JucDT8g=6$#mK#pfl=`OcepC^%+dsR$z&7p-W z$NSO5%R1KMCefqROqy-Dz91ZY8R$#~N*dERn`o?M8k-f3aDD+a(h;7k%UEbo5zkM9 zWMYo7cXkFtK}*SFd3 z^G}F=sqMk353iT!5f9{=bRNs;Wh&@pzo-{E!=om^qK|Be8mwhb_^8>MSCDB*XvIg1 zKb{C$ZACquM?AWDf^Ze}RP$#Ss9pWp@Z%k-KA~j2P4=EiJkeRc)Sqsr^hPSBbTGR* ztima(#e%bIgFk`8xU_d&TsRt)d6v!Y1?QqO1?rvA!VT$btt@k~-txIdk6^$}9O3Jp zQhAu=qtIJ>Ckr``?dNj9fzZyv+pnILyx&V+8h|Isk?zBI@=}lblD#+we3DLux`U9U zn+2UIXV893e&X`s$hug;ys$3Z2i8Sc zcZMDQfpuXgB_g|*w>i_+<^2fB>t@HN(y3f;`vK4XL<^eZ$)>Zie%hh866u1?RYT*Z zrKRz+t7q>gdECrn-10c%q38`SPbx@0=J4|>u8FSRJWA}Md$g!@3QWI7==+}>nC=%G znC=4xwRCDc93Qvr``WDvWQe+25t5$v!twIxG~AWPCg!-;dNz1FE7zawIjU+nO>-fy zN9d2Y0GtzNTL8Kssq#pF@A8it=j-Mh-LcR8dF6RuZ7rhC$0be-UJx@{D_4UQq2ZXNVkC2KsF>GO8jSf{$@{*4Tv zeZXg6KbqDS=Ro0eNq-?a*QfeQadkO2{#zagdUWBy@4M&=2dvxt!U6VOW;XaTJ7cz8 zW_a6$l`lBK0>WWM6&FErMAp>n#4VnKg8`!9V>P=l{dG|KBXS z4xBcExn_c^%#23|HQ`xyPUwm3?At52zj{3EPW@GK=K;Q4I*sK0Yo364FK}|+f8s}j z`cJvf(M%7%eRfWh@}G+ztntaW-M9H{QFK2LCjFZiS3ODo=C`1y&e znJ-Wnai-*WN@q&0rk8snm(LM*nzpLxwVD}vpnmUa()SHW-;&!e25$rAcIoI$f_JrG z)FdXkTe3O#DL#quHY;68i?_BogZmR}$YLvI!yT?8LN4cb6b?Mnhha(yai9f+ANTl}mQCf^uzl>#Q;=o6b$6cf@*l zRmh#IscnqX@S*R}O_r`-InOg!blh(sYN`V7n;^ipqY)kQfIg+fC&BRU2^~K^KgiIH z=QG^rxt#N=C>!-6el8PiNHRK;P<@D^$$Z9hWlbTTM$9swW-8<6LRrgPB$M1 zS&C!0D|{`wH5%^>9|MKR#-3a{h4!t`3CcvpCx+!bC|xGT({`CVb$sSbCA ze?Y40x*~_ml#IfL2=-8`PwgKezuq(0rbyp;C`GmVNu9s@$x-b-So(D`ZjDYe%W(hr zwxovzy?=ZgB2c-1>}l8TA74tgJ>we8Uc7%C!QB1hz3KmwPy74FuV!DEcbM*LeE*pL z9`}#wmipFP^B3qM^3B4}n}?q_=AWb!?qSZRpKgBfUHX7oT*oy@Q_A%D&u2P1Pc{|K zS5U&}7mix^83gwdui-rZy_}cC;OegKbx0aJc|$KDc;6onp5(Aaj1;!fU5R~{!z|sg zLPz&Y+UW9_j{r#kj}!eMFifRXY{qhuLVnb^b(t%x6;~S--*XvG1Hq`HBZxz z={=5`m|Q)7douLI{QmC0JZ|UTPPzYYetRT6&EtmjCG*PzCLVny!JYolncivhSJ5*9 z+(SR!NLYIu*LRf8xE=lDi2mV(xpgn5$u@}fbZ`3AmU~Sgqq2sYyHupo)_O`$6<~Tc z;qBpV6YFV#esi|4^l9>2A>(SsCBX-1q{DLFcK|ufkkhF|4wPCJY@fGxY$?Lj)9%#N z8D_gYtcl-dy_BDc;=g0h3sh9b^v|*Mj~_-~gK4K(AICTG(@`ImpMmI|&@R74&wZhp z-r-h0ORp%OrB_2|TgG1UpxuV+B{^m~JwmvO@Om02jeVUw@2%jca zt=jqz{@p$kr_+e^w5>m<<2>?@*K@w7|3gE))3!c{|BTnKOG%d3vn(rnD|eVbk13Lj zle}I}e!qL@t&9Ipp3`(Y`X29lY(4-@_v-mQNlP;9vM%Z8Liv_Pm@ss}=VE;*;zB#MV7H*B`ipu4#VtZU8H>6DEf27ium4uOJL>e-;+a)yZt9YQJSPK!BH_Z#f_s^(7Uqs7Pd{-dmOkQAsUCEB?O+hf zHo166o`Z3cUEwm%qjBkT^pV7;Tj#yAlWv=HwpV~Z6cpAf?lMCV#PwDPbqL3zN_^+%lRe+} z2L2C<_}&%?KIanuKTImn{ex8y(cqXr7`p#qP7C%g@t)@pR8Eh3E8zYp$L)sab@3?Z z;>S4-ovZh{4z-YLz54~YZKAk zPjXs==K)QJ0nuixf4!dG$@!{X;BHETR`-EeiTnU?c6>=0X8&3-Jh{4SRTwxgWsX9-w8 z7@dcmnMzefhG#$F{TU}qGcE7qMOrmkK*iS)&byAz?{k^RJ|>1b<=v8Thz83fwEnR0 zw8R(w*qzoOz98}OryPF}9O)1Koa4Z!y5U*73hrOViz{;fHOKA7XOdt3HX4rD`R_SS z&3^~sQ}XIRiueQPRl)n`c<>&N`2AOo2mets4WFCP$H`2?Y9vhd^mTzes=d2mRN>NZNDKiQj)k2NN8qnk$$##==<^0aho zu+DtYvzCaDIiB(TC)W|;r8eQR&$Z)s-r}v%t5?$l>%xPE-RT|wnV*!3-|J>*4_^-? z7J9P7r|0?uc!SR=_X)Cvy@wqHRqv-e)Rs!-2RxOn3Es!?vwl}MCxlAQd&8134=68# zeMvWNO}$?ow|noBFXT{t(7SY?<@^4I-la~3{b$ncw>V$Eoswyd z-xtC;*iN4b6m<3g#_t?rk0A}hZ6H;+<{~MX!7f2oX-x)`GoxN0pvB~1OAj$!@kH=@5pX6 zoIh9^;dE3LoqeO<pAWF~j0~vJHXGK^*}mskS&nI!#q5%Il8)L{?)<{GPmLQdYoc4rkFOrJ z^XjtO(@lC$kNa;GKilp+p|`E2-z;xeFxSE>%^IMVlPWOm9Z1;W_o;HL)D^_jI4gT(V8DPKRLC?neV348rI&v zOoyS3so7z66V8Fvq+p%#^Q&5AaK1-=;eN8c+=qr7+g*kx-jZJS0Y<;Zm#kj8cnr&) z)L4se;?3eW@tpK053KWyUQ=p@C8C8eCazKU@t4H8rJu%t`?tiOrC%rG;{0aTZ%&DF zc7x$HA@|8{P521;Hc<^{UPBJBXl6}F1G&k4(vFb($!_F3b{z90C0bUSvk z*Gy~w0{?5`2sRPL=?SyZEsq(T9+C4S0oIoPRHbHY^4NA-VQyBIDG`LRUyrzWa*nO$ zJ^rM*I=2$SIaJZq>!9Iu!X4ivksaRjk2ax~9N>L3npwL$!TFT#O!#N4EE?Z<9t+hw zf34P?IURs)=Qj_6zMtK$?^LU>tKftQX<{A`o;q>uT=wm_og0_gQ{Gk)6x*T6GfWBVcNnft>V|{gt z$ASm(8EVgF$1~La?uVJ)u_l3e(nPBaJ9 z{UYSTMdMridOW%Cz3uvjZEgRgtxM70A^5p=NG=?aF0{}kxVhGz1)qLjyS%ASTe)-J z=G<3mz0xGZ^79$h72L0ml@Dlx*yxn&`aP+IpKRC1`0TIferhr4D!&_%E;QZE@BFhC z-7`i$(=Ko7cRp`xe`_}```CTS#|EJ3aw%-AYegG1-nYj3aLeaJzG-^4k)MjhXB)YH zd+f08@&&=|QSU?ix^+((!{_>NTs!a=zRk5m?VW#Kc#!p_>ZAQ6A@tE6#}89VH!T@g z_RgDey{rbegvh-5eY=$$|6j^^rM+m6g{u<{=LyPZF8aL(kS<++@Rb~2=>lsCrxR;? z_*>(pH*+3H{H+^JC!?k5Ye^S>I|RP+%|`i#w{Bp+KN3`l zbp?p2L^4~%;{^zoA%7rvp+ zVtRb6g|a(eA!}E3RO*vNuB&tUDo+k9m*D<%yttyTpXIoVp)bh|KhNolzJ~FuUo_wi z5oagEuYQ^1w(7~IiCSQ!?&Rw3Ljv7!9_Lp=y_%D(9=KUzch4I2poTaz_3)Iq%)fk(}-OZH@!Gcf+%_Mrzpa z76|wEm*comu7W$R2{;Jes^ea+N%D8^lw3B|5`2Ty(=UC$Z zALGRpd;K%Vm3oRe9Y7C)`>!JI(0N+?;NL~u(fy!|JG>wKC+Bk%KM=k4Ch?ReU1Nui zFS(PoLpv@`)O1VJN!^|(;*ahRlSSOo{h^FIus@uDdN`Hy34d6Sdf4wkuTxyxdMJK4 zo#T&^H^dKT+Hptn!`UMK=zh4Qh&#F;mT`yo!?~Q#1@*(F9q0|=hg=Wby`@J^W%&^D zl=4*bJtaTSUdi*z$L6@?-`<|dX*f$quW7=pv85Lg-!IcNzB!EVi>@BmAd|6y?xAvx z=^o12pp5JJHn_g$E+O(B7S9;mZ1)L8K8t#gRV)Us))?92vP#={nLOt-&>ujaXCe1L zv51%Yl9Ny5fgEMIw3F$D486fYjw$G4FnW8M#dYiUCpPovb4rnq)aSF{@X{K0aI?F$ZuFI}gBjrKykkH@n%~#pGM7i_b zsovIRzS0Jbjj>E6yP2kknd)a%Q?IAJ1txte_1Z0%5^TsfmYZ-(QhCs zCI$AZdjbC~?f7)&V01cfT}V3qxpS_My0T6O?SS5C%KIprlO^|GXS&)Wr)$p=oqY6f z>BtOr_YQPMuK^DeDkIbYp8GH5IDELE#e8jfbhpk+Z>He>;(rLo#nqVwoN(SD*i8E~ zoeP=j?H9fq`khA!Lfo@4oK*T9cYgm&!g4Y95<$u2fo-wTlb#w>Cn6}B;N1Eeer#oU zMo7#yS{T%7?%&>Gyl0gO_dxIv9b6vFPAs+kp;7 z;9)E}c=>jqgAsTbMF)Ha-Q}fA2G_wllXbY;L@uDTfLuUn0iDNMbv|^RT7c>p^}WGV z?@43iOA-X%bwR2?k3zRS@XK|vUo|XoFY$2j^NPXsgr24Cjt@Ut32HM85N)ml4;=#! zq>Jp{4;je+&gsH`%<1=ga=+=7-E{!j+k7LZH`O~1@(w|-(dG#;)-BfrH_v-jE}QB_ z{rW7uBZ7kIh4qUsyArER_H2K2LN^}#9!~nKe#=AaqM3dA&P31k0+;48V}@z_?lAAG zb>CFrS(p10uB-25T*tq~t(|-Hdqbx|FR!liiO2EMY{IUYtzNtUoowT2%kwSEw6UM& zeiCiFF1EC5HVJb!zYccxcuhghkZS>%_GW1=b`IyevDO}KT_x|JUptrdzl?j}G4RE; z3JIvGZ=+m{dx<()MOP=mcj=8o^3KY9PG;70&>eD;)=~MUrH)T^fA_MSCj2?2QSOzk zNE|bK=hel`0NACvZ;|~voAZkEtJk&j4Znhp%KWQdKOxAn+!wM8L9ZlJ?CUKt%#NIF zukS7!)-!3$w8}~i40;*vUrM!F$BeV*82D<|NnGo=nDPCMRTSBSb@f8{!5ea2NsSvY z&uE>+i`VKZv2JQO(LjNk!x(0+emoccGe$nO4v|>cnpxxHn!vmV0*j_@zOh}8h$EG2 zijp&~^x|*Iant;QIIa2eAiZYiUVIFEb?ravy|_O|>gv&(3wlcSUZFQ{2RjpGpU5p8 z&!aTZaCL=x4pU!X>pE_~cPL`;Ek)iNaVtI)YNEOm@YZ(hq)s{Le0~>o;d-r6 z`Pr~t6E@)X-TUBO?tXiYEBUB#>jV27N;A~$G^H4>PxmJqINLVUHGOKLFZF~;?i})@ ztMdh~W1O7tXpl3>yYM9|S*hZHl3ybp3)zOC75z3YluOBqbCvWI@62UF%t2?!Rgg*7 zjJPiB*i#HaPv`!;=hPCizxR8$hP~cZmkqKg`&b~tFj((y$5MJJVu{Y*Q^#5moex28 zP@SIyoxeAiP33~dm{hh<53km$)Und>A+|uT&1b}yKQKC$Jiq9Jbu8!y{8^h|KBy)4HHOzeE+-Fwt@9PeS{6Bp z!4K8>2EU#4`Qb5QT|P#vE84M?O;UBaoF#eYBXum;InC_~yF7PDC}O?nY(E4&>jN0> zVxnt_acqeXU)e4jd_v0<`|2E zdKC(_|#J(Ia4^FAZj+Vq=IvW`4Uo5{y>w%)^P`;mhqj zq+wJf*|Z2IT1=Clo$2b;R~l)Wqlcar*4-*#OM&U=_`8=bHk;{~-d@YpY`>}A*+j?9 zC%)P)2jwJ3hjUWcC@MY!-%Ch;w0C?md~E|q=b;C8kay-%v_XLt0J6Bi&;OZc^V6cwBSY&aQ87=EvEY_;Ej5`0*RT*dS~$Gjz|-6mVxEzggD_p3hN= zs@mB|9FI47@>_KpbUv~nPpTC}*^Qjf%6ZskIwo$AC)+5PnD};s9F>?*_#I+G#ou=Z zr!{o^4MA&=_W_MxlTr$%_;eNwyJw&&_q+UhaG^+iKiA%1O7lJ>eMiDcubr{YPq+>&EiE zshkt~VY?2aj;Q~wFWFqa<8`{LXFqDkMec@e3UpLnsw|kr1AUB~O7vZfj6lDXKiDZ6 zN~e|m$J-{L_`j&pVBUfu;TQyn7lNo#lIJ=BO%W8S|#o!P)~sVOsmYz-~5?Hx0W4(9(y*Htk{RFpIKDT zBD+&Ao605Cp0_>;@_o(0WOFwUJ0!=)xo(@A!ntmzxEvj8Z9doCfI9%ce$Q8)2Y6`C zr_zI4S6hC={IS9>+C29EBf)bsjRANE`aTnnqt|Uu&9CnDruVqT#H9N$F@NQ5;h$^h z_u-%WOq~9rncivhq`c`pj_bScopA;I;Sv4ACnl%1?#RFQw&Ob%Q{1OaPOa>@YO&Kq ze|qa>YkJccP#->V#Hyux-l%{0%={G1C9l8B^vu>b(*N4}6Z+Tut^~8^GW_aq^eac? zl9|;D_^)>W`DI(|c>wffej_J))Cp^97+(}e7xm$>6L*KJ%W}f+7YM$-v z)-n8i5{2~~gXOJQoRa8Mc@xw*)$sQue7gBcync~%H#a@M&no6)E5+^fF~InXM6QdXG&L^Pi>vOZxJE|E7rP zzQ%^)zxT*9^mmiJdBSDAZh4|;l+-j&ZNc<($ay-WIa?eMzBA#3*zzR#rrd??WLNL( zP6zrPDr*=0S{O+z4K+`zm zsqc0;SLV0DnTemxP}EuMP2Z(Jk-dsIe1m1N0Y8VD^8E`p+>wweS zQ;T|YIxpEUKlQ|QV6t}`!gKz8ejRU3$Q<65A^#h%XWrCv_?xlZO0Vn}>fJI=EAr#4 z4t}hhI+J<7Ez9iB>N*{kX}EesGzQk?A<*U18+muQYl8=SJ$T-OzZ%W5UiWLpHT)88 zL)=Ze`(e)B7c}zd^sIR+S>4#Yj0fJ_&$7)GPZy4vr!wAPJUwF^JgNPfXBP30@4SBp z-^iXl;}z&l;hiO;dGPva=3yY}>?aZ%&nn9Ad=_zSV?&FZ z_dT)?_Ut0=;_9`ThXv59f0qZxbLch3+V@qu>|byX#Z9;GvfV$a%l=T-W&e!+P?q6R;50VRO{hvO*?_)SjOwKW*(fcQC)FAnFkm8mWS3NYI?DED4D~0kmBbP z6wF>eAAsREd-FOZ>+7WVerFNO)I?qSEmG2ZH)A=>a&AyH`dvkS&^I~rb+6H?e{IHf zytVbOG>36{b87x_mp9)HR%vqJ%`g+v*vuM}N5h!SCFUfXvRw}f@vubzOsn;dE4^FW>!Ok$&TM_XqDE zQs1rQTu+sJ&0Vp7*ws{PnlG{9gYdu5>Wb;(_B{a!?tgF$Wz&vb(zW_d0!&9rZlRr=^O< zJYjCWrHqTZQ@|}DR#vYYX=6aGUfn;bO{XpHWRGY){h?mH`W)2Mryn+WpUy-Y`}F;S zuEYBE7P4xS^{Y)Z^?qI1{6>PJuB+F&ccX-@7B}!L2oJ zQl#&`Yc*l!{yG9=md^Y0E|2V+V*(333HG^h;s)muas6k5SvBdU1n+|TNalTMzeCUW z`1~h20*FVV(0v&^6J-M*3@nAei(P&ul#9Qc=6o0OpR=p1dDdg^WCM|KX4^<78#4R( zt|4rpgn0)2U8x;%Jl(&UC&aG%i5}nZUR!dN2Al{fX-#uR%ZG z%HLht+j>j--%F=2IJno_VcE$;O-`?xzVPI&dpks~ zDHqfKe>?yGGj2e?o15Oe(^e{dbIWEgJbCj@`|LQoa)FKv4w$3=5 zKA$zSvkwGzl z3Jd}cs0f$@b!`sys zQqS|@+40kB6lgE`tF7EVe?=QlXV{ERU8@L_I_e?XW*FIW9)4fg6fIZPwjkXgkqua% zl=00)^U0iewH*%QWI}w4cr`kh&V(L}7u`&#UAzJx-HziEio$rc9dd85pHobky2{S> zbe#uPO5gEey(NK#){|$9bVrf9b83WwBCRImwsJjMDlXZ8mWnSnVpX7NPY0!BVx%D# zlY=8e@@%p(GHkAfMwUy8JUKiv;xADY!||Ko0d9K%hnipjp`V-}tPV_i`ln8K<(4+c zD{~g+l^<=w7GJ*bdF3MJm79*qw!F6CL}KIzd|uwV1bSly5-&nG>5YY>u3ey+!A?}d zvHpfm_~=h3OnzHF+DM)3=k-3VZ|ha&ELidtri^^0ty~Ky(OesUVJ9?pAWtT(9gQ8x z?AJa$Z|_xR>_v+dUs(Q=%STp7^y$E!y-0%yHAiu0MJGm1cJs+jWYB?5vNGV3-s29- zAYgkP==IA!Pw!X)y$0fsXwJ499cWG>QCCd`$ECM*!e4(n%Zp3gR&=iwX&2t@)BVm~ z^^%QITtc?S7e%6%V1=;8Zqj*Ma78DycOdhe*hRE=Emrd1WWDcB>Q^o0df(H4AZNX= z;Lcm``*+9(7mgzGlJ&j`FkbI_DxTW)zJJg8Bg5oswBDEAPuBZp`YL-9ThbYA-wN7< z4fd<;s$vZgHlfggX)8WjcQ2$LiR5P*cm4en493=u&rWkI=c24SJHXLsT&m3P<<@o z4x(M7WfqUs&8H9Qx@5Dii^uA^c&xq=$uBh{^-ZRuSf4NrOC9~ghCD+%C_TkG`b^SO ztfPOpT%H=kt{cOy8^f-fLFu{~l&+gW>AD$|_EwSwR@wwddHtpg^l`)HCxy$ou-+UW zKz>LY&WGz`xL#qd$8o*VT(86RsJUK`>s97@1Flz_>y2XrBWujHyWTCy^{b^rpc@(o zNR*O{zi96rN)bJ$zX?G~;U}aNz96OW1u2CuNGTkRSSeh@O5upeN|C3e6n@%kv{9=@ za1h~PcnH@byrCMMX&}NIs?nJSBD|p*1sM_EP>q6&2ydvi5$8dO@ci9DMtFRdO3JQp z{6pAvw>HdTGOHjL!*R@)Y3v$L^kwYZ6B?my0js-3NOyF#gGm0 zBZ_lf*^6T*!mQYdFe`SV_Ct1}_Cw#DQ2WWTjYHL6ZdRk{l2_)#3Hkn={$sYn%0rV5#1H$86s#@B(gz{r?7h zTQ1CKST23HSB{M=q6o+?zNh^EWp{SLs-~PW8*BNI7k@gk0i$~}^CQbGOjKdrcN2K? z_5HaX`DGTu{Px(kI6Ccs{CV z30QZDp}#7M`oVTCQpSe<|Coy`;+1{rk7zDZc=_X>i!9=!Kb^3PE$UpP(0cEli!7qC z19`I07IQ9A==uM9F0x1l9q5GHKW{#kOa8EPk;2peyK|96{Pm}^ytuSDbCE*#ALm?T z5$zqwJSTSbJQsNxaxNU-G&*(pfbLSYb6yzp<(y0Bdh$kN-CWE)OTLLU+2*u2tjT^| zg;wdIGo@>?-8|5)Io(xE53}DHJ!wkx{I>R#P%e70=AthO%0;4)H#w7lZ?Tr~zL~X*FTji4 ztYzHM{aQvs(al=Mjk@(JIg>!GSVWRD$Bg-|O6j*o{$?Hb0Uj(~H;ma3&jPs3A`7tH zIn%DybZu5>N`&7@O^HYu%~Q#hof5$sn-Nnsf&pW;xycn6E@oGqT#3PAzVg|0t#74F zH;wX74*!lFR!Tqrqmly~KFfh+lPiZ}&Po5tI*nJu?3Q$$#;brJXPt)N&ReJP4~X3h zdx*SbokjwT*J)gVr*@sj`|*AhGfb{V>on;7WSvHK{r5UG{9e|7+setfvv{5t_t@W3 z>-5(vTK3(Z*6CMDc1_0y3(dA~zG=w5qVSrI%>I@>;)=6ZY*Usdw7G1+c`|wed~rRs z*Av0IPBaRh!;sm-`svlwD*H__+5U@whu4%$w#Snob$1_mse`cNV0QzO49Q7*9bS`C zDedl?9*(1$Iuy~9PY7rr*_^4gOa*1bVF%+>{Hq94w&twAX(BfYX+dydgO2RY+b@VK z5bE9i-l0?41n#lLaM=b^H1k@W5JVd1MO-NzNOrk@kWS5)SPA)O4(fsqth(Y&@{%nmy8-?HYLNHg^-U^ITOUjY+4AB;Z(s~?u#PSVoZ{L{AilBfTv&Htm2 z!{W60Ir;Am)P5%UFW(~neMBbzy$&ySlmFrjlWzC&5Q=W{--|IVr)LkDmPK7lTq!3D z;`W%%WpMTdy)=QPtAU)oJb_5$E-A^uw;$6)g9Fg{i_#;^m)T_-q_obKHa<&x%f z?*f9HoKA4(<#gDKGrI5wA}`755@4Luy&X?&PKOhMk<&3uu0}Z>y`SWCnf#>>yKwTC z=U9udIaRy-C6(hn*FxxdzoL`lJ&Q`n*Kb@qK6R?*;iV%z{umpu)Vm;x`bzxx`Bs2cA94=dvI?mYF{{ zX|h_EK9;|8mTxgEh8d6>$7Y+qU7k-*$o9keo7e=O0rA4cfajd;{h}ACJk$ul#6d z-=oJFb)c;&VLmIoKB)kY=jc8jSAK*+=81f*QXF;8@H`>Ni+H2)emxsacyYbn%Yh&x z=M2wcxC~!M*z)9kyvqB;AdP`uT9@NRVYr@r4Q-C*d}(_5*-80y`uSARS}!N33d2*~ z@Nb^%C@zkW|L@4sq&DjE7P1tLue^WmCcphr*ZJ)!-RHN2q%gm|!1$ZV0arxY>$PJT$Zu6oY!`M>fG=wAOAk5P zvwhl1$@-Y&gvEHRy$3?R89y(^C~cmNEp^K!sug{ssanE(ki@NlY#q%xG`4FyN$1sZ z`b=l&d1HIpTI&=*`jkMiHn(*!CssBw@ULGerUm_>2?1KrKge5(u=@|YX>_Hu+hB1X zgZ=GAJjuLfD|m(f=wkTNlMKSo zhfH%;6mL0a9LmzIj_T9voqIW!e1p-a+RJZ-v#`@X;L1YUigb=Bx?@_G=fhK)U3hMG z>rh=S&9)s2JZ2*0lq~xaBU_V_}^4E zKr!xY(3dyXb!zvy0HG+%1-1j9GahuLm9`!0@}->9=5ia8%uTHsTjIH?t^@JI)o5;t-cRPHvg?hGP$BlR-pE#N zzuw5|PW-YD-8p&jgOvCLKm3i`R*6quZ1={(QgdSuwvcRI*^w=IFe&fnu|Ax>nwgvN z+xmhz9;f|zSOAV$C+t(_#*@&fO{)C~!_AE+A&8pea4z!jd^-I$-O$P0=jR|4_X^-L zoj%;6+#@p|`zT9o4{^ix?M}2%Y^?WnQrx#A9x0Yhot%ZEZALe3w>>W=43A|7c$~il ze1pfv4pEv;4bsFgLUnW6mJJk}l9?2~MceYpOxv;!FS;`+?b;TsUFdc#2calzTPUyQ z+-v|XT6SJl^J=fRB(mtt_b9I}fbZ!iWJh5i%*OMElHW@_x0RE48qzoA^B)I4Plo;K z_lrgyyb%vg(D#dIh{Arq$aK|kq>%I(Q3G>(K@=w1+-hwe$)6(t1yGcC}?G zSrdz~1|D_6*wd$Qe6Otj_ST@YBJI*TJu9iE9coprAHEDUnqxN$?9lb3y9j$Y%$KaW zcPMKYse|pWvUAy~*n`E1r;mWA11Zj|QU!q>0Mao$UF_(NPY!6DXO2RSxOqR@Kc~8*gjoU@n`56mnyf&&Ixl^=0ByswX;|+9=F9o7yPM zIh$HyvdOE`tQrQ)np4Ran*Ysjq@JihWh{?Y09|ea^XRCiWTiB{9&r7N4s| zECtS0GprN_!JvcHQ&CVHjHBRS+bAf?v$61YUw@Xx21N}Sy$a~h4T_EuS$DMIlvQRA z7*})5(Ve?&-Lui&9Z&U`ld)_;5OOjWzD36J>rBQngBRV5Me^&S{_x|v&shjbVa~E0 zI&%8ME1U@5_4-pgUL)h(Ydl!urzVW*yvyQ@vp>n_p%^dQQFm)ew1Y-DWzy$=5JbDA z>rsycf}B3T;LhvwqkS7)m?rX)^{5Fj?(-jxr?$`kVaiuxhRM~a&rk0c_4$WYxxM6w zwsN~1F>?m(az&fuQ|kE=t#ig}RE0dQZu?&&7FrMeuS}n?58rXt=&sDtglNfDD;#>` z5zt{#9_@YylpHW=Lrm6uug#;erdsw*B^k8Uk&|;ejfHJ1%*=xJ3~Dyqw02`EsAjyG{1dUepxSnO&iVi%qD&5wm#3gEK;`f!DdaG$(VvTdo1 zbr!d2O!XqSrJdmIt1S)oU0hqzJ!q2I8{hCc%En3VjeVC})K8LLOLx2(hv}6!FWF5y zjMpK{a~SQ3$+$*-f5mNMNM-du+WyL?RcA?0rATK^+oRo1I=_LPB0GAc&L3`kaz}5{ zs_Q7$C930fkajP`q1wqz@-EFS{Bh#EIaz1jUNJ1T-f+HBF6|FF^SJeqc5M@lCuQqk zP>trO?fVb%-p}Sl=6$=r4%sl=~y;$o# zIE&lGX|gyTGq?Qtb#nRJsyL4JaPYV?Xw&r-*>QTNQPyyCTeaP*&vH>S^=Qqk45f9` z72Zb_fWvhAaI$Tk&QH&Q7lv_+LyJGp6~HciWzsXR|9ps3H}Y2_867bUcm1b}ze!`8 z4|QM!@Vk4*v@YQvrn<*Ebt4G?A^zQUqY8uO448+V4h(}o94bVXdOA*Izo%OERzfTM z?SRknJv|@3D<%VJ&nE%gu6R&Apu`y3m1TWas;+@0}D6tZ#YewSSnDEdr9)_p! z2YC42#S?OR^3}5dkL}XXmdOuYc1pp)>gv!JbJ_U(zfEaVkF=FRd-j}J}t#0h8>atwObqu zUY~tmX)yI1{#@U4#;dN$!ss}DhwJ9jZF7Zd9h`x-I^?rdm)q)dZ4R7T^)GS`wb3+Q z$ntuYQ`f|NUtZ#JuEtbqUcThRVSar$Aqe89a98ouXM410?iY~V1ZHYcXF6xT;(0U@ zoUE|mTg+FiZlu3_`y9O3-FyZ1cy_zSf{+x>S6pKFH*5KCt=d)?R;P1HA`LTQFs_|5 zZ%&W}WzUrLrH@XZ&X|k(+<`rgmlb=~pP}PRg>*1ILE zt#gQ+yC?G)FNMgLbROf+fgoodLvZKKV|)a8*22X^UNVo70ONU#7vU-Rk+qAr;Qc6O zm|TtKG3fnd9-~sS_9Nq4e|Y;5I({$qW9L1-Y%Rx*Z}=V{@h9(WwbZ)DuUKey#eom4 z*s>+A+5W(77Mi6^^Ifkk6Q5*TwtgY9?87gdGY!6$r6Y{rX$!xetpnP#DY>QH8Bh5} zur7~@AeYRJjW{rH6$7+;b7E%!#wzO9d@COY2KIy=a|(c;OH2AEt0=R( zz6F`|BdLGT1ulu^eml>rKl8Cj|KJ*x%N-r@WP-C<;AoG7Ra;hW{aGW#@;MB8!eOvb zNd^hRn|=Z<3B~l+^h+a4raHfF^ZRsyfwt@AuZyBwmTc@@ ze;E3cy?O9h-J8e6+iiLcZ^H#;N)WRtxA^7l$}yTIt| zh78hMEnTkkey<}LdzrBMlOMJD140$EkCcp8KTk`>s}c@SBlh}&C7>tyoGgs7YRry_ zaYvrLjtF(y#;}4oim#_EIO)UjE&6Z=W%_V$z>D4W;m}rh+lM10g?+dajQmXB>CMh) ztm(%f(+JE)$hcKbHfj20kL(1tXCV^K@}QEx9PYz>i$kxMl@!4^9xxUtzq-lRcJo{5 zxq8qf2Y(-gnZLfoIS1_KAlv|_0@ocQ5v!7M`C|>QQ*R8y>ujvf$xT&uIq;Z1Yawh)TK*n;yTxG!X4OX6*rHOJcK7W%(*TVy^x zXp7hPV~e(Odt0RV!TZ^6P=rYx9dFgPPB@Zr>ik`8(w33G7rCO&DkW3Cpmuf&%Ph=E&S-Q89(~RF8v5|lHIn^ zgrd-ownL8%@>^NUU3NyB`xtAy4QQ8itnu?ekTcdOxbwyuKMGzKK1k#xV~q(g9&7w0 zp4zd-kFjhRCRd}eMtVOPYpj+YrM~cg>N-l@w$0}bAALSPr_m=Lqd92qPyQ|+uKKL+ zYwqX_eeLJlpg4>u)b8G+=z3{)ZRI3x<+Z!k_QW^)vc1$;WzDl=URmf%D5rh(#>!|M zmG@|Gu+S2{`Z*k{GkgxO6Dv0c;4H=-?J(S~V`WMo2Uu#m-uqnT`A~c_3ULLKQnkj^ zK?*FfDbt+QjbiF-CT8QNG#2&d*Z{TxlAGwJOld6!;h&D*S>TDyX@55pm z@;f_zKBq({aD8~v_JqgJowJj-X5lD(x<0~f%e{H~P>vmj$NFxUW5=**iuY67vNVPL z)EW1_U$zeTV7#HaIql;e6kn5GEZ?Gid~v3I{3c#>d$H~E%qMo=J`#$;_VH;(UZ#Ca zB5{&unmvhX85)sAB2Jv4LoD-#vSqW`H03~!T_^2HX0NAWGjea{ShNnuvt6GHUZ_1W z{e}=PW}luyFW_ZWl*^1ROAWOxB{iWW4loPG@6Fb0WAvbxV8m*(wsPW+A-hu_PQ~tI zFLRf%oAc&PN_c`>eb|>$m-%=YF8h=Zw-y{@;zIl}Ao0E_2>4O?d zCGJe_NMzf6Vn)9GKU7+ah?B}G$F z18L}>{sYCT$y3vHO`u8*YCFm1c)c8l(oT-|7Vc?_3-?6OOYO+ypg={YcwH1WVJju()DPk(`BXu+ejP~NZ+w^b*Deu^WV z;F3vpUA7d6(mr^Ge~iLEBg;!ygSLR9?K9IGfG6}7EJ`piwkb`I&(hRxQ3BC$kk)@< zs(wHu2&GK7t#f9lb(|P4{=UR9{>A9EbROd$0=_;8yOBkF<#~KN=vlW$rP79Y3I^5M zAAc^S+eU5SP@M8MRF7Xoy`pGf*JDA^mG31OeJgs`8y z*s!am?JDo5q+t8)oXFWb0@a<;r1>5P)>9V|*3%Xd*3%ae*13xa>%2vTb^ap4dd4Ec zx}bkpd(>9{ECowrgAR1)rUJELzmwy}3>gN|byrRYmnQOcQs1}qR4jRB4lRmX+7}mR z{$v8jsVdJEatv(s0NddqL^tNiB)&c?2e!&EpMEoRlt0Ph#oA}*;K_&IRz6245Ay=s zZkkHNl+|?O)GWBe;Ig01iB}6L8q;v7jp;P@UDz)yrwzO)1xxKbL|?aU;Khp%`)Jk6 zb5gKF^cHBD?8m}-?jpi^UjMLcesW0))*|S}^1LeryC3;Izh796pX}}kR>t3?ACt-v z_Vf$Ov5^;a1S>Z?q}*kPvE8XlaghSoiE0bNE^okF#O@#Ek1sl^|YvIz`03HrW!;=&> zFX~92#oFHMvhY+EA-J8y0_#J2^I_-7IT^yqle1^A}n8A$uw4^7-<9Ll#~q{?xHPuUlgH*Do>r8zU2L`EWAaP_q&%E{(F`f{(F}g{`-~!zB9)0S6TRBdnwA_tGvdA`!avs zDZKm)!yAM7n@-_%NZ;Rf3a^+xn~VQl7G5X*kw-1%%GQ_Z39DYBr$nda;pfma94h#Fa^gm|db)xHh=&8QZKP@r*f9?%_zV=e~ z@S!aHu)XF>#IyeoFAh9Ae*Tdxyv5L;^@m%s@cZKbql*j=n|T()A1uEgUu1Y#Ou4A^ zVL{QN!oy;rMTJKPF?ST-i~Ysg_h+*37S+B#n}y$(eSdC|;eCFQ;eBC|;eBzD;oZ8( z@V>Oj@V>kl@SI%rE1kkC%3mCKw=E7ln+tw53$GLZ%cItt$GUw9VSjB2VSjz`VblIJ z?rVI*!nS)o{CJd|ztGWo?PCnlyzw_JoDSwN!VBtY9WT+Ud_nZS-XYW^j<#|_br&`USnboy=xz2Ut^&t9&`q<8)I$qd% z7h=Lff|cq#8g+)7%V$;(43-C_&Q{d9esFB(@!a9gxuBg9LwAnWX0Z!x8Iar& zExeIvs87RgS7IX~zHBvk05w&m($xe^Ktj)7Wd{K>4tO)_bMUX9xV?w zhi49|5A22KZ5^o@090q|(EI^IDyV_6ox=llc+*$qjdIlb3V{MoWJZH<= zO6zV&cI=R4)APsK>WpPfupAtO`vZsc$;s_BOHgV3FCZ-+oH%4+&=}fU;u!yS;ol?i zZ*XGnDKi%hLX0O4igm4=d0Ny=Le$KYqo(7kGp9rcpc?;|c-_o{qxl8wS6Q(BH8UHn zS+GttGZ8hfpqQ~>-DPITu_7aq*2f?bA=+VP4(FczHMD15sPE;8lIB)sj1p{+K^Ap2rbG7>5^^o()wtz#r(023%_uO+&ZTc`A zE%#oK6~7aIcuzjv8FtyXDKw#5G%Aw12rEdUEfaFHa2DcR!-$srCo;|2Ij(Llq$=fw zw~~O>zdk`XuNB7~+qT?jq4h~Bj>>K*(;Ak6i5s$6)X|0t+JFWE@2hVtd=d)TP z35HtZb54!*NsZ5IjU-lTjW5untA(=3l}VK^YLz6GYL#2*k>1?y-h9oy`MP`a4fp1o z?#;K{n>*Z_Z_~|TQ8Q-CBSV9V<*wZN8r|B5-}E1T%X>%$=G6R-_wf7v!ykALf9yZJ z%X|1!|KZQPhrjV3{+4bj?j8YqM0*PVBNrRnHV`%0u~I%aGf=D7uXhZ7>o1~Oi>(|y zbB*{EBObXs)w?^5?jS6Awi9<3kg(+Tbnn&2(cOgceEd?=OZU{?(l0f#^h+%({eF^u z*|%sJ6XyjS6(}Q^(2M{n7zgTe@%v!>t4++EJaZ1UcSln$aI%R!BQqyNt*=8i3$G)n zQR@!6zDlmYOV|74`iFFVywc6x+y|4QpeB*}f)+H)AFnjLYnf|1H}xl)au zPum>hyXdvKs9c$-#{W(jP8+E(^*cr?C!x67;?fhUQdmXVL`BLZ_ov1YLn+81D79&D z+cgx$Y*2H<_4(%_V&dx?r3SU_Ppc0!52^DzGu8R$+eguWxD^HL_1iYo=P$>j+Q7cn z{ZNr_;`Y+d~mil$oUB;2Q?%IdmSQPVlmaH_eU1?L}XJOuYU-d z<6jfs6up0J?{K2Z1@TYvZt2~h+J}-$ZGs%$2|1MGAK(e4Y6N!Z&PI|sQOaa;rh2I{ zDmfF8bEZem-Kdw4!*>Zep<7E1KLifS?XvXH)6VF5l1EQf?^ry1m(UZswe;}ATzcqf zXY^dE5@B@>d-U*KLQm+{(!&pP>7l2c(Q}?h&uWhzzDwu{-CBD1VJZip<7E2 zKg^|vp0=lFI*Pvra+-H9Lu0^~HW0O*;L_Q8Jl$dRqjdr<;;&03sz>y&Cv5XL;k$&B z(5>Z!AKEx^n-{m}S$jT+u#@r#JHjK3?-Ig7x0Wz|sPW6EiypP73vF3U9C(5{#-oSt z5_&?nmL7f>riUJNMh{W$(ep@;9==QH3Ef(H_+gkHdeojCBuy_M!zv^Hdn|03{;NnX zW_zRYk;n>W(b1GvnNrrWywalUyQ{=Z?$a_o<*}M6z)t!*jR>ka8$>2!5;YkrpuXV! z(Qn6;$7p4Cg*4n{PD*#qpvy|hM5DH4&?F&a@FD6jmbu%w{kOp4R++0;#E@5jwhxkW$2wJXtMN7jHZei85sZW^i82L@XgfV%2nbAkFY3va@M9g1sg z+p!~++3ivMw zPwx=#86Dz1qeHxBxOfq}y?!$Nd8}9G@`5_2(CeqtpVPcLmpOGRrEkI(FcoLU_HZBx5l%Vy;pp>h8!98Y zChus>tgGqu+=yPGR}@V&>U2xhb`Eh?O@q<5pz~Bk*J;}W;tF*v4vCgGS661H23J=H z%cGTjEpqVXqm|~N_0ekUt*AU&8QZxUPC>Q5F*uF+p${OskjqG4rP=x+-PfC|2WB?G z(re|>fqfhzM(g}&=W3WgU<`~75R5xU#rB~DviawMPfQE?e45xXM63=^xvAhYmbEp7M_ehmy$`K z;1nu&Iu($4px{(0cm@@asi5FAD&Q()5h!>Z6>t@@4ixOPRmf6MaJsER27!VzY!xyN z6g=KmAw$Xgmfbww;?b&c^o*mJZ*fZ9%c;w>3PsarR`(z_R~DXy7u^#irT=#}c*d}M z@T~HuATaO1bjY^qNp%+Q7EFwAx4%V$8Sxr`pBdI78l_+)h3C}KXlsM@-9+uFeZVcN zUg%ua^zm|hPshvgh5b4aeYJ(p)Y^!TvG9dI3u(SjE0Dy0kiqhl1z*4ojL zN5F^fXav%=$8rYFj?%+@NftE6jM4DXsh3%8(A>9x2plmMI%JLL zhz%W6ugJm)kifJbrgg5!*1wH0Kx@nR9MmXCY9$<(kfMp4oWIB}%{G$ct*!o;c?`@3okcSW=GJ7qP##*e9KD zPaLN@zB&kx=>t5Wys8aF!N*kqk7Ax}hxq)vdqF$Y8y$VMLnH^<;>+!^;QtFN<<8n; zmV34x+=Oq7aTu7uXVEySO%CFtXrZ=xfWIY}Yg9zztCx&M7GGN$^N1sRzg+F}4OVil zy|<6~{KiIPGShFVq(B8$=IZgu)8@59JI<5Jso2 z%ku5V3t4yPe!<&aclRQt_xgM|=~%5_h+FUHCQSrUZAP>~8OP`Br3{~3)57)iwXtkC z=Xm*SrRRq3=`q6Un2wbCtXw%4yD^Jji78DxO}>gtwKGbJ;@aH^sj3=6pU}a(!!-Jm(O#moN;+ul(91 zdt3J{LHvbvtuMYcSl5$DSof6@7V}8#ep?WR`ZL4oCYDnU%x%Kkvv3toDu!_mENuhj zz@b(`xxj7^+wwHJ1!^!ZKZHrvM+}6wkF0WmG zcYCW93D2 zD}j}5j{Vk3_}dQIbNma#_u3rIjq+%)QP1 zv%$JSIot6)m#ILy8sgLDKVf`9x!asHBmn4rGtuEM9o9_`ev0QK&~-_ts$DLO->>_N8FmpbfaPbX6actM#=o{GiU;%K6Lr zw7Rr~=&`a2!{|)TUkTzbl(WTqTOW158mwDLv-OSJgLS*J%`l7tzMb~+YgzoE_AT6A zR{0ym9J9Zk4=0^d89T!F)8spY7?-9rN{%ESA44wbo=z^KIA{V9Q>vw-@GJW;^YJC{ zSNR8>>wpl$5*ctF_RaRNXlGk?C`a;kJC^gUd^l+tWb$iGs=G)iMJAQfBH`~kja2;9 z|6!fnk4L4}ZncCJy?raaI_?!{PM!wS?R*{X^KH_&f zgOlfPPgYrfFCR|Y)>QTmuW&f^Jvf~Do-azTja<#@}th+g!5?! z&RzY$apK5N+QV_=mXZ*~B!{M-wujZu{#iyp>mSZ4@}r+;;izpGoiS_KPkE6aIr-ba z2H}bFnaf&Oy=d;a~Ji_?PhW z1>xrlBXQS)5I{-JHsAkc5Bv$(YzND*72?O{`(b=cZ7x4yHkglNRZqWa&qtPQpHfdQ z|K1*+_BXBGvj~coH!%HHE@6B<%jHy+%YSsl2jj8!ljXw~6kwCAEbU<&J=1RU)c*|9 z-qE_5W0n8^%7=l~0gjgj#z4$$2JvdgREpu{<=@`Ch~@9U^Jxp1ya&U^r(XwQ{Qlxo z7=OAi=i65Y@##d>-~SZy$9QyHhV0i-K(K>Ny0o$NH-)fShU(*4moOi!3dGj!N_!Z7 z&@Te|=JwF)`L~_ZYU9yjwnJh3L0)Ve=|InxzyI?G<}Zvtmp`^M;?FU-bdV%lv%dbj zAb%ajGCN-Izd;zC^||lP*6qB{?c|&HbOt9cmp)T{qg2(^v35;~(xdsJ&W9M^ptT3m z{i5E3TqV;E89$V7yl@V;tS4OgebXXbQBSyfNic(Xg`9LXijY9e|mj8h) zF32tzTiWtJn1$6j|4uw=WZ{4&Cm#wnpPcvEcoc@wSv(rb;t%l=?%O+dIh=)4Y?oq7 zJif3zTel|~MzV0)(QqE@a255J4+z%fb^*R2>yJ$eI-IIY^)`6ym{nN-J4Y+F24#&F^Y|KU zZWyXHu?oClMxE(Pr$agzjq71^y$;vQ&GmX*kC^KXxL#qd({ZO-x)ZWz8QrHx8F55b zc6(zV%f1mU6HaS}TH>^BuE%jbV6KVNL32%kmYhw>Wt$m`6y#Ylb1VL zdA1`s5nt7a1eBhzd0;R zPo6yU=uD)g-oyL+M6ZyRMwO6W?O4bIvUIe?S0slNGMz8v{>I^1T%o2eJU=IWCx-LD ze&Cc#)c;`}Tw4#tE^V7Xg;*xpIFk9~#zuM(e?=ZqqHW%y%k*#@=Zkh9>#~6mUT@qy ztph>kPJ2-juPa9=vkgsZ%eq$^tHXE~F;-VgmdEH1#A6umBJx-+U7_|8 zSfSG9>degI74CUBr5G2hB0VnY<0{_wXL-5r?~#`}H)`?LCJkEhPWtlv2XP8`{niM_dB#(qsI?!F z#qAHxchf*Y>@ zkDNvS4ZO4P03t7n@5kiTTL~~a(Kdc4o}yir_i^r&!sKd0^%}n~kn4D_TDk@B8+dQ> zzIxuwSd8JL8qSQl3*y^c(_}f_5Nh{HM}aq*_cwW?!jv%TB1j~R+9F~kRMSWr2-RX5 z2-R{L2-QKq9@ghZW?kM}ptJm#48!^X8Awhp1qqy*;FGu4ZRS&<_ua_`IQ zi@8ogAvJ3d38@@AuI`dn>9loCYtKXm;_g{!Q~Qj&GIldWvF&UNEs47Uork^vMs4I# zkRPuZe_?w#?4sGNHD=zVT6&GbdT{`j$&+-Qrk=k=^F+p4Oh2CHiMYgf39%M0m-M^w z)Er})GMBzesRjCYy+|>A?2n+2e~CW6pm{8gGDII=`1Fa(W@kVk9Z$|L3CJd;uVOx` zCA){?rTMVJKIh2@Ig6$*$XPT`al;MMUMZcWa_a#fsYHZAqY65ds^hCZGEYu_p3j>} zbK2BU#F4b~700GZiQ0S4qpk?T zl)NOE3wmS3xmgOud7G<+ac~$x{F7hb=L_IgOQ)+mu53@cFBgw??3XN#k3>J`6Jb0a z{XU+&d_{7tXQ}L8SxCP$&88Kw?SeX}IK43BwF1R?9*xzr-ov;VCv>8?nMWJ*ecbto zfWwPjuL|(#>$~&V_3C_BN}iur^%>)Pz}KyR+nnPy`Mh-+<6j2ZHz*H!Z9c5DoYITE z5?tCIcGsPETd`@jg-Xe;!B_;kY{S{}8Vo1TdtJVq5;+vb2?y5R{$bg6?5ccNY5fK0 z>^_(20bjRvZf*1G&UyR2+U6qAwHUT(=d51ey_^zT=-hWh{%Y6%^g%3_nAnS8n zJ=p7Ey?GWGh}N!x+-n6fQxuR0UGwjm;ag*mZ^Fdt#)oNO!(P~zRf99}$_Z&Es!r(oJd zrMpfyYuyGCUmLEDeLFOF<})P)p^yD#PXW!nIByZnMb4{!L2+bqq!;-y<_?9FPYKaM zV*z<|w3kVMj(l{igL8o|i3gJ_gnRl3P`cUVdz(JAW46fmPs_zw%%P7n4}-)4%DY&O zE3^6(DJ7Fs-APU0zfj?irr>J;3ohtkOthfK%OU*vCbN#m)f=rQ$fgiB_<8o*2|X-k zT42-(J)ILmbkJC$V^3=mdkRQ7Uxl#Ea%qc!HMuq=V^}9cGXq3!K01v$L0Id( zk54kP&(c!tqqbY&(^7z|TKY5KqA|kBby+=&qnJtl4w7IU#tDoa24r3>ebMkaX;L8& zY8Tt8oiGh9ZZ05B`NAgPid$J%zt-{0^fKs#Mmr2gLtVOJnTF@|*auqqtj9jk%4a?H zVFR6qksX4PeRZF?7x0#BkHu)2ZjWWgWbG1m%Iem8Y)c(7E1H=m_>+)M~f$&AZzSH$1r1;T?QQ* zAGG$rDJx6mCxhpY&Hn#@ye+={S4-bgzfN~_0=B`bA{(?iVUg6+!k0#}jl^Jf6)W$jxfuL$yEoZ| z@3H!9D{I>x+Z|WUCYrL7XRd@P=^+3AfXaBPJq^~D+R;G$#*WM^A=0*VWKP=BkvVBg zN9GhZ6>by$?q0!1a-eJ)2adi3zDl)kP{&by1R{>Z0vgdQum8yq?sxi4N)tBrnwd{YLe9Z0;9X^~bUE5_r;;uJy^%DEKbS7EQIzfIBXt00=&!4BwBXbwUZ`?6z6 z2WM&iRI+%(BiLCu&{ifE{-H|)|ACMT_gS{4;P;?AhO;dN$H_a}=q@{o<>;;*>|EUi zp^ENoKk9y2n$?c^7kx$kwQXwW!XbZon#%b8DLi&OP{*4Lo}2?qT|>{ZWrzIOm(J<{ zr|?*eGtWR38|8^_P+W(l_`{~oFphOPKC)hOk_`xl{O(3XCaGk6Mw60M^6E?=(B3MM z2ew_9PrIGtcwjHIcaP7;*CX2F>khia z7|YL*S@;64Z3fhFupwXkSLmMmjSouWGZv)K)UEOcAk(@2gsDF{=$oRu(+SDHt_(-+ zue%(P`s-l~l=*8hW&T=DnZJ%1(7_BkW-x(k9W$65#Eo_>eCGzwUS4ukn)hUJu@_oQ z7t;wP0k~CO-^4O~a6VktrM45PP*t?hnCL!6{q^W9{9foiLTzAs8eYEY(u@;blp8SL z$FzY%i}SL5H41;wOSSY!h4YX!95a*X%S(n{3zlaS%!d@fWL@|$3!sVZSY98RrZFY6 zHoRK8j!nZcHrN$iRlD|V@?mLshA#EzWVl3K5ZahlNbm}c-J&gmdYNt}gCIV>?KM1F!{3s_S59ojO(G7TA>88Ul?DC{32XJy5AVvs?17LYCdRWW~Jn*shfsD=6C zM>+gSdQB;}aMhMS*%1(;UVN7N3#^~FF1~(P1=M8_S_d%>+NlO)V61?6lKtLd+WV3{ zliZf}d;*ESE0n&s^(b2wAPv+qH8g*TT};<=i|J}FHzubYUBxu4#GJ-viVI&X zlnqNDGhOfb4ZlLN;S0}ixP-f^az%b4R{_77T#m7Kc{+mm2fhl$iqMd_x6T#@KSzVR zUK9arE?nWnln+PQ0ZX!*e}jGsWTX0F3SHT7a0ttWALYn~pK;6-KkZ32o>YuDj2t@T zT;kEg)h=!g+J!T$Y7Vf@NP!DT3Ve~B<{&BXBl2#(NDXF48A(B|sO69=vJjCGSqST4 za>d9>^K|9Ns9dG3hKVNaduMJ_fwnu|`dHA%&y4t_6#_L}xLkf#%FihOh^K|DNo0Cp zuQFv0Y2cID_hdQ(>TBMV0>6_tKqT@bnQ}#LjYX1+DASZQjTnvmI+PgspN&ml3fds^ z;_RQ{drwNtqi1>iPLBVHZ2s6{Q&=|tPsgU~5SQ;I=k*nJ#dtjI>Mm(zXYBrLK`(I0 z(6pSi*=A`nj}0AwxRmtEov)M8P=uV5np%uaUdEJCEaHo77LpU+#cNH^MI*G1DzqCA zl>wGiV3zjX8F;{09})~X7?0LM=sE{l3!&>AXf1@UbD$AX{URBSh^`DAswcfOIos}E zpi@U)$(PEyl$SVZU!q8Htz)*twT{^m*E(cNTWIVI=MZ3jc`V2dD9RU0l|N&vALQZW*bFIOH<$?}L+M_P%zEpaMTpXuCzaGH3q(_ADDo#t}wXIgwl$Kw~`5eRmqddsrOQugy~vRnb_|Eoz`9^Vez|WL6*?YFJx}! ziE5u=ydKYCyimKN^^iZn4L`nXh zOlWG5V&zkSo4y%Qh?{9pYY*d2>&awnN~Oj+yrGxtvP7N}BI&U)Dz?%yhUdhU7-J zT!33GOmQ=hgj<*mOfqD9J!YQSnIr1*?6VL^qWu+0`?G@Q1!+H*f7L>Xb}k6_PCT}J z4{~*gs67yW5z7aIYZCSBkbC40J5r?A6f z`B)`RU7&a`5AvMwiU!iTNg=i99Io>*Q@eOG@N&L&^ngZ28#B`Roa$4>oY$ia8r}2p<>vgw`u5%%JZAp#~4B=|}2pqda7g0P(A5Eg$@#J=EH2+t0^wKJN6(=rHy@gG9 z(VV!ng33k4XG3=t$_>huRV7|rv@)vJT5lgO)vi3ZREl;qhi0}_PpZciC~V7Wdc;jzh^a#r;wR^&+3kZAFf75 zLGLHuvvR%%`3S2$h$}|ATB{kKb{j|5hmALn%+^uOYuiv97u2^z2isN8{IRe8Z1dqh ztm7@Ec1)yu8+j054nd|W& zGY4<=&K!Iw#Unj)@PW8VpE>wI=!EwxZBDKG3f78)=3cYvOGxFu&DCAfDh&!cdu)jvf7h*W?zMgle#UTn%+Ip$ll+X~cA1}L;i)Z4 zoU?KW=TQMabn~+;bT>a^dc$yYeJ=!&Y-lI+^{4zy_dobLybiLtm*i(z^(Ca4@?(#?@th76M7|C}&`JJ?3XwxQXEtd>d!Oc~t*#HVn6?ILmS< z&Yc4Ey7^hYG(1@sBL17s&z#aEKXVE-KdUUqognMTXmBu9$_NaL;%m@gNAc_UZ#q|W zN|RjCDb!rC>E()V0W6yZ|F^9yuwT$vE2{M zM;JPB4Ar;6MkBKruS-Hnw-)Bm;=w!$bW(0<&g@(zknLh3pGs!|v)f`$1BUmli`6Om zbcuFo0Rq>R9M>PCP4xlp^<%Uh&}%viOEpG&0c1(>WpX+ze+epP+(Osc+AWH{n%z+u z=|M?T zWEZVcxa9nR;IpqDl7-*Fnr2aRHYi*8#~b+Ft_8`0)V53LrZGgKd#cC&V-|kWe`L5_ z_8+tGe0r@Mdg?!Bp=*0b`5n_6hMQ{=A&6vef9gNFPU!29WW9=P?v%wjqv~GNAI+LW z!aB!^d&An2A|lClsZZzZD?7*TxJpu>RHLbFrN44fGIVJzoiwSNePv0!i?w-_Er6*l*9mO#%eLx9wZFe;w!tyW^u-=$ZB{47aEDjpb0> zrw-8T_S>`csx&-V7vt!Hc7;9>#jBAwBYC5J1)HGL+tD7yhoh{8)w_*GZT;MEZR%1y zxO-Xi?q$Fz#n@KQO&Dif>0jj01fe zbn|t4!*C7&obOQ^NIPZXBMDSgi@$}JHe;*86xPiQ)nY8}Zq#Z1pj7i95PSu1 z4b{izn)Ue@BL&eFNaB{o=(RTDb5N1C;V_Qv_`Q_s#NR{>Y_RwVfyeCAR|!C^xphUo z7N3n8W%-$|&%c~T9?qhoNE58Dx9v=pPTN<^o6{YyQOsh#IWG>~&fD84F&hH~?e~PU@jj5BBtf6|{C97_l zg*t;C9uUw&_2z)tnlxM=;6ov0Z&CA*+WcDqb-LF20^o}5&jh~jlN|TlQpaW~ER$%= zo)pDD1Z9m{x%FV&Z`m&O;-l%|whdPv1C;>F{Cfcmo0rNr*T?7Y=IeE}o9pZ6hexP9 z-j3H7P6D@=Kxt(2-(FTK{Q$Vit+xUH)MY?DHy}4N%f=c}nYTdI;(sH#{~Ukh+3Nae zed3V)N9$v!KMV#%TLSo#omT?fiMYnoBWcQPdbB>da_+p*xS}X!?eGs1{ngRhzW5)g zY+!W2Fp0fl{JrU`@cSfsX#l(}j1CBI6Ni)VqR|@HeG~i0e=63QbM1rem=R=C7;6c6Gh;}c-5^drEHAA(0w>!JADsI`v8PwQd$6JxBh zQG4ZiXAEJJAcxZ7T5|veF$M=41Bd|7BqB1)kQ}1{SP<0!FuSR4fti5N9D0G2;vtcKaP+1pa#9V zndoTq9$91Hz40_WGEVaz?e!zPl`Zx8g;MERE29V$taoc*Ust6mj!Fax9s4=-POeP9 zE^aDscfj8ez;2#C0W>VU8fLsQsvwyBiVT{|n%ICRWwaGf%BHGXh9iEMrb-D)E&Uk0 zl(*E`Dk$*PW)H@$(F$z?jq34n5d4<^s9$+JjD9#8XbwQxTSysXApLt3s|Jj zgYnCH--A}Eu_G#j)k%;`?Pye=uGFgB==y32bGq^o5*S^ z^#$4~yMy*6mP-%7^PgB-8RyqFn%59^8kdo8&NNXT#T&SMVBtPm&OFPWwSNJOW+U1& zfoIan43g{qinLs79@>nW!2cg~S1-@irm$+G1QMrCr(bG2&ITPn1&oRWk7{-8DV1r4 z1~YF0(k~g(SbQLefFj1{w$#Rx8+o6C4F3D&hmaru-2}f{t)B-_HGKP;=%2=O!uMqS zI{0eUwdbGO2H~8G&{W95NU#VaNs{zXp}bpkDEuw2+M16Gp>f}=t#(|*0R!YA>C zUCQ+f0E(~@-^wS9N_`tX)lSx0Oo6*Rv=P5Cbo zg$G!<&>leceWh=KJZ%TTq7WonpIqsZrf(3S{Rz-?G+T>W?;u~@8cqGAjKsG>iSH57 z_}oA=u37Ly%7UYgEb>lR)ATvw2 z6v$flL!I~pT#YxPT|~*$As3ZOTO-7ja_b4}O0}`m51FK9;D=ydOZcX>6(zf$M#N7@ zRr^~i!|zXl-08nEN4p*6lbTU{3J}F-fQHt4P+9KJXN>0`yt;f6Qq!IE#+mkwT?Bu2 zMY()Z#FwqJLDCNRbFK8-Wu?;3$e#s%#MCwqy-y^pw*D88#??d`Z_Osu(?WzB|g zgEZ~%cK}p*K%_#|(7kESuS5>Ia0c!!(MR9M4JBjq@4%xNeU8R#y}A7GDbz;cN0P#| z%MTxt!tdC^9rdxf)rQvQ{C`;Bwb{zp@|kFS`JiwxcKT6ta%81)QZ&eN*5X9yMhL+9 zlNE-LEhD)5o!-sX$Ce-dGRPi<<15`)?x%ONm9@)f&cpMaTEZYM&^vy99G<_#D|rA) zuJK9^Ldgfbl7!1Ipj<>axOUrGu*9K(`y|4{%ptYe@xfVs^o&u{T``ZSFd7uI{Q;~+ ziaCL{Tg48^p+dQ;i>Gucp{Q={O zr^CpnnTY9^n1psbikRN{Yaxqrj1%!1B0i0^)XzllL7$Z}+u6x-{0)%YaI4kaY8Qje zzXdD<_Jbti`&+2TOFutafU7okKb<_8`Hf0=hx5B;V`go%i=Nb4r{bmZwx~Rfl)X`t z($;Ax-1=>~DYp=28|46u{d^cBdW&fQyq|&hB@1I)4jnCc2s*%FI$EdWA!#^%3WRjw zHRyHl-BZ0ges-w$%-->{*L%9ZfW`IOb2on9au0|a|;#w}ZM;J3I?|udWL}S3e z>*GsB2!WpmN0s<8=6yFJP6g`OMZe|NW=eCNr+;Ri(r>x-W^g{u&PqG3@^Y z^WPGfB&$4_H{`**j$twj3=<<#rC(T>dEhR~0atGA!V_LC{YnTjxd7~l+up} zj`1v()b3}~PjmM?{p_L}^xbyRv-nGhBk?r^NeYk|eNl@j&8E&A*PA|BYHmTkKyb$H zj;6<^-<|^ZWvy$##kbmmGmW`Ce}V9R(w4(+sAT#B^6TXJ8>A%ul)fvSfZhE1#nG-y zP;GWtexugkfC;X=a#@*tj3ec6#F2J^G98Q;P=0bYcoaSVLL%zZibzI8 zqw19xjyigy1Rv$;tCzg4TSK9#$04huv8_BS?uXQ1S zn)pp6uRL$-4+WH?_93HYk`H16S1nf-E=JXxo%`pf?w^;sm*+>A`ukeX!gD0<0&ZXH z+5YXkf4e}p4~ce>w#(JZ!b@>~^YrmrFjA>3yn>4!jNGHjnP~j>RGpV~Q0HA#r&QVi z9XtT?`X$E&M!FAvMiQvCF2_3yufd<8dh50LnXT6#RR_|JuGreA0W+AjhKkeuO}P z-Dh51|AC-L>VheZvloi z+{HJ2`;Vf4`yDSv?f7GKHyy3PoBUuiE~Rk)XifZadipfeP_EhiLim5Qa27fYyI(}X z@R>H_;wK0^mlZs_yx`f(3!c5A;Mwa6p6xAoc5T74eFe{MD0p^b!Lzp%JbSBshSq@O z+IlKVntNd@8(;_M4V3;9b})7&O^#r;s(gJNv6x=0wVsAI?_9e%itmA@yuuQyvro|~ zk&z9hwJ$`-L0)YU&~u7M)TgBX@bl;m zfGoER$UJ(VLG0X*dyJv?=7io0LiBQBA-x1YkKO>ta?60sqxa8J^!^XiixGo} z?AM|9nIU?)u#jGYpGR*1WVvNP=F!_S^itgYBJ727Pw|I~t^m=qD~#Xpd*z#_%RI^1 zs7G@r{g2t144D#!1~4|92ta*6&IpDO-6{9cWJ;PS|~;P>#`=tkyr z4|91X9{&da{(@e55B@~uHFwwk4J0i*9?et?DrVwu2<3S23wi+AG-BjESS@WI{E{A= zNe{s5O#D6j;8*kjLm!Q}LJ$7OKKOTfa27p4&NCDL$UgWFdT=&9z-qFY_+RXU|D*@! z&;w*!Gx6`}fg{3+h!us76zhn7Nj>ySn!ztCg?>pNR8FcuZWiAOP|ujgs*VdpnUDkZ z!R~|K-;k}v-^B|wJ$fZUqAB~K`ao^q+GpIz1C4mF^%uOxq(a}UEBzLA%6OU3Q;!{c zPs{adF1U%u5b$8@FR)C7MTBuW#CQy>@qaQ;dO#G@=&~panIzpHN1VY56kILPWEke< zsB~;Dc|44zGV~ZUH>T$gSfhsZQwv~u6w~RjoMNtACb&kT70YBwRxBEK)P;}P*dc>* z=|)iYf54Btf1E?xwg+Ln5CFj_$&nb{RI9&=uH`}fY9^NFWMufnyubD9@Fd}YfP6gx zGTdA~vuR+^0HFtidy{Ft!Lgkf|2FS${rZ5*C+X|Sp!GAB);Utac0(Bs$Sn(P%Vd(s5W(WOo)MGc?urJ)8`NK)O`fPX^K^5I8<}bgp8^k;MA0rz z!K8VA3SMjd4N`AO)1>b;2ikwmwnn4aIQWfbQfSliukky4=bEJNR-45^t?1C&cq%tML~uzbSEb9RsD!K&_8l0(s^Svkzs~cwWYfOVkvB?Pq_Iy zF9zJZE%gUCBVViEOD) zxcRnJ47hh&>JM(NEfs_9-In@7k1xZ!8T7{?tU>X{gV0XDZu$6xAA6uH@_z5#kp@h z-@Ngh+&6ZcH=djO#vb#=rS!X5czfk}G2EzoK@T8D9Oy7@$TOVq>x0GQcsjLq#Q z7fSgY7Qqm)^RJ-Uep)Jc$r$N~boR>gwv;C)v8+Df2Fn{N@!7&VuAWR+WG7WV-{s3> zCtP()v~E;m1y<`5s3(u>d-q;%wnfO>TfZr5S7_ZPt+T}5nit^hEz71c zcRqGEFA=~dA0o*EQ?6|(*Rj_w4emBW-@^d!?l67Z&HVnxFn#CCM8C4L^&7k{N%xQD z(YSvBjaQ$S;`uAIueQqjt!dpyK!&;uB!@<`E+j)^wR9Z#z9$S5^ZzW)sW9Jsnu&bx z*TVg3ZMrc=i(E2Rp!Bz~frS1~IW~|HNOv-JL0LOUtIf!m)*H96gTziTvA75#8#<)oO}1^i7Y(2SNbG(KHvWp`5t)hz;y1F2uL>Fge zbzmQ1oH`X}ON$A>UUk59w24%P2ksUSH1+wFX;WuYw zC*C^$u(2MUigddd^wom&VNG`u;JBloAK*AdFE$Efd3CncQY$T^U8 z=9jy9RHMA_BJ37emaJSw6NC1)Qo>^T+;;AMSTjw%%KF~;Jsj#SI4##^Od?vU)%nQc z;0IzLKz0%sBY1?* zk1Bc}PM)OG3*k7!1MCru0bBYrwlR=0hj-(+B!25c_@jZ|dIlYhP(EZ?=`_$n|3w#3 z^qY;wrlX6t)0Kog+)=2TjmB|B8$eJ_yM=H^ab-4Ik1KNE*)kHH=%Stv(k`OiPHvMutD9#p6WR>w)OAG{(@VO&l_z`-rAcdIbJG6aOB8f3=CZC(fJ; z$g zmhqEw=*j#y5YS{_RBigsD1I8rV%Jqb)I4;*=peotJAF45Nb#1T==pnb$0rIz@ze1> z`M-C*)RsY<@$^qHpOwohvzu|S9}lW=$?n&pZaLb;KU^HcJR37Opo<^DVCWG)+5I}g z+WHUx;fP4y`(dA97<3msCfpQT$*vmEIY3kK)<+v03~1~91uBl^nQV-g&xp^%%LzG1 z?+C8cWO4*4&Vkv}qWwl&Dmai~qTJluDAOjEk%7UzL-pFBQN6+YS8%@H z)}Q0JhK~~I6OoK}{=R-sE6-Mm#M;8AX{_8}$A)<>U8V&jw{mGeUvBaFkPHlfje zC|MvR{P|~&>)0o5aBPYh2*u5J?G3dx+W=Gg@>KsyvP0^(j#KZA0M}d3Ao<@9e>8Tm z&c4G~Ce|t7<6#VcK@@xyV!Ut&n|Fu`9D$Y~zQ*1FCE39Nh96YDTB~CGy^I~gPX@mD z0{oFn>4!S+zrM@&aq5~!! zGIY}YS^#?-#W?3!zzU8N{0Y5)XJm7C;deP`!U1=3xCjn8ZOjfs{#}KCPryGuLifDGUoMwpbI(S>0Ww6bFyB@d5QRjcu%q^P=MJ&LwPt7`ER zrKGlFawUqUqE-0R%(JDezGDJK%MEru@RCkirG1Al1%>oqbSt%c@f0}TO$Hj>y4~KB z0Y7Hn#U&2AZ1be#C4E$f4o?G}CAYRIC)`T=# zIHpDH^TJ^`^X?l!&-CqXo3mvVUZ7$*t$a5%G};L5lt#$3IAm+GU1)oxPQNjMG{|C* zV5Fb;vf+lA<02bTE?iE*i{7$9LQ35`J?q5QF=k5HWoO zT3Aw5rFAD+4(KJFV3>>jAE5#kOOIDU<-%w&fvA-GG=)x zgW54L4ddKSc5IE4l(qXtl1P?IPcjo z9hF^d!$LxOAG4%$V#D-CS2j!)YNkV(XT$VPrS+ZuZFozO4GSfF8u#Xm4bwwo!{bn< zYs0HZ*NF|2714pxvv`edm=b@nVUEq#hAF!2z6o%Re^ac)nE{DC((7c8H|5!*jh$l> zJF~t(;M@5EN8B%v^#&sD7pa_VQ)2FFv1>Z5hU}US0%)1#3cHw<#I7-u6o{tak$jKr zd=0^3+u_E_+Bw0g<1hg?K*G)uAn8fixCkc2H$Oho`!zF=kY`);4jAdew$7KJ2y>vi z#wgZ95-5T|0{up3qtd2PjoQAOU3L9fWX#POJ+8FAN9v-!M4Z%L zj}C+&tnG8oq;~;*n`H(OmBzsva$97v-15{}^wdqiEA3X z+Qkec`ll%^u6JM1X!MB#DCw=*zF8d9B3CWsl;#9ONe}1~3ezZjR7=4(2W3sJO@4!Iay#m61aF>Ak`%}$H|RGx*e0oz4_H@|{2rMkEr&DT4wwL} zd(e)^AQIW*@>;#=tbr+S{e=@ysMEgtFUcT}z$nnSAk1dW<4zP)*8mpFe2hn=$TBIi z*yr!X^G()%E3;1}n`F%Z?QyWk+3onl$|~iId1S( zb_44N6XFMNHGc4O@`F9Nq46!2TjB?e2^a$T&%uz3@q_(vq{{iw4)G`zYG#fz?G3ln z37Z75EL<_HatT4GGzl6^cSshp@oUY!@?ryn0P9UvOhp)R*Jy~78&Qe{-!<{7!kzLd zz(el7!O}K|!(J~Yh48{TF;L^9lJv{sON`O3qlr#JKOk&~YspZm)VQ+_o9@hCACt)G zfhrssJYFZw0Uoc`d=XWx|&>pN1f__9K}vmT-1vmvSNQI7#q>+E@{Xdzj?Pi#xnIvE}v6;frh zjJ3BX)s_lfks)%KMLz)~Bq}sA)M<)f86{T^tkLq4YeiOMsJ=niQ2R_UkDAJUj7Dg1 zWJqM7{drJAdle6`A4sC&0ro~Gp{9zv^#d?;dbj=Mql98AE>8q5Bn_xX1T9I3RIy-t z1E=x`UJ@zmZ&XNRNKowtGK*?sr#3%X`(Jfs{({=x{lB~SWU^%X#Jwj|B%tp-c|q0- z&rtQwzW1aaq3=DZgX-Rs!_-*0xs+V63-ymK6P=tdzub&I>&pcxFH3?^ashq0^h?%6zD8hHQmLOKQ(Z`Qu7e6GWGjl|!ZT_ohkEE1yGz>b2Jn zy1nX#*ZTJ4UaySOy~0jfUiPr++E#bTTmAEQRgkZrCg!z^aCuZgrNfe2NNt@edej}u z{pCxlrs%vbe_f2OsDDZcdx!jO=Iwb;v~pB8`TJYL z|4aS>y1Uqo6w~?1rTO2Ac3L68?mWp-o2(_F?_DpAYuBlfRj8k-lS^MW@SW#u{?X+_ z{9PW^J8EXI0R_0r+4^Q+}{rzuMid|M|-Kp$##N+JH z)XE^&yY)ITL9D(r?(EQX^-jmg)4}w!zFZzzcA+{CfA4FORIi6=Qtl149_oG@Q$D*> z0sZ!g<_#zn?DD9m0wnm!LA%|3bQ9PspWU_OK&XU0F0fRHe~_+Mf}8~YZKbt4n_j=m zA5mKxe|eJOL{%rn02q@Mjd7w5Cic;!IHYCVxF(!TYRbtG%EBi*Nl(|yWRaMqM3 zDxudD`)LZgo&CK-pR7q%ABt^m*F_G?Ja6insP=K`=Vxbak7AxE|B01T`jN9SaAy_k z+k-CH$-TpT*B9rW&4sKot?cp(yS&qN@$z$!x7C6)LwEcr=W7P`ma&}lq8XB)c)ZIy zQzf*|iDZ*w6=!*>$4E-!4~|cf?Sb4dIXQa)Yq0laadGKk#e)*%R@kG%O~@@58}tfL zQ4-jx?8_LMYXE^+z;tr0iJOxQxzXi ze5=`T1WQWgRuCx8M7&T3KD2 zPFCLTWOiEljA)*!SO?QEVfOs$SyKB;wSBEF!vMB((d82Ko%q%HVzlZ$>X{tgwdzl6 z`I(q+?>R4@|Jlu#Z1R_Hov8NI9~jHcEN832|K6cI8zq{yN_D6;rb8vlb3Kd7<4dGt z$rAvwI#xOLXcwLIpBAwik&=}}&yW4A$P%)?q?DG4AL#h@f9MBlgnm$p%cCBb;%z8(bbeU(PaQ$$ zqdJDYrMDl;2WT{_NP^a+Q^{ zPMxHPYVw>`MzowX_&w1JlI4LKo1_(8vAxnhQbW%uS$AEYuT@df4+HdZo4&^2*(Whq z>Uv3)-&}66-+EJJ8adZXmWyqJm$>uDjalW)B-B2=aOX`9(BXU%mYuf=d&Y>pugIVH zQT~ZhuGEc^aiXjVYUmv+akVR^<#SNNzvJbPkPSG<#aAm4dOYd~;Qy)$3y0J-L8YEcw^0Y;~HyEnpRU%E?ow_lqS@)qUe+BVj$6tqLcHsAP86RPX=Z zZ&a+HldVplK(_f~v)MECwpyNXze)aa@5mn=^oV3L@vi(WIIW9pRpi>ED^=wn+W}Xq zs-bKMT&ZgIm$>B@AF6eixMhQ+mf;e&Tz*#lW{JCi-T#-kpR!lIC2sFbm33avEHy~3 zAocO+`X~3MYSEtAGE&aybwOU4_0YsnS8RE`2~$Uhsv>qc*cF@C-m*p88#>Q>YSMx( zd#Jv57ig(-3iZ!qsQ-rX;t+AFHrufl9Gm zbD_}XIVzoWOiu~OGo7P7N7S}cy6!is>n>7hcc`?kR5kD{mVj*L^m&4u^H?R-cFq~M zM8@fSO2wOeJaTC$bf{bel2(^I534+vNyxig{^*CmxV*O|=saT~pA}cle*TNh^$JN6 zzs{AqRn<)HCcaYMC(2^c^XyqA@9YQB2FcT4RHftdmkn0WO_2vSs5*JhNX)xhk~vwp z{i`0Av7R*&im9%y-X*`K7MZ%stS3z#Drl!GmCcpnl>?PDRc=DO9kd@knA6{TP{z1| z+#x}oV>$)9<&RH;yL6?}bp3R#U8$d_rnCQgK9F*ypQ%un&Mwc|C*JD0N?s`S(Ff<= z$*LUBk1`8qi>aqxdfUmRt*F4rz_{yC@`TWEK`XgZQpP_rV3cl0St#oM1#)I&tvqBE zmXjLk65>BB{}wXpf`4KuryYvfL;V?wJW)=~rYm)){8hU&H8i`l52c1`S*!1R%KkwA zb0x2*o5y8!FSY;h=>3N*juBb!L>{Qf1~t`2C-NteO-|$?k&m3n zUqm)bB);C?Y9N)3DjTG}Z)PRf{nEGnx5y+>0diSU?eTpUgpLQwWk|KlC+@Sx=w(?| zO0-;~)hguKDhZ=&>8qZ0V4Due)<-S~tM;V3%utI_r*Q`bhv+<~J|&AIBU=6Sek{|K z>Sa&kWd-{fy(Nu;QI9C+HrNLN2BO0FC%Jz72t4V4eeygOtl zr-FJQb@P{FlWuw`ntCR-HD#+UhQ}^Y)2_zfqpIvqF`Zqb|DHzGPeypRNxjq->jzm- z@&!)2b#|(1Y*M$x_ig!3&Ow%G@lN*E`cswIK8~s?bxl;u(cT37->izMs)Bak4bs=u z)ND(EpGoerB1A{K{&{uuoRW%n>72Dv>n|&-%U6@pTN)G@1({$&uXH~*#iz<)j z^S3vx_IthgQOCimQ^?j;599UbMb2vMsGRYrvHFK<_7kyH1MX7IAV>0^&lM!F+XU1W zO$GLtz!wVYoLRb*RZ7}Ro*$l59+c{hb<3pynb)9TJwKk4YN1FPbbw z@KAYZlRN-PG8+26^o?-WXcY|(^2nAuA=DjI;oQGXx9@+Pu8c14vnR`&Z5}D*Er`WliT> z-hWId-Bk4j^{7fUbftVHOWPY1D_yCJD^)Ev^|8Df%Jm0-C#+gYh1Jj}tY$`q)zBxb z%2Z)BG-1`BWxHj`&q$p0ztkXSv!k|BatUX@4D6M$bCNSgZJv_4_-rSWx^|MyCL1f6 z>g)fUN^QHCO26saDJ(&*>#NoB$#R~YUae-{xO{Rs%X>ibkb?vH8zk@K*djFLky_gp z*p&&;lclUoxm;OJdyQk7^a(UG9l&#ht)%XEvU#LM~ z+Fmut9+38>9tNiElcC!7sZ?sHlBuCer-mw>8tQbi5%e6@xelExYj@gLYNX!oxb<^C z%c*7R@A+Pmy+sE2uyuc)2dx9W|5^65Bh@DVv|wZ98(zbzrt zdE#We+jC6*dXLK=|Kxj;(kth*q4A-)^kgq~Wb+i+N$#;3we#)Jyt}=9q?bX$ehs$@$)1HXi=Nu;_KYRKyr)0EK%4wlj zZ*XN(eMa6$1DNfuy*>L{a`)NpI@>c9{rB}YYdYWc_P+rt>ZDzfX7QAInqGe=jdYp68=*t;t-${WkeI+*SsN(4FpYpa= zJE{e))FTormB&69j4qeMJ}ZkZC#PQJB!xX*9jU2w>LJH!=zFB5KM#6Q>RVCT%s#V} z`!Tsoweg&lbzUAkdQNQzepY|Z%b)Pz#OPq}1yOSLLb9d0C`t^7$#%AAkoOmrNRO&z zMrAu2?(=-2_z>BK`03BIb6WMdaS;=mWfe8vJGOz~G_5BLitNd#VhBOa)rp^7DNs-yZ#2`~Pdh%MC)Z zW;d(hddPm!B+Wg|ix7J^{=M zXEnV1_%kb<)$sCr&8%=%!^=?|LnGjlXsjD+8Y3U2}WNRN^U0W zqW$plVRCAlrq&yK?QxA(+ZyMTS<^mc{(Dp%lj>9Ezo$`0n&y<*&N8`+DomZhd)Mph z25M7hZ<{>w8zniCwFBzPkw;cAxwN8JTm8J@v>$ZU)Zduo5t5PTdHHIgcfDK`a4MYP zE}}YP1vy~#j#T-}N?6`>Pmk*Qu2i+NP>1?z=zFLy+qnR%i?mun{W;$mHQFP;d2v28 zu(vC6FB8>1_T!ITa@|8!S0791k7AwoX{z?>$yuJ3Qh0ISCvUNRD`v&Fw6|}y>^w_3 zTV#EnTTbest_$epC*PdVrK;bYs0zi~Z=bjVBUfJ31*-V%&LxQGaz&hr57FiFn(Goy z#J&olE@kPmo|dwnR>zN$p?u3*t^gj8rVDU;PRbl4bqox4kUb#CC@{p4%#IxM1zHuI z`r0*1lv!TW10o_hndcPyBZZ#Ne`KQPVBggv3 zRsG}=MVf{L)LvHyG$f$*zdE2H0ktRA0SyVLeXcAWiOQd|7Yn$lE;e(bAbzU#cvH*yqHm57}p@&S`DZ|8PF4+gC1lT2*8| za)k!y6IZ(mCFQv3N6FJQS{-uPXRIFi>b`7t?0`Dq_Q>a}@`*tMng7IEb|16PYLn~< zlJufc=fw8NAp8FE!S+B-c^k@<-V!ptxV(8rHRIVBIrUeEmFoCP4MV)`Bz{&drK*z* zbzwjaVni=9Ro=hv?flnVpLzuFV}qElt@*zY@S@XJe4FXClrt~FsD0bkXK!k zmFxFKR3?^nvv#LQcT(4=V7Z#_6AF@0h&`b@ATp#&CwmTp{3C;ngMH#5K5_3>DS&J8 zx~|Qwnv?DIM)hymeOc9X`$x+ach%;Jy_`1fW*7OlHkBVR>+1~mNT)GFo@~>S(x!Ts zr9Lf)_NtrZ>ig%~`;(_+*@Xp_s^Jt@(dDTw4U?GYvKOwWq>Q(hpt_i%mbb^FLu#RS zPVzjfn(@DP46{h{Mg=;{)LFK&Vwr`i&Q#SxRl}@>YL@9wr>wm8G7Yrk^M`-vr*fw& z)%E|@MCy9yf9rM$y4ywnuf5#N%>TK6s*_SRD{7cEEA-DXV@>}IRL?TEsyoX(V5oF7 zKe@=N+BsNX8uD4ug6*qBYDEk7Sv|c@59w>qzRyB33rsD;B-uCy_%wvmNg@NB&Jt{| zfW_!6@`=*_sk6x0P+iqYg5+z-h1K#8c2?NDQL;+uHP$R$H%nKYH>)O5L(?Q?*?#e* zy=)7+>}8<#kNIW)_DI%;8oF)lJw(;55|FDf-PLDu9{Dv(s7HPpB3pKQ*5#8L)i;x5 zXwPzhvw8&R3vbco^RXT~u}TlT$C*69vVT-4!HT8T~9*GyL14k*iDH)ciX07@RXC zXK2naz5SAJuRD`EtA5UGIm11zBz16Pm@_8S9_GxEGrJyRwyt(|k>TD$>UhPjKsMhu z*?r&S@Ofiz#wrzea&U^KDo%l>0(R$hl7H=F z(btvXOc|DzVU*gF%0IP}Jt+D{UU|i48?iv%*Hqhmy-`REvX7Dc;-lqYRv%@_hC#0r z`ja^Qp-*(JaVkUo0c>=+k@Do@4`g9i2$fqG>R9PMu2lN~SH-<@ejs_-0d?fXRzL-*yWi|mh7zb=X5clXLC8N7#$rM6dA0evVXIWnj5(j8`#t8183RmM27s2 zhtA=VA#wy0;*~ZCJ?)$w=$d*}&3(@q?5L`~ed3U+uBF)DM;om#tE8$E2hX`2(gXFl zoMF=a!gFTxY{(|JMhwsA$tF8B&k5;7k=g7)xE|PtUSZw?GR7lciVd|7!m`^f7Ma~E zU!+&pKJCw@$5~G;v~sCs=aRc4CET-*t<*LkS>~aZ-Uj3f%N3q0Tdt^pTv36!qTIQn zf^tO#=ZXr+6&0E*DlAu2c&;cJn>|-lj$Ba@F;V8zF8T3Ez6iBr_o#=k#(4gezfl3f zZr`_okpZ$J>Z7Wvo`_i7UmXwRlvT}hR%SdhI3R1B{DdXMCuvle{!U|5cx1RcSU)n@ z*^>NR+Y=&Ld3(qoH8v>Z|2$S&Q*F{BvqgqRhDC9#^*~nb2)%0iM@IOhj?CfvCc-z<96oP6q0%^KBZ~X0&!P33=%~oER%E0so4V@A zRsPkHmu&K^?($NHEowQb-+VL>tAGB9^6L?`QmHQrsG?hEE`y(jsrf36hy=6`6KUbXBFD&IPnqss}B(C$AT`Py=*^BoSAEWcO2 zm+6diE)Y6jZc}5UQ{-EBph_-sBr@LRf#@!QPx?xSOf)bd~o_l{(rZAK$8h zT=5Nct&N{nkY z?8T)1J)8C(+0Hwl_n?|DR<7LR>7GwlDp$2a#olGBR4wwKg$)}twEw`~ru4SGhpL@| z)0eDPbsMPv|Hzm(SE81DjAZ31Y7Lbe;`Nt~T-s_OA3Y7UdaH4kU!G@sB=z(T>ezo! zFYn9EdW`fA8`_|Mk0ftjJz6em{{M8ovp;Lka((Zhp~>DPJ-3!69r*wI^Xt^rEN4~c zQ2~}!uetiG{*98Cnj^L4QZGMQ)Ac_Y9~EZ5?0`(wsEusg{_p;&&h~HrnyyOE-)Pz0 z7v!~}(em^k8?Q(|Cb3P;SEcuAzUrQwf&J&d=Bw}NV3QT;Q)(@^bEES7JDFwY-_9)c z{+-M+i|=GUz5GsQomJ_X%|A%L*=*IlX)1BERdVs!=ijr-)8DQp=@aMQ&L}+hPDbH{ zcQT4CPtPc};$EhHElj^^keX^UTt_zqebTo>4}|#Y)*FWV+^C?q^h4 zdoQEGru&(RtE3LgB_F9n{Z)4}pWk>dlmi zdFR~8khdADPd&)^?3YKGbAEV`S@DB=nUz0C&)oOxLp3V1!IHa~(!RYKFTcB@@U&Z* z4<9|w{QBa<%&2L%GIGzjlX3p$qm0wPKgyW$^`9#1%#CN&boRf?cOPd~oO>tpnPqoB zdUpBUL&e^_nR!sAeeftFbJx!gGCx26F!PW5k0o(NX1jIidZI&@A7(zc>7Mqw;}0^c zN}Z(+$7J~)EcN#7%moMjlnF8(pT7R+@$qX9AOCt=DkSgQeVCr{oB002jEu=&sWh1x zBX-<>T+NwY+J0FTsY}YXbeZRjjLxg2?Wf<$cwwV{|9H^0dzs6Q{H5FD;BOBzPF{bM z(PRC+jHhScR`uT~{i?kTGuy0?nUeBe`}}@JkvDHFwYj%5iobO;BjN2^8P6`d^SFle ziMWY3G8#y~YPs}IM!PlXD!+_+i|^iOvF2WW)sLkArpmI&EHBF~;hozVo*B0?O2|A& zK97sNaWlj7=B-OU+ z?@51KbT?B?qsmo7>AzEarVt4bR; zlzu989aEWYLqe>}h2*!U?b}*A z-wDxMts;%uH&(}6hva=TIqNM_FUk9&%1-{dtiXtlv0Gz9WNT(UC|1FWws(JWyksqv z*CpBPb&9pD&VB4VjLI(E>Ls!7WGKhh`W#BtQ;O905 zSUF`FDlhx58Y92>w(5t-*}A;kRuhyW>Y!t<5}S$^prwvNt#3ph%PZ76>d0-Kb;f45 za!RrH-Fn>-1Sa>l=Bwt-%-ktk&{!Tgxu{IdyJu z#m_1!FSoVksu|nh4>R`L^R_~*Yd8Iz`UT!HD(ooQ8Y_B9UOBA|@>i9X(+az7RMkyYg3+7HZ}H(@fC> z^>!3(efiLyHq<&IQZ;Z}zsO}4yEWtiM^0;e-^=Ks=!(4DR?gl=Wze&z2O5oLqYdb^ z=xcdhv~J2@yXVCAaao!2&TZ9p6m7jEQgaz?jd$d>=7{Vbwh^VHhbVVnlP&@E5ZUuF zLS)bHSjL_d*)>Qf_K0*P`kDMHi|iiOo>+>=&TlfY^`eFHa$CoUT|icUlV8gLE~~!0 z+*ZjX6YGL{pqZlA)v|mqyFGK1`CqpfE|cH4JCOVJ*50$p+xDrdZQexcUWj@;IEk*a;PbxvgGd<(e;n^*xy zZmWz))ihc@S2AO}p#hFUt!W}v`)F&qNcF2|YZp50DAejd#MJ5v3QRV0{zi(+N|u+~ znkj$P^37>2abls?_aaqBsFm(0+KQJ`3^gA)twthy&3i#)r%OTe&<^yIBh~))w$ql{ zV?rWmB2)ELa<)xmo{q?;GemakshavkZs{~hK9NivdCeyhCtsq7&{r|dyf^Syb)M&w zrn^qF+9&d|j(qA98K-QPv}7ly|K+yAtW!D?=*o(m(~&|>B(J2o zsB^9;5ql};RuQRl11F+-VYqzfBf@IoM8d7lgR<#Jd!I;t9qHi{DXt^3S#{d*^Pnm^ zq8?XZm-Ts28y$JoC(ZZ()jpGb(oENpcZuu{x}&FB;6wtgJwb7SYN|C(}o#PoGHfFjeP%PDItYc9<$l-F3-c%KL)8 zjItz6Drvq7ip! z6Ui5?raI;miH}yL|K<~^sUx?2B4cz!{h-}mbDKxZ*ZD;GL_X7z{63Li^i&?7$RnMm zmQN&4j4HjoPb6NxiV$J-bRvN=r_FVm0X}Jl>omiBBJ*`*tWV@aJ=Ij7$PS%mnNQ>= zo#s=Y$YmY*#)+uX-FajaVErHw^)I*8F`{Q)6}jLO>8m5Rd?EvM#1&{yl~<~HUq}eNx$~qz+kn5@D_;rn#q9awwr)xxk{A#L3 zK544xNL!ysJ00on6B(i-{d^*C$>*!NtRYS$P)gsKUu{KGC8GZ2mNTcS1yp2)Po$=f ztni7{)satqA`Nxqh)<-ke1sWcU6Y7vji)5%<~s7wi5&9l8_`)uvb*gxa{r5no^n+_ z!ipo(FT$%MWt_+fzkU(Jb)*52{t+W}q!W>sB1Y@TK=K(7F;+*?oXBOrq=?sb?xr3fRUPT) z6Pc_dqkSUp=*SG8$a^}n!Y8s&M|Su`Rz5XW%KFxc1X{00$nVT0@{1Fx=vokQRYz_R zSs3w1M;;Pc6p>TDP#0kZ1>5sp(X}|jqa(S9EQzS0BZY`8jcBGLrHL$yc)p){sqc)kdCpHtiqxC(_^cW zrM|5mEo1zw(oW3JswB!MF@HW37UyBr1!lpl48f)CKi%)OzdykzK|R`9R#(C^P}hK=aW`^by*NzC&lw6_k$r z%9wJqp}eRVDu-&KCa5Fog@&LpXbPHxmZME*7dnJapkL5U^aur)HFJ~;#i2x01vNx% zP9s-s4zE$WW?qoHUlnu*q;-RL;Fj51K}3Z|x|P(9QM zdC_?EKH7-BMyJqi6j;%emJgLh&!BE-FnR+mM4Ql;=sZeCp--D~^P{q;KI(*CLTP9Q zT86fxZ_qh(3;9s1|CA`lGSvZL}KgK_}54$geWxqLQdK>VT5a1oS@IguX`S z&^;7Z#gtndRYNUN5_%QQMjxUt(J6EX1y(hs6++ceOY{O7h9;v0=p*zsx`1w>kZPvf z0;oJ{gu0_-GzG0dpP-}Y8p=SqtDADmp(dyg8i$sluh4ZAR>R~Mj~b#LC=Ja;Yte3W z7Ck@(YML^tqjt!PCZVNhCpwPqpzvBI=MtzsYKQuuF=#qkgLa`a=q?JWZAvSOYN2-M zB{Uw*K_8;8(XZ$Mim78ttAd_GX=n~wkM^MB=o$*EYjTc9&!9eNB3guYp_Aw?3aMvu zE`sW#u4n{Wg7%|d&?A($zR9^9YK(fK5$H8E9nD3{(FU{w?L*(8bLc9%hx{6t`h}ys zs3c^fp?A)}znR zF?1bepd5`&o#Rj`R2?-zol!sZGMb2HqGjkKvQa-l+~G^&akpq8i$>Wzk=R5St2Knu`X^fCGpeUHwg zo9Gb=ZpIv;IFyJgqk5WccIWHcI0MAOkcv=VJXpQ5kOQFIzzLbuUl6x`g*WfUri zN}(F41$rJOp^<1ZnuV62O=u4~gifL>=pG7aL7h<{R0h>S%}__w6D6ZDXfm3GmZFVl zC)$UOqMy+p=n)ESY33sjDuK$Q+Ne3|h6bTm(3@x}+KTp~pV3ux4+XX|^~;5dqNmX_ zr~~SQhN1E3ZL|`7jJ`le(HV3Z-9Z^Bw6&>oG%Acrp(>~zYK}UiUT82Hji#anXcO9v zj-l(w)yC8`4=Rlspsr{bdK0ZipP?VnZ|EV)-qw^`6jej5P#-i3O-C!xR&)@ZLAOv) zJ5%mcr~+z?x}#xe3R;Y|pabX}x{Jcvn{o@II;aEchen}^XgZpUmZObm2ik|eL#NRt zbQ@)$unwlqc~DVQ7S%w{qIT#7l!Qj0@n{BGfIdJw(0=qIx`1w=M<}GDnU5$`0@X$x zP(L&t%|aibFVXkt3c8CjQD`Sqm)s~0C7?>EE^3B4q8HIXGzv{X)6oL77HvoS(Q$MY zJw{=j&3we6%BUe~i(W*-&=j-?Z9;p|adZ`_n_<|W#pFgFR2{WIFQ8=fI+~BRp?&B_ zbOk*^(Opel%Ase`b7%;fik72~(P4A}{e>dCnbP7>9n>BTK(C;;(Q33CokTZL$aAK& zf~YKNf_k7-G#7o0zC)K$;Pa-8yeJXXLG4g~GzPtcR-ql}F!~ieM#0@p4RWEvs1&M( z8lV=a6Y7Zup^@k{G#xEKYtR?y6uN_gUodrk3YA6mP+QasrJ@;V1=@r@MF-H2=mPo! zJw_otO#O19LMRbcMGaAF^a2`;#-sUYBl;ShLAR0ri>6k&kq0$GFQBn#3EGK{plc|o zrzs-_C7^n!E9!%Wpj0#gy@lqYWoRAx80|ra&~bDDT}StktCyLNY$y*Zf=Z*Rs3B^N zx}x4_FiJ%e&|7FOT8=iL9cUjqf=;1d(GBz$^6$<3q8L;NC7?>E4r+qhqaG*;jX>kk zTWB6yfi|L@=qq#-ok5q;9h8Z}`k48RK}Aq$R24NqEm0TL3ninm=uI>qtwdYU7w8x| zkFF#CzNYs1P#M%1wL>qWWHbpaLmSa9bO0Skzo6UbA#(RK^@~9HP*GF{RYMI?YxF$o zhmz44G#SlAi_jXh1$~YVqGRZ1bQPr|^#dmRI4lfBqe3VVRYvttbJPj-M1#;s^ctFh z=A)J9BlIacgifI=C>{B|Wacdz#i25&CVCciLA}r*G!ngrrla|2721qGM+ea{bROM7 z0Rxy1R035+O;9&95KTn$&`R_X+Jz3H6X;iT3q3^cBvaE!Q~;Gg3~G&@L;X++ z8iU?I@1lih4cdY}M+ebQ=n}e*0tT9S%ZXx9BC3L(LG4j5l#Irr>1Z+9h<2mz&^dG! z{fPnwnL6h{1yD&;1wDh>p%>5q^fG!Ky^EHikI)`;1pSV}y{4wcP<_-LC8J5`L-Z;7 z0bN0lQS@L_S|L;lRY4t45_%miL%Y#g^a$k|VoEE8>Z9%`8BIYe(Oz^0Jw&;ZO&O(8 z6Vw^?L#b#M+JFwA^XMK5OEIMtMpaP@)DMkCbI=FqOLPuBL^+0<(h||Ls5^QYO-HNI zm*^~dgmMfsWfVhIQ8Uy74M&sE`)DKj3Y|e2D0a9hw*qQ{x}l+H8d`>Sp`+*$dW3Sm zY)UJJs-li)IGTwzp~L7`0X0W2p^0b( z+JjD^KT!B6lXFp24|PF9(Ihkjjfs5$D0dZHm{44Q;yp+#s7 z`V1XLC($Kz2R%l?qfPB|qNh+PR0Y*XEl_9F3k^o2&>LtrT8q9$zoEw{PnxM|8PpVY zLtZo$%|n~fkLV`KKE{-hfSRJ-XaZV-cB6CXG0OLf$+IJJ4}-8)bXdlu-=TKyA=VXbhTxHlT0O1#}PP9A`?4NA*xAG#E`n%h7Ih z3f)J!$D1&~vCSN=C1s zspvhl5^X`Bql4&2bPiob_mFF%sdILe4;4ohP;Jy0wMRYCU^E&{LbK6Iv=!||-=Z_< z8u|;lUpMoS8x=zpP(9Qdy?_Rx(P%Q7jh3Tr=xcNlJw{QJO#MosM(8>8GMa`~qTT2? zx`+JVFlFRKg;5z)8?{E=(GWBN%|UC?PIL@iL61@7WK*l6s3K~Bo<{>w8k&aYqYuyy zbP%0F*U&>0HpSE`KT1H=QB%|v4M3@A3Yv#LKs(SubP8QV4^h}u>W30gb<`AfMFUVO znu6w`572gW0G&kFk$Rk>ebp)g#i6pO0cwYOqv2>8T84I@qv#4!H_Wzc5Q9pihNv4# zL6gy9^fCGd{em8%oNt+OOQJfcBkGSvp&4iu+J$~VSCMPFDJ?H5iyELVC>gzpR-s+! z82TLr%rK?pN9EBor~~SY#-Ml50<;=!M+eX`bP@f5thY_Aa-lesh$^E7s6Fa~UPhD9 zeDnd@f%cDZgkC}KqP6H#bQt}NZXwsZrrd(48fuDqpi$^O zv>Tm6k5T@ari==x6&iqELrc*u30AMNK^*ZMXgYGG#E`l@1Zs5GjsyoK_RnE z4dPH0)B^QEucG(SR`fl(id=I{8L_B3YJ=26mF+Fu6to=eL1)lkDEE72TJ`K@JD1w1 zGa81bqYu%S=p1^4^3OFnS3&L2AT$-NM*Gk&$Zwv>FF&e+I-r4Q0$PYRqi@h9txDeUo!hR0nlOqtI-$2JJ;Zqem#;0#inL)CMJ?X=p7{j~}%A z!8H`N(8Ll^bJPdDg65!&=m5Hi9;28=ri_ZHHA+S^&^mMo{f077fyE~01k?a^L}Sq$ zv;lpK{y>pSOwOfIQ`8rYMen1n=v#CfMJzQr7ezHuN909sprvRRI)xsf0?SMpWl&?( z3yncR4xk^<&*(b3j{=sPTIE7TQ8`otHA3xCU-UA19nD5d&}Os`9YH72 zFX#sP3x%vOwaDBBv7b3A$m^+l7=3bY^nhWtJ-`4vX>Q9qQ1W}s#06Z9>*jxtcpT2opX z^epO)#-sPqE_4xvd}#7ZK&{X)G#h=2E+Y3jlS^Jy5A{Qn(Ry?MT|^lu|9X>iHPjWQ zqB&>_`Vl=u1vi-dDxgN_IW!KLOc@EN z9%_SnqT%Ru^d4G=_M_A2PZaqP<)UZM^Jp}B7i~cM(0TMHirh>Ys3Gc(UPkYtb?8fU z8a+a}wwN+Xp?at*N=8%AV)QXOf-WJyt)`4Ts5EMTx}YKG4YU|-M?at&C~%u8Ee_R0 zozW092`xq+qoe3|6!ftvqbRC_I-{ZJO|%;ALFdt5DCZ}pj0&h3>Vw9j`DiOTiY}wz z?I!19s1|CAlF$V7KH7?opx=>th`fE=UI0}<%~2mT4!wuAq94(96tdHlQ5@AoozMt0 z6Kz31qKByPrzYp7Xb_r#HlQQuCW`#b z=hCPp8jRjVi_liIADu@JQFL`vMp@JpbwxwbTWAyd23cA~G*59l}a0EO2#^(%xbqS~k# z>VSHnBs3h2MN`oN^a0v}K1WB;DRd1zLO~5o?em}_s2r+=TBGMt5*mqKNAIE)=p(cr zokG{pV-(WR)HE8EKvhvA)DFFfyl6Cf8!bUQ&|!2D-9>@Vm|8`kqNqHohgzUc=tVRD z4MStm6f_epLTk`wvSP1j9x`k&@8kV ztwmeW=jaeRjxM0z(S79iteML&6pad@1oSkjjhdi#=y^04jYU(@Y_tr0g7%~1=qkF8 z{2QD3h(Lu=8B_-~M?KNYXc}6KHlf|<9Qq68XkzM81XV@N(er39dL7L{>(FQD1iFqg zQKUR%!9F4@j#{H(XeL^Rj-neVxS7c>4pl-e(DNt-jYqT5INSmWVJN;WhY=G3YI{2yI74&;@h@1-3CY&5III1JnxjL22k6v<4kQzoXo3O=%TTJJc7ALkrOX z^fSsp1?5rE_ST{tYKWdk!_XA87;Qtx(eLO!%0xl!O}T|o4fGrujTWMh(FODfJ=MYF zTm^MRgV7skIr<#^j2@zxjwa`LR24Nv&!Iu+6|@3`PBkGIBpqXe5+JO$DpU@?A3;B05wTeQ8P(@S&wMO00OK2>5 z3(Z5z(K_@Q+K;|N=g}=>J!k5i9X*9AqDH7YN(Dmz1^Nb^MAy(mmXf^r-9YQD2Rg{i``9K~x#lN1f0Bl!m6GMQ9`X0)21S5yU`UC^peRh4=Ro-p@yhE>V;C!6tob1g1$q)pg&R608^JD zs2Xa6`l5+w9@>UZqsJ&Z$&`_R>Z6Wm2zmp}M;p*VbPC-@p#x26B~dNZ1*M@yXg|7% zLI#=q3Zg_*13iOUqUX>{C=I=hR-&EgTl6!!i5?)g*VHdJDv7G1Ca4=qK@-q&v;!SQ z7tmF72R%eN2Af*Np;D*@YKYpQ-e@oyi{3^H(1++_^cDIJokqW)JIFP})HxExp$e!j zYK1zXUMLw&K<}dYXcgLuzD6g|d2|)sNA6@(`+O)KRYbK=6Vw6qM1#>7GzHB;%g|To z8uCjqwJM0Jpf+d_nuM03Ptaj>5&eY<3^k=yK^;&MdIPORU!$uiaG1%jII4^KqbXBk zK~vCsXe&C5t|R}^rUtR7GHQtipx4oAbP(M}1=38;6;UUYjNU_=&;fJ`-9r9jOwRdG zB5H_UL?h93v=Z$?C(u>o_lhYkFN#NXQAacsy^U6*J?J#Lf&9ms(qd61)D{gwuc3Kp z8~PF5LfKw5Wh9`cs2_R_EkZld33LbL7-w=Wg<7H{^g4PUZAM4XCFDQeRPS;jfuoDx>yj6k3e7qJ8Kzx`{GTjtQoWcvKs;L;cYRG!?y%wxL7l5_*iHCz^80 zq2{PB8japYtI>Y+8?s(EIp;xTQByPky@8gXo#;n&8-+|VWyGOIXfS#UZAQmYI?DBi z$*&@6gNC6cXdn6wxh9)jilO?b8ybuzqa|ny`WjtC_fYmJrnDlcE_wmIg65zP(SCFu zrK8ZPri`MfI_ijqpb2Om+Kj$I7m;h4DdQknienb9mkuz$5dZICCKH84HL%*SiC~CSXBOcX7-Ox}p9c@I1(Pfl@^2{)0R76cs zcQgQvM6aWHXf65-9Y&|ob(Dd!y>0696pBaHQFGKC^+Q9@C^Q~TMKjSN^a0w6cB4b+ zIQk8xqkwnJe8iw4s2r+^nxl@WH%dWc(c5SdT8p-!FVP8f89hcJ@0vR2LuJvk=tVRf z%|PqW0rVRRm}$z0L-o*$Xc(G;7NK?Mb94xuMmJC<$}!8-pb#pBYNBSS8ybwpqnT(i z+JHVq2hd4$3Ef84Y*W8*6pdn0JgR~kqi(1#8j8};M6?L)K!?#Katw5X6m*_im5?w?$P$tST&&*K)R2-E< zHBe*J4)s7O=oK^>y@TeXm1q;%g?>aA(S77U-_$-Eibip$G^&9bpk}BY>V{rIBhZ^@ z5&8)2M&F}fk@dc*b3RlCHAX$rDD*D+7@a|XqTCBi85K}FGz^VHZ=v~U6WWWuM`zJB zbQc9LG&RVB5>XA*6m>wo&>-{*nu_M5RcJHXjlM+}&}|gH$ka3u)kWRW2s8z)Mf=eO z^e4)_*pyKowLnAA+h{#Hf^MN)OUMsBi#nlRXfPU$CZTuHBD5B5L7$-m=oq?y{y+~< z*iuvH{HPRafV!c9C=E?U3(-dOB|3&Kp}$bbGENIdmOmplmBl?Q^00$b-tFn&?^7 z1tp-Q9Qp&fSDN}oqf)32YK6KXFG@pG(LA&keSwalE9eo*y~@<8C@PQY zq4uaBN=0v>g=i!C0{w_CqkG6&ZR(N@#i6HB6VwI0ghrwX=uNZ^?LtS;Mf4a&tueJK zfhwb>s5|naacDMLfi|Q4=s3EDTpySkM50(!4%J3YP&YIH4M(q|*=RM|gm$BE&`;=B zl#T+|nmR|LL{t;CK+mC<&~P*!O+~ZO60{a=MPHyJ=p?#{tPf3{!%!*I9Q8x5q1k8+ z+KTp~!{{WsgdUr7pWqB5u|YK%Ido@fvniN>KRXf|4kK1AElF7y>ThR&mOWths4eP;Mxz;ME!u<5qI8sPlc`l4 zDv#=+mZ%#_Mw8H7v>EM1N6{tp80GxP)Ww6!qk5yRs3Gc%`lF%fH8dS9LZ6}^(C^6FW@?ZNc~BM96m>=YP%4^? zR-(_*_vj+JkAglnb;*n3Q7zOG^+vbO`-|?xWBzObzm*1XLgOLa(B^Xg%7CenMAK2FkwIlv^CtK&?=B zDZa!2MbwUHt473FuK&Q|x6u8fnksFmnl~6;}5%oo>=neE9 zT7y1ChtVbU7s~dPsZ~K#3N=7|(I_+xZ9re3@6k>40Oi_m$}NYUK|N3!nueC34QLNK zjP9abUz^e@pmwM`8i-QSG_)G+Mn}4tXfpt)!R z`V1XJC(&={FBE>n)F3}9h3cTzs0SL3rl9#~E!v3=qYLOBa(`#)k{iXNny4KbfF_`Y zXg&G_9YCkhZ|F}Han#hM2znYdLETX@nuHdkz33vki-Ny5rIkR9&;axnT93X&=TN{8 zCco^c7^;byqwXjLy@B3Go6$b>6S{?hel#_RL1j@*)CLVeL(xq1F*=2;W2TJks4%LC zTA~-xShNW3LqDPGDD=1~Ee=&eP0;gbIC>9lL7$;x=r5G#gek2u>WBuQSI}Iv1D!zk zQ1nkG=d!3RdI`OP=A+H%8+09IJ85z*iE5y>=y@~*O+$0gGPDz&LFp*;lqoj>HAJ1! za5NsxLaWerbP%0FH~RH&G_adDhgg1S*f}qLwHLjX|@}Do0uOPW88%o%6GnU$(4B z>+#Qi)^}Hx0?zwc$F#ylr?jF)_SmNwTa2+~7+aaKb)2zocUUQN57^)fe%9=3mepZw zc1M0zDbYcRwI16@t~sCe%5%2soMKlZ;6gdxqjAs(Fv`OL}#^jiY{m!7F`ngwsYX` ze%8dts-4476v~5QQE^ntk)KsTq~^oVswSEu`2|>ih!QfD?uk^-vCFXUt)z0crE<2V za<(<>4x@XXi@$Y=bX{-wS+{h$9;h!G zh*Ho<^a`5bDB4nO+F05mzibO=){Af6+XxK+#5#zZE1>a~WW% zesx1)ewOKLe)K;->%OF0<)_Am-}1B8YUM^A(FPqWFS66sL9H440-7w^EK|6xnIhH0 z+}0A2s!Qv!*FjNF-j;RHrD~8{R8uP!l@h6G{jA!ex_az$qJ~N|K-CEVA2Rg{Yp6Z4s$$grD`P=ouaRN@TAoKZvBtGIro!rqyPM z2J3X^MfTWi4~(7_jniXOh^hA5sAH!d`dM2=zH4`{M|OT4#`Z^EG}Mvr6eA?2%IGk5 zG@9XhZSdO4AC5~(C<+}2PX*=tQF&1M~W)p}1N z)pVL0I&$7`v6Cjq`cp^t`KdH&E`lt-!ZMI`awm}-Ix^n+Q6jZ@3n z-D;yFGxCJ=by+XV%9g|Gry~<-`5e|TpNN{F9M)?-k$w`1u-?&;S9R%XP9v?EI`WPc zFJ%qVkqthP5faI5#TAu-b>6SNq!};DYjx5QyL1)FZ_U?{eSRNGnkf=_%KBVKW?9=L zGD9K-t;BAFA}5k5kyR3j zvo1T49O0I=PDjeBt|s{uk%&CZMAD3QB9$bfmPMSk*N)JJan^S}kwQAn&pr{=hJ~yf zI+E3fg{?makwH)e*bp&&bG%Rx=$r?`K;6X{((xm1_B4B+b*- zXeUx%+Gnwj9C0FDC9+B)m8?ARGLTjsA`vwgm8@P)WSkSJY%Ovk?@Hu~q^Y82O;4pF zcSO~!PEKUGL>@|{hV`*eB+$>YYFQD9_EcLXO*V=4pwv zu=e{z8cL+KRYi{TRGO2LrnN-cS(BW|?-J=Gk@nVgpNJ~Gqt&2{Jyl>f%jzYO&enXN zh{~snb=`^NmNWw;($#8K)}Bg5MoHv(YmpNvC6RArWDo16Ped){o>oO!h-wQ^Q__r= zsd`%@bY!BAsI{PvwbqHWbn@wAg{uvv%$JI&eEL~0*b(~kOV&W2NFhn{k~P{V(oZ4- ztSLH@)t{5BIXYtZ-pNv*Bx{3Dm|JVwsXrky3s4+G{oYxvsB&;`({7wNKAJ&Z$_Dmm!M`9V~_!m_u5MhYjvgT9sjb zKvG4PK&a2dhB`&4&r*ZqQhi#~r@-Jqf?74DQ>jrST zV}@QuXxWb$Y;?kw^+U^k+z_pazU-Zb^EKgR&qn7?L$V?ZAtw#BN*_A}NHye~A@*AQ58G=!gqGr*AxGqSkzPZ!$PUO3Wd1gE zi+lhn?L(3@mix3q$}}lfq!RM4p;@E@nJo~bF<~56k-P>m8;eDLg}ey~HJYyDjIl4q zJfyENO(YU>5Yo?BFESGHC1ilnb3Iqx2x*5z84E=+AwNO9M$ZkLSqw1-84Pj8YLT@N z7i756mBN|VAhD2(j0K8Z2pM5)7kL+%%OInS@i%f6$<>g{j0;2#L&iZ8jYkwogIsA$ z8qZao$k6z?+E~F77|+)jw<$6Z@oS8Aiey8sHGZIpKAy)KTQuSEd8RUmLPMBu~Vc6YokDu^qaM58AzUhOflArSRFj(Z#Q;{#6qeOzulNPfvc{7 z&|Yx6u|#AFBn@(hu}LIHk3U8)3s^g-WVeeQfaKYmE{shF62dH%@keAAUlnf zx3S!SOfBSnV^Rjo49H%{2gb(RbupR^hR=ZqAv(@+va%kn8%y&ScpGxfU|MPq!kO zkjZ`OvN+R<%tFW=ea6kwr2ukQpJtIx$z=A)n9Ugy%FOK3F47BG1)1IFW4E3 zk<@#b9SG~g)A>36A$^V&(H^SNrL>@r&i=$WX40z^{LL~ z49RSWEvW24mP3$7ATdF459v}0@dZ_jbRzQ{WMELrBF>QPgbWF46X}I~2pJZXo5vZF zuOSx&nHIBzI}L_kAeRJHiwuPH3B~y6c12c0rUg|!!kL-KY=zttl>8{m3P>Gfeo&prTF7q5{XuaB zoY@R%f;<@1uE-CN{Gj4xoY{fQpO6(nj^(<9SaBo?Divu!CK9qbNPF;sz3EFxEaZux ztt+^SWCWxvD7ld3G$a|aF{oXU$&k%Kd5>|%=rR~)Kwb=rEz;#-$g4pOB2mcDldPRV z4J$cAvJ0|1Xjd^yJfsb>KPdijmI;vKkdK2JMdm`zL0W=RR&iz}BoxQ8!$CEQ^n-jJ zWM9pht;j?{z6@#;*$KH4@?B7N31{{~(jXl{Eh1k+=$!jwkmm``oPbp0&tpM3B7aep zCUqjF{w&9XdPE$M+tIl*sN_lR6Aifsaw^EMhGhuk0mzx4E=8V(oC`Wq%9+u~&=V+= zsro4vIxl|)>1*<=)rFonIZY)Zbj@}O5^3sEWGd4;)4BV6Q;H_~8SQ*ifs&yCILy?@5;&s`H+5>l zXS67EjyE~hQ)m5*cA?3w3Exe`B6FcBStJE(Y=|aRBDX^59xcJtBQgU*TX}>jshm0& z86JYrRvu|86e)(#Rvu|;5GjYyox&w1`_o)S@+JPf)RZRjqEwAGm59_qMq+*vOb(m~w5cxGArf0ayFaT#W^hq}DQX~^{y(xPGXCjc9 z4@osOh{Qr3g4}F!Z{*BnA`?vau>`JdCYqKgLZfA(X_X>0TGC9O`|YNDMb;v7hspG;o_P*3-BhTFKBBTs^-6|D)V(G=h`@hE zff1EsiqnKg)XV5I&y=c(KBDe3rArlEBW*|KK2yHP^;kdj6z@J$o5)m117v||)N?$o zT*$|e2Tb`Qk3(8CX%N{2`2vz_%BK$$)G$<-W*O?GPGK&zX7^p%L|h zDW6t>^7QFd)8mQ^#J|02s!${w@|x*IP4qGUx~WbR9`o6l`s=1 zw@k%~(7nShQ=2CG2!Gq;dRebpfj{3hWv~QB_&O?ZSa#k6*twrZk}@b^tMQbi-Y z5SjN)tslwMpK)}NC=JaMpJAJSKR=i5&og6 zK@l3^2TbX&a^_BCXk>n3Di)aop{@LhsYT=w$kUjgPfVleA21F}AvAhFH5H3&h0qHA z%+wXZ$axUjrr(*iid+hzy}R8MvO}v19BF?r^;d*O-4CWX zMY17BO_yk*kGc+1vL-z0-oVs5Oc{#259u^DDSZw=PMQ*T>Qny$a@tg_$PbV+CU>2l zIR*LMRLo+y0ZT#W(;id1Cgp~^AZL;J%M|y9R;3AT<+G*?5n6Vd`dL$x2p#Ka>VKOO z-{h*f$k5ac=4z3p5Sn_BdB9s*Ca}hW&4U%8H5P0hsR*qxi}@N&^feY@o}dY@F=M#F z5Ms_�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

hU!1Y0=Z%dCtbXrv*=4HK#i_>S*56 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

cp8)6yon$vq%F^EhB01c4O8UAJ`!2_t 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 WZF%r3NA&~4QsbC+ + + + halcondotnet + + + +

Represents an instance of a bar code reader. + + + Represents a generic instance of a handle. + + + Represents an uninitialized handle instance + + + Relinquish ownership of managed handle + + Caller must ensure that handle is destroyed at some time + after this instance is no longer used. + + + + + Returns true if the handle has been initialized. + + + A handle will be uninitialized when creating it with a + no-argument constructor or after calling Dispose(); + + + + Releases the resources used by this handle object + + + + Invalidates the handle but keeps the HALCON handle alive, which + only makes sense if the handle is used externally and cleared later, + e.g. by an HOperatorSet based module or another language interface. + + + + + Provides a simple string representation of the handle id + as hex number, which is mainly useful for debug outputs (to + see if two handles are identical) + + + + Cast to IntPtr returns HALCON ID of handle resources + Caller must ensure that input object is kept alive + + + Returns the HALCON ID for the handle + Caller must ensure that input handle is kept alive + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Clear the content of a handle. + Instance represents: Handle to clear. + + + + + Deserialize a serialized item. + Modified instance represents: Handle containing the deserialized item. + + Handle containing the serialized item to be deserialized. + + + + Serialize the content of a handle. + Instance represents: Handle that should be serialized. + + Handle containing the serialized item. + + + + Test if a tuple is serializable. + Instance represents: Tuple to check for serializability. + + Boolean value indicating if the input can be serialized. + + + + Check if a handle is valid. + Instance represents: The handle to check for validity. + + The validity of the handle, 1 or 0. + + + + Return the semantic type of a tuple. + Instance represents: Input tuple. + + Semantic type of the input tuple as a string. + + + + Read a bar code model from a file and create a new model. + Modified instance represents: Handle of the bar code model. + + Name of the bar code model file. Default: "bar_code_model.bcm" + + + + Create a model of a bar code reader. + Modified instance represents: Handle for using and accessing the bar code model. + + Names of the generic parameters that can be adjusted for the bar code model. Default: [] + Values of the generic parameters that can be adjusted for the bar code model. Default: [] + + + + Create a model of a bar code reader. + Modified instance represents: Handle for using and accessing the bar code model. + + Names of the generic parameters that can be adjusted for the bar code model. Default: [] + Values of the generic parameters that can be adjusted for the bar code model. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Deserialize a bar code model. + Modified instance represents: Handle of the bar code model. + + Handle of the serialized item. + + + + Serialize a bar code model. + Instance represents: Handle of the bar code model. + + Handle of the serialized item. + + + + Read a bar code model from a file and create a new model. + Modified instance represents: Handle of the bar code model. + + Name of the bar code model file. Default: "bar_code_model.bcm" + + + + Write a bar code model to a file. + Instance represents: Handle of the bar code model. + + Name of the bar code model file. Default: "bar_code_model.bcm" + + + + Access iconic objects that were created during the search or decoding of bar code symbols. + Instance represents: Handle of the bar code model. + + Indicating the bar code results respectively candidates for which the data is required. Default: "all" + Name of the iconic object to return. Default: "candidate_regions" + Objects that are created as intermediate results during the detection or evaluation of bar codes. + + + + Access iconic objects that were created during the search or decoding of bar code symbols. + Instance represents: Handle of the bar code model. + + Indicating the bar code results respectively candidates for which the data is required. Default: "all" + Name of the iconic object to return. Default: "candidate_regions" + Objects that are created as intermediate results during the detection or evaluation of bar codes. + + + + Get the alphanumerical results that were accumulated during the decoding of bar code symbols. + Instance represents: Handle of the bar code model. + + Indicating the bar code results respectively candidates for which the data is required. Default: "all" + Names of the resulting data to return. Default: "decoded_types" + List with the results. + + + + Get the alphanumerical results that were accumulated during the decoding of bar code symbols. + Instance represents: Handle of the bar code model. + + Indicating the bar code results respectively candidates for which the data is required. Default: "all" + Names of the resulting data to return. Default: "decoded_types" + List with the results. + + + + Decode bar code symbols within a rectangle. + Instance represents: Handle of the bar code model. + + Input image. + Type of the searched bar code. Default: "EAN-13" + Row index of the center. Default: 50.0 + Column index of the center. Default: 100.0 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the rectangle along the reading direction of the bar code. Default: 200.0 + Half of the length of the rectangle perpendicular to the reading direction of the bar code. Default: 100.0 + Data strings of all successfully decoded bar codes. + + + + Decode bar code symbols within a rectangle. + Instance represents: Handle of the bar code model. + + Input image. + Type of the searched bar code. Default: "EAN-13" + Row index of the center. Default: 50.0 + Column index of the center. Default: 100.0 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the rectangle along the reading direction of the bar code. Default: 200.0 + Half of the length of the rectangle perpendicular to the reading direction of the bar code. Default: 100.0 + Data strings of all successfully decoded bar codes. + + + + Detect and read bar code symbols in an image. + Instance represents: Handle of the bar code model. + + Input image. If the image has a reduced domain, the barcode search is reduced to that domain. This usually reduces the runtime of the operator. However, if the barcode is not fully inside the domain, the barcode cannot be decoded correctly. + Type of the searched bar code. Default: "auto" + Data strings of all successfully decoded bar codes. + Regions of the successfully decoded bar code symbols. + + + + Detect and read bar code symbols in an image. + Instance represents: Handle of the bar code model. + + Input image. If the image has a reduced domain, the barcode search is reduced to that domain. This usually reduces the runtime of the operator. However, if the barcode is not fully inside the domain, the barcode cannot be decoded correctly. + Type of the searched bar code. Default: "auto" + Data strings of all successfully decoded bar codes. + Regions of the successfully decoded bar code symbols. + + + + Get the names of the parameters that can be used in set_bar_code* and get_bar_code* operators for a given bar code model + Instance represents: Handle of the bar code model. + + Properties of the parameters. Default: "trained_general" + Names of the generic parameters. + + + + Get parameters that are used by the bar code reader when processing a specific bar code type. + Instance represents: Handle of the bar code model. + + Names of the bar code types for which parameters should be queried. Default: "EAN-13" + Names of the generic parameters that are to be queried for the bar code model. Default: "check_char" + Values of the generic parameters. + + + + Get parameters that are used by the bar code reader when processing a specific bar code type. + Instance represents: Handle of the bar code model. + + Names of the bar code types for which parameters should be queried. Default: "EAN-13" + Names of the generic parameters that are to be queried for the bar code model. Default: "check_char" + Values of the generic parameters. + + + + Get one or several parameters that describe the bar code model. + Instance represents: Handle of the bar code model. + + Names of the generic parameters that are to be queried for the bar code model. Default: "element_size_min" + Values of the generic parameters. + + + + Get one or several parameters that describe the bar code model. + Instance represents: Handle of the bar code model. + + Names of the generic parameters that are to be queried for the bar code model. Default: "element_size_min" + Values of the generic parameters. + + + + Set selected parameters of the bar code model for selected bar code types + Instance represents: Handle of the bar code model. + + Names of the bar code types for which parameters should be set. Default: "EAN-13" + Names of the generic parameters that shall be adjusted for finding and decoding bar codes. Default: "check_char" + Values of the generic parameters that are adjusted for finding and decoding bar codes. Default: "absent" + + + + Set selected parameters of the bar code model for selected bar code types + Instance represents: Handle of the bar code model. + + Names of the bar code types for which parameters should be set. Default: "EAN-13" + Names of the generic parameters that shall be adjusted for finding and decoding bar codes. Default: "check_char" + Values of the generic parameters that are adjusted for finding and decoding bar codes. Default: "absent" + + + + Set selected parameters of the bar code model. + Instance represents: Handle of the bar code model. + + Names of the generic parameters that shall be adjusted for finding and decoding bar codes. Default: "element_size_min" + Values of the generic parameters that are adjusted for finding and decoding bar codes. Default: 8 + + + + Set selected parameters of the bar code model. + Instance represents: Handle of the bar code model. + + Names of the generic parameters that shall be adjusted for finding and decoding bar codes. Default: "element_size_min" + Values of the generic parameters that are adjusted for finding and decoding bar codes. Default: 8 + + + Delete a bar code model and free the allocated memory + Handle of the bar code model. + + + + Delete a bar code model and free the allocated memory + Instance represents: Handle of the bar code model. + + + + + Create a model of a bar code reader. + Modified instance represents: Handle for using and accessing the bar code model. + + Names of the generic parameters that can be adjusted for the bar code model. Default: [] + Values of the generic parameters that can be adjusted for the bar code model. Default: [] + + + + Create a model of a bar code reader. + Modified instance represents: Handle for using and accessing the bar code model. + + Names of the generic parameters that can be adjusted for the bar code model. Default: [] + Values of the generic parameters that can be adjusted for the bar code model. Default: [] + + + Represents an instance of a barrier synchronization object. + + + + Create a barrier synchronization object. + Modified instance represents: Barrier synchronization object. + + Barrier attribute. Default: [] + Barrier attribute value. Default: [] + Barrier team size. Default: 1 + + + + Create a barrier synchronization object. + Modified instance represents: Barrier synchronization object. + + Barrier attribute. Default: [] + Barrier attribute value. Default: [] + Barrier team size. Default: 1 + + + + Destroy a barrier synchronization object. + Instance represents: Barrier synchronization object. + + + + + Wait on the release of a barrier synchronization object. + Instance represents: Barrier synchronization object. + + + + + Create a barrier synchronization object. + Modified instance represents: Barrier synchronization object. + + Barrier attribute. Default: [] + Barrier attribute value. Default: [] + Barrier team size. Default: 1 + + + + Create a barrier synchronization object. + Modified instance represents: Barrier synchronization object. + + Barrier attribute. Default: [] + Barrier attribute value. Default: [] + Barrier team size. Default: 1 + + + Represents an instance of the data structure used to inspect beads. + + + + Create a model to inspect beads or adhesive in images. + Modified instance represents: Handle for using and accessing the bead inspection model. + + XLD contour specifying the expected bead's shape and position. + Optimal bead thickness. Default: 50 + Tolerance of bead's thickness with respect to TargetThickness. Default: 15 + Tolerance of the bead's center position. Default: 15 + The bead's polarity. Default: "light" + Names of the generic parameters that can be adjusted for the bead inspection model. Default: [] + Values of the generic parameters that can be adjusted for the bead inspection model. Default: [] + + + + Create a model to inspect beads or adhesive in images. + Modified instance represents: Handle for using and accessing the bead inspection model. + + XLD contour specifying the expected bead's shape and position. + Optimal bead thickness. Default: 50 + Tolerance of bead's thickness with respect to TargetThickness. Default: 15 + Tolerance of the bead's center position. Default: 15 + The bead's polarity. Default: "light" + Names of the generic parameters that can be adjusted for the bead inspection model. Default: [] + Values of the generic parameters that can be adjusted for the bead inspection model. Default: [] + + + + Get the value of a parameter in a specific bead inspection model. + Instance represents: Handle of the bead inspection model. + + Name of the model parameter that is queried. Default: "target_thickness" + Value of the queried model parameter. + + + + Get the value of a parameter in a specific bead inspection model. + Instance represents: Handle of the bead inspection model. + + Name of the model parameter that is queried. Default: "target_thickness" + Value of the queried model parameter. + + + + Set parameters of the bead inspection model. + Instance represents: Handle of the bead inspection model. + + Name of the model parameter that shall be adjusted for the specified bead inspection model. Default: "target_thickness" + Value of the model parameter that shall be adjusted for the specified bead inspection model. Default: 40 + + + + Set parameters of the bead inspection model. + Instance represents: Handle of the bead inspection model. + + Name of the model parameter that shall be adjusted for the specified bead inspection model. Default: "target_thickness" + Value of the model parameter that shall be adjusted for the specified bead inspection model. Default: 40 + + + + Inspect beads in an image, as defined by the bead inspection model. + Instance represents: Handle of the bead inspection model to be used. + + Image to apply bead inspection on. + The detected right contour of the beads. + Detected error segments + Types of detected errors. + The detected left contour of the beads. + + + + Delete the bead inspection model and free the allocated memory. + Instance represents: Handle of the bead inspection model. + + + + + Create a model to inspect beads or adhesive in images. + Modified instance represents: Handle for using and accessing the bead inspection model. + + XLD contour specifying the expected bead's shape and position. + Optimal bead thickness. Default: 50 + Tolerance of bead's thickness with respect to TargetThickness. Default: 15 + Tolerance of the bead's center position. Default: 15 + The bead's polarity. Default: "light" + Names of the generic parameters that can be adjusted for the bead inspection model. Default: [] + Values of the generic parameters that can be adjusted for the bead inspection model. Default: [] + + + + Create a model to inspect beads or adhesive in images. + Modified instance represents: Handle for using and accessing the bead inspection model. + + XLD contour specifying the expected bead's shape and position. + Optimal bead thickness. Default: 50 + Tolerance of bead's thickness with respect to TargetThickness. Default: 15 + Tolerance of the bead's center position. Default: 15 + The bead's polarity. Default: "light" + Names of the generic parameters that can be adjusted for the bead inspection model. Default: [] + Values of the generic parameters that can be adjusted for the bead inspection model. Default: [] + + + Represents an instance of a background estimator. + + + + Generate and initialize a data set for the background estimation. + Modified instance represents: ID of the BgEsti data set. + + initialization image. + 1. system matrix parameter. Default: 0.7 + 2. system matrix parameter. Default: 0.7 + Gain type. Default: "fixed" + Kalman gain / foreground adaptation time. Default: 0.002 + Kalman gain / background adaptation time. Default: 0.02 + Threshold adaptation. Default: "on" + Foreground/background threshold. Default: 7.0 + Number of statistic data sets. Default: 10 + Confidence constant. Default: 3.25 + Constant for decay time. Default: 15.0 + + + + Delete the background estimation data set. + Instance represents: ID of the BgEsti data set. + + + + + Return the estimated background image. + Instance represents: ID of the BgEsti data set. + + Estimated background image of the current data set. + + + + Change the estimated background image. + Instance represents: ID of the BgEsti data set. + + Current image. + Region describing areas to change. + + + + Estimate the background and return the foreground region. + Instance represents: ID of the BgEsti data set. + + Current image. + Region of the detected foreground. + + + + Return the parameters of the data set. + Instance represents: ID of the BgEsti data set. + + 2. system matrix parameter. + Gain type. + Kalman gain / foreground adaptation time. + Kalman gain / background adaptation time. + Threshold adaptation. + Foreground / background threshold. + Number of statistic data sets. + Confidence constant. + Constant for decay time. + 1. system matrix parameter. + + + + Change the parameters of the data set. + Instance represents: ID of the BgEsti data set. + + 1. system matrix parameter. Default: 0.7 + 2. system matrix parameter. Default: 0.7 + Gain type. Default: "fixed" + Kalman gain / foreground adaptation time. Default: 0.002 + Kalman gain / background adaptation time. Default: 0.02 + Threshold adaptation. Default: "on" + Foreground/background threshold. Default: 7.0 + Number of statistic data sets. Default: 10 + Confidence constant. Default: 3.25 + Constant for decay time. Default: 15.0 + + + + Generate and initialize a data set for the background estimation. + Modified instance represents: ID of the BgEsti data set. + + initialization image. + 1. system matrix parameter. Default: 0.7 + 2. system matrix parameter. Default: 0.7 + Gain type. Default: "fixed" + Kalman gain / foreground adaptation time. Default: 0.002 + Kalman gain / background adaptation time. Default: 0.02 + Threshold adaptation. Default: "on" + Foreground/background threshold. Default: 7.0 + Number of statistic data sets. Default: 10 + Confidence constant. Default: 3.25 + Constant for decay time. Default: 15.0 + + + Represents an instance of a camera calibration model. + + + + Restore a calibration data model from a file. + Modified instance represents: Handle of a calibration data model. + + The path and file name of the model file. + + + + Create a HALCON calibration data model. + Modified instance represents: Handle of the created calibration data model. + + Type of the calibration setup. Default: "calibration_object" + Number of cameras in the calibration setup. Default: 1 + Number of calibration objects. Default: 1 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Free the memory of a calibration data model. + Instance represents: Handle of a calibration data model. + + + + + Deserialize a serialized calibration data model. + Modified instance represents: Handle of a calibration data model. + + Handle of the serialized item. + + + + Serialize a calibration data model. + Instance represents: Handle of a calibration data model. + + Handle of the serialized item. + + + + Restore a calibration data model from a file. + Modified instance represents: Handle of a calibration data model. + + The path and file name of the model file. + + + + Store a calibration data model into a file. + Instance represents: Handle of a calibration data model. + + The file name of the model to be saved. + + + + Perform a hand-eye calibration. + Instance represents: Handle of a calibration data model. + + Average residual error of the optimization. + + + + Determine all camera parameters by a simultaneous minimization process. + Instance represents: Handle of a calibration data model. + + Back projection root mean square error (RMSE) of the optimization. + + + + Remove a data set from a calibration data model. + Instance represents: Handle of a calibration data model. + + Type of the calibration data item. Default: "tool" + Index of the affected item. Default: 0 + + + + Remove a data set from a calibration data model. + Instance represents: Handle of a calibration data model. + + Type of the calibration data item. Default: "tool" + Index of the affected item. Default: 0 + + + + Set data in a calibration data model. + Instance represents: Handle of a calibration data model. + + Type of calibration data item. Default: "model" + Index of the affected item (depending on the selected ItemType). Default: "general" + Parameter(s) to set. Default: "reference_camera" + New value(s). Default: 0 + + + + Set data in a calibration data model. + Instance represents: Handle of a calibration data model. + + Type of calibration data item. Default: "model" + Index of the affected item (depending on the selected ItemType). Default: "general" + Parameter(s) to set. Default: "reference_camera" + New value(s). Default: 0 + + + + Find the HALCON calibration plate and set the extracted points and contours in a calibration data model. + Instance represents: Handle of a calibration data model. + + Input image. + Index of the observing camera. Default: 0 + Index of the calibration object. Default: 0 + Index of the observed calibration object. Default: 0 + Names of the generic parameters to be set. Default: [] + Values of the generic parameters to be set. Default: [] + + + + Remove observation data from a calibration data model. + Instance represents: Handle of a calibration data model. + + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + + + + Get contour-based observation data from a calibration data model. + Instance represents: Handle of a calibration data model. + + Name of contour objects to be returned. Default: "marks" + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + Contour-based result(s). + + + + Get observed calibration object poses from a calibration data model. + Instance represents: Handle of a calibration data model. + + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + Stored observed calibration object pose relative to the observing camera. + + + + Set observed calibration object poses in a calibration data model. + Instance represents: Handle of a calibration data model. + + Index of the observing camera. Default: 0 + Index of the calibration object. Default: 0 + Index of the observed calibration object. Default: 0 + Pose of the observed calibration object relative to the observing camera. + + + + Get point-based observation data from a calibration data model. + Instance represents: Handle of a calibration data model. + + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + Row coordinates of the detected points. + Column coordinates of the detected points. + Correspondence of the detected points to the points of the observed calibration object. + Roughly estimated pose of the observed calibration object relative to the observing camera. + + + + Set point-based observation data in a calibration data model. + Instance represents: Handle of a calibration data model. + + Index of the observing camera. Default: 0 + Index of the calibration object. Default: 0 + Index of the observed calibration object. Default: 0 + Row coordinates of the extracted points. + Column coordinates of the extracted points. + Correspondence of the extracted points to the calibration marks of the observed calibration object. Default: "all" + Roughly estimated pose of the observed calibration object relative to the observing camera. + + + + Query information about the relations between cameras, calibration objects, and calibration object poses. + Instance represents: Handle of a calibration data model. + + Kind of referred object. Default: "camera" + Camera index or calibration object index (depending on the selected ItemType). Default: 0 + Calibration object numbers. + List of calibration object indices or list of camera indices (depending on ItemType). + + + + Query data stored or computed in a calibration data model. + Instance represents: Handle of a calibration data model. + + Type of calibration data item. Default: "camera" + Index of the affected item (depending on the selected ItemType). Default: 0 + The name of the inspected data. Default: "params" + Requested data. + + + + Query data stored or computed in a calibration data model. + Instance represents: Handle of a calibration data model. + + Type of calibration data item. Default: "camera" + Index of the affected item (depending on the selected ItemType). Default: 0 + The name of the inspected data. Default: "params" + Requested data. + + + + Define a calibration object in a calibration model. + Instance represents: Handle of a calibration data model. + + Calibration object index. Default: 0 + 3D point coordinates or a description file name. + + + + Define a calibration object in a calibration model. + Instance represents: Handle of a calibration data model. + + Calibration object index. Default: 0 + 3D point coordinates or a description file name. + + + + Set type and initial parameters of a camera in a calibration data model. + Instance represents: Handle of a calibration data model. + + Camera index. Default: 0 + Type of the camera. Default: [] + Initial camera internal parameters. + + + + Set type and initial parameters of a camera in a calibration data model. + Instance represents: Handle of a calibration data model. + + Camera index. Default: 0 + Type of the camera. Default: [] + Initial camera internal parameters. + + + + Create a HALCON calibration data model. + Modified instance represents: Handle of the created calibration data model. + + Type of the calibration setup. Default: "calibration_object" + Number of cameras in the calibration setup. Default: 1 + Number of calibration objects. Default: 1 + + + Represents an instance of a camera setup model. + + + + Restore a camera setup model from a file. + Modified instance represents: Handle to the camera setup model. + + The path and file name of the model file. + + + + Create a model for a setup of calibrated cameras. + Modified instance represents: Handle to the camera setup model. + + Number of cameras in the setup. Default: 2 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Create a HALCON stereo model. + Instance represents: Handle to the camera setup model. + + Reconstruction method. Default: "surface_pairwise" + Name of the model parameter to be set. Default: [] + Value of the model parameter to be set. Default: [] + Handle of the stereo model. + + + + Create a HALCON stereo model. + Instance represents: Handle to the camera setup model. + + Reconstruction method. Default: "surface_pairwise" + Name of the model parameter to be set. Default: [] + Value of the model parameter to be set. Default: [] + Handle of the stereo model. + + + + Free the memory of a calibration setup model. + Instance represents: Handle of the camera setup model. + + + + + Serialize a camera setup model. + Instance represents: Handle to the camera setup model. + + Handle of the serialized item. + + + + Deserialize a serialized camera setup model. + Modified instance represents: Handle to the camera setup model. + + Handle of the serialized item. + + + + Store a camera setup model into a file. + Instance represents: Handle to the camera setup model. + + The file name of the model to be saved. + + + + Restore a camera setup model from a file. + Modified instance represents: Handle to the camera setup model. + + The path and file name of the model file. + + + + Get generic camera setup model parameters. + Instance represents: Handle to the camera setup model. + + Index of the camera in the setup. Default: 0 + Names of the generic parameters to be queried. + Values of the generic parameters to be queried. + + + + Get generic camera setup model parameters. + Instance represents: Handle to the camera setup model. + + Index of the camera in the setup. Default: 0 + Names of the generic parameters to be queried. + Values of the generic parameters to be queried. + + + + Set generic camera setup model parameters. + Instance represents: Handle to the camera setup model. + + Unique index of the camera in the setup. Default: 0 + Names of the generic parameters to be set. + Values of the generic parameters to be set. + + + + Set generic camera setup model parameters. + Instance represents: Handle to the camera setup model. + + Unique index of the camera in the setup. Default: 0 + Names of the generic parameters to be set. + Values of the generic parameters to be set. + + + + Define type, parameters, and relative pose of a camera in a camera setup model. + Instance represents: Handle to the camera setup model. + + Index of the camera in the setup. + Type of the camera. Default: [] + Internal camera parameters. + Pose of the camera relative to the setup's coordinate system. + + + + Define type, parameters, and relative pose of a camera in a camera setup model. + Instance represents: Handle to the camera setup model. + + Index of the camera in the setup. + Type of the camera. Default: [] + Internal camera parameters. + Pose of the camera relative to the setup's coordinate system. + + + + Create a model for a setup of calibrated cameras. + Modified instance represents: Handle to the camera setup model. + + Number of cameras in the setup. Default: 2 + + + Represents internal camera parameters. + + + + Provides access to the internally used tuple data + + + + + Provides access to the value at the specified index + + + + Create an uninitialized instance. + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Compute the distance values for a rectified stereo image pair using multi-scanline optimization. + Instance represents: Internal camera parameters of the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multi-scanline optimization. + Instance represents: Internal camera parameters of the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multigrid methods. + Instance represents: Internal camera parameters of the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multigrid methods. + Instance represents: Internal camera parameters of the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Distance image. + + + + Compute the fundamental matrix from the relative orientation of two cameras. + Instance represents: Parameters of the 1. camera. + + Relative orientation of the cameras (3D pose). + 6x6 covariance matrix of relative pose. Default: [] + Parameters of the 2. camera. + 9x9 covariance matrix of the fundamental matrix. + Computed fundamental matrix. + + + + Compute the relative orientation between two cameras given image point correspondences and known camera parameters and reconstruct 3D space points. + Instance represents: Camera parameters of the 1st camera. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera parameters of the 2nd camera. + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + 6x6 covariance matrix of the relative camera orientation. + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + Computed relative orientation of the cameras (3D pose). + + + + Compute the relative orientation between two cameras given image point correspondences and known camera parameters and reconstruct 3D space points. + Instance represents: Camera parameters of the 1st camera. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera parameters of the 2nd camera. + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + 6x6 covariance matrix of the relative camera orientation. + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + Computed relative orientation of the cameras (3D pose). + + + + Compute the relative orientation between two cameras by automatically finding correspondences between image points. + Instance represents: Parameters of the 1st camera. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Parameters of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 6x6 covariance matrix of the relative orientation. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed relative orientation of the cameras (3D pose). + + + + Compute the relative orientation between two cameras by automatically finding correspondences between image points. + Instance represents: Parameters of the 1st camera. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Parameters of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 6x6 covariance matrix of the relative orientation. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed relative orientation of the cameras (3D pose). + + + + Compute the distance values for a rectified stereo image pair using correlation techniques. + Instance represents: Internal camera parameters of the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Evaluation of a distance value. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: 0 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.0 + Downstream filters. Default: "none" + Distance interpolation. Default: "none" + Distance image. + + + + Compute the distance values for a rectified stereo image pair using correlation techniques. + Instance represents: Internal camera parameters of the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Evaluation of a distance value. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: 0 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.0 + Downstream filters. Default: "none" + Distance interpolation. Default: "none" + Distance image. + + + + Get a 3D point from the intersection of two lines of sight within a binocular camera system. + Instance represents: Internal parameters of the projective camera 1. + + Internal parameters of the projective camera 2. + Point transformation from camera 2 to camera 1. + Row coordinate of a point in image 1. + Column coordinate of a point in image 1. + Row coordinate of the corresponding point in image 2. + Column coordinate of the corresponding point in image 2. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Distance of the 3D point to the lines of sight. + + + + Get a 3D point from the intersection of two lines of sight within a binocular camera system. + Instance represents: Internal parameters of the projective camera 1. + + Internal parameters of the projective camera 2. + Point transformation from camera 2 to camera 1. + Row coordinate of a point in image 1. + Column coordinate of a point in image 1. + Row coordinate of the corresponding point in image 2. + Column coordinate of the corresponding point in image 2. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Distance of the 3D point to the lines of sight. + + + + Transform a disparity image into 3D points in a rectified stereo system. + Instance represents: Internal camera parameters of the rectified camera 1. + + Disparity image. + Y coordinates of the points in the rectified camera system 1. + Z coordinates of the points in the rectified camera system 1. + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + X coordinates of the points in the rectified camera system 1. + + + + Transform an image point and its disparity into a 3D point in a rectified stereo system. + Instance represents: Rectified internal camera parameters of camera 1. + + Rectified internal camera parameters of camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + Row coordinate of a point in the rectified image 1. + Column coordinate of a point in the rectified image 1. + Disparity of the images of the world point. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + + Transform an image point and its disparity into a 3D point in a rectified stereo system. + Instance represents: Rectified internal camera parameters of camera 1. + + Rectified internal camera parameters of camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + Row coordinate of a point in the rectified image 1. + Column coordinate of a point in the rectified image 1. + Disparity of the images of the world point. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + + Transform a disparity value into a distance value in a rectified binocular stereo system. + Instance represents: Rectified internal camera parameters of camera 1. + + Rectified internal camera parameters of camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Disparity between the images of the world point. + Distance of a world point to the rectified camera system. + + + + Transform a disparity value into a distance value in a rectified binocular stereo system. + Instance represents: Rectified internal camera parameters of camera 1. + + Rectified internal camera parameters of camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Disparity between the images of the world point. + Distance of a world point to the rectified camera system. + + + + Transfrom a distance value into a disparity in a rectified stereo system. + Instance represents: Rectified internal camera parameters of camera 1. + + Rectified internal camera parameters of camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Distance of a world point to camera 1. + Disparity between the images of the point. + + + + Transfrom a distance value into a disparity in a rectified stereo system. + Instance represents: Rectified internal camera parameters of camera 1. + + Rectified internal camera parameters of camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Distance of a world point to camera 1. + Disparity between the images of the point. + + + + Generate transformation maps that describe the mapping of the images of a binocular camera pair to a common rectified image plane. + Instance represents: Internal parameters of camera 1. + + Image containing the mapping data of camera 2. + Internal parameters of camera 2. + Point transformation from camera 2 to camera 1. + Subsampling factor. Default: 1.0 + Type of rectification. Default: "viewing_direction" + Type of mapping. Default: "bilinear" + Rectified internal parameters of camera 1. + Rectified internal parameters of camera 2. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 2 to the rectified camera 1. + Image containing the mapping data of camera 1. + + + + Determine all camera parameters of a binocular stereo system. + Instance represents: Initial values for the internal parameters of camera 1. + + Ordered Tuple with all X-coordinates of the calibration marks (in meters). + Ordered Tuple with all Y-coordinates of the calibration marks (in meters). + Ordered Tuple with all Z-coordinates of the calibration marks (in meters). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 2 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 2 (in pixels). + Initial values for the internal parameters of camera 2. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 1. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 2. + Camera parameters to be estimated. Default: "all" + Internal parameters of camera 2. + Ordered tuple with all poses of the calibration model in relation to camera 1. + Ordered tuple with all poses of the calibration model in relation to camera 2. + Pose of camera 2 in relation to camera 1. + Average error distances in pixels. + Internal parameters of camera 1. + + + + Determine all camera parameters of a binocular stereo system. + Instance represents: Initial values for the internal parameters of camera 1. + + Ordered Tuple with all X-coordinates of the calibration marks (in meters). + Ordered Tuple with all Y-coordinates of the calibration marks (in meters). + Ordered Tuple with all Z-coordinates of the calibration marks (in meters). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 2 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 2 (in pixels). + Initial values for the internal parameters of camera 2. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 1. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 2. + Camera parameters to be estimated. Default: "all" + Internal parameters of camera 2. + Ordered tuple with all poses of the calibration model in relation to camera 1. + Ordered tuple with all poses of the calibration model in relation to camera 2. + Pose of camera 2 in relation to camera 1. + Average error distances in pixels. + Internal parameters of camera 1. + + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Instance represents: Camera parameter (inner orientation) obtained from camera calibration. + + Input image where the model should be found. + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + 3D pose of the object. + + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Instance represents: Camera parameter (inner orientation) obtained from camera calibration. + + Input image where the model should be found. + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + 3D pose of the object. + + + + Create a descriptor model for calibrated perspective matching. + Instance represents: The parameters of the internal orientation of the camera. + + Input image whose domain will be used to create the model. + The reference pose of the object in the reference image. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + The handle to the descriptor model. + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Instance represents: The parameters of the internal orientation of the camera. + + Input contours that will be used to create the model. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Instance represents: The parameters of the internal orientation of the camera. + + Input contours that will be used to create the model. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Create a deformable model for calibrated perspective matching. + Instance represents: The parameters of the internal orientation of the camera. + + Input image whose domain will be used to create the model. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + Handle of the model. + + + + Create a deformable model for calibrated perspective matching. + Instance represents: The parameters of the internal orientation of the camera. + + Input image whose domain will be used to create the model. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + Handle of the model. + + + + Project the edges of a 3D shape model into image coordinates. + Instance represents: Internal camera parameters. + + Handle of the 3D shape model. + 3D pose of the 3D shape model in the world coordinate system. + Remove hidden surfaces? Default: "true" + Smallest face angle for which the edge is displayed Default: 0.523599 + Contour representation of the model view. + + + + Project the edges of a 3D shape model into image coordinates. + Instance represents: Internal camera parameters. + + Handle of the 3D shape model. + 3D pose of the 3D shape model in the world coordinate system. + Remove hidden surfaces? Default: "true" + Smallest face angle for which the edge is displayed Default: 0.523599 + Contour representation of the model view. + + + + Prepare a 3D object model for matching. + Instance represents: Internal camera parameters. + + Handle of the 3D object model. + Reference orientation: Rotation around x-axis or x component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around y-axis or y component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around z-axis or z component of the Rodriguez vector (in radians or without unit). Default: 0 + Meaning of the rotation values of the reference orientation. Default: "gba" + Minimum longitude of the model views. Default: -0.35 + Maximum longitude of the model views. Default: 0.35 + Minimum latitude of the model views. Default: -0.35 + Maximum latitude of the model views. Default: 0.35 + Minimum camera roll angle of the model views. Default: -3.1416 + Maximum camera roll angle of the model views. Default: 3.1416 + Minimum camera-object-distance of the model views. Default: 0.3 + Maximum camera-object-distance of the model views. Default: 0.4 + Minimum contrast of the objects in the search images. Default: 10 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handle of the 3D shape model. + + + + Prepare a 3D object model for matching. + Instance represents: Internal camera parameters. + + Handle of the 3D object model. + Reference orientation: Rotation around x-axis or x component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around y-axis or y component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around z-axis or z component of the Rodriguez vector (in radians or without unit). Default: 0 + Meaning of the rotation values of the reference orientation. Default: "gba" + Minimum longitude of the model views. Default: -0.35 + Maximum longitude of the model views. Default: 0.35 + Minimum latitude of the model views. Default: -0.35 + Maximum latitude of the model views. Default: 0.35 + Minimum camera roll angle of the model views. Default: -3.1416 + Maximum camera roll angle of the model views. Default: 3.1416 + Minimum camera-object-distance of the model views. Default: 0.3 + Maximum camera-object-distance of the model views. Default: 0.4 + Minimum contrast of the objects in the search images. Default: 10 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handle of the 3D shape model. + + + + Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region. + Instance represents: Internal camera parameters. + + Region in the image plane. + Handle of the 3D object model. + 3D pose of the world coordinate system in camera coordinates. + Handle of the reduced 3D object model. + + + + Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region. + Instance represents: Internal camera parameters. + + Region in the image plane. + Handle of the 3D object model. + 3D pose of the world coordinate system in camera coordinates. + Handle of the reduced 3D object model. + + + + Render 3D object models to get an image. + Instance represents: Camera parameters of the scene. + + Handles of the 3D object models. + 3D poses of the objects. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Rendered scene. + + + + Render 3D object models to get an image. + Instance represents: Camera parameters of the scene. + + Handles of the 3D object models. + 3D poses of the objects. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Rendered scene. + + + + Display 3D object models. + Instance represents: Camera parameters of the scene. + + Window handle. + Handles of the 3D object models. + 3D poses of the objects. Default: [] + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Display 3D object models. + Instance represents: Camera parameters of the scene. + + Window handle. + Handles of the 3D object models. + 3D poses of the objects. Default: [] + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Transform 3D points from a 3D object model to images. + Instance represents: Camera parameters. + + Image with the Y-Coordinates of the 3D points. + Image with the Z-Coordinates of the 3D points. + Handle of the 3D object model. + Type of the conversion. Default: "cartesian" + Pose of the 3D object model. + Image with the X-Coordinates of the 3D points. + + + + Project a 3D object model into image coordinates. + Instance represents: Internal camera parameters. + + Handle of the 3D object model. + 3D pose of the world coordinate system in camera coordinates. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Projected model contours. + + + + Project a 3D object model into image coordinates. + Instance represents: Internal camera parameters. + + Handle of the 3D object model. + 3D pose of the world coordinate system in camera coordinates. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Projected model contours. + + + + Add a camera to a 3D scene. + Instance represents: Parameters of the new camera. + + Handle of the 3D scene. + Index of the new camera in the 3D scene. + + + + Compute the calibrated scene flow between two stereo image pairs. + Instance represents: Internal camera parameters of the rectified camera 1. + + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + Handle of the 3D object model. + + + + Compute the calibrated scene flow between two stereo image pairs. + Instance represents: Internal camera parameters of the rectified camera 1. + + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + Handle of the 3D object model. + + + + Compute an absolute pose out of point correspondences between world and image coordinates. + Instance represents: The inner camera parameters from camera calibration. + + X-Component of world coordinates. + Y-Component of world coordinates. + Z-Component of world coordinates. + Row-Component of image coordinates. + Column-Component of image coordinates. + Kind of algorithm Default: "iterative" + Type of pose quality to be returned in Quality. Default: "error" + Pose quality. + Pose. + + + + Compute an absolute pose out of point correspondences between world and image coordinates. + Instance represents: The inner camera parameters from camera calibration. + + X-Component of world coordinates. + Y-Component of world coordinates. + Z-Component of world coordinates. + Row-Component of image coordinates. + Column-Component of image coordinates. + Kind of algorithm Default: "iterative" + Type of pose quality to be returned in Quality. Default: "error" + Pose quality. + Pose. + + + + Calibrate the radial distortion. + Modified instance represents: Internal camera parameters. + + Contours that are available for the calibration. + Width of the images from which the contours were extracted. Default: 640 + Height of the images from which the contours were extracted. Default: 480 + Threshold for the classification of outliers. Default: 0.05 + Seed value for the random number generator. Default: 42 + Determines the distortion model. Default: "division" + Determines how the distortion center will be estimated. Default: "variable" + Controls the deviation of the distortion center from the image center; larger values allow larger deviations from the image center; 0 switches the penalty term off. Default: 0.0 + Contours that were used for the calibration + + + + Compute a camera matrix from internal camera parameters. + Instance represents: Internal camera parameters. + + Width of the images that correspond to CameraMatrix. + Height of the images that correspond to CameraMatrix. + 3x3 projective camera matrix that corresponds to CameraParam. + + + + Compute the internal camera parameters from a camera matrix. + Modified instance represents: Internal camera parameters. + + 3x3 projective camera matrix that determines the internal camera parameters. + Kappa. + Width of the images that correspond to CameraMatrix. + Height of the images that correspond to CameraMatrix. + + + + Determine the 3D pose of a rectangle from its perspective 2D projection + Instance represents: Internal camera parameters. + + Contour(s) to be examined. + Width of the rectangle in meters. + Height of the rectangle in meters. + Weighting mode for the optimization phase. Default: "nonweighted" + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 3.0 for 'tukey'). Default: 2.0 + Covariances of the pose values. + Root-mean-square value of the final residual error. + 3D pose of the rectangle. + + + + Determine the 3D pose of a rectangle from its perspective 2D projection + Instance represents: Internal camera parameters. + + Contour(s) to be examined. + Width of the rectangle in meters. + Height of the rectangle in meters. + Weighting mode for the optimization phase. Default: "nonweighted" + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 3.0 for 'tukey'). Default: 2.0 + Covariances of the pose values. + Root-mean-square value of the final residual error. + 3D pose of the rectangle. + + + + Determine the 3D pose of a circle from its perspective 2D projection. + Instance represents: Internal camera parameters. + + Contours to be examined. + Radius of the circle in object space. + Type of output parameters. Default: "pose" + 3D pose of the second circle. + 3D pose of the first circle. + + + + Determine the 3D pose of a circle from its perspective 2D projection. + Instance represents: Internal camera parameters. + + Contours to be examined. + Radius of the circle in object space. + Type of output parameters. Default: "pose" + 3D pose of the second circle. + 3D pose of the first circle. + + + + Generate a projection map that describes the mapping of images corresponding to a changing radial distortion. + Instance represents: Old camera parameters. + + New camera parameters. + Type of the mapping. Default: "bilinear" + Image containing the mapping data. + + + + Generate a projection map that describes the mapping between the image plane and a the plane z=0 of a world coordinate system. + Instance represents: Internal camera parameters. + + 3D pose of the world coordinate system in camera coordinates. + Width of the images to be transformed. + Height of the images to be transformed. + Width of the resulting mapped images in pixels. + Height of the resulting mapped images in pixels. + Scale or unit. Default: "m" + Type of the mapping. Default: "bilinear" + Image containing the mapping data. + + + + Generate a projection map that describes the mapping between the image plane and a the plane z=0 of a world coordinate system. + Instance represents: Internal camera parameters. + + 3D pose of the world coordinate system in camera coordinates. + Width of the images to be transformed. + Height of the images to be transformed. + Width of the resulting mapped images in pixels. + Height of the resulting mapped images in pixels. + Scale or unit. Default: "m" + Type of the mapping. Default: "bilinear" + Image containing the mapping data. + + + + Rectify an image by transforming it into the plane z=0 of a world coordinate system. + Instance represents: Internal camera parameters. + + Input image. + 3D pose of the world coordinate system in camera coordinates. + Width of the resulting image in pixels. + Height of the resulting image in pixels. + Scale or unit Default: "m" + Type of interpolation. Default: "bilinear" + Transformed image. + + + + Rectify an image by transforming it into the plane z=0 of a world coordinate system. + Instance represents: Internal camera parameters. + + Input image. + 3D pose of the world coordinate system in camera coordinates. + Width of the resulting image in pixels. + Height of the resulting image in pixels. + Scale or unit Default: "m" + Type of interpolation. Default: "bilinear" + Transformed image. + + + + Transform image points into the plane z=0 of a world coordinate system. + Instance represents: Internal camera parameters. + + 3D pose of the world coordinate system in camera coordinates. + Row coordinates of the points to be transformed. Default: 100.0 + Column coordinates of the points to be transformed. Default: 100.0 + Scale or dimension Default: "m" + X coordinates of the points in the world coordinate system. + Y coordinates of the points in the world coordinate system. + + + + Transform image points into the plane z=0 of a world coordinate system. + Instance represents: Internal camera parameters. + + 3D pose of the world coordinate system in camera coordinates. + Row coordinates of the points to be transformed. Default: 100.0 + Column coordinates of the points to be transformed. Default: 100.0 + Scale or dimension Default: "m" + X coordinates of the points in the world coordinate system. + Y coordinates of the points in the world coordinate system. + + + + Perform a hand-eye calibration. + Instance represents: Internal camera parameters. + + Linear list containing all the x coordinates of the calibration points (in the order of the images). + Linear list containing all the y coordinates of the calibration points (in the order of the images). + Linear list containing all the z coordinates of the calibration points (in the order of the images). + Linear list containing all row coordinates of the calibration points (in the order of the images). + Linear list containing all the column coordinates of the calibration points (in the order of the images). + Number of the calibration points for each image. + Known 3D pose of the robot for each image (moving camera: robot base in robot tool coordinates; stationary camera: robot tool in robot base coordinates). + Method of hand-eye calibration. Default: "nonlinear" + Type of quality assessment. Default: "error_pose" + Computed 3D pose of the calibration points in robot base coordinates (moving camera) or in robot tool coordinates (stationary camera), respectively. + Quality assessment of the result. + Computed relative camera pose: 3D pose of the robot tool (moving camera) or robot base (stationary camera), respectively, in camera coordinates. + + + + Perform a hand-eye calibration. + Instance represents: Internal camera parameters. + + Linear list containing all the x coordinates of the calibration points (in the order of the images). + Linear list containing all the y coordinates of the calibration points (in the order of the images). + Linear list containing all the z coordinates of the calibration points (in the order of the images). + Linear list containing all row coordinates of the calibration points (in the order of the images). + Linear list containing all the column coordinates of the calibration points (in the order of the images). + Number of the calibration points for each image. + Known 3D pose of the robot for each image (moving camera: robot base in robot tool coordinates; stationary camera: robot tool in robot base coordinates). + Method of hand-eye calibration. Default: "nonlinear" + Type of quality assessment. Default: "error_pose" + Computed 3D pose of the calibration points in robot base coordinates (moving camera) or in robot tool coordinates (stationary camera), respectively. + Quality assessment of the result. + Computed relative camera pose: 3D pose of the robot tool (moving camera) or robot base (stationary camera), respectively, in camera coordinates. + + + + Change the radial distortion of contours. + Instance represents: Internal camera parameter for Contours. + + Original contours. + Internal camera parameter for ContoursRectified. + Resulting contours with modified radial distortion. + + + + Change the radial distortion of pixel coordinates. + Instance represents: The inner camera parameters of the camera used to create the input pixel coordinates. + + Original row component of pixel coordinates. + Original column component of pixel coordinates. + The inner camera parameters of a camera. + Row component of pixel coordinates after changing the radial distortion. + Column component of pixel coordinates after changing the radial distortion. + + + + Change the radial distortion of an image. + Instance represents: Internal camera parameter for Image. + + Original image. + Region of interest in ImageRectified. + Internal camera parameter for Image. + Resulting image with modified radial distortion. + + + + Determine new camera parameters in accordance to the specified radial distortion. + Instance represents: Internal camera parameters (original). + + Mode Default: "adaptive" + Desired radial distortions. Default: 0.0 + Internal camera parameters (modified). + + + + Determine new camera parameters in accordance to the specified radial distortion. + Instance represents: Internal camera parameters (original). + + Mode Default: "adaptive" + Desired radial distortions. Default: 0.0 + Internal camera parameters (modified). + + + + Compute the line of sight corresponding to a point in the image. + Instance represents: Internal camera parameters. + + Row coordinate of the pixel. + Column coordinate of the pixel. + X coordinate of the first point on the line of sight in the camera coordinate system + Y coordinate of the first point on the line of sight in the camera coordinate system + Z coordinate of the first point on the line of sight in the camera coordinate system + X coordinate of the second point on the line of sight in the camera coordinate system + Y coordinate of the second point on the line of sight in the camera coordinate system + Z coordinate of the second point on the line of sight in the camera coordinate system + + + + Project 3D points into (sub-)pixel image coordinates. + Instance represents: Internal camera parameters. + + X coordinates of the 3D points to be projected in the camera coordinate system. + Y coordinates of the 3D points to be projected in the camera coordinate system. + Z coordinates of the 3D points to be projected in the camera coordinate system. + Row coordinates of the projected points (in pixels). + Column coordinates of the projected points (in pixels). + + + + Convert internal camera parameters and a 3D pose into a 3x4 projection matrix. + Instance represents: Internal camera parameters. + + 3D pose. + 3x4 projection matrix. + + + + Deserialize the serialized internal camera parameters. + Modified instance represents: Internal camera parameters. + + Handle of the serialized item. + + + + Serialize the internal camera parameters. + Instance represents: Internal camera parameters. + + Handle of the serialized item. + + + + Read internal camera parameters from a file. + Modified instance represents: Internal camera parameters. + + File name of internal camera parameters. Default: "campar.dat" + + + + Write internal camera parameters into a file. + Instance represents: Internal camera parameters. + + File name of internal camera parameters. Default: "campar.dat" + + + + Simulate an image with calibration plate. + Instance represents: Internal camera parameters. + + File name of the calibration plate description. Default: "calplate_320mm.cpd" + External camera parameters (3D pose of the calibration plate in camera coordinates). + Gray value of image background. Default: 128 + Gray value of calibration plate. Default: 80 + Gray value of calibration marks. Default: 224 + Scaling factor to reduce oversampling. Default: 1.0 + Simulated calibration image. + + + + Project and visualize the 3D model of the calibration plate in the image. + Instance represents: Internal camera parameters. + + Window in which the calibration plate should be visualized. + File name of the calibration plate description. Default: "calplate_320.cpd" + External camera parameters (3D pose of the calibration plate in camera coordinates). + Scaling factor for the visualization. Default: 1.0 + + + + Determine all camera parameters by a simultaneous minimization process. + Instance represents: Initial values for the internal camera parameters. + + Ordered tuple with all x coordinates of the calibration marks (in meters). + Ordered tuple with all y coordinates of the calibration marks (in meters). + Ordered tuple with all z coordinates of the calibration marks (in meters). + Ordered tuple with all row coordinates of the extracted calibration marks (in pixels). + Ordered tuple with all column coordinates of the extracted calibration marks (in pixels). + Ordered tuple with all initial values for the external camera parameters. + Camera parameters to be estimated. Default: "all" + Ordered tuple with all external camera parameters. + Average error distance in pixels. + Internal camera parameters. + + + + Determine all camera parameters by a simultaneous minimization process. + Instance represents: Initial values for the internal camera parameters. + + Ordered tuple with all x coordinates of the calibration marks (in meters). + Ordered tuple with all y coordinates of the calibration marks (in meters). + Ordered tuple with all z coordinates of the calibration marks (in meters). + Ordered tuple with all row coordinates of the extracted calibration marks (in pixels). + Ordered tuple with all column coordinates of the extracted calibration marks (in pixels). + Ordered tuple with all initial values for the external camera parameters. + Camera parameters to be estimated. Default: "all" + Ordered tuple with all external camera parameters. + Average error distance in pixels. + Internal camera parameters. + + + + Extract rectangularly arranged 2D calibration marks from the image and calculate initial values for the external camera parameters. + Instance represents: Initial values for the internal camera parameters. + + Input image. + Region of the calibration plate. + File name of the calibration plate description. Default: "caltab_100.descr" + Initial threshold value for contour detection. Default: 128 + Loop value for successive reduction of StartThresh. Default: 10 + Minimum threshold for contour detection. Default: 18 + Filter parameter for contour detection, see edges_image. Default: 0.9 + Minimum length of the contours of the marks. Default: 15.0 + Maximum expected diameter of the marks. Default: 100.0 + Tuple with column coordinates of the detected marks. + Estimation for the external camera parameters. + Tuple with row coordinates of the detected marks. + + + + Define type, parameters, and relative pose of a camera in a camera setup model. + Instance represents: Internal camera parameters. + + Handle to the camera setup model. + Index of the camera in the setup. + Type of the camera. Default: [] + Pose of the camera relative to the setup's coordinate system. + + + + Define type, parameters, and relative pose of a camera in a camera setup model. + Instance represents: Internal camera parameters. + + Handle to the camera setup model. + Index of the camera in the setup. + Type of the camera. Default: [] + Pose of the camera relative to the setup's coordinate system. + + + + Set type and initial parameters of a camera in a calibration data model. + Instance represents: Initial camera internal parameters. + + Handle of a calibration data model. + Camera index. Default: 0 + Type of the camera. Default: [] + + + + Set type and initial parameters of a camera in a calibration data model. + Instance represents: Initial camera internal parameters. + + Handle of a calibration data model. + Camera index. Default: 0 + Type of the camera. Default: [] + + + Represents an instance of a classifier. + + + + Create a new classifier. + Modified instance represents: Handle of the classifier. + + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Train a classificator using a multi-channel image. + Instance represents: Handle of the classifier. + + Foreground pixels to be trained. + Background pixels to be trained (rejection class). + Multi-channel training image. + + + + Classify pixels using hyper-cuboids. + Instance represents: Handle of the classifier. + + Multi channel input image. + Classification result. + + + + Deserialize a serialized classifier. + Instance represents: Handle of the classifier. + + Handle of the serialized item. + + + + Serialize a classifier. + Instance represents: Handle of the classifier. + + Handle of the serialized item. + + + + Save a classifier in a file. + Instance represents: Handle of the classifier. + + Name of the file which contains the written data. + + + + Set system parameters for classification. + Instance represents: Handle of the classifier. + + Name of the wanted parameter. Default: "split_error" + Value of the parameter. Default: 0.1 + + + + Set system parameters for classification. + Instance represents: Handle of the classifier. + + Name of the wanted parameter. Default: "split_error" + Value of the parameter. Default: 0.1 + + + + Read a classifier from a file. + Instance represents: Handle of the classifier. + + Filename of the classifier. + + + + Train the classifier with one data set. + Instance represents: Handle of the classifier. + + Number of the data set to train. + Name of the protocol file. Default: "training_prot" + Number of arrays of attributes to learn. Default: 500 + Classification error for termination. Default: 0.05 + Error during the assignment. Default: 100 + + + + Train the classifier. + Instance represents: Handle of the classifier. + + Array of attributes to learn. Default: [1.0,1.5,2.0] + Class to which the array has to be assigned. Default: 1 + + + + Get information about the current parameter. + Instance represents: Handle of the classifier. + + Name of the system parameter. Default: "split_error" + Value of the system parameter. + + + + Destroy the classifier. + Instance represents: Handle of the classifier. + + + + + Create a new classifier. + Modified instance represents: Handle of the classifier. + + + + + Describe the classes of a box classifier. + Instance represents: Handle of the classifier. + + Highest dimension for output. Default: 3 + Indices of the boxes. + Lower bounds of the boxes (for each dimension). + Higher bounds of the boxes (for each dimension). + Number of training samples that were used to define this box (for each dimension). + Number of training samples that were assigned incorrectly to the box. + Indices of the classes. + + + + Describe the classes of a box classifier. + Instance represents: Handle of the classifier. + + Highest dimension for output. Default: 3 + Indices of the boxes. + Lower bounds of the boxes (for each dimension). + Higher bounds of the boxes (for each dimension). + Number of training samples that were used to define this box (for each dimension). + Number of training samples that were assigned incorrectly to the box. + Indices of the classes. + + + + Classify a set of arrays. + Instance represents: Handle of the classifier. + + Key of the test data. + Error during the assignment. + + + + Classify a tuple of attributes with rejection class. + Instance represents: Handle of the classifier. + + Array of attributes which has to be classified. Default: 1.0 + Number of the class, to which the array of attributes had been assigned or -1 for the rejection class. + + + + Classify a tuple of attributes. + Instance represents: Handle of the classifier. + + Array of attributes which has to be classified. Default: 1.0 + Number of the class to which the array of attributes had been assigned. + + + Represents an instance of a Gaussian mixture model. + + + + Read a Gaussian Mixture Model from a file. + Modified instance represents: GMM handle. + + File name. + + + + Create a Gaussian Mixture Model for classification + Modified instance represents: GMM handle. + + Number of dimensions of the feature space. Default: 3 + Number of classes of the GMM. Default: 5 + Number of centers per class. Default: 1 + Type of the covariance matrices. Default: "spherical" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the GMM with random values. Default: 42 + + + + Create a Gaussian Mixture Model for classification + Modified instance represents: GMM handle. + + Number of dimensions of the feature space. Default: 3 + Number of classes of the GMM. Default: 5 + Number of centers per class. Default: 1 + Type of the covariance matrices. Default: "spherical" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the GMM with random values. Default: 42 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Classify an image with a Gaussian Mixture Model. + Instance represents: GMM handle. + + Input image. + Threshold for the rejection of the classification. Default: 0.5 + Segmented classes. + + + + Add training samples from an image to the training data of a Gaussian Mixture Model. + Instance represents: GMM handle. + + Training image. + Regions of the classes to be trained. + Standard deviation of the Gaussian noise added to the training data. Default: 0.0 + + + + Get the training data of a Gaussian Mixture Model (GMM). + Instance represents: Handle of a GMM that contains training data. + + Handle of the training data of the classifier. + + + + Add training data to a Gaussian Mixture Model (GMM). + Instance represents: Handle of a GMM which receives the training data. + + Handle of training data for a classifier. + + + + Selects an optimal combination from a set of features to classify the provided data. + Modified instance represents: A trained GMM classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the classifier. Default: [] + Values of generic parameters to configure the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices or names. + + + + Selects an optimal combination from a set of features to classify the provided data. + Modified instance represents: A trained GMM classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the classifier. Default: [] + Values of generic parameters to configure the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices or names. + + + + Create a look-up table using a gaussian mixture model to classify byte images. + Instance represents: GMM handle. + + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + Clear a Gaussian Mixture Model. + GMM handle. + + + + Clear a Gaussian Mixture Model. + Instance represents: GMM handle. + + + + Clear the training data of a Gaussian Mixture Model. + GMM handle. + + + + Clear the training data of a Gaussian Mixture Model. + Instance represents: GMM handle. + + + + + Deserialize a serialized Gaussian Mixture Model. + Modified instance represents: GMM handle. + + Handle of the serialized item. + + + + Serialize a Gaussian Mixture Model (GMM). + Instance represents: GMM handle. + + Handle of the serialized item. + + + + Read a Gaussian Mixture Model from a file. + Modified instance represents: GMM handle. + + File name. + + + + Write a Gaussian Mixture Model to a file. + Instance represents: GMM handle. + + File name. + + + + Read the training data of a Gaussian Mixture Model from a file. + Instance represents: GMM handle. + + File name. + + + + Write the training data of a Gaussian Mixture Model to a file. + Instance represents: GMM handle. + + File name. + + + + Calculate the class of a feature vector by a Gaussian Mixture Model. + Instance represents: GMM handle. + + Feature vector. + Number of best classes to determine. Default: 1 + A-posteriori probability of the classes. + Probability density of the feature vector. + Normalized k-sigma-probability for the feature vector. + Result of classifying the feature vector with the GMM. + + + + Evaluate a feature vector by a Gaussian Mixture Model. + Instance represents: GMM handle. + + Feature vector. + Probability density of the feature vector. + Normalized k-sigma-probability for the feature vector. + A-posteriori probability of the classes. + + + + Train a Gaussian Mixture Model. + Instance represents: GMM handle. + + Maximum number of iterations of the expectation maximization algorithm Default: 100 + Threshold for relative change of the error for the expectation maximization algorithm to terminate. Default: 0.001 + Mode to determine the a-priori probabilities of the classes Default: "training" + Regularization value for preventing covariance matrix singularity. Default: 0.0001 + Number of executed iterations per class + Number of found centers per class + + + + Compute the information content of the preprocessed feature vectors of a GMM. + Instance represents: GMM handle. + + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Cumulative information content of the transformed feature vectors. + Relative information content of the transformed feature vectors. + + + + Return the number of training samples stored in the training data of a Gaussian Mixture Model (GMM). + Instance represents: GMM handle. + + Number of stored training samples. + + + + Return a training sample from the training data of a Gaussian Mixture Models (GMM). + Instance represents: GMM handle. + + Index of the stored training sample. + Class of the training sample. + Feature vector of the training sample. + + + + Add a training sample to the training data of a Gaussian Mixture Model. + Instance represents: GMM handle. + + Feature vector of the training sample to be stored. + Class of the training sample to be stored. + Standard deviation of the Gaussian noise added to the training data. Default: 0.0 + + + + Return the parameters of a Gaussian Mixture Model. + Instance represents: GMM handle. + + Number of classes of the GMM. + Minimum number of centers per GMM class. + Maximum number of centers per GMM class. + Type of the covariance matrices. + Number of dimensions of the feature space. + + + + Create a Gaussian Mixture Model for classification + Modified instance represents: GMM handle. + + Number of dimensions of the feature space. Default: 3 + Number of classes of the GMM. Default: 5 + Number of centers per class. Default: 1 + Type of the covariance matrices. Default: "spherical" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the GMM with random values. Default: 42 + + + + Create a Gaussian Mixture Model for classification + Modified instance represents: GMM handle. + + Number of dimensions of the feature space. Default: 3 + Number of classes of the GMM. Default: 5 + Number of centers per class. Default: 1 + Type of the covariance matrices. Default: "spherical" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the GMM with random values. Default: 42 + + + Represents an instance of a k-NearestNeighbor classifier. + + + + Read the k-NN classifier from a file. + Modified instance represents: Handle of the k-NN classifier. + + File name of the classifier. + + + + Create a k-nearest neighbors (k-NN) classifier. + Modified instance represents: Handle of the k-NN classifier. + + Number of dimensions of the feature. Default: 10 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Classify an image with a k-Nearest-Neighbor classifier. + Instance represents: Handle of the k-NN classifier. + + Input image. + Distance of the pixel's nearest neighbor. + Threshold for the rejection of the classification. Default: 0.5 + Segmented classes. + + + + Add training samples from an image to the training data of a k-Nearest-Neighbor classifier. + Instance represents: Handle of the k-NN classifier. + + Training image. + Regions of the classes to be trained. + + + + Get the training data of a k-nearest neighbors (k-NN) classifier. + Instance represents: Handle of the k-NN classifier that contains training data. + + Handle of the training data of the classifier. + + + + Add training data to a k-nearest neighbors (k-NN) classifier. + Instance represents: Handle of a k-NN which receives the training data. + + Training data for a classifier. + + + + Selects an optimal subset from a set of features to solve a certain classification problem. + Modified instance represents: A trained k-NN classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices or names. + + + + Selects an optimal subset from a set of features to solve a certain classification problem. + Modified instance represents: A trained k-NN classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices or names. + + + + Clear a k-NN classifier. + Instance represents: Handle of the k-NN classifier. + + + + + Return the number of training samples stored in the training data of a k-nearest neighbors (k-NN) classifier. + Instance represents: Handle of the k-NN classifier. + + Number of stored training samples. + + + + Return a training sample from the training data of a k-nearest neighbors (k-NN) classifier. + Instance represents: Handle of the k-NN classifier. + + Index of the training sample. + Class of the training sample. + Feature vector of the training sample. + + + + Deserialize a serialized k-NN classifier. + Modified instance represents: Handle of the k-NN classifier. + + Handle of the serialized item. + + + + Serialize a k-NN classifier. + Instance represents: Handle of the k-NN classifier. + + Handle of the serialized item. + + + + Read the k-NN classifier from a file. + Modified instance represents: Handle of the k-NN classifier. + + File name of the classifier. + + + + Save the k-NN classifier in a file. + Instance represents: Handle of the k-NN classifier. + + Name of the file in which the classifier will be written. + + + + Get parameters of a k-NN classification. + Instance represents: Handle of the k-NN classifier. + + Names of the parameters that can be read from the k-NN classifier. Default: ["method","k"] + Values of the selected parameters. + + + + Set parameters for k-NN classification. + Instance represents: Handle of the k-NN classifier. + + Names of the generic parameters that can be adjusted for the k-NN classifier. Default: ["method","k","max_num_classes"] + Values of the generic parameters that can be adjusted for the k-NN classifier. Default: ["classes_distance",5,1] + + + + Search for the next neighbors for a given feature vector. + Instance represents: Handle of the k-NN classifier. + + Features that should be classified. + A rating for the results. This value contains either a distance, a frequency or a weighted frequency. + The classification result, either class IDs or sample indices. + + + + Creates the search trees for a k-NN classifier. + Instance represents: Handle of the k-NN classifier. + + Names of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + + + + Add a sample to a k-nearest neighbors (k-NN) classifier. + Instance represents: Handle of the k-NN classifier. + + List of features to add. + Class IDs of the features. + + + + Add a sample to a k-nearest neighbors (k-NN) classifier. + Instance represents: Handle of the k-NN classifier. + + List of features to add. + Class IDs of the features. + + + + Create a k-nearest neighbors (k-NN) classifier. + Modified instance represents: Handle of the k-NN classifier. + + Number of dimensions of the feature. Default: 10 + + + + Create a look-up table using a k-nearest neighbors classifier (k-NN) to classify byte images. + Instance represents: Handle of the k-NN classifier. + + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + Represents an instance of a classification lookup table + + + + Create a look-up table using a k-nearest neighbors classifier (k-NN) to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + Handle of the k-NN classifier. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + + Create a look-up table using a gaussian mixture model to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + GMM handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + + Create a look-up table using a Support-Vector-Machine to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + SVM handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + + Create a look-up table using a multi-layer perceptron to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + MLP handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + + Classify a byte image using a look-up table. + Instance represents: Handle of the LUT classifier. + + Input image. + Segmented classes. + + + Clear a look-up table classifier. + Handle of the LUT classifier. + + + + Clear a look-up table classifier. + Instance represents: Handle of the LUT classifier. + + + + + Create a look-up table using a k-nearest neighbors classifier (k-NN) to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + Handle of the k-NN classifier. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + + Create a look-up table using a gaussian mixture model to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + GMM handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + + Create a look-up table using a Support-Vector-Machine to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + SVM handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + + Create a look-up table using a multi-layer perceptron to classify byte images. + Modified instance represents: Handle of the LUT classifier. + + MLP handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + + + Represents an instance of a multilayer perceptron. + + + + Read a multilayer perceptron from a file. + Modified instance represents: MLP handle. + + File name. + + + + Create a multilayer perceptron for classification or regression. + Modified instance represents: MLP handle. + + Number of input variables (features) of the MLP. Default: 20 + Number of hidden units of the MLP. Default: 10 + Number of output variables (classes) of the MLP. Default: 5 + Type of the activation function in the output layer of the MLP. Default: "softmax" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Classify an image with a multilayer perceptron. + Instance represents: MLP handle. + + Input image. + Threshold for the rejection of the classification. Default: 0.5 + Segmented classes. + + + + Add training samples from an image to the training data of a multilayer perceptron. + Instance represents: MLP handle. + + Training image. + Regions of the classes to be trained. + + + + Get the training data of a multilayer perceptron (MLP). + Instance represents: Handle of a MLP that contains training data. + + Handle of the training data of the classifier. + + + + Add training data to a multilayer perceptron (MLP). + Instance represents: MLP handle which receives the training data. + + Training data for a classifier. + + + + Selects an optimal combination of features to classify the provided data. + Modified instance represents: A trained MLP classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices referring. + + + + Selects an optimal combination of features to classify the provided data. + Modified instance represents: A trained MLP classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices referring. + + + + Create a look-up table using a multi-layer perceptron to classify byte images. + Instance represents: MLP handle. + + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + Clear a multilayer perceptron. + MLP handle. + + + + Clear a multilayer perceptron. + Instance represents: MLP handle. + + + + Clear the training data of a multilayer perceptron. + MLP handle. + + + + Clear the training data of a multilayer perceptron. + Instance represents: MLP handle. + + + + + Deserialize a serialized multilayer perceptron. + Modified instance represents: MLP handle. + + Handle of the serialized item. + + + + Serialize a multilayer perceptron (MLP). + Instance represents: MLP handle. + + Handle of the serialized item. + + + + Read a multilayer perceptron from a file. + Modified instance represents: MLP handle. + + File name. + + + + Write a multilayer perceptron to a file. + Instance represents: MLP handle. + + File name. + + + + Read the training data of a multilayer perceptron from a file. + Instance represents: MLP handle. + + File name. + + + + Write the training data of a multilayer perceptron to a file. + Instance represents: MLP handle. + + File name. + + + + Calculate the class of a feature vector by a multilayer perceptron. + Instance represents: MLP handle. + + Feature vector. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the feature vector. + Result of classifying the feature vector with the MLP. + + + + Calculate the class of a feature vector by a multilayer perceptron. + Instance represents: MLP handle. + + Feature vector. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the feature vector. + Result of classifying the feature vector with the MLP. + + + + Calculate the evaluation of a feature vector by a multilayer perceptron. + Instance represents: MLP handle. + + Feature vector. + Result of evaluating the feature vector with the MLP. + + + + Train a multilayer perceptron. + Instance represents: MLP handle. + + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + Mean error of the MLP on the training data. + + + + Compute the information content of the preprocessed feature vectors of a multilayer perceptron. + Instance represents: MLP handle. + + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Cumulative information content of the transformed feature vectors. + Relative information content of the transformed feature vectors. + + + + Return the number of training samples stored in the training data of a multilayer perceptron. + Instance represents: MLP handle. + + Number of stored training samples. + + + + Return a training sample from the training data of a multilayer perceptron. + Instance represents: MLP handle. + + Number of stored training sample. + Target vector of the training sample. + Feature vector of the training sample. + + + + Get the parameters of a rejection class. + Instance represents: MLP handle. + + Names of the generic parameters to return. Default: "sampling_strategy" + Values of the generic parameters. + + + + Get the parameters of a rejection class. + Instance represents: MLP handle. + + Names of the generic parameters to return. Default: "sampling_strategy" + Values of the generic parameters. + + + + Set the parameters of a rejection class. + Instance represents: MLP handle. + + Names of the generic parameters. Default: "sampling_strategy" + Values of the generic parameters. Default: "hyperbox_around_all_classes" + + + + Set the parameters of a rejection class. + Instance represents: MLP handle. + + Names of the generic parameters. Default: "sampling_strategy" + Values of the generic parameters. Default: "hyperbox_around_all_classes" + + + + Add a training sample to the training data of a multilayer perceptron. + Instance represents: MLP handle. + + Feature vector of the training sample to be stored. + Class or target vector of the training sample to be stored. + + + + Add a training sample to the training data of a multilayer perceptron. + Instance represents: MLP handle. + + Feature vector of the training sample to be stored. + Class or target vector of the training sample to be stored. + + + + Return the regularization parameters of a multilayer perceptron. + Instance represents: MLP handle. + + Name of the regularization parameter to return. Default: "weight_prior" + Value of the regularization parameter. + + + + Set the regularization parameters of a multilayer perceptron. + Instance represents: MLP handle. + + Name of the regularization parameter to set. Default: "weight_prior" + Value of the regularization parameter. Default: 1.0 + + + + Set the regularization parameters of a multilayer perceptron. + Instance represents: MLP handle. + + Name of the regularization parameter to set. Default: "weight_prior" + Value of the regularization parameter. Default: 1.0 + + + + Return the parameters of a multilayer perceptron. + Instance represents: MLP handle. + + Number of hidden units of the MLP. + Number of output variables (classes) of the MLP. + Type of the activation function in the output layer of the MLP. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features. + Number of input variables (features) of the MLP. + + + + Create a multilayer perceptron for classification or regression. + Modified instance represents: MLP handle. + + Number of input variables (features) of the MLP. Default: 20 + Number of hidden units of the MLP. Default: 10 + Number of output variables (classes) of the MLP. Default: 5 + Type of the activation function in the output layer of the MLP. Default: "softmax" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + + + Represents an instance of a support vector machine. + + + + Read a support vector machine from a file. + Modified instance represents: SVM handle. + + File name. + + + + Create a support vector machine for pattern classification. + Modified instance represents: SVM handle. + + Number of input variables (features) of the SVM. Default: 10 + The kernel type. Default: "rbf" + Additional parameter for the kernel function. In case of RBF kernel the value for gamma@f$ Default: 0.02 + Regularisation constant of the SVM. Default: 0.05 + Number of classes. Default: 5 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Classify an image with a support vector machine. + Instance represents: SVM handle. + + Input image. + Segmented classes. + + + + Add training samples from an image to the training data of a support vector machine. + Instance represents: SVM handle. + + Training image. + Regions of the classes to be trained. + + + + Get the training data of a support vector machine (SVM). + Instance represents: Handle of a SVM that contains training data. + + Handle of the training data of the classifier. + + + + Add training data to a support vector machine (SVM). + Instance represents: Handle of a SVM which receives the training data. + + Training data for a classifier. + + + + Selects an optimal combination of features to classify the provided data. + Modified instance represents: A trained SVM classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices. + + + + Selects an optimal combination of features to classify the provided data. + Modified instance represents: A trained SVM classifier using only the selected features. + + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The achieved score using two-fold cross-validation. + The selected feature set, contains indices. + + + + Create a look-up table using a Support-Vector-Machine to classify byte images. + Instance represents: SVM handle. + + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + Clear a support vector machine. + SVM handle. + + + + Clear a support vector machine. + Instance represents: SVM handle. + + + + Clear the training data of a support vector machine. + SVM handle. + + + + Clear the training data of a support vector machine. + Instance represents: SVM handle. + + + + + Deserialize a serialized support vector machine (SVM). + Modified instance represents: SVM handle. + + Handle of the serialized item. + + + + Serialize a support vector machine (SVM). + Instance represents: SVM handle. + + Handle of the serialized item. + + + + Read a support vector machine from a file. + Modified instance represents: SVM handle. + + File name. + + + + Write a support vector machine to a file. + Instance represents: SVM handle. + + File name. + + + + Read the training data of a support vector machine from a file. + Instance represents: SVM handle. + + File name. + + + + Write the training data of a support vector machine to a file. + Instance represents: SVM handle. + + File name. + + + + Evaluate a feature vector by a support vector machine. + Instance represents: SVM handle. + + Feature vector. + Result of evaluating the feature vector with the SVM. + + + + Classify a feature vector by a support vector machine. + Instance represents: SVM handle. + + Feature vector. + Number of best classes to determine. Default: 1 + Result of classifying the feature vector with the SVM. + + + + Approximate a trained support vector machine by a reduced support vector machine for faster classification. + Instance represents: Original SVM handle. + + Type of postprocessing to reduce number of SV. Default: "bottom_up" + Minimum number of remaining SVs. Default: 2 + Maximum allowed error of reduction. Default: 0.001 + SVMHandle of reduced SVM. + + + + Train a support vector machine. + Instance represents: SVM handle. + + Stop parameter for training. Default: 0.001 + Mode of training. For normal operation: 'default'. If SVs already included in the SVM should be used for training: 'add_sv_to_train_set'. For alpha seeding: the respective SVM handle. Default: "default" + + + + Train a support vector machine. + Instance represents: SVM handle. + + Stop parameter for training. Default: 0.001 + Mode of training. For normal operation: 'default'. If SVs already included in the SVM should be used for training: 'add_sv_to_train_set'. For alpha seeding: the respective SVM handle. Default: "default" + + + + Compute the information content of the preprocessed feature vectors of a support vector machine + Instance represents: SVM handle. + + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Cumulative information content of the transformed feature vectors. + Relative information content of the transformed feature vectors. + + + + Return the number of support vectors of a support vector machine. + Instance represents: SVM handle. + + Number of SV of each sub-SVM. + Total number of support vectors. + + + + Return the index of a support vector from a trained support vector machine. + Instance represents: SVM handle. + + Index of the stored support vector. + Index of the support vector in the training set. + + + + Return the number of training samples stored in the training data of a support vector machine. + Instance represents: SVM handle. + + Number of stored training samples. + + + + Return a training sample from the training data of a support vector machine. + Instance represents: SVM handle. + + Number of the stored training sample. + Target vector of the training sample. + Feature vector of the training sample. + + + + Add a training sample to the training data of a support vector machine. + Instance represents: SVM handle. + + Feature vector of the training sample to be stored. + Class of the training sample to be stored. + + + + Add a training sample to the training data of a support vector machine. + Instance represents: SVM handle. + + Feature vector of the training sample to be stored. + Class of the training sample to be stored. + + + + Return the parameters of a support vector machine. + Instance represents: SVM handle. + + The kernel type. + Additional parameter for the kernel. + Regularization constant of the SVM. + Number of classes of the test data. + The mode of the SVM. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). + Number of input variables (features) of the SVM. + + + + Create a support vector machine for pattern classification. + Modified instance represents: SVM handle. + + Number of input variables (features) of the SVM. Default: 10 + The kernel type. Default: "rbf" + Additional parameter for the kernel function. In case of RBF kernel the value for gamma@f$ Default: 0.02 + Regularisation constant of the SVM. Default: 0.05 + Number of classes. Default: 5 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + + + Represents an instance of a training data management class. + + + + Read the training data for classifiers from a file. + Modified instance represents: Handle of the training data. + + File name of the training data. + + + + Create a handle for training data for classifiers. + Modified instance represents: Handle of the training data. + + Number of dimensions of the feature vector. Default: 10 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Deserialize serialized training data for classifiers. + Modified instance represents: Handle of the training data. + + Handle of the serialized item. + + + + Serialize training data for classifiers. + Instance represents: Handle of the training data. + + Handle of the serialized item. + + + + Read the training data for classifiers from a file. + Modified instance represents: Handle of the training data. + + File name of the training data. + + + + Save the training data for classifiers in a file. + Instance represents: Handle of the training data. + + Name of the file in which the training data will be written. + + + + Select certain features from training data to create training data containing less features. + Instance represents: Handle of the training data. + + Indices or names to select the subfeatures or columns. + Handle of the reduced training data. + + + + Define subfeatures in training data. + Instance represents: Handle of the training data that should be partitioned into subfeatures. + + Length of the subfeatures. + Names of the subfeatures. + + + + Get the training data of a Gaussian Mixture Model (GMM). + Modified instance represents: Handle of the training data of the classifier. + + Handle of a GMM that contains training data. + + + + Add training data to a Gaussian Mixture Model (GMM). + Instance represents: Handle of training data for a classifier. + + Handle of a GMM which receives the training data. + + + + Get the training data of a multilayer perceptron (MLP). + Modified instance represents: Handle of the training data of the classifier. + + Handle of a MLP that contains training data. + + + + Add training data to a multilayer perceptron (MLP). + Instance represents: Training data for a classifier. + + MLP handle which receives the training data. + + + + Get the training data of a k-nearest neighbors (k-NN) classifier. + Modified instance represents: Handle of the training data of the classifier. + + Handle of the k-NN classifier that contains training data. + + + + Add training data to a k-nearest neighbors (k-NN) classifier. + Instance represents: Training data for a classifier. + + Handle of a k-NN which receives the training data. + + + + Get the training data of a support vector machine (SVM). + Modified instance represents: Handle of the training data of the classifier. + + Handle of a SVM that contains training data. + + + + Add training data to a support vector machine (SVM). + Instance represents: Training data for a classifier. + + Handle of a SVM which receives the training data. + + + + Return the number of training samples stored in the training data. + Instance represents: Handle of training data. + + Number of stored training samples. + + + + Return a training sample from training data. + Instance represents: Handle of training data for a classifier. + + Number of stored training sample. + Class of the training sample. + Feature vector of the training sample. + + + + Clears training data for classifiers. + Instance represents: Handle of training data for a classifier. + + + + + Add a training sample to training data. + Instance represents: Handle of the training data. + + The order of the feature vector. Default: "row" + Feature vector of the training sample. + Class of the training sample. + + + + Create a handle for training data for classifiers. + Modified instance represents: Handle of the training data. + + Number of dimensions of the feature vector. Default: 10 + + + + Selects an optimal combination of features to classify the provided data. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The selected feature set, contains indices referring. + The achieved score using two-fold cross-validation. + A trained MLP classifier using only the selected features. + + + + Selects an optimal combination of features to classify the provided data. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The selected feature set, contains indices referring. + The achieved score using two-fold cross-validation. + A trained MLP classifier using only the selected features. + + + + Selects an optimal combination of features to classify the provided data. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The selected feature set, contains indices. + The achieved score using two-fold cross-validation. + A trained SVM classifier using only the selected features. + + + + Selects an optimal combination of features to classify the provided data. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The selected feature set, contains indices. + The achieved score using two-fold cross-validation. + A trained SVM classifier using only the selected features. + + + + Selects an optimal combination from a set of features to classify the provided data. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the classifier. Default: [] + Values of generic parameters to configure the classifier. Default: [] + The selected feature set, contains indices or names. + The achieved score using two-fold cross-validation. + A trained GMM classifier using only the selected features. + + + + Selects an optimal combination from a set of features to classify the provided data. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the classifier. Default: [] + Values of generic parameters to configure the classifier. Default: [] + The selected feature set, contains indices or names. + The achieved score using two-fold cross-validation. + A trained GMM classifier using only the selected features. + + + + Selects an optimal subset from a set of features to solve a certain classification problem. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The selected feature set, contains indices or names. + The achieved score using two-fold cross-validation. + A trained k-NN classifier using only the selected features. + + + + Selects an optimal subset from a set of features to solve a certain classification problem. + Instance represents: Handle of the training data. + + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + The selected feature set, contains indices or names. + The achieved score using two-fold cross-validation. + A trained k-NN classifier using only the selected features. + + + Represents an instance of a color space transformation lookup table + + + + Creates the look-up-table for transformation of an image from the RGB color space to an arbitrary color space. + Modified instance represents: Handle of the look-up-table for color space transformation. + + Color space of the output image. Default: "hsv" + Direction of color space transformation. Default: "from_rgb" + Number of bits of the input image. Default: 8 + + + + Release the look-up-table needed for color space transformation. + Instance represents: Handle of the look-up-table handle for the color space transformation. + + + + + Color space transformation using pre-generated look-up-table. + Instance represents: Handle of the look-up-table for the color space transformation. + + Input image (channel 1). + Input image (channel 2). + Input image (channel 3). + Color-transformed output image (channel 2). + Color-transformed output image (channel 3). + Color-transformed output image (channel 1). + + + + Creates the look-up-table for transformation of an image from the RGB color space to an arbitrary color space. + Modified instance represents: Handle of the look-up-table for color space transformation. + + Color space of the output image. Default: "hsv" + Direction of color space transformation. Default: "from_rgb" + Number of bits of the input image. Default: 8 + + + Represents an instance of a model for the component-based matching. + + + + Read a component model from a file. + Modified instance represents: Handle of the component model. + + File name. + + + + Prepare a component model for matching based on explicitly specified components and relations. + Modified instance represents: Handle of the component model. + + Input image from which the shape models of the model components should be created. + Input regions from which the shape models of the model components should be created. + Variation of the model components in row direction. + Variation of the model components in column direction. + Angle variation of the model components. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Lower hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Upper hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Minimum size of the contour regions in the model. Default: "auto" + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + + Prepare a component model for matching based on explicitly specified components and relations. + Modified instance represents: Handle of the component model. + + Input image from which the shape models of the model components should be created. + Input regions from which the shape models of the model components should be created. + Variation of the model components in row direction. + Variation of the model components in column direction. + Angle variation of the model components. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Lower hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Upper hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Minimum size of the contour regions in the model. Default: "auto" + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + + Prepare a component model for matching based on trained components. + Modified instance represents: Handle of the component model. + + Handle of the training result. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + + Prepare a component model for matching based on trained components. + Modified instance represents: Handle of the component model. + + Handle of the training result. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Return the components of a found instance of a component model. + Instance represents: Handle of the component model. + + Start index of each found instance of the component model in the tuples describing the component matches. + End index of each found instance of the component model to the tuples describing the component matches. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + Index of the found instance of the component model to be returned. + Mark the orientation of the components. Default: "false" + Row coordinate of all components of the selected model instance. + Column coordinate of all components of the selected model instance. + Rotation angle of all components of the selected model instance. + Score of all components of the selected model instance. + Found components of the selected component model instance. + + + + Return the components of a found instance of a component model. + Instance represents: Handle of the component model. + + Start index of each found instance of the component model in the tuples describing the component matches. + End index of each found instance of the component model to the tuples describing the component matches. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + Index of the found instance of the component model to be returned. + Mark the orientation of the components. Default: "false" + Row coordinate of all components of the selected model instance. + Column coordinate of all components of the selected model instance. + Rotation angle of all components of the selected model instance. + Score of all components of the selected model instance. + Found components of the selected component model instance. + + + + Find the best matches of a component model in an image. + Instance represents: Handle of the component model. + + Input image in which the component model should be found. + Index of the root component. + Smallest rotation of the root component Default: -0.39 + Extent of the rotation of the root component. Default: 0.79 + Minimum score of the instances of the component model to be found. Default: 0.5 + Number of instances of the component model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the component models to be found. Default: 0.5 + Behavior if the root component is missing. Default: "stop_search" + Behavior if a component is missing. Default: "prune_branch" + Pose prediction of components that are not found. Default: "none" + Minimum score of the instances of the components to be found. Default: 0.5 + Subpixel accuracy of the component poses if not equal to 'none'. Default: "least_squares" + Number of pyramid levels for the components used in the matching (and lowest pyramid level to use if $|NumLevelsComp| = 2n$). Default: 0 + "Greediness" of the search heuristic for the components (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + End index of each found instance of the component model in the tuples describing the component matches. + Score of the found instances of the component model. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + Start index of each found instance of the component model in the tuples describing the component matches. + + + + Find the best matches of a component model in an image. + Instance represents: Handle of the component model. + + Input image in which the component model should be found. + Index of the root component. + Smallest rotation of the root component Default: -0.39 + Extent of the rotation of the root component. Default: 0.79 + Minimum score of the instances of the component model to be found. Default: 0.5 + Number of instances of the component model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the component models to be found. Default: 0.5 + Behavior if the root component is missing. Default: "stop_search" + Behavior if a component is missing. Default: "prune_branch" + Pose prediction of components that are not found. Default: "none" + Minimum score of the instances of the components to be found. Default: 0.5 + Subpixel accuracy of the component poses if not equal to 'none'. Default: "least_squares" + Number of pyramid levels for the components used in the matching (and lowest pyramid level to use if $|NumLevelsComp| = 2n$). Default: 0 + "Greediness" of the search heuristic for the components (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + End index of each found instance of the component model in the tuples describing the component matches. + Score of the found instances of the component model. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + Start index of each found instance of the component model in the tuples describing the component matches. + + + + Free the memory of a component model. + Instance represents: Handle of the component model. + + + + + Return the search tree of a component model. + Instance represents: Handle of the component model. + + Relations of components that are connected in the search tree. + Index of the root component. + Image for which the tree is to be returned. Default: "model_image" + Component index of the start node of an arc in the search tree. + Component index of the end node of an arc in the search tree. + Row coordinate of the center of the rectangle representing the relation. + Column index of the center of the rectangle representing the relation. + Orientation of the rectangle representing the relation (radians). + First radius (half length) of the rectangle representing the relation. + Second radius (half width) of the rectangle representing the relation. + Smallest relative orientation angle. + Extent of the relative orientation angle. + Search tree. + + + + Return the search tree of a component model. + Instance represents: Handle of the component model. + + Relations of components that are connected in the search tree. + Index of the root component. + Image for which the tree is to be returned. Default: "model_image" + Component index of the start node of an arc in the search tree. + Component index of the end node of an arc in the search tree. + Row coordinate of the center of the rectangle representing the relation. + Column index of the center of the rectangle representing the relation. + Orientation of the rectangle representing the relation (radians). + First radius (half length) of the rectangle representing the relation. + Second radius (half width) of the rectangle representing the relation. + Smallest relative orientation angle. + Extent of the relative orientation angle. + Search tree. + + + + Return the parameters of a component model. + Instance represents: Handle of the component model. + + Ranking of the model components expressing their suitability to act as root component. + Handles of the shape models of the individual model components. + Minimum score of the instances of the components to be found. + + + + Return the parameters of a component model. + Instance represents: Handle of the component model. + + Ranking of the model components expressing their suitability to act as root component. + Handles of the shape models of the individual model components. + Minimum score of the instances of the components to be found. + + + + Deserialize a serialized component model. + Modified instance represents: Handle of the component model. + + Handle of the serialized item. + + + + Serialize a component model. + Instance represents: Handle of the component model. + + Handle of the serialized item. + + + + Read a component model from a file. + Modified instance represents: Handle of the component model. + + File name. + + + + Write a component model to a file. + Instance represents: Handle of the component model. + + File name. + + + + Prepare a component model for matching based on explicitly specified components and relations. + Modified instance represents: Handle of the component model. + + Input image from which the shape models of the model components should be created. + Input regions from which the shape models of the model components should be created. + Variation of the model components in row direction. + Variation of the model components in column direction. + Angle variation of the model components. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Lower hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Upper hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Minimum size of the contour regions in the model. Default: "auto" + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + + Prepare a component model for matching based on explicitly specified components and relations. + Modified instance represents: Handle of the component model. + + Input image from which the shape models of the model components should be created. + Input regions from which the shape models of the model components should be created. + Variation of the model components in row direction. + Variation of the model components in column direction. + Angle variation of the model components. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Lower hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Upper hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Minimum size of the contour regions in the model. Default: "auto" + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + + Prepare a component model for matching based on trained components. + Modified instance represents: Handle of the component model. + + Handle of the training result. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + + Prepare a component model for matching based on trained components. + Modified instance represents: Handle of the component model. + + Handle of the training result. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + + + Represents an instance of a training result for the component-based matching. + + + + Train components and relations for the component-based matching. + Modified instance represents: Handle of the training result. + + Input image from which the shape models of the initial components should be created. + Contour regions or enclosing regions of the initial components. + Training images that are used for training the model components. + Contour regions of rigid model components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of connected contour regions. Default: "auto" + Minimum score of the instances of the initial components to be found. Default: 0.5 + Search tolerance in row direction. Default: -1 + Search tolerance in column direction. Default: -1 + Angle search tolerance. Default: -1 + Decision whether the training emphasis should lie on a fast computation or on a high robustness. Default: "speed" + Criterion for solving ambiguous matches of the initial components in the training images. Default: "rigidity" + Maximum contour overlap of the found initial components in a training image. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + + + + Train components and relations for the component-based matching. + Modified instance represents: Handle of the training result. + + Input image from which the shape models of the initial components should be created. + Contour regions or enclosing regions of the initial components. + Training images that are used for training the model components. + Contour regions of rigid model components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of connected contour regions. Default: "auto" + Minimum score of the instances of the initial components to be found. Default: 0.5 + Search tolerance in row direction. Default: -1 + Search tolerance in column direction. Default: -1 + Angle search tolerance. Default: -1 + Decision whether the training emphasis should lie on a fast computation or on a high robustness. Default: "speed" + Criterion for solving ambiguous matches of the initial components in the training images. Default: "rigidity" + Maximum contour overlap of the found initial components in a training image. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Prepare a component model for matching based on trained components. + Instance represents: Handle of the training result. + + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + Handle of the component model. + + + + Prepare a component model for matching based on trained components. + Instance represents: Handle of the training result. + + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + Handle of the component model. + + + + Free the memory of a component training result. + Instance represents: Handle of the training result. + + + + + Return the relations between the model components that are contained in a training result. + Instance represents: Handle of the training result. + + Index of reference component. + Image for which the component relations are to be returned. Default: "model_image" + Row coordinate of the center of the rectangle representing the relation. + Column index of the center of the rectangle representing the relation. + Orientation of the rectangle representing the relation (radians). + First radius (half length) of the rectangle representing the relation. + Second radius (half width) of the rectangle representing the relation. + Smallest relative orientation angle. + Extent of the relative orientation angles. + Region representation of the relations. + + + + Return the relations between the model components that are contained in a training result. + Instance represents: Handle of the training result. + + Index of reference component. + Image for which the component relations are to be returned. Default: "model_image" + Row coordinate of the center of the rectangle representing the relation. + Column index of the center of the rectangle representing the relation. + Orientation of the rectangle representing the relation (radians). + First radius (half length) of the rectangle representing the relation. + Second radius (half width) of the rectangle representing the relation. + Smallest relative orientation angle. + Extent of the relative orientation angles. + Region representation of the relations. + + + + Return the initial or model components in a certain image. + Instance represents: Handle of the training result. + + Type of returned components or index of an initial component. Default: "model_components" + Image for which the components are to be returned. Default: "model_image" + Mark the orientation of the components. Default: "false" + Row coordinate of the found instances of all initial components or model components. + Column coordinate of the found instances of all initial components or model components. + Rotation angle of the found instances of all components. + Score of the found instances of all components. + Contour regions of the initial components or of the model components. + + + + Return the initial or model components in a certain image. + Instance represents: Handle of the training result. + + Type of returned components or index of an initial component. Default: "model_components" + Image for which the components are to be returned. Default: "model_image" + Mark the orientation of the components. Default: "false" + Row coordinate of the found instances of all initial components or model components. + Column coordinate of the found instances of all initial components or model components. + Rotation angle of the found instances of all components. + Score of the found instances of all components. + Contour regions of the initial components or of the model components. + + + + Modify the relations within a training result. + Instance represents: Handle of the training result. + + Model component(s) relative to which the movement(s) should be modified. Default: "all" + Model component(s) of which the relative movement(s) should be modified. Default: "all" + Change of the position relation in pixels. + Change of the orientation relation in radians. + + + + Modify the relations within a training result. + Instance represents: Handle of the training result. + + Model component(s) relative to which the movement(s) should be modified. Default: "all" + Model component(s) of which the relative movement(s) should be modified. Default: "all" + Change of the position relation in pixels. + Change of the orientation relation in radians. + + + + Deserialize a component training result. + Modified instance represents: Handle of the training result. + + Handle of the serialized item. + + + + Serialize a component training result. + Instance represents: Handle of the training result. + + Handle of the serialized item. + + + + Read a component training result from a file. + Modified instance represents: Handle of the training result. + + File name. + + + + Write a component training result to a file. + Instance represents: Handle of the training result. + + File name. + + + + Adopt new parameters that are used to create the model components into the training result. + Instance represents: Handle of the training result. + + Training images that were used for training the model components. + Criterion for solving the ambiguities. Default: "rigidity" + Maximum contour overlap of the found initial components. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Contour regions of rigid model components. + + + + Inspect the rigid model components obtained from the training. + Instance represents: Handle of the training result. + + Criterion for solving the ambiguities. Default: "rigidity" + Maximum contour overlap of the found initial components. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Contour regions of rigid model components. + + + + Train components and relations for the component-based matching. + Modified instance represents: Handle of the training result. + + Input image from which the shape models of the initial components should be created. + Contour regions or enclosing regions of the initial components. + Training images that are used for training the model components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of connected contour regions. Default: "auto" + Minimum score of the instances of the initial components to be found. Default: 0.5 + Search tolerance in row direction. Default: -1 + Search tolerance in column direction. Default: -1 + Angle search tolerance. Default: -1 + Decision whether the training emphasis should lie on a fast computation or on a high robustness. Default: "speed" + Criterion for solving ambiguous matches of the initial components in the training images. Default: "rigidity" + Maximum contour overlap of the found initial components in a training image. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Contour regions of rigid model components. + + + + Train components and relations for the component-based matching. + Modified instance represents: Handle of the training result. + + Input image from which the shape models of the initial components should be created. + Contour regions or enclosing regions of the initial components. + Training images that are used for training the model components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of connected contour regions. Default: "auto" + Minimum score of the instances of the initial components to be found. Default: 0.5 + Search tolerance in row direction. Default: -1 + Search tolerance in column direction. Default: -1 + Angle search tolerance. Default: -1 + Decision whether the training emphasis should lie on a fast computation or on a high robustness. Default: "speed" + Criterion for solving ambiguous matches of the initial components in the training images. Default: "rigidity" + Maximum contour overlap of the found initial components in a training image. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Contour regions of rigid model components. + + + Class representing a compute device handle. + + + + Open a compute device. + Modified instance represents: Compute device handle. + + Compute device Identifier. + + + + Query compute device parameters. + Instance represents: Compute device handle. + + Name of the parameter to query. Default: "buffer_cache_capacity" + Value of the parameter. + + + + Set parameters of an compute device. + Instance represents: Compute device handle. + + Name of the parameter to set. Default: "buffer_cache_capacity" + New parameter value. + + + + Set parameters of an compute device. + Instance represents: Compute device handle. + + Name of the parameter to set. Default: "buffer_cache_capacity" + New parameter value. + + + Close all compute devices. + + + + Close a compute_device. + Instance represents: Compute device handle. + + + + Deactivate all compute devices. + + + + Deactivate a compute device. + Instance represents: Compute device handle. + + + + + Activate a compute device. + Instance represents: Compute device handle. + + + + + Initialize a compute device. + Instance represents: Compute device handle. + + List of operators to prepare. Default: "all" + + + + Open a compute device. + Modified instance represents: Compute device handle. + + Compute device Identifier. + + + Get information on a compute device. + Compute device handle. + Name of Information to query. Default: "name" + Returned information. + + + Get the list of available compute devices. + List of available compute devices. + + + Represents an instance of a condition synchronization object. + + + + Create a condition variable synchronization object. + Modified instance represents: Condition synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + + Create a condition variable synchronization object. + Modified instance represents: Condition synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + + Destroy a condition synchronization object. + Instance represents: Condition synchronization object. + + + + + Signal a condition synchronization object. + Instance represents: Condition synchronization object. + + + + + Signal a condition synchronization object. + Instance represents: Condition synchronization object. + + + + + Bounded wait on the signal of a condition synchronization object. + Instance represents: Condition synchronization object. + + Mutex synchronization object. + Timeout in micro seconds. + + + + wait on the signal of a condition synchronization object. + Instance represents: Condition synchronization object. + + Mutex synchronization object. + + + + Create a condition variable synchronization object. + Modified instance represents: Condition synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + + Create a condition variable synchronization object. + Modified instance represents: Condition synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + Represents an instance of a 2D data code reader. + + + + Read a 2D data code model from a file and create a new model. + Modified instance represents: Handle of the created 2D data code model. + + Name of the 2D data code model file. Default: "data_code_model.dcm" + + + + Create a model of a 2D data code class. + Modified instance represents: Handle for using and accessing the 2D data code model. + + Type of the 2D data code. Default: "Data Matrix ECC 200" + Names of the generic parameters that can be adjusted for the 2D data code model. Default: [] + Values of the generic parameters that can be adjusted for the 2D data code model. Default: [] + + + + Create a model of a 2D data code class. + Modified instance represents: Handle for using and accessing the 2D data code model. + + Type of the 2D data code. Default: "Data Matrix ECC 200" + Names of the generic parameters that can be adjusted for the 2D data code model. Default: [] + Values of the generic parameters that can be adjusted for the 2D data code model. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Access iconic objects that were created during the search for 2D data code symbols. + Instance represents: Handle of the 2D data code model. + + Handle of the 2D data code candidate. Either an integer (usually the ResultHandle of find_data_code_2d) or a string representing a group of candidates. Default: "all_candidates" + Name of the iconic object to return. Default: "candidate_xld" + Objects that are created as intermediate results during the detection or evaluation of 2D data codes. + + + + Access iconic objects that were created during the search for 2D data code symbols. + Instance represents: Handle of the 2D data code model. + + Handle of the 2D data code candidate. Either an integer (usually the ResultHandle of find_data_code_2d) or a string representing a group of candidates. Default: "all_candidates" + Name of the iconic object to return. Default: "candidate_xld" + Objects that are created as intermediate results during the detection or evaluation of 2D data codes. + + + + Get the alphanumerical results that were accumulated during the search for 2D data code symbols. + Instance represents: Handle of the 2D data code model. + + Handle of the 2D data code candidate. Either an integer (usually the ResultHandle of find_data_code_2d) or a string representing a group of candidates. Default: "all_candidates" + Names of the results of the 2D data code to return. Default: "status" + List with the results. + + + + Get the alphanumerical results that were accumulated during the search for 2D data code symbols. + Instance represents: Handle of the 2D data code model. + + Handle of the 2D data code candidate. Either an integer (usually the ResultHandle of find_data_code_2d) or a string representing a group of candidates. Default: "all_candidates" + Names of the results of the 2D data code to return. Default: "status" + List with the results. + + + + Detect and read 2D data code symbols in an image or train the 2D data code model. + Instance represents: Handle of the 2D data code model. + + Input image. If the image has a reduced domain, the data code search is reduced to that domain. This usually reduces the runtime of the operator. However, if the datacode is not fully inside the domain, the datacode might not be found correctly. In rare cases, data codes may be found outside the domain. If these results are undesirable, they have to be subsequently eliminated. + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handles of all successfully decoded 2D data code symbols. + Decoded data strings of all detected 2D data code symbols in the image. + XLD contours that surround the successfully decoded data code symbols. The order of the contour points reflects the orientation of the detected symbols. The contours begin in the top left corner (see 'orientation' at get_data_code_2d_results) and continue clockwise. Alignment{left} Figure[1][1][60]{get_data_code_2d_results-xld_qrcode} Order of points of SymbolXLDs Figure Alignment @f$ + + + + Detect and read 2D data code symbols in an image or train the 2D data code model. + Instance represents: Handle of the 2D data code model. + + Input image. If the image has a reduced domain, the data code search is reduced to that domain. This usually reduces the runtime of the operator. However, if the datacode is not fully inside the domain, the datacode might not be found correctly. In rare cases, data codes may be found outside the domain. If these results are undesirable, they have to be subsequently eliminated. + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handles of all successfully decoded 2D data code symbols. + Decoded data strings of all detected 2D data code symbols in the image. + XLD contours that surround the successfully decoded data code symbols. The order of the contour points reflects the orientation of the detected symbols. The contours begin in the top left corner (see 'orientation' at get_data_code_2d_results) and continue clockwise. Alignment{left} Figure[1][1][60]{get_data_code_2d_results-xld_qrcode} Order of points of SymbolXLDs Figure Alignment @f$ + + + + Set selected parameters of the 2D data code model. + Instance represents: Handle of the 2D data code model. + + Names of the generic parameters that shall be adjusted for the 2D data code. Default: "polarity" + Values of the generic parameters that are adjusted for the 2D data code. Default: "light_on_dark" + + + + Set selected parameters of the 2D data code model. + Instance represents: Handle of the 2D data code model. + + Names of the generic parameters that shall be adjusted for the 2D data code. Default: "polarity" + Values of the generic parameters that are adjusted for the 2D data code. Default: "light_on_dark" + + + + Get one or several parameters that describe the 2D data code model. + Instance represents: Handle of the 2D data code model. + + Names of the generic parameters that are to be queried for the 2D data code model. Default: "polarity" + Values of the generic parameters. + + + + Get one or several parameters that describe the 2D data code model. + Instance represents: Handle of the 2D data code model. + + Names of the generic parameters that are to be queried for the 2D data code model. Default: "polarity" + Values of the generic parameters. + + + + Get for a given 2D data code model the names of the generic parameters or objects that can be used in the other 2D data code operators. + Instance represents: Handle of the 2D data code model. + + Name of the parameter group. Default: "get_result_params" + List containing the names of the supported generic parameters. + + + + Deserialize a serialized 2D data code model. + Modified instance represents: Handle of the 2D data code model. + + Handle of the serialized item. + + + + Serialize a 2D data code model. + Instance represents: Handle of the 2D data code model. + + Handle of the serialized item. + + + + Read a 2D data code model from a file and create a new model. + Modified instance represents: Handle of the created 2D data code model. + + Name of the 2D data code model file. Default: "data_code_model.dcm" + + + + Writes a 2D data code model into a file. + Instance represents: Handle of the 2D data code model. + + Name of the 2D data code model file. Default: "data_code_model.dcm" + + + + Delete a 2D data code model and free the allocated memory. + Instance represents: Handle of the 2D data code model. + + + + + Create a model of a 2D data code class. + Modified instance represents: Handle for using and accessing the 2D data code model. + + Type of the 2D data code. Default: "Data Matrix ECC 200" + Names of the generic parameters that can be adjusted for the 2D data code model. Default: [] + Values of the generic parameters that can be adjusted for the 2D data code model. Default: [] + + + + Create a model of a 2D data code class. + Modified instance represents: Handle for using and accessing the 2D data code model. + + Type of the 2D data code. Default: "Data Matrix ECC 200" + Names of the generic parameters that can be adjusted for the 2D data code model. Default: [] + Values of the generic parameters that can be adjusted for the 2D data code model. Default: [] + + + Represents an instance of a deformable model for matching. + + + + Read a deformable model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + + Prepare a deformable model for planar uncalibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Prepare a deformable model for planar uncalibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Create a deformable model for calibrated perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + + + + Create a deformable model for calibrated perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + + + + Creates a deformable model for uncalibrated, perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + + Creates a deformable model for uncalibrated, perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Return the origin (reference point) of a deformable model. + Instance represents: Handle of the model. + + Row coordinate of the origin of the deformable model. + Column coordinate of the origin of the deformable model. + + + + Set the origin (reference point) of a deformable model. + Instance represents: Handle of the model. + + Row coordinate of the origin of the deformable model. + Column coordinate of the origin of the deformable model. + + + + Set selected parameters of the deformable model. + Instance represents: Handle of the model. + + Parameter names. + Parameter values. + + + + Return the parameters of a deformable model. + Instance represents: Handle of the model. + + Names of the generic parameters that are to be queried for the deformable model. Default: "angle_start" + Values of the generic parameters. + + + + Return the parameters of a deformable model. + Instance represents: Handle of the model. + + Names of the generic parameters that are to be queried for the deformable model. Default: "angle_start" + Values of the generic parameters. + + + + Return the contour representation of a deformable model. + Instance represents: Handle of the model. + + Pyramid level for which the contour representation should be returned. Default: 1 + Contour representation of the deformable model. + + + + Deserialize a deformable model. + Modified instance represents: Handle of the model. + + Handle of the serialized item. + + + + Serialize a deformable model. + Instance represents: Handle of a model to be saved. + + Handle of the serialized item. + + + + Read a deformable model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Write a deformable model to a file. + Instance represents: Handle of a model to be saved. + + The path and filename of the model to be saved. + + + Free the memory of a deformable model. + Handle of the model. + + + + Free the memory of a deformable model. + Instance represents: Handle of the model. + + + + + Find the best matches of a local deformable model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Vector field of the rectification transformation. + Contours of the found instances of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minumum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching. Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Switch for requested iconic result. Default: [] + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Scores of the found instances of the model. + Row coordinates of the found instances of the model. + Column coordinates of the found instances of the model. + Rectified image of the found model. + + + + Find the best matches of a calibrated deformable model in an image and return their 3D pose. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the model. + Pose of the object. + + + + Find the best matches of a calibrated deformable model in an image and return their 3D pose. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the model. + Pose of the object. + + + + Find the best matches of a planar projective invariant deformable model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Score of the found instances of the model. + Homographies between model and found instances. + + + + Find the best matches of a planar projective invariant deformable model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Score of the found instances of the model. + Homographies between model and found instances. + + + + Set the metric of a local deformable model that was created from XLD contours. + Instance represents: Handle of the model. + + Input image used for the determination of the polarity. + Vector field of the local deformation. + Match metric. Default: "use_polarity" + + + + Set the metric of a planar calibrated deformable model that was created from XLD contours. + Instance represents: Handle of the model. + + Input image used for the determination of the polarity. + Pose of the model in the image. + Match metric. Default: "use_polarity" + + + + Set the metric of a planar uncalibrated deformable model that was created from XLD contours. + Instance represents: Handle of the model. + + Input image used for the determination of the polarity. + Transformation matrix. + Match metric. Default: "use_polarity" + + + + Prepare a deformable model for local deformable matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Prepare a deformable model for local deformable matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + + Prepare a deformable model for planar uncalibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Prepare a deformable model for planar uncalibrated matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Creates a deformable model for local, deformable matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Creates a deformable model for local, deformable matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + + + + Create a deformable model for calibrated perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + + + + Create a deformable model for calibrated perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + + + + Creates a deformable model for uncalibrated, perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + + Creates a deformable model for uncalibrated, perspective matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + + + Represents an instance of a deformable surface matching result. + + + + Get details of a result from deformable surface based matching. + Instance represents: Handle of the deformable surface matching result. + + Name of the result property. Default: "sampled_scene" + Index of the result property. Default: 0 + Value of the result property. + + + + Get details of a result from deformable surface based matching. + Instance represents: Handle of the deformable surface matching result. + + Name of the result property. Default: "sampled_scene" + Index of the result property. Default: 0 + Value of the result property. + + + Free the memory of a deformable surface matching result. + Handle of the deformable surface matching result. + + + + Free the memory of a deformable surface matching result. + Instance represents: Handle of the deformable surface matching result. + + + + Refine the position and deformation of a deformable surface model in a 3D scene. + Handle of the deformable surface model. + Handle of the 3D object model containing the scene. + Relative sampling distance of the scene. Default: 0.05 + Initial deformation of the 3D object model + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the refined model. + + + + Refine the position and deformation of a deformable surface model in a 3D scene. + Modified instance represents: Handle of the matching result. + + Handle of the deformable surface model. + Handle of the 3D object model containing the scene. + Relative sampling distance of the scene. Default: 0.05 + Initial deformation of the 3D object model + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the refined model. + + + Find the best match of a deformable surface model in a 3D scene. + Handle of the deformable surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Minimum score of the returned match. Default: 0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the found instances of the surface model. + + + + Find the best match of a deformable surface model in a 3D scene. + Modified instance represents: Handle of the matching result. + + Handle of the deformable surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Minimum score of the returned match. Default: 0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + + + Represents an instance of a deformable surface model. + + + + Read a deformable surface model from a file. + Modified instance represents: Handle of the read deformable surface model. + + Name of the file to read. + + + + Create the data structure needed to perform deformable surface-based matching. + Modified instance represents: Handle of the deformable surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.05 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Create the data structure needed to perform deformable surface-based matching. + Modified instance represents: Handle of the deformable surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.05 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Free the memory of a deformable surface model. + Handle of the deformable surface model. + + + + Free the memory of a deformable surface model. + Instance represents: Handle of the deformable surface model. + + + + + Deserialize a deformable surface model. + Modified instance represents: Handle of the deformable surface model. + + Handle of the serialized item. + + + + Serialize a deformable surface_model. + Instance represents: Handle of the deformable surface model. + + Handle of the serialized item. + + + + Read a deformable surface model from a file. + Modified instance represents: Handle of the read deformable surface model. + + Name of the file to read. + + + + Write a deformable surface model to a file. + Instance represents: Handle of the deformable surface model to write. + + File name to write to. + + + + Refine the position and deformation of a deformable surface model in a 3D scene. + Instance represents: Handle of the deformable surface model. + + Handle of the 3D object model containing the scene. + Relative sampling distance of the scene. Default: 0.05 + Initial deformation of the 3D object model + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the refined model. + + + + Refine the position and deformation of a deformable surface model in a 3D scene. + Instance represents: Handle of the deformable surface model. + + Handle of the 3D object model containing the scene. + Relative sampling distance of the scene. Default: 0.05 + Initial deformation of the 3D object model + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the refined model. + + + + Find the best match of a deformable surface model in a 3D scene. + Instance represents: Handle of the deformable surface model. + + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Minimum score of the returned match. Default: 0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the found instances of the surface model. + + + + Find the best match of a deformable surface model in a 3D scene. + Instance represents: Handle of the deformable surface model. + + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Minimum score of the returned match. Default: 0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the found instances of the surface model. + + + + Return the parameters and properties of a deformable surface model. + Instance represents: Handle of the deformable surface model. + + Name of the parameter. Default: "sampled_model" + Value of the parameter. + + + + Return the parameters and properties of a deformable surface model. + Instance represents: Handle of the deformable surface model. + + Name of the parameter. Default: "sampled_model" + Value of the parameter. + + + + Add a reference point to a deformable surface model. + Instance represents: Handle of the deformable surface model. + + x-coordinates of a reference point. + x-coordinates of a reference point. + x-coordinates of a reference point. + Index of the new reference point. + + + + Add a reference point to a deformable surface model. + Instance represents: Handle of the deformable surface model. + + x-coordinates of a reference point. + x-coordinates of a reference point. + x-coordinates of a reference point. + Index of the new reference point. + + + + Add a sample deformation to a deformable surface model + Instance represents: Handle of the deformable surface model. + + Handle of the deformed 3D object model. + + + + Add a sample deformation to a deformable surface model + Instance represents: Handle of the deformable surface model. + + Handle of the deformed 3D object model. + + + + Create the data structure needed to perform deformable surface-based matching. + Modified instance represents: Handle of the deformable surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.05 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Create the data structure needed to perform deformable surface-based matching. + Modified instance represents: Handle of the deformable surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.05 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Represents an instance of a descriptor model. + + + + Read a descriptor model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Create a descriptor model for calibrated perspective matching. + Modified instance represents: The handle to the descriptor model. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + + + + Prepare a descriptor model for interest point matching. + Modified instance represents: The handle to the descriptor model. + + Input image whose domain will be used to create the model. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Free the memory of a descriptor model. + Handle of the descriptor model. + + + + Free the memory of a descriptor model. + Instance represents: Handle of the descriptor model. + + + + + Deserialize a descriptor model. + Modified instance represents: Handle of the model. + + Handle of the serialized item. + + + + Serialize a descriptor model. + Instance represents: Handle of a model to be saved. + + Handle of the serialized item. + + + + Read a descriptor model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Write a descriptor model to a file. + Instance represents: Handle of a model to be saved. + + The path and filename of the model to be saved. + + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Instance represents: The handle to the descriptor model. + + Input image where the model should be found. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Camera parameter (inner orientation) obtained from camera calibration. + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + 3D pose of the object. + + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Instance represents: The handle to the descriptor model. + + Input image where the model should be found. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Camera parameter (inner orientation) obtained from camera calibration. + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + 3D pose of the object. + + + + Find the best matches of a descriptor model in an image. + Instance represents: The handle to the descriptor model. + + Input image where the model should be found. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + Homography between model and found instance. + + + + Find the best matches of a descriptor model in an image. + Instance represents: The handle to the descriptor model. + + Input image where the model should be found. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + Homography between model and found instance. + + + + Query the interest points of the descriptor model or the last processed search image. + Instance represents: The handle to the descriptor model. + + Set of interest points. Default: "model" + Subset of interest points. Default: "all" + Row coordinates of interest points. + Column coordinates of interest points. + + + + Query the interest points of the descriptor model or the last processed search image. + Instance represents: The handle to the descriptor model. + + Set of interest points. Default: "model" + Subset of interest points. Default: "all" + Row coordinates of interest points. + Column coordinates of interest points. + + + + Return the parameters of a descriptor model. + Instance represents: The object handle to the descriptor model. + + The detectors parameter names. + Values of the detectors parameters. + The descriptors parameter names. + Values of the descriptors parameters. + The type of the detector. + + + + Create a descriptor model for calibrated perspective matching. + Modified instance represents: The handle to the descriptor model. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + + + + Prepare a descriptor model for interest point matching. + Modified instance represents: The handle to the descriptor model. + + Input image whose domain will be used to create the model. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + + + + Query alphanumerical results that were accumulated during descriptor-based matching. + Instance represents: Handle of a descriptor model. + + Handle of the object for which the results are queried. Default: "all" + Name of the results to be queried. Default: "num_points" + Returned results. + + + + Query alphanumerical results that were accumulated during descriptor-based matching. + Instance represents: Handle of a descriptor model. + + Handle of the object for which the results are queried. Default: "all" + Name of the results to be queried. Default: "num_points" + Returned results. + + + + Return the origin of a descriptor model. + Instance represents: Handle of a descriptor model. + + Position of origin in row direction. + Position of origin in column direction. + + + + Return the origin of a descriptor model. + Instance represents: Handle of a descriptor model. + + Position of origin in row direction. + Position of origin in column direction. + + + + Sets the origin of a descriptor model. + Instance represents: Handle of a descriptor model. + + Translation of origin in row direction. Default: 0 + Translation of origin in column direction. Default: 0 + + + + Sets the origin of a descriptor model. + Instance represents: Handle of a descriptor model. + + Translation of origin in row direction. Default: 0 + Translation of origin in column direction. Default: 0 + + + Represents an instance of a Dictionary. + + + + Create a new empty dictionary. + Modified instance represents: Handle of the newly created dictionary. + + + + + Read a dictionary from a file. + Modified instance represents: Dictionary handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Read a dictionary from a file. + Modified instance represents: Dictionary handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Copy a dictionary. + Instance represents: Dictionary handle. + + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Copied dictionary handle. + + + + Copy a dictionary. + Instance represents: Dictionary handle. + + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Copied dictionary handle. + + + + Create a new empty dictionary. + Modified instance represents: Handle of the newly created dictionary. + + + + + Retrieve an object associated with the key from the dictionary. + Instance represents: Dictionary handle. + + Key string. + Object value retrieved from the dictionary. + + + + Retrieve an object associated with the key from the dictionary. + Instance represents: Dictionary handle. + + Key string. + Object value retrieved from the dictionary. + + + + Query dictionary parameters or information about a dictionary. + Instance represents: Dictionary handle. + + Names of the dictionary parameters or info queries. Default: "keys" + Dictionary keys the parameter/query should be applied to (empty for GenParamName = 'keys'). + Values of the dictionary parameters or info queries. + + + + Query dictionary parameters or information about a dictionary. + Instance represents: Dictionary handle. + + Names of the dictionary parameters or info queries. Default: "keys" + Dictionary keys the parameter/query should be applied to (empty for GenParamName = 'keys'). + Values of the dictionary parameters or info queries. + + + + Retrieve a tuple associated with the key from the dictionary. + Instance represents: Dictionary handle. + + Key string. + Tuple value retrieved from the dictionary. + + + + Retrieve a tuple associated with the key from the dictionary. + Instance represents: Dictionary handle. + + Key string. + Tuple value retrieved from the dictionary. + + + + Read a dictionary from a file. + Modified instance represents: Dictionary handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Read a dictionary from a file. + Modified instance represents: Dictionary handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Remove keys from a dictionary. + Instance represents: Dictionary handle. + + Key to remove. + + + + Remove keys from a dictionary. + Instance represents: Dictionary handle. + + Key to remove. + + + + Add a key/object pair to the dictionary. + Instance represents: Dictionary handle. + + Object to be associated with the key. + Key string. + + + + Add a key/object pair to the dictionary. + Instance represents: Dictionary handle. + + Object to be associated with the key. + Key string. + + + + Add a key/tuple pair to the dictionary. + Instance represents: Dictionary handle. + + Key string. + Tuple value to be associated with the key. + + + + Add a key/tuple pair to the dictionary. + Instance represents: Dictionary handle. + + Key string. + Tuple value to be associated with the key. + + + + Write a dictionary to a file. + Instance represents: Dictionary handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Write a dictionary to a file. + Instance represents: Dictionary handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + Represents an instance of a Deep Neural Network. + + + + Read a deep-learning-based classifier from a file. + Modified instance represents: Handle of the deep learning classifier. + + File name. Default: "pretrained_dl_classifier_compact.hdl" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Infer the class affiliations for a set of images using a deep-learning-based classifier. + Instance represents: Handle of the deep-learning-based classifier. + + Tuple of input images. + Handle of the deep learning classification results. + + + Clear a deep-learning-based classifier. + Handle of the deep-learning-based classifier. + + + + Clear a deep-learning-based classifier. + Instance represents: Handle of the deep-learning-based classifier. + + + + + Deserialize a deep-learning-based classifier. + Modified instance represents: Handle of the deep-learning-based classifier. + + Handle of the serialized item. + + + + Return the parameters of a deep-learning-based classifier. + Instance represents: Handle of the deep-learning-based classifier. + + Name of the generic parameter. Default: "gpu" + Value of the generic parameter. + + + + Return the parameters of a deep-learning-based classifier. + Instance represents: Handle of the deep-learning-based classifier. + + Name of the generic parameter. Default: "gpu" + Value of the generic parameter. + + + + Read a deep-learning-based classifier from a file. + Modified instance represents: Handle of the deep learning classifier. + + File name. Default: "pretrained_dl_classifier_compact.hdl" + + + + Serialize a deep-learning-based classifier. + Instance represents: Handle of the deep-learning-based classifier. + + Handle of the serialized item. + + + + Set the parameters of a deep-learning-based classifier. + Instance represents: Handle of the deep-learning-based classifier. + + Name of the generic parameter. Default: "classes" + Value of the generic parameter. Default: ["class_1","class_2","class_3"] + + + + Set the parameters of a deep-learning-based classifier. + Instance represents: Handle of the deep-learning-based classifier. + + Name of the generic parameter. Default: "classes" + Value of the generic parameter. Default: ["class_1","class_2","class_3"] + + + + Write a deep-learning-based classifier in a file. + Instance represents: Handle of the deep-learning-based classifier. + + File name. + + + Represents an instance of a Deep Neural Network inference step result. + + + + Infer the class affiliations for a set of images using a deep-learning-based classifier. + Modified instance represents: Handle of the deep learning classification results. + + Tuple of input images. + Handle of the deep-learning-based classifier. + + + Clear a handle containing the results of the deep-learning-based classification. + Handle of the deep learning classification results. + + + + Clear a handle containing the results of the deep-learning-based classification. + Instance represents: Handle of the deep learning classification results. + + + + + Retrieve classification results inferred by a deep-learning-based classifier. + Instance represents: Handle of the deep learning classification results. + + Index of the image in the batch. Default: "all" + Name of the generic parameter. Default: "predicted_classes" + Value of the generic parameter, either the confidence values, the class names or class indices. + + + + Retrieve classification results inferred by a deep-learning-based classifier. + Instance represents: Handle of the deep learning classification results. + + Index of the image in the batch. Default: "all" + Name of the generic parameter. Default: "predicted_classes" + Value of the generic parameter, either the confidence values, the class names or class indices. + + + Represents an instance of a Deep Neural Network training step result. + + + + Perform a training step of a deep-learning-based classifier on a batch of images. + Modified instance represents: Handle of the training results from the deep-learning-based classifier. + + Images comprising the batch. + Handle of the deep-learning-based classifier. + Corresponding labels for each of the images. Default: [] + + + Clear the handle of a deep-learning-based classifier training result. + Handle of the training results from the deep-learning-based classifier. + + + + Clear the handle of a deep-learning-based classifier training result. + Instance represents: Handle of the training results from the deep-learning-based classifier. + + + + + Return the results for the single training step of a deep-learning-based classifier. + Instance represents: Handle of the training results from the deep-learning-based classifier. + + Name of the generic parameter. Default: "loss" + Value of the generic parameter. + + + + Return the results for the single training step of a deep-learning-based classifier. + Instance represents: Handle of the training results from the deep-learning-based classifier. + + Name of the generic parameter. Default: "loss" + Value of the generic parameter. + + + + Perform a training step of a deep-learning-based classifier on a batch of images. + Modified instance represents: Handle of the training results from the deep-learning-based classifier. + + Images comprising the batch. + Handle of the deep-learning-based classifier. + Corresponding labels for each of the images. Default: [] + + + Represents an instance of a Deep Neural Network. + + + + Create a deep learning network for object detection. + Modified instance represents: Deep learning model for object detection. + + Deep learning classifier, used as backbone network. Default: "pretrained_dl_classifier_compact.hdl" + Number of classes. Default: 3 + Parameters for the object detection model. Default: [] + + + + Read a deep learning model from a file. + Modified instance represents: Handle of the deep learning model. + + Filename Default: "pretrained_dl_segmentation_compact.hdl" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Apply a deep-learning-based network on a set of images for inference. + Instance represents: Handle of the deep learning model. + + Input data. + Requested outputs. Default: [] + Handle containing result data. + + + Clear a deep learning model. + Handle of the deep learning model. + + + + Clear a deep learning model. + Instance represents: Handle of the deep learning model. + + + + + Create a deep learning network for object detection. + Modified instance represents: Deep learning model for object detection. + + Deep learning classifier, used as backbone network. Default: "pretrained_dl_classifier_compact.hdl" + Number of classes. Default: 3 + Parameters for the object detection model. Default: [] + + + + Deserialize a deep learning model. + Modified instance represents: Handle of the deep learning model. + + Handle of the serialized item. + + + + Return the parameters of a deep learning model. + Instance represents: Handle of the deep learning model. + + Name of the generic parameter. Default: "batch_size" + Value of the generic parameter. + + + + Read a deep learning model from a file. + Modified instance represents: Handle of the deep learning model. + + Filename Default: "pretrained_dl_segmentation_compact.hdl" + + + + Serialize a deep learning model. + Instance represents: Handle of the deep learning model. + + Handle of the serialized item. + + + + Set the parameters of a deep learning model. + Instance represents: Handle of the deep learning model. + + Name of the generic parameter. Default: "learning_rate" + Value of the generic parameter. Default: 0.001 + + + + Set the parameters of a deep learning model. + Instance represents: Handle of the deep learning model. + + Name of the generic parameter. Default: "learning_rate" + Value of the generic parameter. Default: 0.001 + + + + Train a deep learning model. + Instance represents: Deep learning model handle. + + Tuple of Dictionaries with input images and corresponding information. + Dictionary with the train result data. + + + + Write a deep learning model in a file. + Instance represents: Handle of the deep learning model. + + Filename + + + Represents an instance of a drawing object. + + + + Create a circle which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the center. Default: 100 + Column coordinate of the center. Default: 100 + Radius of the circle. Default: 80 + + + + Create a rectangle of any orientation which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the center. Default: 150 + Column coordinate of the center. Default: 150 + Orientation of the first half axis in radians. Default: 0 + First half axis. Default: 100 + Second half axis. Default: 100 + + + + Create a rectangle parallel to the coordinate axis which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the upper left corner. Default: 100 + Column coordinate of the upper left corner. Default: 100 + Row coordinate of the lower right corner. Default: 200 + Column coordinate of the lower right corner. Default: 200 + + + Adds a callback for the resize event, that is, this callback is + executed whenever the user changes any of the dimensions of the draw + object. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the attach event, that is, this callback is + executed when a drawing object is attached to the window. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the detach event, that is, this callback is + executed when a drawing object is detached from the window. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the resize event, that is, this callback is + executed whenever the drawing object's position changes. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the resize event, that is, this callback is + executed whenever the drawing object is selected. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the resize event, that is, this callback is + executed whenever the user changes any of the dimensions of the draw + object. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the resize event, that is, this callback is + executed whenever the drawing object's position changes. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the resize event, that is, this callback is + executed whenever the drawing object is selected. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the attach event, that is, this callback is + executed when a drawing object is attached to the window. + Callback function with the signature defined by + HDrawingObjectCallback + + + Adds a callback for the detach event, that is, this callback is + executed when a drawing object is detached from the window. + Callback function with the signature defined by + HDrawingObjectCallback + + + Method to create drawing objects by explicitly specifying the type. + Type of the drawing object. Can be any of the specified by + the enum type HDrawingObjectType. + List of parameters for the corresponding drawing object. + See the constructors listed in HOperatorSet for more details. + + + + Add a callback function to a drawing object. + Instance represents: Handle of the drawing object. + + Events to be captured. + Callback functions. + + + + Add a callback function to a drawing object. + Instance represents: Handle of the drawing object. + + Events to be captured. + Callback functions. + + + Detach the background image from a HALCON window. + Window handle. + + + Attach a background image to a HALCON window. + Background image. + Window handle. + + + + Create a text object which can be moved interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the text position. Default: 12 + Column coordinate of the text position. Default: 12 + Character string to be displayed. Default: "Text" + + + + Return the iconic object of a drawing object. + Instance represents: Handle of the drawing object. + + Copy of the iconic object represented by the drawing object. + + + + Delete drawing object. + Instance represents: Handle of the drawing object. + + + + + Set the parameters of a drawing object. + Instance represents: Handle of the drawing object. + + Parameter names of the drawing object. + Parameter values. + + + + Set the parameters of a drawing object. + Instance represents: Handle of the drawing object. + + Parameter names of the drawing object. + Parameter values. + + + + Get the parameters of a drawing object. + Instance represents: Handle of the drawing object. + + Parameter names of the drawing object. + Parameter values. + + + + Get the parameters of a drawing object. + Instance represents: Handle of the drawing object. + + Parameter names of the drawing object. + Parameter values. + + + + Set the contour of an interactive draw XLD. + Instance represents: Handle of the drawing object. + + XLD contour. + + + + Create a XLD contour which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinates of the polygon. Default: [100,200,200,100] + Column coordinates of the polygon. Default: [100,100,200,200] + + + + Create a circle sector which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the center. Default: 100 + Column coordinate of the center. Default: 100 + Radius of the circle. Default: 80 + Start angle of the arc. Default: 0 + End angle of the arc. Default: 3.14159 + + + + Create an elliptic sector which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row index of the center. Default: 200 + Column index of the center. Default: 200 + Orientation of the first half axis in radians. Default: 0 + First half axis. Default: 100 + Second half axis. Default: 60 + Start angle of the arc. Default: 0 + End angle of the arc. Default: 3.14159 + + + + Create a line which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row index of the first line point. Default: 100 + Column index of the first line point. Default: 100 + Row index of the second line point. Default: 200 + Column index of the second line point. Default: 200 + + + + Create a circle which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the center. Default: 100 + Column coordinate of the center. Default: 100 + Radius of the circle. Default: 80 + + + + Create an ellipse which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row index of the center. Default: 200 + Column index of the center. Default: 200 + Orientation of the first half axis in radians. Default: 0 + First half axis. Default: 100 + Second half axis. Default: 60 + + + + Create a rectangle of any orientation which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the center. Default: 150 + Column coordinate of the center. Default: 150 + Orientation of the first half axis in radians. Default: 0 + First half axis. Default: 100 + Second half axis. Default: 100 + + + + Create a rectangle parallel to the coordinate axis which can be modified interactively. + Modified instance represents: Handle of the drawing object. + + Row coordinate of the upper left corner. Default: 100 + Column coordinate of the upper left corner. Default: 100 + Row coordinate of the lower right corner. Default: 200 + Column coordinate of the lower right corner. Default: 200 + + + Send an event to a buffer window signaling a mouse double click event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a buffer window signaling a mouse double click event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a window buffer signaling a mouse down event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a window buffer signaling a mouse down event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a buffer window signaling a mouse drag event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a buffer window signaling a mouse drag event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a buffer window signaling a mouse up event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a buffer window signaling a mouse up event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Returns the corresponding HALCON id. + + + Signature for the drawing object callbacks in managed code. + + + Signature for the drawing object callbacks in managed code. + + + Represents a dual quaternion. + + + Create an uninitialized instance. + + + + Convert a 3D pose to a unit dual quaternion. + Modified instance represents: Unit dual quaternion. + + 3D pose. + + + + Convert a screw into a dual quaternion. + Modified instance represents: Dual quaternion. + + Format of the screw parameters. Default: "moment" + X component of the direction vector of the screw axis. + Y component of the direction vector of the screw axis. + Z component of the direction vector of the screw axis. + X component of the moment vector or a point on the screw axis. + Y component of the moment vector or a point on the screw axis. + Z component of the moment vector or a point on the screw axis. + Rotation angle in radians. + Translation. + + + + Convert a screw into a dual quaternion. + Modified instance represents: Dual quaternion. + + Format of the screw parameters. Default: "moment" + X component of the direction vector of the screw axis. + Y component of the direction vector of the screw axis. + Z component of the direction vector of the screw axis. + X component of the moment vector or a point on the screw axis. + Y component of the moment vector or a point on the screw axis. + Z component of the moment vector or a point on the screw axis. + Rotation angle in radians. + Translation. + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Composes two dual quaternions + + + Convert to pose + + + Convert to matrix + + + Conjugate a dual quaternion + + + Create a dual quaternion from eight double values + + + Create a dual quaternion from two quaternions + + + + Deserialize a serialized dual quaternion. + Modified instance represents: Dual quaternion. + + Handle of the serialized item. + + + Multiply two dual quaternions. + Left dual quaternion. + Right dual quaternion. + Product of the dual quaternions. + + + + Multiply two dual quaternions. + Instance represents: Left dual quaternion. + + Right dual quaternion. + Product of the dual quaternions. + + + Conjugate a dual quaternion. + Dual quaternion. + Conjugate of the dual quaternion. + + + + Conjugate a dual quaternion. + Instance represents: Dual quaternion. + + Conjugate of the dual quaternion. + + + + Interpolate two dual quaternions. + Instance represents: Dual quaternion as the start point of the interpolation. + + Dual quaternion as the end point of the interpolation. + Interpolation parameter. Default: 0.5 + Interpolated dual quaternion. + + + + Interpolate two dual quaternions. + Instance represents: Dual quaternion as the start point of the interpolation. + + Dual quaternion as the end point of the interpolation. + Interpolation parameter. Default: 0.5 + Interpolated dual quaternion. + + + Normalize a dual quaternion. + Unit dual quaternion. + Normalized dual quaternion. + + + + Normalize a dual quaternion. + Instance represents: Unit dual quaternion. + + Normalized dual quaternion. + + + + Convert a unit dual quaternion into a homogeneous transformation matrix. + Instance represents: Unit dual quaternion. + + Transformation matrix. + + + Convert a dual quaternion to a 3D pose. + Unit dual quaternion. + 3D pose. + + + + Convert a dual quaternion to a 3D pose. + Instance represents: Unit dual quaternion. + + 3D pose. + + + + Convert a unit dual quaternion into a screw. + Instance represents: Unit dual quaternion. + + Format of the screw parameters. Default: "moment" + X component of the direction vector of the screw axis. + Y component of the direction vector of the screw axis. + Z component of the direction vector of the screw axis. + X component of the moment vector or a point on the screw axis. + Y component of the moment vector or a point on the screw axis. + Z component of the moment vector or a point on the screw axis. + Rotation angle in radians. + Translation. + + + + Transform a 3D line with a unit dual quaternion. + Instance represents: Unit dual quaternion representing the transformation. + + Format of the line parameters. Default: "moment" + X component of the direction vector of the line. + Y component of the direction vector of the line. + Z component of the direction vector of the line. + X component of the moment vector or a point on the line. + Y component of the moment vector or a point on the line. + Z component of the moment vector or a point on the line. + X component of the direction vector of the transformed line. + Y component of the direction vector of the transformed line. + Z component of the direction vector of the transformed line. + X component of the moment vector or a point on the transformed line. + Y component of the moment vector or a point on the transformed line. + Z component of the moment vector or a point on the transformed line. + + + + Transform a 3D line with a unit dual quaternion. + Instance represents: Unit dual quaternion representing the transformation. + + Format of the line parameters. Default: "moment" + X component of the direction vector of the line. + Y component of the direction vector of the line. + Z component of the direction vector of the line. + X component of the moment vector or a point on the line. + Y component of the moment vector or a point on the line. + Z component of the moment vector or a point on the line. + X component of the direction vector of the transformed line. + Y component of the direction vector of the transformed line. + Z component of the direction vector of the transformed line. + X component of the moment vector or a point on the transformed line. + Y component of the moment vector or a point on the transformed line. + Z component of the moment vector or a point on the transformed line. + + + Convert a 3D pose to a unit dual quaternion. + 3D pose. + Unit dual quaternion. + + + + Convert a 3D pose to a unit dual quaternion. + Modified instance represents: Unit dual quaternion. + + 3D pose. + + + + Convert a screw into a dual quaternion. + Modified instance represents: Dual quaternion. + + Format of the screw parameters. Default: "moment" + X component of the direction vector of the screw axis. + Y component of the direction vector of the screw axis. + Z component of the direction vector of the screw axis. + X component of the moment vector or a point on the screw axis. + Y component of the moment vector or a point on the screw axis. + Z component of the moment vector or a point on the screw axis. + Rotation angle in radians. + Translation. + + + + Convert a screw into a dual quaternion. + Modified instance represents: Dual quaternion. + + Format of the screw parameters. Default: "moment" + X component of the direction vector of the screw axis. + Y component of the direction vector of the screw axis. + Z component of the direction vector of the screw axis. + X component of the moment vector or a point on the screw axis. + Y component of the moment vector or a point on the screw axis. + Z component of the moment vector or a point on the screw axis. + Rotation angle in radians. + Translation. + + + + Serialize a dual quaternion. + Instance represents: Dual quaternion. + + Handle of the serialized item. + + + Normal return value + + + TRUE + + + FALSE + + + Stop processing + + + Call failed + + + for internal use + + + operator was canceled for hdevengine + + + operator was generally cancelled + + + Wrong type of control parameter: 1 + + + Wrong type of control parameter: 2 + + + Wrong type of control parameter: 3 + + + Wrong type of control parameter: 4 + + + Wrong type of control parameter: 5 + + + Wrong type of control parameter: 6 + + + Wrong type of control parameter: 7 + + + Wrong type of control parameter: 8 + + + Wrong type of control parameter: 9 + + + Wrong type of control parameter: 10 + + + Wrong type of control parameter: 11 + + + Wrong type of control parameter: 12 + + + Wrong type of control parameter: 13 + + + Wrong type of control parameter: 14 + + + Wrong type of control parameter: 15 + + + Wrong type of control parameter: 16 + + + Wrong type of control parameter: 17 + + + Wrong type of control parameter: 18 + + + Wrong type of control parameter: 19 + + + Wrong type of control parameter: 20 + + + Wrong value of control parameter: 1 + + + Wrong value of control parameter: 2 + + + Wrong value of control parameter: 3 + + + Wrong value of control parameter: 4 + + + Wrong value of control parameter: 5 + + + Wrong value of control parameter: 6 + + + Wrong value of control parameter: 7 + + + Wrong value of control parameter: 8 + + + Wrong value of control parameter: 9 + + + Wrong value of control parameter: 10 + + + Wrong value of control parameter: 11 + + + Wrong value of control parameter: 12 + + + Wrong value of control parameter: 13 + + + Wrong value of control parameter: 14 + + + Wrong value of control parameter: 15 + + + Wrong value of control parameter: 16 + + + Wrong value of control parameter: 17 + + + Wrong value of control parameter: 18 + + + Wrong value of control parameter: 19 + + + Wrong value of control parameter: 20 + + + Wrong value of component + + + Wrong value of gray value component + + + Wrong number of values of ctrl.par.: 1 + + + Wrong number of values of ctrl.par.: 2 + + + Wrong number of values of ctrl.par.: 3 + + + Wrong number of values of ctrl.par.: 4 + + + Wrong number of values of ctrl.par.: 5 + + + Wrong number of values of ctrl.par.: 6 + + + Wrong number of values of ctrl.par.: 7 + + + Wrong number of values of ctrl.par.: 8 + + + Wrong number of values of ctrl.par.: 9 + + + Wrong number of values of ctrl.par.: 10 + + + Wrong number of values of ctrl.par.: 11 + + + Wrong number of values of ctrl.par.: 12 + + + Wrong number of values of ctrl.par.: 13 + + + Wrong number of values of ctrl.par.: 14 + + + Wrong number of values of ctrl.par.: 15 + + + Wrong number of values of ctrl.par.: 16 + + + Wrong number of values of ctrl.par.: 17 + + + Wrong number of values of ctrl.par.: 18 + + + Wrong number of values of ctrl.par.: 19 + + + Wrong number of values of ctrl.par.: 20 + + + Number of input objects too big + + + Wrong number of values of object par.: 1 + + + Wrong number of values of object par.: 2 + + + Wrong number of values of object par.: 3 + + + Wrong number of values of object par.: 4 + + + Wrong number of values of object par.: 5 + + + Wrong number of values of object par.: 6 + + + Wrong number of values of object par.: 7 + + + Wrong number of values of object par.: 8 + + + Wrong number of values of object par.: 9 + + + Number of output objects too big + + + Wrong specification of parameter (error in file: xxx.def) + + + Initialize Halcon: reset_obj_db(Width,Height,Components) + + + Used number of symbolic object names too big + + + No license found + + + Lost connection to license server + + + No modules in license (no VENDOR_STRING) + + + No license for this operator + + + Time zone offset from GMT is > 24 hours + + + Vendor keys do not support this platform + + + Bad vendor keys + + + Unknown vendor key type + + + malloc() call failed + + + Vendor keys have expired + + + Second call to lc_inti() (multiple jobs), and vendorkeys do not support multiple jobs + + + Vendor key data not supplied + + + lmclient.h/liblmgr.a version mismatch + + + Networking software not available on this machine + + + Old vendor keys supplied + + + License key in license file does not match other data in file + + + Encryption handshake with daemon failed + + + 'key' structure is incorrect type, or feature == NULL, or num_licenses == 0 + + + System clock has been set back + + + Version argument is invalid floating point format + + + License server busy starting another copy of itself + + + Cannot establish a connection with a license server + + + Feature is queued. lc_status will determine when it is available + + + Vendor keys do not support this function + + + Checkout request filtered by the vendor-defined filter routine + + + Checkout exceeds MAX specified in options file + + + All licenses in use + + + No license server specified for counted license + + + Can not find feature in the license file + + + Server has different license file than client - client's license has feature, but server's does not + + + License file does not support a version this new + + + This platform not authorized by license - running on platform not included in PLATFORMS list + + + License server busy + + + Could not find license.dat + + + Invalid license file syntax + + + Cannot connect to a license server + + + No TCP "license" service exists + + + No socket connection to license manager server + + + Invalid host + + + Feature has expired + + + Invalid date format in license file + + + Invalid returned data from license server + + + Cannot find SERVER hostname in network database + + + Cannot read data from license server + + + Cannot write data to license server + + + Error in select system call + + + Feature checkin failure detected at license + + + Users are queued for this feature + + + License server does not support this version of this feature + + + Request for more licenses than this feature supports + + + Cannot read /dev/kmem + + + Cannot read /vmunix + + + Cannot find ethernet device + + + Cannot read license file + + + Feature not yet available + + + No such attribute + + + Clock difference too large between client and server + + + Feature database corrupted in daemon + + + Duplicate selection mismatch for this feature + + + User/host on EXCLUDE list for feature + + + User/host not on INCLUDE list for feature + + + Feature was never checked out + + + Invalid FLEXlm key data supplied + + + Clock setting check not available in daemon + + + Date too late for binary format + + + FLEXlm not initialized + + + Server did not respond to message + + + Request rejected by vendor defined filter + + + No FEATURESET line present in license file + + + Incorrect FEATURESET line in license file + + + Cannot compute FEATURESET line + + + socket() call failed + + + setsockopt() failed + + + Message checksum failure + + + Cannot read license file from server + + + Not a license administrator + + + lmremove request too soon + + + Attempt to read beyond the end of LF path + + + SYS$SETIMR call failed + + + Internal FLEXlm Erro - Please report to Globetrotter Software + + + FLEXadmin API functions not avilable + + + Invalid PACKAGE line in license file + + + Server FLEXlm version older than client's + + + Incorrect number of USERS/HOSTS INCLUDED in options file + + + Server doesn't support this request + + + This license object already in use + + + Future license file format + + + Feature removed during lmreread + + + This feature is available in a different license pool + + + Network connect to THIS_HOST failed + + + Server node is down or not responding + + + The desired vendor daemon is down + + + The decimal format license is typed incorrectly + + + All licenses are reserved for others + + + Terminal Server remote client not allowed + + + Cannot borrow that long + + + License server out of network connections + + + Dongle not attached, or can't read dongle + + + Missing dongle driver + + + FLEXlock checkouts attempted + + + SIGN= attribute required + + + CRO not supported for this platform + + + BORROW failed + + + BORROW period has expired + + + FLOAT_OK license must have exactly one dongle hostid + + + Unable to delete local borrow info" + + + Returning borrowed license early not enabled + + + Returning borrowed license on server failed + + + Checkout just a PACKAGE failed + + + Composite Hostid not initialized + + + An item needed for Composite Hostid missing or invalid + + + Borrowed license doesn't match any known server license + + + Error enabling event log + + + Event logging is disabled + + + Error writing to event log + + + Timeout + + + Bad message command + + + Error writing to socket + + + Failed to generate version specific license + + + Vers.-specific signatures not supported + + + License template contains redundant signature specifiers + + + Invalid V71_LK signature + + + Invalid V71_SIGN signature + + + Invalid V80_LK signature + + + Invalid V80_SIGN signature + + + Invalid V81_LK signature + + + Invalid V81_SIGN signature + + + Invalid V81_SIGN2 signature + + + Invalid V84_LK signature + + + Invalid V84_SIGN signature + + + Invalid V84_SIGN2 signature + + + License key required but missing from the certificate + + + Bad AUTH={} signature + + + TS record invalid + + + Cannot open TS + + + Invalid Fulfillment record + + + Invalid activation request received + + + No fulfillment exists in trusted storage which matches the request + + + Invalid activation response received + + + Can't return the fulfillment + + + Return would exceed max count(s) + + + No repair count left + + + Specified operation is not allowed + + + User/host on EXCLUDE list for entitlement + + + User/host not in INCLUDE list for entitlement + + + Activation error + + + Invalid date format in trusted storage + + + Message encryption failed + + + Message decryption failed + + + Bad filter context + + + SUPERSEDE feature conflict + + + Invalid SUPERSEDE_SIGN syntax + + + SUPERSEDE_SIGN does not contain a feature name and license signature + + + ONE_TS_OK is not supported in this Windows Platform + + + Internal error + + + Only one terminal server remote client checkout is allowed for this feature + + + Internal error + + + Internal error + + + Internal error + + + More than one ethernet hostid not supported in composite hostid definition + + + The number of characters in the license file paths exceeds the permissible limit + + + Invalid TZ keyword syntax + + + Invalid time zone override specification in the client + + + The time zone information could not be obtained + + + License client time zone not authorized for license rights + + + Invalid syntax for VM_PLATFORMS keyword + + + Feature can be checked out from physical machine only + + + Feature can be checked out from virtual machine only + + + Vendor keys do not support Virtualization feature + + + Checkout request denied as it exceeds the MAX limit specified in the options file + + + Binding agent API - Internal error + + + Binding agent communication error + + + Invalid Binding agent version + + + Failed to load ServerQuery request + + + Failed to generate ServerQuery response + + + Invalid IP address used while overriding + + + No CodeMeter Runtime installed + + + Installed CodeMeter Runtime is too old + + + License is for wrong HALCON edition + + + License contains unknown FLAGS + + + HALCON preview version expired + + + Error codes concerning the HALCON core, 2100..2199 + + + Wrong index for output object parameter + + + Wrong index for input object parameter + + + Wrong index for image object + + + Wrong number region/image component + + + Wrong relation name + + + Access to undefined gray value component + + + Wrong image width + + + Wrong image height + + + Undefined gray value component + + + Inconsistent data of data base (typing) + + + Wrong index for input control parameter + + + Data of data base not defined (internal error) + + + legacy: Number of operators too big + + + User extension not properly installed + + + legacy: Number of packages too large + + + No such package installed + + + incompatible HALCON versions + + + incompatible operator interface + + + wrong extension package id + + + wrong operator id + + + wrong operator information id + + + Wrong Hctuple array type + + + Wrong Hcpar type + + + Wrong Hctuple index + + + Wrong version of file + + + Wrong handle type + + + wrong vector type + + + wrong vector dimension + + + Wrong (unknown) HALCON handle + + + Wrong HALCON id, no data available + + + HALCON id out of range + + + Handle is NULL + + + Handle was cleared + + + Handle type does not serialize + + + hlibxpi Init function of an extension * that was build with xpi was not * called + + + hlib didn't find the init function * of the extension it is connecting to * -> old extension without hlibxpi or * the function export failed + + + Unresolved function in hlibxpi + + + HALCON extension requires a HALCON * version that is newer than the * connected hlib + + + the (major) version of the hlibxpi * which is used by the connecting * extension is too small for hlib + + + the major version of the hlibxpi * which is used by the hlib is too * small + + + the minor version of the hlibxpi * which is used by the hlib is too * small + + + Wrong major version in symbol struct * (internal: should not happen) + + + HLib version could not be detected + + + Wrong hardware information file format + + + Wrong hardware information file version + + + Error while reading the hardware knowledge + + + Error while writing the hardware knowledge + + + Tag not found + + + No CPU Info + + + No AOP Info + + + No AOP Info for this HALCON variant + + + No AOP Info for this HALCON architecture + + + No AOP Info for specified Operator found + + + undefined AOP model + + + wrong tag derivate + + + internal error + + + hw check was canceled + + + Wrong access to global variable + + + Used global variable does not exist + + + Used global variable not accessible via GLOBAL_ID + + + Halcon server to terminate is still working on a job + + + No such HALCON software agent + + + Hardware check for parallelization not possible on a single-processor machine + + + (Seq.) HALCON does not support parallel hardware check (use Parallel HALCON instead) + + + Initialization of agent failed + + + Termination of agent failed + + + Inconsistent hardware description file + + + Inconsistent agent information file + + + Inconsistent agent knowledge file + + + The file with the parallelization information does not match to the currently HALCON version/revision + + + The file with the parallelization information does not match to the currently used machine + + + Inconsistent knowledge base of HALCON software agent + + + Unknown communication type + + + Unknown message type for HALCON software agent + + + Error while saving the parallelization knowledge + + + Wrong type of work information + + + Wrong type of application information + + + Wrong type of experience information + + + Unknown name of HALCON software agent + + + Unknown name and communication address of HALCON software agent + + + cpu representative (HALCON software agent) not reachable + + + cpu refuses work + + + Description of scheduling resource not found + + + Not accessible function of HALCON software agent + + + Wrong type: HALCON scheduling resource + + + Wrong state: HALCON scheduling resource + + + Unknown parameter type: HALCON scheduling resource + + + Unknown parameter value: HALCON scheduling resource + + + Wrong post processing of control parameter + + + Error while trying to get time + + + Error while trying to get the number of processors + + + Error while accessing temporary file + + + message queue wait operation canceled + + + message queue overflow + + + Threads still wait on message queue while * clearing it. + + + Invalid file format for a message + + + Dict does not contain requested key + + + Incorrect tuple length in dict + + + Incorrect tuple type in dict + + + Error while forcing a context switch + + + Error while accessing cpu affinity + + + Error while setting cpu affinity + + + wrong synchronization object + + + wrong operator call object + + + input object not initialized + + + input control not initialized + + + output object not initialized + + + output control not initialized + + + Creation of pthread failed + + + pthread-detach failed + + + pthread-join failed + + + Initialization of mutex variable failed + + + Deletion of mutex variable failed + + + Lock of mutex variable failed + + + Unlock of mutex variable failed + + + Failed to signal pthread condition var. + + + Failed to wait for pthread cond. var. + + + Failed to init pthread condition var. + + + Failed to destroy pthread condition var. + + + Failed to signal event. + + + Failed to wait for event. + + + Failed to init event. + + + Failed to destroy event. + + + Failed to create a tsd key. + + + Failed to set a thread specific data key. + + + Failed to get a tsd key. + + + Failed to free a tsd key. + + + Aborted waiting at a barrier + + + 'Free list' is empty while scheduling + + + Communication partner not checked in + + + The communication system can't be started while running + + + Communication partner not checked in + + + Initialization of Barrier failed + + + Waiting at a barrier failed + + + Destroying of an barrier failed + + + Region completely outside of the image domain + + + Region (partially) outside of the definition range of the image + + + Intersected definition range region/image empty + + + Image with empty definition range + + + No common image point of two images + + + Wrong region for image (first row < 0) + + + Wrong region for image (column in last row >= image width) + + + Number of images unequal in input pars. + + + Image height too small + + + Image width too small + + + Internal error: Multiple call of HRLInitSeg() + + + Internal error: HRLSeg() not initialized + + + Wrong size of filter for Gauss + + + Filter size exceeds image size + + + Filter size evan + + + Filter size to big + + + Region is empty + + + Domains of the input images differ + + + Row value of a coordinate > 2^15-1 (XL: 2^31 - 1) + + + Row value of a coordinate < -2^15 (XL: -2^31) + + + Column value of a coordinate > 2^15-1 (XL: 2^31 - 1) + + + Column value of a coordinate < -2^15 (XL: -2^31) + + + Wrong segmentation threshold + + + Unknown feature + + + Unknown gray value feature + + + Internal error in HContCut + + + Error in HContToPol: distance of points too big + + + Error in HContToPol: contour too long + + + Too many rows (IPImageTransform) + + + Scaling factor = 0.0 (IPImageScale) + + + Wrong range in transformation matrix + + + Internal error in IPvvf: no element free + + + Number of input objects is zero + + + At least one input object has an empty region + + + Operation allowed for rectangular images 2**n only + + + Too many relevant points (IPHysterese) + + + Number of labels in image too big + + + No labels with negative values allowed + + + Wrong filter size (too small ?) + + + Images with different image size + + + Target image too wide or too far on the right + + + Target image too narrow or too far on the left + + + Target image too high or too far down + + + Target image too low or too far up + + + Number of channels in the input parameters are different + + + Wrong color filter array type + + + Wrong color filter array interpolation + + + Homogeneous matrix does not represent an affine transformation + + + Inpainting region too close to the image border + + + source and destination differ in size + + + to many features + + + Reflection axis undefined + + + Coocurrence Matrix: Too little columns for quantisation + + + Coocurrence Matrix: Too little rows for quantisation + + + Wrong number of columns + + + Wrong number of rows + + + Number has too many digits + + + Matrix is not symmetric + + + Matrix is too big + + + Wrong structure of file + + + Less than 2 matrices + + + Not enough memory + + + Can not read the file + + + Can not open file for writing + + + Too many lookup table colors + + + Too many Hough points (lines) + + + Target image has got wrong height (not big enough) + + + Wrong interpolation mode + + + Region not compact or not connected + + + Wrong filter index for filter size 3 + + + Wrong filter index for filter size 5 + + + Wrong filter index for filter size 7 + + + Wrong filter size; only 3/5/7 + + + Number of suitable pixels too small to reliably estimate the noise + + + Different number of entries/exits in HContCut + + + Reference to contour is missing + + + Wrong XLD type + + + Border point is set to FG + + + Maximum contour length exceeded + + + Maximum number of contours exceeded + + + Contour too short for fetch_angle_xld + + + Regression parameters of contours already computed + + + Regression parameters of contours not yet entered! + + + Data base: XLD object has been deleted + + + Data base: Object has no XLD-ID + + + Wrong number of contour points allocated + + + Contour attribute not defined + + + Ellipse fitting failed + + + Circle fitting failed + + + All points classified as outliers (ClippingFactor too small or used points not similar to primitive) + + + Quadrangle fitting failed + + + No points for at least one rectangle side + + + A contour point lies outside of the image + + + Not enough points for model fitting + + + No ARC/INFO world file + + + No ARC/INFO generate file + + + Unexpected end of file while reading DXF file + + + Cannot read DXF-group code from file + + + Inconsistent number of attributes per point in DXF file + + + Inconsistent number of attributes and names in DXF file + + + Inconsistent number of global attributes and names in DXF file + + + Cannot read attributes from DXF file + + + Cannot read global attributes from DXF file + + + Cannot read attribute names from DXF file + + + Wrong generic parameter name + + + Internal DXF I/O error: Wrong data type + + + Isolated point while contour merging + + + Constraints cannot be fulfilled + + + No segment in contour + + + Only one or no point in template contour + + + Syntax error in file for training + + + Maximum number of attributes per example exceeded + + + Not possible to open file for training + + + Too many data sets for training + + + Too many examples for one data set for training + + + Too many classes + + + Maximum number of cuboids exceeded + + + Not possible to open classificator's file + + + Error while saving the classificator + + + Not possible to open protocol file + + + Classificator with this name is already existent + + + Maximum number of classificators exceeded + + + Name of classificator is too long, >= 20 + + + Classificator with this name is not existent + + + Current classificator is not defined + + + Wrong id in classification file + + + The version of the classifier is not supported + + + Serialized item does not contain a valid classifier + + + Text model does not contain a classifier yet (use set_text_model_param) + + + Adding new features is not possible, because the dataset has been normalized during training. Please create a new classfier and add all training data again or disable normalization during training. + + + Invalid file format for GMM training samples + + + The version of the GMM training samples is not supported + + + Wrong training sample file format + + + nvalid file format for Gaussian Mixture Model (GMM) + + + The version of the Gaussian Mixture Model (GMM) is not supported + + + Unknown error when training GMM + + + Collapsed covariance matrix + + + No samples for at least one class + + + Too few samples for at least one class + + + GMM is not trained + + + GMM has no training data + + + Serialized item does not contain a valid Gaussian Mixture Model (GMM) + + + Unknown output function + + + Target not in 0-1 encoding + + + No training samples stored in the classifier + + + Invalid file format for MLP training samples + + + The version of the MLP training samples is not supported + + + Wrong training sample format + + + MLP is not a classifier + + + Invalid file format for multilayer perceptron (MLP) + + + The version of the multilayer perceptron (MLP) is not supported + + + Wrong number of channels + + + Wrong number of MLP parameters + + + Serialized item does not contain a valid multilayer perceptron (MLP) + + + The number of image channels and the number of dimensions of the look-up table do not match + + + A look-up table can be build for 2 or 3 channels only + + + Cannot create look-up table. Please choose a larger 'bit_depth' or select the 'fast' 'class_selection'. + + + No training samples stored in the classifier + + + Invalid file format for SVM training samples + + + The version of the SVM training samples is not supported + + + Wrong training sample format + + + Invalid file format for support vector machine (SVM) + + + The version of the support vector machine (SVM) is not supported + + + Wrong number of classes + + + Chosen nu is too big + + + SVM Training failed + + + SVMs do not fit together + + + No SV in SVM to add to training + + + Kernel must be RBF + + + Not all classes contained in training data + + + SVM not trained + + + Classifier not trained + + + Serialized item does not contain a valid support vector machine (SVM) + + + Wrong rotation number + + + Wrong letter for Golay element + + + Wrong reference point + + + Wrong number of iterations + + + Mophology: system error + + + Wrong type of boundary + + + Morphology: Wrong number of input obj. + + + Morphology: Wrong number of output obj. + + + Morphology: Wrong number of input control parameter + + + Morphology: Wrong number of output control parameter + + + Morphology: Struct. element is infinite + + + Morphology: Wrong name for struct. elem. + + + Wrong number of run length rows (chords): smaller than 0 + + + Number of chords too big, increase * current_runlength_number using set_system + + + Run length row with negative length + + + Run length row >= image height + + + Run length row < 0 + + + Run length column >= image width + + + Lauflaengenspalte < 0 + + + For CHORD_TYPE: Number of row too big + + + For CHORD_TYPE: Number of row too small + + + For CHORD_TYPE: Number of column too big + + + Exceeding the maximum number of run lengths while automatical expansion + + + Region->compl neither TRUE/FALSE + + + Region->max_num < Region->num + + + Number of chords too big for num_max + + + Operator cannot be implemented for complemented regions + + + Image width < 0 + + + Image width >= MAX_FORMAT + + + Image height <= 0 + + + Image height >= MAX_FORMAT + + + Image width <= 0 + + + Image height <= 0 + + + Too many segments + + + INT8 images are available on 64 bit systems only + + + Point at infinity cannot be converted to a Euclidean point + + + Covariance matrix could not be determined + + + RANSAC algorithm didn't find enough point correspondences + + + RANSAC algorithm didn't find enough point correspondences + + + Internal diagnosis: fallback method had to be used + + + Projective transformation is singular + + + Mosaic is under-determined + + + Input covariance matrix is not positive definite + + + The number of input points too large. + + + Inconsistent number of point correspondences. + + + No path from reference image to one or more images. + + + Image with specified index does not exist. + + + Matrix is not a camera matrix. + + + Skew is not zero. + + + Illegal focal length. + + + Kappa is not zero. + + + It is not possible to determine all parameters for in the variable case. + + + No valid implementation selected. + + + Kappa can only be determined with the gold-standard method for fixed camera parameters. + + + Conflicting number of images and projection mode. + + + Error in projection: Point not in any cube map. + + + No solution found. + + + Tilt is not zero. + + + Illegal combination of parameters and estimation method. + + + No suitable contours found + + + No stable solution found + + + Instable solution found + + + Not enough contours for calibration + + + Invalid file format for FFT optimization data + + + The version of the FFT optimization data is not supported + + + Optimization data was created with a different HALCON version (Standard HALCON / Parallel HALCON) + + + Storing of the optimization data failed + + + Serialized item does not contain valid FFT optimization data + + + Invalid disparity range for binocular_disparity_ms method + + + Epipoles are situated within the image domain + + + Fields of view of both cameras do not intersect each other + + + Rectification impossible + + + Wrong type of target_thickness parameter + + + Wrong type of thickness_tolerance parameter + + + Wrong type of position_tolerance parameter + + + Wrong type of sigma parameter + + + Wrong value of sigma parameter + + + Wrong type of threshold parameter + + + Wrong value of target_thickness parameter + + + Wrong value of thickness_tolerance parameter + + + Wrong value of position_tolerance parameter + + + Wrong value of threshold parameter + + + Wrong type of refinement parameter + + + Wrong value of refinement parameter + + + Wrong type of resolution parameter + + + Wrong type of resolution parameter + + + Wrong type of polarity parameter + + + Wrong type of polarity parameter + + + No sheet-of-light model available + + + Wrong input image size (width) + + + Wrong input image size (height) + + + profile region does not fit the domain of definition of the input image + + + Calibration extend not set + + + Undefined disparity image + + + Undefined domain for disparity image + + + Undefined camera parameter + + + Undefined pose of the lightplane + + + Undefined pose of the camera coordinate system + + + Undefined transformation from the camera to the lightplane coordinate system + + + Undefined movement pose for xyz calibration + + + Wrong value of scale parameter + + + Wrong parameter name + + + Wrong type of parameter method + + + Wrong type of parameter ambiguity + + + Wrong type of parameter score + + + Wrong type of parameter calibration + + + Wrong type of parameter number_profiles + + + Wrong type of element in parameter camera_parameter + + + Wrong type of element in pose + + + Wrong value of parameter method + + + Wrong type of parameter min_gray + + + Wrong value of parameter ambiguity + + + Wrong value of parameter score_type + + + Wrong value of parameter calibration + + + Wrong value of parameter number_profiles + + + Wrong type of camera + + + Wrong number of values of parameter camera_parameter + + + Wrong number of values of pose + + + Calibration target not found + + + The calibration algorithm failed to find a valid solution. + + + Wrong type of parameter calibration_object + + + Invalid calibration object + + + No calibration object set + + + Invalid file format for sheet-of-light model + + + The version of the sheet-of-light model is not supported + + + Camera type not supported by calibrate_sheet_of_light_model + + + Parameter does not match the set 'calibration' + + + The gray values of the disparity image do not fit the height of the camera + + + Wrong texture inspection model type + + + Texture Model is not trained + + + Texture Model has no training data + + + Invalid file format for Texture inspection model + + + The version of the Texture inspection model is not supported + + + Wrong training sample file format + + + The version of the training sample file is not supported + + + At least one of the images is too small + + + The samples do not match the current texture model + + + No images within the texture model + + + The light source positions are linearly dependent + + + No sufficient image indication + + + Internal error: Function has equal signs in HZBrent + + + Kalman: Dimension n,m or p has got a undefined value + + + Kalman: File does not exist + + + Kalman: Error in file (row of dimension) + + + Kalman: Error in file (row of marking) + + + Error in file (value is no float) + + + Kalman: Matrix A is missing in file + + + Kalman: In Datei fehlt Matrix C + + + Kalman: Matrix Q is missing in file + + + Kalman: Matrix R is missing in file + + + Kalman: G or u is missing in file + + + Kalman: Covariant matrix is not symmetric + + + Kalman: Equation system is singular + + + structured light model is not in persistent mode + + + the min_stripe_width is too large for the chosen pattern_width or pattern_height + + + the single_stripe_width is too large for the chosen pattern_width or pattern_height + + + min_stripe_width has to be smaller than single_stripe_width. + + + single_stripe_width is too small for min_stripe_width. + + + The SLM is not prepared for decoding. + + + The SLM does not contain the queried object. + + + The version of the structured light model is not supported + + + Invalid file format for a structured light model + + + Wrong pattern type + + + The SLM is not decoded. + + + Wrong model type + + + Object is a object tupel + + + Object has been deleted already + + + Wrong object-ID + + + Object tupel has been deleted already + + + Wrong object tupel-ID + + + Object tupel is a object + + + Object-ID is NULL (0) + + + Object-ID outside the valid range + + + Access to deleted image + + + Access to image with wrong key + + + Access to deleted region + + + Access to region with wrong key + + + Wrong value for image channel + + + Index too big + + + Index not defined + + + No OpenCL available + + + OpenCL Error occured + + + No compute devices available + + + No device implementation for this parameter + + + Out of device memory + + + Invalid work group shape + + + Invalid compute device + + + CUDA Error occured + + + cuDNN Error occured + + + cuBLAS Error occured + + + Set batch_size not supported + + + CUDA implementations not available + + + Unsupported version of cuDNN + + + Requested feature not supported by cuDNN + + + CUDA driver is out-of-date + + + Error occurred in HCPUDNN library + + + Training is unsupported with the selected runtime. Please switch to 'gpu' runtime. + + + CPU based inference is not supported on this platform + + + ACL error ocurred + + + Internal visualization error + + + Unexpected color type + + + Number of color settings exceeded + + + Wrong (logical) window number + + + Error while opening the window + + + Wrong window coordinates + + + It is not possible to open another window + + + Device resp. operator not available + + + Unknown color + + + No window has been opened for desired action + + + Wrong filling mode for regions + + + Wrong gray value (0..255) + + + Wrong pixel value + + + Wrong line width + + + Wrong name of cursor + + + Wrong color table + + + Wrong representation mode + + + Wrong representation color + + + Wrong dither matrix + + + Wrong image transformation + + + Unsuitable image type for image trafo. + + + Wrong zooming factor for image trafo. + + + Wrong representation mode + + + Wrong code of device + + + Wrong number for father window + + + Wrong window size + + + Wrong window type + + + No current window has been set + + + Wrong color combination or range (RGB) + + + Wrong number of pixels set + + + Wrong value for comprise + + + set_fix with 1/4 image levels and static not valid + + + set_lut not valid in child windows + + + Number of concurrent used color tables is too big + + + Wrong device for window dump + + + Wrong window size for window dump + + + System variable DISPLAY not defined + + + Wrong thickness for window margin + + + System variable DISPLAY has been set wrong (<host>:0.0) + + + Too many fonts loaded + + + Wrong font name + + + No valid cursor position + + + Window is not a textual window + + + Window is not a image window + + + String too long or too high + + + Too little space in the window rightw. + + + Window is not suitable for the mouse + + + Here Windows on a equal machine is permitted only + + + Wrong mode while opening a window + + + Wrong window mode for operation + + + Operation not possible with fixed pixel + + + Color tables for 8 image levels only + + + Wrong mode for pseudo real colors + + + Wrong pixel value for LUT + + + Wrong image size for pseudo real colors + + + Error in procedure HRLUT + + + Wrong number of entries in color table for set_lut + + + Wrong values for image area + + + Wrong line pattern + + + Wrong number of parameters for line pattern + + + Wrong number of colors + + + Wrong value for mode of area creation + + + Spy window is not set (set_spy) + + + No file for spy has been set (set_spy) + + + Wrong parameter output depth (set_spy) + + + Wrong window size for window dump + + + Wrong color table: Wrong file name or query_lut() + + + Wrong color table: Empty string ? + + + Using this hardware set_lut('default') is allowed only + + + Error while calling online help + + + Row can not be projected + + + Operation is unsuitable using a computer with fixed color table + + + Computer represents gray scales only + + + LUT of this display is full + + + Internal error: wrong color code + + + Wrong type for window attribute + + + Wrong name for window attribute + + + negativ height of area (or 0) + + + negativ width of area (or 0) + + + Window not completely visible + + + Font not allowed for this operation + + + Window was created in different thread + + + Drawing object already attached to another window + + + Internal error: only RGB-Mode + + + No more (image-)windows available + + + Depth was not stored with window + + + Object index was not stored with window + + + Operator does not support primitives without point coordinates + + + Maximum image size for Windows Remote Desktop exceeded + + + No OpenGL support available + + + No depth information available + + + OpenGL error + + + Required framebuffer object is unsupported + + + OpenGL accelerated hidden surface removal not supported on this machine + + + Invalid window parameter + + + Invalid value for window parameter + + + Unknown mode + + + No image attached + + + invalid navigation mode + + + Internal file error + + + Error while file synchronisation + + + insufficient rights + + + Bad file descriptor + + + File not found + + + Error while writing image data (sufficient memory ?) + + + Error while writing image descriptor (sufficient memory ?) + + + Error while reading image data (format of image too small ?) + + + Error while reading image data (format of image too big ?) + + + Error while reading image descriptor: File too small + + + Image matrices are different + + + Help file not found (setenv HALCONROOT) + + + Help index not found (setenv HALCONROOT) + + + File <standard_input> can not be closed + + + <standard_output/error> can not be closed + + + File can not be closed + + + Error while writing to file + + + Exceeding of maximum number of files + + + Wrong file name + + + Error while opening the file + + + Wrong file mode + + + Wrong type for pixel (e.g. byte) + + + Wrong image width (too big ?) + + + Wrong image height (too big ?) + + + File already exhausted before reading an image + + + File exhausted before terminating the image + + + Wrong value for resolution (dpi) + + + Wrong output image size (width) + + + Wrong output image size (height) + + + Wrong number of parameter values: Format description + + + Wrong parameter name for operator + + + Wrong slot name for parameter + + + Operator class is missing in help file + + + Wrong or inconsistent help/ *.idx or help/ *.sta + + + File help/ *.idx not found + + + File help/ *.sta not found + + + Inconsistent file help/ *.sta + + + No explication file (.exp) found + + + No file found in known graphic format + + + Wrong graphic format + + + Inconsistent file halcon.num + + + File with extension 'tiff' is no Tiff-file + + + Wrong file format + + + gnuplot could not be started + + + Output file for gnuplot could not be opened + + + Not a valid gnuplot output stream + + + No PNM format + + + Inconsistent or old help file + + + Invalid file encoding + + + File not open + + + No files in use so far (none opened) + + + Invalid file format for regions + + + Error while reading region data: Format of region too big. + + + Encoding for binary files not allowed + + + Serial port not open + + + No serial port available + + + Could not open serial port + + + Could not close serial port + + + Could not get serial port attributes + + + Could not set serial port attributes + + + Wrong baud rate for serial connection + + + Wrong number of data bits for serial connection + + + Wrong flow control for serial connection + + + Could not flush serial port + + + Error during write to serial port + + + Error during read from serial port + + + Serialized item does not contain valid regions. + + + The version of the regions is not supported. + + + Serialized item does not contain valid images. + + + The version of the images is not supported. + + + Serialized item does not contain valid XLD objects. + + + The version of the XLD objects is not supported. + + + Serialized item does not contain valid objects. + + + The version of the objects is not supported. + + + XLD object data can only be read by HALCON XL + + + Unexpected object detected + + + File has not been opened in text format + + + File has not been opened in binary file format + + + Cannot create directory + + + Cannot remove directory + + + Cannot get current directory + + + Cannot set current directory + + + Need to call XInitThreads() + + + No image acquisition device opened + + + IA: wrong color depth + + + IA: wrong device + + + IA: determination of video format not possible + + + IA: no video signal + + + Unknown image acquisition device + + + IA: failed grabbing of an image + + + IA: wrong resolution chosen + + + IA: wrong image part chosen + + + IA: wrong pixel ratio chosen + + + IA: handle not valid + + + IA: instance not valid (already closed?) + + + Image acquisition device could not be initialized + + + IA: external triggering not supported + + + IA: wrong camera input line (multiplex) + + + IA: wrong color space + + + IA: wrong port + + + IA: wrong camera type + + + IA: maximum number of acquisition device classes exceeded + + + IA: device busy + + + IA: asynchronous grab not supported + + + IA: unsupported parameter + + + IA: timeout + + + IA: invalid gain + + + IA: invalid field + + + IA: invalid parameter type + + + IA: invalid parameter value + + + IA: function not supported + + + IA: incompatible interface version + + + IA: could not set parameter value + + + IA: could not query parameter setting + + + IA: parameter not available in current configuration + + + IA: device could not be closed properly + + + IA: camera configuration file could not be opened + + + IA: unsupported callback type + + + IA: device lost + + + IA: grab aborted + + + IO: timeout + + + IO: incompatible interface version + + + IO: handle not valid + + + IO: device busy + + + IO: insufficient user rights + + + IO: device or channel not found + + + IO: invalid parameter type + + + IO: invalid parameter value + + + IO: invalid parameter number + + + IO: unsupported parameter + + + IO: parameter not available in curr config. + + + IO: function not supported + + + IO: maximum number of dio classes exceeded + + + IO: driver of io device not available + + + IO: operation aborted + + + IO: invalid data type + + + IO: device lost + + + IO: could not set parameter value + + + IO: could not query parameter setting + + + IO: device could not be closed properly + + + Image type is not supported + + + Invalid pixel format passed to filter function + + + Internal JpegXR error. + + + Syntax error in output format string + + + Maximum number of channels exceeded + + + Unspecified error in JXR library + + + Bad magic number in JXR library + + + Feature not implemented in JXR library + + + File read/write error in JXR library + + + Bad file format in JXR library + + + Error while closing the image file + + + Error while opening the image file + + + Premature end of the image file + + + Image dimensions too large for this file format + + + Image too large for this HALCON version + + + Too many iconic objects for this file format + + + File format is unsupported + + + File is no PCX-File + + + Unknown encoding + + + More than 4 image plains + + + Wrong magic in color table + + + Wrong number of bytes in span + + + Wrong number of bits/pixels + + + Wrong number of plains + + + File is no GIF-File + + + GIF: Wrong version + + + GIF: Wrong descriptor + + + GIF: Wrong color table + + + GIF: Premature end of file + + + GIF: Wrong number of images + + + GIF: Wrong image extension + + + GIF: Wrong left top width + + + GIF: Cyclic index of table + + + GIF: Wrong image data + + + File is no Sun-Raster-File + + + Wrong header + + + Wrong image width + + + Wrong image height + + + Wrong color map + + + Wrong image data + + + Wrong type of pixel + + + Wrong type of pixel + + + Wrong visual class + + + Wrong X10 header + + + Wrong X11 header + + + Wrong X10 colormap + + + Wrong X11 colormap + + + Wrong pixmap + + + Unknown version + + + Error while reading an image + + + Error while reading a file + + + Wrong colormap + + + Too many colors + + + Wrong photometric interpretation + + + Wrong photometric depth + + + Image is no binary file + + + Unsupported TIFF format + + + Wrong file format specification + + + TIFF file is corrupt + + + Required TIFF tag is missing + + + File is no BMP-File + + + Premature end of file + + + Incomplete header + + + Unknown bitmap format + + + Unknown compression format + + + Wrong color table + + + Write error on output + + + File does not contain a binary image + + + Wrong number of components in image + + + Unknown error from libjpeg + + + Not implemented feature in libjpeg + + + File access error in libjpeg + + + Tmp file access error in libjpeg + + + Memory error in libjpeg + + + Error in input image + + + File is not a PNG file + + + Unknown interlace type + + + Unsupported color type + + + Image is no binary file + + + Image size too big + + + File corrupt + + + Image precision too high + + + Error while encoding + + + Image size too big + + + File does not contain only images + + + Socket can not be set to block + + + Socket can not be set to unblock + + + Received data is no tuple + + + Received data is no image + + + Received data is no region + + + Received data is no xld object + + + Error while reading from socket + + + Error while writing to socket + + + Illegal number of bytes with get_rl + + + Buffer overflow in read_data + + + Socket can not be created + + + Bind on socket failed + + + Socket information is not available + + + Socket cannot listen for incoming connections + + + Connection could not be accepted + + + Connection request failed + + + Hostname could not be resolved + + + Unknown tuple type on socket + + + Timeout occured on socket + + + No more sockets available + + + Socket is not initialized + + + Invalid socket + + + Socket is NULL + + + Received data type is too large + + + Wrong socket type. + + + Received data is not packed. + + + Socket parameter operation failed. + + + The data does not match the format specification. + + + Invalid format specification. + + + Received data is no serialized item + + + Too many contours/polygons for this file format + + + The version of the quaternion is not supported + + + Serialized item does not contain a valid quaternion + + + The version of the homogeneous matrix is not supported + + + Serialized item does not contain a valid homogeneous matrix + + + The version of the homogeneous 3D matrix is not supported + + + Serialized item does not contain a valid homogeneous 3D matrix + + + The version of the tuple is not supported + + + Serialized item does not contain a valid tuple + + + Tuple data can only be read on 64-bit systems + + + The version of the camera parameters (pose) is not supported + + + Serialized item does not contain valid camera parameters (pose) + + + The version of the internal camera parameters is not supported + + + Serialized item does not contain valid internal camera parameters + + + The version of the dual quaternion is not supported + + + Serialized item does not contain a valid dual quaternion + + + Access to undefined memory area + + + Not enough memory available + + + Memory partition on heap has been overwritten + + + HAlloc: 0 bytes requested + + + Tmp-memory management: Call freeing memory although nothing had been allocated + + + Tmp-memory management: Null pointer while freeing + + + Tmp-memory management: Could not find memory element + + + memory management: wrong memory type + + + Not enough video memory available + + + No memory block allocated at last + + + System parameter for memory-allocation inconsistent + + + Invalid alignement + + + Process creation failed + + + Wrong index for output control par. + + + Wrong number of values: Output control parameter + + + Wrong type: Output control parameter + + + Wrong data type for object key (input objects) + + + Range for integer had been passed + + + Inconsistent Halcon version + + + Not enough memory for strings allocated + + + Internal error: Proc is NULL + + + Unknown symbolic object key (input obj.) + + + Wrong number of output object parameter + + + Output type <string> expected + + + Output type <long> expected + + + Output type <float> expected + + + Object parameter is a zero pointer + + + Tupel had been deleted; values are not valid any more + + + CNN: Internal data error + + + CNN: Invalid memory type + + + CNN: Invalid data serialization + + + CNN: Implementation not available + + + CNN: Wrong number of input data + + + CNN: Invalid implementation type + + + CNN: Training is not supported in the current environment. + + + For this operation a GPU with certain minimal requirements is required. See installation guide for details. + + + For this operation the CUDA library needs to be available. (See installation guide for details.) + + + OCR File: Error while reading classifier + + + Wrong generic parameter name + + + One of the parameters returns several values and has to be used exclusively + + + Wrong generic parameter name + + + Invalid labels. + + + OCR File: Wrong file version + + + Invalid classes: At least one class apears twice + + + For this operation the cuBLAS library needs to be available. (See installation guide for details.) + + + For this operation the CUDNN library needs to be available. (See installation guide for details.) + + + File 'find_text_support.hotc' not found (please place this file in the ocr subdirectory of the root directory of your HALCON installation or in the current working directory) + + + Training step failed. This might be caused by unsuitable training parameters + + + Weights in Graph have been overwritten previously and are lost. + + + New input size is too small to produce meaningful features + + + Result is not available. + + + New number of channels must be either 1 or 3. + + + New input number of channels can't be set to 3 if network is specified for number of channels 1 + + + Device batch size larger than batch size. + + + Invalid specification of a parameter. + + + Memory size exceeds maximal allowed value. + + + New batch size causes integer overflow + + + Invalid input image size for detection model + + + Invalid parameter value \ for current layer + + + Invalid parameter num \ for current layer + + + Invalid parameter type \ for current layer + + + Graph: Internal error + + + Graph: Invalid data serialization + + + Graph: Invalid index + + + HCNNGraph: Internal error + + + HCNNGraph: Invalid data serialization + + + HCNNGraph: Invalid layer specification + + + HCNNGraph: Graph not properly initialized + + + CNN-Graph: Invalid memory type + + + CNN-Graph: Invalid number of layers + + + CNN-Graph: Invalid index + + + CNN-Graph: Invalid specification status + + + CNN-Graph: Graph is not allowed to be changed after initialization + + + CNN-Graph: Missing preprocessing + + + CNN-Graph: Invalid vertex degree + + + CNN-Graph: Invalid output shape + + + CNN-Graph: Invalid specification + + + CNN-Graph: Invalid graph definition + + + CNN-Graph: Architecture not suitable for the adaption of the number of output classes + + + CNN-Graph: Architecture not suitable for the adaption of the image size" + + + DL: Error writing file + + + DL: Error reading file + + + DL: Wrong file version + + + DL: Inputs missing in input dict + + + DL: Inputs have incorrect batch size + + + DL: Invalid layer name + + + DL: Duplicate layer name + + + DL: Invalid output layer + + + DL: Parameter is not available + + + DL: Tuple inputs have incorrect length + + + DL: Tuple inputs have incorrect type + + + DL: Some inputs have incorrect values + + + DL: Some class ids are not unique + + + DL: Some class ids are invalid + + + DL: Input data of class id conversion is invalid. + + + DL: Type already defined + + + DL: Cannot identify inference inputs. + + + DL: Some class ids overlap with ignore class ids. + + + DL: Wrong number of output layer + + + DL: Batch size multiplier needs to be greater than 0 + + + DL: Inputs have incorrect batch size. The number of needed inputs is defined by batch_size * batch_size_multiplier + + + DL: Wrong scales during FPN creation + + + DL: Backbone unusable for FPN creation + + + DL: Backbone feature maps not divisible by 2 + + + DL: Internal error using anchors + + + DL: Invalid detector parameter + + + DL: Invalid detector parameter value + + + DL: Invalid docking layer + + + DL: Invalid detection type + + + apply_dl_model: no default outputs allowed + + + DLModule is not loaded + + + Unknown operator name + + + register_comp_used is not activated + + + Unknown operator class + + + convol/mask: Error while opening file + + + convol/mask: Premature end of file + + + convol/mask: Conversion error + + + convol/mask: Wrong row-/column number + + + convol/mask: Mask size overflow + + + convol/mask: Too many elements entered + + + convol: Wrong margin type + + + convol: No mask object has got empty region + + + convol: Weight factor is 0 + + + convol: Inconsistent number of weights + + + rank: Wrong rank value + + + convol/rank: Error while handling margin + + + Error while parsing filter mask file + + + Wrong number of coefficients for convolution (sigma too big?) + + + No valid ID for data set + + + No data set active (set_bg_esti) + + + ID already used for data set + + + No data set created (create_bg_esti) + + + Not possible to pass an object list + + + Image has other size than the background image in data set + + + Up-date-region is bigger than background image + + + Number of statistic data sets is too small + + + Wrong value for adapt mode + + + Wrong value for frame mode + + + Number of point corresponcences too small + + + Invalid method + + + Maximum number of fonts exceeded + + + Wrong ID (Number) for font + + + OCR internal error: wrong ID + + + OCR not initialised: no font was read in + + + No font activated + + + OCR internal error: Wrong threshold in angle determination + + + OCR internal error: Wrong attribute + + + The version of the OCR classifier is not supported + + + OCR File: Inconsistent number of nodes + + + OCR File: File too short + + + OCR: Internal error 1 + + + OCR: Internal error 2 + + + Wrong type of OCR tool (no 'box' or 'net') + + + The version of the OCR training characters is not supported + + + Image too large for training file + + + Region too large for training file + + + Protected OCR training file + + + Protected OCR training file: wrong passw. + + + Serialized item does not contain a valid OCR classifier + + + OCR training file concatenation failed: identical input and output files + + + Invalid file format for MLP classifier + + + The version of the MLP classifier is not supported + + + Serialized item does not contain a valid MLP classifier + + + Invalid file format for SVM classifier + + + The version of the SVM classifier is not supported + + + Serialized item does not contain a valid SVM classifier + + + Invalid file format for k-NN classifier + + + Serialized item does not contain a valid k-NN classifier + + + Invalid file format for CNN classifier + + + The version of the CNN classifier is not supported + + + Serialized item does not contain a valid CNN classifier + + + Result name is not available for this mode + + + OCV system not initialized + + + The version of the OCV tool is not supported + + + Wrong name for an OCV object + + + Training has already been applied + + + No training has been applied + + + Serialized item does not contain a valid OCV tool + + + Wrong number of function points + + + List of values is not a function + + + Wrong ordering of values (not ascending) + + + Illegal distance of function points + + + Function is not monotonic. + + + Wrong function type. + + + The input points could not be arranged in a regular grid + + + Error while creating the output map + + + Auto rotation failed + + + Mark segmentation failed + + + Contour extraction failed + + + No finder pattern found + + + At least 3 calibration points have to be indicated + + + Inconsistent finder pattern positions + + + No calibration table found + + + Error while reading calibration table description file + + + Minimum threshold while searching for ellipses + + + Read error / format error in calibration table description file + + + Error in projection: s_x = 0 or s_y = 0 or z = 0 + + + Error in inverse projection + + + Not possible to open camera parameter file + + + Format error in file: No colon + + + Format error in file: 2. colon is missing + + + Format error in file: Semicolon is missing + + + Not possible to open camera parameter (pose) file + + + Format error in camera parameter (pose) file + + + Not possible to open calibration target description file + + + Not possible to open postscript file of calibration target + + + Error while norming the vector + + + Fitting of calibration target failed + + + No next mark found + + + Normal equation system is not solvable + + + Average quadratic error is too big for 3D position of mark + + + Non elliptic contour + + + Wrong parameter value slvand() + + + Wrong function results slvand() + + + Distance of marks in calibration target description file is not possible + + + Specified flag for degree of freedom not valid + + + Minimum error did not fall below + + + Wrong type in Pose (rotation / translation) + + + Image size does not match the measurement in camera parameters + + + Point could not be projected into linescan image + + + Diameter of calibration marks could not be determined + + + Orientation of calibration plate could not be determined + + + Calibration plate does not lie completely inside the image + + + Wrong number of calibration marks extracted + + + Unknown name of parameter group + + + Focal length must be non-negative + + + Function not available for cameras with telecentric lenses + + + Function not available for line scan cameras + + + Ellipse is degenerated to a point + + + No orientation mark found + + + Camera calibration did not converge + + + Function not available for cameras with hypercentric lenses + + + Point cannot be distorted. + + + Wrong edge filter. + + + Pixel size must be non-negative or zero + + + Tilt is in the wrong range + + + Rot is in the wrong range + + + Camera parameters are invalid + + + Focal length must be positive + + + Magnification must be positive + + + Illegal image plane distance + + + model not optimized yet - no res's + + + auxilary model results not available + + + setup not 'visibly' interconnected + + + camera parameter mismatch + + + camera type mismatch + + + camera type not supported + + + invalid camera ID + + + invalid cal.obj. ID + + + invalid cal.obj. instance ID + + + undefined camera + + + repeated observ. index + + + undefined calib. object description + + + Invalid file format for calibration data model + + + The version of the calibration data model is not supported + + + zero-motion in linear scan camera + + + multi-camera and -calibobj not supported for all camera types + + + incomplete data, required for legacy calibration + + + Invalid file format for camera setup model + + + The version of the camera setup model is not supported + + + full HALCON-caltab descr'n required + + + invalid observation ID + + + Serialized item does not contain a valid camera setup model + + + Serialized item does not contain a valid calibration data model + + + Invalid tool pose id + + + Undefined tool pose + + + Invalid calib data model type + + + The camera setup model contains an uninitialized camera + + + The hand-eye algorithm failed to find a solution. + + + invalid observation pose + + + Not enough calibration object poses + + + undefined camera type + + + No camera pair set by set_stereo_model_image_pairs + + + No reconstructed point is visible for coloring + + + No camera pair yields reconstructed points (please check parameters of disparity method or bounding box) + + + Partitioning of bounding box is too fine (please adapt the parameter 'resolution' or the bounding box) + + + Invalid disparity range for binocular_disparity_ms method + + + Invalid param for binoculuar method + + + invalid stereo model type + + + stereo model is not in persistent mode + + + invalid bounding box + + + stereo reconstruction: image sizes must correspond to camera setup + + + bounding box is behind basis line + + + Ambigious calibration: Please, recalibrate with improved input data! + + + Pose of calibration plate not determined + + + Calibration failed: Please check your input data and calibrate again! + + + No observation data supplied! + + + The calibration object has to be seen at least once by every camera, if less than four cameras are used. + + + Invalid file format for template + + + The version of the template is not supported + + + Error during changing the file mode + + + Inconsistent match file: Coordinates out of range + + + The image(s) is not a pyramid + + + Number of template points too small + + + Template data can only be read by HALCON XL + + + Serialized item does not contain a valid NCC model + + + Serialized item does not contain a valid template + + + Number of shape model points too small + + + Gray and color shape models mixed + + + Shape model data can only be read by HALCON XL + + + Shape model was not created from XLDs + + + Serialized item does not contain a valid shape model + + + Shape model contour too near to clutter region + + + Shape model does not contain clutter parameters + + + Shape models are not of the same clutter type + + + Shape model has an invalid clutter contrast + + + Initial components have different region types + + + Solution of ambiguous matches failed + + + Computation of the incomplete gamma function not converged + + + Too many nodes while computing the minimum spanning arborescence + + + Component training data can only be read by HALCON XL + + + Component model data can only be read by HALCON XL + + + Serialized item does not contain a valid component model + + + Serialized item does not contain a valid component training result + + + Size of the training image and the variation model differ + + + Variation model has not been prepared for segmentation + + + Invalid variation model training mode + + + Invalid file format for variation model + + + The version of the variation model is not supported + + + Training data has been cleared + + + Serialized item does not contain a valid variation model + + + No more measure objects available + + + Measure object is not initialized + + + Invalid measure object + + + Measure object is NULL + + + Measure object has wrong image size + + + Invalid file format for measure object + + + The version of the measure object is not supported + + + Measure object data can only be read by HALCON XL + + + Serialized item does not contain a valid measure object + + + Metrology model is not initialized + + + Invalid metrology object + + + Not enough valid measures for fitting the metrology object + + + Invalid file format for metrology model + + + The version of the metrology model is not supported + + + Fuzzy function is not set + + + Serialized item does not contain a valid metrology model + + + Camera parameters are not set + + + Pose of the measurement plane is not set + + + Mode of metrology model cannot be set since an object has already been added + + + If the pose of the metrology object has been set several times, the operator is not longer allowed + + + All objects of a metrology model must have the same world pose and camera parameters. + + + Input type of metrology model does not correspond with the current input type + + + Dynamic library could not be opened + + + Dynamic library could not be closed + + + Symbol not found in dynamic library + + + Interface library not * available + + + Not enough information for rad. calib. + + + Wrong number of modules + + + Wrong number of elements + + + Unknown character (for this code) + + + Wrong name for attribute in barcode descriptor + + + Wrong thickness of element + + + No region found + + + Wrong type of bar code + + + Empty model list + + + Training cannot be done for multiple bar code types + + + Cannot get bar code type specific parameter with get_bar_code_param. Use get_bar_code_param_specific + + + Cannot get this object for multiple bar code types. Try again with single bar code type + + + Wrong binary (file) format + + + Wrong version of binary file + + + The model must be in persistency mode to deliver the required object/result + + + Incorrect index of scanline's gray values + + + Neither find_bar_code nor decode_bar_code_rectanlge2 has been called in 'persistent' mode on this model + + + Specified code type is not supported + + + Wrong foreground specified + + + Wrong matrix size specified + + + Wrong symbol shape specified + + + Wrong generic parameter name + + + Wrong generic parameter value + + + Wrong symbol printing mode + + + Symbol region too near to image border + + + No rectangular modul boundings found + + + Couldn't identify symbol finder + + + Symbol region with wrong dimension + + + Classification failed + + + Decoding failed + + + Reader programing not supported + + + General 2d data code error + + + Corrupt signature of 2d data code handle + + + Invalid 2d data code handle + + + List of 2d data code models is empty + + + Access to uninitialized (or not persistent) internal data + + + Invalid 'Candidate' parameter + + + It's not possible to return more than one parameter for several candidates + + + One of the parameters returns several values and has to be used exclucively for a single candidate + + + Parameter for default settings must be the first in the parameter list + + + Unexpected 2d data code error + + + Invalid parameter value + + + Unknown parameter name + + + Invalid 'polarity' + + + Invalid 'symbol_shape' + + + Invalid symbol size + + + Invalid module size + + + Invalid 'module_shape' + + + Invalid 'orientation' + + + Invalid 'contrast_min' + + + Invalid 'measure_thresh' + + + Invalid 'alt_measure_red' + + + Invalid 'slant_max' + + + Invalid 'L_dist_max' + + + Invalid 'L_length_min' + + + Invalid module gap + + + Invalid 'default_parameters' + + + Invalid 'back_texture' + + + Invalid 'mirrored' + + + Invalid 'classificator' + + + Invalid 'persistence' + + + Invalid model type + + + Invalid 'module_roi_part' + + + Invalid 'finder_pattern_tolerance' + + + Invalid 'mod_aspect_max' + + + Invalid 'small_modules_robustness' + + + Invalid 'contrast_tolerance' + + + Invalid header in 2d data code model file + + + Invalid code signature in 2d data code model file + + + Corrupted line in 2d data code model file + + + Invalid module aspect ratio + + + wrong number of layers + + + wrong data code model version + + + Serialized item does not contain a valid 2D data code model + + + Wrong binary (file) format + + + Invalid parameter value + + + Invalid 'num_levels' + + + Invalid 'optimization' + + + Invalid 'metric' + + + Invalid 'min_face_angle' + + + Invalid 'min_size' + + + Invalid 'model_tolerance' + + + Invalid 'fast_pose_refinment' + + + Invalid 'lowest_model_level' + + + Invalid 'part_size' + + + The projected model is too large (increase the value for DistMin or the image size in CamParam) + + + Invalid 'opengl_accuracy' + + + Invalid 'recompute_score' + + + Invalid 'longitude_min' + + + Invalid 'longitude_max' + + + Invalid 'latitude_min + + + Invalid 'latitude_max' + + + Invalid 'cam_roll_min' + + + Invalid 'cam_roll_max' + + + Invalid 'dist_min' + + + Invalid 'dist_max' + + + Invalid 'num_matches' + + + Invalid 'max_overlap' + + + Invalid 'pose_refinement' + + + Invalid 'cov_pose_mode' + + + In. 'outlier_suppression' + + + Invalid 'border_model' + + + Pose is not well-defined + + + Invalid file format for 3D shape model + + + The version of the 3D shape model is not supported + + + 3D shape model can only be read by HALCON XL + + + 3D object model does not contain any faces + + + Serialized item does not contain a valid 3D shape model + + + Invalid 'union_adjacent_contours' + + + Invalid file format for descriptor model + + + The version of the descriptor model is not supported + + + Invalid 'radius' + + + Invalid 'check_neighbor' + + + Invalid 'min_check_neighbor_diff' + + + Invalid 'min_score' + + + Invalid 'sigma_grad' + + + Invalid 'sigma_smooth' + + + Invalid 'alpha' + + + Invalid 'threshold' + + + Invalid 'depth' + + + Invalid 'number_trees' + + + Invalid 'min_score_descr' + + + Invalid 'patch_size' + + + Invalid 'tilt' + + + Invalid 'guided_matching' + + + Invalid 'subpix' + + + Too few feature points can be found + + + Invalid 'min_rot' + + + Invalid 'max_rot' + + + Invalid 'min_scale' + + + Invalid 'max_scale' + + + Invalid 'mask_size_grd' + + + Invalid 'mask_size_smooth' + + + Model broken + + + Invalid 'descriptor_type' + + + Invalid 'matcher' + + + Too many point classes - cannot be written to file + + + Serialized item does not contain a valid descriptor model + + + Function not implemented on this machine + + + Image to process has wrong gray value type + + + Wrong image component + + + Undefined gray values + + + Wrong image format for operation (too big or too small) + + + Wrong number of image components for image output + + + String is too long (max. 1024 characters) + + + Wrong pixel type for this operation + + + Operation not realized yet for this pixel type + + + Image is no color image with three channels + + + Image acquisition devices are not supported in the demo version + + + Packages are not supported in the demo version + + + Internal Error: Unknown value + + + Wrong paramter for this operation + + + Image domain too small + + + Draw operator has been canceled + + + Error during matching of regular * expression + + + Operator is not available in the student version of HALCON + + + Packages are not available in the student version of HALCON + + + The selected image acquisition device is not available in the student version of HALCON + + + No data points available + + + Object type is not supported. + + + Operator is disabled. + + + Too many unknown variables in linear equation + + + No (unique) solution for the linear equation + + + Too little equations in linear equation + + + Points do not define a line + + + Matrix is not invertible + + + Singular value decomposition did not converge + + + Matrix has too few rows for singular value partition + + + Eigenvalue computation did not converge + + + Eigenvalue computation did not converge + + + Matrix is singular + + + Function matching did not converge + + + Input matrix undefined + + + Input matrix with wrong dimension + + + Input matrix is not quadratic + + + Matrix operation failed + + + Matrix is not positive definite + + + Matrix element division by 0 + + + Matrix is not an upper triangular matrix + + + Matrix is not a lower triangular matrix + + + Matrix element is negative + + + Matrix file: Invalid character + + + Matrix file: matrix incomplete + + + Invalid file format for matrix + + + Resulting matrix has complex values + + + Wrong value in matrix of exponents + + + The version of the matrix is not supported + + + Serialized item does not contain a valid matrix + + + Internal Error: Wrong Node + + + Inconsistent red black tree + + + Internal error + + + Number of points too small + + + First 3 points are collinear + + + Identical points in triangulation + + + Array not allocated large enough + + + Triangle is degenerate + + + Inconsistent triangulation + + + Self-intersecting polygon + + + Inconsistent polygon data + + + Ambiguous great circle arc intersection + + + Ambiguous great circle arc + + + Illegal parameter + + + Not enough points for planar triangular meshing + + + The first three points of the triangular meshing are collinear + + + Planar triangular meshing contains identical input points + + + Invalid points for planar triangular meshing + + + Internal error: allocated array too small for planar triangular meshing + + + Internal error: planar triangular meshing inconsistent + + + Node index outside triangulation range + + + Local inconsistencies for all points with valid neighbors (parameters only allow few valid neighborhoods or point cloud not subsampled) + + + Eye point and reference point coincide + + + Real part of the dual quaternion has length 0 + + + Timeout occurred + + + Invalid 'timeout' + + + Timeout occured after cached transformations have been freed (internal error) + + + Invalid 'sub_object_size' + + + Invalid 'min_size' + + + Invalid number of least-squares iterations + + + Invalid 'angle_step' + + + Invalid 'scale_r_step' + + + Invalid 'scale_c_step' + + + Invalid 'max_angle_distortion' + + + Invalid 'max_aniso_scale_distortion' + + + Invalid 'min_size' + + + Invalid 'cov_pose_mode' + + + Model contains no calibration information + + + Generic parameter name does not exist + + + camera has different resolution than image + + + Invalid file format for deformable model + + + The version of the deformable model is not supported + + + Invalid 'deformation_smoothness' + + + Invalid 'expand_border' + + + Model origin outside of axis-aligned bounding rectangle of template region + + + Serialized item does not contain a valid deformable model + + + Object model has no points + + + Object model has no faces + + + Object model has no normals + + + Invalid file format for 3D surface model + + + The version of the 3D surface model is not supported + + + Serialized item does not contain a valid 3D surface model + + + Poses generate too many symmetries + + + Invalid 3D file + + + Invalid 3D Object Model + + + Unknown 3D file type + + + The version of the 3D object model is not supported + + + Required attribute is missing + + + Required attribute point_coord is missing + + + Required attribute point_normal is missing + + + Required attribute face_triangle is missing + + + Required attribute line_array is missing + + + Required attribute f_trineighb is missing + + + Required attribute face_polygon is missing + + + Required attribute xyz_mapping is missing + + + Required attribute o_primitive is missing + + + Required attribute shape_model is missing + + + Required extended attribute missing in 3D object model + + + Serialized item does not contain a valid 3D object model + + + Primitive in 3D object model has no extended data + + + Operation invalid, 3D object model already contains triangles + + + Operation invalid, 3D object model already contains lines + + + Operation invalid, 3D object model already contains faces or polygons + + + In a global registration an input object has no neighbors + + + All components of points must be set at once + + + All components of normals must be set at once + + + Number of values doesn't correspond to number of already existing points + + + Number of values doesn't correspond to number of already existing normals + + + Number of values doesn't correspond to already existing triangulation + + + Number of values doesn't correspond to length of already existing polygons + + + Number of values doesn't correspond to length of already existing polylines + + + Number of values doesn't correspond already existing 2D mapping + + + Number of values doesn't correspond to already existing extended attribute + + + Per-face intensity is used with point attribute + + + Attribute is not (yet) supported + + + No point within bounding box + + + distance_in_front is smaller than the resolution + + + The minimum thickness is smaller than the surface tolerance + + + Triangles of the 3D object model are not suitable for this operator + + + Too few suitable 3D points in the 3D object model + + + Not a valid serialized item file + + + Serialized item: premature end of file + + + Invalid 'image_resize_method' + + + Invalid 'image_resize_value' + + + Invalid 'rating_method' + + + At least one type of image information must be used + + + Sample identifier does not contain color information + + + Sample identifier does not contain texture information + + + Sample image does not contain enough information + + + Sample identifier does not contain unprepared data (use add_sample_identifier_preparation_data) + + + Sample identifier has not been prepared yet (use prepare_sample_identifier) + + + Sample identifier does not contain untrained data (use add_sample_identifier_training_data) + + + Sample identifier has not been trained yet (use train_sample_identifier) + + + Sample identifier does not contain result data + + + Sample identifier must contain at least two training objects (use add_sample_identifier_training_data) + + + More than one user thread still uses HALCON * resources during finalization + + + User defined error codes must be larger than this value + + + No license found + + + Lost connection to license server + + + No modules in license (no VENDOR_STRING) + + + No license for this operator + + + Time zone offset from GMT is > 24 hours + + + Vendor keys do not support this platform + + + Bad vendor keys + + + Unknown vendor key type + + + malloc() call failed + + + Vendor keys have expired + + + Second call to lc_inti() (multiple jobs), and vendore keys do not support multiple jobs + + + Vendor key data not supplied + + + lmclient.h/liblmgr.a version mismatch + + + Networking software not available on this machine + + + Old vendor keys supplied + + + License key in license file does not match other data in file + + + Encryption handshake with daemon failed + + + 'key' structure is incorrect type, or feature == NULL, or num_licenses == 0 + + + System clock has been set back + + + Version argument is invalid floating point format + + + License server busy starting another copy of itself + + + Cannot establish a connection with a license server + + + Feature is queued. lc_status will determine when it is available + + + Vendor keys do not support this function + + + Checkout request filtered by the vendor-defined filter routine + + + Checkout exceeds MAX specified in options file + + + All licenses in use + + + No license server specified for counted license + + + Can not find feature in the license file + + + Server has different license file than client - client's license has feature, but server's does not + + + License file does not support a version this new + + + This platform not authorized by license - running on platform not included in PLATFORMS list + + + License server busy + + + Could not find license.dat + + + Invalid license file syntax + + + Cannot connect to a license server + + + No TCP "license" service exists + + + No socket connection to license manager server + + + Invalid host + + + Feature has expired + + + Invalid date format in license file + + + Invalid returned data from license server + + + Cannot find SERVER hostname in network database + + + Cannot read data from license server + + + Cannot write data to license server + + + Error in select system call + + + Feature checkin failure detected at license + + + Users are queued for this feature + + + License server does not support this version of this feature + + + Request for more licenses than this feature supports + + + Cannot read /dev/kmem + + + Cannot read /vmunix + + + Cannot find ethernet device + + + Cannot read license file + + + Feature not yet available + + + No such attribute + + + Clock difference too large between client and server + + + Feature database corrupted in daemon + + + Duplicate selection mismatch for this feature + + + User/host on EXCLUDE list for feature + + + User/host not on INCLUDE list for feature + + + Feature was never checked out + + + Invalid FLEXlm key data supplied + + + Clock setting check not available in daemon + + + Date too late for binary format + + + FLEXlm not initialized + + + Server did not respond to message + + + Request rejected by vendor defined filter + + + No FEATURESET line present in license file + + + Incorrect FEATURESET line in license file + + + Cannot compute FEATURESET line + + + socket() call failed + + + setsockopt() failed + + + Message checksum failure + + + Cannot read license file from server + + + Not a license administrator + + + lmremove request too soon + + + Attempt to read beyond the end of LF path + + + SYS$SETIMR call failed + + + Internal FLEXlm Erro - Please report to Globetrotter Software + + + FLEXadmin API functions not avilable + + + Invalid PACKAGE line in license file + + + Server FLEXlm version older than client's + + + Incorrect number of USERS/HOSTS INCLUDED in options file + + + Server doesn't support this request + + + This license object already in use + + + Future license file format + + + Feature removed during lmreread + + + This feature is available in a different license pool + + + Network connect to THIS_HOST failed + + + Server node is down or not responding + + + The desired vendor daemon is down + + + The decimal format license is typed incorrectly + + + All licenses are reserved for others + + + Terminal Server remote client not allowed + + + Cannot borrow that long + + + License server out of network connections + + + Dongle not attached, or can't read dongle + + + Missing dongle driver + + + FLEXlock checkouts attempted + + + SIGN= attribute required + + + CRO not supported for this platform + + + BORROW failed + + + BORROW period has expired + + + FLOAT_OK license must have exactly one dongle hostid + + + Unable to delete local borrow info" + + + Returning borrowed license early not enabled + + + Returning borrowed license on server failed + + + Checkout just a PACKAGE failed + + + Composite Hostid not initialized + + + An item needed for Composite Hostid missing or invalid + + + Borrowed license doesn't match any known server license + + + Error enabling event log + + + Event logging is disabled + + + Error writing to event log + + + Timeout + + + Bad message command + + + Error writing to socket + + + Failed to generate version specific license + + + Vers.-specific signatures not supported + + + License template contains redundant signature specifiers + + + Invalid V71_LK signature + + + Invalid V71_SIGN signature + + + Invalid V80_LK signature + + + Invalid V80_SIGN signature + + + Invalid V81_LK signature + + + Invalid V81_SIGN signature + + + Invalid V81_SIGN2 signature + + + Invalid V84_LK signature + + + Invalid V84_SIGN signature + + + Invalid V84_SIGN2 signature + + + License key required but missing from the certificate + + + Bad AUTH={} signature + + + TS record invalid + + + Cannot open TS + + + Invalid Fulfillment record + + + Invalid activation request received + + + No fulfillment exists in trusted storage which matches the request + + + Invalid activation response received + + + Can't return the fulfillment + + + Return would exceed max count(s) + + + No repair count left + + + Specified operation is not allowed + + + User/host on EXCLUDE list for entitlement + + + User/host not in INCLUDE list for entitlement + + + Activation error + + + Invalid date format in trusted storage + + + Message encryption failed + + + Message decryption failed + + + Bad filter context + + + SUPERSEDE feature conflict + + + Invalid SUPERSEDE_SIGN syntax + + + SUPERSEDE_SIGN does not contain a feature name and license signature + + + ONE_TS_OK is not supported in this Windows Platform + + + Internal error + + + Only one terminal server remote client checkout is allowed for this feature + + + Internal error + + + Internal error + + + Internal error + + + More than one ethernet hostid not supported in composite hostid definition + + + The number of characters in the license file paths exceeds the permissible limit + + + Invalid TZ keyword syntax + + + Invalid time zone override specification in the client + + + The time zone information could not be obtained + + + License client time zone not authorized for license rights + + + Invalid syntax for VM_PLATFORMS keyword + + + Feature can be checked out from physical machine only + + + Feature can be checked out from virtual machine only + + + Vendor keys do not support Virtualization feature + + + Checkout request denied as it exceeds the MAX limit specified in the options file + + + Binding agent API - Internal error + + + Binding agent communication error + + + Invalid Binding agent version + + + Failed to load ServerQuery request + + + Failed to generate ServerQuery response + + + Invalid IP address used while overriding + + + + + + Represents an instance of an event synchronization object. + + + + Create an event synchronization object. + Modified instance represents: Event synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + + Create an event synchronization object. + Modified instance represents: Event synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + + Clear the event synchronization object. + Instance represents: Event synchronization object. + + + + + Unlock an event synchronization object. + Instance represents: Event synchronization object. + + + + + Lock an event synchronization object only if it is unlocked. + Instance represents: Event synchronization object. + + Object already locked? + + + + Lock an event synchronization object. + Instance represents: Event synchronization object. + + + + + Create an event synchronization object. + Modified instance represents: Event synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + + Create an event synchronization object. + Modified instance represents: Event synchronization object. + + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + + + Represents an instance of a training used for the classifier. + + + + Read a training data set from a file. + Modified instance represents: Identification of the data set to train. + + Filename of the data set to train. Default: "sampset1" + + + + Read a training data set from a file. + Modified instance represents: Identification of the data set to train. + + Filename of the data set to train. Default: "sampset1" + + + + Train the classifier with one data set. + Instance represents: Number of the data set to train. + + Handle of the classifier. + Name of the protocol file. Default: "training_prot" + Number of arrays of attributes to learn. Default: 500 + Classification error for termination. Default: 0.05 + Error during the assignment. Default: 100 + + + + Free memory of a data set. + Instance represents: Number of the data set. + + + + + Classify a set of arrays. + Instance represents: Key of the test data. + + Handle of the classifier. + Error during the assignment. + + + Represents an instance of a file. + + + + Open a file in text or binary format. + Modified instance represents: File handle. + + Name of file to be opened. Default: "standard" + Type of file access and optional the string encoding. Default: "output" + + + + Open a file in text or binary format. + Modified instance represents: File handle. + + Name of file to be opened. Default: "standard" + Type of file access and optional the string encoding. Default: "output" + + + + Open a file in text or binary format. + Modified instance represents: File handle. + + Name of file to be opened. Default: "standard" + Type of file access and optional the string encoding. Default: "output" + + + + Open a file in text or binary format. + Modified instance represents: File handle. + + Name of file to be opened. Default: "standard" + Type of file access and optional the string encoding. Default: "output" + + + + Write strings and numbers into a text file. + Instance represents: File handle. + + Values to be written into the file. Default: "hallo" + + + + Write strings and numbers into a text file. + Instance represents: File handle. + + Values to be written into the file. Default: "hallo" + + + + Read a character line from a text file. + Instance represents: File handle. + + Reached end of file before any character was read. + Read line. + + + + Read a string from a text file. + Instance represents: File handle. + + Reached end of file before any character was added to the output string. + Read character sequence. + + + + Read one character from a text file. + Instance represents: File handle. + + Read character, which can be multi-byte or the control string 'eof'. + + + + Write a line break and clear the output buffer. + Instance represents: File handle. + + + + Closing a text file. + File handle. + + + + Closing a text file. + Instance represents: File handle. + + + + Represents an instance of an image acquisition device. + + + + Open and configure an image acquisition device. + Modified instance represents: Handle of the opened image acquisition device. + + HALCON image acquisition interface name, i.e., name of the corresponding DLL (Windows) or shared library (Linux/macOS). Default: "File" + Desired horizontal resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Desired vertical resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Width of desired image part (absolute value or 0 for HorizontalResolution - 2*StartColumn). Default: 0 + Height of desired image part (absolute value or 0 for VerticalResolution - 2*StartRow). Default: 0 + Line number of upper left corner of desired image part (or border height if ImageHeight = 0). Default: 0 + Column number of upper left corner of desired image part (or border width if ImageWidth = 0). Default: 0 + Desired half image or full image. Default: "default" + Number of transferred bits per pixel and image channel (-1: device-specific default value). Default: -1 + Output color format of the grabbed images, typically 'gray' or 'raw' for single-channel or 'rgb' or 'yuv' for three-channel images ('default': device-specific default value). Default: "default" + Generic parameter with device-specific meaning. Default: -1 + External triggering. Default: "default" + Type of used camera ('default': device-specific default value). Default: "default" + Device the image acquisition device is connected to ('default': device-specific default value). Default: "default" + Port the image acquisition device is connected to (-1: device-specific default value). Default: -1 + Camera input line of multiplexer (-1: device-specific default value). Default: -1 + + + + Open and configure an image acquisition device. + Modified instance represents: Handle of the opened image acquisition device. + + HALCON image acquisition interface name, i.e., name of the corresponding DLL (Windows) or shared library (Linux/macOS). Default: "File" + Desired horizontal resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Desired vertical resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Width of desired image part (absolute value or 0 for HorizontalResolution - 2*StartColumn). Default: 0 + Height of desired image part (absolute value or 0 for VerticalResolution - 2*StartRow). Default: 0 + Line number of upper left corner of desired image part (or border height if ImageHeight = 0). Default: 0 + Column number of upper left corner of desired image part (or border width if ImageWidth = 0). Default: 0 + Desired half image or full image. Default: "default" + Number of transferred bits per pixel and image channel (-1: device-specific default value). Default: -1 + Output color format of the grabbed images, typically 'gray' or 'raw' for single-channel or 'rgb' or 'yuv' for three-channel images ('default': device-specific default value). Default: "default" + Generic parameter with device-specific meaning. Default: -1 + External triggering. Default: "default" + Type of used camera ('default': device-specific default value). Default: "default" + Device the image acquisition device is connected to ('default': device-specific default value). Default: "default" + Port the image acquisition device is connected to (-1: device-specific default value). Default: -1 + Camera input line of multiplexer (-1: device-specific default value). Default: -1 + + + + Query specific parameters of an image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Parameter of interest. Default: "revision" + Parameter value. + + + + Query specific parameters of an image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Parameter of interest. Default: "revision" + Parameter value. + + + + Set specific parameters of an image acquistion device. + Instance represents: Handle of the acquisition device to be used. + + Parameter name. + Parameter value to be set. + + + + Set specific parameters of an image acquistion device. + Instance represents: Handle of the acquisition device to be used. + + Parameter name. + Parameter value to be set. + + + + Query callback function of an image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Callback type. Default: "transfer_end" + Pointer to user-specific context data. + Pointer to the callback function. + + + + Register a callback function for an image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Callback type. Default: "transfer_end" + Pointer to the callback function to be set. + Pointer to user-specific context data. + + + + Asynchronous grab of images and preprocessed image data from the specified image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Pre-processed image regions. + Pre-processed XLD contours. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Pre-processed control data. + Grabbed image data. + + + + Asynchronous grab of images and preprocessed image data from the specified image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Pre-processed image regions. + Pre-processed XLD contours. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Pre-processed control data. + Grabbed image data. + + + + Synchronous grab of images and preprocessed image data from the specified image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Preprocessed image regions. + Preprocessed XLD contours. + Preprocessed control data. + Grabbed image data. + + + + Synchronous grab of images and preprocessed image data from the specified image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Preprocessed image regions. + Preprocessed XLD contours. + Preprocessed control data. + Grabbed image data. + + + + Asynchronous grab of an image from the specified image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Grabbed image. + + + + Start an asynchronous grab from the specified image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + This parameter is obsolete and has no effect. Default: -1.0 + + + + Synchronous grab of an image from the specified image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Grabbed image. + + + + Close specified image acquisition device. + Instance represents: Handle of the image acquisition device to be closed. + + + + + Open and configure an image acquisition device. + Modified instance represents: Handle of the opened image acquisition device. + + HALCON image acquisition interface name, i.e., name of the corresponding DLL (Windows) or shared library (Linux/macOS). Default: "File" + Desired horizontal resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Desired vertical resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Width of desired image part (absolute value or 0 for HorizontalResolution - 2*StartColumn). Default: 0 + Height of desired image part (absolute value or 0 for VerticalResolution - 2*StartRow). Default: 0 + Line number of upper left corner of desired image part (or border height if ImageHeight = 0). Default: 0 + Column number of upper left corner of desired image part (or border width if ImageWidth = 0). Default: 0 + Desired half image or full image. Default: "default" + Number of transferred bits per pixel and image channel (-1: device-specific default value). Default: -1 + Output color format of the grabbed images, typically 'gray' or 'raw' for single-channel or 'rgb' or 'yuv' for three-channel images ('default': device-specific default value). Default: "default" + Generic parameter with device-specific meaning. Default: -1 + External triggering. Default: "default" + Type of used camera ('default': device-specific default value). Default: "default" + Device the image acquisition device is connected to ('default': device-specific default value). Default: "default" + Port the image acquisition device is connected to (-1: device-specific default value). Default: -1 + Camera input line of multiplexer (-1: device-specific default value). Default: -1 + + + + Open and configure an image acquisition device. + Modified instance represents: Handle of the opened image acquisition device. + + HALCON image acquisition interface name, i.e., name of the corresponding DLL (Windows) or shared library (Linux/macOS). Default: "File" + Desired horizontal resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Desired vertical resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Width of desired image part (absolute value or 0 for HorizontalResolution - 2*StartColumn). Default: 0 + Height of desired image part (absolute value or 0 for VerticalResolution - 2*StartRow). Default: 0 + Line number of upper left corner of desired image part (or border height if ImageHeight = 0). Default: 0 + Column number of upper left corner of desired image part (or border width if ImageWidth = 0). Default: 0 + Desired half image or full image. Default: "default" + Number of transferred bits per pixel and image channel (-1: device-specific default value). Default: -1 + Output color format of the grabbed images, typically 'gray' or 'raw' for single-channel or 'rgb' or 'yuv' for three-channel images ('default': device-specific default value). Default: "default" + Generic parameter with device-specific meaning. Default: -1 + External triggering. Default: "default" + Type of used camera ('default': device-specific default value). Default: "default" + Device the image acquisition device is connected to ('default': device-specific default value). Default: "default" + Port the image acquisition device is connected to (-1: device-specific default value). Default: -1 + Camera input line of multiplexer (-1: device-specific default value). Default: -1 + + + + Query look-up table of the image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Red level of the LUT entries. + Green level of the LUT entries. + Blue level of the LUT entries. + + + + Set look-up table of the image acquisition device. + Instance represents: Handle of the acquisition device to be used. + + Red level of the LUT entries. + Green level of the LUT entries. + Blue level of the LUT entries. + + + Represents an instance of a 1d function. + + + Create an uninitialized instance. + + + + Create a function from a sequence of y-values. + Modified instance represents: Created function. + + X value for function points. + + + + Create a function from a sequence of y-values. + Modified instance represents: Created function. + + X value for function points. + + + + Create a function from a set of (x,y) pairs. + Modified instance represents: Created function. + + X value for function points. + Y-value for function points. + + + + Create a function from a set of (x,y) pairs. + Modified instance represents: Created function. + + X value for function points. + Y-value for function points. + + + Adds a constant offset to the function's Y values + + + Adds a constant offset to the function's Y values + + + Subtracts a constant offset from the function's Y values + + + Negates the Y values of the function + + + Scales the function's Y values + + + Scales the function's Y values + + + Scales the function's Y values + + + Composes two functions (not a pointwise multiplication) + + + Calculates the inverse of the function + + + + Plot a function using gnuplot. + Instance represents: Function to be plotted. + + Identifier for the gnuplot output stream. + + + + Compose two functions. + Instance represents: Input function 1. + + Input function 2. + Border treatment for the input functions. Default: "constant" + Composed function. + + + + Calculate the inverse of a function. + Instance represents: Input function. + + Inverse of the input function. + + + + Calculate the derivatives of a function. + Instance represents: Input function + + Type of derivative Default: "first" + Derivative of the input function + + + + Calculate the local minimum and maximum points of a function. + Instance represents: Input function + + Handling of plateaus Default: "strict_min_max" + Interpolation of the input function Default: "true" + Minimum points of the input function + Maximum points of the input function + + + + Calculate the zero crossings of a function. + Instance represents: Input function + + Zero crossings of the input function + + + + Multiplication and addition of the y values. + Instance represents: Input function. + + Factor for scaling of the y values. Default: 2.0 + Constant which is added to the y values. Default: 0.0 + Transformed function. + + + + Negation of the y values. + Instance represents: Input function. + + Function with the negated y values. + + + + Absolute value of the y values. + Instance represents: Input function. + + Function with the absolute values of the y values. + + + + Return the value of a function at an arbitrary position. + Instance represents: Input function. + + X coordinate at which the function should be evaluated. + Border treatment for the input function. Default: "constant" + Y value at the given x value. + + + + Return the value of a function at an arbitrary position. + Instance represents: Input function. + + X coordinate at which the function should be evaluated. + Border treatment for the input function. Default: "constant" + Y value at the given x value. + + + + Access a function value using the index of the control points. + Instance represents: Input function. + + Index of the control points. + X value at the given control points. + Y value at the given control points. + + + + Access a function value using the index of the control points. + Instance represents: Input function. + + Index of the control points. + X value at the given control points. + Y value at the given control points. + + + + Number of control points of the function. + Instance represents: Input function. + + Number of control points. + + + + Smallest and largest y value of the function. + Instance represents: Input function. + + Smallest y value. + Largest y value. + + + + Smallest and largest x value of the function. + Instance represents: Input function. + + Smallest x value. + Largest x value. + + + + Access to the x/y values of a function. + Instance represents: Input function. + + X values of the function. + Y values of the function. + + + + Sample a function equidistantly in an interval. + Instance represents: Input function. + + Minimum x value of the output function. + Maximum x value of the output function. + Distance of the samples. + Border treatment for the input function. Default: "constant" + Sampled function. + + + + Sample a function equidistantly in an interval. + Instance represents: Input function. + + Minimum x value of the output function. + Maximum x value of the output function. + Distance of the samples. + Border treatment for the input function. Default: "constant" + Sampled function. + + + + Transform a function using given transformation parameters. + Instance represents: Input function. + + Transformation parameters between the functions. + Transformed function. + + + + Calculate transformation parameters between two functions. + Instance represents: Function 1. + + Function 2. + Border treatment for function 2. Default: "constant" + Values of the parameters to remain constant. Default: [1.0,0.0,1.0,0.0] + Should a parameter be adapted for it? Default: ["true","true","true","true"] + Quadratic error of the output function. + Covariance Matrix of the transformation parameters. + Transformation parameters between the functions. + + + + Compute the distance of two functions. + Instance represents: Input function 1. + + Input function 2. + Modes of invariants. Default: "length" + Variance of the optional smoothing with a Gaussian filter. Default: 0.0 + Distance of the functions. + + + + Compute the distance of two functions. + Instance represents: Input function 1. + + Input function 2. + Modes of invariants. Default: "length" + Variance of the optional smoothing with a Gaussian filter. Default: 0.0 + Distance of the functions. + + + + Smooth an equidistant 1D function with a Gaussian function. + Instance represents: Function to be smoothed. + + Sigma of the Gaussian function for the smoothing. Default: 2.0 + Smoothed function. + + + + Compute the positive and negative areas of a function. + Instance represents: Input function. + + Area under the negative part of the function. + Area under the positive part of the function. + + + + Read a function from a file. + Modified instance represents: Function from the file. + + Name of the file to be read. + + + + Write a function to a file. + Instance represents: Function to be written. + + Name of the file to be written. + + + + Create a function from a sequence of y-values. + Modified instance represents: Created function. + + X value for function points. + + + + Create a function from a sequence of y-values. + Modified instance represents: Created function. + + X value for function points. + + + + Create a function from a set of (x,y) pairs. + Modified instance represents: Created function. + + X value for function points. + Y-value for function points. + + + + Create a function from a set of (x,y) pairs. + Modified instance represents: Created function. + + X value for function points. + Y-value for function points. + + + + Smooth an equidistant 1D function by averaging its values. + Instance represents: 1D function. + + Size of the averaging mask. Default: 9 + Number of iterations for the smoothing. Default: 3 + Smoothed function. + + + Represents an instance of a connection to a gnuplot process. + + + + Plot a function using gnuplot. + Instance represents: Identifier for the gnuplot output stream. + + Function to be plotted. + + + + Plot control values using gnuplot. + Instance represents: Identifier for the gnuplot output stream. + + Control values to be plotted (y-values). + + + + Visualize images using gnuplot. + Instance represents: Identifier for the gnuplot output stream. + + Image to be plotted. + Number of samples in the x-direction. Default: 64 + Number of samples in the y-direction. Default: 64 + Rotation of the plot about the x-axis. Default: 60 + Rotation of the plot about the z-axis. Default: 30 + Plot the image with hidden surfaces removed. Default: "hidden3d" + + + + Visualize images using gnuplot. + Instance represents: Identifier for the gnuplot output stream. + + Image to be plotted. + Number of samples in the x-direction. Default: 64 + Number of samples in the y-direction. Default: 64 + Rotation of the plot about the x-axis. Default: 60 + Rotation of the plot about the z-axis. Default: 30 + Plot the image with hidden surfaces removed. Default: "hidden3d" + + + + Close all open gnuplot files or terminate an active gnuplot sub-process. + Instance represents: Identifier for the gnuplot output stream. + + + + + Open a gnuplot file for visualization of images and control values. + Modified instance represents: Identifier for the gnuplot output stream. + + Base name for control and data files. + + + + Open a pipe to a gnuplot process for visualization of images and control values. + Modified instance represents: Identifier for the gnuplot output stream. + + + + Represents a homogeneous 2D transformation matrix. + + + + Generate the homogeneous transformation matrix of the identical 2D transformation. + Modified instance represents: Transformation matrix. + + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Read the geo coding from an ARC/INFO world file. + Modified instance represents: Transformation matrix from image to world coordinates. + + Name of the ARC/INFO world file. + + + + Apply a projective transformation to an XLD contour. + Instance represents: Homogeneous projective transformation matrix. + + Input contours. + Output contours. + + + + Apply an arbitrary affine transformation to XLD polygons. + Instance represents: Input transformation matrix. + + Input XLD polygons. + Transformed XLD polygons. + + + + Apply an arbitrary affine 2D transformation to XLD contours. + Instance represents: Input transformation matrix. + + Input XLD contours. + Transformed XLD contours. + + + + Deserialize a serialized homogeneous 2D transformation matrix. + Modified instance represents: Transformation matrix. + + Handle of the serialized item. + + + + Serialize a homogeneous 2D transformation matrix. + Instance represents: Transformation matrix. + + Handle of the serialized item. + + + Perform a bundle adjustment of an image mosaic. + Number of different images that are used for the calibration. + Index of the reference image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Row coordinates of corresponding points in the respective source images. + Column coordinates of corresponding points in the respective source images. + Row coordinates of corresponding points in the respective destination images. + Column coordinates of corresponding points in the respective destination images. + Number of point correspondences in the respective image pair. + Transformation class to be used. Default: "projective" + Row coordinates of the points reconstructed by the bundle adjustment. + Column coordinates of the points reconstructed by the bundle adjustment. + Average error per reconstructed point. + Array of 3x3 projective transformation matrices that determine the position of the images in the mosaic. + + + Perform a bundle adjustment of an image mosaic. + Number of different images that are used for the calibration. + Index of the reference image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Row coordinates of corresponding points in the respective source images. + Column coordinates of corresponding points in the respective source images. + Row coordinates of corresponding points in the respective destination images. + Column coordinates of corresponding points in the respective destination images. + Number of point correspondences in the respective image pair. + Transformation class to be used. Default: "projective" + Row coordinates of the points reconstructed by the bundle adjustment. + Column coordinates of the points reconstructed by the bundle adjustment. + Average error per reconstructed point. + Array of 3x3 projective transformation matrices that determine the position of the images in the mosaic. + + + + Compute a projective transformation matrix and the radial distortion coefficient between two images by finding correspondences between points based on known approximations of the projective transformation matrix and the radial distortion coefficient. + Instance represents: Approximation of the homogeneous projective transformation matrix between the two images. + + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Approximation of the radial distortion coefficient in the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix and the radial distortion coefficient between two images by finding correspondences between points based on known approximations of the projective transformation matrix and the radial distortion coefficient. + Instance represents: Approximation of the homogeneous projective transformation matrix between the two images. + + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Approximation of the radial distortion coefficient in the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images and the radial distortion coefficient by automatically finding correspondences between points. + Modified instance represents: Computed homogeneous projective transformation matrix. + + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for the transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed radial distortion coefficient. + + + + Compute a projective transformation matrix between two images and the radial distortion coefficient by automatically finding correspondences between points. + Modified instance represents: Computed homogeneous projective transformation matrix. + + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for the transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed radial distortion coefficient. + + + + Compute a projective transformation matrix between two images by finding correspondences between points based on a known approximation of the projective transformation matrix. + Instance represents: Approximation of the Homogeneous projective transformation matrix between the two images. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images by finding correspondences between points based on a known approximation of the projective transformation matrix. + Instance represents: Approximation of the Homogeneous projective transformation matrix between the two images. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images by finding correspondences between points. + Modified instance represents: Homogeneous projective transformation matrix. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift. Default: 0 + Average column coordinate shift. Default: 0 + Half height of matching search window. Default: 256 + Half width of matching search window. Default: 256 + Range of rotation angles. Default: 0.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 2. + Indices of matched input points in image 1. + + + + Compute a projective transformation matrix between two images by finding correspondences between points. + Modified instance represents: Homogeneous projective transformation matrix. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift. Default: 0 + Average column coordinate shift. Default: 0 + Half height of matching search window. Default: 256 + Half width of matching search window. Default: 256 + Range of rotation angles. Default: 0.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 2. + Indices of matched input points in image 1. + + + + Compute a projective transformation matrix and the radial distortion coefficient using given image point correspondences. + Modified instance represents: Homogeneous projective transformation matrix. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Width of the images from which the points were extracted. + Height of the images from which the points were extracted. + Estimation algorithm. Default: "gold_standard" + Root-Mean-Square transformation error. + Computed radial distortion coefficient. + + + + Compute a homogeneous transformation matrix using given point correspondences. + Modified instance represents: Homogeneous projective transformation matrix. + + Input points 1 (x coordinate). + Input points 1 (y coordinate). + Input points 1 (w coordinate). + Input points 2 (x coordinate). + Input points 2 (y coordinate). + Input points 2 (w coordinate). + Estimation algorithm. Default: "normalized_dlt" + + + + Compute a projective transformation matrix using given point correspondences. + Modified instance represents: Homogeneous projective transformation matrix. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Estimation algorithm. Default: "normalized_dlt" + Row coordinate variance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + 9x9 covariance matrix of the projective transformation matrix. + + + + Compute the affine transformation parameters from a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Scaling factor along the y direction. + Rotation angle. + Slant angle. + Translation along the x direction. + Translation along the y direction. + Scaling factor along the x direction. + + + + Compute a rigid affine transformation from points and angles. + Modified instance represents: Output transformation matrix. + + Row coordinate of the original point. + Column coordinate of the original point. + Angle of the original point. + Row coordinate of the transformed point. + Column coordinate of the transformed point. + Angle of the transformed point. + + + + Compute a rigid affine transformation from points and angles. + Modified instance represents: Output transformation matrix. + + Row coordinate of the original point. + Column coordinate of the original point. + Angle of the original point. + Row coordinate of the transformed point. + Column coordinate of the transformed point. + Angle of the transformed point. + + + + Approximate an affine transformation from point-to-line correspondences. + Modified instance represents: Output transformation matrix. + + Type of the transformation to compute. Default: "rigid" + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the first point on the corresponding line. + Y coordinates of the first point on the corresponding line. + X coordinates of the second point on the corresponding line. + Y coordinates of the second point on the corresponding line. + + + + Approximate a rigid affine transformation from point correspondences. + Modified instance represents: Output transformation matrix. + + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + + + + Approximate an similarity transformation from point correspondences. + Modified instance represents: Output transformation matrix. + + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + + + + Approximate an anisotropic similarity transformation from point correspondences. + Modified instance represents: Output transformation matrix. + + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + + + + Approximate an affine transformation from point correspondences. + Modified instance represents: Output transformation matrix. + + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + + + + Project pixel coordinates using a homogeneous projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input pixel(s) (row coordinate). Default: 64 + Input pixel(s) (column coordinate). Default: 64 + Output pixel(s) (row coordinate). + Output pixel(s) (column coordinate). + + + + Project pixel coordinates using a homogeneous projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input pixel(s) (row coordinate). Default: 64 + Input pixel(s) (column coordinate). Default: 64 + Output pixel(s) (row coordinate). + Output pixel(s) (column coordinate). + + + + Project a homogeneous 2D point using a projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (w coordinate). + Output point (y coordinate). + Output point (w coordinate). + Output point (x coordinate). + + + + Project a homogeneous 2D point using a projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (w coordinate). + Output point (y coordinate). + Output point (w coordinate). + Output point (x coordinate). + + + + Apply an arbitrary affine 2D transformation to pixel coordinates. + Instance represents: Input transformation matrix. + + Input pixel(s) (row coordinate). Default: 64 + Input pixel(s) (column coordinate). Default: 64 + Output pixel(s) (row coordinate). + Output pixel(s) (column coordinate). + + + + Apply an arbitrary affine 2D transformation to pixel coordinates. + Instance represents: Input transformation matrix. + + Input pixel(s) (row coordinate). Default: 64 + Input pixel(s) (column coordinate). Default: 64 + Output pixel(s) (row coordinate). + Output pixel(s) (column coordinate). + + + + Apply an arbitrary affine 2D transformation to points. + Instance represents: Input transformation matrix. + + Input point(s) (x or row coordinate). Default: 64 + Input point(s) (y or column coordinate). Default: 64 + Output point(s) (y or column coordinate). + Output point(s) (x or row coordinate). + + + + Apply an arbitrary affine 2D transformation to points. + Instance represents: Input transformation matrix. + + Input point(s) (x or row coordinate). Default: 64 + Input point(s) (y or column coordinate). Default: 64 + Output point(s) (y or column coordinate). + Output point(s) (x or row coordinate). + + + + Compute the determinant of a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Determinant of the input matrix. + + + + Transpose a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Output transformation matrix. + + + + Invert a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Output transformation matrix. + + + + Multiply two homogeneous 2D transformation matrices. + Instance represents: Left input transformation matrix. + + Right input transformation matrix. + Output transformation matrix. + + + + Add a reflection to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Point that defines the axis (x coordinate). Default: 16 + Point that defines the axis (y coordinate). Default: 32 + Output transformation matrix. + + + + Add a reflection to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Point that defines the axis (x coordinate). Default: 16 + Point that defines the axis (y coordinate). Default: 32 + Output transformation matrix. + + + + Add a reflection to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + First point of the axis (x coordinate). Default: 0 + First point of the axis (y coordinate). Default: 0 + Second point of the axis (x coordinate). Default: 16 + Second point of the axis (y coordinate). Default: 32 + Output transformation matrix. + + + + Add a reflection to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + First point of the axis (x coordinate). Default: 0 + First point of the axis (y coordinate). Default: 0 + Second point of the axis (x coordinate). Default: 16 + Second point of the axis (y coordinate). Default: 32 + Output transformation matrix. + + + + Add a slant to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Slant angle. Default: 0.78 + Coordinate axis that is slanted. Default: "x" + Output transformation matrix. + + + + Add a slant to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Slant angle. Default: 0.78 + Coordinate axis that is slanted. Default: "x" + Output transformation matrix. + + + + Add a slant to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Slant angle. Default: 0.78 + Coordinate axis that is slanted. Default: "x" + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + + Add a slant to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Slant angle. Default: 0.78 + Coordinate axis that is slanted. Default: "x" + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + + Add a rotation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Output transformation matrix. + + + + Add a rotation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Output transformation matrix. + + + + Add a rotation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + + Add a rotation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + + Add a scaling to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Output transformation matrix. + + + + Add a scaling to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Output transformation matrix. + + + + Add a scaling to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + + Add a scaling to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + + Add a translation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Output transformation matrix. + + + + Add a translation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Output transformation matrix. + + + + Add a translation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Output transformation matrix. + + + + Add a translation to a homogeneous 2D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Output transformation matrix. + + + + Generate the homogeneous transformation matrix of the identical 2D transformation. + Modified instance represents: Transformation matrix. + + + + + Compute the projective 3d reconstruction of points based on the fundamental matrix. + Instance represents: Fundamental matrix. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + 9x9 covariance matrix of the fundamental matrix. Default: [] + X coordinates of the reconstructed points in projective 3D space. + Y coordinates of the reconstructed points in projective 3D space. + Z coordinates of the reconstructed points in projective 3D space. + W coordinates of the reconstructed points in projective 3D space. + Covariance matrices of the reconstructed points. + + + + Compute the projective 3d reconstruction of points based on the fundamental matrix. + Instance represents: Fundamental matrix. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + 9x9 covariance matrix of the fundamental matrix. Default: [] + X coordinates of the reconstructed points in projective 3D space. + Y coordinates of the reconstructed points in projective 3D space. + Z coordinates of the reconstructed points in projective 3D space. + W coordinates of the reconstructed points in projective 3D space. + Covariance matrices of the reconstructed points. + + + + Compute the projective rectification of weakly calibrated binocular stereo images. + Instance represents: Fundamental matrix. + + Image coding the rectification of the 2. image. + 9x9 covariance matrix of the fundamental matrix. Default: [] + Width of the 1. image. Default: 512 + Height of the 1. image. Default: 512 + Width of the 2. image. Default: 512 + Height of the 2. image. Default: 512 + Subsampling factor. Default: 1 + Type of mapping. Default: "no_map" + 9x9 covariance matrix of the rectified fundamental matrix. + Projective transformation of the 1. image. + Projective transformation of the 2. image. + Image coding the rectification of the 1. image. + + + + Compute the projective rectification of weakly calibrated binocular stereo images. + Instance represents: Fundamental matrix. + + Image coding the rectification of the 2. image. + 9x9 covariance matrix of the fundamental matrix. Default: [] + Width of the 1. image. Default: 512 + Height of the 1. image. Default: 512 + Width of the 2. image. Default: 512 + Height of the 2. image. Default: 512 + Subsampling factor. Default: 1 + Type of mapping. Default: "no_map" + 9x9 covariance matrix of the rectified fundamental matrix. + Projective transformation of the 1. image. + Projective transformation of the 2. image. + Image coding the rectification of the 1. image. + + + + Compute the fundamental matrix and the radial distortion coefficient given a set of image point correspondences and reconstruct 3D points. + Modified instance represents: Computed fundamental matrix. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Width of the images from which the points were extracted. + Height of the images from which the points were extracted. + Estimation algorithm. Default: "gold_standard" + Root-Mean-Square epipolar distance error. + X coordinates of the reconstructed points in projective 3D space. + Y coordinates of the reconstructed points in projective 3D space. + Z coordinates of the reconstructed points in projective 3D space. + W coordinates of the reconstructed points in projective 3D space. + Computed radial distortion coefficient. + + + + Compute the fundamental matrix from the relative orientation of two cameras. + Modified instance represents: Computed fundamental matrix. + + Relative orientation of the cameras (3D pose). + 6x6 covariance matrix of relative pose. Default: [] + Parameters of the 1. camera. + Parameters of the 2. camera. + 9x9 covariance matrix of the fundamental matrix. + + + + Compute the fundamental matrix from an essential matrix. + Instance represents: Essential matrix. + + 9x9 covariance matrix of the essential matrix. Default: [] + Camera matrix of the 1. camera. + Camera matrix of the 2. camera. + 9x9 covariance matrix of the fundamental matrix. + Computed fundamental matrix. + + + + Compute the essential matrix given image point correspondences and known camera matrices and reconstruct 3D points. + Instance represents: Camera matrix of the 1st camera. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera matrix of the 2nd camera. + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + Computed essential matrix. + + + + Compute the essential matrix given image point correspondences and known camera matrices and reconstruct 3D points. + Instance represents: Camera matrix of the 1st camera. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera matrix of the 2nd camera. + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + Computed essential matrix. + + + + Compute the fundamental matrix given a set of image point correspondences and reconstruct 3D points. + Modified instance represents: Computed fundamental matrix. + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Estimation algorithm. Default: "normalized_dlt" + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed points in projective 3D space. + Y coordinates of the reconstructed points in projective 3D space. + Z coordinates of the reconstructed points in projective 3D space. + W coordinates of the reconstructed points in projective 3D space. + Covariance matrices of the reconstructed 3D points. + 9x9 covariance matrix of the fundamental matrix. + + + + Compute the fundamental matrix and the radial distortion coefficient for a pair of stereo images by automatically finding correspondences between image points. + Modified instance represents: Computed fundamental matrix. + + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "gold_standard" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed radial distortion coefficient. + + + + Compute the fundamental matrix and the radial distortion coefficient for a pair of stereo images by automatically finding correspondences between image points. + Modified instance represents: Computed fundamental matrix. + + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "gold_standard" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed radial distortion coefficient. + + + + Compute the essential matrix for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Camera matrix of the 1st camera. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Camera matrix of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed essential matrix. + + + + Compute the essential matrix for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Camera matrix of the 1st camera. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Camera matrix of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed essential matrix. + + + + Compute the fundamental matrix for a pair of stereo images by automatically finding correspondences between image points. + Modified instance represents: Computed fundamental matrix. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + 9x9 covariance matrix of the fundamental matrix. + + + + Compute the fundamental matrix for a pair of stereo images by automatically finding correspondences between image points. + Modified instance represents: Computed fundamental matrix. + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + 9x9 covariance matrix of the fundamental matrix. + + + + Apply a projective transformation to a region. + Instance represents: Homogeneous projective transformation matrix. + + Input regions. + Interpolation method for the transformation. Default: "bilinear" + Output regions. + + + + Apply an arbitrary affine 2D transformation to regions. + Instance represents: Input transformation matrix. + + Region(s) to be rotated and scaled. + Should the transformation be done using interpolation? Default: "nearest_neighbor" + Transformed output region(s). + + + + Apply a projective transformation to an image and specify the output image size. + Instance represents: Homogeneous projective transformation matrix. + + Input image. + Interpolation method for the transformation. Default: "bilinear" + Output image width. + Output image height. + Should the domain of the input image also be transformed? Default: "false" + Output image. + + + + Apply a projective transformation to an image. + Instance represents: Homogeneous projective transformation matrix. + + Input image. + Interpolation method for the transformation. Default: "bilinear" + Adapt the size of the output image automatically? Default: "false" + Should the domain of the input image also be transformed? Default: "false" + Output image. + + + + Apply an arbitrary affine 2D transformation to an image and specify the output image size. + Instance represents: Input transformation matrix. + + Input image. + Type of interpolation. Default: "constant" + Width of the output image. Default: 640 + Height of the output image. Default: 480 + Transformed image. + + + + Apply an arbitrary affine 2D transformation to images. + Instance represents: Input transformation matrix. + + Input image. + Type of interpolation. Default: "constant" + Adaption of size of result image. Default: "false" + Transformed image. + + + + Approximate an affine map from a displacement vector field. + Modified instance represents: Output transformation matrix. + + Input image. + + + + Compute a camera matrix from internal camera parameters. + Modified instance represents: 3x3 projective camera matrix that corresponds to CameraParam. + + Internal camera parameters. + Width of the images that correspond to CameraMatrix. + Height of the images that correspond to CameraMatrix. + + + + Compute the internal camera parameters from a camera matrix. + Instance represents: 3x3 projective camera matrix that determines the internal camera parameters. + + Kappa. + Width of the images that correspond to CameraMatrix. + Height of the images that correspond to CameraMatrix. + Internal camera parameters. + + + Perform a self-calibration of a stationary projective camera. + Number of different images that are used for the calibration. + Width of the images from which the points were extracted. + Height of the images from which the points were extracted. + Index of the reference image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Row coordinates of corresponding points in the respective source images. + Column coordinates of corresponding points in the respective source images. + Row coordinates of corresponding points in the respective destination images. + Column coordinates of corresponding points in the respective destination images. + Number of point correspondences in the respective image pair. + Estimation algorithm for the calibration. Default: "gold_standard" + Camera model to be used. Default: ["focus","principal_point"] + Are the camera parameters identical for all images? Default: "true" + Radial distortion of the camera. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + X-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Y-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Z-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Average error per reconstructed point if EstimationMethod $=$ 'gold_standard' is used. + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + + + Perform a self-calibration of a stationary projective camera. + Number of different images that are used for the calibration. + Width of the images from which the points were extracted. + Height of the images from which the points were extracted. + Index of the reference image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Row coordinates of corresponding points in the respective source images. + Column coordinates of corresponding points in the respective source images. + Row coordinates of corresponding points in the respective destination images. + Column coordinates of corresponding points in the respective destination images. + Number of point correspondences in the respective image pair. + Estimation algorithm for the calibration. Default: "gold_standard" + Camera model to be used. Default: ["focus","principal_point"] + Are the camera parameters identical for all images? Default: "true" + Radial distortion of the camera. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + X-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Y-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Z-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Average error per reconstructed point if EstimationMethod $=$ 'gold_standard' is used. + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + + + Represents a homogeneous 3D transformation matrix. + + + + Generate the homogeneous transformation matrix of the identical 3D transformation. + Modified instance represents: Transformation matrix. + + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Deserialize a serialized homogeneous 3D transformation matrix. + Modified instance represents: Transformation matrix. + + Handle of the serialized item. + + + + Serialize a homogeneous 3D transformation matrix. + Instance represents: Transformation matrix. + + Handle of the serialized item. + + + + Project a homogeneous 3D point using a projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Input point (w coordinate). + Output point (y coordinate). + Output point (z coordinate). + Output point (w coordinate). + Output point (x coordinate). + + + + Project a homogeneous 3D point using a projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Input point (w coordinate). + Output point (y coordinate). + Output point (z coordinate). + Output point (w coordinate). + Output point (x coordinate). + + + + Project a 3D point using a projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Output point (y coordinate). + Output point (z coordinate). + Output point (x coordinate). + + + + Project a 3D point using a projective transformation matrix. + Instance represents: Homogeneous projective transformation matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Output point (y coordinate). + Output point (z coordinate). + Output point (x coordinate). + + + + Apply an arbitrary affine 3D transformation to points. + Instance represents: Input transformation matrix. + + Input point(s) (x coordinate). Default: 64 + Input point(s) (y coordinate). Default: 64 + Input point(s) (z coordinate). Default: 64 + Output point(s) (y coordinate). + Output point(s) (z coordinate). + Output point(s) (x coordinate). + + + + Apply an arbitrary affine 3D transformation to points. + Instance represents: Input transformation matrix. + + Input point(s) (x coordinate). Default: 64 + Input point(s) (y coordinate). Default: 64 + Input point(s) (z coordinate). Default: 64 + Output point(s) (y coordinate). + Output point(s) (z coordinate). + Output point(s) (x coordinate). + + + + Approximate a 3D transformation from point correspondences. + Modified instance represents: Output transformation matrix. + + Type of the transformation to compute. Default: "rigid" + X coordinates of the original points. + Y coordinates of the original points. + Z coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + Z coordinates of the transformed points. + + + + Compute the determinant of a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Determinant of the input matrix. + + + + Transpose a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Output transformation matrix. + + + + Invert a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Output transformation matrix. + + + + Multiply two homogeneous 3D transformation matrices. + Instance represents: Left input transformation matrix. + + Right input transformation matrix. + Output transformation matrix. + + + + Add a rotation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Axis, to be rotated around. Default: "x" + Output transformation matrix. + + + + Add a rotation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Axis, to be rotated around. Default: "x" + Output transformation matrix. + + + + Add a rotation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Axis, to be rotated around. Default: "x" + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Fixed point of the transformation (z coordinate). Default: 0 + Output transformation matrix. + + + + Add a rotation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Rotation angle. Default: 0.78 + Axis, to be rotated around. Default: "x" + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Fixed point of the transformation (z coordinate). Default: 0 + Output transformation matrix. + + + + Add a scaling to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Scale factor along the z-axis. Default: 2 + Output transformation matrix. + + + + Add a scaling to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Scale factor along the z-axis. Default: 2 + Output transformation matrix. + + + + Add a scaling to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Scale factor along the z-axis. Default: 2 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Fixed point of the transformation (z coordinate). Default: 0 + Output transformation matrix. + + + + Add a scaling to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Scale factor along the z-axis. Default: 2 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Fixed point of the transformation (z coordinate). Default: 0 + Output transformation matrix. + + + + Add a translation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Translation along the z-axis. Default: 64 + Output transformation matrix. + + + + Add a translation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Translation along the z-axis. Default: 64 + Output transformation matrix. + + + + Add a translation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Translation along the z-axis. Default: 64 + Output transformation matrix. + + + + Add a translation to a homogeneous 3D transformation matrix. + Instance represents: Input transformation matrix. + + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Translation along the z-axis. Default: 64 + Output transformation matrix. + + + + Generate the homogeneous transformation matrix of the identical 3D transformation. + Modified instance represents: Transformation matrix. + + + + + Project an affine 3D transformation matrix to a 2D projective transformation matrix. + Instance represents: 3x4 3D transformation matrix. + + Row coordinate of the principal point. Default: 256 + Column coordinate of the principal point. Default: 256 + Focal length in pixels. Default: 256 + Homogeneous projective transformation matrix. + + + + Project an affine 3D transformation matrix to a 2D projective transformation matrix. + Instance represents: 3x4 3D transformation matrix. + + Row coordinate of the principal point. Default: 256 + Column coordinate of the principal point. Default: 256 + Focal length in pixels. Default: 256 + Homogeneous projective transformation matrix. + + + + Project a homogeneous 3D point using a 3x4 projection matrix. + Instance represents: 3x4 projection matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Input point (w coordinate). + Output point (y coordinate). + Output point (w coordinate). + Output point (x coordinate). + + + + Project a homogeneous 3D point using a 3x4 projection matrix. + Instance represents: 3x4 projection matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Input point (w coordinate). + Output point (y coordinate). + Output point (w coordinate). + Output point (x coordinate). + + + + Project a 3D point using a 3x4 projection matrix. + Instance represents: 3x4 projection matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Output point (y coordinate). + Output point (x coordinate). + + + + Project a 3D point using a 3x4 projection matrix. + Instance represents: 3x4 projection matrix. + + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Output point (y coordinate). + Output point (x coordinate). + + + + Convert a homogeneous transformation matrix into a 3D pose. + Instance represents: Homogeneous transformation matrix. + + Equivalent 3D pose. + + + Represents an instance of an image object(-array). + + + Represents an instance of an iconic object(-array). Base class for images, regions and XLDs + + + Represents an uninitialized HALCON object key + + + + Returns true if the iconic object has been initialized. + + + An object will be uninitialized when creating it with a + no-argument constructor or after calling Dispose(); + + + + + Returns a new HALCON ID referencing this iconic object, which will + remain valid even after this object is disposed (and vice versa). + This is only useful if the ID shall be used in another language + interface (in fact, the key needs to be externally disposed, + a feature not even offered by the .NET language interface). + + + + Releases the resources used by this tool object + + + Returns the HALCON ID for this iconic object + Caller must ensure that object is kept alive + + + Create an uninitialized iconic object + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Convert an "integer number" into an iconic object. + Modified instance represents: Created objects. + + Tuple of object surrogates. + + + + Convert an "integer number" into an iconic object. + Modified instance represents: Created objects. + + Tuple of object surrogates. + + + + Convert an iconic object into an "integer number." + Instance represents: Objects for which the surrogates are to be returned. + + Starting index of the surrogates to be returned. Default: 1 + Number of surrogates to be returned. Default: -1 + Tuple containing the surrogates. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Number of objects in a tuple. + Instance represents: Objects to be examined. + + Number of objects in the tuple Objects. + + + + Informations about the components of an image object. + Instance represents: Image object to be examined. + + Required information about object components. Default: "creator" + Components to be examined (0 for region/XLD). Default: 0 + Requested information. + + + + Informations about the components of an image object. + Instance represents: Image object to be examined. + + Required information about object components. Default: "creator" + Components to be examined (0 for region/XLD). Default: 0 + Requested information. + + + + Name of the class of an image object. + Instance represents: Image objects to be examined. + + Name of class. + + + + Create an empty object tuple. + Modified instance represents: No objects. + + + + + Displays image objects (image, region, XLD). + Instance represents: Image object to be displayed. + + Window handle. + + + + Read an iconic object. + Modified instance represents: Iconic object. + + Name of file. + + + + Write an iconic object. + Instance represents: Iconic object. + + Name of file. + + + + Deserialize a serialized iconic object. + Modified instance represents: Iconic object. + + Handle of the serialized item. + + + + Serialize an iconic object. + Instance represents: Iconic object. + + Handle of the serialized item. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + Create an uninitialized iconic object + + + + Create an image from a pointer to the pixels. + Modified instance represents: Created image with new image matrix. + + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to first gray value. + + + + Create an image with constant gray value. + Modified instance represents: Created image with new image matrix. + + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + + + + Read an image with different file formats. + Modified instance represents: Read image. + + Name of the image to be read. Default: "printer_chip/printer_chip_01" + + + + Read an image with different file formats. + Modified instance represents: Read image. + + Name of the image to be read. Default: "printer_chip/printer_chip_01" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Inverts an image + + + Adds two images + + + Subtracts image2 from image1 + + + Multiplies two images + + + Adds a constant gray value offset + + + Adds a constant gray value offset + + + Subtracts a constant gray value offset + + + Scales an image by the specified factor + + + Scales an image by the specified factor + + + Scales an image by the specified divisor + + + Segment image using dynamic threshold + + + Segment image using dynamic threshold + + + Segment image using constant threshold + + + Segment image using constant threshold + + + Segment image using constant threshold + + + Segment image using constant threshold + + + Reduces the domain of an image + + + Returns the domain of an image + + + + Image restoration by Wiener filtering. + Instance represents: Corrupted image. + + impulse response (PSF) of degradation (in spatial domain). + Region for noise estimation. + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + Restored image. + + + + Image restoration by Wiener filtering. + Instance represents: Corrupted image. + + impulse response (PSF) of degradation (in spatial domain). + Smoothed version of corrupted image. + Restored image. + + + + Generate an impulse response of a (linearly) motion blurring. + Modified instance represents: Impulse response of motion-blur. + + Width of impulse response image. Default: 256 + Height of impulse response image. Default: 256 + Degree of motion-blur. Default: 20.0 + Angle between direction of motion and x-axis (anticlockwise). Default: 0 + PSF prototype resp. type of motion. Default: 3 + + + + Simulation of (linearly) motion blur. + Instance represents: image to be blurred. + + extent of blurring. Default: 20.0 + Angle between direction of motion and x-axis (anticlockwise). Default: 0 + impulse response of motion blur. Default: 3 + motion blurred image. + + + + Generate an impulse response of an uniform out-of-focus blurring. + Modified instance represents: Impulse response of uniform out-of-focus blurring. + + Width of result image. Default: 256 + Height of result image. Default: 256 + Degree of Blurring. Default: 5.0 + + + + Simulate an uniform out-of-focus blurring of an image. + Instance represents: Image to blur. + + Degree of blurring. Default: 5.0 + Blurred image. + + + + Compare an image to a variation model. + Instance represents: Image of the object to be compared. + + ID of the variation model. + Method used for comparing the variation model. Default: "absolute" + Region containing the points that differ substantially from the model. + + + + Compare an image to a variation model. + Instance represents: Image of the object to be compared. + + ID of the variation model. + Region containing the points that differ substantially from the model. + + + + Train a variation model. + Instance represents: Images of the object to be trained. + + ID of the variation model. + + + + Compute a projective transformation matrix and the radial distortion coefficient between two images by finding correspondences between points based on known approximations of the projective transformation matrix and the radial distortion coefficient. + Instance represents: Input image 1. + + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Approximation of the homogeneous projective transformation matrix between the two images. + Approximation of the radial distortion coefficient in the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix and the radial distortion coefficient between two images by finding correspondences between points based on known approximations of the projective transformation matrix and the radial distortion coefficient. + Instance represents: Input image 1. + + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Approximation of the homogeneous projective transformation matrix between the two images. + Approximation of the radial distortion coefficient in the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images and the radial distortion coefficient by automatically finding correspondences between points. + Instance represents: Input image 1. + + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for the transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images and the radial distortion coefficient by automatically finding correspondences between points. + Instance represents: Input image 1. + + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for the transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images by finding correspondences between points based on a known approximation of the projective transformation matrix. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Approximation of the Homogeneous projective transformation matrix between the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images by finding correspondences between points based on a known approximation of the projective transformation matrix. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Approximation of the Homogeneous projective transformation matrix between the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images by finding correspondences between points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift. Default: 0 + Average column coordinate shift. Default: 0 + Half height of matching search window. Default: 256 + Half width of matching search window. Default: 256 + Range of rotation angles. Default: 0.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Homogeneous projective transformation matrix. + + + + Compute a projective transformation matrix between two images by finding correspondences between points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift. Default: 0 + Average column coordinate shift. Default: 0 + Half height of matching search window. Default: 256 + Half width of matching search window. Default: 256 + Range of rotation angles. Default: 0.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Homogeneous projective transformation matrix. + + + + Receive an image over a socket connection. + Modified instance represents: Received image. + + Socket number. + + + + Send an image over a socket connection. + Instance represents: Image to be sent. + + Socket number. + + + + Compute the distance values for a rectified stereo image pair using multi-scanline optimization. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multi-scanline optimization. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Distance image. + + + + Compute the disparities of a rectified stereo image pair using multi-scanline optimization. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Disparity map. + + + + Compute the disparities of a rectified stereo image pair using multi-scanline optimization. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Disparity map. + + + + Compute the distance values for a rectified stereo image pair using multigrid methods. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multigrid methods. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Distance image. + + + + Compute the disparities of a rectified stereo image pair using multigrid methods. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure should be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Disparity map. + + + + Compute the disparities of a rectified stereo image pair using multigrid methods. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure should be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Disparity map. + + + + Compute the projective rectification of weakly calibrated binocular stereo images. + Modified instance represents: Image coding the rectification of the 1. image. + + Fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. Default: [] + Width of the 1. image. Default: 512 + Height of the 1. image. Default: 512 + Width of the 2. image. Default: 512 + Height of the 2. image. Default: 512 + Subsampling factor. Default: 1 + Type of mapping. Default: "no_map" + 9x9 covariance matrix of the rectified fundamental matrix. + Projective transformation of the 1. image. + Projective transformation of the 2. image. + Image coding the rectification of the 2. image. + + + + Compute the projective rectification of weakly calibrated binocular stereo images. + Modified instance represents: Image coding the rectification of the 1. image. + + Fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. Default: [] + Width of the 1. image. Default: 512 + Height of the 1. image. Default: 512 + Width of the 2. image. Default: 512 + Height of the 2. image. Default: 512 + Subsampling factor. Default: 1 + Type of mapping. Default: "no_map" + 9x9 covariance matrix of the rectified fundamental matrix. + Projective transformation of the 1. image. + Projective transformation of the 2. image. + Image coding the rectification of the 2. image. + + + + Compute the fundamental matrix and the radial distortion coefficient for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "gold_standard" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed fundamental matrix. + + + + Compute the fundamental matrix and the radial distortion coefficient for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "gold_standard" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Computed radial distortion coefficient. + Root-Mean-Square epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed fundamental matrix. + + + + Compute the relative orientation between two cameras by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Parameters of the 1st camera. + Parameters of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 6x6 covariance matrix of the relative orientation. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed relative orientation of the cameras (3D pose). + + + + Compute the relative orientation between two cameras by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Parameters of the 1st camera. + Parameters of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 6x6 covariance matrix of the relative orientation. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed relative orientation of the cameras (3D pose). + + + + Compute the essential matrix for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Camera matrix of the 1st camera. + Camera matrix of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed essential matrix. + + + + Compute the essential matrix for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Camera matrix of the 1st camera. + Camera matrix of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed essential matrix. + + + + Compute the fundamental matrix for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 9x9 covariance matrix of the fundamental matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed fundamental matrix. + + + + Compute the fundamental matrix for a pair of stereo images by automatically finding correspondences between image points. + Instance represents: Input image 1. + + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + 9x9 covariance matrix of the fundamental matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + Computed fundamental matrix. + + + + Compute the distance values for a rectified stereo image pair using correlation techniques. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Evaluation of a distance value. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: 0 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.0 + Downstream filters. Default: "none" + Distance interpolation. Default: "none" + Distance image. + + + + Compute the distance values for a rectified stereo image pair using correlation techniques. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Evaluation of a distance value. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: 0 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.0 + Downstream filters. Default: "none" + Distance interpolation. Default: "none" + Distance image. + + + + Compute the disparities of a rectified image pair using correlation techniques. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Evaluation of the disparity values. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.5 + Downstream filters. Default: "none" + Subpixel interpolation of disparities. Default: "none" + Disparity map. + + + + Compute the disparities of a rectified image pair using correlation techniques. + Instance represents: Rectified image of camera 1. + + Rectified image of camera 2. + Evaluation of the disparity values. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.5 + Downstream filters. Default: "none" + Subpixel interpolation of disparities. Default: "none" + Disparity map. + + + + Transform a disparity image into 3D points in a rectified stereo system. + Instance represents: Disparity image. + + Y coordinates of the points in the rectified camera system 1. + Z coordinates of the points in the rectified camera system 1. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + X coordinates of the points in the rectified camera system 1. + + + + Generate transformation maps that describe the mapping of the images of a binocular camera pair to a common rectified image plane. + Modified instance represents: Image containing the mapping data of camera 1. + + Internal parameters of camera 1. + Internal parameters of camera 2. + Point transformation from camera 2 to camera 1. + Subsampling factor. Default: 1.0 + Type of rectification. Default: "viewing_direction" + Type of mapping. Default: "bilinear" + Rectified internal parameters of camera 1. + Rectified internal parameters of camera 2. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 2 to the rectified camera 1. + Image containing the mapping data of camera 2. + + + + Get the iconic results of a measurement performed with the sheet-of light technique. + Modified instance represents: Desired measurement result. + + Handle of the sheet-of-light model to be used. + Specify which result of the measurement shall be provided. Default: "disparity" + + + + Get the iconic results of a measurement performed with the sheet-of light technique. + Modified instance represents: Desired measurement result. + + Handle of the sheet-of-light model to be used. + Specify which result of the measurement shall be provided. Default: "disparity" + + + + Apply the calibration transformations to the input disparity image. + Instance represents: Height or range image to be calibrated. + + Handle of the sheet-of-light model. + + + + Set sheet of light profiles by measured disparities. + Instance represents: Disparity image that contains several profiles. + + Handle of the sheet-of-light model. + Poses describing the movement of the scene under measurement between the previously processed profile image and the current profile image. + + + + Process the profile image provided as input and store the resulting disparity to the sheet-of-light model. + Instance represents: Input image. + + Handle of the sheet-of-light model. + Pose describing the movement of the scene under measurement between the previously processed profile image and the current profile image. + + + + Shade a height field. + Instance represents: Height field to be shaded. + + Angle between the light source and the positive z-axis (in degrees). Default: 0.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 0.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Should shadows be calculated? Default: "false" + Shaded image. + + + + Shade a height field. + Instance represents: Height field to be shaded. + + Angle between the light source and the positive z-axis (in degrees). Default: 0.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 0.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Should shadows be calculated? Default: "false" + Shaded image. + + + + Estimate the albedo of a surface and the amount of ambient light. + Instance represents: Image for which albedo and ambient are to be estimated. + + Amount of ambient light. + Amount of light reflected by the surface. + + + + Estimate the albedo of a surface and the amount of ambient light. + Instance represents: Image for which albedo and ambient are to be estimated. + + Amount of ambient light. + Amount of light reflected by the surface. + + + + Estimate the slant of a light source and the albedo of a surface. + Instance represents: Image for which slant and albedo are to be estimated. + + Amount of light reflected by the surface. + Angle of the light sources and the positive z-axis (in degrees). + + + + Estimate the slant of a light source and the albedo of a surface. + Instance represents: Image for which slant and albedo are to be estimated. + + Amount of light reflected by the surface. + Angle of the light sources and the positive z-axis (in degrees). + + + + Estimate the slant of a light source and the albedo of a surface. + Instance represents: Image for which slant and albedo are to be estimated. + + Amount of light reflected by the surface. + Angle between the light sources and the positive z-axis (in degrees). + + + + Estimate the slant of a light source and the albedo of a surface. + Instance represents: Image for which slant and albedo are to be estimated. + + Amount of light reflected by the surface. + Angle between the light sources and the positive z-axis (in degrees). + + + + Estimate the tilt of a light source. + Instance represents: Image for which the tilt is to be estimated. + + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). + + + + Estimate the tilt of a light source. + Instance represents: Image for which the tilt is to be estimated. + + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). + + + + Reconstruct a surface from surface gradients. + Instance represents: The gradient field of the image. + + Type of the reconstruction method. Default: "poisson" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Reconstructed height field. + + + + Reconstruct a surface according to the photometric stereo technique. + Instance represents: Array with at least three input images with different directions of illumination. + + The gradient field of the surface. + The albedo of the surface. + Angle between the camera and the direction of illumination (in degrees). Default: 45.0 + Angle of the direction of illumination within the object plane (in degrees). Default: 45.0 + Types of the requested results. Default: "all" + Type of the reconstruction method. Default: "poisson" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Reconstructed height field. + + + + Reconstruct a surface from a gray value image. + Instance represents: Shaded input image. + + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Reconstructed height field. + + + + Reconstruct a surface from a gray value image. + Instance represents: Shaded input image. + + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Reconstructed height field. + + + + Reconstruct a surface from a gray value image. + Instance represents: Shaded input image. + + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Reconstructed height field. + + + + Reconstruct a surface from a gray value image. + Instance represents: Shaded input image. + + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Reconstructed height field. + + + + Reconstruct a surface from a gray value image. + Instance represents: Shaded input image. + + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Reconstructed height field. + + + + Reconstruct a surface from a gray value image. + Instance represents: Shaded input image. + + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Reconstructed height field. + + + + Find text in an image. + Instance represents: Input image. + + Text model specifying the text to be segmented. + Result of the segmentation. + + + + Classify a byte image using a look-up table. + Instance represents: Input image. + + Handle of the LUT classifier. + Segmented classes. + + + + Classify an image with a k-Nearest-Neighbor classifier. + Instance represents: Input image. + + Distance of the pixel's nearest neighbor. + Handle of the k-NN classifier. + Threshold for the rejection of the classification. Default: 0.5 + Segmented classes. + + + + Add training samples from an image to the training data of a k-Nearest-Neighbor classifier. + Instance represents: Training image. + + Regions of the classes to be trained. + Handle of the k-NN classifier. + + + + Classify an image with a Gaussian Mixture Model. + Instance represents: Input image. + + GMM handle. + Threshold for the rejection of the classification. Default: 0.5 + Segmented classes. + + + + Add training samples from an image to the training data of a Gaussian Mixture Model. + Instance represents: Training image. + + Regions of the classes to be trained. + GMM handle. + Standard deviation of the Gaussian noise added to the training data. Default: 0.0 + + + + Classify an image with a support vector machine. + Instance represents: Input image. + + SVM handle. + Segmented classes. + + + + Add training samples from an image to the training data of a support vector machine. + Instance represents: Training image. + + Regions of the classes to be trained. + SVM handle. + + + + Classify an image with a multilayer perceptron. + Instance represents: Input image. + + MLP handle. + Threshold for the rejection of the classification. Default: 0.5 + Segmented classes. + + + + Add training samples from an image to the training data of a multilayer perceptron. + Instance represents: Training image. + + Regions of the classes to be trained. + MLP handle. + + + + Construct classes for class_ndim_norm. + Instance represents: Multi-channel training image. + + Foreground pixels to be trained. + Background pixels to be trained (rejection class). + Metric to be used. Default: "euclid" + Maximum cluster radius. Default: 10.0 + The ratio of the number of pixels in a cluster to the total number of pixels (in percent) must be larger than MinNumberPercent (otherwise the cluster is not output). Default: 0.01 + Coordinates of all cluster centers. + Overlap of the rejection class with the classified objects (1: no overlap). + Cluster radii or half edge lengths. + + + + Construct classes for class_ndim_norm. + Instance represents: Multi-channel training image. + + Foreground pixels to be trained. + Background pixels to be trained (rejection class). + Metric to be used. Default: "euclid" + Maximum cluster radius. Default: 10.0 + The ratio of the number of pixels in a cluster to the total number of pixels (in percent) must be larger than MinNumberPercent (otherwise the cluster is not output). Default: 0.01 + Coordinates of all cluster centers. + Overlap of the rejection class with the classified objects (1: no overlap). + Cluster radii or half edge lengths. + + + + Train a classificator using a multi-channel image. + Instance represents: Multi-channel training image. + + Foreground pixels to be trained. + Background pixels to be trained (rejection class). + Handle of the classifier. + + + + Classify pixels using hyper-cuboids. + Instance represents: Multi channel input image. + + Handle of the classifier. + Classification result. + + + + Classify pixels using hyper-spheres or hyper-cubes. + Instance represents: Multi channel input image. + + Metric to be used. Default: "euclid" + Return one region or one region for each cluster. Default: "single" + Cluster radii or half edge lengths (returned by learn_ndim_norm). + Coordinates of the cluster centers (returned by learn_ndim_norm). + Classification result. + + + + Classify pixels using hyper-spheres or hyper-cubes. + Instance represents: Multi channel input image. + + Metric to be used. Default: "euclid" + Return one region or one region for each cluster. Default: "single" + Cluster radii or half edge lengths (returned by learn_ndim_norm). + Coordinates of the cluster centers (returned by learn_ndim_norm). + Classification result. + + + + Segment an image using two-dimensional pixel classification. + Instance represents: Input image (first channel). + + Input image (second channel). + Region defining the feature space. + Classified regions. + + + + Segment two images by clustering. + Instance represents: First input image. + + Second input image. + Threshold (maximum distance to the cluster's center). Default: 15 + Number of classes (cluster centers). Default: 5 + Classification result. + + + + Compare two images pixel by pixel. + Instance represents: Input image. + + Comparison image. + Mode: return similar or different pixels. Default: "diff_outside" + Lower bound of the tolerated gray value difference. Default: -5 + Upper bound of the tolerated gray value difference. Default: 5 + Offset gray value subtracted from the input image. Default: 0 + Row coordinate by which the comparison image is translated. Default: 0 + Column coordinate by which the comparison image is translated. Default: 0 + Points in which the two images are similar/different. + + + + Perform a threshold segmentation for extracting characters. + Instance represents: Input image. + + Region in which the histogram is computed. + Sigma for the Gaussian smoothing of the histogram. Default: 2.0 + Percentage for the gray value difference. Default: 95 + Calculated threshold. + Dark regions (characters). + + + + Perform a threshold segmentation for extracting characters. + Instance represents: Input image. + + Region in which the histogram is computed. + Sigma for the Gaussian smoothing of the histogram. Default: 2.0 + Percentage for the gray value difference. Default: 95 + Calculated threshold. + Dark regions (characters). + + + + Extract regions with equal gray values from an image. + Instance represents: Label image. + + Regions having a constant gray value. + + + + Suppress non-maximum points on an edge. + Instance represents: Amplitude (gradient magnitude) image. + + Select horizontal/vertical or undirected NMS. Default: "hvnms" + Image with thinned edge regions. + + + + Suppress non-maximum points on an edge using a direction image. + Instance represents: Amplitude (gradient magnitude) image. + + Direction image. + Select non-maximum-suppression or interpolating NMS. Default: "nms" + Image with thinned edge regions. + + + + Perform a hysteresis threshold operation on an image. + Instance represents: Input image. + + Lower threshold for the gray values. Default: 30 + Upper threshold for the gray values. Default: 60 + Maximum length of a path of "potential" points to reach a "secure" point. Default: 10 + Segmented region. + + + + Perform a hysteresis threshold operation on an image. + Instance represents: Input image. + + Lower threshold for the gray values. Default: 30 + Upper threshold for the gray values. Default: 60 + Maximum length of a path of "potential" points to reach a "secure" point. Default: 10 + Segmented region. + + + + Segment an image using binary thresholding. + Instance represents: Input Image. + + Segmentation method. Default: "max_separability" + Extract foreground or background? Default: "dark" + Used threshold. + Segmented output region. + + + + Segment an image using binary thresholding. + Instance represents: Input Image. + + Segmentation method. Default: "max_separability" + Extract foreground or background? Default: "dark" + Used threshold. + Segmented output region. + + + + Segment an image using local thresholding. + Instance represents: Input Image. + + Segmentation method. Default: "adapted_std_deviation" + Extract foreground or background? Default: "dark" + List of generic parameter names. Default: [] + List of generic parameter values. Default: [] + Segmented output region. + + + + Segment an image using local thresholding. + Instance represents: Input Image. + + Segmentation method. Default: "adapted_std_deviation" + Extract foreground or background? Default: "dark" + List of generic parameter names. Default: [] + List of generic parameter values. Default: [] + Segmented output region. + + + + Threshold an image by local mean and standard deviation analysis. + Instance represents: Input image. + + Mask width for mean and deviation calculation. Default: 15 + Mask height for mean and deviation calculation. Default: 15 + Factor for the standard deviation of the gray values. Default: 0.2 + Minimum gray value difference from the mean. Default: 2 + Threshold type. Default: "dark" + Segmented regions. + + + + Threshold an image by local mean and standard deviation analysis. + Instance represents: Input image. + + Mask width for mean and deviation calculation. Default: 15 + Mask height for mean and deviation calculation. Default: 15 + Factor for the standard deviation of the gray values. Default: 0.2 + Minimum gray value difference from the mean. Default: 2 + Threshold type. Default: "dark" + Segmented regions. + + + + Segment an image using a local threshold. + Instance represents: Input image. + + Image containing the local thresholds. + Offset applied to ThresholdImage. Default: 5.0 + Extract light, dark or similar areas? Default: "light" + Segmented regions. + + + + Segment an image using a local threshold. + Instance represents: Input image. + + Image containing the local thresholds. + Offset applied to ThresholdImage. Default: 5.0 + Extract light, dark or similar areas? Default: "light" + Segmented regions. + + + + Segment an image using global threshold. + Instance represents: Input image. + + Lower threshold for the gray values. Default: 128.0 + Upper threshold for the gray values. Default: 255.0 + Segmented region. + + + + Segment an image using global threshold. + Instance represents: Input image. + + Lower threshold for the gray values. Default: 128.0 + Upper threshold for the gray values. Default: 255.0 + Segmented region. + + + + Extract level crossings from an image with subpixel accuracy. + Instance represents: Input image. + + Threshold for the level crossings. Default: 128 + Extracted level crossings. + + + + Extract level crossings from an image with subpixel accuracy. + Instance represents: Input image. + + Threshold for the level crossings. Default: 128 + Extracted level crossings. + + + + Segment an image using regiongrowing for multi-channel images. + Instance represents: Input image. + + Metric for the distance of the feature vectors. Default: "2-norm" + Lower threshold for the features' distance. Default: 0.0 + Upper threshold for the features' distance. Default: 20.0 + Minimum size of the output regions. Default: 30 + Segmented regions. + + + + Segment an image using regiongrowing for multi-channel images. + Instance represents: Input image. + + Metric for the distance of the feature vectors. Default: "2-norm" + Lower threshold for the features' distance. Default: 0.0 + Upper threshold for the features' distance. Default: 20.0 + Minimum size of the output regions. Default: 30 + Segmented regions. + + + + Segment an image using regiongrowing. + Instance represents: Input image. + + Vertical distance between tested pixels (height of the raster). Default: 3 + Horizontal distance between tested pixels (height of the raster). Default: 3 + Points with a gray value difference less then or equal to tolerance are accumulated into the same object. Default: 6.0 + Minimum size of the output regions. Default: 100 + Segmented regions. + + + + Segment an image using regiongrowing. + Instance represents: Input image. + + Vertical distance between tested pixels (height of the raster). Default: 3 + Horizontal distance between tested pixels (height of the raster). Default: 3 + Points with a gray value difference less then or equal to tolerance are accumulated into the same object. Default: 6.0 + Minimum size of the output regions. Default: 100 + Segmented regions. + + + + Perform a regiongrowing using mean gray values. + Instance represents: Input image. + + Row coordinates of the starting points. Default: [] + Column coordinates of the starting points. Default: [] + Maximum deviation from the mean. Default: 5.0 + Minimum size of a region. Default: 100 + Segmented regions. + + + + Perform a regiongrowing using mean gray values. + Instance represents: Input image. + + Row coordinates of the starting points. Default: [] + Column coordinates of the starting points. Default: [] + Maximum deviation from the mean. Default: 5.0 + Minimum size of a region. Default: 100 + Segmented regions. + + + + Segment an image by "pouring water" over it. + Instance represents: Input image. + + Mode of operation. Default: "all" + All gray values smaller than this threshold are disregarded. Default: 0 + All gray values larger than this threshold are disregarded. Default: 255 + Segmented regions. + + + + Extract watershed basins from an image using a threshold. + Instance represents: Image to be segmented. + + Threshold for the watersheds. Default: 10 + Segments found (dark basins). + + + + Extract watershed basins from an image using a threshold. + Instance represents: Image to be segmented. + + Threshold for the watersheds. Default: 10 + Segments found (dark basins). + + + + Extract watersheds and basins from an image. + Instance represents: Input image. + + Watersheds between the basins. + Segmented basins. + + + + Extract zero crossings from an image. + Instance represents: Input image. + + Zero crossings. + + + + Extract zero crossings from an image with subpixel accuracy. + Instance represents: Input image. + + Extracted zero crossings. + + + + Threshold operator for signed images. + Instance represents: Input image. + + Regions smaller than MinSize are suppressed. Default: 20 + Regions whose maximum absolute gray value is smaller than MinGray are suppressed. Default: 5.0 + Regions that have a gray value smaller than Threshold (or larger than -Threshold) are suppressed. Default: 2.0 + Positive and negative regions. + + + + Expand a region starting at a given line. + Instance represents: Input image. + + Row or column coordinate. Default: 256 + Stopping criterion. Default: "gradient" + Segmentation mode (row or column). Default: "row" + Threshold for the expansion. Default: 3.0 + Extracted segments. + + + + Expand a region starting at a given line. + Instance represents: Input image. + + Row or column coordinate. Default: 256 + Stopping criterion. Default: "gradient" + Segmentation mode (row or column). Default: "row" + Threshold for the expansion. Default: 3.0 + Extracted segments. + + + + Detect all local minima in an image. + Instance represents: Image to be processed. + + Extracted local minima as regions. + + + + Detect all gray value lowlands. + Instance represents: Image to be processed. + + Extracted lowlands as regions (one region for each lowland). + + + + Detect the centers of all gray value lowlands. + Instance represents: Image to be processed. + + Centers of gravity of the extracted lowlands as regions (one region for each lowland). + + + + Detect all local maxima in an image. + Instance represents: Input image. + + Extracted local maxima as a region. + + + + Detect all gray value plateaus. + Instance represents: Input image. + + Extracted plateaus as regions (one region for each plateau). + + + + Detect the centers of all gray value plateaus. + Instance represents: Input image. + + Centers of gravity of the extracted plateaus as regions (one region for each plateau). + + + + Segment an image using thresholds determined from its histogram. + Instance represents: Input image. + + Sigma for the Gaussian smoothing of the histogram. Default: 2.0 + Regions with gray values within the automatically determined intervals. + + + + Segment an image using thresholds determined from its histogram. + Instance represents: Input image. + + Sigma for the Gaussian smoothing of the histogram. Default: 2.0 + Regions with gray values within the automatically determined intervals. + + + + Segment an image using an automatically determined threshold. + Instance represents: Input image. + + Dark regions of the image. + + + + Fast thresholding of images using global thresholds. + Instance represents: Input image. + + Lower threshold for the gray values. Default: 128 + Upper threshold for the gray values. Default: 255.0 + Minimum size of objects to be extracted. Default: 20 + Segmented regions. + + + + Fast thresholding of images using global thresholds. + Instance represents: Input image. + + Lower threshold for the gray values. Default: 128 + Upper threshold for the gray values. Default: 255.0 + Minimum size of objects to be extracted. Default: 20 + Segmented regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Image (possibly multi-channel) for gray value or color comparison. + + Regions for which the gaps are to be closed, or which are to be separated. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Maximum difference between the gray value or color at the region's border and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Image (possibly multi-channel) for gray value or color comparison. + + Regions for which the gaps are to be closed, or which are to be separated. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Maximum difference between the gray value or color at the region's border and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Image (possibly multi-channel) for gray value or color comparison. + + Regions for which the gaps are to be closed, or which are to be separated. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Reference gray value or color for comparison. Default: 128 + Maximum difference between the reference gray value or color and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Image (possibly multi-channel) for gray value or color comparison. + + Regions for which the gaps are to be closed, or which are to be separated. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Reference gray value or color for comparison. Default: 128 + Maximum difference between the reference gray value or color and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Set single gray values in an image. + Instance represents: Image to be modified. + + Row coordinates of the pixels to be modified. Default: 0 + Column coordinates of the pixels to be modified. Default: 0 + Gray values to be used. Default: 255.0 + + + + Set single gray values in an image. + Instance represents: Image to be modified. + + Row coordinates of the pixels to be modified. Default: 0 + Column coordinates of the pixels to be modified. Default: 0 + Gray values to be used. Default: 255.0 + + + + Paint XLD objects into an image. + Instance represents: Image in which the xld objects are to be painted. + + XLD objects to be painted into the input image. + Desired gray value of the xld object. Default: 255.0 + Image containing the result. + + + + Paint XLD objects into an image. + Instance represents: Image in which the xld objects are to be painted. + + XLD objects to be painted into the input image. + Desired gray value of the xld object. Default: 255.0 + Image containing the result. + + + + Paint regions into an image. + Instance represents: Image in which the regions are to be painted. + + Regions to be painted into the input image. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + Image containing the result. + + + + Paint regions into an image. + Instance represents: Image in which the regions are to be painted. + + Regions to be painted into the input image. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + Image containing the result. + + + + Overpaint regions in an image. + Instance represents: Image in which the regions are to be painted. + + Regions to be painted into the input image. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + + + + Overpaint regions in an image. + Instance represents: Image in which the regions are to be painted. + + Regions to be painted into the input image. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + + + + Create an image with a specified constant gray value. + Instance represents: Input image. + + Gray value to be used for the output image. Default: 0 + Image with constant gray value. + + + + Create an image with a specified constant gray value. + Instance represents: Input image. + + Gray value to be used for the output image. Default: 0 + Image with constant gray value. + + + + Paint the gray values of an image into another image. + Instance represents: Input image containing the desired gray values. + + Input image to be painted over. + Result image. + + + + Overpaint the gray values of an image. + Instance represents: Input image to be painted over. + + Input image containing the desired gray values. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Copy an image and allocate new memory for it. + Instance represents: Image to be copied. + + Copied image. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Create a three-channel image from a pointer to the interleaved pixels. + Modified instance represents: Created image with new image matrix. + + Pointer to interleaved pixels. + Format of the input pixels. Default: "rgb" + Width of input image. Default: 512 + Height of input image. Default: 512 + Reserved. + Pixel type of output image. Default: "byte" + Width of output image. Default: 0 + Height of output image. Default: 0 + Line number of upper left corner of desired image part. Default: 0 + Column number of upper left corner of desired image part. Default: 0 + Number of used bits per pixel and channel of the output image (-1: All bits are used). Default: -1 + Number of bits that the color values of the input pixels are shifted to the right (only uint2 images). Default: 0 + + + + Create an image from three pointers to the pixels (red/green/blue). + Modified instance represents: Created image with new image matrix. + + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to first red value (channel 1). + Pointer to first green value (channel 2). + Pointer to first blue value (channel 3). + + + + Create an image from a pointer to the pixels. + Modified instance represents: Created image with new image matrix. + + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to first gray value. + + + + Create an image with constant gray value. + Modified instance represents: Created image with new image matrix. + + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + + + + Create a gray value ramp. + Modified instance represents: Created image with new image matrix. + + Gradient in line direction. Default: 1.0 + Gradient in column direction. Default: 1.0 + Mean gray value. Default: 128 + Line index of reference point. Default: 256 + Column index of reference point. Default: 256 + Width of image. Default: 512 + Height of image. Default: 512 + + + + Create a three-channel image from three pointers on the pixels with storage management. + Modified instance represents: Created HALCON image. + + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to the first gray value of the first channel. + Pointer to the first gray value of the second channel. + Pointer to the first gray value of the third channel. + Pointer to the procedure re-releasing the memory of the image when deleting the object. Default: 0 + + + + Create an image from a pointer on the pixels with storage management. + Modified instance represents: Created HALCON image. + + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to the first gray value. + Pointer to the procedure re-releasing the memory of the image when deleting the object. Default: 0 + + + + Create an image with a rectangular domain from a pointer on the pixels (with storage management). + Modified instance represents: Created HALCON image. + + Pointer to the first pixel. + Width of the image. Default: 512 + Height of the image. Default: 512 + Distance (in bytes) between pixel m in row n and pixel m in row n+1 of the 'input image'. + Distance between two neighboring pixels in bits . Default: 8 + Number of used bits per pixel. Default: 8 + Copy image data. Default: "false" + Pointer to the procedure releasing the memory of the image when deleting the object. Default: 0 + + + + Access to the image data pointer and the image data inside the smallest rectangle of the domain of the input image. + Instance represents: Input image (Himage). + + Width of the output image. + Height of the output image. + Width(input image)*(HorizontalBitPitch/8). + Distance between two neighboring pixels in bits . + Number of used bits per pixel. + Pointer to the image data. + + + + Access the pointers of a colored image. + Instance represents: Input image. + + Pointer to the pixels of the first channel. + Pointer to the pixels of the second channel. + Pointer to the pixels of the third channel. + Type of image. + Width of image. + Height of image. + + + + Access the pointers of a colored image. + Instance represents: Input image. + + Pointer to the pixels of the first channel. + Pointer to the pixels of the second channel. + Pointer to the pixels of the third channel. + Type of image. + Width of image. + Height of image. + + + + Access the pointer of a channel. + Instance represents: Input image. + + Type of image. + Width of image. + Height of image. + Pointer to the image data in the HALCON database. + + + + Access the pointer of a channel. + Instance represents: Input image. + + Type of image. + Width of image. + Height of image. + Pointer to the image data in the HALCON database. + + + + Return the type of an image. + Instance represents: Input image. + + Type of image. + + + + Return the size of an image. + Instance represents: Input image. + + Width of image. + Height of image. + + + + Return the size of an image. + Instance represents: Input image. + + Width of image. + Height of image. + + + + Request time at which the image was created. + Instance represents: Input image. + + Seconds (0..59). + Minutes (0..59). + Hours (0..23). + Day of the month (1..31). + Day of the year (1..366). + Month (1..12). + Year (xxxx). + Milliseconds (0..999). + + + + Return gray values of an image at the positions given by tuples of rows and columns. + Instance represents: Image whose gray values are to be accessed. + + Row coordinates of positions. Default: 0 + Column coordinates of positions. Default: 0 + Interpolation method. Default: "bilinear" + Gray values of the selected image coordinates. + + + + Return gray values of an image at the positions given by tuples of rows and columns. + Instance represents: Image whose gray values are to be accessed. + + Row coordinates of positions. Default: 0 + Column coordinates of positions. Default: 0 + Interpolation method. Default: "bilinear" + Gray values of the selected image coordinates. + + + + Access the gray values of an image object. + Instance represents: Image whose gray value is to be accessed. + + Row coordinates of pixels to be viewed. Default: 0 + Column coordinates of pixels to be viewed. Default: 0 + Gray values of indicated pixels. + + + + Access the gray values of an image object. + Instance represents: Image whose gray value is to be accessed. + + Row coordinates of pixels to be viewed. Default: 0 + Column coordinates of pixels to be viewed. Default: 0 + Gray values of indicated pixels. + + + + Verification of a pattern using an OCV tool. + Instance represents: Characters to be verified. + + Handle of the OCV tool. + Name of the character. Default: "a" + Adaption to vertical and horizontal translation. Default: "true" + Adaption to vertical and horizontal scaling of the size. Default: "true" + Adaption to changes of the orientation (not implemented). Default: "false" + Adaption to additive and scaling gray value changes. Default: "true" + Minimum difference between objects. Default: 10 + Evaluation of the character. + + + + Verification of a pattern using an OCV tool. + Instance represents: Characters to be verified. + + Handle of the OCV tool. + Name of the character. Default: "a" + Adaption to vertical and horizontal translation. Default: "true" + Adaption to vertical and horizontal scaling of the size. Default: "true" + Adaption to changes of the orientation (not implemented). Default: "false" + Adaption to additive and scaling gray value changes. Default: "true" + Minimum difference between objects. Default: 10 + Evaluation of the character. + + + + Training of an OCV tool. + Instance represents: Pattern to be trained. + + Handle of the OCV tool to be trained. + Name(s) of the object(s) to analyse. Default: "a" + Mode for training (only one mode implemented). Default: "single" + + + + Training of an OCV tool. + Instance represents: Pattern to be trained. + + Handle of the OCV tool to be trained. + Name(s) of the object(s) to analyse. Default: "a" + Mode for training (only one mode implemented). Default: "single" + + + + Compute the features of a character. + Instance represents: Input character. + + Handle of the k-NN classifier. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + + Compute the features of a character. + Instance represents: Input character. + + Handle of the OCR classifier. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + + Compute the features of a character. + Instance represents: Input character. + + Handle of the OCR classifier. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + + Cut out an image area relative to the domain. + Instance represents: Input image. + + Number of rows clipped at the top. Default: -1 + Number of columns clipped at the left. Default: -1 + Number of rows clipped at the bottom. Default: -1 + Number of columns clipped at the right. Default: -1 + Image area. + + + + Access the features which correspond to a character. + Instance represents: Characters to be trained. + + ID of the desired OCR-classifier. + Feature vector. + + + + Write characters into a training file. + Instance represents: Characters to be trained. + + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + + Write characters into a training file. + Instance represents: Characters to be trained. + + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + + Read training specific characters from files and convert to images. + Modified instance represents: Images read from file. + + Names of the training files. Default: "" + Names of the characters to be extracted. Default: "0" + Names of the read characters. + + + + Read training specific characters from files and convert to images. + Modified instance represents: Images read from file. + + Names of the training files. Default: "" + Names of the characters to be extracted. Default: "0" + Names of the read characters. + + + + Read training characters from files and convert to images. + Modified instance represents: Images read from file. + + Names of the training files. Default: "" + Names of the read characters. + + + + Read training characters from files and convert to images. + Modified instance represents: Images read from file. + + Names of the training files. Default: "" + Names of the read characters. + + + + Perform a gray value bottom hat transformation on an image. + Instance represents: Input image. + + Structuring element. + Bottom hat image. + + + + Perform a gray value top hat transformation on an image. + Instance represents: Input image. + + Structuring element. + Top hat image. + + + + Perform a gray value closing on an image. + Instance represents: Input image. + + Structuring element. + Gray-closed image. + + + + Perform a gray value opening on an image. + Instance represents: Input image. + + Structuring element. + Gray-opened image. + + + + Perform a gray value dilation on an image. + Instance represents: Input image. + + Structuring element. + Gray-dilated image. + + + + Perform a gray value erosion on an image. + Instance represents: Input image. + + Structuring element. + Gray-eroded image. + + + + Load a structuring element for gray morphology. + Modified instance represents: Generated structuring element. + + Name of the file containing the structuring element. + + + + Generate ellipsoidal structuring elements for gray morphology. + Modified instance represents: Generated structuring element. + + Pixel type. Default: "byte" + Width of the structuring element. Default: 5 + Height of the structuring element. Default: 5 + Maximum gray value of the structuring element. Default: 0 + + + + Generate ellipsoidal structuring elements for gray morphology. + Modified instance represents: Generated structuring element. + + Pixel type. Default: "byte" + Width of the structuring element. Default: 5 + Height of the structuring element. Default: 5 + Maximum gray value of the structuring element. Default: 0 + + + + Extracting points with a particular gray value along a rectangle or an annular arc. + Instance represents: Input image. + + Measure object handle. + Sigma of gaussian smoothing. Default: 1.0 + Threshold. Default: 128.0 + Selection of points. Default: "all" + Row coordinates of points with threshold value. + Column coordinates of points with threshold value. + Distance between consecutive points. + + + + Extract a gray value profile perpendicular to a rectangle or annular arc. + Instance represents: Input image. + + Measure object handle. + Gray value profile. + + + + Extract straight edge pairs perpendicular to a rectangle or an annular arc. + Instance represents: Input image. + + Measure object handle. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select the first gray value transition of the edge pairs. Default: "all" + Constraint of pairing. Default: "no_restriction" + Number of edge pairs. Default: 10 + Row coordinate of the first edge. + Column coordinate of the first edge. + Edge amplitude of the first edge (with sign). + Row coordinate of the second edge. + Column coordinate of the second edge. + Edge amplitude of the second edge (with sign). + Row coordinate of the center of the edge pair. + Column coordinate of the center of the edge pair. + Fuzzy evaluation of the edge pair. + Distance between the edges of the edge pair. + + + + Extract straight edge pairs perpendicular to a rectangle or an annular arc. + Instance represents: Input image. + + Measure object handle. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select the first gray value transition of the edge pairs. Default: "all" + Row coordinate of the first edge point. + Column coordinate of the first edge point. + Edge amplitude of the first edge (with sign). + Row coordinate of the second edge point. + Column coordinate of the second edge point. + Edge amplitude of the second edge (with sign). + Row coordinate of the center of the edge pair. + Column coordinate of the center of the edge pair. + Fuzzy evaluation of the edge pair. + Distance between edges of an edge pair. + Distance between consecutive edge pairs. + + + + Extract straight edges perpendicular to a rectangle or an annular arc. + Instance represents: Input image. + + Measure object handle. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select light/dark or dark/light edges. Default: "all" + Row coordinate of the edge point. + Column coordinate of the edge point. + Edge amplitude of the edge (with sign). + Fuzzy evaluation of the edges. + Distance between consecutive edges. + + + + Extract straight edge pairs perpendicular to a rectangle or annular arc. + Instance represents: Input image. + + Measure object handle. + Sigma of gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Type of gray value transition that determines how edges are grouped to edge pairs. Default: "all" + Selection of edge pairs. Default: "all" + Row coordinate of the center of the first edge. + Column coordinate of the center of the first edge. + Edge amplitude of the first edge (with sign). + Row coordinate of the center of the second edge. + Column coordinate of the center of the second edge. + Edge amplitude of the second edge (with sign). + Distance between edges of an edge pair. + Distance between consecutive edge pairs. + + + + Extract straight edges perpendicular to a rectangle or annular arc. + Instance represents: Input image. + + Measure object handle. + Sigma of gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Light/dark or dark/light edge. Default: "all" + Selection of end points. Default: "all" + Row coordinate of the center of the edge. + Column coordinate of the center of the edge. + Edge amplitude of the edge (with sign). + Distance between consecutive edges. + + + + Identify objects with a sample identifier. + Instance represents: Image showing the object to be identified. + + Handle of the sample identifier. + Number of suggested object indices. Default: 1 + Rating threshold. Default: 0.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Rating value of the identified object. + Index of the identified object. + + + + Identify objects with a sample identifier. + Instance represents: Image showing the object to be identified. + + Handle of the sample identifier. + Number of suggested object indices. Default: 1 + Rating threshold. Default: 0.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Rating value of the identified object. + Index of the identified object. + + + + Add training data to an existing sample identifier. + Instance represents: Image that shows an object. + + Handle of the sample identifier. + Index of the object visible in the SampleImage. + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Add training data to an existing sample identifier. + Instance represents: Image that shows an object. + + Handle of the sample identifier. + Index of the object visible in the SampleImage. + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Add preparation data to an existing sample identifier. + Instance represents: Image that shows an object. + + Handle of the sample identifier. + Index of the object visible in the SampleImage. Default: "unknown" + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Add preparation data to an existing sample identifier. + Instance represents: Image that shows an object. + + Handle of the sample identifier. + Index of the object visible in the SampleImage. Default: "unknown" + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Determine the parameters of a shape model. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Kind of optimization. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Parameters to be determined automatically. Default: "all" + Value of the automatically determined parameter. + Name of the automatically determined parameter. + + + + Determine the parameters of a shape model. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Kind of optimization. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Parameters to be determined automatically. Default: "all" + Value of the automatically determined parameter. + Name of the automatically determined parameter. + + + + Find the best matches of multiple anisotropically scaled shape models. + Instance represents: Input image in which the models should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the models in the row direction. Default: 0.9 + Maximum scale of the models in the row direction. Default: 1.1 + Minimum scale of the models in the column direction. Default: 0.9 + Maximum scale of the models in the column direction. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models in the row direction. + Scale of the found instances of the models in the column direction. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple anisotropically scaled shape models. + Instance represents: Input image in which the models should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the models in the row direction. Default: 0.9 + Maximum scale of the models in the row direction. Default: 1.1 + Minimum scale of the models in the column direction. Default: 0.9 + Maximum scale of the models in the column direction. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models in the row direction. + Scale of the found instances of the models in the column direction. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple isotropically scaled shape models. + Instance represents: Input image in which the models should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the models. Default: 0.9 + Maximum scale of the models. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple isotropically scaled shape models. + Instance represents: Input image in which the models should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the models. Default: 0.9 + Maximum scale of the models. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple shape models. + Instance represents: Input image in which the models should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple shape models. + Instance represents: Input image in which the models should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of an anisotropically scaled shape model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in the row direction. Default: 0.9 + Maximum scale of the model in the row direction. Default: 1.1 + Minimum scale of the model in the column direction. Default: 0.9 + Maximum scale of the model in the column direction. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model in the row direction. + Scale of the found instances of the model in the column direction. + Score of the found instances of the model. + + + + Find the best matches of an anisotropically scaled shape model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in the row direction. Default: 0.9 + Maximum scale of the model in the row direction. Default: 1.1 + Minimum scale of the model in the column direction. Default: 0.9 + Maximum scale of the model in the column direction. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model in the row direction. + Scale of the found instances of the model in the column direction. + Score of the found instances of the model. + + + + Find the best matches of an isotropically scaled shape model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of an isotropically scaled shape model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of a shape model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of a shape model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + + Set the metric of a shape model that was created from XLD contours. + Instance represents: Input image used for the determination of the polarity. + + Handle of the model. + Transformation matrix. + Match metric. Default: "use_polarity" + + + Set selected parameters of the shape model. + Handle of the model. + Parameter names. + Parameter values. + + + + Prepare an anisotropically scaled shape model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + + Prepare an anisotropically scaled shape model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + + Prepare an isotropically scaled shape model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + + Prepare an isotropically scaled shape model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + + Prepare a shape model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + + Prepare a shape model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + + Create the representation of a shape model. + Instance represents: Input image. + + Model region pyramid + Number of pyramid levels. Default: 4 + Threshold or hysteresis thresholds for the contrast of the object in the image and optionally minimum size of the object parts. Default: 30 + Image pyramid of the input image + + + + Create the representation of a shape model. + Instance represents: Input image. + + Model region pyramid + Number of pyramid levels. Default: 4 + Threshold or hysteresis thresholds for the contrast of the object in the image and optionally minimum size of the object parts. Default: 30 + Image pyramid of the input image + + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Instance represents: Input image where the model should be found. + + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Camera parameter (inner orientation) obtained from camera calibration. + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + 3D pose of the object. + + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Instance represents: Input image where the model should be found. + + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Camera parameter (inner orientation) obtained from camera calibration. + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + 3D pose of the object. + + + + Find the best matches of a descriptor model in an image. + Instance represents: Input image where the model should be found. + + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + Homography between model and found instance. + + + + Find the best matches of a descriptor model in an image. + Instance represents: Input image where the model should be found. + + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + Homography between model and found instance. + + + + Create a descriptor model for calibrated perspective matching. + Instance represents: Input image whose domain will be used to create the model. + + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + The handle to the descriptor model. + + + + Prepare a descriptor model for interest point matching. + Instance represents: Input image whose domain will be used to create the model. + + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + The handle to the descriptor model. + + + + Determine the parameters of a deformable model. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Kind of optimization. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The general parameter names. Default: [] + Values of the general parameter. Default: [] + Parameters to be determined automatically. Default: "all" + Value of the automatically determined parameter. + Name of the automatically determined parameter. + + + + Determine the parameters of a deformable model. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Kind of optimization. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The general parameter names. Default: [] + Values of the general parameter. Default: [] + Parameters to be determined automatically. Default: "all" + Value of the automatically determined parameter. + Name of the automatically determined parameter. + + + + Find the best matches of a local deformable model in an image. + Instance represents: Input image in which the model should be found. + + Vector field of the rectification transformation. + Contours of the found instances of the model. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minumum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching. Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Switch for requested iconic result. Default: [] + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Scores of the found instances of the model. + Row coordinates of the found instances of the model. + Column coordinates of the found instances of the model. + Rectified image of the found model. + + + + Find the best matches of a calibrated deformable model in an image and return their 3D pose. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the model. + Pose of the object. + + + + Find the best matches of a calibrated deformable model in an image and return their 3D pose. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the model. + Pose of the object. + + + + Find the best matches of a planar projective invariant deformable model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Score of the found instances of the model. + Homographies between model and found instances. + + + + Find the best matches of a planar projective invariant deformable model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Score of the found instances of the model. + Homographies between model and found instances. + + + + Set the metric of a local deformable model that was created from XLD contours. + Instance represents: Input image used for the determination of the polarity. + + Vector field of the local deformation. + Handle of the model. + Match metric. Default: "use_polarity" + + + + Set the metric of a planar calibrated deformable model that was created from XLD contours. + Instance represents: Input image used for the determination of the polarity. + + Handle of the model. + Pose of the model in the image. + Match metric. Default: "use_polarity" + + + + Set the metric of a planar uncalibrated deformable model that was created from XLD contours. + Instance represents: Input image used for the determination of the polarity. + + Handle of the model. + Transformation matrix. + Match metric. Default: "use_polarity" + + + + Creates a deformable model for local, deformable matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + + Creates a deformable model for local, deformable matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + + Create a deformable model for calibrated perspective matching. + Instance represents: Input image whose domain will be used to create the model. + + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + Handle of the model. + + + + Create a deformable model for calibrated perspective matching. + Instance represents: Input image whose domain will be used to create the model. + + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + Handle of the model. + + + + Creates a deformable model for uncalibrated, perspective matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Creates a deformable model for uncalibrated, perspective matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Find the best matches of an NCC model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.8 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of an NCC model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.8 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + Set selected parameters of the NCC model. + Handle of the model. + Parameter names. + Parameter values. + + + + Prepare an NCC model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Match metric. Default: "use_polarity" + Handle of the model. + + + + Prepare an NCC model for matching. + Instance represents: Input image whose domain will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Match metric. Default: "use_polarity" + Handle of the model. + + + + Find the best matches of a component model in an image. + Instance represents: Input image in which the component model should be found. + + Handle of the component model. + Index of the root component. + Smallest rotation of the root component Default: -0.39 + Extent of the rotation of the root component. Default: 0.79 + Minimum score of the instances of the component model to be found. Default: 0.5 + Number of instances of the component model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the component models to be found. Default: 0.5 + Behavior if the root component is missing. Default: "stop_search" + Behavior if a component is missing. Default: "prune_branch" + Pose prediction of components that are not found. Default: "none" + Minimum score of the instances of the components to be found. Default: 0.5 + Subpixel accuracy of the component poses if not equal to 'none'. Default: "least_squares" + Number of pyramid levels for the components used in the matching (and lowest pyramid level to use if $|NumLevelsComp| = 2n$). Default: 0 + "Greediness" of the search heuristic for the components (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + End index of each found instance of the component model in the tuples describing the component matches. + Score of the found instances of the component model. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + Start index of each found instance of the component model in the tuples describing the component matches. + + + + Find the best matches of a component model in an image. + Instance represents: Input image in which the component model should be found. + + Handle of the component model. + Index of the root component. + Smallest rotation of the root component Default: -0.39 + Extent of the rotation of the root component. Default: 0.79 + Minimum score of the instances of the component model to be found. Default: 0.5 + Number of instances of the component model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the component models to be found. Default: 0.5 + Behavior if the root component is missing. Default: "stop_search" + Behavior if a component is missing. Default: "prune_branch" + Pose prediction of components that are not found. Default: "none" + Minimum score of the instances of the components to be found. Default: 0.5 + Subpixel accuracy of the component poses if not equal to 'none'. Default: "least_squares" + Number of pyramid levels for the components used in the matching (and lowest pyramid level to use if $|NumLevelsComp| = 2n$). Default: 0 + "Greediness" of the search heuristic for the components (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + End index of each found instance of the component model in the tuples describing the component matches. + Score of the found instances of the component model. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + Start index of each found instance of the component model in the tuples describing the component matches. + + + + Prepare a component model for matching based on explicitly specified components and relations. + Instance represents: Input image from which the shape models of the model components should be created. + + Input regions from which the shape models of the model components should be created. + Variation of the model components in row direction. + Variation of the model components in column direction. + Angle variation of the model components. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Lower hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Upper hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Minimum size of the contour regions in the model. Default: "auto" + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + Handle of the component model. + + + + Prepare a component model for matching based on explicitly specified components and relations. + Instance represents: Input image from which the shape models of the model components should be created. + + Input regions from which the shape models of the model components should be created. + Variation of the model components in row direction. + Variation of the model components in column direction. + Angle variation of the model components. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Lower hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Upper hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Minimum size of the contour regions in the model. Default: "auto" + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Ranking of the model components expressing the suitability to act as the root component. + Handle of the component model. + + + + Adopt new parameters that are used to create the model components into the training result. + Instance represents: Training images that were used for training the model components. + + Handle of the training result. + Criterion for solving the ambiguities. Default: "rigidity" + Maximum contour overlap of the found initial components. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Contour regions of rigid model components. + + + + Train components and relations for the component-based matching. + Instance represents: Input image from which the shape models of the initial components should be created. + + Contour regions or enclosing regions of the initial components. + Training images that are used for training the model components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of connected contour regions. Default: "auto" + Minimum score of the instances of the initial components to be found. Default: 0.5 + Search tolerance in row direction. Default: -1 + Search tolerance in column direction. Default: -1 + Angle search tolerance. Default: -1 + Decision whether the training emphasis should lie on a fast computation or on a high robustness. Default: "speed" + Criterion for solving ambiguous matches of the initial components in the training images. Default: "rigidity" + Maximum contour overlap of the found initial components in a training image. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Handle of the training result. + Contour regions of rigid model components. + + + + Train components and relations for the component-based matching. + Instance represents: Input image from which the shape models of the initial components should be created. + + Contour regions or enclosing regions of the initial components. + Training images that are used for training the model components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of connected contour regions. Default: "auto" + Minimum score of the instances of the initial components to be found. Default: 0.5 + Search tolerance in row direction. Default: -1 + Search tolerance in column direction. Default: -1 + Angle search tolerance. Default: -1 + Decision whether the training emphasis should lie on a fast computation or on a high robustness. Default: "speed" + Criterion for solving ambiguous matches of the initial components in the training images. Default: "rigidity" + Maximum contour overlap of the found initial components in a training image. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Handle of the training result. + Contour regions of rigid model components. + + + + Extract the initial components of a component model. + Instance represents: Input image from which the initial components should be extracted. + + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of the initial components. Default: "auto" + Type of automatic segmentation. Default: "connection" + Names of optional control parameters. Default: [] + Values of optional control parameters. Default: [] + Contour regions of initial components. + + + + Extract the initial components of a component model. + Instance represents: Input image from which the initial components should be extracted. + + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of the initial components. Default: "auto" + Type of automatic segmentation. Default: "connection" + Names of optional control parameters. Default: [] + Values of optional control parameters. Default: [] + Contour regions of initial components. + + + + Find the best matches of a 3D shape model in an image. + Instance represents: Input image in which the model should be found. + + Handle of the 3D shape model. + Minimum score of the instances of the model to be found. Default: 0.7 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the 3D shape model. + 3D pose of the 3D shape model. + + + + Convert one-channel images into a multi-channel image + Instance represents: One-channel images to be combined into a one-channel image. + + Multi-channel image. + + + + Convert a multi-channel image into One-channel images + Instance represents: Multi-channel image to be decomposed. + + Generated one-channel images. + + + + Convert 7 images into a seven-channel image. + Instance represents: Input image 1. + + Input image 2. + Input image 3. + Input image 4. + Input image 5. + Input image 6. + Input image 7. + Multi-channel image. + + + + Convert 6 images into a six-channel image. + Instance represents: Input image 1. + + Input image 2. + Input image 3. + Input image 4. + Input image 5. + Input image 6. + Multi-channel image. + + + + Convert 5 images into a five-channel image. + Instance represents: Input image 1. + + Input image 2. + Input image 3. + Input image 4. + Input image 5. + Multi-channel image. + + + + Convert 4 images into a four-channel image. + Instance represents: Input image 1. + + Input image 2. + Input image 3. + Input image 4. + Multi-channel image. + + + + Convert 3 images into a three-channel image. + Instance represents: Input image 1. + + Input image 2. + Input image 3. + Multi-channel image. + + + + Convert two images into a two-channel image. + Instance represents: Input image 1. + + Input image 2. + Multi-channel image. + + + + Convert a seven-channel image into seven images. + Instance represents: Multi-channel image. + + Output image 2. + Output image 3. + Output image 4. + Output image 5. + Output image 6. + Output image 7. + Output image 1. + + + + Convert a six-channel image into six images. + Instance represents: Multi-channel image. + + Output image 2. + Output image 3. + Output image 4. + Output image 5. + Output image 6. + Output image 1. + + + + Convert a five-channel image into five images. + Instance represents: Multi-channel image. + + Output image 2. + Output image 3. + Output image 4. + Output image 5. + Output image 1. + + + + Convert a four-channel image into four images. + Instance represents: Multi-channel image. + + Output image 2. + Output image 3. + Output image 4. + Output image 1. + + + + Convert a three-channel image into three images. + Instance represents: Multi-channel image. + + Output image 2. + Output image 3. + Output image 1. + + + + Convert a two-channel image into two images. + Instance represents: Multi-channel image. + + Output image 2. + Output image 1. + + + + Count channels of image. + Instance represents: One- or multi-channel image. + + Number of channels. + + + + Append additional matrices (channels) to the image. + Instance represents: Multi-channel image. + + Image to be appended. + Image appended by Image. + + + + Access a channel of a multi-channel image. + Instance represents: Multi-channel image. + + Index of channel to be accessed. Default: 1 + One channel of MultiChannelImage. + + + + Tile multiple image objects into a large image with explicit positioning information. + Instance represents: Input images. + + Row coordinate of the upper left corner of the input images in the output image. Default: 0 + Column coordinate of the upper left corner of the input images in the output image. Default: 0 + Row coordinate of the upper left corner of the copied part of the respective input image. Default: -1 + Column coordinate of the upper left corner of the copied part of the respective input image. Default: -1 + Row coordinate of the lower right corner of the copied part of the respective input image. Default: -1 + Column coordinate of the lower right corner of the copied part of the respective input image. Default: -1 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Tiled output image. + + + + Tile multiple image objects into a large image with explicit positioning information. + Instance represents: Input images. + + Row coordinate of the upper left corner of the input images in the output image. Default: 0 + Column coordinate of the upper left corner of the input images in the output image. Default: 0 + Row coordinate of the upper left corner of the copied part of the respective input image. Default: -1 + Column coordinate of the upper left corner of the copied part of the respective input image. Default: -1 + Row coordinate of the lower right corner of the copied part of the respective input image. Default: -1 + Column coordinate of the lower right corner of the copied part of the respective input image. Default: -1 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Tiled output image. + + + + Tile multiple image objects into a large image. + Instance represents: Input images. + + Number of columns to use for the output image. Default: 1 + Order of the input images in the output image. Default: "vertical" + Tiled output image. + + + + Tile multiple images into a large image. + Instance represents: Input image. + + Number of columns to use for the output image. Default: 1 + Order of the input images in the output image. Default: "vertical" + Tiled output image. + + + + Cut out of defined gray values. + Instance represents: Input image. + + Image area. + + + + Cut out one or more rectangular image areas. + Instance represents: Input image. + + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Line index of lower right corner of image area. Default: 200 + Column index of lower right corner of image area. Default: 200 + Image area. + + + + Cut out one or more rectangular image areas. + Instance represents: Input image. + + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Line index of lower right corner of image area. Default: 200 + Column index of lower right corner of image area. Default: 200 + Image area. + + + + Cut out one or more rectangular image areas. + Instance represents: Input image. + + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Width of new image. Default: 128 + Height of new image. Default: 128 + Image area. + + + + Cut out one or more rectangular image areas. + Instance represents: Input image. + + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Width of new image. Default: 128 + Height of new image. Default: 128 + Image area. + + + + Change image size. + Instance represents: Input image. + + Width of new image. Default: 512 + Height of new image. Default: 512 + Image with new format. + + + + Change definition domain of an image. + Instance represents: Input image. + + New definition domain. + Image with new definition domain. + + + + Reduce the domain of an image to a rectangle. + Instance represents: Input image. + + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Line index of lower right corner of image area. Default: 200 + Column index of lower right corner of image area. Default: 200 + Image with reduced definition domain. + + + + Reduce the domain of an image. + Instance represents: Input image. + + New definition domain. + Image with reduced definition domain. + + + + Expand the domain of an image to maximum. + Instance represents: Input image. + + Image with maximum definition domain. + + + + Get the domain of an image. + Instance represents: Input images. + + Definition domains of input images. + + + + Detect lines in edge images with the help of the Hough transform using local gradient direction and return them in normal form. + Instance represents: Image containing the edge direction. The edges are described by the image domain. + + Regions of the input image that contributed to the local maxima. + Uncertainty of edge direction (in degrees). Default: 2 + Resolution in the angle area (in 1/degrees). Default: 4 + Smoothing filter for hough image. Default: "mean" + Required smoothing filter size. Default: 5 + Threshold value in the Hough image. Default: 100 + Minimum distance of two maxima in the Hough image (direction: angle). Default: 5 + Minimum distance of two maxima in the Hough image (direction: distance). Default: 5 + Create line regions if 'true'. Default: "true" + Angles (in radians) of the detected lines' normal vectors. + Distance of the detected lines from the origin. + Hough transform. + + + + Compute the Hough transform for lines using local gradient direction. + Instance represents: Image containing the edge direction. The edges must be described by the image domain. + + Uncertainty of the edge direction (in degrees). Default: 2 + Resolution in the angle area (in 1/degrees). Default: 4 + Hough transform. + + + + Segment the rectification grid region in the image. + Instance represents: Input image. + + Minimum contrast. Default: 8.0 + Radius of the circular structuring element. Default: 7.5 + Output region containing the rectification grid. + + + + Segment the rectification grid region in the image. + Instance represents: Input image. + + Minimum contrast. Default: 8.0 + Radius of the circular structuring element. Default: 7.5 + Output region containing the rectification grid. + + + + Establish connections between the grid points of the rectification grid. + Instance represents: Input image. + + Row coordinates of the grid points. + Column coordinates of the grid points. + Size of the applied Gaussians. Default: 0.9 + Maximum distance of the connecting lines from the grid points. Default: 5.5 + Output contours. + + + + Establish connections between the grid points of the rectification grid. + Instance represents: Input image. + + Row coordinates of the grid points. + Column coordinates of the grid points. + Size of the applied Gaussians. Default: 0.9 + Maximum distance of the connecting lines from the grid points. Default: 5.5 + Output contours. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input image. + + Input contours. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input image. + + Input contours. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Calculates image coordinates for a point in a 3D plot window. + Instance represents: Displayed image. + + Window handle. + Row coordinate in the window. + Column coordinate in the window. + Row coordinate in the image. + Column coordinate in the image. + Height value. + + + + Calculates image coordinates for a point in a 3D plot window. + Instance represents: Displayed image. + + Window handle. + Row coordinate in the window. + Column coordinate in the window. + Row coordinate in the image. + Column coordinate in the image. + Height value. + + + + Write the window content in an image object. + Modified instance represents: Saved image. + + Window handle. + + + + Displays gray value images. + Instance represents: Gray value image to display. + + Window handle. + + + + Displays images with several channels. + Instance represents: Multichannel images to be displayed. + + Window handle. + Number of channel or the numbers of the RGB-channels Default: 1 + + + + Displays images with several channels. + Instance represents: Multichannel images to be displayed. + + Window handle. + Number of channel or the numbers of the RGB-channels Default: 1 + + + + Displays a color (RGB) image + Instance represents: Color image to display. + + Window handle. + + + + Visualize images using gnuplot. + Instance represents: Image to be plotted. + + Identifier for the gnuplot output stream. + Number of samples in the x-direction. Default: 64 + Number of samples in the y-direction. Default: 64 + Rotation of the plot about the x-axis. Default: 60 + Rotation of the plot about the z-axis. Default: 30 + Plot the image with hidden surfaces removed. Default: "hidden3d" + + + + Visualize images using gnuplot. + Instance represents: Image to be plotted. + + Identifier for the gnuplot output stream. + Number of samples in the x-direction. Default: 64 + Number of samples in the y-direction. Default: 64 + Rotation of the plot about the x-axis. Default: 60 + Rotation of the plot about the z-axis. Default: 30 + Plot the image with hidden surfaces removed. Default: "hidden3d" + + + + Filter an image using a Laws texture filter. + Instance represents: Images to which the texture transformation is to be applied. + + Desired filter. Default: "el" + Shift to reduce the gray value dynamics. Default: 2 + Size of the filter kernel. Default: 5 + Texture images. + + + + Calculate the standard deviation of gray values within rectangular windows. + Instance represents: Image for which the standard deviation is to be calculated. + + Width of the mask in which the standard deviation is calculated. Default: 11 + Height of the mask in which the standard deviation is calculated. Default: 11 + Image containing the standard deviation. + + + + Calculate the entropy of gray values within a rectangular window. + Instance represents: Image for which the entropy is to be calculated. + + Width of the mask in which the entropy is calculated. Default: 9 + Height of the mask in which the entropy is calculated. Default: 9 + Entropy image. + + + + Perform an isotropic diffusion of an image. + Instance represents: Input image. + + Standard deviation of the Gauss distribution. Default: 1.0 + Number of iterations. Default: 10 + Output image. + + + + Perform an anisotropic diffusion of an image. + Instance represents: Input image. + + Diffusion coefficient as a function of the edge amplitude. Default: "weickert" + Contrast parameter. Default: 5.0 + Time step. Default: 1.0 + Number of iterations. Default: 10 + Output image. + + + + Smooth an image using various filters. + Instance represents: Image to be smoothed. + + Filter. Default: "deriche2" + Filterparameter: small values cause strong smoothing (vice versa by using bei 'gauss'). Default: 0.5 + Smoothed image. + + + + Non-linear smoothing with the sigma filter. + Instance represents: Image to be smoothed. + + Height of the mask (number of lines). Default: 5 + Width of the mask (number of columns). Default: 5 + Max. deviation to the average. Default: 3 + Smoothed image. + + + + Calculate the average of maximum and minimum inside any mask. + Instance represents: Image to be filtered. + + Filter mask. + Border treatment. Default: "mirrored" + Filtered image. + + + + Calculate the average of maximum and minimum inside any mask. + Instance represents: Image to be filtered. + + Filter mask. + Border treatment. Default: "mirrored" + Filtered image. + + + + Smooth an image with an arbitrary rank mask. + Instance represents: Image to be filtered. + + Image whose region serves as filter mask. + Number of averaged pixels. Typical value: Surface(Mask) / 2. Default: 5 + Border treatment. Default: "mirrored" + Filtered output image. + + + + Smooth an image with an arbitrary rank mask. + Instance represents: Image to be filtered. + + Image whose region serves as filter mask. + Number of averaged pixels. Typical value: Surface(Mask) / 2. Default: 5 + Border treatment. Default: "mirrored" + Filtered output image. + + + + Separated median filtering with rectangle masks. + Instance represents: Image to be filtered. + + Width of rank mask. Default: 25 + Height of rank mask. Default: 25 + Border treatment. Default: "mirrored" + Median filtered image. + + + + Separated median filtering with rectangle masks. + Instance represents: Image to be filtered. + + Width of rank mask. Default: 25 + Height of rank mask. Default: 25 + Border treatment. Default: "mirrored" + Median filtered image. + + + + Compute a median filter with rectangular masks. + Instance represents: Image to be filtered. + + Width of the filter mask. Default: 15 + Height of the filter mask. Default: 15 + Filtered image. + + + + Compute a median filter with various masks. + Instance represents: Image to be filtered. + + Filter mask type. Default: "circle" + Radius of the filter mask. Default: 1 + Border treatment. Default: "mirrored" + Filtered image. + + + + Compute a median filter with various masks. + Instance represents: Image to be filtered. + + Filter mask type. Default: "circle" + Radius of the filter mask. Default: 1 + Border treatment. Default: "mirrored" + Filtered image. + + + + Weighted median filtering with different rank masks. + Instance represents: Image to be filtered. + + Type of median mask. Default: "inner" + mask size. Default: 3 + Median filtered image. + + + + Compute a rank filter with rectangular masks. + Instance represents: Image to be filtered. + + Width of the filter mask. Default: 15 + Height of the filter mask. Default: 15 + Rank of the output gray value. Default: 5 + Filtered image. + + + + Compute a rank filter with arbitrary masks. + Instance represents: Image to be filtered. + + Filter mask. + Rank of the output gray value. Default: 5 + Border treatment. Default: "mirrored" + Filtered image. + + + + Compute a rank filter with arbitrary masks. + Instance represents: Image to be filtered. + + Filter mask. + Rank of the output gray value. Default: 5 + Border treatment. Default: "mirrored" + Filtered image. + + + + Opening, Median and Closing with circle or rectangle mask. + Instance represents: Image to be filtered. + + Shape of the mask. Default: "circle" + Radius of the filter mask. Default: 1 + Filter Mode: 0 corresponds to a gray value opening , 50 corresponds to a median and 100 to a gray values closing. Default: 10 + Border treatment. Default: "mirrored" + Filtered Image. + + + + Opening, Median and Closing with circle or rectangle mask. + Instance represents: Image to be filtered. + + Shape of the mask. Default: "circle" + Radius of the filter mask. Default: 1 + Filter Mode: 0 corresponds to a gray value opening , 50 corresponds to a median and 100 to a gray values closing. Default: 10 + Border treatment. Default: "mirrored" + Filtered Image. + + + + Smooth by averaging. + Instance represents: Image to be smoothed. + + Width of filter mask. Default: 9 + Height of filter mask. Default: 9 + Smoothed image. + + + + Smooth an image using the binomial filter. + Instance represents: Input image. + + Filter width. Default: 5 + Filter height. Default: 5 + Smoothed image. + + + + Smooth an image using discrete Gaussian functions. + Instance represents: Image to be smoothed. + + Required filter size. Default: 5 + Filtered image. + + + + Smooth using discrete gauss functions. + Instance represents: Image to be smoothed. + + Required filter size. Default: 5 + Filtered image. + + + + Smooth an image in the spatial domain to suppress noise. + Instance represents: Image to smooth. + + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + Gap between local maximum/minimum and all other gray values of the neighborhood. Default: 1.0 + Replacement rule (1 = next minimum/maximum, 2 = average, 3 =median). Default: 3 + Smoothed image. + + + + Interpolate 2 video half images. + Instance represents: Gray image consisting of two half images. + + Instruction whether even or odd lines should be replaced/removed. Default: "odd" + Full image with interpolated/removed lines. + + + + Return gray values with given rank from multiple channels. + Instance represents: Multichannel gray image. + + Rank of the gray value images to return. Default: 2 + Result of the rank function. + + + + Average gray values over several channels. + Instance represents: Multichannel gray image. + + Result of averaging. + + + + Replace values outside of thresholds with average value. + Instance represents: Input image. + + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + Minimum gray value. Default: 1 + Maximum gray value. Default: 254 + Smoothed image. + + + + Suppress salt and pepper noise. + Instance represents: Input image. + + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + Minimum gray value. Default: 1 + Maximum gray value. Default: 254 + Smoothed image. + + + + Find corners using the Sojka operator. + Instance represents: Input image. + + Required filter size. Default: 9 + Sigma of the weight function according to the distance to the corner candidate. Default: 2.5 + Sigma of the weight function for the distance to the ideal gray value edge. Default: 0.75 + Threshold for the magnitude of the gradient. Default: 30.0 + Threshold for Apparentness. Default: 90.0 + Threshold for the direction change in a corner point (radians). Default: 0.5 + Subpixel precise calculation of the corner points. Default: "false" + Row coordinates of the detected corner points. + Column coordinates of the detected corner points. + + + + Find corners using the Sojka operator. + Instance represents: Input image. + + Required filter size. Default: 9 + Sigma of the weight function according to the distance to the corner candidate. Default: 2.5 + Sigma of the weight function for the distance to the ideal gray value edge. Default: 0.75 + Threshold for the magnitude of the gradient. Default: 30.0 + Threshold for Apparentness. Default: 90.0 + Threshold for the direction change in a corner point (radians). Default: 0.5 + Subpixel precise calculation of the corner points. Default: "false" + Row coordinates of the detected corner points. + Column coordinates of the detected corner points. + + + + Enhance circular dots in an image. + Instance represents: Input image. + + Diameter of the dots to be enhanced. Default: 5 + Enhance dark, light, or all dots. Default: "light" + Shift of the filter response. Default: 0 + Output image. + + + + Subpixel precise detection of local minima in an image. + Instance represents: Input image. + + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected minima. + Column coordinates of the detected minima. + + + + Subpixel precise detection of local maxima in an image. + Instance represents: Input image. + + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected maxima. + Column coordinates of the detected maxima. + + + + Subpixel precise detection of saddle points in an image. + Instance represents: Input image. + + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected saddle points. + Column coordinates of the detected saddle points. + + + + Subpixel precise detection of critical points in an image. + Instance represents: Input image. + + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected minima. + Column coordinates of the detected minima. + Row coordinates of the detected maxima. + Column coordinates of the detected maxima. + Row coordinates of the detected saddle points. + Column coordinates of the detected saddle points. + + + + Detect points of interest using the Harris operator. + Instance represents: Input image. + + Amount of smoothing used for the calculation of the gradient. Default: 0.7 + Amount of smoothing used for the integration of the gradients. Default: 2.0 + Weight of the squared trace of the squared gradient matrix. Default: 0.08 + Minimum filter response for the points. Default: 1000.0 + Row coordinates of the detected points. + Column coordinates of the detected points. + + + + Detect points of interest using the Harris operator. + Instance represents: Input image. + + Amount of smoothing used for the calculation of the gradient. Default: 0.7 + Amount of smoothing used for the integration of the gradients. Default: 2.0 + Weight of the squared trace of the squared gradient matrix. Default: 0.08 + Minimum filter response for the points. Default: 1000.0 + Row coordinates of the detected points. + Column coordinates of the detected points. + + + + Detect points of interest using the binomial approximation of the Harris operator. + Instance represents: Input image. + + Amount of binomial smoothing used for the calculation of the gradient. Default: 5 + Amount of smoothing used for the integration of the gradients. Default: 15 + Weight of the squared trace of the squared gradient matrix. Default: 0.08 + Minimum filter response for the points. Default: 1000.0 + Turn on or off subpixel refinement. Default: "on" + Row coordinates of the detected points. + Column coordinates of the detected points. + + + + Detect points of interest using the binomial approximation of the Harris operator. + Instance represents: Input image. + + Amount of binomial smoothing used for the calculation of the gradient. Default: 5 + Amount of smoothing used for the integration of the gradients. Default: 15 + Weight of the squared trace of the squared gradient matrix. Default: 0.08 + Minimum filter response for the points. Default: 1000.0 + Turn on or off subpixel refinement. Default: "on" + Row coordinates of the detected points. + Column coordinates of the detected points. + + + + Detect points of interest using the Lepetit operator. + Instance represents: Input image. + + Radius of the circle. Default: 3 + Number of checked neighbors on the circle. Default: 1 + Threshold of grayvalue difference to each circle point. Default: 15 + Threshold of grayvalue difference to all circle points. Default: 30 + Subpixel accuracy of point coordinates. Default: "interpolation" + Row-coordinates of the detected points. + Column-coordinates of the detected points. + + + + Detect points of interest using the Foerstner operator. + Instance represents: Input image. + + Amount of smoothing used for the calculation of the gradient. If Smoothing is 'mean', SigmaGrad is ignored. Default: 1.0 + Amount of smoothing used for the integration of the gradients. Default: 2.0 + Amount of smoothing used in the optimization functions. Default: 3.0 + Threshold for the segmentation of inhomogeneous image areas. Default: 200 + Threshold for the segmentation of point areas. Default: 0.3 + Used smoothing method. Default: "gauss" + Elimination of multiply detected points. Default: "false" + Row coordinates of the detected junction points. + Column coordinates of the detected junction points. + Row part of the covariance matrix of the detected junction points. + Mixed part of the covariance matrix of the detected junction points. + Column part of the covariance matrix of the detected junction points. + Row coordinates of the detected area points. + Column coordinates of the detected area points. + Row part of the covariance matrix of the detected area points. + Mixed part of the covariance matrix of the detected area points. + Column part of the covariance matrix of the detected area points. + + + + Detect points of interest using the Foerstner operator. + Instance represents: Input image. + + Amount of smoothing used for the calculation of the gradient. If Smoothing is 'mean', SigmaGrad is ignored. Default: 1.0 + Amount of smoothing used for the integration of the gradients. Default: 2.0 + Amount of smoothing used in the optimization functions. Default: 3.0 + Threshold for the segmentation of inhomogeneous image areas. Default: 200 + Threshold for the segmentation of point areas. Default: 0.3 + Used smoothing method. Default: "gauss" + Elimination of multiply detected points. Default: "false" + Row coordinates of the detected junction points. + Column coordinates of the detected junction points. + Row part of the covariance matrix of the detected junction points. + Mixed part of the covariance matrix of the detected junction points. + Column part of the covariance matrix of the detected junction points. + Row coordinates of the detected area points. + Column coordinates of the detected area points. + Row part of the covariance matrix of the detected area points. + Mixed part of the covariance matrix of the detected area points. + Column part of the covariance matrix of the detected area points. + + + + Estimate the image noise from a single image. + Instance represents: Input image. + + Method to estimate the image noise. Default: "foerstner" + Percentage of used image points. Default: 20 + Standard deviation of the image noise. + + + + Estimate the image noise from a single image. + Instance represents: Input image. + + Method to estimate the image noise. Default: "foerstner" + Percentage of used image points. Default: 20 + Standard deviation of the image noise. + + + + Determine the noise distribution of an image. + Instance represents: Corresponding image. + + Region from which the noise distribution is to be estimated. + Size of the mean filter. Default: 21 + Noise distribution of all input regions. + + + + Add noise to an image. + Instance represents: Input image. + + Maximum noise amplitude. Default: 60.0 + Noisy image. + + + + Add noise to an image. + Instance represents: Input image. + + Noise distribution. + Noisy image. + + + + Calculate standard deviation over several channels. + Instance represents: Multichannel gray image. + + Result of calculation. + + + + Perform an inpainting by texture propagation. + Instance represents: Input image. + + Inpainting region. + Size of the inpainting blocks. Default: 9 + Size of the search window. Default: 30 + Influence of the edge amplitude on the inpainting order. Default: 1.0 + Post-iteration for artifact reduction. Default: "none" + Gray value tolerance for post-iteration. Default: 1.0 + Output image. + + + + Perform an inpainting by coherence transport. + Instance represents: Input image. + + Inpainting region. + Radius of the pixel neighborhood. Default: 5.0 + Sharpness parameter in percent. Default: 25.0 + Pre-smoothing parameter. Default: 1.41 + Smoothing parameter for the direction estimation. Default: 4.0 + Channel weights. Default: 1 + Output image. + + + + Perform an inpainting by coherence transport. + Instance represents: Input image. + + Inpainting region. + Radius of the pixel neighborhood. Default: 5.0 + Sharpness parameter in percent. Default: 25.0 + Pre-smoothing parameter. Default: 1.41 + Smoothing parameter for the direction estimation. Default: 4.0 + Channel weights. Default: 1 + Output image. + + + + Perform an inpainting by smoothing of level lines. + Instance represents: Input image. + + Inpainting region. + Smoothing for derivative operator. Default: 0.5 + Time step. Default: 0.5 + Number of iterations. Default: 10 + Output image. + + + + Perform an inpainting by coherence enhancing diffusion. + Instance represents: Input image. + + Inpainting region. + Smoothing for derivative operator. Default: 0.5 + Smoothing for diffusion coefficients. Default: 3.0 + Time step. Default: 0.5 + Number of iterations. Default: 10 + Output image. + + + + Perform an inpainting by anisotropic diffusion. + Instance represents: Input image. + + Inpainting region. + Type of edge sharpening algorithm. Default: "weickert" + Contrast parameter. Default: 5.0 + Step size. Default: 0.5 + Number of iterations. Default: 10 + Smoothing coefficient for edge information. Default: 3.0 + Output image. + + + + Perform a harmonic interpolation on an image region. + Instance represents: Input image. + + Inpainting region. + Computational accuracy. Default: 0.001 + Output image. + + + + Expand the domain of an image and set the gray values in the expanded domain. + Instance represents: Input image with domain to be expanded. + + Radius of the gray value expansion, measured in pixels. Default: 2 + Output image with new gray values in the expanded domain. + + + + Compute the topographic primal sketch of an image. + Instance represents: Image for which the topographic primal sketch is to be computed. + + Label image containing the 11 classes. + + + + Compute an affine transformation of the color values of a multichannel image. + Instance represents: Multichannel input image. + + Transformation matrix for the color values. + Multichannel output image. + + + + Compute the transformation matrix of the principal component analysis of multichannel images. + Instance represents: Multichannel input image. + + Transformation matrix for the computation of the inverse PCA. + Mean gray value of the channels. + Covariance matrix of the channels. + Information content of the transformed channels. + Transformation matrix for the computation of the PCA. + + + + Compute the principal components of multichannel images. + Instance represents: Multichannel input image. + + Information content of each output channel. + Multichannel output image. + + + + Determine the fuzzy entropy of regions. + Instance represents: Input image containing the fuzzy membership values. + + Regions for which the fuzzy entropy is to be calculated. + Start of the fuzzy function. Default: 0 + End of the fuzzy function. Default: 255 + Fuzzy entropy of a region. + + + + Calculate the fuzzy perimeter of a region. + Instance represents: Input image containing the fuzzy membership values. + + Regions for which the fuzzy perimeter is to be calculated. + Start of the fuzzy function. Default: 0 + End of the fuzzy function. Default: 255 + Fuzzy perimeter of a region. + + + + Perform a gray value closing with a selected mask. + Instance represents: Image for which the minimum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the minimum gray values. + + + + Perform a gray value closing with a selected mask. + Instance represents: Image for which the minimum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the minimum gray values. + + + + Perform a gray value opening with a selected mask. + Instance represents: Image for which the minimum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the minimum gray values. + + + + Perform a gray value opening with a selected mask. + Instance represents: Image for which the minimum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the minimum gray values. + + + + Determine the minimum gray value within a selected mask. + Instance represents: Image for which the minimum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the minimum gray values. + + + + Determine the minimum gray value within a selected mask. + Instance represents: Image for which the minimum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the minimum gray values. + + + + Determine the maximum gray value within a selected mask. + Instance represents: Image for which the maximum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the maximum gray values. + + + + Determine the maximum gray value within a selected mask. + Instance represents: Image for which the maximum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + Image containing the maximum gray values. + + + + Determine the gray value range within a rectangle. + Instance represents: Image for which the gray value range is to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Image containing the gray value range. + + + + Perform a gray value closing with a rectangular mask. + Instance represents: Input image. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Gray-closed image. + + + + Perform a gray value opening with a rectangular mask. + Instance represents: Input image. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Gray-opened image. + + + + Determine the minimum gray value within a rectangle. + Instance represents: Image for which the minimum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Image containing the minimum gray values. + + + + Determine the maximum gray value within a rectangle. + Instance represents: Image for which the maximum gray values are to be calculated. + + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Image containing the maximum gray values. + + + + Thinning of gray value images. + Instance represents: Image to be thinned. + + Thinned image. + + + + Transform an image with a gray-value look-up-table + Instance represents: Image whose gray values are to be transformed. + + Table containing the transformation. + Transformed image. + + + + Calculate the correlation between an image and an arbitrary filter mask + Instance represents: Images for which the correlation will be calculated. + + Filter mask as file name or tuple. Default: "sobel" + Border treatment. Default: "mirrored" + Result of the correlation. + + + + Calculate the correlation between an image and an arbitrary filter mask + Instance represents: Images for which the correlation will be calculated. + + Filter mask as file name or tuple. Default: "sobel" + Border treatment. Default: "mirrored" + Result of the correlation. + + + + Convert the type of an image. + Instance represents: Image whose image type is to be changed. + + Desired image type (i.e., type of the gray values). Default: "byte" + Converted image. + + + + Convert two real-valued images into a vector field image. + Instance represents: Vector component in the row direction. + + Vector component in the column direction. + Semantic kind of the vector field. Default: "vector_field_relative" + Displacement vector field. + + + + Convert a vector field image into two real-valued images. + Instance represents: Vector field. + + Vector component in the column direction. + Vector component in the row direction. + + + + Convert two real images into a complex image. + Instance represents: Real part. + + Imaginary part. + Complex image. + + + + Convert a complex image into two real images. + Instance represents: Complex image. + + Imaginary part. + Real part. + + + + Paint regions with their average gray value. + Instance represents: original gray-value image. + + Input regions. + Result image with painted regions. + + + + Calculate the lowest possible gray value on an arbitrary path to the image border for each point in the image. + Instance represents: Image being processed. + + Result image. + + + + Symmetry of gray values along a row. + Instance represents: Input image. + + Extension of search area. Default: 40 + Angle of test direction. Default: 0.0 + Exponent for weighting. Default: 0.5 + Symmetry image. + + + + Selection of gray values of a multi-channel image using an index image. + Instance represents: Multi-channel gray value image. + + Image, where pixel values are interpreted as channel index. + Resulting image. + + + + Extract depth using multiple focus levels. + Instance represents: Multichannel gray image consisting of multiple focus levels. + + Confidence of depth estimation. + Filter used to find sharp pixels. Default: "highpass" + Method used to find sharp pixels. Default: "next_maximum" + Depth image. + + + + Extract depth using multiple focus levels. + Instance represents: Multichannel gray image consisting of multiple focus levels. + + Confidence of depth estimation. + Filter used to find sharp pixels. Default: "highpass" + Method used to find sharp pixels. Default: "next_maximum" + Depth image. + + + + Compute the uncalibrated scene flow between two stereo image pairs. + Instance represents: Input image 1 at time @f$t_{1}$t_1. + + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Estimated change in disparity. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Estimated optical flow. + + + + Compute the uncalibrated scene flow between two stereo image pairs. + Instance represents: Input image 1 at time @f$t_{1}$t_1. + + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Estimated change in disparity. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Estimated optical flow. + + + + Unwarp an image using a vector field. + Instance represents: Input image. + + Input vector field. + Unwarped image. + + + + Convolve a vector field with derivatives of the Gaussian. + Instance represents: Input vector field. + + Sigma of the Gaussian. Default: 1.0 + Component to be calculated. Default: "mean_curvature" + Filtered result images. + + + + Convolve a vector field with derivatives of the Gaussian. + Instance represents: Input vector field. + + Sigma of the Gaussian. Default: 1.0 + Component to be calculated. Default: "mean_curvature" + Filtered result images. + + + + Compute the length of the vectors of a vector field. + Instance represents: Input vector field + + Mode for computing the length of the vectors. Default: "length" + Length of the vectors of the vector field. + + + + Compute the optical flow between two images. + Instance represents: Input image 1. + + Input image 2. + Algorithm for computing the optical flow. Default: "fdrig" + Standard deviation for initial Gaussian smoothing. Default: 0.8 + Standard deviation of the integration filter. Default: 1.0 + Weight of the smoothing term relative to the data term. Default: 20.0 + Weight of the gradient constancy relative to the gray value constancy. Default: 5.0 + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "accurate" + Optical flow. + + + + Compute the optical flow between two images. + Instance represents: Input image 1. + + Input image 2. + Algorithm for computing the optical flow. Default: "fdrig" + Standard deviation for initial Gaussian smoothing. Default: 0.8 + Standard deviation of the integration filter. Default: 1.0 + Weight of the smoothing term relative to the data term. Default: 20.0 + Weight of the gradient constancy relative to the gray value constancy. Default: 5.0 + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "accurate" + Optical flow. + + + + Matching a template and an image in a resolution pyramid. + Instance represents: Input image. + + The domain of this image will be matched with Image. + Desired matching criterion. Default: "dfd" + Startlevel in the resolution pyramid (highest resolution: Level 0). Default: 1 + Threshold to determine the "region of interest". Default: 30 + Result image and result region: values of the matching criterion within the determined "region of interest". + + + + Preparing a pattern for template matching with rotation. + Instance represents: Input image whose domain will be processed for the pattern matching. + + Maximal number of pyramid levels. Default: 4 + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Step rate (angle precision) of matching. Default: 0.0982 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + Template number. + + + + Preparing a pattern for template matching. + Instance represents: Input image whose domain will be processed for the pattern matching. + + Not yet in use. Default: 255 + Maximal number of pyramid levels. Default: 4 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + Template number. + + + + Adapting a template to the size of an image. + Instance represents: Image which determines the size of the later matching. + + Template number. + + + + Searching all good gray value matches in a pyramid. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Number of levels in the pyramid. Default: 3 + All points which have an error below a certain threshold. + + + + Searching all good gray value matches in a pyramid. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Number of levels in the pyramid. Default: 3 + All points which have an error below a certain threshold. + + + + Searching the best gray value matches in a pre generated pyramid. + Instance represents: Image pyramid inside of which the pattern has to be found. + + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Resolution level up to which the method "best match" is used. Default: "original" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching the best gray value matches in a pre generated pyramid. + Instance represents: Image pyramid inside of which the pattern has to be found. + + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Resolution level up to which the method "best match" is used. Default: "original" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching the best gray value matches in a pyramid. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 4 + Resolution level up to which the method "best match" is used. Default: 2 + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching the best gray value matches in a pyramid. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 4 + Resolution level up to which the method "best match" is used. Default: 2 + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching all good matches of a template and an image. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Maximal average difference of the grayvalues. Default: 20.0 + All points whose error lies below a certain threshold. + + + + Searching the best matching of a template and a pyramid with rotation. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 40.0 + Subpixel accuracy in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and a pyramid with rotation. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 40.0 + Subpixel accuracy in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image with rotation. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 30.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image with rotation. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 30.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Maximum average difference of the grayvalues. Default: 20.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image. + Instance represents: Input image inside of which the pattern has to be found. + + Template number. + Maximum average difference of the grayvalues. Default: 20.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues of the best match. + + + + Matching of a template and an image. + Instance represents: Input image. + + Area to be searched in the input image. + This area will be "matched" by Image within the RegionOfInterest. + Desired matching criterion. Default: "dfd" + Result image: values of the matching criterion. + + + + Searching corners in images. + Instance represents: Input image. + + Desired filtersize of the graymask. Default: 3 + Weighting. Default: 0.04 + Result of the filtering. + + + + Calculating a Gauss pyramid. + Instance represents: Input image. + + Kind of filtermask. Default: "weighted" + Factor for scaling down. Default: 0.5 + Output images. + + + + Calculating the monotony operation. + Instance represents: Input image. + + Result of the monotony operator. + + + + Edge extraction using bandpass filters. + Instance represents: Input images. + + Filter type: currently only 'lines' is supported. Default: "lines" + Bandpass-filtered images. + + + + Detect color lines and their width. + Instance represents: Input image. + + Amount of Gaussian smoothing to be applied. Default: 1.5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Should the line width be extracted? Default: "true" + Should junctions be added where they cannot be extracted? Default: "true" + Extracted lines. + + + + Detect color lines and their width. + Instance represents: Input image. + + Amount of Gaussian smoothing to be applied. Default: 1.5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Should the line width be extracted? Default: "true" + Should junctions be added where they cannot be extracted? Default: "true" + Extracted lines. + + + + Detect lines and their width. + Instance represents: Input image. + + Amount of Gaussian smoothing to be applied. Default: 1.5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Extract bright or dark lines. Default: "light" + Should the line width be extracted? Default: "true" + Line model used to correct the line position and width. Default: "bar-shaped" + Should junctions be added where they cannot be extracted? Default: "true" + Extracted lines. + + + + Detect lines and their width. + Instance represents: Input image. + + Amount of Gaussian smoothing to be applied. Default: 1.5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Extract bright or dark lines. Default: "light" + Should the line width be extracted? Default: "true" + Line model used to correct the line position and width. Default: "bar-shaped" + Should junctions be added where they cannot be extracted? Default: "true" + Extracted lines. + + + + Detection of lines using the facet model. + Instance represents: Input image. + + Size of the facet model mask. Default: 5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Extract bright or dark lines. Default: "light" + Extracted lines. + + + + Detection of lines using the facet model. + Instance represents: Input image. + + Size of the facet model mask. Default: 5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Extract bright or dark lines. Default: "light" + Extracted lines. + + + + Store a filter mask in the spatial domain as a real-image. + Modified instance represents: Filter in the spatial domain. + + Filter mask as file name or tuple. Default: "gauss" + Scaling factor. Default: 1.0 + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Store a filter mask in the spatial domain as a real-image. + Modified instance represents: Filter in the spatial domain. + + Filter mask as file name or tuple. Default: "gauss" + Scaling factor. Default: 1.0 + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate a mean filter in the frequency domain. + Modified instance represents: Mean filter as image in the frequency domain. + + Shape of the filter mask in the spatial domain. Default: "ellipse" + Diameter of the mean filter in the principal direction of the filter in the spatial domain. Default: 11.0 + Diameter of the mean filter perpendicular to the principal direction of the filter in the spatial domain. Default: 11.0 + Principal direction of the filter in the spatial domain. Default: 0.0 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate a Gaussian filter in the frequency domain. + Modified instance represents: Gaussian filter as image in the frequency domain. + + Standard deviation of the Gaussian in the principal direction of the filter in the spatial domain. Default: 1.0 + Standard deviation of the Gaussian perpendicular to the principal direction of the filter in the spatial domain. Default: 1.0 + Principal direction of the filter in the spatial domain. Default: 0.0 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate a derivative filter in the frequency domain. + Modified instance represents: Derivative filter as image in the frequency domain. + + Derivative to be computed. Default: "x" + Exponent used in the reverse transform. Default: 1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate a bandpass filter with Gaussian or sinusoidal shape. + Modified instance represents: Bandpass filter as image in the frequency domain. + + Distance of the filter's maximum from the DC term. Default: 0.1 + Bandwidth of the filter (standard deviation). Default: 0.01 + Filter type. Default: "sin" + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate a bandpass filter with sinusoidal shape. + Modified instance represents: Bandpass filter as image in the frequency domain. + + Distance of the filter's maximum from the DC term. Default: 0.1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate an ideal band filter. + Modified instance represents: Band filter in the frequency domain. + + Minimum frequency. Default: 0.1 + Maximum frequency. Default: 0.2 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate an ideal bandpass filter. + Modified instance represents: Bandpass filter in the frequency domain. + + Minimum frequency. Default: 0.1 + Maximum frequency. Default: 0.2 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate an ideal lowpass filter. + Modified instance represents: Lowpass filter in the frequency domain. + + Cutoff frequency. Default: 0.1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Generate an ideal highpass filter. + Modified instance represents: Highpass filter in the frequency domain. + + Cutoff frequency. Default: 0.1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Return the power spectrum of a complex image. + Instance represents: Input image in frequency domain. + + Power spectrum of the input image. + + + + Return the power spectrum of a complex image. + Instance represents: Input image in frequency domain. + + Power spectrum of the input image. + + + + Return the power spectrum of a complex image. + Instance represents: Input image in frequency domain. + + Power spectrum of the input image. + + + + Return the phase of a complex image in degrees. + Instance represents: Input image in frequency domain. + + Phase of the image in degrees. + + + + Return the phase of a complex image in radians. + Instance represents: Input image in frequency domain. + + Phase of the image in radians. + + + + Calculate the energy of a two-channel image. + Instance represents: 1st channel of input image (usually: Gabor image). + + 2nd channel of input image (usually: Hilbert image). + Image containing the local energy. + + + + Convolve an image with a Gabor filter in the frequency domain. + Instance represents: Input image. + + Gabor/Hilbert-Filter. + Result of the Hilbert filter. + Result of the Gabor filter. + + + + Generate a Gabor filter. + Modified instance represents: Gabor and Hilbert filter. + + Angle range, inversely proportional to the range of orientations. Default: 1.4 + Distance of the center of the filter to the DC term. Default: 0.4 + Bandwidth range, inversely proportional to the range of frequencies being passed. Default: 1.0 + Angle of the principal orientation. Default: 1.5 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + + Compute the phase correlation of two images in the frequency domain. + Instance represents: Fourier-transformed input image 1. + + Fourier-transformed input image 2. + Phase correlation of the input images in the frequency domain. + + + + Compute the correlation of two images in the frequency domain. + Instance represents: Fourier-transformed input image 1. + + Fourier-transformed input image 2. + Correlation of the input images in the frequency domain. + + + + Convolve an image with a filter in the frequency domain. + Instance represents: Complex input image. + + Filter in frequency domain. + Result of applying the filter. + + + + Compute the real-valued fast Fourier transform of an image. + Instance represents: Input image. + + Calculate forward or reverse transform. Default: "to_freq" + Normalizing factor of the transform. Default: "sqrt" + Image type of the output image. Default: "complex" + Width of the image for which the runtime should be optimized. Default: 512 + Fourier-transformed image. + + + + Compute the inverse fast Fourier transform of an image. + Instance represents: Input image. + + Inverse-Fourier-transformed image. + + + + Compute the fast Fourier transform of an image. + Instance represents: Input image. + + Fourier-transformed image. + + + + Compute the fast Fourier transform of an image. + Instance represents: Input image. + + Calculate forward or reverse transform. Default: "to_freq" + Sign of the exponent. Default: -1 + Normalizing factor of the transform. Default: "sqrt" + Location of the DC term in the frequency domain. Default: "dc_center" + Image type of the output image. Default: "complex" + Fourier-transformed image. + + + + Apply a shock filter to an image. + Instance represents: Input image. + + Time step. Default: 0.5 + Number of iterations. Default: 10 + Type of edge detector. Default: "canny" + Smoothing of edge detector. Default: 1.0 + Output image. + + + + Apply the mean curvature flow to an image. + Instance represents: Input image. + + Smoothing parameter for derivative operator. Default: 0.5 + Time step. Default: 0.5 + Number of iterations. Default: 10 + Output image. + + + + Perform a coherence enhancing diffusion of an image. + Instance represents: Input image. + + Smoothing for derivative operator. Default: 0.5 + Smoothing for diffusion coefficients. Default: 3.0 + Time step. Default: 0.5 + Number of iterations. Default: 10 + Output image. + + + + Histogram linearization of images + Instance represents: Image to be enhanced. + + Image with linearized gray values. + + + + Illuminate image. + Instance represents: Image to be enhanced. + + Width of low pass mask. Default: 101 + Height of low pass mask. Default: 101 + Scales the "`correction gray value"' added to the original gray values. Default: 0.7 + "`Illuminated"' image. + + + + Enhance contrast of the image. + Instance represents: Image to be enhanced. + + Width of low pass mask. Default: 7 + Height of the low pass mask. Default: 7 + Intensity of contrast emphasis. Default: 1.0 + contrast enhanced image. + + + + Maximum gray value spreading in the value range 0 to 255. + Instance represents: Image to be scaled. + + contrast enhanced image. + + + + Detect edges (amplitude and direction) using the Robinson operator. + Instance represents: Input image. + + Edge direction image. + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude) using the Robinson operator. + Instance represents: Input image. + + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude and direction) using the Kirsch operator. + Instance represents: Input image. + + Edge direction image. + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude) using the Kirsch operator. + Instance represents: Input image. + + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude and direction) using the Frei-Chen operator. + Instance represents: Input image. + + Edge direction image. + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude) using the Frei-Chen operator. + Instance represents: Input image. + + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude and direction) using the Prewitt operator. + Instance represents: Input image. + + Edge direction image. + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude) using the Prewitt operator. + Instance represents: Input image. + + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude) using the Sobel operator. + Instance represents: Input image. + + Filter type. Default: "sum_abs" + Size of filter mask. Default: 3 + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude) using the Sobel operator. + Instance represents: Input image. + + Filter type. Default: "sum_abs" + Size of filter mask. Default: 3 + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude and direction) using the Sobel operator. + Instance represents: Input image. + + Edge direction image. + Filter type. Default: "sum_abs" + Size of filter mask. Default: 3 + Edge amplitude (gradient magnitude) image. + + + + Detect edges (amplitude and direction) using the Sobel operator. + Instance represents: Input image. + + Edge direction image. + Filter type. Default: "sum_abs" + Size of filter mask. Default: 3 + Edge amplitude (gradient magnitude) image. + + + + Detect edges using the Roberts filter. + Instance represents: Input image. + + Filter type. Default: "gradient_sum" + Roberts-filtered result images. + + + + Calculate the Laplace operator by using finite differences. + Instance represents: Input image. + + Type of the result image, whereas for byte and uint2 the absolute value is used. Default: "absolute" + Size of filter mask. Default: 3 + Filter mask used in the Laplace operator Default: "n_4" + Laplace-filtered result image. + + + + Calculate the Laplace operator by using finite differences. + Instance represents: Input image. + + Type of the result image, whereas for byte and uint2 the absolute value is used. Default: "absolute" + Size of filter mask. Default: 3 + Filter mask used in the Laplace operator Default: "n_4" + Laplace-filtered result image. + + + + Extract high frequency components from an image. + Instance represents: Input image. + + Width of the filter mask. Default: 9 + Height of the filter mask. Default: 9 + High-pass-filtered result image. + + + + Extract subpixel precise color edges using Deriche, Shen, or Canny filters. + Instance represents: Input image. + + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Lower threshold for the hysteresis threshold operation. Default: 20 + Upper threshold for the hysteresis threshold operation. Default: 40 + Extracted edges. + + + + Extract subpixel precise color edges using Deriche, Shen, or Canny filters. + Instance represents: Input image. + + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Lower threshold for the hysteresis threshold operation. Default: 20 + Upper threshold for the hysteresis threshold operation. Default: 40 + Extracted edges. + + + + Extract color edges using Canny, Deriche, or Shen filters. + Instance represents: Input image. + + Edge direction image. + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Non-maximum suppression ('none', if not desired). Default: "nms" + Lower threshold for the hysteresis threshold operation (negative if no thresholding is desired). Default: 20 + Upper threshold for the hysteresis threshold operation (negative if no thresholding is desired). Default: 40 + Edge amplitude (gradient magnitude) image. + + + + Extract sub-pixel precise edges using Deriche, Lanser, Shen, or Canny filters. + Instance represents: Input image. + + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Lower threshold for the hysteresis threshold operation. Default: 20 + Upper threshold for the hysteresis threshold operation. Default: 40 + Extracted edges. + + + + Extract sub-pixel precise edges using Deriche, Lanser, Shen, or Canny filters. + Instance represents: Input image. + + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Lower threshold for the hysteresis threshold operation. Default: 20 + Upper threshold for the hysteresis threshold operation. Default: 40 + Extracted edges. + + + + Extract edges using Deriche, Lanser, Shen, or Canny filters. + Instance represents: Input image. + + Edge direction image. + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Non-maximum suppression ('none', if not desired). Default: "nms" + Lower threshold for the hysteresis threshold operation (negative, if no thresholding is desired). Default: 20 + Upper threshold for the hysteresis threshold operation (negative, if no thresholding is desired). Default: 40 + Edge amplitude (gradient magnitude) image. + + + + Extract edges using Deriche, Lanser, Shen, or Canny filters. + Instance represents: Input image. + + Edge direction image. + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Non-maximum suppression ('none', if not desired). Default: "nms" + Lower threshold for the hysteresis threshold operation (negative, if no thresholding is desired). Default: 20 + Upper threshold for the hysteresis threshold operation (negative, if no thresholding is desired). Default: 40 + Edge amplitude (gradient magnitude) image. + + + + Convolve an image with derivatives of the Gaussian. + Instance represents: Input images. + + Sigma of the Gaussian. Default: 1.0 + Derivative or feature to be calculated. Default: "x" + Filtered result images. + + + + Convolve an image with derivatives of the Gaussian. + Instance represents: Input images. + + Sigma of the Gaussian. Default: 1.0 + Derivative or feature to be calculated. Default: "x" + Filtered result images. + + + + LoG-Operator (Laplace of Gaussian). + Instance represents: Input image. + + Smoothing parameter of the Gaussian. Default: 2.0 + Laplace filtered image. + + + + LoG-Operator (Laplace of Gaussian). + Instance represents: Input image. + + Smoothing parameter of the Gaussian. Default: 2.0 + Laplace filtered image. + + + + Approximate the LoG operator (Laplace of Gaussian). + Instance represents: Input image + + Smoothing parameter of the Laplace operator to approximate. Default: 3.0 + Ratio of the standard deviations used (Marr recommends 1.6). Default: 1.6 + LoG image. + + + + Detect straight edge segments. + Instance represents: Input image. + + Mask size of the Sobel operator. Default: 5 + Minimum edge strength. Default: 32 + Maximum distance of the approximating line to its original edge. Default: 3 + Minimum length of to resulting line segments. Default: 10 + Row coordinate of the line segments' start points. + Column coordinate of the line segments' start points. + Row coordinate of the line segments' end points. + Column coordinate of the line segments' end points. + + + Release the look-up-table needed for color space transformation. + Handle of the look-up-table handle for the color space transformation. + + + + Color space transformation using pre-generated look-up-table. + Instance represents: Input image (channel 1). + + Input image (channel 2). + Input image (channel 3). + Color-transformed output image (channel 2). + Color-transformed output image (channel 3). + Handle of the look-up-table for the color space transformation. + Color-transformed output image (channel 1). + + + Creates the look-up-table for transformation of an image from the RGB color space to an arbitrary color space. + Color space of the output image. Default: "hsv" + Direction of color space transformation. Default: "from_rgb" + Number of bits of the input image. Default: 8 + Handle of the look-up-table for color space transformation. + + + + Convert a single-channel color filter array image into an RGB image. + Instance represents: Input image. + + Color filter array type. Default: "bayer_gb" + Interpolation type. Default: "bilinear" + Output image. + + + + Transform an RGB image into a gray scale image. + Instance represents: Three-channel RBG image. + + Gray scale image. + + + + Transform an RGB image to a gray scale image. + Instance represents: Input image (red channel). + + Input image (green channel). + Input image (blue channel). + Gray scale image. + + + + Transform an image from the RGB color space to an arbitrary color space. + Instance represents: Input image (red channel). + + Input image (green channel). + Input image (blue channel). + Color-transformed output image (channel 1). + Color-transformed output image (channel 1). + Color space of the output image. Default: "hsv" + Color-transformed output image (channel 1). + + + + Transform an image from an arbitrary color space to the RGB color space. + Instance represents: Input image (channel 1). + + Input image (channel 2). + Input image (channel 3). + Green channel. + Blue channel. + Color space of the input image. Default: "hsv" + Red channel. + + + + Logical "AND" of each pixel using a bit mask. + Instance represents: Input image(s). + + Bit field Default: 128 + Result image(s) by combination with mask. + + + + Extract a bit from the pixels. + Instance represents: Input image(s). + + Bit to be selected. Default: 8 + Result image(s) by extraction. + + + + Right shift of all pixels of the image. + Instance represents: Input image(s). + + shift value Default: 3 + Result image(s) by shift operation. + + + + Left shift of all pixels of the image. + Instance represents: Input image(s). + + Shift value. Default: 3 + Result image(s) by shift operation. + + + + Complement all bits of the pixels. + Instance represents: Input image(s). + + Result image(s) by complement operation. + + + + Bit-by-bit XOR of all pixels of the input images. + Instance represents: Input image(s) 1. + + Input image(s) 2. + Result image(s) by XOR-operation. + + + + Bit-by-bit OR of all pixels of the input images. + Instance represents: Input image(s) 1. + + Input image(s) 2. + Result image(s) by OR-operation. + + + + Bit-by-bit AND of all pixels of the input images. + Instance represents: Input image(s) 1. + + Input image(s) 2. + Result image(s) by AND-operation. + + + + Perform a gamma encoding or decoding of an image. + Instance represents: Input image. + + Gamma coefficient of the exponential part of the transformation. Default: 0.416666666667 + Offset of the exponential part of the transformation. Default: 0.055 + Gray value for which the transformation switches from linear to exponential. Default: 0.0031308 + Maximum gray value of the input image type. Default: 255.0 + If 'true', perform a gamma encoding, otherwise a gamma decoding. Default: "true" + Output image. + + + + Perform a gamma encoding or decoding of an image. + Instance represents: Input image. + + Gamma coefficient of the exponential part of the transformation. Default: 0.416666666667 + Offset of the exponential part of the transformation. Default: 0.055 + Gray value for which the transformation switches from linear to exponential. Default: 0.0031308 + Maximum gray value of the input image type. Default: 255.0 + If 'true', perform a gamma encoding, otherwise a gamma decoding. Default: "true" + Output image. + + + + Raise an image to a power. + Instance represents: Input image. + + Power to which the gray values are raised. Default: 2 + Output image. + + + + Raise an image to a power. + Instance represents: Input image. + + Power to which the gray values are raised. Default: 2 + Output image. + + + + Calculate the exponentiation of an image. + Instance represents: Input image. + + Base of the exponentiation. Default: "e" + Output image. + + + + Calculate the exponentiation of an image. + Instance represents: Input image. + + Base of the exponentiation. Default: "e" + Output image. + + + + Calculate the logarithm of an image. + Instance represents: Input image. + + Base of the logarithm. Default: "e" + Output image. + + + + Calculate the logarithm of an image. + Instance represents: Input image. + + Base of the logarithm. Default: "e" + Output image. + + + + Calculate the arctangent of two images. + Instance represents: Input image 1. + + Input image 2. + Output image. + + + + Calculate the arctangent of an image. + Instance represents: Input image. + + Output image. + + + + Calculate the arccosine of an image. + Instance represents: Input image. + + Output image. + + + + Calculate the arcsine of an image. + Instance represents: Input image. + + Output image. + + + + Calculate the tangent of an image. + Instance represents: Input image. + + Output image. + + + + Calculate the cosine of an image. + Instance represents: Input image. + + Output image. + + + + Calculate the sine of an image. + Instance represents: Input image. + + Output image. + + + + Calculate the absolute difference of two images. + Instance represents: Input image 1. + + Input image 2. + Scale factor. Default: 1.0 + Absolute value of the difference of the input images. + + + + Calculate the absolute difference of two images. + Instance represents: Input image 1. + + Input image 2. + Scale factor. Default: 1.0 + Absolute value of the difference of the input images. + + + + Calculate the square root of an image. + Instance represents: Input image + + Output image + + + + Subtract two images. + Instance represents: Minuend(s). + + Subtrahend(s). + Correction factor. Default: 1.0 + Correction value. Default: 128.0 + Result image(s) by the subtraction. + + + + Subtract two images. + Instance represents: Minuend(s). + + Subtrahend(s). + Correction factor. Default: 1.0 + Correction value. Default: 128.0 + Result image(s) by the subtraction. + + + + Scale the gray values of an image. + Instance represents: Image(s) whose gray values are to be scaled. + + Scale factor. Default: 0.01 + Offset. Default: 0 + Result image(s) by the scale. + + + + Scale the gray values of an image. + Instance represents: Image(s) whose gray values are to be scaled. + + Scale factor. Default: 0.01 + Offset. Default: 0 + Result image(s) by the scale. + + + + Divide two images. + Instance represents: Image(s) 1. + + Image(s) 2. + Factor for gray range adaption. Default: 255 + Value for gray range adaption. Default: 0 + Result image(s) by the division. + + + + Divide two images. + Instance represents: Image(s) 1. + + Image(s) 2. + Factor for gray range adaption. Default: 255 + Value for gray range adaption. Default: 0 + Result image(s) by the division. + + + + Multiply two images. + Instance represents: Image(s) 1. + + Image(s) 2. + Factor for gray range adaption. Default: 0.005 + Value for gray range adaption. Default: 0 + Result image(s) by the product. + + + + Multiply two images. + Instance represents: Image(s) 1. + + Image(s) 2. + Factor for gray range adaption. Default: 0.005 + Value for gray range adaption. Default: 0 + Result image(s) by the product. + + + + Add two images. + Instance represents: Image(s) 1. + + Image(s) 2. + Factor for gray value adaption. Default: 0.5 + Value for gray value range adaption. Default: 0 + Result image(s) by the addition. + + + + Add two images. + Instance represents: Image(s) 1. + + Image(s) 2. + Factor for gray value adaption. Default: 0.5 + Value for gray value range adaption. Default: 0 + Result image(s) by the addition. + + + + Calculate the absolute value (modulus) of an image. + Instance represents: Image(s) for which the absolute gray values are to be calculated. + + Result image(s). + + + + Calculate the minimum of two images pixel by pixel. + Instance represents: Image(s) 1. + + Image(s) 2. + Result image(s) by the minimization. + + + + Calculate the maximum of two images pixel by pixel. + Instance represents: Image(s) 1. + + Image(s) 2. + Result image(s) by the maximization. + + + + Invert an image. + Instance represents: Input image(s). + + Image(s) with inverted gray values. + + + + Apply an automatic color correction to panorama images. + Instance represents: Input images. + + List of source images. + List of destination images. + Reference image. + Projective matrices. + Estimation algorithm for the correction. Default: "standard" + Parameters to be estimated. Default: ["mult_gray"] + Model of OECF to be used. Default: ["laguerre"] + Output images. + + + + Apply an automatic color correction to panorama images. + Instance represents: Input images. + + List of source images. + List of destination images. + Reference image. + Projective matrices. + Estimation algorithm for the correction. Default: "standard" + Parameters to be estimated. Default: ["mult_gray"] + Model of OECF to be used. Default: ["laguerre"] + Output images. + + + + Create 6 cube map images of a spherical mosaic. + Instance represents: Input images. + + Rear cube map. + Left cube map. + Right cube map. + Top cube map. + Bottom cube map. + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + Width and height of the resulting cube maps. Default: 1000 + Mode of adding the images to the mosaic image. Default: "voronoi" + Mode of image interpolation. Default: "bilinear" + Front cube map. + + + + Create 6 cube map images of a spherical mosaic. + Instance represents: Input images. + + Rear cube map. + Left cube map. + Right cube map. + Top cube map. + Bottom cube map. + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + Width and height of the resulting cube maps. Default: 1000 + Mode of adding the images to the mosaic image. Default: "voronoi" + Mode of image interpolation. Default: "bilinear" + Front cube map. + + + + Create a spherical mosaic image. + Instance represents: Input images. + + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + Minimum latitude of points in the spherical mosaic image. Default: -90 + Maximum latitude of points in the spherical mosaic image. Default: 90 + Minimum longitude of points in the spherical mosaic image. Default: -180 + Maximum longitude of points in the spherical mosaic image. Default: 180 + Latitude and longitude angle step width. Default: 0.1 + Mode of adding the images to the mosaic image. Default: "voronoi" + Mode of interpolation when creating the mosaic image. Default: "bilinear" + Output image. + + + + Create a spherical mosaic image. + Instance represents: Input images. + + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + Minimum latitude of points in the spherical mosaic image. Default: -90 + Maximum latitude of points in the spherical mosaic image. Default: 90 + Minimum longitude of points in the spherical mosaic image. Default: -180 + Maximum longitude of points in the spherical mosaic image. Default: 180 + Latitude and longitude angle step width. Default: 0.1 + Mode of adding the images to the mosaic image. Default: "voronoi" + Mode of interpolation when creating the mosaic image. Default: "bilinear" + Output image. + + + + Combine multiple images into a mosaic image. + Instance represents: Input images. + + Array of 3x3 projective transformation matrices. + Stacking order of the images in the mosaic. Default: "default" + Should the domains of the input images also be transformed? Default: "false" + 3x3 projective transformation matrix that describes the translation that was necessary to transform all images completely into the output image. + Output image. + + + + Combine multiple images into a mosaic image. + Instance represents: Input images. + + Array of 3x3 projective transformation matrices. + Stacking order of the images in the mosaic. Default: "default" + Should the domains of the input images also be transformed? Default: "false" + 3x3 projective transformation matrix that describes the translation that was necessary to transform all images completely into the output image. + Output image. + + + + Combine multiple images into a mosaic image. + Instance represents: Input images. + + Index of the central input image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Stacking order of the images in the mosaic. Default: "default" + Should the domains of the input images also be transformed? Default: "false" + Array of 3x3 projective transformation matrices that determine the position of the images in the mosaic. + Output image. + + + + Combine multiple images into a mosaic image. + Instance represents: Input images. + + Index of the central input image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Stacking order of the images in the mosaic. Default: "default" + Should the domains of the input images also be transformed? Default: "false" + Array of 3x3 projective transformation matrices that determine the position of the images in the mosaic. + Output image. + + + + Apply a projective transformation to an image and specify the output image size. + Instance represents: Input image. + + Homogeneous projective transformation matrix. + Interpolation method for the transformation. Default: "bilinear" + Output image width. + Output image height. + Should the domain of the input image also be transformed? Default: "false" + Output image. + + + + Apply a projective transformation to an image. + Instance represents: Input image. + + Homogeneous projective transformation matrix. + Interpolation method for the transformation. Default: "bilinear" + Adapt the size of the output image automatically? Default: "false" + Should the domain of the input image also be transformed? Default: "false" + Output image. + + + + Apply an arbitrary affine 2D transformation to an image and specify the output image size. + Instance represents: Input image. + + Input transformation matrix. + Type of interpolation. Default: "constant" + Width of the output image. Default: 640 + Height of the output image. Default: 480 + Transformed image. + + + + Apply an arbitrary affine 2D transformation to images. + Instance represents: Input image. + + Input transformation matrix. + Type of interpolation. Default: "constant" + Adaption of size of result image. Default: "false" + Transformed image. + + + + Zoom an image by a given factor. + Instance represents: Input image. + + Scale factor for the width of the image. Default: 0.5 + Scale factor for the height of the image. Default: 0.5 + Type of interpolation. Default: "constant" + Scaled image. + + + + Zoom an image to a given size. + Instance represents: Input image. + + Width of the resulting image. Default: 512 + Height of the resulting image. Default: 512 + Type of interpolation. Default: "constant" + Scaled image. + + + + Mirror an image. + Instance represents: Input image. + + Axis of reflection. Default: "row" + Reflected image. + + + + Rotate an image about its center. + Instance represents: Input image. + + Rotation angle. Default: 90 + Type of interpolation. Default: "constant" + Rotated image. + + + + Rotate an image about its center. + Instance represents: Input image. + + Rotation angle. Default: 90 + Type of interpolation. Default: "constant" + Rotated image. + + + + Transform an image in polar coordinates back to cartesian coordinates + Instance represents: Input image. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the first column of the input image to. Default: 0.0 + Angle of the ray to map the last column of the input image to. Default: 6.2831853 + Radius of the circle to map the first row of the input image to. Default: 0 + Radius of the circle to map the last row of the input image to. Default: 100 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output image. + + + + Transform an image in polar coordinates back to cartesian coordinates + Instance represents: Input image. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the first column of the input image to. Default: 0.0 + Angle of the ray to map the last column of the input image to. Default: 6.2831853 + Radius of the circle to map the first row of the input image to. Default: 0 + Radius of the circle to map the last row of the input image to. Default: 100 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output image. + + + + Transform an annular arc in an image to polar coordinates. + Instance represents: Input image. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to the first column of the output image. Default: 0.0 + Angle of the ray to be mapped to the last column of the output image. Default: 6.2831853 + Radius of the circle to be mapped to the first row of the output image. Default: 0 + Radius of the circle to be mapped to the last row of the output image. Default: 100 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output image. + + + + Transform an annular arc in an image to polar coordinates. + Instance represents: Input image. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to the first column of the output image. Default: 0.0 + Angle of the ray to be mapped to the last column of the output image. Default: 6.2831853 + Radius of the circle to be mapped to the first row of the output image. Default: 0 + Radius of the circle to be mapped to the last row of the output image. Default: 100 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output image. + + + + Transform an image to polar coordinates + Instance represents: Input image in cartesian coordinates. + + Row coordinate of the center of the coordinate system. Default: 100 + Column coordinate of the center of the coordinate system. Default: 100 + Width of the result image. Default: 314 + Height of the result image. Default: 200 + Result image in polar coordinates. + + + + Approximate an affine map from a displacement vector field. + Instance represents: Input image. + + Output transformation matrix. + + + + Deserialize a serialized image object. + Modified instance represents: Image object. + + Handle of the serialized item. + + + + Serialize an image object. + Instance represents: Image object. + + Handle of the serialized item. + + + + Write images in graphic formats. + Instance represents: Input images. + + Graphic format. Default: "tiff" + Fill gray value for pixels not belonging to the image domain (region). Default: 0 + Name of image file. + + + + Write images in graphic formats. + Instance represents: Input images. + + Graphic format. Default: "tiff" + Fill gray value for pixels not belonging to the image domain (region). Default: 0 + Name of image file. + + + + Read images. + Modified instance represents: Image read. + + Number of bytes for file header. Default: 0 + Number of image columns of the filed image. Default: 512 + Number of image lines of the filed image. Default: 512 + Starting point of image area (line). Default: 0 + Starting point of image area (column). Default: 0 + Number of image columns of output image. Default: 512 + Number of image lines of output image. Default: 512 + Type of pixel values. Default: "byte" + Sequence of bits within one byte. Default: "MSBFirst" + Sequence of bytes within one 'short' unit. Default: "MSBFirst" + Data units within one image line (alignment). Default: "byte" + Number of images in the file. Default: 1 + Name of input file. + + + + Read an image with different file formats. + Modified instance represents: Read image. + + Name of the image to be read. Default: "printer_chip/printer_chip_01" + + + + Read an image with different file formats. + Modified instance represents: Read image. + + Name of the image to be read. Default: "printer_chip/printer_chip_01" + + + + Return gray values of an image at the positions of an XLD contour. + Instance represents: Image whose gray values are to be accessed. + + Input XLD contour with the coordinates of the positions. + Interpolation method. Default: "nearest_neighbor" + Gray values of the selected image coordinates. + + + + Calculate gray value moments and approximation by a first order surface (plane). + Instance represents: Corresponding gray values. + + Regions to be checked. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Calculate gray value moments and approximation by a first order surface (plane). + Instance represents: Corresponding gray values. + + Regions to be checked. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Calculate gray value moments and approximation by a second order surface. + Instance represents: Corresponding gray values. + + Regions to be checked. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Delta of the approximating surface. + Parameter Epsilon of the approximating surface. + Parameter Zeta of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Calculate gray value moments and approximation by a second order surface. + Instance represents: Corresponding gray values. + + Regions to be checked. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Delta of the approximating surface. + Parameter Epsilon of the approximating surface. + Parameter Zeta of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Create a curved gray surface with second order polynomial. + Modified instance represents: Created image with new image matrix. + + Pixel type. Default: "byte" + Second order coefficient in vertical direction. Default: 1.0 + Second order coefficient in horizontal direction. Default: 1.0 + Mixed second order coefficient. Default: 1.0 + First order coefficient in vertical direction. Default: 1.0 + First order coefficient in horizontal direction. Default: 1.0 + Zero order coefficient. Default: 1.0 + Row coordinate of the reference point of the surface. Default: 256.0 + Column coordinate of the reference point of the surface. Default: 256.0 + Width of image. Default: 512 + Height of image. Default: 512 + + + + Create a tilted gray surface with first order polynomial. + Modified instance represents: Created image with new image matrix. + + Pixel type. Default: "byte" + First order coefficient in vertical direction. Default: 1.0 + First order coefficient in horizontal direction. Default: 1.0 + Zero order coefficient. Default: 1.0 + Row coordinate of the reference point of the surface. Default: 256.0 + Column coordinate of the reference point of the surface. Default: 256.0 + Width of image. Default: 512 + Height of image. Default: 512 + + + + Determine the minimum and maximum gray values within regions. + Instance represents: Gray value image. + + Regions, the features of which are to be calculated. + Percentage below (above) the absolute maximum (minimum). Default: 0 + "Minimum" gray value. + "Maximum" gray value. + Difference between Max and Min. + + + + Determine the minimum and maximum gray values within regions. + Instance represents: Gray value image. + + Regions, the features of which are to be calculated. + Percentage below (above) the absolute maximum (minimum). Default: 0 + "Minimum" gray value. + "Maximum" gray value. + Difference between Max and Min. + + + + Calculate the mean and deviation of gray values. + Instance represents: Gray value image. + + Regions in which the features are calculated. + Deviation of gray values within a region. + Mean gray value of a region. + + + + Calculate the mean and deviation of gray values. + Instance represents: Gray value image. + + Regions in which the features are calculated. + Deviation of gray values within a region. + Mean gray value of a region. + + + + Calculate the gray value distribution of a single channel image within a certain gray value range. + Instance represents: Input image. + + Region in which the histogram is to be calculated. + Minimum gray value. Default: 0 + Maximum gray value. Default: 255 + Number of bins. Default: 256 + Bin size. + Histogram to be calculated. + + + + Calculate the gray value distribution of a single channel image within a certain gray value range. + Instance represents: Input image. + + Region in which the histogram is to be calculated. + Minimum gray value. Default: 0 + Maximum gray value. Default: 255 + Number of bins. Default: 256 + Bin size. + Histogram to be calculated. + + + + Calculate the histogram of two-channel gray value images. + Instance represents: Channel 1. + + Region in which the histogram is to be calculated. + Channel 2. + Histogram to be calculated. + + + + Calculate the gray value distribution. + Instance represents: Image the gray value distribution of which is to be calculated. + + Region in which the histogram is to be calculated. + Quantization of the gray values. Default: 1.0 + Absolute frequencies of the gray values. + + + + Calculate the gray value distribution. + Instance represents: Image the gray value distribution of which is to be calculated. + + Region in which the histogram is to be calculated. + Quantization of the gray values. Default: 1.0 + Absolute frequencies of the gray values. + + + + Calculate the gray value distribution. + Instance represents: Image the gray value distribution of which is to be calculated. + + Region in which the histogram is to be calculated. + Frequencies, normalized to the area of the region. + Absolute frequencies of the gray values. + + + + Determine the entropy and anisotropy of images. + Instance represents: Gray value image. + + Regions where the features are to be determined. + Measure of the symmetry of gray value distribution. + Information content (entropy) of the gray values. + + + + Determine the entropy and anisotropy of images. + Instance represents: Gray value image. + + Regions where the features are to be determined. + Measure of the symmetry of gray value distribution. + Information content (entropy) of the gray values. + + + + Calculate gray value features from a co-occurrence matrix. + Instance represents: Co-occurrence matrix. + + Correlation of gray values. + Local homogeneity of gray values. + Gray value contrast. + Homogeneity of the gray values. + + + + Calculate a co-occurrence matrix and derive gray value features thereof. + Instance represents: Corresponding gray values. + + Region to be examined. + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction in which the matrix is to be calculated. Default: 0 + Correlation of gray values. + Local homogeneity of gray values. + Gray value contrast. + Gray value energy. + + + + Calculate a co-occurrence matrix and derive gray value features thereof. + Instance represents: Corresponding gray values. + + Region to be examined. + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction in which the matrix is to be calculated. Default: 0 + Correlation of gray values. + Local homogeneity of gray values. + Gray value contrast. + Gray value energy. + + + + Calculate the co-occurrence matrix of a region in an image. + Instance represents: Image providing the gray values. + + Region to be checked. + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction of neighbor relation. Default: 0 + Co-occurrence matrix (matrices). + + + + Calculate gray value moments and approximation by a plane. + Instance represents: Corresponding gray values. + + Regions to be checked. + Mixed moments along a line. + Mixed moments along a column. + Parameter Alpha of the approximating plane. + Parameter Beta of the approximating plane. + Mean gray value. + + + + Calculate gray value moments and approximation by a plane. + Instance represents: Corresponding gray values. + + Regions to be checked. + Mixed moments along a line. + Mixed moments along a column. + Parameter Alpha of the approximating plane. + Parameter Beta of the approximating plane. + Mean gray value. + + + + Calculate the deviation of the gray values from the approximating image plane. + Instance represents: Gray value image. + + Regions, of which the plane deviation is to be calculated. + Deviation of the gray values within a region. + + + + Compute the orientation and major axes of a region in a gray value image. + Instance represents: Gray value image. + + Region(s) to be examined. + Minor axis of the region. + Angle enclosed by the major axis and the x-axis. + Major axis of the region. + + + + Compute the orientation and major axes of a region in a gray value image. + Instance represents: Gray value image. + + Region(s) to be examined. + Minor axis of the region. + Angle enclosed by the major axis and the x-axis. + Major axis of the region. + + + + Compute the area and center of gravity of a region in a gray value image. + Instance represents: Gray value image. + + Region(s) to be examined. + Row coordinate of the gray value center of gravity. + Column coordinate of the gray value center of gravity. + Gray value volume of the region. + + + + Compute the area and center of gravity of a region in a gray value image. + Instance represents: Gray value image. + + Region(s) to be examined. + Row coordinate of the gray value center of gravity. + Column coordinate of the gray value center of gravity. + Gray value volume of the region. + + + + Calculate horizontal and vertical gray-value projections. + Instance represents: Grayvalues for projections. + + Region to be processed. + Method to compute the projections. Default: "simple" + Vertical projection. + Horizontal projection. + + + + Detect and read 2D data code symbols in an image or train the 2D data code model. + Instance represents: Input image. If the image has a reduced domain, the data code search is reduced to that domain. This usually reduces the runtime of the operator. However, if the datacode is not fully inside the domain, the datacode might not be found correctly. In rare cases, data codes may be found outside the domain. If these results are undesirable, they have to be subsequently eliminated. + + Handle of the 2D data code model. + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handles of all successfully decoded 2D data code symbols. + Decoded data strings of all detected 2D data code symbols in the image. + XLD contours that surround the successfully decoded data code symbols. The order of the contour points reflects the orientation of the detected symbols. The contours begin in the top left corner (see 'orientation' at get_data_code_2d_results) and continue clockwise. Alignment{left} Figure[1][1][60]{get_data_code_2d_results-xld_qrcode} Order of points of SymbolXLDs Figure Alignment @f$ + + + + Detect and read 2D data code symbols in an image or train the 2D data code model. + Instance represents: Input image. If the image has a reduced domain, the data code search is reduced to that domain. This usually reduces the runtime of the operator. However, if the datacode is not fully inside the domain, the datacode might not be found correctly. In rare cases, data codes may be found outside the domain. If these results are undesirable, they have to be subsequently eliminated. + + Handle of the 2D data code model. + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handles of all successfully decoded 2D data code symbols. + Decoded data strings of all detected 2D data code symbols in the image. + XLD contours that surround the successfully decoded data code symbols. The order of the contour points reflects the orientation of the detected symbols. The contours begin in the top left corner (see 'orientation' at get_data_code_2d_results) and continue clockwise. Alignment{left} Figure[1][1][60]{get_data_code_2d_results-xld_qrcode} Order of points of SymbolXLDs Figure Alignment @f$ + + + + Convert image maps into other map types. + Instance represents: Input map. + + Type of MapConverted. Default: "coord_map_sub_pix" + Width of images to be mapped. Default: "map_width" + Converted map. + + + + Convert image maps into other map types. + Instance represents: Input map. + + Type of MapConverted. Default: "coord_map_sub_pix" + Width of images to be mapped. Default: "map_width" + Converted map. + + + Compute an absolute pose out of point correspondences between world and image coordinates. + X-Component of world coordinates. + Y-Component of world coordinates. + Z-Component of world coordinates. + Row-Component of image coordinates. + Column-Component of image coordinates. + The inner camera parameters from camera calibration. + Kind of algorithm Default: "iterative" + Type of pose quality to be returned in Quality. Default: "error" + Pose quality. + Pose. + + + Compute an absolute pose out of point correspondences between world and image coordinates. + X-Component of world coordinates. + Y-Component of world coordinates. + Z-Component of world coordinates. + Row-Component of image coordinates. + Column-Component of image coordinates. + The inner camera parameters from camera calibration. + Kind of algorithm Default: "iterative" + Type of pose quality to be returned in Quality. Default: "error" + Pose quality. + Pose. + + + Compute a pose out of a homography describing the relation between world and image coordinates. + The homography from world- to image coordinates. + The camera calibration matrix K. + Type of pose computation. Default: "decomposition" + Pose of the 2D object. + + + + Perform a radiometric self-calibration of a camera. + Instance represents: Input images. + + Ratio of the exposure energies of successive image pairs. Default: 0.5 + Features that are used to compute the inverse response function of the camera. Default: "2d_histogram" + Type of the inverse response function of the camera. Default: "discrete" + Smoothness of the inverse response function of the camera. Default: 1.0 + Degree of the polynomial if FunctionType = 'polynomial'. Default: 5 + Inverse response function of the camera. + + + + Perform a radiometric self-calibration of a camera. + Instance represents: Input images. + + Ratio of the exposure energies of successive image pairs. Default: 0.5 + Features that are used to compute the inverse response function of the camera. Default: "2d_histogram" + Type of the inverse response function of the camera. Default: "discrete" + Smoothness of the inverse response function of the camera. Default: 1.0 + Degree of the polynomial if FunctionType = 'polynomial'. Default: 5 + Inverse response function of the camera. + + + + Apply a general transformation to an image. + Instance represents: Image to be mapped. + + Image containing the mapping data. + Mapped image. + + + + Generate a projection map that describes the mapping of images corresponding to a changing radial distortion. + Modified instance represents: Image containing the mapping data. + + Old camera parameters. + New camera parameters. + Type of the mapping. Default: "bilinear" + + + + Generate a projection map that describes the mapping between the image plane and a the plane z=0 of a world coordinate system. + Modified instance represents: Image containing the mapping data. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Width of the images to be transformed. + Height of the images to be transformed. + Width of the resulting mapped images in pixels. + Height of the resulting mapped images in pixels. + Scale or unit. Default: "m" + Type of the mapping. Default: "bilinear" + + + + Generate a projection map that describes the mapping between the image plane and a the plane z=0 of a world coordinate system. + Modified instance represents: Image containing the mapping data. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Width of the images to be transformed. + Height of the images to be transformed. + Width of the resulting mapped images in pixels. + Height of the resulting mapped images in pixels. + Scale or unit. Default: "m" + Type of the mapping. Default: "bilinear" + + + + Rectify an image by transforming it into the plane z=0 of a world coordinate system. + Instance represents: Input image. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Width of the resulting image in pixels. + Height of the resulting image in pixels. + Scale or unit Default: "m" + Type of interpolation. Default: "bilinear" + Transformed image. + + + + Rectify an image by transforming it into the plane z=0 of a world coordinate system. + Instance represents: Input image. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Width of the resulting image in pixels. + Height of the resulting image in pixels. + Scale or unit Default: "m" + Type of interpolation. Default: "bilinear" + Transformed image. + + + + Change the radial distortion of an image. + Instance represents: Original image. + + Region of interest in ImageRectified. + Internal camera parameter for Image. + Internal camera parameter for Image. + Resulting image with modified radial distortion. + + + + Simulate an image with calibration plate. + Modified instance represents: Simulated calibration image. + + File name of the calibration plate description. Default: "calplate_320mm.cpd" + Internal camera parameters. + External camera parameters (3D pose of the calibration plate in camera coordinates). + Gray value of image background. Default: 128 + Gray value of calibration plate. Default: 80 + Gray value of calibration marks. Default: 224 + Scaling factor to reduce oversampling. Default: 1.0 + + + + Extract rectangularly arranged 2D calibration marks from the image and calculate initial values for the external camera parameters. + Instance represents: Input image. + + Region of the calibration plate. + File name of the calibration plate description. Default: "caltab_100.descr" + Initial values for the internal camera parameters. + Initial threshold value for contour detection. Default: 128 + Loop value for successive reduction of StartThresh. Default: 10 + Minimum threshold for contour detection. Default: 18 + Filter parameter for contour detection, see edges_image. Default: 0.9 + Minimum length of the contours of the marks. Default: 15.0 + Maximum expected diameter of the marks. Default: 100.0 + Tuple with column coordinates of the detected marks. + Estimation for the external camera parameters. + Tuple with row coordinates of the detected marks. + + + + Segment the region of a standard calibration plate with rectangularly arranged marks in the image. + Instance represents: Input image. + + File name of the calibration plate description. Default: "caltab_100.descr" + Filter size of the Gaussian. Default: 3 + Threshold value for mark extraction. Default: 112 + Expected minimal diameter of the marks on the calibration plate. Default: 5 + Output region. + + + + Segment the region of a standard calibration plate with rectangularly arranged marks in the image. + Instance represents: Input image. + + File name of the calibration plate description. Default: "caltab_100.descr" + Filter size of the Gaussian. Default: 3 + Threshold value for mark extraction. Default: 112 + Expected minimal diameter of the marks on the calibration plate. Default: 5 + Output region. + + + + Decode bar code symbols within a rectangle. + Instance represents: Input image. + + Handle of the bar code model. + Type of the searched bar code. Default: "EAN-13" + Row index of the center. Default: 50.0 + Column index of the center. Default: 100.0 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the rectangle along the reading direction of the bar code. Default: 200.0 + Half of the length of the rectangle perpendicular to the reading direction of the bar code. Default: 100.0 + Data strings of all successfully decoded bar codes. + + + + Decode bar code symbols within a rectangle. + Instance represents: Input image. + + Handle of the bar code model. + Type of the searched bar code. Default: "EAN-13" + Row index of the center. Default: 50.0 + Column index of the center. Default: 100.0 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the rectangle along the reading direction of the bar code. Default: 200.0 + Half of the length of the rectangle perpendicular to the reading direction of the bar code. Default: 100.0 + Data strings of all successfully decoded bar codes. + + + + Detect and read bar code symbols in an image. + Instance represents: Input image. If the image has a reduced domain, the barcode search is reduced to that domain. This usually reduces the runtime of the operator. However, if the barcode is not fully inside the domain, the barcode cannot be decoded correctly. + + Handle of the bar code model. + Type of the searched bar code. Default: "auto" + Data strings of all successfully decoded bar codes. + Regions of the successfully decoded bar code symbols. + + + + Detect and read bar code symbols in an image. + Instance represents: Input image. If the image has a reduced domain, the barcode search is reduced to that domain. This usually reduces the runtime of the operator. However, if the barcode is not fully inside the domain, the barcode cannot be decoded correctly. + + Handle of the bar code model. + Type of the searched bar code. Default: "auto" + Data strings of all successfully decoded bar codes. + Regions of the successfully decoded bar code symbols. + + + + Return the estimated background image. + Modified instance represents: Estimated background image of the current data set. + + ID of the BgEsti data set. + + + + Change the estimated background image. + Instance represents: Current image. + + Region describing areas to change. + ID of the BgEsti data set. + + + + Estimate the background and return the foreground region. + Instance represents: Current image. + + ID of the BgEsti data set. + Region of the detected foreground. + + + + Generate and initialize a data set for the background estimation. + Instance represents: initialization image. + + 1. system matrix parameter. Default: 0.7 + 2. system matrix parameter. Default: 0.7 + Gain type. Default: "fixed" + Kalman gain / foreground adaptation time. Default: 0.002 + Kalman gain / background adaptation time. Default: 0.02 + Threshold adaptation. Default: "on" + Foreground/background threshold. Default: 7.0 + Number of statistic data sets. Default: 10 + Confidence constant. Default: 3.25 + Constant for decay time. Default: 15.0 + ID of the BgEsti data set. + + + + Asynchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Grabbed image data. + + Pre-processed XLD contours. + Handle of the acquisition device to be used. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Pre-processed control data. + Pre-processed image regions. + + + + Asynchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Grabbed image data. + + Pre-processed XLD contours. + Handle of the acquisition device to be used. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Pre-processed control data. + Pre-processed image regions. + + + + Synchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Grabbed image data. + + Preprocessed XLD contours. + Handle of the acquisition device to be used. + Preprocessed control data. + Preprocessed image regions. + + + + Synchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Grabbed image data. + + Preprocessed XLD contours. + Handle of the acquisition device to be used. + Preprocessed control data. + Preprocessed image regions. + + + + Asynchronous grab of an image from the specified image acquisition device. + Modified instance represents: Grabbed image. + + Handle of the acquisition device to be used. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + + + + Synchronous grab of an image from the specified image acquisition device. + Modified instance represents: Grabbed image. + + Handle of the acquisition device to be used. + + + + Add training images to the texture inspection model. + Instance represents: Image of flawless texture. + + Handle of the texture inspection model. + Indices of the images that have been added to the texture inspection model. + + + + Inspection of the texture within an image. + Instance represents: Image of the texture to be inspected. + + Handle of the texture inspection model. + Handle of the inspection results. + Novelty regions. + + + + bilateral filtering of an image. + Instance represents: Image to be filtered. + + Joint image. + Size of the Gaussian of the closeness function. Default: 3.0 + Size of the Gaussian of the similarity function. Default: 20.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Filtered output image. + + + + bilateral filtering of an image. + Instance represents: Image to be filtered. + + Joint image. + Size of the Gaussian of the closeness function. Default: 3.0 + Size of the Gaussian of the similarity function. Default: 20.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Filtered output image. + + + + Find the best matches of multiple NCC models. + Instance represents: Input image in which the model should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.8 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple NCC models. + Instance represents: Input image in which the model should be found. + + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.8 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Get the training images contained in a texture inspection model. + Modified instance represents: Training images contained in the texture inspection model. + + Handle of the texture inspection model. + + + + Guided filtering of an image. + Instance represents: Input image. + + Guidance image. + Radius of the filtering operation. Default: 3 + Controls the influence of edges on the smoothing. Default: 20.0 + Output image. + + + + Create an interleaved image from a multichannel image. + Instance represents: Input multichannel image. + + Target format for InterleavedImage. Default: "rgba" + Number of bytes in a row of the output image. Default: "match" + Alpha value for three channel input images. Default: 255 + Output interleaved image. + + + + Create an interleaved image from a multichannel image. + Instance represents: Input multichannel image. + + Target format for InterleavedImage. Default: "rgba" + Number of bytes in a row of the output image. Default: "match" + Alpha value for three channel input images. Default: 255 + Output interleaved image. + + + + Segment image using Maximally Stable Extremal Regions (MSER). + Instance represents: Input image. + + Segmented light MSERs. + The polarity of the returned MSERs. Default: "both" + Minimal size of an MSER. Default: 10 + Maximal size of an MSER. Default: [] + Amount of thresholds for which a region needs to be stable. Default: 15 + List of generic parameter names. Default: [] + List of generic parameter values. Default: [] + Segmented dark MSERs. + + + + Segment image using Maximally Stable Extremal Regions (MSER). + Instance represents: Input image. + + Segmented light MSERs. + The polarity of the returned MSERs. Default: "both" + Minimal size of an MSER. Default: 10 + Maximal size of an MSER. Default: [] + Amount of thresholds for which a region needs to be stable. Default: 15 + List of generic parameter names. Default: [] + List of generic parameter values. Default: [] + Segmented dark MSERs. + + + Train a texture inspection model. + Handle of the texture inspection model. + + + + Reconstruct a surface from several, differently illuminated images. + Instance represents: The Images. + + The Gradient. + The Albedo. + The Result type. Default: "all" + The NormalField. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Get the clutter parameters of a shape model. + Handle of the model. + Parameter names. Default: "use_clutter" + Parameter values. + Transformation matrix. + Minimum contrast of clutter in the search images. + Region where no clutter should occur. + + + Get the clutter parameters of a shape model. + Handle of the model. + Parameter names. Default: "use_clutter" + Parameter values. + Transformation matrix. + Minimum contrast of clutter in the search images. + Region where no clutter should occur. + + + Set the clutter parameters of a shape model. + Region where no clutter should occur. + Handle of the model. + Transformation matrix. + Minimum contrast of clutter in the search images. Default: 128 + Parameter names. + Parameter values. + + + Set the clutter parameters of a shape model. + Region where no clutter should occur. + Handle of the model. + Transformation matrix. + Minimum contrast of clutter in the search images. Default: 128 + Parameter names. + Parameter values. + + + Returns the iconic object(s) at the specified index + + + Class grouping system information related functionality. + + + Query slots concerning information with relation to the operator get_operator_info. + Slotnames of the operator get_operator_info. + + + Query slots of the online-information concerning the operator get_param_info. + Slotnames for the operator get_param_info. + + + Get operators with the given string as a substring of their name. + Substring of the seeked names (empty $ less than = greater than $ all names). Default: "info" + Detected operator names. + + + Get default data type for the control parameters of a HALCON-operator. + Name of the operator. Default: "get_param_types" + Default type of the output control parameters. + Default type of the input control parameters. + + + Get number of the different parameter classes of a HALCON-operator. + Name of the operator. Default: "get_param_num" + Number of the input object parameters. + Number of the output object parameters. + Number of the input control parameters. + Number of the output control parameters. + System operator or user procedure. + Name of the called C-function. + + + Get the names of the parameters of a HALCON-operator. + Name of the operator. Default: "get_param_names" + Names of the output objects. + Names of the input control parameters. + Names of the output control parameters. + Names of the input objects. + + + Get information concerning a HALCON-operator. + Name of the operator on which more information is needed. Default: "get_operator_info" + Desired information. Default: "abstract" + Information (empty if no information is available) + + + Get information concerning the operator parameters. + Name of the operator on whose parameter more information is needed. Default: "get_param_info" + Name of the parameter on which more information is needed. Default: "Slot" + Desired information. Default: "description" + Information (empty in case there is no information available). + + + Search names of all operators assigned to one keyword. + Keyword for which corresponding operators are searched. Default: "Information" + Operators whose slot 'keyword' contains the keyword. + + + Get keywords which are assigned to operators. + Substring in the names of those operators for which keywords are needed. Default: "get_keywords" + Keywords for the operators. + + + Get information concerning the chapters on operators. + Operator class or subclass of interest. Default: "" + Operator classes (Chapter = ") or operator subclasses respectively operators. + + + Get information concerning the chapters on operators. + Operator class or subclass of interest. Default: "" + Operator classes (Chapter = ") or operator subclasses respectively operators. + + + Query all available window types. + Names of available window types. + + + Get the output treatment of an image matrix. + Window handle. + Display mode for images. + + + Query the region display modes. + region display mode names. + + + Query the possible line widths. + Displayable minimum width. + Displayable maximum width. + + + Query the number of colors for color output. + Tuple of the possible numbers of colors. + + + Query information about the specified image acquisition interface. + HALCON image acquisition interface name, i.e., name of the corresponding DLL (Windows) or shared library (Linux/macOS). Default: "File" + Name of the chosen query. Default: "info_boards" + List of values (according to Query). + Textual information (according to Query). + + + Represents an instance of a channel of an I/O device. + + + + Open and configure I/O channels. + Modified instance represents: Handles of the opened I/O channel. + + Handle of the opened I/O device. + HALCON I/O channel names of the specified device. + Parameter names. Default: [] + Parameter values. Default: [] + + + Perform an action on I/O channels. + Handles of the opened I/O channels. + Name of the action to perform. + List of arguments for the action. Default: [] + List of values returned by the action. + + + + Perform an action on I/O channels. + Instance represents: Handles of the opened I/O channels. + + Name of the action to perform. + List of arguments for the action. Default: [] + List of values returned by the action. + + + Write a value to the specified I/O channels. + Handles of the opened I/O channels. + Write values. + Status of written values. + + + + Write a value to the specified I/O channels. + Instance represents: Handles of the opened I/O channels. + + Write values. + Status of written values. + + + Read a value from the specified I/O channels. + Handles of the opened I/O channels. + Status of read value. + Read value. + + + + Read a value from the specified I/O channels. + Instance represents: Handles of the opened I/O channels. + + Status of read value. + Read value. + + + Set specific parameters of I/O channels. + Handles of the opened I/O channels. + Parameter names. Default: [] + Parameter values to set. Default: [] + + + + Set specific parameters of I/O channels. + Instance represents: Handles of the opened I/O channels. + + Parameter names. Default: [] + Parameter values to set. Default: [] + + + Query specific parameters of I/O channels. + Handles of the opened I/O channels. + Parameter names. Default: "param_name" + Parameter values. + + + + Query specific parameters of I/O channels. + Instance represents: Handles of the opened I/O channels. + + Parameter names. Default: "param_name" + Parameter values. + + + Close I/O channels. + Handles of the opened I/O channels. + + + + Close I/O channels. + Instance represents: Handles of the opened I/O channels. + + + + Open and configure I/O channels. + Handle of the opened I/O device. + HALCON I/O channel names of the specified device. + Parameter names. Default: [] + Parameter values. Default: [] + Handles of the opened I/O channel. + + + + Open and configure I/O channels. + Modified instance represents: Handles of the opened I/O channel. + + Handle of the opened I/O device. + HALCON I/O channel names of the specified device. + Parameter names. Default: [] + Parameter values. Default: [] + + + Represents an instance of an I/O device. + + + + Open and configure an I/O device. + Modified instance represents: Handle of the opened I/O device. + + HALCON I/O interface name. Default: [] + I/O device name. Default: [] + Dynamic parameter names. Default: [] + Dynamic parameter values. Default: [] + + + + Open and configure I/O channels. + Instance represents: Handle of the opened I/O device. + + HALCON I/O channel names of the specified device. + Parameter names. Default: [] + Parameter values. Default: [] + Handles of the opened I/O channel. + + + + Open and configure I/O channels. + Instance represents: Handle of the opened I/O device. + + HALCON I/O channel names of the specified device. + Parameter names. Default: [] + Parameter values. Default: [] + Handles of the opened I/O channel. + + + + Query information about channels of the specified I/O device. + Instance represents: Handle of the opened I/O device. + + Channel names to query. + Name of the query. Default: "param_name" + List of values (according to Query). + + + + Query information about channels of the specified I/O device. + Instance represents: Handle of the opened I/O device. + + Channel names to query. + Name of the query. Default: "param_name" + List of values (according to Query). + + + + Perform an action on the I/O device. + Instance represents: Handle of the opened I/O device. + + Name of the action to perform. + List of arguments for the action. Default: [] + List of result values returned by the action. + + + + Perform an action on the I/O device. + Instance represents: Handle of the opened I/O device. + + Name of the action to perform. + List of arguments for the action. Default: [] + List of result values returned by the action. + + + + Configure a specific I/O device instance. + Instance represents: Handle of the opened I/O device. + + Parameter names. Default: [] + Parameter values to set. Default: [] + + + + Configure a specific I/O device instance. + Instance represents: Handle of the opened I/O device. + + Parameter names. Default: [] + Parameter values to set. Default: [] + + + + Query settings of an I/O device instance. + Instance represents: Handle of the opened I/O device. + + Parameter names. Default: "param_name" + Parameter values. + + + + Query settings of an I/O device instance. + Instance represents: Handle of the opened I/O device. + + Parameter names. Default: "param_name" + Parameter values. + + + + Close the specified I/O device. + Instance represents: Handle of the opened I/O device. + + + + + Open and configure an I/O device. + Modified instance represents: Handle of the opened I/O device. + + HALCON I/O interface name. Default: [] + I/O device name. Default: [] + Dynamic parameter names. Default: [] + Dynamic parameter values. Default: [] + + + Perform an action on the I/O interface. + HALCON I/O interface name. Default: [] + Name of the action to perform. + List of arguments for the action. Default: [] + List of results returned by the action. + + + Perform an action on the I/O interface. + HALCON I/O interface name. Default: [] + Name of the action to perform. + List of arguments for the action. Default: [] + List of results returned by the action. + + + Query information about the specified I/O device interface. + HALCON I/O interface name. Default: [] + Parameter name of the query. Default: "io_device_names" + List of result values (according to Query). + + + Query information about the specified I/O device interface. + HALCON I/O interface name. Default: [] + Parameter name of the query. Default: "io_device_names" + List of result values (according to Query). + + + Represents an instance of a lexicon. + + + + Create a lexicon from a text file. + Modified instance represents: Handle of the lexicon. + + Unique name for the new lexicon. Default: "lex1" + Name of a text file containing words for the new lexicon. Default: "words.txt" + + + + Create a lexicon from a tuple of words. + Modified instance represents: Handle of the lexicon. + + Unique name for the new lexicon. Default: "lex1" + Word list for the new lexicon. Default: ["word1","word2","word3"] + + + + Clear a lexicon. + Instance represents: Handle of the lexicon. + + + + + Find a similar word in a lexicon. + Instance represents: Handle of the lexicon. + + Word to be looked up. Default: "word" + Difference between the words in edit operations. + Most similar word found in the lexicon. + + + + Check if a word is contained in a lexicon. + Instance represents: Handle of the lexicon. + + Word to be looked up. Default: "word" + Result of the search. + + + + Query all words from a lexicon. + Instance represents: Handle of the lexicon. + + List of all words. + + + + Create a lexicon from a text file. + Modified instance represents: Handle of the lexicon. + + Unique name for the new lexicon. Default: "lex1" + Name of a text file containing words for the new lexicon. Default: "words.txt" + + + + Create a lexicon from a tuple of words. + Modified instance represents: Handle of the lexicon. + + Unique name for the new lexicon. Default: "lex1" + Word list for the new lexicon. Default: ["word1","word2","word3"] + + + Represents an instance of a matrix. + + + + Read a matrix from a file. + Modified instance represents: Matrix handle. + + File name. + + + + Create a matrix. + Modified instance represents: Matrix handle. + + Number of rows of the matrix. Default: 3 + Number of columns of the matrix. Default: 3 + Values for initializing the elements of the matrix. Default: 0 + + + + Create a matrix. + Modified instance represents: Matrix handle. + + Number of rows of the matrix. Default: 3 + Number of columns of the matrix. Default: 3 + Values for initializing the elements of the matrix. Default: 0 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Negate the matrix + + + Add two matrices + + + Subtract two matrices + + + Multiplies two matrices + + + Scale a matrix + + + Scale a matrix + + + Solve linear system matrix2 * x = matrix1 + + + + Deserialize a serialized matrix. + Modified instance represents: Matrix handle. + + Handle of the serialized item. + + + + Serialize a matrix. + Instance represents: Matrix handle. + + Handle of the serialized item. + + + + Read a matrix from a file. + Modified instance represents: Matrix handle. + + File name. + + + + Write a matrix to a file. + Instance represents: Matrix handle of the input matrix. + + Format of the file. Default: "binary" + File name. + + + + Perform an orthogonal decomposition of a matrix. + Instance represents: Matrix handle of the input matrix. + + Method of decomposition. Default: "qr" + Type of output matrices. Default: "full" + Computation of the orthogonal matrix. Default: "true" + Matrix handle with the triangular part of the decomposed input matrix. + Matrix handle with the orthogonal part of the decomposed input matrix. + + + + Decompose a matrix. + Instance represents: Matrix handle of the input matrix. + + Type of the input matrix. Default: "general" + Matrix handle with the output matrix 2. + Matrix handle with the output matrix 1. + + + + Compute the singular value decomposition of a matrix. + Instance represents: Matrix handle of the input matrix. + + Type of computation. Default: "full" + Computation of singular values. Default: "both" + Matrix handle with singular values. + Matrix handle with the right singular vectors. + Matrix handle with the left singular vectors. + + + + Compute the generalized eigenvalues and optionally the generalized eigenvectors of general matrices. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + Computation of the eigenvectors. Default: "none" + Matrix handle with the real parts of the eigenvalues. + Matrix handle with the imaginary parts of the eigenvalues. + Matrix handle with the real parts of the eigenvectors. + Matrix handle with the imaginary parts of the eigenvectors. + + + + Compute the generalized eigenvalues and optionally generalized eigenvectors of symmetric input matrices. + Instance represents: Matrix handle of the symmetric input matrix A. + + Matrix handle of the symmetric positive definite input matrix B. + Computation of the eigenvectors. Default: "false" + Matrix handle with the eigenvectors. + Matrix handle with the eigenvalues. + + + + Compute the eigenvalues and optionally the eigenvectors of a general matrix. + Instance represents: Matrix handle of the input matrix. + + Computation of the eigenvectors. Default: "none" + Matrix handle with the real parts of the eigenvalues. + Matrix handle with the imaginary parts of the eigenvalues. + Matrix handle with the real parts of the eigenvectors. + Matrix handle with the imaginary parts of the eigenvectors. + + + + Compute the eigenvalues and optionally eigenvectors of a symmetric matrix. + Instance represents: Matrix handle of the input matrix. + + Computation of the eigenvectors. Default: "false" + Matrix handle with the eigenvectors. + Matrix handle with the eigenvalues. + + + + Compute the solution of a system of equations. + Instance represents: Matrix handle of the input matrix of the left hand side. + + The type of the input matrix of the left hand side. Default: "general" + Type of solving and limitation to set singular values to be 0. Default: 0.0 + Matrix handle of the input matrix of right hand side. + New matrix handle with the solution. + + + + Compute the determinant of a matrix. + Instance represents: Matrix handle of the input matrix. + + The type of the input matrix. Default: "general" + Determinant of the input matrix. + + + + Invert a matrix. + Instance represents: Matrix handle of the input matrix. + + The type of the input matrix. Default: "general" + Type of inversion. Default: 0.0 + + + + Invert a matrix. + Instance represents: Matrix handle of the input matrix. + + The type of the input matrix. Default: "general" + Type of inversion. Default: 0.0 + Matrix handle with the inverse matrix. + + + + Transpose a matrix. + Instance represents: Matrix handle of the input matrix. + + + + + Transpose a matrix. + Instance represents: Matrix handle of the input matrix. + + Matrix handle with the transpose of the input matrix. + + + + Returns the elementwise maximum of a matrix. + Instance represents: Matrix handle of the input matrix. + + Type of maximum determination. Default: "columns" + Matrix handle with the maximum values of the input matrix. + + + + Returns the elementwise minimum of a matrix. + Instance represents: Matrix handle of the input matrix. + + Type of minimum determination. Default: "columns" + Matrix handle with the minimum values of the input matrix. + + + + Compute the power functions of a matrix. + Instance represents: Matrix handle of the input matrix. + + The type of the input matrix. Default: "general" + The power. Default: 2.0 + + + + Compute the power functions of a matrix. + Instance represents: Matrix handle of the input matrix. + + The type of the input matrix. Default: "general" + The power. Default: 2.0 + + + + Compute the power functions of a matrix. + Instance represents: Matrix handle of the input matrix. + + The type of the input matrix. Default: "general" + The power. Default: 2.0 + Matrix handle with the raised powered matrix. + + + + Compute the power functions of a matrix. + Instance represents: Matrix handle of the input matrix. + + The type of the input matrix. Default: "general" + The power. Default: 2.0 + Matrix handle with the raised powered matrix. + + + + Compute the power functions of the elements of a matrix. + Instance represents: Matrix handle of the input matrix of the base. + + Matrix handle of the input matrix with exponents. + + + + Compute the power functions of the elements of a matrix. + Instance represents: Matrix handle of the input matrix of the base. + + Matrix handle of the input matrix with exponents. + Matrix handle with the raised power of the input matrix. + + + + Compute the power functions of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + The power. Default: 2.0 + + + + Compute the power functions of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + The power. Default: 2.0 + + + + Compute the power functions of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + The power. Default: 2.0 + Matrix handle with the raised power of the input matrix. + + + + Compute the power functions of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + The power. Default: 2.0 + Matrix handle with the raised power of the input matrix. + + + + Compute the square root values of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + + + + Compute the square root values of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Matrix handle with the square root values of the input matrix. + + + + Compute the absolute values of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + + + + Compute the absolute values of the elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Matrix handle with the absolute values of the input matrix. + + + + Norm of a matrix. + Instance represents: Matrix handle of the input matrix. + + Type of norm. Default: "2-norm" + Norm of the input matrix. + + + + Returns the elementwise mean of a matrix. + Instance represents: Matrix handle of the input matrix. + + Type of mean determination. Default: "columns" + Matrix handle with the mean values of the input matrix. + + + + Returns the elementwise sum of a matrix. + Instance represents: Matrix handle of the input matrix. + + Type of summation. Default: "columns" + Matrix handle with the sum of the input matrix. + + + + Divide matrices element-by-element. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + + + + Divide matrices element-by-element. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + Matrix handle with the divided values of input matrices. + + + + Multiply matrices element-by-element. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + + + + Multiply matrices element-by-element. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + Matrix handle with the multiplied values of the input matrices. + + + + Scale a matrix. + Instance represents: Matrix handle of the input matrix. + + Scale factor. Default: 2.0 + + + + Scale a matrix. + Instance represents: Matrix handle of the input matrix. + + Scale factor. Default: 2.0 + + + + Scale a matrix. + Instance represents: Matrix handle of the input matrix. + + Scale factor. Default: 2.0 + Matrix handle with the scaled elements. + + + + Scale a matrix. + Instance represents: Matrix handle of the input matrix. + + Scale factor. Default: 2.0 + Matrix handle with the scaled elements. + + + + Subtract two matrices. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + + + + Subtract two matrices. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + Matrix handle with the difference of the input matrices. + + + + Add two matrices. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + + + + Add two matrices. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + Matrix handle with the sum of the input matrices. + + + + Multiply two matrices. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + Type of the input matrices. Default: "AB" + + + + Multiply two matrices. + Instance represents: Matrix handle of the input matrix A. + + Matrix handle of the input matrix B. + Type of the input matrices. Default: "AB" + Matrix handle of the multiplied matrices. + + + + Get the size of a matrix. + Instance represents: Matrix handle of the input matrix. + + Number of rows of the matrix. + Number of columns of the matrix. + + + + Repeat a matrix. + Instance represents: Matrix handle of the input matrix. + + Number of copies of input matrix in row direction. Default: 2 + Number of copies of input matrix in column direction. Default: 2 + Matrix handle of the repeated copied matrix. + + + + Copy a matrix. + Instance represents: Matrix handle of the input matrix. + + Matrix handle of the copied matrix. + + + + Set the diagonal elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Matrix handle containing the diagonal elements to be set. + Position of the diagonal. Default: 0 + + + + Get the diagonal elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Number of the desired diagonal. Default: 0 + Matrix handle containing the diagonal elements. + + + + Set a sub-matrix of a matrix. + Instance represents: Matrix handle of the input matrix. + + Matrix handle of the input sub-matrix. + Upper row position of the sub-matrix in the matrix. Default: 0 + Left column position of the sub-matrix in the matrix. Default: 0 + + + + Get a sub-matrix of a matrix. + Instance represents: Matrix handle of the input matrix. + + Upper row position of the sub-matrix in the input matrix. Default: 0 + Left column position of the sub-matrix in the input matrix. Default: 0 + Number of rows of the sub-matrix. Default: 1 + Number of columns of the sub-matrix. Default: 1 + Matrix handle of the sub-matrix. + + + + Set all values of a matrix. + Instance represents: Matrix handle of the input matrix. + + Values to be set. + + + + Set all values of a matrix. + Instance represents: Matrix handle of the input matrix. + + Values to be set. + + + + Return all values of a matrix. + Instance represents: Matrix handle of the input matrix. + + Values of the matrix elements. + + + + Set one or more elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Row numbers of the matrix elements to be modified. Default: 0 + Column numbers of the matrix elements to be modified. Default: 0 + Values to be set in the indicated matrix elements. Default: 0 + + + + Set one or more elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Row numbers of the matrix elements to be modified. Default: 0 + Column numbers of the matrix elements to be modified. Default: 0 + Values to be set in the indicated matrix elements. Default: 0 + + + + Return one ore more elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Row numbers of matrix elements to be returned. Default: 0 + Column numbers of matrix elements to be returned. Default: 0 + Values of indicated matrix elements. + + + + Return one ore more elements of a matrix. + Instance represents: Matrix handle of the input matrix. + + Row numbers of matrix elements to be returned. Default: 0 + Column numbers of matrix elements to be returned. Default: 0 + Values of indicated matrix elements. + + + Free the memory of a matrix. + Matrix handle. + + + + Free the memory of a matrix. + Instance represents: Matrix handle. + + + + + Create a matrix. + Modified instance represents: Matrix handle. + + Number of rows of the matrix. Default: 3 + Number of columns of the matrix. Default: 3 + Values for initializing the elements of the matrix. Default: 0 + + + + Create a matrix. + Modified instance represents: Matrix handle. + + Number of rows of the matrix. Default: 3 + Number of columns of the matrix. Default: 3 + Values for initializing the elements of the matrix. Default: 0 + + + Indexer for accessing matrix elements + + + Get the number of rows + + + Get the number of columns + + + Represents an instance of a tool to measure distances. + + + + Prepare the extraction of straight edges perpendicular to an annular arc. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the arc. Default: 100.0 + Column coordinate of the center of the arc. Default: 100.0 + Radius of the arc. Default: 50.0 + Start angle of the arc in radians. Default: 0.0 + Angular extent of the arc in radians. Default: 6.28318 + Radius (half width) of the annulus. Default: 10.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + + Prepare the extraction of straight edges perpendicular to an annular arc. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the arc. Default: 100.0 + Column coordinate of the center of the arc. Default: 100.0 + Radius of the arc. Default: 50.0 + Start angle of the arc in radians. Default: 0.0 + Angular extent of the arc in radians. Default: 6.28318 + Radius (half width) of the annulus. Default: 10.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + + Prepare the extraction of straight edges perpendicular to a rectangle. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Angle of longitudinal axis of the rectangle to horizontal (radians). Default: 0.0 + Half width of the rectangle. Default: 100.0 + Half height of the rectangle. Default: 20.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + + Prepare the extraction of straight edges perpendicular to a rectangle. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Angle of longitudinal axis of the rectangle to horizontal (radians). Default: 0.0 + Half width of the rectangle. Default: 100.0 + Half height of the rectangle. Default: 20.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Serialize a measure object. + Instance represents: Measure object handle. + + Handle of the serialized item. + + + + Deserialize a serialized measure object. + Modified instance represents: Measure object handle. + + Handle of the serialized item. + + + + Write a measure object to a file. + Instance represents: Measure object handle. + + File name. + + + + Read a measure object from a file. + Modified instance represents: Measure object handle. + + File name. + + + + Extracting points with a particular gray value along a rectangle or an annular arc. + Instance represents: Measure object handle. + + Input image. + Sigma of gaussian smoothing. Default: 1.0 + Threshold. Default: 128.0 + Selection of points. Default: "all" + Row coordinates of points with threshold value. + Column coordinates of points with threshold value. + Distance between consecutive points. + + + + Delete a measure object. + Instance represents: Measure object handle. + + + + + Extract a gray value profile perpendicular to a rectangle or annular arc. + Instance represents: Measure object handle. + + Input image. + Gray value profile. + + + + Reset a fuzzy function. + Instance represents: Measure object handle. + + Selection of the fuzzy set. Default: "contrast" + + + + Specify a normalized fuzzy function for edge pairs. + Instance represents: Measure object handle. + + Favored width of edge pairs. Default: 10.0 + Selection of the fuzzy set. Default: "size_abs_diff" + Fuzzy function. + + + + Specify a normalized fuzzy function for edge pairs. + Instance represents: Measure object handle. + + Favored width of edge pairs. Default: 10.0 + Selection of the fuzzy set. Default: "size_abs_diff" + Fuzzy function. + + + + Specify a fuzzy function. + Instance represents: Measure object handle. + + Selection of the fuzzy set. Default: "contrast" + Fuzzy function. + + + + Extract straight edge pairs perpendicular to a rectangle or an annular arc. + Instance represents: Measure object handle. + + Input image. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select the first gray value transition of the edge pairs. Default: "all" + Constraint of pairing. Default: "no_restriction" + Number of edge pairs. Default: 10 + Row coordinate of the first edge. + Column coordinate of the first edge. + Edge amplitude of the first edge (with sign). + Row coordinate of the second edge. + Column coordinate of the second edge. + Edge amplitude of the second edge (with sign). + Row coordinate of the center of the edge pair. + Column coordinate of the center of the edge pair. + Fuzzy evaluation of the edge pair. + Distance between the edges of the edge pair. + + + + Extract straight edge pairs perpendicular to a rectangle or an annular arc. + Instance represents: Measure object handle. + + Input image. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select the first gray value transition of the edge pairs. Default: "all" + Row coordinate of the first edge point. + Column coordinate of the first edge point. + Edge amplitude of the first edge (with sign). + Row coordinate of the second edge point. + Column coordinate of the second edge point. + Edge amplitude of the second edge (with sign). + Row coordinate of the center of the edge pair. + Column coordinate of the center of the edge pair. + Fuzzy evaluation of the edge pair. + Distance between edges of an edge pair. + Distance between consecutive edge pairs. + + + + Extract straight edges perpendicular to a rectangle or an annular arc. + Instance represents: Measure object handle. + + Input image. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select light/dark or dark/light edges. Default: "all" + Row coordinate of the edge point. + Column coordinate of the edge point. + Edge amplitude of the edge (with sign). + Fuzzy evaluation of the edges. + Distance between consecutive edges. + + + + Extract straight edge pairs perpendicular to a rectangle or annular arc. + Instance represents: Measure object handle. + + Input image. + Sigma of gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Type of gray value transition that determines how edges are grouped to edge pairs. Default: "all" + Selection of edge pairs. Default: "all" + Row coordinate of the center of the first edge. + Column coordinate of the center of the first edge. + Edge amplitude of the first edge (with sign). + Row coordinate of the center of the second edge. + Column coordinate of the center of the second edge. + Edge amplitude of the second edge (with sign). + Distance between edges of an edge pair. + Distance between consecutive edge pairs. + + + + Extract straight edges perpendicular to a rectangle or annular arc. + Instance represents: Measure object handle. + + Input image. + Sigma of gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Light/dark or dark/light edge. Default: "all" + Selection of end points. Default: "all" + Row coordinate of the center of the edge. + Column coordinate of the center of the edge. + Edge amplitude of the edge (with sign). + Distance between consecutive edges. + + + + Translate a measure object. + Instance represents: Measure object handle. + + Row coordinate of the new reference point. Default: 50.0 + Column coordinate of the new reference point. Default: 100.0 + + + + Translate a measure object. + Instance represents: Measure object handle. + + Row coordinate of the new reference point. Default: 50.0 + Column coordinate of the new reference point. Default: 100.0 + + + + Prepare the extraction of straight edges perpendicular to an annular arc. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the arc. Default: 100.0 + Column coordinate of the center of the arc. Default: 100.0 + Radius of the arc. Default: 50.0 + Start angle of the arc in radians. Default: 0.0 + Angular extent of the arc in radians. Default: 6.28318 + Radius (half width) of the annulus. Default: 10.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + + Prepare the extraction of straight edges perpendicular to an annular arc. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the arc. Default: 100.0 + Column coordinate of the center of the arc. Default: 100.0 + Radius of the arc. Default: 50.0 + Start angle of the arc in radians. Default: 0.0 + Angular extent of the arc in radians. Default: 6.28318 + Radius (half width) of the annulus. Default: 10.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + + Prepare the extraction of straight edges perpendicular to a rectangle. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Angle of longitudinal axis of the rectangle to horizontal (radians). Default: 0.0 + Half width of the rectangle. Default: 100.0 + Half height of the rectangle. Default: 20.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + + Prepare the extraction of straight edges perpendicular to a rectangle. + Modified instance represents: Measure object handle. + + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Angle of longitudinal axis of the rectangle to horizontal (radians). Default: 0.0 + Half width of the rectangle. Default: 100.0 + Half height of the rectangle. Default: 20.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + + + Represents an instance of a data container to be sent via message queues. + + + + Create a new empty message. + Modified instance represents: Handle of the newly created message. + + + + + Read a message from a file. + Modified instance represents: Message handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Read a message from a file. + Modified instance represents: Message handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Query message parameters or information about the message. + Instance represents: Message handle. + + Names of the message parameters or info queries. Default: "message_keys" + Message keys the parameter/query should be applied to. + Values of the message parameters or info queries. + + + + Query message parameters or information about the message. + Instance represents: Message handle. + + Names of the message parameters or info queries. Default: "message_keys" + Message keys the parameter/query should be applied to. + Values of the message parameters or info queries. + + + + Set message parameter or invoke commands on the message. + Instance represents: Message handle. + + Names of the message parameters or action commands. Default: "remove_key" + Message keys the parameter/command should be applied to. + Values of the message parameters or action commands. + + + + Set message parameter or invoke commands on the message. + Instance represents: Message handle. + + Names of the message parameters or action commands. Default: "remove_key" + Message keys the parameter/command should be applied to. + Values of the message parameters or action commands. + + + + Retrieve an object associated with the key from the message. + Instance represents: Message handle. + + Key string or integer. + Tuple value retrieved from the message. + + + + Retrieve an object associated with the key from the message. + Instance represents: Message handle. + + Key string or integer. + Tuple value retrieved from the message. + + + + Add a key/object pair to the message. + Instance represents: Message handle. + + Object to be associated with the key. + Key string or integer. + + + + Add a key/object pair to the message. + Instance represents: Message handle. + + Object to be associated with the key. + Key string or integer. + + + + Retrieve a tuple associated with the key from the message. + Instance represents: Message handle. + + Key string or integer. + Tuple value retrieved from the message. + + + + Retrieve a tuple associated with the key from the message. + Instance represents: Message handle. + + Key string or integer. + Tuple value retrieved from the message. + + + + Add a key/tuple pair to the message. + Instance represents: Message handle. + + Key string or integer. + Tuple value to be associated with the key. + + + + Add a key/tuple pair to the message. + Instance represents: Message handle. + + Key string or integer. + Tuple value to be associated with the key. + + + Close a message handle and release all associated resources. + Message handle(s) to be closed. + + + + Close a message handle and release all associated resources. + Instance represents: Message handle(s) to be closed. + + + + + Create a new empty message. + Modified instance represents: Handle of the newly created message. + + + + + Read a message from a file. + Modified instance represents: Message handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Read a message from a file. + Modified instance represents: Message handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Write a message to a file. + Instance represents: Message handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + + Write a message to a file. + Instance represents: Message handle. + + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + Represents an instance of a message queue for inter-thread communication. + + + + Create a new empty message queue. + Modified instance represents: Handle of the newly created message queue. + + + + + Query message queue parameters or information about the queue. + Instance represents: Message queue handle. + + Names of the queue parameters or info queries. Default: "max_message_num" + Values of the queue parameters or info queries. + + + + Query message queue parameters or information about the queue. + Instance represents: Message queue handle. + + Names of the queue parameters or info queries. Default: "max_message_num" + Values of the queue parameters or info queries. + + + + Set message queue parameters or invoke commands on the queue. + Instance represents: Message queue handle. + + Names of the queue parameters or action commands. Default: "max_message_num" + Values of the queue parameters or action commands. Default: 1 + + + + Set message queue parameters or invoke commands on the queue. + Instance represents: Message queue handle. + + Names of the queue parameters or action commands. Default: "max_message_num" + Values of the queue parameters or action commands. Default: 1 + + + + Receive one or more messages from the message queue. + Instance represents: Message queue handle. + + Names of optional generic parameters Default: "timeout" + Values of optional generic parameters Default: "infinite" + Handle(s) of the dequeued message(s). + + + + Receive one or more messages from the message queue. + Instance represents: Message queue handle. + + Names of optional generic parameters Default: "timeout" + Values of optional generic parameters Default: "infinite" + Handle(s) of the dequeued message(s). + + + + Enqueue one or more messages to the message queue. + Instance represents: Message queue handle. + + Handle(s) of message(s) to be enqueued. + Names of optional generic parameters. + Values of optional generic parameters. + + + + Enqueue one or more messages to the message queue. + Instance represents: Message queue handle. + + Handle(s) of message(s) to be enqueued. + Names of optional generic parameters. + Values of optional generic parameters. + + + Close a message queue handle and release all associated resources. + Message queue handle(s) to be closed. + + + + Close a message queue handle and release all associated resources. + Instance represents: Message queue handle(s) to be closed. + + + + + Create a new empty message queue. + Modified instance represents: Handle of the newly created message queue. + + + + Represents an instance of a metrology model. + + + + Read a metrology model from a file. + Modified instance represents: Handle of the metrology model. + + File name. + + + + Create the data structure that is needed to measure geometric shapes. + Modified instance represents: Handle of the metrology model. + + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Query the model contour of a metrology object in image coordinates. + Instance represents: Handle of the metrology model. + + Index of the metrology object. Default: 0 + Distance between neighboring contour points. Default: 1.5 + Model contour. + + + + Query the model contour of a metrology object in image coordinates. + Instance represents: Handle of the metrology model. + + Index of the metrology object. Default: 0 + Distance between neighboring contour points. Default: 1.5 + Model contour. + + + + Query the result contour of a metrology object. + Instance represents: Handle of the metrology model. + + Index of the metrology object. Default: 0 + Instance of the metrology object. Default: "all" + Distance between neighboring contour points. Default: 1.5 + Result contour for the given metrology object. + + + + Query the result contour of a metrology object. + Instance represents: Handle of the metrology model. + + Index of the metrology object. Default: 0 + Instance of the metrology object. Default: "all" + Distance between neighboring contour points. Default: 1.5 + Result contour for the given metrology object. + + + + Alignment of a metrology model. + Instance represents: Handle of the metrology model. + + Row coordinate of the alignment. Default: 0 + Column coordinate of the alignment. Default: 0 + Rotation angle of the alignment. Default: 0 + + + + Alignment of a metrology model. + Instance represents: Handle of the metrology model. + + Row coordinate of the alignment. Default: 0 + Column coordinate of the alignment. Default: 0 + Rotation angle of the alignment. Default: 0 + + + + Add a metrology object to a metrology model. + Instance represents: Handle of the metrology model. + + Type of the metrology object to be added. Default: "circle" + Parameters of the metrology object to be added. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add a metrology object to a metrology model. + Instance represents: Handle of the metrology model. + + Type of the metrology object to be added. Default: "circle" + Parameters of the metrology object to be added. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Get parameters that are valid for the entire metrology model. + Instance represents: Handle of the metrology model. + + Name of the generic parameter. Default: "camera_param" + Value of the generic parameter. + + + + Set parameters that are valid for the entire metrology model. + Instance represents: Handle of the metrology model. + + Name of the generic parameter. Default: "camera_param" + Value of the generic parameter. Default: [] + + + + Set parameters that are valid for the entire metrology model. + Instance represents: Handle of the metrology model. + + Name of the generic parameter. Default: "camera_param" + Value of the generic parameter. Default: [] + + + + Deserialize a serialized metrology model. + Modified instance represents: Handle of the metrology model. + + Handle of the serialized item. + + + + Serialize a metrology model. + Instance represents: Handle of the metrology model. + + Handle of the serialized item. + + + + Transform metrology objects of a metrology model, e.g. for alignment. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Translation in row direction. + Translation in column direction. + Rotation angle. + Mode of the transformation. Default: "absolute" + + + + Transform metrology objects of a metrology model, e.g. for alignment. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Translation in row direction. + Translation in column direction. + Rotation angle. + Mode of the transformation. Default: "absolute" + + + + Write a metrology model to a file. + Instance represents: Handle of the metrology model. + + File name. + + + + Read a metrology model from a file. + Modified instance represents: Handle of the metrology model. + + File name. + + + + Copy a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Handle of the copied metrology model. + + + + Copy a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Handle of the copied metrology model. + + + + Copy metrology metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Indices of the copied metrology objects. + + + + Copy metrology metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Indices of the copied metrology objects. + + + + Get the number of instances of the metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: 0 + Number of Instances of the metrology objects. + + + + Get the number of instances of the metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: 0 + Number of Instances of the metrology objects. + + + + Get the results of the measurement of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology object. Default: 0 + Instance of the metrology object. Default: "all" + Name of the generic parameter. Default: "result_type" + Value of the generic parameter. Default: "all_param" + Result values. + + + + Get the results of the measurement of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology object. Default: 0 + Instance of the metrology object. Default: "all" + Name of the generic parameter. Default: "result_type" + Value of the generic parameter. Default: "all_param" + Result values. + + + + Get the measure regions and the results of the edge location for the metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Select light/dark or dark/light edges. Default: "all" + Row coordinates of the measured edges. + Column coordinates of the measured edges. + Rectangular XLD Contours of measure regions. + + + + Get the measure regions and the results of the edge location for the metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Select light/dark or dark/light edges. Default: "all" + Row coordinates of the measured edges. + Column coordinates of the measured edges. + Rectangular XLD Contours of measure regions. + + + + Measure and fit the geometric shapes of all metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Input image. + + + + Get the indices of the metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Indices of the metrology objects. + + + + Reset all fuzzy parameters and fuzzy functions of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + + + + Reset all fuzzy parameters and fuzzy functions of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + + + + Reset all parameters of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + + + + Reset all parameters of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + + + + Get a fuzzy parameter of a metroloy model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "fuzzy_thresh" + Values of the generic parameters. + + + + Get a fuzzy parameter of a metroloy model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "fuzzy_thresh" + Values of the generic parameters. + + + + Get one or several parameters of a metroloy model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "num_measures" + Values of the generic parameters. + + + + Get one or several parameters of a metroloy model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "num_measures" + Values of the generic parameters. + + + + Set fuzzy parameters or fuzzy functions for a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "fuzzy_thresh" + Values of the generic parameters. Default: 0.5 + + + + Set fuzzy parameters or fuzzy functions for a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "fuzzy_thresh" + Values of the generic parameters. Default: 0.5 + + + + Set parameters for the metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "num_instances" + Values of the generic parameters. Default: 1 + + + + Set parameters for the metrology objects of a metrology model. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "num_instances" + Values of the generic parameters. Default: 1 + + + + Add a rectangle to a metrology model. + Instance represents: Handle of the metrology model. + + Row (or Y) coordinate of the center of the rectangle. + Column (or X) coordinate of the center of the rectangle. + Orientation of the main axis [rad]. + Length of the larger half edge of the rectangle. + Length of the smaller half edge of the rectangle. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add a rectangle to a metrology model. + Instance represents: Handle of the metrology model. + + Row (or Y) coordinate of the center of the rectangle. + Column (or X) coordinate of the center of the rectangle. + Orientation of the main axis [rad]. + Length of the larger half edge of the rectangle. + Length of the smaller half edge of the rectangle. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add a line to a metrology model. + Instance represents: Handle of the metrology model. + + Row (or Y) coordinate of the start of the line. + Column (or X) coordinate of the start of the line. + Row (or Y) coordinate of the end of the line. + Column (or X) coordinate of the end of the line. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add a line to a metrology model. + Instance represents: Handle of the metrology model. + + Row (or Y) coordinate of the start of the line. + Column (or X) coordinate of the start of the line. + Row (or Y) coordinate of the end of the line. + Column (or X) coordinate of the end of the line. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add an ellipse or an elliptic arc to a metrology model. + Instance represents: Handle of the metrology model. + + Row (or Y) coordinate of the center of the ellipse. + Column (or X) coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add an ellipse or an elliptic arc to a metrology model. + Instance represents: Handle of the metrology model. + + Row (or Y) coordinate of the center of the ellipse. + Column (or X) coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add a circle or a circular arc to a metrology model. + Instance represents: Handle of the metrology model. + + Row coordinate (or Y) of the center of the circle or circular arc. + Column (or X) coordinate of the center of the circle or circular arc. + Radius of the circle or circular arc. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Add a circle or a circular arc to a metrology model. + Instance represents: Handle of the metrology model. + + Row coordinate (or Y) of the center of the circle or circular arc. + Column (or X) coordinate of the center of the circle or circular arc. + Radius of the circle or circular arc. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + + Delete a metrology model and free the allocated memory. + Instance represents: Handle of the metrology model. + + + + + Delete metrology objects and free the allocated memory. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + + + + Delete metrology objects and free the allocated memory. + Instance represents: Handle of the metrology model. + + Index of the metrology objects. Default: "all" + + + + Set the size of the image of metrology objects. + Instance represents: Handle of the metrology model. + + Width of the image to be processed. Default: 640 + Height of the image to be processed. Default: 480 + + + + Create the data structure that is needed to measure geometric shapes. + Modified instance represents: Handle of the metrology model. + + + + Class grouping methods belonging to no other HALCON class. + + + Write a tuple to a file. + Tuple with any kind of data. + Name of the file to be written. + + + Read a tuple from a file. + Name of the file to be read. + Tuple with any kind of data. + + + This operator is inoperable. It had the following function: Close all serial devices. + + + This operator is inoperable. It had the following function: Clear all OCV tools. + + + This operator is inoperable. It had the following function: Destroy all OCR classifiers. + + + Concat training files. + Names of the single training files. Default: "" + Name of the composed training file. Default: "all_characters" + + + Concat training files. + Names of the single training files. Default: "" + Name of the composed training file. Default: "all_characters" + + + Query which characters are stored in a (protected) training file. + Names of the training files. Default: "" + Passwords for protected training files. + Number of characters. + Names of the read characters. + + + Query which characters are stored in a (protected) training file. + Names of the training files. Default: "" + Passwords for protected training files. + Number of characters. + Names of the read characters. + + + Query which characters are stored in a training file. + Names of the training files. Default: "" + Number of characters. + Names of the read characters. + + + Query which characters are stored in a training file. + Names of the training files. Default: "" + Number of characters. + Names of the read characters. + + + This operator is inoperable. It had the following function: Delete all measure objects. + + + Convert spherical coordinates of a 3D point to Cartesian coordinates. + Longitude of the 3D point. + Latitude of the 3D point. + Radius of the 3D point. + Normal vector of the equatorial plane (points to the north pole). Default: "-y" + Coordinate axis in the equatorial plane that points to the zero meridian. Default: "-z" + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + Convert spherical coordinates of a 3D point to Cartesian coordinates. + Longitude of the 3D point. + Latitude of the 3D point. + Radius of the 3D point. + Normal vector of the equatorial plane (points to the north pole). Default: "-y" + Coordinate axis in the equatorial plane that points to the zero meridian. Default: "-z" + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + Convert Cartesian coordinates of a 3D point to spherical coordinates. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Normal vector of the equatorial plane (points to the north pole). Default: "-y" + Coordinate axis in the equatorial plane that points to the zero meridian. Default: "-z" + Latitude of the 3D point. + Radius of the 3D point. + Longitude of the 3D point. + + + Convert Cartesian coordinates of a 3D point to spherical coordinates. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Normal vector of the equatorial plane (points to the north pole). Default: "-y" + Coordinate axis in the equatorial plane that points to the zero meridian. Default: "-z" + Latitude of the 3D point. + Radius of the 3D point. + Longitude of the 3D point. + + + Read the description file of a Kalman filter. + Description file for a Kalman filter. Default: "kalman.init" + The lined up matrices A, C, Q, possibly G and u, and if necessary L stored in row-major order. + The matrix R stored in row-major order. + The matrix P0@f$P_{0}$ (error covariance matrix of the initial state estimate) stored in row-major order and the initial state estimate x0@f$x_{0}$ lined up. + The dimensions of the state vector, the measurement vector and the controller vector. + + + Read an update file of a Kalman filter. + Update file for a Kalman filter. Default: "kalman.updt" + The dimensions of the state vector, measurement vector and controller vector. Default: [3,1,0] + The lined up matrices A,C,Q, possibly G and u, and if necessary L which all have been stored in row-major order. Default: [1.0,1.0,0.5,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,54.3,37.9,48.0,37.9,34.3,42.5,48.0,42.5,43.7] + The matrix R stored in row-major order. Default: [1,2] + The lined up matrices A,C,Q, possibly G and u, and if necessary L which all have been stored in row-major order. + The matrix R stored in row-major order. + The dimensions of the state vector, measurement vector and controller vector. + + + Estimate the current state of a system with the help of the Kalman filtering. + The dimensions of the state vector, the measurement and the controller vector. Default: [3,1,0] + The lined up matrices A,C,Q, possibly G and u, and if necessary L which have been stored in row-major order. Default: [1.0,1.0,0.5,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,54.3,37.9,48.0,37.9,34.3,42.5,48.0,42.5,43.7] + The matrix R stored in row-major order and the measurement vector y lined up. Default: [1.2,1.0] + The matrix P*@f$P$ (the extrapolation-error covariances) stored in row-major order and the extrapolation vector x*@f$x$ lined up. Default: [0.0,0.0,0.0,0.0,180.5,0.0,0.0,0.0,100.0,0.0,100.0,0.0] + The matrix P~@f$P$ (the estimation-error covariances) stored in row-major order and the estimated state x~@f$x$ lined up. + The matrix P* (the extrapolation-error covariances)stored in row-major order and the extrapolation vector x*@f$x$ lined up. + + + Generate a PostScript file, which describes the rectification grid. + Width of the checkered pattern in meters (without the two frames). Default: 0.17 + Number of squares per row and column. Default: 17 + File name of the PostScript file. Default: "rectification_grid.ps" + + + Generate a projection map that describes the mapping between an arbitrarily distorted image and the rectified image. + Distance of the grid points in the rectified image. + Row coordinates of the grid points in the distorted image. + Column coordinates of the grid points in the distorted image. + Width of the point grid (number of grid points). + Width of the images to be rectified. + Height of the images to be rectified. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + Calculate the projection of a point onto a line. + Row coordinate of the point. + Column coordinate of the point. + Row coordinate of the first point on the line. + Column coordinate of the first point on the line. + Row coordinate of the second point on the line. + Column coordinate of the second point on the line. + Row coordinate of the projected point. + Column coordinate of the projected point + + + Calculate the projection of a point onto a line. + Row coordinate of the point. + Column coordinate of the point. + Row coordinate of the first point on the line. + Column coordinate of the first point on the line. + Row coordinate of the second point on the line. + Column coordinate of the second point on the line. + Row coordinate of the projected point. + Column coordinate of the projected point + + + Calculate a point of an ellipse corresponding to a specific angle. + Angle corresponding to the resulting point [rad]. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Row coordinate of the point on the ellipse. + Column coordinates of the point on the ellipse. + + + Calculate a point of an ellipse corresponding to a specific angle. + Angle corresponding to the resulting point [rad]. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Row coordinate of the point on the ellipse. + Column coordinates of the point on the ellipse. + + + Calculate the intersection point of two lines. + Row coordinate of the first point of the first line. + Column coordinate of the first point of the first line. + Row coordinate of the second point of the first line. + Column coordinate of the second point of the first line. + Row coordinate of the first point of the second line. + Column coordinate of the first point of the second line. + Row coordinate of the second point of the second line. + Column coordinate of the second point of the second line. + Row coordinate of the intersection point. + Column coordinate of the intersection point. + Are the two lines parallel? + + + Calculate the intersection point of two lines. + Row coordinate of the first point of the first line. + Column coordinate of the first point of the first line. + Row coordinate of the second point of the first line. + Column coordinate of the second point of the first line. + Row coordinate of the first point of the second line. + Column coordinate of the first point of the second line. + Row coordinate of the second point of the second line. + Column coordinate of the second point of the second line. + Row coordinate of the intersection point. + Column coordinate of the intersection point. + Are the two lines parallel? + + + Calculate the angle between one line and the horizontal axis. + Row coordinate the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Angle between the line and the horizontal axis [rad]. + + + Calculate the angle between one line and the horizontal axis. + Row coordinate the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Angle between the line and the horizontal axis [rad]. + + + Calculate the angle between two lines. + Row coordinate of the first point of the first line. + Column coordinate of the first point of the first line. + Row coordinate of the second point of the first line. + Column coordinate of the second point of the first line. + Row coordinate of the first point of the second line. + Column coordinate of the first point of the second line. + Row coordinate of the second point of the second line. + Column coordinate of the second point of the second line. + Angle between the lines [rad]. + + + Calculate the angle between two lines. + Row coordinate of the first point of the first line. + Column coordinate of the first point of the first line. + Row coordinate of the second point of the first line. + Column coordinate of the second point of the first line. + Row coordinate of the first point of the second line. + Column coordinate of the first point of the second line. + Row coordinate of the second point of the second line. + Column coordinate of the second point of the second line. + Angle between the lines [rad]. + + + Calculate the distances between a line segment and a line. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line segment and the line. + Maximum distance between the line segment and the line. + + + Calculate the distances between a line segment and a line. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line segment and the line. + Maximum distance between the line segment and the line. + + + Calculate the distances between two line segments. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Row coordinate of the first point of the line. + Column of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line segments. + Maximum distance between the line segments. + + + Calculate the distances between two line segments. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Row coordinate of the first point of the line. + Column of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line segments. + Maximum distance between the line segments. + + + Calculate the distances between a point and a line segment. + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the point and the line segment. + Maximum distance between the point and the line segment. + + + Calculate the distances between a point and a line segment. + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the point and the line segment. + Maximum distance between the point and the line segment. + + + Calculate the distance between one point and one line. + Row coordinate of the point. + Column of the point. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Distance between the points. + + + Calculate the distance between one point and one line. + Row coordinate of the point. + Column of the point. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Distance between the points. + + + Calculate the distance between two points. + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the second point. + Column coordinate of the second point. + Distance between the points. + + + Calculate the distance between two points. + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the second point. + Column coordinate of the second point. + Distance between the points. + + + Information on smoothing filter smooth_image. + Name of required filter. Default: "deriche2" + Filter parameter: small values effect strong smoothing (reversed in case of 'gauss'). Default: 0.5 + In case of gauss filter: coefficients of the "positive" half of the 1D impulse answer. + Width of filter is approx. size x size pixels. + + + Generate a Gaussian noise distribution. + Standard deviation of the Gaussian noise distribution. Default: 2.0 + Resulting Gaussian noise distribution. + + + Generate a salt-and-pepper noise distribution. + Percentage of salt (white noise pixels). Default: 5.0 + Percentage of pepper (black noise pixels). Default: 5.0 + Resulting noise distribution. + + + Generate a salt-and-pepper noise distribution. + Percentage of salt (white noise pixels). Default: 5.0 + Percentage of pepper (black noise pixels). Default: 5.0 + Resulting noise distribution. + + + Deserialize FFT speed optimization data. + Handle of the serialized item. + + + Serialize FFT speed optimization data. + Handle of the serialized item. + + + Load FFT speed optimization data from a file. + File name of the optimization data. Default: "fft_opt.dat" + + + Store FFT speed optimization data in a file. + File name of the optimization data. Default: "fft_opt.dat" + + + Optimize the runtime of the real-valued FFT. + Width of the image for which the runtime should be optimized. Default: 512 + Height of the image for which the runtime should be optimized. Default: 512 + Thoroughness of the search for the optimum runtime. Default: "standard" + + + Optimize the runtime of the FFT. + Width of the image for which the runtime should be optimized. Default: 512 + Height of the image for which the runtime should be optimized. Default: 512 + Thoroughness of the search for the optimum runtime. Default: "standard" + + + Return the filter coefficients of a filter in edges_image. + Name of the edge operator. Default: "lanser2" + 1D edge filter ('edge') or 1D smoothing filter ('smooth'). Default: "edge" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 0.5 + For Canny filters: Coefficients of the "positive" half of the 1D impulse response. All others: Coefficients of a corresponding non-recursive filter. + Filter width in pixels. + + + Copy a file to a new location. + File to be copied. + Target location. + + + Set the current working directory. + Name of current working directory to be set. + + + Get the current working directory. + Name of current working directory. + + + Delete an empty directory. + Name of directory to be deleted. + + + Make a directory. + Name of directory to be created. + + + List all files in a directory. + Name of directory to be listed. + Processing options. Default: "files" + Found files (and directories). + + + List all files in a directory. + Name of directory to be listed. + Processing options. Default: "files" + Found files (and directories). + + + Delete a file. + File to be deleted. + + + Check whether file exists. + Name of file to be checked. Default: "/bin/cc" + boolean number. + + + This operator is inoperable. It had the following function: Close all open files. + + + Select the longest input lines. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + (Maximum) desired number of output lines. Default: 10 + Row coordinates of the starting points of the output lines. + Column coordinates of the starting points of the output lines. + Row coordinates of the ending points of the output lines. + Column coordinates of the ending points of the output lines. + + + Partition lines according to various criteria. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Features to be used for selection. + Desired combination of the features. + Lower limits of the features or 'min'. Default: "min" + Upper limits of the features or 'max'. Default: "max" + Row coordinates of the starting points of the lines fulfilling the conditions. + Column coordinates of the starting points of the lines fulfilling the conditions. + Row coordinates of the ending points of the lines fulfilling the conditions. + Column coordinates of the ending points of the lines fulfilling the conditions. + Row coordinates of the starting points of the lines not fulfilling the conditions. + Column coordinates of the starting points of the lines not fulfilling the conditions. + Row coordinates of the ending points of the lines not fulfilling the conditions. + Column coordinates of the ending points of the lines not fulfilling the conditions. + + + Partition lines according to various criteria. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Features to be used for selection. + Desired combination of the features. + Lower limits of the features or 'min'. Default: "min" + Upper limits of the features or 'max'. Default: "max" + Row coordinates of the starting points of the lines fulfilling the conditions. + Column coordinates of the starting points of the lines fulfilling the conditions. + Row coordinates of the ending points of the lines fulfilling the conditions. + Column coordinates of the ending points of the lines fulfilling the conditions. + Row coordinates of the starting points of the lines not fulfilling the conditions. + Column coordinates of the starting points of the lines not fulfilling the conditions. + Row coordinates of the ending points of the lines not fulfilling the conditions. + Column coordinates of the ending points of the lines not fulfilling the conditions. + + + Select lines according to various criteria. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Features to be used for selection. Default: "length" + Desired combination of the features. Default: "and" + Lower limits of the features or 'min'. Default: "min" + Upper limits of the features or 'max'. Default: "max" + Row coordinates of the starting points of the output lines. + Column coordinates of the starting points of the output lines. + Row coordinates of the ending points of the output lines. + Column coordinates of the ending points of the output lines. + + + Select lines according to various criteria. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Features to be used for selection. Default: "length" + Desired combination of the features. Default: "and" + Lower limits of the features or 'min'. Default: "min" + Upper limits of the features or 'max'. Default: "max" + Row coordinates of the starting points of the output lines. + Column coordinates of the starting points of the output lines. + Row coordinates of the ending points of the output lines. + Column coordinates of the ending points of the output lines. + + + Calculate the center of gravity, length, and orientation of a line. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Row coordinates of the centers of gravity of the input lines. + Column coordinates of the centers of gravity of the input lines. + Euclidean length of the input lines. + Orientation of the input lines. + + + Calculate the center of gravity, length, and orientation of a line. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Row coordinates of the centers of gravity of the input lines. + Column coordinates of the centers of gravity of the input lines. + Euclidean length of the input lines. + Orientation of the input lines. + + + Calculate the orientation of lines. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Orientation of the input lines. + + + Calculate the orientation of lines. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Orientation of the input lines. + + + Approximate a contour by arcs and lines. + Row of the contour. Default: 32 + Column of the contour. Default: 32 + Row of the center of an arc. + Column of the center of an arc. + Angle of an arc. + Row of the starting point of an arc. + Column of the starting point of an arc. + Row of the starting point of a line segment. + Column of the starting point of a line segment. + Row of the ending point of a line segment. + Column of the ending point of a line segment. + Sequence of line (value 0) and arc segments (value 1). + + + Approximate a contour by arcs and lines. + Row of the contour. Default: 32 + Column of the contour. Default: 32 + Minimum width of Gauss operator for coordinate smoothing ($ greater than $ 0.4). Default: 0.5 + Maximum width of Gauss operator for coordinate smoothing ($ greater than $ 0.4). Default: 2.4 + Minimum threshold value of the curvature for accepting a corner (relative to the largest curvature present). Default: 0.3 + Maximum threshold value of the curvature for accepting a corner (relative to the largest curvature present). Default: 0.9 + Step width for threshold increase. Default: 0.2 + Minimum width of Gauss operator for smoothing the curvature function ($ greater than $ 0.4). Default: 0.5 + Maximum width of Gauss operator for smoothing the curvature function. Default: 2.4 + Minimum width of curve area for curvature determination ($ greater than $ 0.4). Default: 2 + Maximum width of curve area for curvature determination. Default: 12 + Weighting factor for approximation precision. Default: 1.0 + Weighting factor for large segments. Default: 1.0 + Weighting factor for small segments. Default: 1.0 + Row of the center of an arc. + Column of the center of an arc. + Angle of an arc. + Row of the starting point of an arc. + Column of the starting point of an arc. + Row of the starting point of a line segment. + Column of the starting point of a line segment. + Row of the ending point of a line segment. + Column of the ending point of a line segment. + Sequence of line (value 0) and arc segments (value 1). + + + This operator is inoperable. It had the following function: Destroy all classifiers. + + + Generate a calibration plate description file and a corresponding PostScript file for a calibration plate with rectangularly arranged marks. + Number of marks in x direction. Default: 7 + Number of marks in y direction. Default: 7 + Distance of the marks in meters. Default: 0.0125 + Ratio of the mark diameter to the mark distance. Default: 0.5 + File name of the calibration plate description. Default: "caltab.descr" + File name of the PostScript file. Default: "caltab.ps" + + + Generate a calibration plate description file and a corresponding PostScript file for a calibration plate with hexagonally arranged marks. + Number of rows. Default: 27 + Number of marks per row. Default: 31 + Diameter of the marks. Default: 0.00258065 + Row indices of the finder patterns. Default: [13,6,6,20,20] + Column indices of the finder patterns. Default: [15,6,24,6,24] + Polarity of the marks Default: "light_on_dark" + File name of the calibration plate description. Default: "calplate.cpd" + File name of the PostScript file. Default: "calplate.ps" + + + Generate a calibration plate description file and a corresponding PostScript file for a calibration plate with hexagonally arranged marks. + Number of rows. Default: 27 + Number of marks per row. Default: 31 + Diameter of the marks. Default: 0.00258065 + Row indices of the finder patterns. Default: [13,6,6,20,20] + Column indices of the finder patterns. Default: [15,6,24,6,24] + Polarity of the marks Default: "light_on_dark" + File name of the calibration plate description. Default: "calplate.cpd" + File name of the PostScript file. Default: "calplate.ps" + + + Read the mark center points from the calibration plate description file. + File name of the calibration plate description. Default: "calplate_320mm.cpd" + X coordinates of the mark center points in the coordinate system of the calibration plate. + Y coordinates of the mark center points in the coordinate system of the calibration plate. + Z coordinates of the mark center points in the coordinate system of the calibration plate. + + + This operator is inoperable. It had the following function: Delete all background estimation data sets. + + + This operator is inoperable. It had the following function: Close all image acquisition devices. + + + Represents an instance of a mutex synchronization object. + + + + Create a mutual exclusion synchronization object. + Modified instance represents: Mutex synchronization object. + + Mutex attribute class. Default: [] + Mutex attribute kind. Default: [] + + + + Create a mutual exclusion synchronization object. + Modified instance represents: Mutex synchronization object. + + Mutex attribute class. Default: [] + Mutex attribute kind. Default: [] + + + + Clear the mutex synchronization object. + Instance represents: Mutex synchronization object. + + + + + Unlock a mutex synchronization object. + Instance represents: Mutex synchronization object. + + + + + Lock a mutex synchronization object. + Instance represents: Mutex synchronization object. + + Mutex already locked? + + + + Lock a mutex synchronization object. + Instance represents: Mutex synchronization object. + + + + + Create a mutual exclusion synchronization object. + Modified instance represents: Mutex synchronization object. + + Mutex attribute class. Default: [] + Mutex attribute kind. Default: [] + + + + Create a mutual exclusion synchronization object. + Modified instance represents: Mutex synchronization object. + + Mutex attribute class. Default: [] + Mutex attribute kind. Default: [] + + + Represents an instance of an NCC model for matching. + + + + Read an NCC model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Prepare an NCC model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Match metric. Default: "use_polarity" + + + + Prepare an NCC model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Match metric. Default: "use_polarity" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Free the memory of an NCC model. + Instance represents: Handle of the model. + + + + + Deserialize an NCC model. + Modified instance represents: Handle of the model. + + Handle of the serialized item. + + + + Serialize an NCC model. + Instance represents: Handle of the model. + + Handle of the serialized item. + + + + Read an NCC model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Write an NCC model to a file. + Instance represents: Handle of the model. + + File name. + + + Determine the parameters of an NCC model. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Match metric. Default: "use_polarity" + Parameters to be determined automatically. Default: "all" + Value of the automatically determined parameter. + Name of the automatically determined parameter. + + + Determine the parameters of an NCC model. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Match metric. Default: "use_polarity" + Parameters to be determined automatically. Default: "all" + Value of the automatically determined parameter. + Name of the automatically determined parameter. + + + + Return the parameters of an NCC model. + Instance represents: Handle of the model. + + Smallest rotation of the pattern. + Extent of the rotation angles. + Step length of the angles (resolution). + Match metric. + Number of pyramid levels. + + + + Return the origin (reference point) of an NCC model. + Instance represents: Handle of the model. + + Row coordinate of the origin of the NCC model. + Column coordinate of the origin of the NCC model. + + + + Set the origin (reference point) of an NCC model. + Instance represents: Handle of the model. + + Row coordinate of the origin of the NCC model. + Column coordinate of the origin of the NCC model. + + + + Find the best matches of an NCC model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.8 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of an NCC model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.8 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + + Set selected parameters of the NCC model. + Instance represents: Handle of the model. + + Parameter names. + Parameter values. + + + + Prepare an NCC model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Match metric. Default: "use_polarity" + + + + Prepare an NCC model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Match metric. Default: "use_polarity" + + + Find the best matches of multiple NCC models. + Input image in which the model should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.8 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple NCC models. + Instance represents: Handle of the models. + + Input image in which the model should be found. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.8 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Return the region used to create an NCC model. + Instance represents: Handle of the model. + + Model region of the NCC model. + + + Represents an instance of a 3D object model. + + + + Create an empty 3D object model. + Modified instance represents: Handle of the new 3D object model. + + + + + Create a 3D object model that represents a point cloud from a set of 3D points. + Modified instance represents: Handle of the resulting 3D object model. + + The x-coordinates of the points in the 3D point cloud. + The y-coordinates of the points in the 3D point cloud. + The z-coordinates of the points in the 3D point cloud. + + + + Create a 3D object model that represents a point cloud from a set of 3D points. + Modified instance represents: Handle of the resulting 3D object model. + + The x-coordinates of the points in the 3D point cloud. + The y-coordinates of the points in the 3D point cloud. + The z-coordinates of the points in the 3D point cloud. + + + + Transform 3D points from images to a 3D object model. + Modified instance represents: Handle of the 3D object model. + + Image with the X-Coordinates and the ROI of the 3D points. + Image with the Y-Coordinates of the 3D points. + Image with the Z-Coordinates of the 3D points. + + + + Read a 3D object model from a file. + Modified instance represents: Handle of the 3D object model. + + Filename of the file to be read. Default: "mvtec_bunny_normals" + Scale of the data in the file. Default: "m" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Status information. + + + + Read a 3D object model from a file. + Modified instance represents: Handle of the 3D object model. + + Filename of the file to be read. Default: "mvtec_bunny_normals" + Scale of the data in the file. Default: "m" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Status information. + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Get the result of a calibrated measurement performed with the sheet-of-light technique as a 3D object model. + Modified instance represents: Handle of the resulting 3D object model. + + Handle for accessing the sheet-of-light model. + + + Fit 3D primitives into a set of 3D points. + Handle of the input 3D object model. + Names of the generic parameters. + Values of the generic parameters. + Handle of the output 3D object model. + + + + Fit 3D primitives into a set of 3D points. + Instance represents: Handle of the input 3D object model. + + Names of the generic parameters. + Values of the generic parameters. + Handle of the output 3D object model. + + + Segment a set of 3D points into sub-sets with similar characteristics. + Handle of the input 3D object model. + Names of the generic parameters. + Values of the generic parameters. + Handle of the output 3D object model. + + + + Segment a set of 3D points into sub-sets with similar characteristics. + Instance represents: Handle of the input 3D object model. + + Names of the generic parameters. + Values of the generic parameters. + Handle of the output 3D object model. + + + Calculate the 3D surface normals of a 3D object model. + Handle of the 3D object model containing 3D point data. + Normals calculation method. Default: "mls" + Names of generic smoothing parameters. Default: [] + Values of generic smoothing parameters. Default: [] + Handle of the 3D object model with calculated 3D normals. + + + + Calculate the 3D surface normals of a 3D object model. + Instance represents: Handle of the 3D object model containing 3D point data. + + Normals calculation method. Default: "mls" + Names of generic smoothing parameters. Default: [] + Values of generic smoothing parameters. Default: [] + Handle of the 3D object model with calculated 3D normals. + + + Smooth the 3D points of a 3D object model. + Handle of the 3D object model containing 3D point data. + Smoothing method. Default: "mls" + Names of generic smoothing parameters. Default: [] + Values of generic smoothing parameters. Default: [] + Handle of the 3D object model with the smoothed 3D point data. + + + + Smooth the 3D points of a 3D object model. + Instance represents: Handle of the 3D object model containing 3D point data. + + Smoothing method. Default: "mls" + Names of generic smoothing parameters. Default: [] + Values of generic smoothing parameters. Default: [] + Handle of the 3D object model with the smoothed 3D point data. + + + Create a surface triangulation for a 3D object model. + Handle of the 3D object model containing 3D point data. + Triangulation method. Default: "greedy" + Names of the generic triangulation parameters. Default: [] + Values of the generic triangulation parameters. Default: [] + Additional information about the triangulation process. + Handle of the 3D object model with the triangulated surface. + + + + Create a surface triangulation for a 3D object model. + Instance represents: Handle of the 3D object model containing 3D point data. + + Triangulation method. Default: "greedy" + Names of the generic triangulation parameters. Default: [] + Values of the generic triangulation parameters. Default: [] + Additional information about the triangulation process. + Handle of the 3D object model with the triangulated surface. + + + + Reconstruct surface from calibrated multi-view stereo images. + Modified instance represents: Handle to the resulting surface. + + An image array acquired by the camera setup associated with the stereo model. + Handle of the stereo model. + + + + Refine the position and deformation of a deformable surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the deformable surface model. + Relative sampling distance of the scene. Default: 0.05 + Initial deformation of the 3D object model + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the refined model. + + + + Refine the position and deformation of a deformable surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the deformable surface model. + Relative sampling distance of the scene. Default: 0.05 + Initial deformation of the 3D object model + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the refined model. + + + + Find the best match of a deformable surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the deformable surface model. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Minimum score of the returned match. Default: 0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the found instances of the surface model. + + + + Find the best match of a deformable surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the deformable surface model. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Minimum score of the returned match. Default: 0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the matching result. + Score of the found instances of the surface model. + + + Add a sample deformation to a deformable surface model + Handle of the deformable surface model. + Handle of the deformed 3D object model. + + + + Add a sample deformation to a deformable surface model + Instance represents: Handle of the deformed 3D object model. + + Handle of the deformable surface model. + + + + Create the data structure needed to perform deformable surface-based matching. + Instance represents: Handle of the 3D object model. + + Sampling distance relative to the object's diameter Default: 0.05 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the deformable surface model. + + + + Create the data structure needed to perform deformable surface-based matching. + Instance represents: Handle of the 3D object model. + + Sampling distance relative to the object's diameter Default: 0.05 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the deformable surface model. + + + + Refine the pose of a surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the surface model. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the surface model. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the surface model. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene. + Instance represents: Handle of the 3D object model containing the scene. + + Handle of the surface model. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Create the data structure needed to perform surface-based matching. + Instance represents: Handle of the 3D object model. + + Sampling distance relative to the object's diameter Default: 0.03 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the surface model. + + + + Create the data structure needed to perform surface-based matching. + Instance represents: Handle of the 3D object model. + + Sampling distance relative to the object's diameter Default: 0.03 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the surface model. + + + Simplify a triangulated 3D object model. + Handle of the 3D object model that should be simplified. + Method that should be used for simplification. Default: "preserve_point_coordinates" + Degree of simplification (default: percentage of remaining model points). + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the simplified 3D object model. + + + + Simplify a triangulated 3D object model. + Instance represents: Handle of the 3D object model that should be simplified. + + Method that should be used for simplification. Default: "preserve_point_coordinates" + Degree of simplification (default: percentage of remaining model points). + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the simplified 3D object model. + + + + Compute the distances of the points of one 3D object model to another 3D object model. + Instance represents: Handle of the source 3D object model. + + Handle of the target 3D object model. + Pose of the source 3D object model in the target 3D object model. Default: [] + Maximum distance of interest. Default: 0 + Names of the generic input parameters. Default: [] + Values of the generic input parameters. Default: [] + + + + Compute the distances of the points of one 3D object model to another 3D object model. + Instance represents: Handle of the source 3D object model. + + Handle of the target 3D object model. + Pose of the source 3D object model in the target 3D object model. Default: [] + Maximum distance of interest. Default: 0 + Names of the generic input parameters. Default: [] + Values of the generic input parameters. Default: [] + + + Combine several 3D object models to a new 3D object model. + Handle of input 3D object models. + Method used for the union. Default: "points_surface" + Handle of the resulting 3D object model. + + + + Combine several 3D object models to a new 3D object model. + Instance represents: Handle of input 3D object models. + + Method used for the union. Default: "points_surface" + Handle of the resulting 3D object model. + + + + Set attributes of a 3D object model. + Instance represents: Handle of the 3D object model. + + Name of the attributes. + Defines where extended attributes are attached to. Default: [] + Attribute values. + + + + Set attributes of a 3D object model. + Instance represents: Handle of the 3D object model. + + Name of the attributes. + Defines where extended attributes are attached to. Default: [] + Attribute values. + + + + Set attributes of a 3D object model. + Instance represents: Handle of the input 3D object model. + + Name of the attributes. + Defines where extended attributes are attached to. Default: [] + Attribute values. + Handle of the resulting 3D object model. + + + + Set attributes of a 3D object model. + Instance represents: Handle of the input 3D object model. + + Name of the attributes. + Defines where extended attributes are attached to. Default: [] + Attribute values. + Handle of the resulting 3D object model. + + + + Create an empty 3D object model. + Modified instance represents: Handle of the new 3D object model. + + + + Sample a 3D object model. + Handle of the 3D object model to be sampled. + Selects between the different subsampling methods. Default: "fast" + Sampling distance. Default: 0.05 + Names of the generic parameters that can be adjusted. Default: [] + Values of the generic parameters that can be adjusted. Default: [] + Handle of the 3D object model that contains the sampled points. + + + + Sample a 3D object model. + Instance represents: Handle of the 3D object model to be sampled. + + Selects between the different subsampling methods. Default: "fast" + Sampling distance. Default: 0.05 + Names of the generic parameters that can be adjusted. Default: [] + Values of the generic parameters that can be adjusted. Default: [] + Handle of the 3D object model that contains the sampled points. + + + Improve the relative transformations between 3D object models based on their overlaps. + Handles of several 3D object models. + Approximate relative transformations between the 3D object models. + Type of interpretation for the transformations. Default: "global" + Target indices of the transformations if From specifies the source indices, otherwise the parameter must be empty. Default: [] + Names of the generic parameters that can be adjusted for the global 3D object model registration. Default: [] + Values of the generic parameters that can be adjusted for the global 3D object model registration. Default: [] + Number of overlapping neighbors for each 3D object model. + Resulting Transformations. + + + + Improve the relative transformations between 3D object models based on their overlaps. + Instance represents: Handles of several 3D object models. + + Approximate relative transformations between the 3D object models. + Type of interpretation for the transformations. Default: "global" + Target indices of the transformations if From specifies the source indices, otherwise the parameter must be empty. Default: [] + Names of the generic parameters that can be adjusted for the global 3D object model registration. Default: [] + Values of the generic parameters that can be adjusted for the global 3D object model registration. Default: [] + Number of overlapping neighbors for each 3D object model. + Resulting Transformations. + + + + Search for a transformation between two 3D object models. + Instance represents: Handle of the first 3D object model. + + Handle of the second 3D object model. + Method for the registration. Default: "matching" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Overlapping of the two 3D object models. + Pose to transform ObjectModel3D1 in the reference frame of ObjectModel3D2. + + + + Search for a transformation between two 3D object models. + Instance represents: Handle of the first 3D object model. + + Handle of the second 3D object model. + Method for the registration. Default: "matching" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Overlapping of the two 3D object models. + Pose to transform ObjectModel3D1 in the reference frame of ObjectModel3D2. + + + + Create a 3D object model that represents a point cloud from a set of 3D points. + Modified instance represents: Handle of the resulting 3D object model. + + The x-coordinates of the points in the 3D point cloud. + The y-coordinates of the points in the 3D point cloud. + The z-coordinates of the points in the 3D point cloud. + + + + Create a 3D object model that represents a point cloud from a set of 3D points. + Modified instance represents: Handle of the resulting 3D object model. + + The x-coordinates of the points in the 3D point cloud. + The y-coordinates of the points in the 3D point cloud. + The z-coordinates of the points in the 3D point cloud. + + + Create a 3D object model that represents a box. + The pose that describes the position and orientation of the box. The pose has its origin in the center of the box. + The length of the box along the x-axis. + The length of the box along the y-axis. + The length of the box along the z-axis. + Handle of the resulting 3D object model. + + + + Create a 3D object model that represents a box. + Modified instance represents: Handle of the resulting 3D object model. + + The pose that describes the position and orientation of the box. The pose has its origin in the center of the box. + The length of the box along the x-axis. + The length of the box along the y-axis. + The length of the box along the z-axis. + + + + Create a 3D object model that represents a plane. + Modified instance represents: Handle of the resulting 3D object model. + + The center and the rotation of the plane. + x coordinates specifying the extent of the plane. + y coordinates specifying the extent of the plane. + + + + Create a 3D object model that represents a plane. + Modified instance represents: Handle of the resulting 3D object model. + + The center and the rotation of the plane. + x coordinates specifying the extent of the plane. + y coordinates specifying the extent of the plane. + + + Create a 3D object model that represents a sphere from x,y,z coordinates. + The x-coordinate of the center point of the sphere. + The y-coordinate of the center point of the sphere. + The z-coordinate of the center point of the sphere. + The radius of the sphere. + Handle of the resulting 3D object model. + + + + Create a 3D object model that represents a sphere from x,y,z coordinates. + Modified instance represents: Handle of the resulting 3D object model. + + The x-coordinate of the center point of the sphere. + The y-coordinate of the center point of the sphere. + The z-coordinate of the center point of the sphere. + The radius of the sphere. + + + Create a 3D object model that represents a sphere. + The pose that describes the position of the sphere. + The radius of the sphere. + Handle of the resulting 3D object model. + + + + Create a 3D object model that represents a sphere. + Modified instance represents: Handle of the resulting 3D object model. + + The pose that describes the position of the sphere. + The radius of the sphere. + + + Create a 3D object model that represents a cylinder. + The pose that describes the position and orientation of the cylinder. + The radius of the cylinder. + Lowest z-coordinate of the cylinder in the direction of the rotation axis. + Highest z-coordinate of the cylinder in the direction of the rotation axis. + Handle of the resulting 3D object model. + + + + Create a 3D object model that represents a cylinder. + Modified instance represents: Handle of the resulting 3D object model. + + The pose that describes the position and orientation of the cylinder. + The radius of the cylinder. + Lowest z-coordinate of the cylinder in the direction of the rotation axis. + Highest z-coordinate of the cylinder in the direction of the rotation axis. + + + Calculate the smallest bounding box around the points of a 3D object model. + Handle of the 3D object model. + The method that is used to estimate the smallest box. Default: "oriented" + The length of the longest side of the box. + The length of the second longest side of the box. + The length of the third longest side of the box. + The pose that describes the position and orientation of the box that is generated. The pose has its origin in the center of the box and is oriented such that the x-axis is aligned with the longest side of the box. + + + + Calculate the smallest bounding box around the points of a 3D object model. + Instance represents: Handle of the 3D object model. + + The method that is used to estimate the smallest box. Default: "oriented" + The length of the longest side of the box. + The length of the second longest side of the box. + The length of the third longest side of the box. + The pose that describes the position and orientation of the box that is generated. The pose has its origin in the center of the box and is oriented such that the x-axis is aligned with the longest side of the box. + + + Calculate the smallest sphere around the points of a 3D object model. + Handle of the 3D object model. + The estimated radius of the sphere. + x-, y-, and z-coordinates describing the center point of the sphere. + + + + Calculate the smallest sphere around the points of a 3D object model. + Instance represents: Handle of the 3D object model. + + The estimated radius of the sphere. + x-, y-, and z-coordinates describing the center point of the sphere. + + + Intersect a 3D object model with a plane. + Handle of the 3D object model. + Pose of the plane. Default: [0,0,0,0,0,0,0] + Handle of the 3D object model that describes the intersection as a set of lines. + + + + Intersect a 3D object model with a plane. + Instance represents: Handle of the 3D object model. + + Pose of the plane. Default: [0,0,0,0,0,0,0] + Handle of the 3D object model that describes the intersection as a set of lines. + + + Calculate the convex hull of a 3D object model. + Handle of the 3D object model. + Handle of the 3D object model that describes the convex hull. + + + + Calculate the convex hull of a 3D object model. + Instance represents: Handle of the 3D object model. + + Handle of the 3D object model that describes the convex hull. + + + Select 3D object models from an array of 3D object models according to global features. + Handles of the available 3D object models to select. + List of features a test is performed on. Default: "has_triangles" + Logical operation to combine the features given in Feature. Default: "and" + Minimum value for the given feature. Default: 1 + Maximum value for the given feature. Default: 1 + A subset of ObjectModel3D fulfilling the given conditions. + + + + Select 3D object models from an array of 3D object models according to global features. + Instance represents: Handles of the available 3D object models to select. + + List of features a test is performed on. Default: "has_triangles" + Logical operation to combine the features given in Feature. Default: "and" + Minimum value for the given feature. Default: 1 + Maximum value for the given feature. Default: 1 + A subset of ObjectModel3D fulfilling the given conditions. + + + Calculate the area of all faces of a 3D object model. + Handle of the 3D object model. + Calculated area. + + + + Calculate the area of all faces of a 3D object model. + Instance represents: Handle of the 3D object model. + + Calculated area. + + + Calculate the maximal diameter of a 3D object model. + Handle of the 3D object model. + Calculated diameter. + + + + Calculate the maximal diameter of a 3D object model. + Instance represents: Handle of the 3D object model. + + Calculated diameter. + + + Calculates the mean or the central moment of second order for a 3D object model. + Handle of the 3D object model. + Moment to calculate. Default: "mean_points" + Calculated moment. + + + + Calculates the mean or the central moment of second order for a 3D object model. + Instance represents: Handle of the 3D object model. + + Moment to calculate. Default: "mean_points" + Calculated moment. + + + Calculate the volume of a 3D object model. + Handle of the 3D object model. + Pose of the plane. Default: [0,0,0,0,0,0,0] + Method to combine volumes laying above and below the reference plane. Default: "signed" + Decides whether the orientation of a face should affect the resulting sign of the underlying volume. Default: "true" + Absolute value of the calculated volume. + + + + Calculate the volume of a 3D object model. + Instance represents: Handle of the 3D object model. + + Pose of the plane. Default: [0,0,0,0,0,0,0] + Method to combine volumes laying above and below the reference plane. Default: "signed" + Decides whether the orientation of a face should affect the resulting sign of the underlying volume. Default: "true" + Absolute value of the calculated volume. + + + Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region. + Region in the image plane. + Handle of the 3D object model. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Handle of the reduced 3D object model. + + + + Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region. + Instance represents: Handle of the 3D object model. + + Region in the image plane. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Handle of the reduced 3D object model. + + + Determine the connected components of the 3D object model. + Handle of the 3D object model. + Attribute used to calculate the connected components. Default: "distance_3d" + Maximum value for the distance between two connected components. Default: 1.0 + Handle of the 3D object models that represent the connected components. + + + + Determine the connected components of the 3D object model. + Instance represents: Handle of the 3D object model. + + Attribute used to calculate the connected components. Default: "distance_3d" + Maximum value for the distance between two connected components. Default: 1.0 + Handle of the 3D object models that represent the connected components. + + + Apply a threshold to an attribute of 3D object models. + Handle of the 3D object models. + Attributes the threshold is applied to. Default: "point_coord_z" + Minimum value for the attributes specified by Attrib. Default: 0.5 + Maximum value for the attributes specified by Attrib. Default: 1.0 + Handle of the reduced 3D object models. + + + + Apply a threshold to an attribute of 3D object models. + Instance represents: Handle of the 3D object models. + + Attributes the threshold is applied to. Default: "point_coord_z" + Minimum value for the attributes specified by Attrib. Default: 0.5 + Maximum value for the attributes specified by Attrib. Default: 1.0 + Handle of the reduced 3D object models. + + + Get the depth or the index of a displayed 3D object model. + Window handle. + Row coordinates. + Column coordinates. + Information. Default: "depth" + Indices or the depth of the objects at (Row,Column). + + + Get the depth or the index of a displayed 3D object model. + Window handle. + Row coordinates. + Column coordinates. + Information. Default: "depth" + Indices or the depth of the objects at (Row,Column). + + + Render 3D object models to get an image. + Handles of the 3D object models. + Camera parameters of the scene. + 3D poses of the objects. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Rendered scene. + + + + Render 3D object models to get an image. + Instance represents: Handles of the 3D object models. + + Camera parameters of the scene. + 3D poses of the objects. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Rendered scene. + + + Display 3D object models. + Window handle. + Handles of the 3D object models. + Camera parameters of the scene. Default: [] + 3D poses of the objects. Default: [] + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Display 3D object models. + Instance represents: Handles of the 3D object models. + + Window handle. + Camera parameters of the scene. Default: [] + 3D poses of the objects. Default: [] + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Copy a 3D object model. + Instance represents: Handle of the input 3D object model. + + Attributes to be copied. Default: "all" + Handle of the copied 3D object model. + + + + Copy a 3D object model. + Instance represents: Handle of the input 3D object model. + + Attributes to be copied. Default: "all" + Handle of the copied 3D object model. + + + Prepare a 3D object model for a certain operation. + Handle of the 3D object model. + Purpose of the 3D object model. Default: "shape_based_matching_3d" + Specify if already existing data should be overwritten. Default: "true" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Prepare a 3D object model for a certain operation. + Instance represents: Handle of the 3D object model. + + Purpose of the 3D object model. Default: "shape_based_matching_3d" + Specify if already existing data should be overwritten. Default: "true" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Transform 3D points from a 3D object model to images. + Instance represents: Handle of the 3D object model. + + Image with the Y-Coordinates of the 3D points. + Image with the Z-Coordinates of the 3D points. + Type of the conversion. Default: "cartesian" + Camera parameters. + Pose of the 3D object model. + Image with the X-Coordinates of the 3D points. + + + + Transform 3D points from images to a 3D object model. + Modified instance represents: Handle of the 3D object model. + + Image with the X-Coordinates and the ROI of the 3D points. + Image with the Y-Coordinates of the 3D points. + Image with the Z-Coordinates of the 3D points. + + + Return attributes of 3D object models. + Handle of the 3D object model. + Names of the generic attributes that are queried for the 3D object model. Default: "num_points" + Values of the generic parameters. + + + + Return attributes of 3D object models. + Instance represents: Handle of the 3D object model. + + Names of the generic attributes that are queried for the 3D object model. Default: "num_points" + Values of the generic parameters. + + + + Project a 3D object model into image coordinates. + Instance represents: Handle of the 3D object model. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Projected model contours. + + + + Project a 3D object model into image coordinates. + Instance represents: Handle of the 3D object model. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Projected model contours. + + + Apply a rigid 3D transformation to 3D object models. + Handles of the 3D object models. + Poses. + Handles of the transformed 3D object models. + + + + Apply a rigid 3D transformation to 3D object models. + Instance represents: Handles of the 3D object models. + + Poses. + Handles of the transformed 3D object models. + + + Apply an arbitrary projective 3D transformation to 3D object models. + Handles of the 3D object models. + Homogeneous projective transformation matrix. + Handles of the transformed 3D object models. + + + + Apply an arbitrary projective 3D transformation to 3D object models. + Instance represents: Handles of the 3D object models. + + Homogeneous projective transformation matrix. + Handles of the transformed 3D object models. + + + Apply an arbitrary affine 3D transformation to 3D object models. + Handles of the 3D object models. + Transformation matrices. + Handles of the transformed 3D object models. + + + + Apply an arbitrary affine 3D transformation to 3D object models. + Instance represents: Handles of the 3D object models. + + Transformation matrices. + Handles of the transformed 3D object models. + + + Free the memory of a 3D object model. + Handle of the 3D object model. + + + + Free the memory of a 3D object model. + Instance represents: Handle of the 3D object model. + + + + + Serialize a 3D object model. + Instance represents: Handle of the 3D object model. + + Handle of the serialized item. + + + + Deserialize a serialized 3D object model. + Modified instance represents: Handle of the 3D object model. + + Handle of the serialized item. + + + + Writes a 3D object model to a file. + Instance represents: Handle of the 3D object model. + + Type of the file that is written. Default: "om3" + Name of the file that is written. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Writes a 3D object model to a file. + Instance represents: Handle of the 3D object model. + + Type of the file that is written. Default: "om3" + Name of the file that is written. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Read a 3D object model from a file. + Modified instance represents: Handle of the 3D object model. + + Filename of the file to be read. Default: "mvtec_bunny_normals" + Scale of the data in the file. Default: "m" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Status information. + + + + Read a 3D object model from a file. + Modified instance represents: Handle of the 3D object model. + + Filename of the file to be read. Default: "mvtec_bunny_normals" + Scale of the data in the file. Default: "m" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Status information. + + + Compute the calibrated scene flow between two stereo image pairs. + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + Handle of the 3D object model. + + + + Compute the calibrated scene flow between two stereo image pairs. + Modified instance represents: Handle of the 3D object model. + + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + + + + Find edges in a 3D object model. + Instance represents: Handle of the 3D object model whose edges should be computed. + + Edge threshold. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + 3D object model containing the edges. + + + + Find edges in a 3D object model. + Instance represents: Handle of the 3D object model whose edges should be computed. + + Edge threshold. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + 3D object model containing the edges. + + + + Find the best matches of a surface model in a 3D scene and images. + Instance represents: Handle of the 3D object model containing the scene. + + Images of the scene. + Handle of the surface model. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene and images. + Instance represents: Handle of the 3D object model containing the scene. + + Images of the scene. + Handle of the surface model. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene and in images. + Instance represents: Handle of the 3D object model containing the scene. + + Images of the scene. + Handle of the surface model. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene and in images. + Instance represents: Handle of the 3D object model containing the scene. + + Images of the scene. + Handle of the surface model. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + Fuse 3D object models into a surface. + Handles of the 3D object models. + The two opposite bound box corners. + Used resolution within the bounding box. Default: 1.0 + Distance of expected noise to surface. Default: 1.0 + Minimum thickness of the object in direction of the surface normal. Default: 1.0 + Weight factor for data fidelity. Default: 1.0 + Direction of normals of the input models. Default: "inwards" + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Handle of the fused 3D object model. + + + + Fuse 3D object models into a surface. + Instance represents: Handles of the 3D object models. + + The two opposite bound box corners. + Used resolution within the bounding box. Default: 1.0 + Distance of expected noise to surface. Default: 1.0 + Minimum thickness of the object in direction of the surface normal. Default: 1.0 + Weight factor for data fidelity. Default: 1.0 + Direction of normals of the input models. Default: "inwards" + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Handle of the fused 3D object model. + + + Represents an instance of an OCR box classifier. + + + + Read an OCR classifier from a file. + Modified instance represents: ID of the read OCR classifier. + + Name of the OCR classifier file. Default: "testnet" + + + + Create a new OCR-classifier. + Modified instance represents: ID of the created OCR classifier. + + Width of the input layer of the network. Default: 8 + Height of the input layer of the network. Default: 10 + Interpolation mode concerning scaling of characters. Default: 1 + Additional features. Default: "default" + All characters of a set. Default: ["a","b","c"] + + + + Create a new OCR-classifier. + Modified instance represents: ID of the created OCR classifier. + + Width of the input layer of the network. Default: 8 + Height of the input layer of the network. Default: 10 + Interpolation mode concerning scaling of characters. Default: 1 + Additional features. Default: "default" + All characters of a set. Default: ["a","b","c"] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Serialize an OCR classifier. + Instance represents: ID of the OCR classifier. + + Handle of the serialized item. + + + + Deserialize a serialized OCR classifier. + Modified instance represents: ID of the OCR classifier. + + Handle of the serialized item. + + + + Writing an OCR classifier into a file. + Instance represents: ID of the OCR classifier. + + Name of the file for the OCR classifier (without extension). Default: "my_ocr" + + + + Read an OCR classifier from a file. + Modified instance represents: ID of the read OCR classifier. + + Name of the OCR classifier file. Default: "testnet" + + + + Classify one character. + Instance represents: ID of the OCR classifier. + + Character to be recognized. + Gray values of the characters. + Confidence values of the characters. + Classes (names) of the characters. + + + + Classify characters. + Instance represents: ID of the OCR classifier. + + Characters to be recognized. + Gray values for the characters. + Confidence values of the characters. + Class (name) of the characters. + + + + Classify characters. + Instance represents: ID of the OCR classifier. + + Characters to be recognized. + Gray values for the characters. + Confidence values of the characters. + Class (name) of the characters. + + + + Get information about an OCR classifier. + Instance represents: ID of the OCR classifier. + + Width of the scaled characters. + Height of the scaled characters. + Interpolation mode for scaling the characters. + Width of the largest trained character. + Height of the largest trained character. + Used features. + All characters of the set. + + + + Create a new OCR-classifier. + Modified instance represents: ID of the created OCR classifier. + + Width of the input layer of the network. Default: 8 + Height of the input layer of the network. Default: 10 + Interpolation mode concerning scaling of characters. Default: 1 + Additional features. Default: "default" + All characters of a set. Default: ["a","b","c"] + + + + Create a new OCR-classifier. + Modified instance represents: ID of the created OCR classifier. + + Width of the input layer of the network. Default: 8 + Height of the input layer of the network. Default: 10 + Interpolation mode concerning scaling of characters. Default: 1 + Additional features. Default: "default" + All characters of a set. Default: ["a","b","c"] + + + + Train an OCR classifier by the input of regions. + Instance represents: ID of the desired OCR-classifier. + + Characters to be trained. + Gray values for the characters. + Class (name) of the characters. Default: "a" + Average confidence during a re-classification of the trained characters. + + + + Train an OCR classifier by the input of regions. + Instance represents: ID of the desired OCR-classifier. + + Characters to be trained. + Gray values for the characters. + Class (name) of the characters. Default: "a" + Average confidence during a re-classification of the trained characters. + + + + Train an OCR classifier with the help of a training file. + Instance represents: ID of the desired OCR-network. + + Names of the training files. Default: "train_ocr" + Average confidence during a re-classification of the trained characters. + + + + Train an OCR classifier with the help of a training file. + Instance represents: ID of the desired OCR-network. + + Names of the training files. Default: "train_ocr" + Average confidence during a re-classification of the trained characters. + + + + Define a new conversion table for the characters. + Instance represents: ID of the OCR-network to be changed. + + New assign of characters. Default: ["a","b","c"] + + + + Deallocation of the memory of an OCR classifier. + Instance represents: ID of the OCR classifier to be deleted. + + + + + Test an OCR classifier. + Instance represents: ID of the desired OCR-classifier. + + Characters to be tested. + Gray values for the characters. + Class (name) of the characters. Default: "a" + Confidence for the character to belong to the class. + + + + Test an OCR classifier. + Instance represents: ID of the desired OCR-classifier. + + Characters to be tested. + Gray values for the characters. + Class (name) of the characters. Default: "a" + Confidence for the character to belong to the class. + + + + Access the features which correspond to a character. + Instance represents: ID of the desired OCR-classifier. + + Characters to be trained. + Feature vector. + + + Represents an instance of a CNN OCR classifier. + + + + Read an CNN-based OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. Default: "Universal_Rej.occ" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Clear an CNN-based OCR classifier. + Handle of the OCR classifier. + + + + Clear an CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + + + + Deserialize a serialized CNN-based OCR classifier. + Modified instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + + Classify multiple characters with an CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Confidence of the class of the characters. + Result of classifying the characters with the CNN. + + + + Classify multiple characters with an CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Confidence of the class of the characters. + Result of classifying the characters with the CNN. + + + + Classify a single character with an CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Character to be recognized. + Gray values of the character. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the CNN. + + + + Classify a single character with an CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Character to be recognized. + Gray values of the character. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the CNN. + + + + Classify a related group of characters with an CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the CNN. + + + + Classify a related group of characters with an CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the CNN. + + + + Return the parameters of a CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + A tuple of generic parameter names. Default: "characters" + A tuple of generic parameter values. + + + + Return the parameters of a CNN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + A tuple of generic parameter names. Default: "characters" + A tuple of generic parameter values. + + + + Get the names of the parameters that can be used in get_params_ocr_class_cnn for a given CNN-based OCR classifier. + Instance represents: Handle of OCR classifier. + + Names of the generic parameters. + + + + Read an CNN-based OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. Default: "Universal_Rej.occ" + + + + Serialize a CNN-based OCR classifier + Instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + Represents an instance of a k-NearestNeighbor OCR classifier. + + + + Read an OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. + + + + Create an OCR classifier using a k-Nearest Neighbor (k-NN) classifier. + Modified instance represents: Handle of the k-NN classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + This parameter is not yet supported. Default: [] + This parameter is not yet supported. Default: [] + + + + Create an OCR classifier using a k-Nearest Neighbor (k-NN) classifier. + Modified instance represents: Handle of the k-NN classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + This parameter is not yet supported. Default: [] + This parameter is not yet supported. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the k-NN. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the k-NN. + + + + Deserialize a serialized k-NN-based OCR classifier. + Modified instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + + Serialize a k-NN-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + + Read an OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. + + + + Write a k-NN classifier for an OCR task to a file. + Instance represents: Handle of the k-NN classifier for an OCR task. + + File name. + + + + Clear an OCR classifier. + Instance represents: Handle of the OCR classifier. + + + + + Create an OCR classifier using a k-Nearest Neighbor (k-NN) classifier. + Modified instance represents: Handle of the k-NN classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + This parameter is not yet supported. Default: [] + This parameter is not yet supported. Default: [] + + + + Create an OCR classifier using a k-Nearest Neighbor (k-NN) classifier. + Modified instance represents: Handle of the k-NN classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + This parameter is not yet supported. Default: [] + This parameter is not yet supported. Default: [] + + + + Trains an k-NN classifier for an OCR task. + Instance represents: Handle of the k-NN classifier. + + Names of the training files. Default: "ocr.trf" + Names of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + + + + Trains an k-NN classifier for an OCR task. + Instance represents: Handle of the k-NN classifier. + + Names of the training files. Default: "ocr.trf" + Names of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + + + + Compute the features of a character. + Instance represents: Handle of the k-NN classifier. + + Input character. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + + Return the parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + Type of preprocessing used to transform the feature vectors. + Number of different trees used during the classifcation. + + + + Return the parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + Type of preprocessing used to transform the feature vectors. + Number of different trees used during the classifcation. + + + + Classify multiple characters with an k-NN classifier. + Instance represents: Handle of the k-NN classifier. + + Characters to be recognized. + Gray values of the characters. + Confidence of the class of the characters. + Result of classifying the characters with the k-NN. + + + + Classify multiple characters with an k-NN classifier. + Instance represents: Handle of the k-NN classifier. + + Characters to be recognized. + Gray values of the characters. + Confidence of the class of the characters. + Result of classifying the characters with the k-NN. + + + + Classify a single character with an OCR classifier. + Instance represents: Handle of the k-NN classifier. + + Character to be recognized. + Gray values of the character. + Number of maximal classes to determine. Default: 1 + Number of neighbors to consider. Default: 1 + Confidence(s) of the class(es) of the character. + Results of classifying the character with the k-NN. + + + + Classify a single character with an OCR classifier. + Instance represents: Handle of the k-NN classifier. + + Character to be recognized. + Gray values of the character. + Number of maximal classes to determine. Default: 1 + Number of neighbors to consider. Default: 1 + Confidence(s) of the class(es) of the character. + Results of classifying the character with the k-NN. + + + + Select an optimal combination of features to classify OCR data. + Modified instance represents: Trained OCR-k-NN classifier. + + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + + Select an optimal combination of features to classify OCR data. + Modified instance represents: Trained OCR-k-NN classifier. + + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + Represents an instance of a MLP OCR classifier. + + + + Read an OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. + + + + Create an OCR classifier using a multilayer perceptron. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + Number of hidden units of the MLP. Default: 80 + Type of preprocessing used to transform the feature vectors. Default: "none" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + + + + Create an OCR classifier using a multilayer perceptron. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + Number of hidden units of the MLP. Default: 80 + Type of preprocessing used to transform the feature vectors. Default: "none" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Select an optimal combination of features to classify OCR data from a (protected) training file. + Modified instance represents: Trained OCR-MLP classifier. + + Names of the training files. Default: "" + Passwords for protected training files. + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + + Select an optimal combination of features to classify OCR data from a (protected) training file. + Modified instance represents: Trained OCR-MLP classifier. + + Names of the training files. Default: "" + Passwords for protected training files. + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + + Selects an optimal combination of features to classify OCR data. + Modified instance represents: Trained OCR-MLP classifier. + + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + + Selects an optimal combination of features to classify OCR data. + Modified instance represents: Trained OCR-MLP classifier. + + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + Clear an OCR classifier. + Handle of the OCR classifier. + + + + Clear an OCR classifier. + Instance represents: Handle of the OCR classifier. + + + + + Deserialize a serialized MLP-based OCR classifier. + Modified instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + + Serialize a MLP-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + + Read an OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. + + + + Write an OCR classifier to a file. + Instance represents: Handle of the OCR classifier. + + File name. + + + + Compute the features of a character. + Instance represents: Handle of the OCR classifier. + + Input character. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the MLP. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the MLP. + + + + Classify multiple characters with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Confidence of the class of the characters. + Result of classifying the characters with the MLP. + + + + Classify multiple characters with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Confidence of the class of the characters. + Result of classifying the characters with the MLP. + + + + Classify a single character with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Character to be recognized. + Gray values of the character. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the MLP. + + + + Classify a single character with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Character to be recognized. + Gray values of the character. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the MLP. + + + + Train an OCR classifier with data from a (protected) training file. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Passwords for protected training files. + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + Mean error of the MLP on the training data. + + + + Train an OCR classifier with data from a (protected) training file. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Passwords for protected training files. + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + Mean error of the MLP on the training data. + + + + Train an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + Mean error of the MLP on the training data. + + + + Train an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + Mean error of the MLP on the training data. + + + + Compute the information content of the preprocessed feature vectors of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Cumulative information content of the transformed feature vectors. + Relative information content of the transformed feature vectors. + + + + Compute the information content of the preprocessed feature vectors of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Cumulative information content of the transformed feature vectors. + Relative information content of the transformed feature vectors. + + + + Return the rejection class parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Name of the general parameter. Default: "sampling_strategy" + Value of the general parameter. + + + + Return the rejection class parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Name of the general parameter. Default: "sampling_strategy" + Value of the general parameter. + + + + Set the rejection class parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Name of the general parameter. Default: "sampling_strategy" + Value of the general parameter. Default: "hyperbox_around_all_classes" + + + + Set the rejection class parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Name of the general parameter. Default: "sampling_strategy" + Value of the general parameter. Default: "hyperbox_around_all_classes" + + + + Return the regularization parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Name of the regularization parameter to return. Default: "weight_prior" + Value of the regularization parameter. + + + + Set the regularization parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Name of the regularization parameter to return. Default: "weight_prior" + Value of the regularization parameter. Default: 1.0 + + + + Set the regularization parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Name of the regularization parameter to return. Default: "weight_prior" + Value of the regularization parameter. Default: 1.0 + + + + Return the parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + Number of hidden units of the MLP. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features. + + + + Return the parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + Number of hidden units of the MLP. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features. + + + + Create an OCR classifier using a multilayer perceptron. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + Number of hidden units of the MLP. Default: 80 + Type of preprocessing used to transform the feature vectors. Default: "none" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + + + + Create an OCR classifier using a multilayer perceptron. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + Number of hidden units of the MLP. Default: 80 + Type of preprocessing used to transform the feature vectors. Default: "none" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + + + Represents an instance of a SVM OCR classifier. + + + + Read a SVM-based OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. + + + + Create an OCR classifier using a support vector machine. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + The kernel type. Default: "rbf" + Additional parameter for the kernel function. Default: 0.02 + Regularization constant of the SVM. Default: 0.05 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + + + + Create an OCR classifier using a support vector machine. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + The kernel type. Default: "rbf" + Additional parameter for the kernel function. Default: 0.02 + Regularization constant of the SVM. Default: 0.05 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Select an optimal combination of features to classify OCR data from a (protected) training file. + Modified instance represents: Trained OCR-SVM Classifier. + + Names of the training files. Default: "" + Passwords for protected training files. + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + + Select an optimal combination of features to classify OCR data from a (protected) training file. + Modified instance represents: Trained OCR-SVM Classifier. + + Names of the training files. Default: "" + Passwords for protected training files. + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + + Selects an optimal combination of features to classify OCR data. + Modified instance represents: Trained OCR-SVM Classifier. + + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + + Selects an optimal combination of features to classify OCR data. + Modified instance represents: Trained OCR-SVM Classifier. + + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Achieved score using tow-fold cross-validation. + Selected feature set, contains only entries from FeatureList. + + + Clear an SVM-based OCR classifier. + Handle of the OCR classifier. + + + + Clear an SVM-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + + + + Deserialize a serialized SVM-based OCR classifier. + Modified instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + + Serialize a SVM-based OCR classifier + Instance represents: Handle of the OCR classifier. + + Handle of the serialized item. + + + + Read a SVM-based OCR classifier from a file. + Modified instance represents: Handle of the OCR classifier. + + File name. + + + + Write an OCR classifier to a file. + Instance represents: Handle of the OCR classifier. + + File name. + + + + Compute the features of a character. + Instance represents: Handle of the OCR classifier. + + Input character. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the SVM. + + + + Classify multiple characters with an SVM-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Characters to be recognized. + Gray values of the characters. + Result of classifying the characters with the SVM. + + + + Classify a single character with an SVM-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Character to be recognized. + Gray values of the character. + Number of best classes to determine. Default: 1 + Result of classifying the character with the SVM. + + + + Approximate a trained SVM-based OCR classifier by a reduced SVM. + Instance represents: Original handle of SVM-based OCR-classifier. + + Type of postprocessing to reduce number of SVs. Default: "bottom_up" + Minimum number of remaining SVs. Default: 2 + Maximum allowed error of reduction. Default: 0.001 + SVMHandle of reduced OCR classifier. + + + + Train an OCR classifier with data from a (protected) training file. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Passwords for protected training files. + Stop parameter for training. Default: 0.001 + Mode of training. Default: "default" + + + + Train an OCR classifier with data from a (protected) training file. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Passwords for protected training files. + Stop parameter for training. Default: 0.001 + Mode of training. Default: "default" + + + + Train an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Stop parameter for training. Default: 0.001 + Mode of training. Default: "default" + + + + Train an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Stop parameter for training. Default: 0.001 + Mode of training. Default: "default" + + + + Compute the information content of the preprocessed feature vectors of an SVM-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Cumulative information content of the transformed feature vectors. + Relative information content of the transformed feature vectors. + + + + Compute the information content of the preprocessed feature vectors of an SVM-based OCR classifier. + Instance represents: Handle of the OCR classifier. + + Names of the training files. Default: "ocr.trf" + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Cumulative information content of the transformed feature vectors. + Relative information content of the transformed feature vectors. + + + + Return the number of support vectors of an OCR classifier. + Instance represents: OCR handle. + + Number of SV of each sub-SVM. + Total number of support vectors. + + + + Return the index of a support vector from a trained OCR classifier that is based on support vector machines. + Instance represents: OCR handle. + + Number of stored support vectors. + Index of the support vector in the training set. + + + + Return the parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + The kernel type. + Additional parameters for the kernel function. + Regularization constant of the SVM. + The mode of the SVM. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). + + + + Return the parameters of an OCR classifier. + Instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + The kernel type. + Additional parameters for the kernel function. + Regularization constant of the SVM. + The mode of the SVM. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). + + + + Create an OCR classifier using a support vector machine. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + The kernel type. Default: "rbf" + Additional parameter for the kernel function. Default: 0.02 + Regularization constant of the SVM. Default: 0.05 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + + + + Create an OCR classifier using a support vector machine. + Modified instance represents: Handle of the OCR classifier. + + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + The kernel type. Default: "rbf" + Additional parameter for the kernel function. Default: 0.02 + Regularization constant of the SVM. Default: 0.05 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + + + Represents an instance of a tool for optical character verification. + + + + Reading an OCV tool from file. + Modified instance represents: Handle of read OCV tool. + + Name of the file which has to be read. Default: "test_ocv" + + + + Create a new OCV tool based on gray value projections. + Modified instance represents: Handle of the created OCV tool. + + List of names for patterns to be trained. Default: "a" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Verification of a pattern using an OCV tool. + Instance represents: Handle of the OCV tool. + + Characters to be verified. + Name of the character. Default: "a" + Adaption to vertical and horizontal translation. Default: "true" + Adaption to vertical and horizontal scaling of the size. Default: "true" + Adaption to changes of the orientation (not implemented). Default: "false" + Adaption to additive and scaling gray value changes. Default: "true" + Minimum difference between objects. Default: 10 + Evaluation of the character. + + + + Verification of a pattern using an OCV tool. + Instance represents: Handle of the OCV tool. + + Characters to be verified. + Name of the character. Default: "a" + Adaption to vertical and horizontal translation. Default: "true" + Adaption to vertical and horizontal scaling of the size. Default: "true" + Adaption to changes of the orientation (not implemented). Default: "false" + Adaption to additive and scaling gray value changes. Default: "true" + Minimum difference between objects. Default: 10 + Evaluation of the character. + + + + Training of an OCV tool. + Instance represents: Handle of the OCV tool to be trained. + + Pattern to be trained. + Name(s) of the object(s) to analyse. Default: "a" + Mode for training (only one mode implemented). Default: "single" + + + + Training of an OCV tool. + Instance represents: Handle of the OCV tool to be trained. + + Pattern to be trained. + Name(s) of the object(s) to analyse. Default: "a" + Mode for training (only one mode implemented). Default: "single" + + + + Deserialize a serialized OCV tool. + Modified instance represents: Handle of the OCV tool. + + Handle of the serialized item. + + + + Serialize an OCV tool. + Instance represents: Handle of the OCV tool. + + Handle of the serialized item. + + + + Reading an OCV tool from file. + Modified instance represents: Handle of read OCV tool. + + Name of the file which has to be read. Default: "test_ocv" + + + + Saving an OCV tool to file. + Instance represents: Handle of the OCV tool to be written. + + Name of the file where the tool has to be saved. Default: "test_ocv" + + + + Clear an OCV tool. + Instance represents: Handle of the OCV tool which has to be freed. + + + + + Create a new OCV tool based on gray value projections. + Modified instance represents: Handle of the created OCV tool. + + List of names for patterns to be trained. Default: "a" + + + + Create a new OCV tool based on gray value projections. + Modified instance represents: Handle of the created OCV tool. + + List of names for patterns to be trained. Default: "a" + + + Class grouping all HALCON operators. + + + Compute the union of cotangential contours. + Input XLD contours. + Output XLD contours. + Length of the part of a contour to skip for the determination of tangents. Default: 0.0 + Length of the part of a contour to use for the determination of tangents. Default: 30.0 + Maximum angle difference between two contours' tangents. Default: 0.78539816 + Maximum distance of the contours' end points. Default: 25.0 + Maximum distance of the contours' end points perpendicular to their tangents. Default: 10.0 + Maximum overlap of two contours. Default: 2.0 + Mode describing the treatment of the contours' attributes. Default: "attr_forget" + + + Transform a contour in polar coordinates back to Cartesian coordinates + Input contour. + Output contour. + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the column coordinate 0 of PolarContour to. Default: 0.0 + Angle of the ray to map the column coordinate $WidthIn-1$ of PolarContour to. Default: 6.2831853 + Radius of the circle to map the row coordinate 0 of PolarContour to. Default: 0 + Radius of the circle to map the row coordinate $HeightIn-1$ of PolarContour to. Default: 100 + Width of the virtual input image. Default: 512 + Height of the virtual input image. Default: 512 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + + + Transform a contour in an annular arc to polar coordinates. + Input contour. + Output contour. + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to the column coordinate 0 of PolarTransContour. Default: 0.0 + Angle of the ray to be mapped to the column coordinate $Width-1$ of PolarTransContour to. Default: 6.2831853 + Radius of the circle to be mapped to the row coordinate 0 of PolarTransContour. Default: 0 + Radius of the circle to be mapped to the row coordinate $Height-1$ of PolarTransContour. Default: 100 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + + + Create control data of a NURBS curve that interpolates given points. + Row coordinates of input point list. + Column coordinates of input point list. + Tangents at first and last point. Default: [] + Order of the output curve. Default: 3 + Row coordinates of the control polygon. + Column coordinates of the control polygon. + The knot vector of the output curve. + + + Transform a NURBS curve into an XLD contour. + The contour that approximates the NURBS curve. + Row coordinates of the control polygon. + Column coordinates of the control polygon. + The knot vector $u$. Default: "auto" + The weight vector $w$. Default: "auto" + The degree $p$ of the NURBS curve. Default: 3 + Maximum distance between the NURBS curve and its approximation. Default: 1.0 + Maximum distance between two subsequent Contour points. Default: 5.0 + + + Compute the union of closed polygons. + Polygons enclosing the first region. + Polygons enclosing the second region. + Polygons enclosing the union. + + + Compute the union of closed contours. + Contours enclosing the first region. + Contours enclosing the second region. + Contours enclosing the union. + + + Compute the symmetric difference of closed polygons. + Polygons enclosing the first region. + Polygons enclosing the second region. + Polygons enclosing the symmetric difference. + + + Compute the symmetric difference of closed contours. + Contours enclosing the first region. + Contours enclosing the second region. + Contours enclosing the symmetric difference. + + + Compute the difference of closed polygons. + Polygons enclosing the region from which the second region is subtracted. + Polygons enclosing the region that is subtracted from the first region. + Polygons enclosing the difference. + + + Compute the difference of closed contours. + Contours enclosing the region from which the second region is subtracted. + Contours enclosing the region that is subtracted from the first region. + Contours enclosing the difference. + + + Intersect closed polygons. + Polygons enclosing the first region to be intersected. + Polygons enclosing the second region to be intersected. + Polygons enclosing the intersection. + + + Intersect closed contours. + Contours enclosing the first region to be intersected. + Contours enclosing the second region to be intersected. + Contours enclosing the intersection. + + + Compute the union of contours that belong to the same circle. + Contours to be merged. + Merged contours. + Maximum angular distance of two circular arcs. Default: 0.5 + Maximum overlap of two circular arcs. Default: 0.1 + Maximum angle between the connecting line and the tangents of circular arcs. Default: 0.2 + Maximum length of the gap between two circular arcs in pixels. Default: 30 + Maximum radius difference of the circles fitted to two arcs. Default: 10 + Maximum center distance of the circles fitted to two arcs. Default: 10 + Determine whether small contours without fitted circles should also be merged. Default: "true" + Number of iterations. Default: 1 + + + Crop an XLD contour. + Input contours. + Output contours. + Upper border of the cropping rectangle. Default: 0 + Left border of the cropping rectangle. Default: 0 + Lower border of the cropping rectangle. Default: 512 + Right border of the cropping rectangle. Default: 512 + Should closed contours produce closed output contours? Default: "true" + + + Generate one XLD contour in the shape of a cross for each input point. + Generated XLD contours. + Row coordinates of the input points. + Column coordinates of the input points. + Length of the cross bars. Default: 6.0 + Orientation of the crosses. Default: 0.785398 + + + Sort contours with respect to their relative position. + Contours to be sorted. + Sorted contours. + Kind of sorting. Default: "upper_left" + Increasing or decreasing sorting order. Default: "true" + Sorting first with respect to row, then to column. Default: "row" + + + Merge XLD contours from successive line scan images. + Current input contours. + Merged contours from the previous iteration. + Current contours, merged with old ones where applicable. + Contours from the previous iteration which could not be merged with the current ones. + Height of the line scan images. Default: 512 + Maximum distance of contours from the image border. Default: 0.0 + Image line of the current image, which touches the previous image. Default: "top" + Maximum number of images covered by one contour. Default: 3 + + + Read XLD polygons from a file in ARC/INFO generate format. + Read XLD polygons. + Name of the ARC/INFO file. + + + Write XLD polygons to a file in ARC/INFO generate format. + XLD polygons to be written. + Name of the ARC/INFO file. + + + Read XLD contours to a file in ARC/INFO generate format. + Read XLD contours. + Name of the ARC/INFO file. + + + Write XLD contours to a file in ARC/INFO generate format. + XLD contours to be written. + Name of the ARC/INFO file. + + + Read the geo coding from an ARC/INFO world file. + Name of the ARC/INFO world file. + Transformation matrix from image to world coordinates. + + + Compute the parallel contour of an XLD contour. + Contours to be transformed. + Parallel contours. + Mode, with which the direction information is computed. Default: "regression_normal" + Distance of the parallel contour. Default: 1 + + + Create an XLD contour in the shape of a rectangle. + Rectangle contour. + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Orientation of the main axis of the rectangle [rad]. Default: 0.0 + First radius (half length) of the rectangle. Default: 100.5 + Second radius (half width) of the rectangle. Default: 20.5 + + + Compute the distances of all contour points to a rectangle. + Input contour. + Number of points at the beginning and the end of the contours to be ignored for the computation of distances. Default: 0 + Row coordinate of the center of the rectangle. + Column coordinate of the center of the rectangle. + Orientation of the main axis of the rectangle [rad]. + First radius (half length) of the rectangle. + Second radius (half width) of the rectangle. + Distances of the contour points to the rectangle. + + + Fit rectangles to XLD contours. + Input contours. + Algorithm for fitting the rectangles. Default: "regression" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as closed. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations (not used for 'regression'). Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 2.0 for 'tukey'). Default: 2.0 + Row coordinate of the center of the rectangle. + Column coordinate of the center of the rectangle. + Orientation of the main axis of the rectangle [rad]. + First radius (half length) of the rectangle. + Second radius (half width) of the rectangle. + Point order of the contour. + + + Segment XLD contour parts whose local attributes fulfill given conditions. + Contour to be segmented. + Segmented contour parts. + Contour attributes to be checked. Default: "distance" + Linkage type of the individual attributes. Default: "and" + Lower limits of the attribute values. Default: 150.0 + Upper limits of the attribute values. Default: 99999.0 + + + Segment XLD contours into line segments and circular or elliptic arcs. + Contours to be segmented. + Segmented contours. + Mode for the segmentation of the contours. Default: "lines_circles" + Number of points used for smoothing the contours. Default: 5 + Maximum distance between a contour and the approximating line (first iteration). Default: 4.0 + Maximum distance between a contour and the approximating line (second iteration). Default: 2.0 + + + Approximate XLD contours by circles. + Input contours. + Algorithm for the fitting of circles. Default: "algebraic" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as 'closed'. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations for the robust weighted fitting. Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for Huber and 2.0 for Tukey). Default: 2.0 + Row coordinate of the center of the circle. + Column coordinate of the center of the circle. + Radius of circle. + Angle of the start point [rad]. + Angle of the end point [rad]. + Point order along the boundary. + + + Approximate XLD contours by line segments. + Input contours. + Algorithm for the fitting of lines. Default: "tukey" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 'drop' and 2.0 for 'tukey'). Default: 2.0 + Row coordinates of the starting points of the line segments. + Column coordinates of the starting points of the line segments. + Row coordinates of the end points of the line segments. + Column coordinates of the end points of the line segments. + Line parameter: Row coordinate of the normal vector + Line parameter: Column coordinate of the normal vector + Line parameter: Distance of the line from the origin + + + Compute the distances of all contour points to an ellipse. + Input contours. + Mode for unsigned or signed distance values. Default: "unsigned" + Number of points at the beginning and the end of the contours to be ignored for the computation of distances. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis in radian. + Length of the larger half axis. + Length of the smaller half axis. + Distances of the contour points to the ellipse. + + + Compute the distance of contours to an ellipse. + Input contours. + Method for the determination of the distances. Default: "geometric" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Number of points at the beginning and the end of the contours to be ignored for the computation of distances. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis in radian. + Length of the larger half axis. + Length of the smaller half axis. + Minimum distance. + Maximum distance. + Mean distance. + Standard deviation of the distance. + + + Approximate XLD contours by ellipses or elliptic arcs. + Input contours. + Algorithm for the fitting of ellipses. Default: "fitzgibbon" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as 'closed'. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Number of circular segments used for the Voss approach. Default: 200 + Maximum number of iterations for the robust weighted fitting. Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for '*huber' and 2.0 for '*tukey'). Default: 2.0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Angle of the start point [rad]. + Angle of the end point [rad]. + point order along the boundary. + + + Create XLD contours corresponding to circles or circular arcs. + Resulting contours. + Row coordinate of the center of the circles or circular arcs. Default: 200.0 + Column coordinate of the center of the circles or circular arcs. Default: 200.0 + Radius of the circles or circular arcs. Default: 100.0 + Angle of the start points of the circles or circular arcs [rad]. Default: 0.0 + Angle of the end points of the circles or circular arcs [rad]. Default: 6.28318 + Point order along the circles or circular arcs. Default: "positive" + Distance between neighboring contour points. Default: 1.0 + + + Create an XLD contour that corresponds to an elliptic arc. + Resulting contour. + Row coordinate of the center of the ellipse. Default: 200.0 + Column coordinate of the center of the ellipse. Default: 200.0 + Orientation of the main axis [rad]. Default: 0.0 + Length of the larger half axis. Default: 100.0 + Length of the smaller half axis. Default: 50.0 + Angle of the start point on the smallest surrounding circle [rad]. Default: 0.0 + Angle of the end point on the smallest surrounding circle [rad]. Default: 6.28318 + point order along the boundary. Default: "positive" + Resolution: Maximum distance between neighboring contour points. Default: 1.5 + + + Add noise to XLD contours. + Original contours. + Noisy contours. + Number of points used to calculate the regression line. Default: 5 + Maximum amplitude of the added noise (equally distributed in [-Amp,Amp]). Default: 1.0 + + + Combine road hypotheses from two resolution levels. + XLD polygons to be examined. + Modified parallels obtained from EdgePolygons. + Extended parallels obtained from EdgePolygons. + Road-center-line polygons to be examined. + Roadsides found. + Maximum angle between two parallel line segments. Default: 0.523598775598 + Maximum angle between two collinear line segments. Default: 0.261799387799 + Maximum distance between two parallel line segments. Default: 40 + Maximum distance between two collinear line segments. Default: 40 + + + Join modified XLD parallels lying on the same polygon. + Extended XLD parallels. + Maximally extended parallels. + + + Extract parallel XLD polygons enclosing a homogeneous area. + Input XLD parallels. + Corresponding gray value image. + Modified XLD parallels. + Extended XLD parallels. + Minimum quality factor (measure of parallelism). Default: 0.4 + Minimum mean gray value. Default: 160 + Maximum mean gray value. Default: 220 + Maximum allowed standard deviation. Default: 10.0 + + + Return information about the gray values of the area enclosed by XLD parallels. + Input XLD Parallels. + Corresponding gray value image. + Minimum quality factor. + Maximum quality factor. + Minimum mean gray value. + Maximum mean gray value. + Minimum standard deviation. + Maximum standard deviation. + + + Return an XLD parallel's data (as lines). + Input XLD parallels. + Row coordinates of the points on polygon P1. + Column coordinates of the points on polygon P1. + Lengths of the line segments on polygon P1. + Angles of the line segments on polygon P1. + Row coordinates of the points on polygon P2. + Column coordinates of the points on polygon P2. + Lengths of the line segments on polygon P2. + Angles of the line segments on polygon P2. + + + Extract parallel XLD polygons. + Input polygons. + Parallel polygons. + Minimum length of the individual polygon segments. Default: 10.0 + Maximum distance between the polygon segments. Default: 30.0 + Maximum angle difference of the polygon segments. Default: 0.15 + Should adjacent parallel relations be merged? Default: "true" + + + Return an XLD polygon's data (as lines). + Input XLD polygons. + Row coordinates of the lines' start points. + Column coordinates of the lines' start points. + Column coordinates of the lines' end points. + Column coordinates of the lines' end points. + Lengths of the line segments. + Angles of the line segments. + + + Return an XLD polygon's data. + Input XLD polygon. + Row coordinates of the polygons' points. + Column coordinates of the polygons' points. + Lengths of the line segments. + Angles of the line segments. + + + Approximate XLD contours by polygons. + Contours to be approximated. + Approximating polygons. + Type of approximation. Default: "ramer" + Threshold for the approximation. Default: 2.0 + + + Split XLD contours at dominant points. + Polygons for which the corresponding contours are to be split. + Split contours. + Mode for the splitting of the contours. Default: "polygon" + Weight for the sensitiveness. Default: 1 + Width of the smoothing mask. Default: 5 + + + Apply a projective transformation to an XLD contour. + Input contours. + Output contours. + Homogeneous projective transformation matrix. + + + Apply an arbitrary affine transformation to XLD polygons. + Input XLD polygons. + Transformed XLD polygons. + Input transformation matrix. + + + Apply an arbitrary affine 2D transformation to XLD contours. + Input XLD contours. + Transformed XLD contours. + Input transformation matrix. + + + Close an XLD contour. + Contours to be closed. + Closed contours. + + + Clip the end points of an XLD contour. + Input contour + Clipped contour + Clipping mode. Default: "num_points" + Clipping length in unit pixels (Mode $=$ 'length') or number (Mode $=$ 'num_points') Default: 3 + + + Clip an XLD contour. + Contours to be clipped. + Clipped contours. + Row coordinate of the upper left corner of the clip rectangle. Default: 0 + Column coordinate of the upper left corner of the clip rectangle. Default: 0 + Row coordinate of the lower right corner of the clip rectangle. Default: 512 + Column coordinate of the lower right corner of the clip rectangle. Default: 512 + + + Select XLD contours with a local maximum of gray values. + XLD contours to be examined. + Corresponding gray value image. + Selected contours. + Minimum percentage of maximum points. Default: 70 + Minimum amount by which the gray value at the maximum must be larger than in the profile. Default: 15 + Maximum width of profile used to check for maxima. Default: 4 + + + Compute the union of neighboring straight contours that have a similar distance from a given line. + Input XLD contours. + Output XLD contours. + Output XLD contours. + y coordinate of the starting point of the reference line. Default: 0 + x coordinate of the starting point of the reference line. Default: 0 + y coordinate of the endpoint of the reference line. Default: 0 + x coordinate of the endpoint of the reference line. Default: 0 + Maximum distance. Default: 1 + Maximum Width between two minimas. Default: 1 + Size of Smoothfilter Default: 1 + Output Values of Histogram. + + + Compute the union of neighboring straight contours that have a similar direction. + Input XLD contours. + Output XLD contours. + Maximum distance of the contours' endpoints. Default: 5.0 + Maximum difference in direction. Default: 0.5 + Weighting factor for the two selection criteria. Default: 50.0 + Should parallel contours be taken into account? Default: "noparallel" + Number of iterations or 'maximum'. Default: "maximum" + + + Compute the union of collinear contours (operator with extended functionality). + Input XLD contours. + Output XLD contours. + Maximum distance of the contours' end points in the direction of the reference regression line. Default: 10.0 + Maximum distance of the contours' end points in the direction of the reference regression line in relation to the length of the contour which is to be elongated. Default: 1.0 + Maximum distance of the contour from the reference regression line (i.e., perpendicular to the line). Default: 2.0 + Maximum angle difference between the two contours. Default: 0.1 + Maximum range of the overlap. Default: 0.0 + Maximum regression error of the resulting contours (NOT USED). Default: -1.0 + Threshold for reducing the total costs of unification. Default: 1.0 + Influence of the distance in the line direction on the total costs. Default: 1.0 + Influence of the distance from the regression line on the total costs. Default: 1.0 + Influence of the angle difference on the total costs. Default: 1.0 + Influence of the line disturbance by the linking segment (overlap and angle difference) on the total costs. Default: 1.0 + Influence of the regression error on the total costs (NOT USED). Default: 0.0 + Mode describing the treatment of the contours' attributes Default: "attr_keep" + + + Unite approximately collinear contours. + Input XLD contours. + Output XLD contours. + Maximum length of the gap between two contours, measured along the regression line of the reference contour. Default: 10.0 + Maximum length of the gap between two contours, relative to the length of the reference contour, both measured along the regression line of the reference contour. Default: 1.0 + Maximum distance of the second contour from the regression line of the reference contour. Default: 2.0 + Maximum angle between the regression lines of two contours. Default: 0.1 + Mode that defines the treatment of contour attributes, i.e., if the contour attributes are kept or discarded. Default: "attr_keep" + + + Compute the union of contours whose end points are close together. + Input XLD contours. + Output XLD contours. + Maximum distance of the contours' end points. Default: 10.0 + Maximum distance of the contours' end points in relation to the length of the longer contour. Default: 1.0 + Mode describing the treatment of the contours' attributes. Default: "attr_keep" + + + Select XLD contours according to several features. + Input XLD contours. + Output XLD contours. + Feature to select contours with. Default: "contour_length" + Lower threshold. Default: 0.5 + Upper threshold. Default: 200.0 + Lower threshold. Default: -0.5 + Upper threshold. Default: 0.5 + + + Return XLD contour parameters. + Input XLD contours. + Number of contour points. + X-coordinate of the normal vector of the regression line. + Y-coordinate of the normal vector of the regression line. + Distance of the regression line from the origin. + X-coordinate of the projection of the start point of the contour onto the regression line. + Y-coordinate of the projection of the start point of the contour onto the regression line. + X-coordinate of the projection of the end point of the contour onto the regression line. + Y-coordinate of the projection of the end point of the contour onto the regression line. + Mean distance of the contour points from the regression line. + Standard deviation of the distances from the regression line. + + + Calculate the parameters of a regression line to an XLD contour. + Input XLD contours. + Resulting XLD contours. + Type of outlier treatment. Default: "no" + Number of iterations for the outlier treatment. Default: 1 + + + Calculate the direction of an XLD contour for each contour point. + Input contour. + Return type of the angles. Default: "abs" + Method for computing the angles. Default: "range" + Number of points to take into account. Default: 3 + Direction of the tangent to the contour points. + + + Smooth an XLD contour. + Contour to be smoothed. + Smoothed contour. + Number of points used to calculate the regression line. Default: 5 + + + Return the number of points in an XLD contour. + Input XLD contour. + Number of contour points. + + + Return the names of the defined global attributes of an XLD contour. + Input contour. + List of the defined global contour attributes. + + + Return global attributes values of an XLD contour. + Input XLD contour. + Name of the attribute. Default: "regr_norm_row" + Attribute values. + + + Return the names of the defined attributes of an XLD contour. + Input contour. + List of the defined contour attributes. + + + Return point attribute values of an XLD contour. + Input XLD contour. + Name of the attribute. Default: "angle" + Attribute values. + + + Return the coordinates of an XLD contour. + Input XLD contour. + Row coordinate of the contour's points. + Column coordinate of the contour's points. + + + Generate XLD contours from regions. + Input regions. + Resulting contours. + Mode of contour generation. Default: "border" + + + Generate an XLD contour with rounded corners from a polygon (given as tuples). + Resulting contour. + Row coordinates of the polygon. Default: [20,80,80,20,20] + Column coordinates of the polygon. Default: [20,20,80,80,20] + Radii of the rounded corners. Default: [20,20,20,20,20] + Distance of the samples. Default: 1.0 + + + Generate an XLD contour from a polygon (given as tuples). + Resulting contour. + Row coordinates of the polygon. Default: [0,1,2,2,2] + Column coordinates of the polygon. Default: [0,0,0,1,2] + + + Convert a skeleton into XLD contours. + Skeleton of which the contours are to be determined. + Resulting contours. + Minimum number of points a contour has to have. Default: 1 + Contour filter mode. Default: "filter" + + + Display an XLD object. + XLD object to display. + Window handle. + + + Image restoration by Wiener filtering. + Corrupted image. + impulse response (PSF) of degradation (in spatial domain). + Region for noise estimation. + Restored image. + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + + + Image restoration by Wiener filtering. + Corrupted image. + impulse response (PSF) of degradation (in spatial domain). + Smoothed version of corrupted image. + Restored image. + + + Generate an impulse response of a (linearly) motion blurring. + Impulse response of motion-blur. + Width of impulse response image. Default: 256 + Height of impulse response image. Default: 256 + Degree of motion-blur. Default: 20.0 + Angle between direction of motion and x-axis (anticlockwise). Default: 0 + PSF prototype resp. type of motion. Default: 3 + + + Simulation of (linearly) motion blur. + image to be blurred. + motion blurred image. + extent of blurring. Default: 20.0 + Angle between direction of motion and x-axis (anticlockwise). Default: 0 + impulse response of motion blur. Default: 3 + + + Generate an impulse response of an uniform out-of-focus blurring. + Impulse response of uniform out-of-focus blurring. + Width of result image. Default: 256 + Height of result image. Default: 256 + Degree of Blurring. Default: 5.0 + + + Simulate an uniform out-of-focus blurring of an image. + Image to blur. + Blurred image. + Degree of blurring. Default: 5.0 + + + Deserialize a variation model. + Handle of the serialized item. + ID of the variation model. + + + Serialize a variation model. + ID of the variation model. + Handle of the serialized item. + + + Read a variation model from a file. + File name. + ID of the variation model. + + + Write a variation model to a file. + ID of the variation model. + File name. + + + Return the threshold images used for image comparison by a variation model. + Threshold image for the lower threshold. + Threshold image for the upper threshold. + ID of the variation model. + + + Return the images used for image comparison by a variation model. + Image of the trained object. + Variation image of the trained object. + ID of the variation model. + + + Compare an image to a variation model. + Image of the object to be compared. + Region containing the points that differ substantially from the model. + ID of the variation model. + Method used for comparing the variation model. Default: "absolute" + + + Compare an image to a variation model. + Image of the object to be compared. + Region containing the points that differ substantially from the model. + ID of the variation model. + + + Prepare a variation model for comparison with an image. + Reference image of the object. + Variation image of the object. + ID of the variation model. + Absolute minimum threshold for the differences between the image and the variation model. Default: 10 + Threshold for the differences based on the variation of the variation model. Default: 2 + + + Prepare a variation model for comparison with an image. + ID of the variation model. + Absolute minimum threshold for the differences between the image and the variation model. Default: 10 + Threshold for the differences based on the variation of the variation model. Default: 2 + + + Train a variation model. + Images of the object to be trained. + ID of the variation model. + + + This operator is inoperable. It had the following function: Free the memory of all variation models. + + + Free the memory of a variation model. + ID of the variation model. + + + Free the memory of the training data of a variation model. + ID of the variation model. + + + Create a variation model for image comparison. + Width of the images to be compared. Default: 640 + Height of the images to be compared. Default: 480 + Type of the images to be compared. Default: "byte" + Method used for computing the variation model. Default: "standard" + ID of the variation model. + + + Compute the union set of two input tuples. + Input tuple. + Input tuple. + The union set of two input tuples. + + + Compute the intersection set of two input tuples. + Input tuple. + Input tuple. + The intersection set of two input tuples. + + + Compute the difference set of two input tuples. + Input tuple. + Input tuple. + The difference set of two input tuples. + + + Compute the symmetric difference set of two input tuples. + Input tuple. + Input tuple. + The symmetric difference set of two input tuples. + + + Test whether the types of the elements of a tuple are of type string. + Input tuple. + Are the elements of the input tuple of type string? + + + Test whether the types of the elements of a tuple are of type real. + Input tuple. + Are the elements of the input tuple of type real? + + + Test whether the types of the elements of a tuple are of type integer. + Input tuple. + Are the elements of the input tuple of type integer? + + + Return the types of the elements of a tuple. + Input tuple. + Types of the elements of the input tuple as integer values. + + + Test whether a tuple is of type mixed. + Input tuple. + Is the input tuple of type mixed? + + + Test if the internal representation of a tuple is of type string. + Input tuple. + Is the input tuple of type string? + + + Test if the internal representation of a tuple is of type real. + Input tuple. + Is the input tuple of type real? + + + Test if the internal representation of a tuple is of type integer. + Input tuple. + Is the input tuple of type integer? + + + Return the type of a tuple. + Input tuple. + Type of the input tuple as an integer number. + + + Calculate the value distribution of a tuple within a certain value range. + Input tuple. + Minimum value. + Maximum value. + Number of bins. + Histogram to be calculated. + Bin size. + + + Select tuple elements matching a regular expression. + Input strings to match. + Regular expression. Default: ".*" + Matching strings + + + Test if a string matches a regular expression. + Input strings to match. + Regular expression. Default: ".*" + Number of matching strings + + + Replace a substring using regular expressions. + Input strings to process. + Regular expression. Default: ".*" + Replacement expression. + Processed strings. + + + Extract substrings using regular expressions. + Input strings to match. + Regular expression. Default: ".*" + Found matches. + + + Return a tuple of random numbers between 0 and 1. + Length of tuple to generate. + Tuple of random numbers. + + + Return the number of elements of a tuple. + Input tuple. + Number of elements of input tuple. + + + Calculate the sign of a tuple. + Input tuple. + Signs of the input tuple as integer numbers. + + + Calculate the elementwise maximum of two tuples. + Input tuple 1. + Input tuple 2. + Elementwise maximum of the input tuples. + + + Calculate the elementwise minimum of two tuples. + Input tuple 1. + Input tuple 2. + Elementwise minimum of the input tuples. + + + Return the maximal element of a tuple. + Input tuple. + Maximal element of the input tuple elements. + + + Return the minimal element of a tuple. + Input tuple. + Minimal element of the input tuple elements. + + + Calculate the cumulative sums of a tuple. + Input tuple. + Cumulative sum of the corresponding tuple elements. + + + Select the element of rank n of a tuple. + Input tuple. + Rank of the element to select. + Selected tuple element. + + + Return the median of the elements of a tuple. + Input tuple. + Median of the tuple elements. + + + Return the sum of all elements of a tuple. + Input tuple. + Sum of tuple elements. + + + Return the mean value of a tuple of numbers. + Input tuple. + Mean value of tuple elements. + + + Return the standard deviation of the elements of a tuple. + Input tuple. + Standard deviation of tuple elements. + + + Discard all but one of successive identical elements of a tuple. + Input tuple. + Tuple without successive identical elements. + + + Return the index of the last occurrence of a tuple within another tuple. + Input tuple to examine. + Input tuple with values to find. + Index of the last occurrence of the values to find. + + + Return the index of the first occurrence of a tuple within another tuple. + Input tuple to examine. + Input tuple with values to find. + Index of the first occurrence of the values to find. + + + Return the indices of all occurrences of a tuple within another tuple. + Input tuple to examine. + Input tuple with values to find. + Indices of the occurrences of the values to find in the tuple to examine. + + + Sort the elements of a tuple and return the indices of the sorted tuple. + Input tuple. + Sorted tuple. + + + Sort the elements of a tuple in ascending order. + Input tuple. + Sorted tuple. + + + Invert a tuple. + Input tuple. + Inverted input tuple. + + + Concatenate two tuples to a new one. + Input tuple 1. + Input tuple 2. + Concatenation of input tuples. + + + Select several elements of a tuple. + Input tuple. + Index of first element to select. + Index of last element to select. + Selected tuple elements. + + + Select all elements from index "n" to the end of a tuple. + Input tuple. + Index of the first element to select. + Selected tuple elements. + + + Select the first elements of a tuple up to the index "n". + Input tuple. + Index of the last element to select. + Selected tuple elements. + + + Inserts one or more elements into a tuple at index. + Input tuple. + Start index of elements to be inserted. + Element(s) to insert at index. + Tuple with inserted elements. + + + Replaces one or more elements of a tuple. + Input tuple. + Index/Indices of elements to be replaced. + Element(s) to replace. + Tuple with replaced elements. + + + Remove elements from a tuple. + Input tuple. + Indices of the elements to remove. + Reduced tuple. + + + Select in mask specified elements of a tuple. + Input tuple. + greater than 0 specifies the elements to select. + Selected tuple elements. + + + Select single elements of a tuple. + Input tuple. + Indices of the elements to select. + Selected tuple element. + + + Select single character or bit from a tuple. + Input tuple. + Position of character or bit to select. + Tuple containing the selected characters and bits. + + + Generate a tuple with a sequence of equidistant values. + Start value of the tuple. + Maximum value for the last entry. + Increment value. + The resulting sequence. + + + Generate a tuple of a specific length and initialize its elements. + Length of tuple to generate. + Constant for initializing the tuple elements. + New Tuple. + + + Read one or more environment variables. + Tuple containing name(s) of the environment variable(s). + Content of the environment variable(s). + + + Split strings into substrings using predefined separator symbol(s). + Input tuple with string(s) to split. + Input tuple with separator symbol(s). + Substrings after splitting the input strings. + + + Cut characters from position "n1" through "n2" out of a string tuple. + Input tuple with string(s) to examine. + Input tuple with start position(s) "n1". + Input tuple with end position(s) "n2". + Characters of the string(s) from position "n1" to "n2". + + + Cut all characters starting at position "n" out of a string tuple. + Input tuple with string(s) to examine. + Input tuple with position(s) "n". + The last characters of the string(s) starting at position "n". + + + Cut the first characters up to position "n" out of a string tuple. + Input tuple with string(s) to examine. + Input tuple with position(s) "n". + The first characters of the string(s) up to position "n". + + + Backward search for characters within a string tuple. + Input tuple with string(s) to examine. + Input tuple with character(s) to search. + Position of searched character(s) within the string(s). + + + Forward search for characters within a string tuple. + Input tuple with string(s) to examine. + Input tuple with character(s) to search. + Position of searched character(s) within the string(s). + + + Backward search for strings within a string tuple. + Input tuple with string(s) to examine. + Input tuple with string(s) to search. + Position of searched string(s) within the examined string(s). + + + Forward search for strings within a string tuple. + Input tuple with string(s) to examine. + Input tuple with string(s) to search. + Position of searched string(s) within the examined string(s). + + + Determine the length of every string within a tuple of strings. + Input tuple. + Lengths of the single strings of the input tuple. + + + Test, whether a tuple is elementwise less or equal to another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test, whether a tuple is elementwise less than another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test, whether a tuple is elementwise greater or equal to another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test, whether a tuple is elementwise greater than another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test, whether two tuples are elementwise not equal. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test, whether two tuples are elementwise equal. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test whether a tuple is less or equal to another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test whether a tuple is less than another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test whether a tuple is greater or equal to another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test whether a tuple is greater than another tuple. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test whether two tuples are not equal. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Test whether two tuples are equal. + Input tuple 1. + Input tuple 2. + Result of the comparison of the input tuples. + + + Compute the logical not of a tuple. + Input tuple. + Binary not of the input tuple. + + + Compute the logical exclusive or of two tuples. + Input tuple 1. + Input tuple 2. + Binary exclusive or of the input tuples. + + + Compute the logical or of two tuples. + Input tuple 1. + Input tuple 2. + Logical or of the input tuples. + + + Compute the logical and of two tuples. + Input tuple 1. + Input tuple 2. + Logical and of the input tuples. + + + Compute the bitwise not of a tuple. + Input tuple. + Binary not of the input tuple. + + + Compute the bitwise exclusive or of two tuples. + Input tuple 1. + Input tuple 2. + Binary exclusive or of the input tuples. + + + Compute the bitwise or of two tuples. + Input tuple 1. + Input tuple 2. + Binary or of the input tuples. + + + Compute the bitwise and of two tuples. + Input tuple 1. + Input tuple 2. + Binary and of the input tuples. + + + Shift a tuple bitwise to the right. + Input tuple. + Number of places to shift the input tuple. + Shifted input tuple. + + + Shift a tuple bitwise to the left. + Input tuple. + Number of places to shift the input tuple. + Shifted input tuple. + + + Convert a tuple of integer numbers into strings. + Input tuple with integer numbers. + Output tuple with strings that are separated by the number 0. + + + Convert a tuple of strings into a tuple of integer numbers. + Input tuple with strings. + Output tuple with the Unicode character codes or ANSI codes of the input string. + + + Convert a tuple of integer numbers into strings. + Input tuple with Unicode character codes or ANSI codes. + Output tuple with strings built from the character codes in the input tuple. + + + Convert a tuple of strings of length 1 into a tuple of integer numbers. + Input tuple with strings of length 1. + Output tuple with Unicode character codes or ANSI codes of the characters passed in the input tuple. + + + Convert a tuple into a tuple of strings. + Input tuple. + Format string. + Input tuple converted to strings. + + + Check a tuple (of strings) whether it represents numbers. + Input tuple. + Tuple with boolean numbers. + + + Convert a tuple (of strings) into a tuple of numbers. + Input tuple. + Input tuple as numbers. + + + Convert a tuple into a tuple of integer numbers. + Input tuple. + Result of the rounding. + + + Convert a tuple into a tuple of integer numbers. + Input tuple. + Result of the conversion into integer numbers. + + + Convert a tuple into a tuple of floating point numbers. + Input tuple. + Input tuple as floating point numbers. + + + Calculate the ldexp function of two tuples. + Input tuple 1. + Input tuple 2. + Ldexp function of the input tuples. + + + Calculate the remainder of the floating point division of two tuples. + Input tuple 1. + Input tuple 2. + Remainder of the division of the input tuples. + + + Calculate the remainder of the integer division of two tuples. + Input tuple 1. + Input tuple 2. + Remainder of the division of the input tuples. + + + Compute the ceiling function of a tuple. + Input tuple. + Ceiling function of the input tuple. + + + Compute the floor function of a tuple. + Input tuple. + Floor function of the input tuple. + + + Calculate the power function of two tuples. + Input tuple 1. + Input tuple 2. + Power function of the input tuples. + + + Compute the base 10 logarithm of a tuple. + Input tuple. + Base 10 logarithm of the input tuple. + + + Compute the natural logarithm of a tuple. + Input tuple. + Natural logarithm of the input tuple. + + + Compute the exponential of a tuple. + Input tuple. + Exponential of the input tuple. + + + Compute the hyperbolic tangent of a tuple. + Input tuple. + Hyperbolic tangent of the input tuple. + + + Compute the hyperbolic cosine of a tuple. + Input tuple. + Hyperbolic cosine of the input tuple. + + + Compute the hyperbolic sine of a tuple. + Input tuple. + Hyperbolic sine of the input tuple. + + + Convert a tuple from degrees to radians. + Input tuple. + Input tuple in radians. + + + Convert a tuple from radians to degrees. + Input tuple. + Input tuple in degrees. + + + Compute the arctangent of a tuple for all four quadrants. + Input tuple of the y-values. + Input tuple of the x-values. + Arctangent of the input tuple. + + + Compute the arctangent of a tuple. + Input tuple. + Arctangent of the input tuple. + + + Compute the arccosine of a tuple. + Input tuple. + Arccosine of the input tuple. + + + Compute the arcsine of a tuple. + Input tuple. + Arcsine of the input tuple. + + + Compute the tangent of a tuple. + Input tuple. + Tangent of the input tuple. + + + Compute the cosine of a tuple. + Input tuple. + Cosine of the input tuple. + + + Compute the sine of a tuple. + Input tuple. + Sine of the input tuple. + + + Compute the absolute value of a tuple (as floating point numbers). + Input tuple. + Absolute value of the input tuple. + + + Compute the square root of a tuple. + Input tuple. + Square root of the input tuple. + + + Compute the absolute value of a tuple. + Input tuple. + Absolute value of the input tuple. + + + Negate a tuple. + Input tuple. + Negation of the input tuple. + + + Divide two tuples. + Input tuple 1. + Input tuple 2. + Quotient of the input tuples. + + + Multiply two tuples. + Input tuple 1. + Input tuple 2. + Product of the input tuples. + + + Subtract two tuples. + Input tuple 1. + Input tuple 2. + Difference of the input tuples. + + + Add two tuples. + Input tuple 1. + Input tuple 2. + Sum of the input tuples. + + + Deserialize a serialized tuple. + Handle of the serialized item. + Tuple. + + + Serialize a tuple. + Tuple. + Handle of the serialized item. + + + Write a tuple to a file. + Tuple with any kind of data. + Name of the file to be written. + + + Read a tuple from a file. + Name of the file to be read. + Tuple with any kind of data. + + + Compute the average of a set of poses. + Set of poses of which the average if computed. + Empty tuple, or one weight per pose. Default: [] + Averaging mode. Default: "iterative" + Weight of the translation. Default: "auto" + Weight of the rotation. Default: "auto" + Weighted mean of the poses. + Deviation of the mean from the input poses. + + + Perform a rotation by a unit quaternion. + Rotation quaternion. + X coordinate of the point to be rotated. + Y coordinate of the point to be rotated. + Z coordinate of the point to be rotated. + X coordinate of the rotated point. + Y coordinate of the rotated point. + Z coordinate of the rotated point. + + + Generate the conjugation of a quaternion. + Input quaternion. + Conjugated quaternion. + + + Normalize a quaternion. + Input quaternion. + Normalized quaternion. + + + Create a rotation quaternion. + X component of the rotation axis. + Y component of the rotation axis. + Z component of the rotation axis. + Rotation angle in radians. + Rotation quaternion. + + + Convert a quaternion into the corresponding 3D pose. + Rotation quaternion. + 3D Pose. + + + Invert each pose in a tuple of 3D poses. + Tuple of 3D poses. + Tuple of inverted 3D poses. + + + Combine 3D poses given in two tuples. + Tuple containing the left poses. + Tuple containing the right poses. + Tuple containing the returned poses. + + + Convert a quaternion into the corresponding rotation matrix. + Rotation quaternion. + Rotation matrix. + + + Convert the rotational part of a 3D pose to a quaternion. + 3D Pose. + Rotation quaternion. + + + Interpolation of two quaternions. + Start quaternion. + End quaternion. + Interpolation parameter. Default: 0.5 + Interpolated quaternion. + + + Multiply two quaternions. + Left quaternion. + Right quaternion. + Product of the input quaternions. + + + Deserialize a serialized homogeneous 3D transformation matrix. + Handle of the serialized item. + Transformation matrix. + + + Serialize a homogeneous 3D transformation matrix. + Transformation matrix. + Handle of the serialized item. + + + Deserialize a serialized homogeneous 2D transformation matrix. + Handle of the serialized item. + Transformation matrix. + + + Serialize a homogeneous 2D transformation matrix. + Transformation matrix. + Handle of the serialized item. + + + Deserialize a serialized quaternion. + Handle of the serialized item. + Quaternion. + + + Serialize a quaternion. + Quaternion. + Handle of the serialized item. + + + Project a homogeneous 3D point using a projective transformation matrix. + Homogeneous projective transformation matrix. + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Input point (w coordinate). + Output point (x coordinate). + Output point (y coordinate). + Output point (z coordinate). + Output point (w coordinate). + + + Project a 3D point using a projective transformation matrix. + Homogeneous projective transformation matrix. + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Output point (x coordinate). + Output point (y coordinate). + Output point (z coordinate). + + + Apply an arbitrary affine 3D transformation to points. + Input transformation matrix. + Input point(s) (x coordinate). Default: 64 + Input point(s) (y coordinate). Default: 64 + Input point(s) (z coordinate). Default: 64 + Output point(s) (x coordinate). + Output point(s) (y coordinate). + Output point(s) (z coordinate). + + + Approximate a 3D transformation from point correspondences. + Type of the transformation to compute. Default: "rigid" + X coordinates of the original points. + Y coordinates of the original points. + Z coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + Z coordinates of the transformed points. + Output transformation matrix. + + + Compute the determinant of a homogeneous 3D transformation matrix. + Input transformation matrix. + Determinant of the input matrix. + + + Transpose a homogeneous 3D transformation matrix. + Input transformation matrix. + Output transformation matrix. + + + Invert a homogeneous 3D transformation matrix. + Input transformation matrix. + Output transformation matrix. + + + Multiply two homogeneous 3D transformation matrices. + Left input transformation matrix. + Right input transformation matrix. + Output transformation matrix. + + + Add a rotation to a homogeneous 3D transformation matrix. + Input transformation matrix. + Rotation angle. Default: 0.78 + Axis, to be rotated around. Default: "x" + Output transformation matrix. + + + Add a rotation to a homogeneous 3D transformation matrix. + Input transformation matrix. + Rotation angle. Default: 0.78 + Axis, to be rotated around. Default: "x" + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Fixed point of the transformation (z coordinate). Default: 0 + Output transformation matrix. + + + Add a scaling to a homogeneous 3D transformation matrix. + Input transformation matrix. + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Scale factor along the z-axis. Default: 2 + Output transformation matrix. + + + Add a scaling to a homogeneous 3D transformation matrix. + Input transformation matrix. + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Scale factor along the z-axis. Default: 2 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Fixed point of the transformation (z coordinate). Default: 0 + Output transformation matrix. + + + Add a translation to a homogeneous 3D transformation matrix. + Input transformation matrix. + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Translation along the z-axis. Default: 64 + Output transformation matrix. + + + Add a translation to a homogeneous 3D transformation matrix. + Input transformation matrix. + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Translation along the z-axis. Default: 64 + Output transformation matrix. + + + Generate the homogeneous transformation matrix of the identical 3D transformation. + Transformation matrix. + + + Project an affine 3D transformation matrix to a 2D projective transformation matrix. + 3x4 3D transformation matrix. + Row coordinate of the principal point. Default: 256 + Column coordinate of the principal point. Default: 256 + Focal length in pixels. Default: 256 + Homogeneous projective transformation matrix. + + + Perform a bundle adjustment of an image mosaic. + Number of different images that are used for the calibration. + Index of the reference image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Row coordinates of corresponding points in the respective source images. + Column coordinates of corresponding points in the respective source images. + Row coordinates of corresponding points in the respective destination images. + Column coordinates of corresponding points in the respective destination images. + Number of point correspondences in the respective image pair. + Transformation class to be used. Default: "projective" + Array of 3x3 projective transformation matrices that determine the position of the images in the mosaic. + Row coordinates of the points reconstructed by the bundle adjustment. + Column coordinates of the points reconstructed by the bundle adjustment. + Average error per reconstructed point. + + + Compute a projective transformation matrix and the radial distortion coefficient between two images by finding correspondences between points based on known approximations of the projective transformation matrix and the radial distortion coefficient. + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Approximation of the homogeneous projective transformation matrix between the two images. + Approximation of the radial distortion coefficient in the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed homogeneous projective transformation matrix. + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute a projective transformation matrix between two images and the radial distortion coefficient by automatically finding correspondences between points. + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the projective transformation matrix. Default: "gold_standard" + Threshold for the transformation consistency check. Default: 1 + Seed for the random number generator. Default: 0 + Computed homogeneous projective transformation matrix. + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute a projective transformation matrix between two images by finding correspondences between points based on a known approximation of the projective transformation matrix. + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Approximation of the Homogeneous projective transformation matrix between the two images. + Tolerance for the matching search window. Default: 20.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Homogeneous projective transformation matrix. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute a projective transformation matrix between two images by finding correspondences between points. + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift. Default: 0 + Average column coordinate shift. Default: 0 + Half height of matching search window. Default: 256 + Half width of matching search window. Default: 256 + Range of rotation angles. Default: 0.0 + Threshold for gray value matching. Default: 10 + Transformation matrix estimation algorithm. Default: "normalized_dlt" + Threshold for transformation consistency check. Default: 0.2 + Seed for the random number generator. Default: 0 + Homogeneous projective transformation matrix. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute a projective transformation matrix and the radial distortion coefficient using given image point correspondences. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Width of the images from which the points were extracted. + Height of the images from which the points were extracted. + Estimation algorithm. Default: "gold_standard" + Homogeneous projective transformation matrix. + Computed radial distortion coefficient. + Root-Mean-Square transformation error. + + + Compute a homogeneous transformation matrix using given point correspondences. + Input points 1 (x coordinate). + Input points 1 (y coordinate). + Input points 1 (w coordinate). + Input points 2 (x coordinate). + Input points 2 (y coordinate). + Input points 2 (w coordinate). + Estimation algorithm. Default: "normalized_dlt" + Homogeneous projective transformation matrix. + + + Compute a projective transformation matrix using given point correspondences. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Estimation algorithm. Default: "normalized_dlt" + Row coordinate variance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Homogeneous projective transformation matrix. + 9x9 covariance matrix of the projective transformation matrix. + + + Compute the affine transformation parameters from a homogeneous 2D transformation matrix. + Input transformation matrix. + Scaling factor along the x direction. + Scaling factor along the y direction. + Rotation angle. + Slant angle. + Translation along the x direction. + Translation along the y direction. + + + Compute a rigid affine transformation from points and angles. + Row coordinate of the original point. + Column coordinate of the original point. + Angle of the original point. + Row coordinate of the transformed point. + Column coordinate of the transformed point. + Angle of the transformed point. + Output transformation matrix. + + + Approximate an affine transformation from point-to-line correspondences. + Type of the transformation to compute. Default: "rigid" + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the first point on the corresponding line. + Y coordinates of the first point on the corresponding line. + X coordinates of the second point on the corresponding line. + Y coordinates of the second point on the corresponding line. + Output transformation matrix. + + + Approximate a rigid affine transformation from point correspondences. + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + Output transformation matrix. + + + Approximate an similarity transformation from point correspondences. + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + Output transformation matrix. + + + Approximate an anisotropic similarity transformation from point correspondences. + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + Output transformation matrix. + + + Approximate an affine transformation from point correspondences. + X coordinates of the original points. + Y coordinates of the original points. + X coordinates of the transformed points. + Y coordinates of the transformed points. + Output transformation matrix. + + + Project pixel coordinates using a homogeneous projective transformation matrix. + Homogeneous projective transformation matrix. + Input pixel(s) (row coordinate). Default: 64 + Input pixel(s) (column coordinate). Default: 64 + Output pixel(s) (row coordinate). + Output pixel(s) (column coordinate). + + + Project a homogeneous 2D point using a projective transformation matrix. + Homogeneous projective transformation matrix. + Input point (x coordinate). + Input point (y coordinate). + Input point (w coordinate). + Output point (x coordinate). + Output point (y coordinate). + Output point (w coordinate). + + + Apply an arbitrary affine 2D transformation to pixel coordinates. + Input transformation matrix. + Input pixel(s) (row coordinate). Default: 64 + Input pixel(s) (column coordinate). Default: 64 + Output pixel(s) (row coordinate). + Output pixel(s) (column coordinate). + + + Apply an arbitrary affine 2D transformation to points. + Input transformation matrix. + Input point(s) (x or row coordinate). Default: 64 + Input point(s) (y or column coordinate). Default: 64 + Output point(s) (x or row coordinate). + Output point(s) (y or column coordinate). + + + Compute the determinant of a homogeneous 2D transformation matrix. + Input transformation matrix. + Determinant of the input matrix. + + + Transpose a homogeneous 2D transformation matrix. + Input transformation matrix. + Output transformation matrix. + + + Invert a homogeneous 2D transformation matrix. + Input transformation matrix. + Output transformation matrix. + + + Multiply two homogeneous 2D transformation matrices. + Left input transformation matrix. + Right input transformation matrix. + Output transformation matrix. + + + Add a reflection to a homogeneous 2D transformation matrix. + Input transformation matrix. + Point that defines the axis (x coordinate). Default: 16 + Point that defines the axis (y coordinate). Default: 32 + Output transformation matrix. + + + Add a reflection to a homogeneous 2D transformation matrix. + Input transformation matrix. + First point of the axis (x coordinate). Default: 0 + First point of the axis (y coordinate). Default: 0 + Second point of the axis (x coordinate). Default: 16 + Second point of the axis (y coordinate). Default: 32 + Output transformation matrix. + + + Add a slant to a homogeneous 2D transformation matrix. + Input transformation matrix. + Slant angle. Default: 0.78 + Coordinate axis that is slanted. Default: "x" + Output transformation matrix. + + + Add a slant to a homogeneous 2D transformation matrix. + Input transformation matrix. + Slant angle. Default: 0.78 + Coordinate axis that is slanted. Default: "x" + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + Add a rotation to a homogeneous 2D transformation matrix. + Input transformation matrix. + Rotation angle. Default: 0.78 + Output transformation matrix. + + + Add a rotation to a homogeneous 2D transformation matrix. + Input transformation matrix. + Rotation angle. Default: 0.78 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + Add a scaling to a homogeneous 2D transformation matrix. + Input transformation matrix. + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Output transformation matrix. + + + Add a scaling to a homogeneous 2D transformation matrix. + Input transformation matrix. + Scale factor along the x-axis. Default: 2 + Scale factor along the y-axis. Default: 2 + Fixed point of the transformation (x coordinate). Default: 0 + Fixed point of the transformation (y coordinate). Default: 0 + Output transformation matrix. + + + Add a translation to a homogeneous 2D transformation matrix. + Input transformation matrix. + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Output transformation matrix. + + + Add a translation to a homogeneous 2D transformation matrix. + Input transformation matrix. + Translation along the x-axis. Default: 64 + Translation along the y-axis. Default: 64 + Output transformation matrix. + + + Generate the homogeneous transformation matrix of the identical 2D transformation. + Transformation matrix. + + + This operator is inoperable. It had the following function: Clear all scattered data interpolators. + + + Clear a scattered data interpolator. + Handle of the scattered data interpolator + + + Interpolation of scattered data using a scattered data interpolator. + Handle of the scattered data interpolator + Row coordinates of points to be interpolated + Column coordinates of points to be interpolated + Values of interpolated points + + + Creates an interpolator for the interpolation of scattered data. + Method for the interpolation Default: "thin_plate_splines" + Row coordinates of the points used for the interpolation + Column coordinates of the points used for the interpolation + Values of the points used for the interpolation + Names of the generic parameters that can be adjusted Default: [] + Values of the generic parameters that can be adjusted Default: [] + Handle of the scattered data interpolator + + + Creating an image from the interpolation of scattered data. + Interpolated image + Method for the interpolation Default: "thin_plate_splines" + Row coordinates of the points used for the interpolation + Column coordinates of the points used for the interpolation + Values of the points used for the interpolation + Width of the interpolated image Default: 640 + Height of the interpolated image Default: 480 + Names of the generic parameters that can be adjusted Default: [] + Values of the generic parameters that can be adjusted Default: [] + + + Interpolation of an image. + Image to interpolate + Region to interpolate + Interpolated image + Method for the interpolation Default: "thin_plate_splines" + Names of the generic parameters that can be adjusted Default: [] + Values of the generic parameters that can be adjusted Default: [] + + + Read out the system time. + Milliseconds (0..999). + Seconds (0..59). + Minutes (0..59). + Hours (0..23). + Day of the month (1..31). + Day of the year (1..366). + Month (1..12). + Year (xxxx). + + + Query compute device parameters. + Compute device handle. + Name of the parameter to query. Default: "buffer_cache_capacity" + Value of the parameter. + + + Set parameters of an compute device. + Compute device handle. + Name of the parameter to set. Default: "buffer_cache_capacity" + New parameter value. + + + Close all compute devices. + + + Close a compute_device. + Compute device handle. + + + Deactivate all compute devices. + + + Deactivate a compute device. + Compute device handle. + + + Activate a compute device. + Compute device handle. + + + Initialize a compute device. + Compute device handle. + List of operators to prepare. Default: "all" + + + Open a compute device. + Compute device Identifier. + Compute device handle. + + + Get information on a compute device. + Compute device handle. + Name of Information to query. Default: "name" + Returned information. + + + Get the list of available compute devices. + List of available compute devices. + + + Clear the buffer of a serial connection. + Serial interface handle. + Buffer to be cleared. Default: "input" + + + Write to a serial connection. + Serial interface handle. + Characters to write (as tuple of integers). + + + Read from a serial device. + Serial interface handle. + Number of characters to read. Default: 1 + Read characters (as tuple of integers). + + + Get the parameters of a serial device. + Serial interface handle. + Speed of the serial interface. + Number of data bits of the serial interface. + Type of flow control of the serial interface. + Parity of the serial interface. + Number of stop bits of the serial interface. + Total timeout of the serial interface in ms. + Inter-character timeout of the serial interface in ms. + + + Set the parameters of a serial device. + Serial interface handle. + Speed of the serial interface. Default: "unchanged" + Number of data bits of the serial interface. Default: "unchanged" + Type of flow control of the serial interface. Default: "unchanged" + Parity of the serial interface. Default: "unchanged" + Number of stop bits of the serial interface. Default: "unchanged" + Total timeout of the serial interface in ms. Default: "unchanged" + Inter-character timeout of the serial interface in ms. Default: "unchanged" + + + This operator is inoperable. It had the following function: Close all serial devices. + + + Close a serial device. + Serial interface handle. + + + Open a serial device. + Name of the serial port. Default: "COM1" + Serial interface handle. + + + Delaying the execution of the program. + Number of seconds by which the execution of the program will be delayed. Default: 10 + + + Execute a system command. + Command to be called by the system. Default: "ls" + + + Set HALCON system parameters. + Name of the system parameter to be changed. Default: "init_new_image" + New value of the system parameter. Default: "true" + + + Activating and deactivating of HALCON control modes. + Desired control mode. Default: "default" + + + Initialization of the HALCON system. + Default image width (in pixels). Default: 128 + Default image height (in pixels). Default: 128 + Usual number of channels. Default: 0 + + + Get current value of HALCON system parameters. + Desired system parameter. Default: "init_new_image" + Current value of the system parameter. + + + State of the HALCON control modes. + Tuplet of the currently activated control modes. + + + Inquiry after the error text of a HALCON error number. + HALCON error code. + Corresponding error message. + + + Passed Time. + Processtime since the program start. + + + Number of entries in the HALCON database. + Relation of interest of the HALCON database. Default: "object" + Number of tuples in the relation. + + + Receive an image over a socket connection. + Received image. + Socket number. + + + Send an image over a socket connection. + Image to be sent. + Socket number. + + + Receive regions over a socket connection. + Received regions. + Socket number. + + + Send regions over a socket connection. + Regions to be sent. + Socket number. + + + Receive an XLD object over a socket connection. + Received XLD object. + Socket number. + + + Send an XLD object over a socket connection. + XLD object to be sent. + Socket number. + + + Receive a tuple over a socket connection. + Socket number. + Received tuple. + + + Send a tuple over a socket connection. + Socket number. + Tuple to be sent. + + + Receive arbitrary data from external devices or applications using a generic socket connection. + Socket number. + Specification how to convert the data to tuples. Default: "z" + Value (or tuple of values) holding the received and converted data. + IP address or hostname and network port of the communication partner. + + + Send arbitrary data to external devices or applications using a generic socket communication. + Socket number. + Specification how to convert the data. Default: "z" + Value (or tuple of values) holding the data to send. + IP address or hostname and network port of the communication partner. Default: [] + + + Get the value of a socket parameter. + Socket number. + Name of the socket parameter. + Value of the socket parameter. + + + Set a socket parameter. + Socket number. + Name of the socket parameter. + Value of the socket parameter. Default: "on" + + + Determine the HALCON data type of the next socket data. + Socket number. + Data type of next HALCON data. + + + Get the socket descriptor of a socket used by the operating system. + Socket number. + Socket descriptor used by the operating system. + + + This operator is inoperable. It had the following function: Close all opened sockets. + + + Close a socket. + Socket number. + + + Accept a connection request on a listening socket of the protocol type 'HALCON' or 'TCP'/'TCP4'/'TCP6'. + Socket number of the accepting socket. + Should the operator wait until a connection request arrives? Default: "auto" + Socket number. + + + Open a socket and connect it to an accepting socket. + Hostname of the computer to connect to. Default: "localhost" + Port number. + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + Socket number. + + + Open a socket that accepts connection requests. + Port number. Default: 3000 + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + Socket number. + + + Returns the extended error information for the calling thread's last HALCON error. + Operator that set the error code. + Extended error code. + Extended error message. + + + Query of used modules and the module key. + Names of used modules. + Key for license manager. + + + Compute the distance values for a rectified stereo image pair using multi-scanline optimization. + Rectified image of camera 1. + Rectified image of camera 2. + Distance image. + Score of the calculated disparity. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + + + Compute the disparities of a rectified stereo image pair using multi-scanline optimization. + Rectified image of camera 1. + Rectified image of camera 2. + Disparity map. + Score of the calculated disparity. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + + + Compute the distance values for a rectified stereo image pair using multigrid methods. + Rectified image of camera 1. + Rectified image of camera 2. + Distance image. + Score of the calculated disparity if CalculateScore is set to 'true'. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + + + Compute the disparities of a rectified stereo image pair using multigrid methods. + Rectified image of camera 1. + Rectified image of camera 2. + Disparity map. + Score of the calculated disparity if CalculateScore is set to 'true'. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure should be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + + + Compute the projective 3d reconstruction of points based on the fundamental matrix. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. Default: [] + X coordinates of the reconstructed points in projective 3D space. + Y coordinates of the reconstructed points in projective 3D space. + Z coordinates of the reconstructed points in projective 3D space. + W coordinates of the reconstructed points in projective 3D space. + Covariance matrices of the reconstructed points. + + + Compute the projective rectification of weakly calibrated binocular stereo images. + Image coding the rectification of the 1. image. + Image coding the rectification of the 2. image. + Fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. Default: [] + Width of the 1. image. Default: 512 + Height of the 1. image. Default: 512 + Width of the 2. image. Default: 512 + Height of the 2. image. Default: 512 + Subsampling factor. Default: 1 + Type of mapping. Default: "no_map" + 9x9 covariance matrix of the rectified fundamental matrix. + Projective transformation of the 1. image. + Projective transformation of the 2. image. + + + Compute the fundamental matrix and the radial distortion coefficient given a set of image point correspondences and reconstruct 3D points. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Width of the images from which the points were extracted. + Height of the images from which the points were extracted. + Estimation algorithm. Default: "gold_standard" + Computed fundamental matrix. + Computed radial distortion coefficient. + Root-Mean-Square epipolar distance error. + X coordinates of the reconstructed points in projective 3D space. + Y coordinates of the reconstructed points in projective 3D space. + Z coordinates of the reconstructed points in projective 3D space. + W coordinates of the reconstructed points in projective 3D space. + + + Compute the fundamental matrix from the relative orientation of two cameras. + Relative orientation of the cameras (3D pose). + 6x6 covariance matrix of relative pose. Default: [] + Parameters of the 1. camera. + Parameters of the 2. camera. + Computed fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. + + + Compute the fundamental matrix from an essential matrix. + Essential matrix. + 9x9 covariance matrix of the essential matrix. Default: [] + Camera matrix of the 1. camera. + Camera matrix of the 2. camera. + Computed fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. + + + Compute the relative orientation between two cameras given image point correspondences and known camera parameters and reconstruct 3D space points. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera parameters of the 1st camera. + Camera parameters of the 2nd camera. + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Computed relative orientation of the cameras (3D pose). + 6x6 covariance matrix of the relative camera orientation. + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + + + Compute the essential matrix given image point correspondences and known camera matrices and reconstruct 3D points. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera matrix of the 1st camera. + Camera matrix of the 2nd camera. + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + Computed essential matrix. + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + + + Compute the fundamental matrix given a set of image point correspondences and reconstruct 3D points. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Estimation algorithm. Default: "normalized_dlt" + Computed fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed points in projective 3D space. + Y coordinates of the reconstructed points in projective 3D space. + Z coordinates of the reconstructed points in projective 3D space. + W coordinates of the reconstructed points in projective 3D space. + Covariance matrices of the reconstructed 3D points. + + + Compute the fundamental matrix and the radial distortion coefficient for a pair of stereo images by automatically finding correspondences between image points. + Input image 1. + Input image 2. + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Gray value match metric. Default: "ncc" + Size of gray value masks. Default: 10 + Average row coordinate offset of corresponding points. Default: 0 + Average column coordinate offset of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative rotation of the second image with respect to the first image. Default: 0.0 + Threshold for gray value matching. Default: 0.7 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "gold_standard" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Computed fundamental matrix. + Computed radial distortion coefficient. + Root-Mean-Square epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute the relative orientation between two cameras by automatically finding correspondences between image points. + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Parameters of the 1st camera. + Parameters of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Computed relative orientation of the cameras (3D pose). + 6x6 covariance matrix of the relative orientation. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute the essential matrix for a pair of stereo images by automatically finding correspondences between image points. + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Camera matrix of the 1st camera. + Camera matrix of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the essential matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Computed essential matrix. + 9x9 covariance matrix of the essential matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute the fundamental matrix for a pair of stereo images by automatically finding correspondences between image points. + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the fundamental matrix and for special camera orientations. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Computed fundamental matrix. + 9x9 covariance matrix of the fundamental matrix. + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + + + Compute the distance values for a rectified stereo image pair using correlation techniques. + Rectified image of camera 1. + Rectified image of camera 2. + Distance image. + Evaluation of a distance value. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: 0 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.0 + Downstream filters. Default: "none" + Distance interpolation. Default: "none" + + + Compute the disparities of a rectified image pair using correlation techniques. + Rectified image of camera 1. + Rectified image of camera 2. + Disparity map. + Evaluation of the disparity values. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.5 + Downstream filters. Default: "none" + Subpixel interpolation of disparities. Default: "none" + + + Get a 3D point from the intersection of two lines of sight within a binocular camera system. + Internal parameters of the projective camera 1. + Internal parameters of the projective camera 2. + Point transformation from camera 2 to camera 1. + Row coordinate of a point in image 1. + Column coordinate of a point in image 1. + Row coordinate of the corresponding point in image 2. + Column coordinate of the corresponding point in image 2. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Distance of the 3D point to the lines of sight. + + + Transform a disparity image into 3D points in a rectified stereo system. + Disparity image. + X coordinates of the points in the rectified camera system 1. + Y coordinates of the points in the rectified camera system 1. + Z coordinates of the points in the rectified camera system 1. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + + + Transform an image point and its disparity into a 3D point in a rectified stereo system. + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + Row coordinate of a point in the rectified image 1. + Column coordinate of a point in the rectified image 1. + Disparity of the images of the world point. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + Transform a disparity value into a distance value in a rectified binocular stereo system. + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Disparity between the images of the world point. + Distance of a world point to the rectified camera system. + + + Transfrom a distance value into a disparity in a rectified stereo system. + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Point transformation from the rectified camera 2 to the rectified camera 1. + Distance of a world point to camera 1. + Disparity between the images of the point. + + + Generate transformation maps that describe the mapping of the images of a binocular camera pair to a common rectified image plane. + Image containing the mapping data of camera 1. + Image containing the mapping data of camera 2. + Internal parameters of camera 1. + Internal parameters of camera 2. + Point transformation from camera 2 to camera 1. + Subsampling factor. Default: 1.0 + Type of rectification. Default: "viewing_direction" + Type of mapping. Default: "bilinear" + Rectified internal parameters of camera 1. + Rectified internal parameters of camera 2. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 2 to the rectified camera 1. + + + Determine all camera parameters of a binocular stereo system. + Ordered Tuple with all X-coordinates of the calibration marks (in meters). + Ordered Tuple with all Y-coordinates of the calibration marks (in meters). + Ordered Tuple with all Z-coordinates of the calibration marks (in meters). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 2 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 2 (in pixels). + Initial values for the internal parameters of camera 1. + Initial values for the internal parameters of camera 2. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 1. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 2. + Camera parameters to be estimated. Default: "all" + Internal parameters of camera 1. + Internal parameters of camera 2. + Ordered tuple with all poses of the calibration model in relation to camera 1. + Ordered tuple with all poses of the calibration model in relation to camera 2. + Pose of camera 2 in relation to camera 1. + Average error distances in pixels. + + + Inquiring for possible settings of the HALCON debugging tool. + Available control modes (see also set_spy). + Corresponding state of the control modes. + + + Control of the HALCON Debugging Tools. + Control mode Default: "mode" + State of the control mode to be set. Default: "on" + + + Current configuration of the HALCON debugging-tool. + Control mode Default: "mode" + State of the control mode. + + + Read a sheet-of-light model from a file and create a new model. + Name of the sheet-of-light model file. Default: "sheet_of_light_model.solm" + Handle of the sheet-of-light model. + + + Write a sheet-of-light model to a file. + Handle of the sheet-of-light model. + Name of the sheet-of-light model file. Default: "sheet_of_light_model.solm" + + + Deserialize a sheet-of-light model. + Handle of the serialized item. + Handle of the sheet-of-light model. + + + Serialize a sheet-of-light model. + Handle of the sheet-of-light model. + Handle of the serialized item. + + + Create a calibration object for sheet-of-light calibration. + Width of the object. Default: 0.1 + Length of the object. Default: 0.15 + Minimum height of the ramp. Default: 0.005 + Maximum height of the ramp. Default: 0.04 + Filename of the model of the calibration object. Default: "calib_object.dxf" + + + Calibrate a sheet-of-light setup with a 3D calibration object. + Handle of the sheet-of-light model. + Average back projection error of the optimization. + + + Get the result of a calibrated measurement performed with the sheet-of-light technique as a 3D object model. + Handle for accessing the sheet-of-light model. + Handle of the resulting 3D object model. + + + Get the iconic results of a measurement performed with the sheet-of light technique. + Desired measurement result. + Handle of the sheet-of-light model to be used. + Specify which result of the measurement shall be provided. Default: "disparity" + + + Apply the calibration transformations to the input disparity image. + Height or range image to be calibrated. + Handle of the sheet-of-light model. + + + Set sheet of light profiles by measured disparities. + Disparity image that contains several profiles. + Handle of the sheet-of-light model. + Poses describing the movement of the scene under measurement between the previously processed profile image and the current profile image. + + + Process the profile image provided as input and store the resulting disparity to the sheet-of-light model. + Input image. + Handle of the sheet-of-light model. + Pose describing the movement of the scene under measurement between the previously processed profile image and the current profile image. + + + Set selected parameters of the sheet-of-light model. + Handle of the sheet-of-light model. + Name of the model parameter that shall be adjusted for the sheet-of-light model. Default: "method" + Value of the model parameter that shall be adjusted for the sheet-of-light model. Default: "center_of_gravity" + + + Get the value of a parameter, which has been set in a sheet-of-light model. + Handle of the sheet-of-light model. + Name of the generic parameter that shall be queried. Default: "method" + Value of the model parameter that shall be queried. + + + For a given sheet-of-light model get the names of the generic iconic or control parameters that can be used in the different sheet-of-light operators. + Handle of the sheet-of-light model. + Name of the parameter group. Default: "create_model_params" + List containing the names of the supported generic parameters. + + + Reset a sheet-of-light model. + Handle of the sheet-of-light model. + + + This operator is inoperable. It had the following function: Delete all sheet-of-light models and free the allocated memory. + + + Delete a sheet-of-light model and free the allocated memory. + Handle of the sheet-of-light model. + + + Create a model to perform 3D-measurements using the sheet-of-light technique. + Region of the images containing the profiles to be processed. If the provided region is not rectangular, its smallest enclosing rectangle will be used. + Names of the generic parameters that can be adjusted for the sheet-of-light model. Default: "min_gray" + Values of the generic parameters that can be adjusted for the sheet-of-light model. Default: 50 + Handle for using and accessing the sheet-of-light model. + + + Shade a height field. + Height field to be shaded. + Shaded image. + Angle between the light source and the positive z-axis (in degrees). Default: 0.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 0.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + Should shadows be calculated? Default: "false" + + + Estimate the albedo of a surface and the amount of ambient light. + Image for which albedo and ambient are to be estimated. + Amount of light reflected by the surface. + Amount of ambient light. + + + Estimate the slant of a light source and the albedo of a surface. + Image for which slant and albedo are to be estimated. + Angle of the light sources and the positive z-axis (in degrees). + Amount of light reflected by the surface. + + + Estimate the slant of a light source and the albedo of a surface. + Image for which slant and albedo are to be estimated. + Angle between the light sources and the positive z-axis (in degrees). + Amount of light reflected by the surface. + + + Estimate the tilt of a light source. + Image for which the tilt is to be estimated. + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). + + + Estimate the tilt of a light source. + Image for which the tilt is to be estimated. + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). + + + Reconstruct a surface from surface gradients. + The gradient field of the image. + Reconstructed height field. + Type of the reconstruction method. Default: "poisson" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Reconstruct a surface according to the photometric stereo technique. + Array with at least three input images with different directions of illumination. + Reconstructed height field. + The gradient field of the surface. + The albedo of the surface. + Angle between the camera and the direction of illumination (in degrees). Default: 45.0 + Angle of the direction of illumination within the object plane (in degrees). Default: 45.0 + Types of the requested results. Default: "all" + Type of the reconstruction method. Default: "poisson" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Reconstruct a surface from a gray value image. + Shaded input image. + Reconstructed height field. + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + + + Reconstruct a surface from a gray value image. + Shaded input image. + Reconstructed height field. + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + + + Reconstruct a surface from a gray value image. + Shaded input image. + Reconstructed height field. + Angle between the light source and the positive z-axis (in degrees). Default: 45.0 + Angle between the light source and the x-axis after projection into the xy-plane (in degrees). Default: 45.0 + Amount of light reflected by the surface. Default: 1.0 + Amount of ambient light. Default: 0.0 + + + Receive a serialized item over a socket connection. + Socket number. + Handle of the serialized item. + + + Send a serialized item over a socket connection. + Socket number. + Handle of the serialized item. + + + Write a serialized item to a file. + File handle. + Handle of the serialized item. + + + Read a serialized item from a file. + File handle. + Handle of the serialized item. + + + This operator is inoperable. It had the following function: Delete all current existing serialized items. + + + Delete a serialized item. + Handle of the serialized item. + + + Access the data pointer of a serialized item. + Handle of the serialized item. + Data pointer of the serialized item. + Size of the serialized item. + + + Create a serialized item. + Data pointer of the serialized item. + Size of the serialized item. + Copy mode of the serialized item. Default: "true" + Handle of the serialized item. + + + Fit 3D primitives into a set of 3D points. + Handle of the input 3D object model. + Names of the generic parameters. + Values of the generic parameters. + Handle of the output 3D object model. + + + Segment a set of 3D points into sub-sets with similar characteristics. + Handle of the input 3D object model. + Names of the generic parameters. + Values of the generic parameters. + Handle of the output 3D object model. + + + This operator is inoperable. It had the following function: Clear all text results. + + + Clear a text result. + Text result to be cleared. + + + Query an iconic value of a text segmentation result. + Returned result. + Text result. + Name of the result to be returned. Default: "all_lines" + + + Query a control value of a text segmentation result. + Text result. + Name of the result to be returned. Default: "class" + Value of ResultName. + + + Find text in an image. + Input image. + Text model specifying the text to be segmented. + Result of the segmentation. + + + Query parameters of a text model. + Text model. + Parameters to be queried. Default: "min_contrast" + Values of Parameters. + + + Set parameters of a text model. + Text model. + Names of the parameters to be set. Default: "min_contrast" + Values of the parameters to be set. Default: 10 + + + This operator is inoperable. It had the following function: Clear all text models. + + + Clear a text model. + Text model to be cleared. + + + Create a text model. + The Mode of the text model. Default: "auto" + OCR Classifier. Default: "Universal_Rej.occ" + New text model. + + + Create a text model. + New text model. + + + Selects characters from a given region. + Region of text lines in which to select the characters. + Selected characters. + Should dot print characters be detected? Default: "false" + Stroke width of a character. Default: "medium" + Width of a character. Default: 25 + Height of a character. Default: 25 + Add punctuation? Default: "false" + Exist diacritic marks? Default: "false" + Method to partition neighbored characters. Default: "none" + Should lines be partitioned? Default: "false" + Distance of fragments. Default: "medium" + Connect fragments? Default: "false" + Maximum size of clutter. Default: 0 + Stop execution after this step. Default: "completion" + + + Segments characters in a given region of an image. + Area in the image where the text lines are located. + Input image. + Image used for the segmentation. + Region of characters. + Method to segment the characters. Default: "local_auto_shape" + Eliminate horizontal and vertical lines? Default: "false" + Should dot print characters be detected? Default: "false" + Stroke width of a character. Default: "medium" + Width of a character. Default: 25 + Height of a character. Default: 25 + Value to adjust the segmentation. Default: 0 + Minimum gray value difference between text and background. Default: 10 + Threshold used to segment the characters. + + + Determines the slant of characters of a text line or paragraph. + Area of text lines. + Input image. + Height of the text lines. Default: 25 + Minimum slant of the characters Default: -0.523599 + Maximum slant of the characters Default: 0.523599 + Calculated slant of the characters in the region + + + Determines the orientation of a text line or paragraph. + Area of text lines. + Input image. + Height of the text lines. Default: 25 + Minimum rotation of the text lines. Default: -0.523599 + Maximum rotation of the text lines. Default: 0.523599 + Calculated rotation angle of the text lines. + + + Classify a byte image using a look-up table. + Input image. + Segmented classes. + Handle of the LUT classifier. + + + Classify an image with a k-Nearest-Neighbor classifier. + Input image. + Segmented classes. + Distance of the pixel's nearest neighbor. + Handle of the k-NN classifier. + Threshold for the rejection of the classification. Default: 0.5 + + + Add training samples from an image to the training data of a k-Nearest-Neighbor classifier. + Training image. + Regions of the classes to be trained. + Handle of the k-NN classifier. + + + Classify an image with a Gaussian Mixture Model. + Input image. + Segmented classes. + GMM handle. + Threshold for the rejection of the classification. Default: 0.5 + + + Add training samples from an image to the training data of a Gaussian Mixture Model. + Training image. + Regions of the classes to be trained. + GMM handle. + Standard deviation of the Gaussian noise added to the training data. Default: 0.0 + + + Classify an image with a support vector machine. + Input image. + Segmented classes. + SVM handle. + + + Add training samples from an image to the training data of a support vector machine. + Training image. + Regions of the classes to be trained. + SVM handle. + + + Classify an image with a multilayer perceptron. + Input image. + Segmented classes. + MLP handle. + Threshold for the rejection of the classification. Default: 0.5 + + + Add training samples from an image to the training data of a multilayer perceptron. + Training image. + Regions of the classes to be trained. + MLP handle. + + + Construct classes for class_ndim_norm. + Foreground pixels to be trained. + Background pixels to be trained (rejection class). + Multi-channel training image. + Metric to be used. Default: "euclid" + Maximum cluster radius. Default: 10.0 + The ratio of the number of pixels in a cluster to the total number of pixels (in percent) must be larger than MinNumberPercent (otherwise the cluster is not output). Default: 0.01 + Cluster radii or half edge lengths. + Coordinates of all cluster centers. + Overlap of the rejection class with the classified objects (1: no overlap). + + + Train a classificator using a multi-channel image. + Foreground pixels to be trained. + Background pixels to be trained (rejection class). + Multi-channel training image. + Handle of the classifier. + + + Classify pixels using hyper-cuboids. + Multi channel input image. + Classification result. + Handle of the classifier. + + + Classify pixels using hyper-spheres or hyper-cubes. + Multi channel input image. + Classification result. + Metric to be used. Default: "euclid" + Return one region or one region for each cluster. Default: "single" + Cluster radii or half edge lengths (returned by learn_ndim_norm). + Coordinates of the cluster centers (returned by learn_ndim_norm). + + + Segment an image using two-dimensional pixel classification. + Input image (first channel). + Input image (second channel). + Region defining the feature space. + Classified regions. + + + Segment two images by clustering. + First input image. + Second input image. + Classification result. + Threshold (maximum distance to the cluster's center). Default: 15 + Number of classes (cluster centers). Default: 5 + + + Compare two images pixel by pixel. + Input image. + Comparison image. + Points in which the two images are similar/different. + Mode: return similar or different pixels. Default: "diff_outside" + Lower bound of the tolerated gray value difference. Default: -5 + Upper bound of the tolerated gray value difference. Default: 5 + Offset gray value subtracted from the input image. Default: 0 + Row coordinate by which the comparison image is translated. Default: 0 + Column coordinate by which the comparison image is translated. Default: 0 + + + Perform a threshold segmentation for extracting characters. + Input image. + Region in which the histogram is computed. + Dark regions (characters). + Sigma for the Gaussian smoothing of the histogram. Default: 2.0 + Percentage for the gray value difference. Default: 95 + Calculated threshold. + + + Extract regions with equal gray values from an image. + Label image. + Regions having a constant gray value. + + + Suppress non-maximum points on an edge. + Amplitude (gradient magnitude) image. + Image with thinned edge regions. + Select horizontal/vertical or undirected NMS. Default: "hvnms" + + + Suppress non-maximum points on an edge using a direction image. + Amplitude (gradient magnitude) image. + Direction image. + Image with thinned edge regions. + Select non-maximum-suppression or interpolating NMS. Default: "nms" + + + Perform a hysteresis threshold operation on an image. + Input image. + Segmented region. + Lower threshold for the gray values. Default: 30 + Upper threshold for the gray values. Default: 60 + Maximum length of a path of "potential" points to reach a "secure" point. Default: 10 + + + Segment an image using binary thresholding. + Input Image. + Segmented output region. + Segmentation method. Default: "max_separability" + Extract foreground or background? Default: "dark" + Used threshold. + + + Segment an image using local thresholding. + Input Image. + Segmented output region. + Segmentation method. Default: "adapted_std_deviation" + Extract foreground or background? Default: "dark" + List of generic parameter names. Default: [] + List of generic parameter values. Default: [] + + + Threshold an image by local mean and standard deviation analysis. + Input image. + Segmented regions. + Mask width for mean and deviation calculation. Default: 15 + Mask height for mean and deviation calculation. Default: 15 + Factor for the standard deviation of the gray values. Default: 0.2 + Minimum gray value difference from the mean. Default: 2 + Threshold type. Default: "dark" + + + Segment an image using a local threshold. + Input image. + Image containing the local thresholds. + Segmented regions. + Offset applied to ThresholdImage. Default: 5.0 + Extract light, dark or similar areas? Default: "light" + + + Segment an image using global threshold. + Input image. + Segmented region. + Lower threshold for the gray values. Default: 128.0 + Upper threshold for the gray values. Default: 255.0 + + + Extract level crossings from an image with subpixel accuracy. + Input image. + Extracted level crossings. + Threshold for the level crossings. Default: 128 + + + Segment an image using regiongrowing for multi-channel images. + Input image. + Segmented regions. + Metric for the distance of the feature vectors. Default: "2-norm" + Lower threshold for the features' distance. Default: 0.0 + Upper threshold for the features' distance. Default: 20.0 + Minimum size of the output regions. Default: 30 + + + Segment an image using regiongrowing. + Input image. + Segmented regions. + Vertical distance between tested pixels (height of the raster). Default: 3 + Horizontal distance between tested pixels (height of the raster). Default: 3 + Points with a gray value difference less then or equal to tolerance are accumulated into the same object. Default: 6.0 + Minimum size of the output regions. Default: 100 + + + Perform a regiongrowing using mean gray values. + Input image. + Segmented regions. + Row coordinates of the starting points. Default: [] + Column coordinates of the starting points. Default: [] + Maximum deviation from the mean. Default: 5.0 + Minimum size of a region. Default: 100 + + + Segment an image by "pouring water" over it. + Input image. + Segmented regions. + Mode of operation. Default: "all" + All gray values smaller than this threshold are disregarded. Default: 0 + All gray values larger than this threshold are disregarded. Default: 255 + + + Extract watershed basins from an image using a threshold. + Image to be segmented. + Segments found (dark basins). + Threshold for the watersheds. Default: 10 + + + Extract watersheds and basins from an image. + Input image. + Segmented basins. + Watersheds between the basins. + + + Extract zero crossings from an image. + Input image. + Zero crossings. + + + Extract zero crossings from an image with subpixel accuracy. + Input image. + Extracted zero crossings. + + + Threshold operator for signed images. + Input image. + Positive and negative regions. + Regions smaller than MinSize are suppressed. Default: 20 + Regions whose maximum absolute gray value is smaller than MinGray are suppressed. Default: 5.0 + Regions that have a gray value smaller than Threshold (or larger than -Threshold) are suppressed. Default: 2.0 + + + Expand a region starting at a given line. + Input image. + Extracted segments. + Row or column coordinate. Default: 256 + Stopping criterion. Default: "gradient" + Segmentation mode (row or column). Default: "row" + Threshold for the expansion. Default: 3.0 + + + Detect all local minima in an image. + Image to be processed. + Extracted local minima as regions. + + + Detect all gray value lowlands. + Image to be processed. + Extracted lowlands as regions (one region for each lowland). + + + Detect the centers of all gray value lowlands. + Image to be processed. + Centers of gravity of the extracted lowlands as regions (one region for each lowland). + + + Detect all local maxima in an image. + Input image. + Extracted local maxima as a region. + + + Detect all gray value plateaus. + Input image. + Extracted plateaus as regions (one region for each plateau). + + + Detect the centers of all gray value plateaus. + Input image. + Centers of gravity of the extracted plateaus as regions (one region for each plateau). + + + Determine gray value thresholds from a histogram. + Gray value histogram. + Sigma for the Gaussian smoothing of the histogram. Default: 2.0 + Minimum thresholds. + Maximum thresholds. + + + Segment an image using thresholds determined from its histogram. + Input image. + Regions with gray values within the automatically determined intervals. + Sigma for the Gaussian smoothing of the histogram. Default: 2.0 + + + Segment an image using an automatically determined threshold. + Input image. + Dark regions of the image. + + + Fast thresholding of images using global thresholds. + Input image. + Segmented regions. + Lower threshold for the gray values. Default: 128 + Upper threshold for the gray values. Default: 255.0 + Minimum size of objects to be extracted. Default: 20 + + + Transform a region in polar coordinates back to cartesian coordinates. + Input region. + Output region. + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the column coordinate 0 of PolarRegion to. Default: 0.0 + Angle of the ray to map the column coordinate $WidthIn-1$ of PolarRegion to. Default: 6.2831853 + Radius of the circle to map the row coordinate 0 of PolarRegion to. Default: 0 + Radius of the circle to map the row coordinate $HeightIn-1$ of PolarRegion to. Default: 100 + Width of the virtual input image. Default: 512 + Height of the virtual input image. Default: 512 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + + + Transform a region within an annular arc to polar coordinates. + Input region. + Output region. + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to column coordinate 0 of PolarTransRegion. Default: 0.0 + Angle of the ray to be mapped to column coordinate $Width-1$ of PolarTransRegion. Default: 6.2831853 + Radius of the circle to be mapped to row coordinate 0 of PolarTransRegion. Default: 0 + Radius of the circle to be mapped to row coordinate $Height-1$ of PolarTransRegion. Default: 100 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + + + Merge regions from line scan images. + Current input regions. + Merged regions from the previous iteration. + Current regions, merged with old ones where applicable. + Regions from the previous iteration which could not be merged with the current ones. + Height of the line scan images. Default: 512 + Image line of the current image, which touches the previous image. Default: "top" + Maximum number of images for a single region. Default: 3 + + + Partition a region into rectangles of approximately equal size. + Region to be partitioned. + Partitioned region. + Width of the individual rectangles. + Height of the individual rectangles. + + + Partition a region horizontally at positions of small vertical extent. + Region to be partitioned. + Partitioned region. + Approximate width of the resulting region parts. + Maximum percental shift of the split position. Default: 20 + + + Convert regions to a label image. + Regions to be converted. + Result image of dimension Width * Height containing the converted regions. + Pixel type of the result image. Default: "int2" + Width of the image to be generated. Default: 512 + Height of the image to be generated. Default: 512 + + + Convert a region into a binary byte-image. + Regions to be converted. + Result image of dimension Width * Height containing the converted regions. + Gray value in which the regions are displayed. Default: 255 + Gray value in which the background is displayed. Default: 0 + Width of the image to be generated. Default: 512 + Height of the image to be generated. Default: 512 + + + Return the union of two regions. + Region for which the union with all regions in Region2 is to be computed. + Regions which should be added to Region1. + Resulting regions. + + + Return the union of all input regions. + Regions of which the union is to be computed. + Union of all input regions. + + + Compute the closest-point transformation of a region. + Region for which the distance to the border is computed. + Image containing the distance information. + Image containing the coordinates of the closest points. + Type of metric to be used for the closest-point transformation. Default: "city-block" + Compute the distance for pixels inside (true) or outside (false) the input region. Default: "true" + Mode in which the coordinates of the closest points are returned. Default: "absolute" + Width of the output images. Default: 640 + Height of the output images. Default: 480 + + + Compute the distance transformation of a region. + Region for which the distance to the border is computed. + Image containing the distance information. + Type of metric to be used for the distance transformation. Default: "city-block" + Compute the distance for pixels inside (true) or outside (false) the input region. Default: "true" + Width of the output image. Default: 640 + Height of the output image. Default: 480 + + + Compute the skeleton of a region. + Region to be thinned. + Resulting skeleton. + + + Apply a projective transformation to a region. + Input regions. + Output regions. + Homogeneous projective transformation matrix. + Interpolation method for the transformation. Default: "bilinear" + + + Apply an arbitrary affine 2D transformation to regions. + Region(s) to be rotated and scaled. + Transformed output region(s). + Input transformation matrix. + Should the transformation be done using interpolation? Default: "nearest_neighbor" + + + Reflect a region about an axis. + Region(s) to be reflected. + Reflected region(s). + Axis of symmetry. Default: "row" + Twice the coordinate of the axis of symmetry. Default: 512 + + + Zoom a region. + Region(s) to be zoomed. + Zoomed region(s). + Scale factor in x-direction. Default: 2.0 + Scale factor in y-direction. Default: 2.0 + + + Translate a region. + Region(s) to be moved. + Translated region(s). + Row coordinate of the vector by which the region is to be moved. Default: 30 + Row coordinate of the vector by which the region is to be moved. Default: 30 + + + Find junctions and end points in a skeleton. + Input skeletons. + Extracted end points. + Extracted junctions. + + + Calculate the intersection of two regions. + Regions to be intersected with all regions in Region2. + Regions with which Region1 is intersected. + Result of the intersection. + + + Partition the image plane using given regions. + Regions for which the separating lines are to be determined. + Output region containing the separating lines. + Mode of operation. Default: "mixed" + + + Fill up holes in regions. + Input regions containing holes. + Regions without holes. + + + Fill up holes in regions having given shape features. + Input region(s). + Output region(s) with filled holes. + Shape feature used. Default: "area" + Minimum value for Feature. Default: 1.0 + Maximum value for Feature. Default: 100.0 + + + Fill gaps between regions or split overlapping regions. + Regions for which the gaps are to be closed, or which are to be separated. + Regions in which no expansion takes place. + Expanded or separated regions. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + + + Clip a region relative to its smallest surrounding rectangle. + Regions to be clipped. + Clipped regions. + Number of rows clipped at the top. Default: 1 + Number of rows clipped at the bottom. Default: 1 + Number of columns clipped at the left. Default: 1 + Number of columns clipped at the right. Default: 1 + + + Clip a region to a rectangle. + Region to be clipped. + Clipped regions. + Row coordinate of the upper left corner of the rectangle. Default: 0 + Column coordinate of the upper left corner of the rectangle. Default: 0 + Row coordinate of the lower right corner of the rectangle. Default: 256 + Column coordinate of the lower right corner of the rectangle. Default: 256 + + + Rank operator for regions. + Region(s) to be transformed. + Resulting region(s). + Width of the filter mask. Default: 15 + Height of the filter mask. Default: 15 + Minimum number of points lying within the filter mask. Default: 70 + + + Compute connected components of a region. + Input region. + Connected components. + + + Calculate the symmetric difference of two regions. + Input region 1. + Input region 2. + Resulting region. + + + Calculate the difference of two regions. + Regions to be processed. + The union of these regions is subtracted from Region. + Resulting region. + + + Return the complement of a region. + Input region(s). + Complemented regions. + + + Determine the connected components of the background of given regions. + Input regions. + Connected components of the background. + + + Generate a region having a given Hamming distance. + Region to be modified. + Regions having the required Hamming distance. + Width of the region to be changed. Default: 100 + Height of the region to be changed. Default: 100 + Hamming distance between the old and new regions. Default: 1000 + + + Remove noise from a region. + Regions to be modified. + Less noisy regions. + Mode of noise removal. Default: "n_4" + + + Transform the shape of a region. + Regions to be transformed. + Transformed regions. + Type of transformation. Default: "convex" + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Regions for which the gaps are to be closed, or which are to be separated. + Image (possibly multi-channel) for gray value or color comparison. + Regions in which no expansion takes place. + Expanded or separated regions. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Maximum difference between the gray value or color at the region's border and a candidate for expansion. Default: 32 + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Regions for which the gaps are to be closed, or which are to be separated. + Image (possibly multi-channel) for gray value or color comparison. + Regions in which no expansion takes place. + Expanded or separated regions. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Reference gray value or color for comparison. Default: 128 + Maximum difference between the reference gray value or color and a candidate for expansion. Default: 32 + + + Split lines represented by one pixel wide, non-branching lines. + Input lines (represented by 1 pixel wide, non-branching regions). + Maximum distance of the line points to the line segment connecting both end points. Default: 3 + Row coordinates of the start points of the output lines. + Column coordinates of the start points of the output lines. + Row coordinates of the end points of the output lines. + Column coordinates of the end points of the output lines. + + + Split lines represented by one pixel wide, non-branching regions. + Input lines (represented by 1 pixel wide, non-branching regions). + Split lines. + Maximum distance of the line points to the line segment connecting both end points. Default: 3 + + + Convert a histogram into a region. + Region containing the histogram. + Input histogram. + Row coordinate of the center of the histogram. Default: 255 + Column coordinate of the center of the histogram. Default: 255 + Scale factor for the histogram. Default: 1 + + + Eliminate runs of a given length. + Region to be clipped. + Clipped regions. + All runs which are shorter are eliminated. Default: 3 + All runs which are longer are eliminated. Default: 1000 + + + Calculate the 3D surface normals of a 3D object model. + Handle of the 3D object model containing 3D point data. + Normals calculation method. Default: "mls" + Names of generic smoothing parameters. Default: [] + Values of generic smoothing parameters. Default: [] + Handle of the 3D object model with calculated 3D normals. + + + Smooth the 3D points of a 3D object model. + Handle of the 3D object model containing 3D point data. + Smoothing method. Default: "mls" + Names of generic smoothing parameters. Default: [] + Values of generic smoothing parameters. Default: [] + Handle of the 3D object model with the smoothed 3D point data. + + + Create a surface triangulation for a 3D object model. + Handle of the 3D object model containing 3D point data. + Triangulation method. Default: "greedy" + Names of the generic triangulation parameters. Default: [] + Values of the generic triangulation parameters. Default: [] + Handle of the 3D object model with the triangulated surface. + Additional information about the triangulation process. + + + This operator is inoperable. It had the following function: Free the memory of all stereo models. + + + Free the memory of a stereo model. + Handle of the stereo model. + + + Reconstruct 3D points from calibrated multi-view stereo images. + Handle of the stereo model. + Row coordinates of the detected points. + Column coordinates of the detected points. + Covariance matrices of the detected points. Default: [] + Indices of the observing cameras. + Indices of the observed world points. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + Indices of the reconstructed 3D points. + + + Reconstruct surface from calibrated multi-view stereo images. + An image array acquired by the camera setup associated with the stereo model. + Handle of the stereo model. + Handle to the resulting surface. + + + Get intermediate iconic results of a stereo reconstruction. + Iconic result. + Handle of the stereo model. + Camera indices of the pair ([From, To]). + Name of the iconic result to be returned. + + + Return the list of image pairs set in a stereo model. + Handle of the stereo model. + Camera indices for the from cameras in the image pairs. + Camera indices for the to cameras in the image pairs. + + + Specify image pairs to be used for surface stereo reconstruction. + Handle of the stereo model. + Camera indices for the from cameras in the image pairs. + Camera indices for the to cameras in the image pairs. + + + Get stereo model parameters. + Handle of the stereo model. + Names of the parameters to be set. + Values of the parameters to be set. + + + Set stereo model parameters. + Handle of the stereo model. + Names of the parameters to be set. + Values of the parameters to be set. + + + Create a HALCON stereo model. + Handle to the camera setup model. + Reconstruction method. Default: "surface_pairwise" + Name of the model parameter to be set. Default: [] + Value of the model parameter to be set. Default: [] + Handle of the stereo model. + + + Query message queue parameters or information about the queue. + Message queue handle. + Names of the queue parameters or info queries. Default: "max_message_num" + Values of the queue parameters or info queries. + + + Set message queue parameters or invoke commands on the queue. + Message queue handle. + Names of the queue parameters or action commands. Default: "max_message_num" + Values of the queue parameters or action commands. Default: 1 + + + Receive one or more messages from the message queue. + Message queue handle. + Names of optional generic parameters Default: "timeout" + Values of optional generic parameters Default: "infinite" + Handle(s) of the dequeued message(s). + + + Enqueue one or more messages to the message queue. + Message queue handle. + Handle(s) of message(s) to be enqueued. + Names of optional generic parameters. + Values of optional generic parameters. + + + Close a message queue handle and release all associated resources. + Message queue handle(s) to be closed. + + + Create a new empty message queue. + Handle of the newly created message queue. + + + Query message parameters or information about the message. + Message handle. + Names of the message parameters or info queries. Default: "message_keys" + Message keys the parameter/query should be applied to. + Values of the message parameters or info queries. + + + Set message parameter or invoke commands on the message. + Message handle. + Names of the message parameters or action commands. Default: "remove_key" + Message keys the parameter/command should be applied to. + Values of the message parameters or action commands. + + + Retrieve an object associated with the key from the message. + Tuple value retrieved from the message. + Message handle. + Key string or integer. + + + Add a key/object pair to the message. + Object to be associated with the key. + Message handle. + Key string or integer. + + + Retrieve a tuple associated with the key from the message. + Message handle. + Key string or integer. + Tuple value retrieved from the message. + + + Add a key/tuple pair to the message. + Message handle. + Key string or integer. + Tuple value to be associated with the key. + + + Close a message handle and release all associated resources. + Message handle(s) to be closed. + + + Create a new empty message. + Handle of the newly created message. + + + This operator is inoperable. It had the following function: Destroy all condition synchronization objects. + + + Destroy a condition synchronization object. + Condition synchronization object. + + + Signal a condition synchronization object. + Condition synchronization object. + + + Signal a condition synchronization object. + Condition synchronization object. + + + Bounded wait on the signal of a condition synchronization object. + Condition synchronization object. + Mutex synchronization object. + Timeout in micro seconds. + + + wait on the signal of a condition synchronization object. + Condition synchronization object. + Mutex synchronization object. + + + Create a condition variable synchronization object. + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + Condition synchronization object. + + + This operator is inoperable. It had the following function: Destroy all barrier synchronization objects. + + + Destroy a barrier synchronization object. + Barrier synchronization object. + + + Wait on the release of a barrier synchronization object. + Barrier synchronization object. + + + Create a barrier synchronization object. + Barrier attribute. Default: [] + Barrier attribute value. Default: [] + Barrier team size. Default: 1 + Barrier synchronization object. + + + This operator is inoperable. It had the following function: Clear all event synchronization objects. + + + Clear the event synchronization object. + Event synchronization object. + + + Unlock an event synchronization object. + Event synchronization object. + + + Lock an event synchronization object only if it is unlocked. + Event synchronization object. + Object already locked? + + + Lock an event synchronization object. + Event synchronization object. + + + Create an event synchronization object. + Mutex attribute. Default: [] + Mutex attribute value. Default: [] + Event synchronization object. + + + This operator is inoperable. It had the following function: Clear all mutex synchronization objects. + + + Clear the mutex synchronization object. + Mutex synchronization object. + + + Unlock a mutex synchronization object. + Mutex synchronization object. + + + Lock a mutex synchronization object. + Mutex synchronization object. + Mutex already locked? + + + Lock a mutex synchronization object. + Mutex synchronization object. + + + Create a mutual exclusion synchronization object. + Mutex attribute class. Default: [] + Mutex attribute kind. Default: [] + Mutex synchronization object. + + + Query the attributes of a threading / synchronization object. + Threading object. + Class name of threading object. + Name of an attribute. + Value of the attribute. + + + Set AOP information for operators. + Operator to set information to Default: "" + Further specific index Default: "" + Further specific address Default: "" + Scope of information Default: "max_threads" + AOP information value + + + Return AOP information for operators. + Operator to get information for + Further index stages Default: ["iconic_type","parameter:0"] + Further index values Default: ["byte",""] + Scope of information Default: "max_threads" + Value of information + + + Query indexing structure of AOP information for operators. + Operator to get information for Default: "" + Further specific index Default: "" + Further specific address Default: "" + Name of next index stage + Values of next index stage + + + Check hardware regarding its potential for automatic operator parallelization. + Operators to check Default: "" + Iconic object types to check Default: "" + Knowledge file name Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + + + Write knowledge about hardware dependent behavior of automatic operator parallelization to file. + Name of knowledge file Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + + + Load knowledge about hardware dependent behavior of automatic operator parallelization. + Name of knowledge file Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + Knowledge attributes + Updated Operators + + + + + + + + + + + Calculate the difference of two object tuples. + Object tuple 1. + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + Set single gray values in an image. + Image to be modified. + Row coordinates of the pixels to be modified. Default: 0 + Column coordinates of the pixels to be modified. Default: 0 + Gray values to be used. Default: 255.0 + + + Paint XLD objects into an image. + XLD objects to be painted into the input image. + Image in which the xld objects are to be painted. + Image containing the result. + Desired gray value of the xld object. Default: 255.0 + + + Paint regions into an image. + Regions to be painted into the input image. + Image in which the regions are to be painted. + Image containing the result. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + + + Overpaint regions in an image. + Image in which the regions are to be painted. + Regions to be painted into the input image. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + + + Create an image with a specified constant gray value. + Input image. + Image with constant gray value. + Gray value to be used for the output image. Default: 0 + + + Paint the gray values of an image into another image. + Input image containing the desired gray values. + Input image to be painted over. + Result image. + + + Overpaint the gray values of an image. + Input image to be painted over. + Input image containing the desired gray values. + + + Convert an "integer number" into an iconic object. + Created objects. + Tuple of object surrogates. + + + Convert an iconic object into an "integer number." + Objects for which the surrogates are to be returned. + Starting index of the surrogates to be returned. Default: 1 + Number of surrogates to be returned. Default: -1 + Tuple containing the surrogates. + + + Copy an iconic object in the HALCON database. + Objects to be copied. + Copied objects. + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + + + Concatenate two iconic object tuples. + Object tuple 1. + Object tuple 2. + Concatenated objects. + + + Delete an iconic object from the HALCON database. + Objects to be deleted. + + + Copy an image and allocate new memory for it. + Image to be copied. + Copied image. + + + Select objects from an object tuple. + Input objects. + Selected objects. + Indices of the objects to be selected. Default: 1 + + + Compare iconic objects regarding equality. + Reference objects. + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + Test whether a region is contained in another region. + Test region. + Region for comparison. + Is Region1 contained in Region2? + + + Test whether the regions of two objects are identical. + Test regions. + Comparative regions. + boolean result value. + + + Compare image objects regarding equality. + Test objects. + Comparative objects. + boolean result value. + + + Number of objects in a tuple. + Objects to be examined. + Number of objects in the tuple Objects. + + + Informations about the components of an image object. + Image object to be examined. + Required information about object components. Default: "creator" + Components to be examined (0 for region/XLD). Default: 0 + Requested information. + + + Name of the class of an image object. + Image objects to be examined. + Name of class. + + + Create a three-channel image from a pointer to the interleaved pixels. + Created image with new image matrix. + Pointer to interleaved pixels. + Format of the input pixels. Default: "rgb" + Width of input image. Default: 512 + Height of input image. Default: 512 + Reserved. + Pixel type of output image. Default: "byte" + Width of output image. Default: 0 + Height of output image. Default: 0 + Line number of upper left corner of desired image part. Default: 0 + Column number of upper left corner of desired image part. Default: 0 + Number of used bits per pixel and channel of the output image (-1: All bits are used). Default: -1 + Number of bits that the color values of the input pixels are shifted to the right (only uint2 images). Default: 0 + + + Create a region from an XLD polygon. + Input polygon(s). + Created region(s). + Fill mode of the region(s). Default: "filled" + + + Create a region from an XLD contour. + Input contour(s). + Created region(s). + Fill mode of the region(s). Default: "filled" + + + Store a polygon as a "filled" region. + Created region. + Line indices of the base points of the region contour. Default: 100 + Column indices of the base points of the region contour. Default: 100 + + + Store a polygon as a region. + Created region. + Line indices of the base points of the region contour. Default: 100 + Colum indices of the base points of the region contour. Default: 100 + + + Store individual pixels as image region. + Created region. + Lines of the pixels in the region. Default: 100 + Columns of the pixels in the region. Default: 100 + + + Create a region from a runlength coding. + Created region. + Lines of the runs. Default: 100 + Columns of the starting points of the runs. Default: 50 + Columns of the ending points of the runs. Default: 200 + + + Create a rectangle of any orientation. + Created rectangle. + Line index of the center. Default: 300.0 + Column index of the center. Default: 200.0 + Angle of the first edge to the horizontal (in radians). Default: 0.0 + Half width. Default: 100.0 + Half height. Default: 20.0 + + + Create a rectangle parallel to the coordinate axes. + Created rectangle. + Line of upper left corner point. Default: 30.0 + Column of upper left corner point. Default: 20.0 + Line of lower right corner point. Default: 100.0 + Column of lower right corner point. Default: 200.0 + + + Create a random region. + Created random region with expansion Width x Height. + Maximum horizontal expansion of random region. Default: 128 + Maximum vertical expansion of random region. Default: 128 + + + Create an image from three pointers to the pixels (red/green/blue). + Created image with new image matrix. + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to first red value (channel 1). + Pointer to first green value (channel 2). + Pointer to first blue value (channel 3). + + + Create an image from a pointer to the pixels. + Created image with new image matrix. + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to first gray value. + + + Create an image with constant gray value. + Created image with new image matrix. + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + + + Create an ellipse sector. + Created ellipse(s). + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + Start angle of the sector. Default: 0.0 + End angle of the sector. Default: 3.14159 + + + Create an ellipse. + Created ellipse(s). + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + + + Create a circle sector. + Generated circle sector. + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + Start angle of the circle sector. Default: 0.0 + End angle of the circle sector. Default: 3.14159 + + + Create a circle. + Generated circle. + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + + + Create a checkered region. + Created checkerboard region. + Largest occurring $x$ value of the region. Default: 511 + Largest occurring $y$ value of the region. Default: 511 + Width of a field of the checkerboard. Default: 64 + Height of a field of the checkerboard. Default: 64 + + + Create a region from lines or pixels. + Created lines/pixel region. + Step width in line direction or zero. Default: 10 + Step width in column direction or zero. Default: 10 + Type of created pattern. Default: "lines" + Maximum width of pattern. Default: 512 + Maximum height of pattern. Default: 512 + + + Create random regions like circles, rectangles and ellipses. + Created regions. + Type of regions to be created. Default: "circle" + Minimum width of the region. Default: 10.0 + Maximum width of the region. Default: 20.0 + Minimum height of the region. Default: 10.0 + Maximum height of the region. Default: 30.0 + Minimum rotation angle of the region. Default: -0.7854 + Maximum rotation angle of the region. Default: 0.7854 + Number of regions. Default: 100 + Maximum horizontal expansion. Default: 512 + Maximum vertical expansion. Default: 512 + + + Store input lines described in Hesse normal form as regions. + Created regions (one for every line), clipped to maximum image format. + Orientation of the normal vector in radians. Default: 0.0 + Distance from the line to the coordinate origin (0.0). Default: 200 + + + Store input lines as regions. + Created regions. + Line coordinates of the starting points of the input lines. Default: 100 + Column coordinates of the starting points of the input lines. Default: 50 + Line coordinates of the ending points of the input lines. Default: 150 + Column coordinates of the ending points of the input lines. Default: 250 + + + Create an empty object tuple. + No objects. + + + Create an empty region. + Empty region (no pixels). + + + Create a gray value ramp. + Created image with new image matrix. + Gradient in line direction. Default: 1.0 + Gradient in column direction. Default: 1.0 + Mean gray value. Default: 128 + Line index of reference point. Default: 256 + Column index of reference point. Default: 256 + Width of image. Default: 512 + Height of image. Default: 512 + + + Create a three-channel image from three pointers on the pixels with storage management. + Created HALCON image. + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to the first gray value of the first channel. + Pointer to the first gray value of the second channel. + Pointer to the first gray value of the third channel. + Pointer to the procedure re-releasing the memory of the image when deleting the object. Default: 0 + + + Create an image from a pointer on the pixels with storage management. + Created HALCON image. + Pixel type. Default: "byte" + Width of image. Default: 512 + Height of image. Default: 512 + Pointer to the first gray value. + Pointer to the procedure re-releasing the memory of the image when deleting the object. Default: 0 + + + Create an image with a rectangular domain from a pointer on the pixels (with storage management). + Created HALCON image. + Pointer to the first pixel. + Width of the image. Default: 512 + Height of the image. Default: 512 + Distance (in bytes) between pixel m in row n and pixel m in row n+1 of the 'input image'. + Distance between two neighboring pixels in bits . Default: 8 + Number of used bits per pixel. Default: 8 + Copy image data. Default: "false" + Pointer to the procedure releasing the memory of the image when deleting the object. Default: 0 + + + Access to the image data pointer and the image data inside the smallest rectangle of the domain of the input image. + Input image (Himage). + Pointer to the image data. + Width of the output image. + Height of the output image. + Width(input image)*(HorizontalBitPitch/8). + Distance between two neighboring pixels in bits . + Number of used bits per pixel. + + + Access the pointers of a colored image. + Input image. + Pointer to the pixels of the first channel. + Pointer to the pixels of the second channel. + Pointer to the pixels of the third channel. + Type of image. + Width of image. + Height of image. + + + Access the pointer of a channel. + Input image. + Pointer to the image data in the HALCON database. + Type of image. + Width of image. + Height of image. + + + Return the type of an image. + Input image. + Type of image. + + + Return the size of an image. + Input image. + Width of image. + Height of image. + + + Request time at which the image was created. + Input image. + Milliseconds (0..999). + Seconds (0..59). + Minutes (0..59). + Hours (0..23). + Day of the month (1..31). + Day of the year (1..366). + Month (1..12). + Year (xxxx). + + + Return gray values of an image at the positions given by tuples of rows and columns. + Image whose gray values are to be accessed. + Row coordinates of positions. Default: 0 + Column coordinates of positions. Default: 0 + Interpolation method. Default: "bilinear" + Gray values of the selected image coordinates. + + + Access the gray values of an image object. + Image whose gray value is to be accessed. + Row coordinates of pixels to be viewed. Default: 0 + Column coordinates of pixels to be viewed. Default: 0 + Gray values of indicated pixels. + + + Access the thickness of a region along the main axis. + Region to be analysed. + Thickness of the region along its main axis. + Histogram of the thickness of the region along its main axis. + + + Polygon approximation of a region. + Region to be approximated. + Maximum distance between the polygon and the edge of the region. Default: 5.0 + Line numbers of the base points of the contour. + Column numbers of the base points of the contour. + + + Access the pixels of a region. + This region is accessed. + Line numbers of the pixels in the region + Column numbers of the pixels in the region. + + + Access the contour of an object. + Output region. + Line numbers of the contour pixels. + Column numbers of the contour pixels. + + + Access the runlength coding of a region. + Output region. + Line numbers of the chords. + Column numbers of the starting points of the chords. + Column numbers of the ending points of the chords. + + + Contour of an object as chain code. + Region to be transformed. + Line of starting point. + Column of starting point. + Direction code of the contour (from starting point). + + + Access convex hull as contour. + Output region. + Line numbers of contour pixels. + Column numbers of the contour pixels. + + + Verification of a pattern using an OCV tool. + Characters to be verified. + Handle of the OCV tool. + Name of the character. Default: "a" + Adaption to vertical and horizontal translation. Default: "true" + Adaption to vertical and horizontal scaling of the size. Default: "true" + Adaption to changes of the orientation (not implemented). Default: "false" + Adaption to additive and scaling gray value changes. Default: "true" + Minimum difference between objects. Default: 10 + Evaluation of the character. + + + Training of an OCV tool. + Pattern to be trained. + Handle of the OCV tool to be trained. + Name(s) of the object(s) to analyse. Default: "a" + Mode for training (only one mode implemented). Default: "single" + + + Deserialize a serialized OCV tool. + Handle of the serialized item. + Handle of the OCV tool. + + + Serialize an OCV tool. + Handle of the OCV tool. + Handle of the serialized item. + + + Reading an OCV tool from file. + Name of the file which has to be read. Default: "test_ocv" + Handle of read OCV tool. + + + Saving an OCV tool to file. + Handle of the OCV tool to be written. + Name of the file where the tool has to be saved. Default: "test_ocv" + + + This operator is inoperable. It had the following function: Clear all OCV tools. + + + Clear an OCV tool. + Handle of the OCV tool which has to be freed. + + + Create a new OCV tool based on gray value projections. + List of names for patterns to be trained. Default: "a" + Handle of the created OCV tool. + + + Classify a related group of characters with an OCR classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Result of classifying the characters with the k-NN. + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + + + Deserialize a serialized k-NN-based OCR classifier. + Handle of the serialized item. + Handle of the OCR classifier. + + + Serialize a k-NN-based OCR classifier. + Handle of the OCR classifier. + Handle of the serialized item. + + + Read an OCR classifier from a file. + File name. + Handle of the OCR classifier. + + + Write a k-NN classifier for an OCR task to a file. + Handle of the k-NN classifier for an OCR task. + File name. + + + This operator is inoperable. It had the following function: Clear all OCR classifiers. + + + Clear an OCR classifier. + Handle of the OCR classifier. + + + Create an OCR classifier using a k-Nearest Neighbor (k-NN) classifier. + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + This parameter is not yet supported. Default: [] + This parameter is not yet supported. Default: [] + Handle of the k-NN classifier. + + + Trains an k-NN classifier for an OCR task. + Handle of the k-NN classifier. + Names of the training files. Default: "ocr.trf" + Names of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + + + Compute the features of a character. + Input character. + Handle of the k-NN classifier. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + Return the parameters of an OCR classifier. + Handle of the OCR classifier. + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + Type of preprocessing used to transform the feature vectors. + Number of different trees used during the classifcation. + + + Classify multiple characters with an k-NN classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the k-NN classifier. + Result of classifying the characters with the k-NN. + Confidence of the class of the characters. + + + Classify a single character with an OCR classifier. + Character to be recognized. + Gray values of the character. + Handle of the k-NN classifier. + Number of maximal classes to determine. Default: 1 + Number of neighbors to consider. Default: 1 + Results of classifying the character with the k-NN. + Confidence(s) of the class(es) of the character. + + + Select an optimal combination of features to classify OCR data. + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Trained OCR-k-NN classifier. + Selected feature set, contains only entries from FeatureList. + Achieved score using tow-fold cross-validation. + + + Select an optimal combination of features to classify OCR data from a (protected) training file. + Names of the training files. Default: "" + Passwords for protected training files. + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Trained OCR-MLP classifier. + Selected feature set, contains only entries from FeatureList. + Achieved score using tow-fold cross-validation. + + + Selects an optimal combination of features to classify OCR data. + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Trained OCR-MLP classifier. + Selected feature set, contains only entries from FeatureList. + Achieved score using tow-fold cross-validation. + + + Select an optimal combination of features to classify OCR data from a (protected) training file. + Names of the training files. Default: "" + Passwords for protected training files. + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Trained OCR-SVM Classifier. + Selected feature set, contains only entries from FeatureList. + Achieved score using tow-fold cross-validation. + + + Selects an optimal combination of features to classify OCR data. + Names of the training files. Default: "" + List of features that should be considered for selection. Default: ["zoom_factor","ratio","width","height","foreground","foreground_grid_9","foreground_grid_16","anisometry","compactness","convexity","moments_region_2nd_invar","moments_region_2nd_rel_invar","moments_region_3rd_invar","moments_central","phi","num_connect","num_holes","projection_horizontal","projection_vertical","projection_horizontal_invar","projection_vertical_invar","chord_histo","num_runs","pixel","pixel_invar","pixel_binary","gradient_8dir","cooc","moments_gray_plane"] + Method to perform the selection. Default: "greedy" + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 15 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 16 + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + Trained OCR-SVM Classifier. + Selected feature set, contains only entries from FeatureList. + Achieved score using tow-fold cross-validation. + + + This operator is inoperable. It had the following function: Clear all lexica. + + + Clear a lexicon. + Handle of the lexicon. + + + Find a similar word in a lexicon. + Handle of the lexicon. + Word to be looked up. Default: "word" + Most similar word found in the lexicon. + Difference between the words in edit operations. + + + Check if a word is contained in a lexicon. + Handle of the lexicon. + Word to be looked up. Default: "word" + Result of the search. + + + Query all words from a lexicon. + Handle of the lexicon. + List of all words. + + + Create a lexicon from a text file. + Unique name for the new lexicon. Default: "lex1" + Name of a text file containing words for the new lexicon. Default: "words.txt" + Handle of the lexicon. + + + Create a lexicon from a tuple of words. + Unique name for the new lexicon. Default: "lex1" + Word list for the new lexicon. Default: ["word1","word2","word3"] + Handle of the lexicon. + + + This operator is inoperable. It had the following function: Clear all SVM based OCR classifiers. + + + Clear an SVM-based OCR classifier. + Handle of the OCR classifier. + + + Deserialize a serialized SVM-based OCR classifier. + Handle of the serialized item. + Handle of the OCR classifier. + + + Serialize a SVM-based OCR classifier + Handle of the OCR classifier. + Handle of the serialized item. + + + Read a SVM-based OCR classifier from a file. + File name. + Handle of the OCR classifier. + + + Write an OCR classifier to a file. + Handle of the OCR classifier. + File name. + + + Compute the features of a character. + Input character. + Handle of the OCR classifier. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + Classify a related group of characters with an OCR classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Result of classifying the characters with the SVM. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + + + Classify multiple characters with an SVM-based OCR classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the OCR classifier. + Result of classifying the characters with the SVM. + + + Classify a single character with an SVM-based OCR classifier. + Character to be recognized. + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Result of classifying the character with the SVM. + + + Approximate a trained SVM-based OCR classifier by a reduced SVM. + Original handle of SVM-based OCR-classifier. + Type of postprocessing to reduce number of SVs. Default: "bottom_up" + Minimum number of remaining SVs. Default: 2 + Maximum allowed error of reduction. Default: 0.001 + SVMHandle of reduced OCR classifier. + + + Train an OCR classifier with data from a (protected) training file. + Handle of the OCR classifier. + Names of the training files. Default: "ocr.trf" + Passwords for protected training files. + Stop parameter for training. Default: 0.001 + Mode of training. Default: "default" + + + Train an OCR classifier. + Handle of the OCR classifier. + Names of the training files. Default: "ocr.trf" + Stop parameter for training. Default: 0.001 + Mode of training. Default: "default" + + + Compute the information content of the preprocessed feature vectors of an SVM-based OCR classifier. + Handle of the OCR classifier. + Names of the training files. Default: "ocr.trf" + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Relative information content of the transformed feature vectors. + Cumulative information content of the transformed feature vectors. + + + Return the number of support vectors of an OCR classifier. + OCR handle. + Total number of support vectors. + Number of SV of each sub-SVM. + + + Return the index of a support vector from a trained OCR classifier that is based on support vector machines. + OCR handle. + Number of stored support vectors. + Index of the support vector in the training set. + + + Return the parameters of an OCR classifier. + Handle of the OCR classifier. + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + The kernel type. + Additional parameters for the kernel function. + Regularization constant of the SVM. + The mode of the SVM. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). + + + Create an OCR classifier using a support vector machine. + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + The kernel type. Default: "rbf" + Additional parameter for the kernel function. Default: 0.02 + Regularization constant of the SVM. Default: 0.05 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Handle of the OCR classifier. + + + This operator is inoperable. It had the following function: Clear all OCR classifiers. + + + Clear an OCR classifier. + Handle of the OCR classifier. + + + Deserialize a serialized MLP-based OCR classifier. + Handle of the serialized item. + Handle of the OCR classifier. + + + Serialize a MLP-based OCR classifier. + Handle of the OCR classifier. + Handle of the serialized item. + + + Read an OCR classifier from a file. + File name. + Handle of the OCR classifier. + + + Write an OCR classifier to a file. + Handle of the OCR classifier. + File name. + + + Compute the features of a character. + Input character. + Handle of the OCR classifier. + Should the feature vector be transformed with the preprocessing? Default: "true" + Feature vector of the character. + + + Classify a related group of characters with an OCR classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Result of classifying the characters with the MLP. + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + + + Classify multiple characters with an OCR classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the OCR classifier. + Result of classifying the characters with the MLP. + Confidence of the class of the characters. + + + Classify a single character with an OCR classifier. + Character to be recognized. + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Result of classifying the character with the MLP. + Confidence(s) of the class(es) of the character. + + + Train an OCR classifier with data from a (protected) training file. + Handle of the OCR classifier. + Names of the training files. Default: "ocr.trf" + Passwords for protected training files. + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data. + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + + + Train an OCR classifier. + Handle of the OCR classifier. + Names of the training files. Default: "ocr.trf" + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data. + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + + + Compute the information content of the preprocessed feature vectors of an OCR classifier. + Handle of the OCR classifier. + Names of the training files. Default: "ocr.trf" + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Relative information content of the transformed feature vectors. + Cumulative information content of the transformed feature vectors. + + + Return the rejection class parameters of an OCR classifier. + Handle of the OCR classifier. + Name of the general parameter. Default: "sampling_strategy" + Value of the general parameter. + + + Set the rejection class parameters of an OCR classifier. + Handle of the OCR classifier. + Name of the general parameter. Default: "sampling_strategy" + Value of the general parameter. Default: "hyperbox_around_all_classes" + + + Return the regularization parameters of an OCR classifier. + Handle of the OCR classifier. + Name of the regularization parameter to return. Default: "weight_prior" + Value of the regularization parameter. + + + Set the regularization parameters of an OCR classifier. + Handle of the OCR classifier. + Name of the regularization parameter to return. Default: "weight_prior" + Value of the regularization parameter. Default: 1.0 + + + Return the parameters of an OCR classifier. + Handle of the OCR classifier. + Width of the rectangle to which the gray values of the segmented character are zoomed. + Height of the rectangle to which the gray values of the segmented character are zoomed. + Interpolation mode for the zooming of the characters. + Features to be used for classification. + Characters of the character set to be read. + Number of hidden units of the MLP. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features. + + + Create an OCR classifier using a multilayer perceptron. + Width of the rectangle to which the gray values of the segmented character are zoomed. Default: 8 + Height of the rectangle to which the gray values of the segmented character are zoomed. Default: 10 + Interpolation mode for the zooming of the characters. Default: "constant" + Features to be used for classification. Default: "default" + All characters of the character set to be read. Default: ["0","1","2","3","4","5","6","7","8","9"] + Number of hidden units of the MLP. Default: 80 + Type of preprocessing used to transform the feature vectors. Default: "none" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + Handle of the OCR classifier. + + + Serialize an OCR classifier. + ID of the OCR classifier. + Handle of the serialized item. + + + Deserialize a serialized OCR classifier. + Handle of the serialized item. + ID of the OCR classifier. + + + Writing an OCR classifier into a file. + ID of the OCR classifier. + Name of the file for the OCR classifier (without extension). Default: "my_ocr" + + + Read an OCR classifier from a file. + Name of the OCR classifier file. Default: "testnet" + ID of the read OCR classifier. + + + Classify one character. + Character to be recognized. + Gray values of the characters. + ID of the OCR classifier. + Classes (names) of the characters. + Confidence values of the characters. + + + Classify characters. + Characters to be recognized. + Gray values for the characters. + ID of the OCR classifier. + Class (name) of the characters. + Confidence values of the characters. + + + Get information about an OCR classifier. + ID of the OCR classifier. + Width of the scaled characters. + Height of the scaled characters. + Interpolation mode for scaling the characters. + Width of the largest trained character. + Height of the largest trained character. + Used features. + All characters of the set. + + + Create a new OCR-classifier. + Width of the input layer of the network. Default: 8 + Height of the input layer of the network. Default: 10 + Interpolation mode concerning scaling of characters. Default: 1 + Additional features. Default: "default" + All characters of a set. Default: ["a","b","c"] + ID of the created OCR classifier. + + + Train an OCR classifier by the input of regions. + Characters to be trained. + Gray values for the characters. + ID of the desired OCR-classifier. + Class (name) of the characters. Default: "a" + Average confidence during a re-classification of the trained characters. + + + Train an OCR classifier with the help of a training file. + ID of the desired OCR-network. + Names of the training files. Default: "train_ocr" + Average confidence during a re-classification of the trained characters. + + + Protection of training data. + Names of the training files. Default: "" + Passwords for protecting the training files. + Names of the protected training files. + + + Storing of training characters into a file. + Characters to be trained. + Gray values of the characters. + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + Define a new conversion table for the characters. + ID of the OCR-network to be changed. + New assign of characters. Default: ["a","b","c"] + + + Deallocation of the memory of an OCR classifier. + ID of the OCR classifier to be deleted. + + + Sorting of regions with respect to their relative position. + Regions to be sorted. + Sorted regions. + Kind of sorting. Default: "first_point" + Increasing or decreasing sorting order. Default: "true" + Sorting first with respect to row, then to column. Default: "row" + + + This operator is inoperable. It had the following function: Destroy all OCR classifiers. + + + Test an OCR classifier. + Characters to be tested. + Gray values for the characters. + ID of the desired OCR-classifier. + Class (name) of the characters. Default: "a" + Confidence for the character to belong to the class. + + + Cut out an image area relative to the domain. + Input image. + Image area. + Number of rows clipped at the top. Default: -1 + Number of columns clipped at the left. Default: -1 + Number of rows clipped at the bottom. Default: -1 + Number of columns clipped at the right. Default: -1 + + + Access the features which correspond to a character. + Characters to be trained. + ID of the desired OCR-classifier. + Feature vector. + + + Concat training files. + Names of the single training files. Default: "" + Name of the composed training file. Default: "all_characters" + + + Write characters into a training file. + Characters to be trained. + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + Add characters to a training file. + Characters to be trained. + Gray values of the characters. + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + Query which characters are stored in a (protected) training file. + Names of the training files. Default: "" + Passwords for protected training files. + Names of the read characters. + Number of characters. + + + Query which characters are stored in a training file. + Names of the training files. Default: "" + Names of the read characters. + Number of characters. + + + Read training specific characters from files and convert to images. + Images read from file. + Names of the training files. Default: "" + Names of the characters to be extracted. Default: "0" + Names of the read characters. + + + Read training characters from files and convert to images. + Images read from file. + Names of the training files. Default: "" + Names of the read characters. + + + Prune the branches of a region. + Regions to be processed. + Result of the pruning operation. + Length of the branches to be removed. Default: 2 + + + Reduce a region to its boundary. + Regions for which the boundary is to be computed. + Resulting boundaries. + Boundary type. Default: "inner" + + + Perform a closing after an opening with multiple structuring elements. + Regions to be processed. + Structuring elements. + Fitted regions. + + + Generate standard structuring elements. + Generated structuring elements. + Type of structuring element to generate. Default: "noise" + Row coordinate of the reference point. Default: 1 + Column coordinate of the reference point. Default: 1 + + + Reflect a region about a point. + Region to be reflected. + Transposed region. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + + + Remove the result of a hit-or-miss operation from a region (sequential). + Regions to be processed. + Result of the thinning operator. + Structuring element from the Golay alphabet. Default: "l" + Number of iterations. For 'f', 'f2', 'h' and 'i' the only useful value is 1. Default: 20 + + + Remove the result of a hit-or-miss operation from a region (using a Golay structuring element). + Regions to be processed. + Result of the thinning operator. + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + + + Remove the result of a hit-or-miss operation from a region. + Regions to be processed. + Structuring element for the foreground. + Structuring element for the background. + Result of the thinning operator. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + + + Add the result of a hit-or-miss operation to a region (sequential). + Regions to be processed. + Result of the thickening operator. + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + + + Add the result of a hit-or-miss operation to a region (using a Golay structuring element). + Regions to be processed. + Result of the thickening operator. + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + + + Add the result of a hit-or-miss operation to a region. + Regions to be processed. + Structuring element for the foreground. + Structuring element for the background. + Result of the thickening operator. + Row coordinate of the reference point. Default: 16 + Column coordinate of the reference point. Default: 16 + Number of iterations. Default: 1 + + + Hit-or-miss operation for regions using the Golay alphabet (sequential). + Regions to be processed. + Result of the hit-or-miss operation. + Structuring element from the Golay alphabet. Default: "h" + + + Hit-or-miss operation for regions using the Golay alphabet. + Regions to be processed. + Result of the hit-or-miss operation. + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + + + Hit-or-miss operation for regions. + Regions to be processed. + Erosion mask for the input regions. + Erosion mask for the complements of the input regions. + Result of the hit-or-miss operation. + Row coordinate of the reference point. Default: 16 + Column coordinate of the reference point. Default: 16 + + + Generate the structuring elements of the Golay alphabet. + Structuring element for the foreground. + Structuring element for the background. + Name of the structuring element. Default: "l" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Row coordinate of the reference point. Default: 16 + Column coordinate of the reference point. Default: 16 + + + Thinning of a region. + Regions to be thinned. + Result of the skiz operator. + Number of iterations for the sequential thinning with the element 'l' of the Golay alphabet. Default: 100 + Number of iterations for the sequential thinning with the element 'e' of the Golay alphabet. Default: 1 + + + Compute the morphological skeleton of a region. + Regions to be processed. + Resulting morphological skeleton. + + + Compute the union of bottom_hat and top_hat. + Regions to be processed. + Structuring element (position-invariant). + Union of top hat and bottom hat. + + + Compute the bottom hat of regions. + Regions to be processed. + Structuring element (position independent). + Result of the bottom hat operator. + + + Compute the top hat of regions. + Regions to be processed. + Structuring element (position independent). + Result of the top hat operator. + + + Erode a region (using a reference point). + Regions to be eroded. + Structuring element. + Eroded regions. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + + + Erode a region. + Regions to be eroded. + Structuring element. + Eroded regions. + Number of iterations. Default: 1 + + + Dilate a region (using a reference point). + Regions to be dilated. + Structuring element. + Dilated regions. + Row coordinate of the reference point. + Column coordinate of the reference point. + Number of iterations. Default: 1 + + + Perform a Minkowski addition on a region. + Regions to be dilated. + Structuring element. + Dilated regions. + Number of iterations. Default: 1 + + + Close a region with a rectangular structuring element. + Regions to be closed. + Closed regions. + Width of the structuring rectangle. Default: 10 + Height of the structuring rectangle. Default: 10 + + + Close a region with an element from the Golay alphabet. + Regions to be closed. + Closed regions. + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + + + Close a region with a circular structuring element. + Regions to be closed. + Closed regions. + Radius of the circular structuring element. Default: 3.5 + + + Close a region. + Regions to be closed. + Structuring element (position-invariant). + Closed regions. + + + Separate overlapping regions. + Regions to be opened. + Structuring element (position-invariant). + Opened regions. + + + Open a region with an element from the Golay alphabet. + Regions to be opened. + Opened regions. + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + + + Open a region with a rectangular structuring element. + Regions to be opened. + Opened regions. + Width of the structuring rectangle. Default: 10 + Height of the structuring rectangle. Default: 10 + + + Open a region with a circular structuring element. + Regions to be opened. + Opened regions. + Radius of the circular structuring element. Default: 3.5 + + + Open a region. + Regions to be opened. + Structuring element (position-invariant). + Opened regions. + + + Erode a region sequentially. + Regions to be eroded. + Eroded regions. + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + + + Erode a region with an element from the Golay alphabet. + Regions to be eroded. + Eroded regions. + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + + + Erode a region with a rectangular structuring element. + Regions to be eroded. + Eroded regions. + Width of the structuring rectangle. Default: 11 + Height of the structuring rectangle. Default: 11 + + + Erode a region with a circular structuring element. + Regions to be eroded. + Eroded regions. + Radius of the circular structuring element. Default: 3.5 + + + Erode a region (using a reference point). + Regions to be eroded. + Structuring element. + Eroded regions. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + + + Erode a region. + Regions to be eroded. + Structuring element. + Eroded regions. + Number of iterations. Default: 1 + + + Dilate a region sequentially. + Regions to be dilated. + Dilated regions. + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + + + Dilate a region with an element from the Golay alphabet. + Regions to be dilated. + Dilated regions. + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + + + Dilate a region with a rectangular structuring element. + Regions to be dilated. + Dilated regions. + Width of the structuring rectangle. Default: 11 + Height of the structuring rectangle. Default: 11 + + + Dilate a region with a circular structuring element. + Regions to be dilated. + Dilated regions. + Radius of the circular structuring element. Default: 3.5 + + + Dilate a region (using a reference point). + Regions to be dilated. + Structuring element. + Dilated regions. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + + + Dilate a region. + Regions to be dilated. + Structuring element. + Dilated regions. + Number of iterations. Default: 1 + + + Perform a gray value bottom hat transformation on an image. + Input image. + Structuring element. + Bottom hat image. + + + Perform a gray value top hat transformation on an image. + Input image. + Structuring element. + Top hat image. + + + Perform a gray value closing on an image. + Input image. + Structuring element. + Gray-closed image. + + + Perform a gray value opening on an image. + Input image. + Structuring element. + Gray-opened image. + + + Perform a gray value dilation on an image. + Input image. + Structuring element. + Gray-dilated image. + + + Perform a gray value erosion on an image. + Input image. + Structuring element. + Gray-eroded image. + + + Load a structuring element for gray morphology. + Generated structuring element. + Name of the file containing the structuring element. + + + Generate ellipsoidal structuring elements for gray morphology. + Generated structuring element. + Pixel type. Default: "byte" + Width of the structuring element. Default: 5 + Height of the structuring element. Default: 5 + Maximum gray value of the structuring element. Default: 0 + + + Query the model contour of a metrology object in image coordinates. + Model contour. + Handle of the metrology model. + Index of the metrology object. Default: 0 + Distance between neighboring contour points. Default: 1.5 + + + Query the result contour of a metrology object. + Result contour for the given metrology object. + Handle of the metrology model. + Index of the metrology object. Default: 0 + Instance of the metrology object. Default: "all" + Distance between neighboring contour points. Default: 1.5 + + + Alignment of a metrology model. + Handle of the metrology model. + Row coordinate of the alignment. Default: 0 + Column coordinate of the alignment. Default: 0 + Rotation angle of the alignment. Default: 0 + + + Add a metrology object to a metrology model. + Handle of the metrology model. + Type of the metrology object to be added. Default: "circle" + Parameters of the metrology object to be added. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + Get parameters that are valid for the entire metrology model. + Handle of the metrology model. + Name of the generic parameter. Default: "camera_param" + Value of the generic parameter. + + + Set parameters that are valid for the entire metrology model. + Handle of the metrology model. + Name of the generic parameter. Default: "camera_param" + Value of the generic parameter. Default: [] + + + Deserialize a serialized metrology model. + Handle of the serialized item. + Handle of the metrology model. + + + Serialize a metrology model. + Handle of the metrology model. + Handle of the serialized item. + + + Transform metrology objects of a metrology model, e.g. for alignment. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Translation in row direction. + Translation in column direction. + Rotation angle. + Mode of the transformation. Default: "absolute" + + + Write a metrology model to a file. + Handle of the metrology model. + File name. + + + Read a metrology model from a file. + File name. + Handle of the metrology model. + + + Copy a metrology model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Handle of the copied metrology model. + + + Copy metrology metrology objects of a metrology model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Indices of the copied metrology objects. + + + Get the number of instances of the metrology objects of a metrology model. + Handle of the metrology model. + Index of the metrology objects. Default: 0 + Number of Instances of the metrology objects. + + + Get the results of the measurement of a metrology model. + Handle of the metrology model. + Index of the metrology object. Default: 0 + Instance of the metrology object. Default: "all" + Name of the generic parameter. Default: "result_type" + Value of the generic parameter. Default: "all_param" + Result values. + + + Get the measure regions and the results of the edge location for the metrology objects of a metrology model. + Rectangular XLD Contours of measure regions. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Select light/dark or dark/light edges. Default: "all" + Row coordinates of the measured edges. + Column coordinates of the measured edges. + + + Measure and fit the geometric shapes of all metrology objects of a metrology model. + Input image. + Handle of the metrology model. + + + Get the indices of the metrology objects of a metrology model. + Handle of the metrology model. + Indices of the metrology objects. + + + Reset all fuzzy parameters and fuzzy functions of a metrology model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + + + Reset all parameters of a metrology model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + + + Get a fuzzy parameter of a metroloy model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "fuzzy_thresh" + Values of the generic parameters. + + + Get one or several parameters of a metroloy model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "num_measures" + Values of the generic parameters. + + + Set fuzzy parameters or fuzzy functions for a metrology model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "fuzzy_thresh" + Values of the generic parameters. Default: 0.5 + + + Set parameters for the metrology objects of a metrology model. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + Names of the generic parameters. Default: "num_instances" + Values of the generic parameters. Default: 1 + + + Add a rectangle to a metrology model. + Handle of the metrology model. + Row (or Y) coordinate of the center of the rectangle. + Column (or X) coordinate of the center of the rectangle. + Orientation of the main axis [rad]. + Length of the larger half edge of the rectangle. + Length of the smaller half edge of the rectangle. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + Add a line to a metrology model. + Handle of the metrology model. + Row (or Y) coordinate of the start of the line. + Column (or X) coordinate of the start of the line. + Row (or Y) coordinate of the end of the line. + Column (or X) coordinate of the end of the line. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + Add an ellipse or an elliptic arc to a metrology model. + Handle of the metrology model. + Row (or Y) coordinate of the center of the ellipse. + Column (or X) coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + Add a circle or a circular arc to a metrology model. + Handle of the metrology model. + Row coordinate (or Y) of the center of the circle or circular arc. + Column (or X) coordinate of the center of the circle or circular arc. + Radius of the circle or circular arc. + Half length of the measure regions perpendicular to the boundary. Default: 20.0 + Half length of the measure regions tangetial to the boundary. Default: 5.0 + Sigma of the Gaussian function for the smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Index of the created metrology object. + + + This operator is inoperable. It had the following function: Delete all metrology models and free the allocated memory. + + + Delete a metrology model and free the allocated memory. + Handle of the metrology model. + + + Delete metrology objects and free the allocated memory. + Handle of the metrology model. + Index of the metrology objects. Default: "all" + + + Set the size of the image of metrology objects. + Handle of the metrology model. + Width of the image to be processed. Default: 640 + Height of the image to be processed. Default: 480 + + + Create the data structure that is needed to measure geometric shapes. + Handle of the metrology model. + + + Serialize a measure object. + Measure object handle. + Handle of the serialized item. + + + Deserialize a serialized measure object. + Handle of the serialized item. + Measure object handle. + + + Write a measure object to a file. + Measure object handle. + File name. + + + Read a measure object from a file. + File name. + Measure object handle. + + + Extracting points with a particular gray value along a rectangle or an annular arc. + Input image. + Measure object handle. + Sigma of gaussian smoothing. Default: 1.0 + Threshold. Default: 128.0 + Selection of points. Default: "all" + Row coordinates of points with threshold value. + Column coordinates of points with threshold value. + Distance between consecutive points. + + + This operator is inoperable. It had the following function: Delete all measure objects. + + + Delete a measure object. + Measure object handle. + + + Extract a gray value profile perpendicular to a rectangle or annular arc. + Input image. + Measure object handle. + Gray value profile. + + + Reset a fuzzy function. + Measure object handle. + Selection of the fuzzy set. Default: "contrast" + + + Specify a normalized fuzzy function for edge pairs. + Measure object handle. + Favored width of edge pairs. Default: 10.0 + Selection of the fuzzy set. Default: "size_abs_diff" + Fuzzy function. + + + Specify a fuzzy function. + Measure object handle. + Selection of the fuzzy set. Default: "contrast" + Fuzzy function. + + + Extract straight edge pairs perpendicular to a rectangle or an annular arc. + Input image. + Measure object handle. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select the first gray value transition of the edge pairs. Default: "all" + Constraint of pairing. Default: "no_restriction" + Number of edge pairs. Default: 10 + Row coordinate of the first edge. + Column coordinate of the first edge. + Edge amplitude of the first edge (with sign). + Row coordinate of the second edge. + Column coordinate of the second edge. + Edge amplitude of the second edge (with sign). + Row coordinate of the center of the edge pair. + Column coordinate of the center of the edge pair. + Fuzzy evaluation of the edge pair. + Distance between the edges of the edge pair. + + + Extract straight edge pairs perpendicular to a rectangle or an annular arc. + Input image. + Measure object handle. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select the first gray value transition of the edge pairs. Default: "all" + Row coordinate of the first edge point. + Column coordinate of the first edge point. + Edge amplitude of the first edge (with sign). + Row coordinate of the second edge point. + Column coordinate of the second edge point. + Edge amplitude of the second edge (with sign). + Row coordinate of the center of the edge pair. + Column coordinate of the center of the edge pair. + Fuzzy evaluation of the edge pair. + Distance between edges of an edge pair. + Distance between consecutive edge pairs. + + + Extract straight edges perpendicular to a rectangle or an annular arc. + Input image. + Measure object handle. + Sigma of Gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Minimum fuzzy value. Default: 0.5 + Select light/dark or dark/light edges. Default: "all" + Row coordinate of the edge point. + Column coordinate of the edge point. + Edge amplitude of the edge (with sign). + Fuzzy evaluation of the edges. + Distance between consecutive edges. + + + Extract straight edge pairs perpendicular to a rectangle or annular arc. + Input image. + Measure object handle. + Sigma of gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Type of gray value transition that determines how edges are grouped to edge pairs. Default: "all" + Selection of edge pairs. Default: "all" + Row coordinate of the center of the first edge. + Column coordinate of the center of the first edge. + Edge amplitude of the first edge (with sign). + Row coordinate of the center of the second edge. + Column coordinate of the center of the second edge. + Edge amplitude of the second edge (with sign). + Distance between edges of an edge pair. + Distance between consecutive edge pairs. + + + Extract straight edges perpendicular to a rectangle or annular arc. + Input image. + Measure object handle. + Sigma of gaussian smoothing. Default: 1.0 + Minimum edge amplitude. Default: 30.0 + Light/dark or dark/light edge. Default: "all" + Selection of end points. Default: "all" + Row coordinate of the center of the edge. + Column coordinate of the center of the edge. + Edge amplitude of the edge (with sign). + Distance between consecutive edges. + + + Translate a measure object. + Measure object handle. + Row coordinate of the new reference point. Default: 50.0 + Column coordinate of the new reference point. Default: 100.0 + + + Prepare the extraction of straight edges perpendicular to an annular arc. + Row coordinate of the center of the arc. Default: 100.0 + Column coordinate of the center of the arc. Default: 100.0 + Radius of the arc. Default: 50.0 + Start angle of the arc in radians. Default: 0.0 + Angular extent of the arc in radians. Default: 6.28318 + Radius (half width) of the annulus. Default: 10.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + Measure object handle. + + + Prepare the extraction of straight edges perpendicular to a rectangle. + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Angle of longitudinal axis of the rectangle to horizontal (radians). Default: 0.0 + Half width of the rectangle. Default: 100.0 + Half height of the rectangle. Default: 20.0 + Width of the image to be processed subsequently. Default: 512 + Height of the image to be processed subsequently. Default: 512 + Type of interpolation to be used. Default: "nearest_neighbor" + Measure object handle. + + + Deserialize a serialized matrix. + Handle of the serialized item. + Matrix handle. + + + Serialize a matrix. + Matrix handle. + Handle of the serialized item. + + + Read a matrix from a file. + File name. + Matrix handle. + + + Write a matrix to a file. + Matrix handle of the input matrix. + Format of the file. Default: "binary" + File name. + + + Perform an orthogonal decomposition of a matrix. + Matrix handle of the input matrix. + Method of decomposition. Default: "qr" + Type of output matrices. Default: "full" + Computation of the orthogonal matrix. Default: "true" + Matrix handle with the orthogonal part of the decomposed input matrix. + Matrix handle with the triangular part of the decomposed input matrix. + + + Decompose a matrix. + Matrix handle of the input matrix. + Type of the input matrix. Default: "general" + Matrix handle with the output matrix 1. + Matrix handle with the output matrix 2. + + + Compute the singular value decomposition of a matrix. + Matrix handle of the input matrix. + Type of computation. Default: "full" + Computation of singular values. Default: "both" + Matrix handle with the left singular vectors. + Matrix handle with singular values. + Matrix handle with the right singular vectors. + + + Compute the generalized eigenvalues and optionally the generalized eigenvectors of general matrices. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + Computation of the eigenvectors. Default: "none" + Matrix handle with the real parts of the eigenvalues. + Matrix handle with the imaginary parts of the eigenvalues. + Matrix handle with the real parts of the eigenvectors. + Matrix handle with the imaginary parts of the eigenvectors. + + + Compute the generalized eigenvalues and optionally generalized eigenvectors of symmetric input matrices. + Matrix handle of the symmetric input matrix A. + Matrix handle of the symmetric positive definite input matrix B. + Computation of the eigenvectors. Default: "false" + Matrix handle with the eigenvalues. + Matrix handle with the eigenvectors. + + + Compute the eigenvalues and optionally the eigenvectors of a general matrix. + Matrix handle of the input matrix. + Computation of the eigenvectors. Default: "none" + Matrix handle with the real parts of the eigenvalues. + Matrix handle with the imaginary parts of the eigenvalues. + Matrix handle with the real parts of the eigenvectors. + Matrix handle with the imaginary parts of the eigenvectors. + + + Compute the eigenvalues and optionally eigenvectors of a symmetric matrix. + Matrix handle of the input matrix. + Computation of the eigenvectors. Default: "false" + Matrix handle with the eigenvalues. + Matrix handle with the eigenvectors. + + + Compute the solution of a system of equations. + Matrix handle of the input matrix of the left hand side. + The type of the input matrix of the left hand side. Default: "general" + Type of solving and limitation to set singular values to be 0. Default: 0.0 + Matrix handle of the input matrix of right hand side. + New matrix handle with the solution. + + + Compute the determinant of a matrix. + Matrix handle of the input matrix. + The type of the input matrix. Default: "general" + Determinant of the input matrix. + + + Invert a matrix. + Matrix handle of the input matrix. + The type of the input matrix. Default: "general" + Type of inversion. Default: 0.0 + + + Invert a matrix. + Matrix handle of the input matrix. + The type of the input matrix. Default: "general" + Type of inversion. Default: 0.0 + Matrix handle with the inverse matrix. + + + Transpose a matrix. + Matrix handle of the input matrix. + + + Transpose a matrix. + Matrix handle of the input matrix. + Matrix handle with the transpose of the input matrix. + + + Returns the elementwise maximum of a matrix. + Matrix handle of the input matrix. + Type of maximum determination. Default: "columns" + Matrix handle with the maximum values of the input matrix. + + + Returns the elementwise minimum of a matrix. + Matrix handle of the input matrix. + Type of minimum determination. Default: "columns" + Matrix handle with the minimum values of the input matrix. + + + Compute the power functions of a matrix. + Matrix handle of the input matrix. + The type of the input matrix. Default: "general" + The power. Default: 2.0 + + + Compute the power functions of a matrix. + Matrix handle of the input matrix. + The type of the input matrix. Default: "general" + The power. Default: 2.0 + Matrix handle with the raised powered matrix. + + + Compute the power functions of the elements of a matrix. + Matrix handle of the input matrix of the base. + Matrix handle of the input matrix with exponents. + + + Compute the power functions of the elements of a matrix. + Matrix handle of the input matrix of the base. + Matrix handle of the input matrix with exponents. + Matrix handle with the raised power of the input matrix. + + + Compute the power functions of the elements of a matrix. + Matrix handle of the input matrix. + The power. Default: 2.0 + + + Compute the power functions of the elements of a matrix. + Matrix handle of the input matrix. + The power. Default: 2.0 + Matrix handle with the raised power of the input matrix. + + + Compute the square root values of the elements of a matrix. + Matrix handle of the input matrix. + + + Compute the square root values of the elements of a matrix. + Matrix handle of the input matrix. + Matrix handle with the square root values of the input matrix. + + + Compute the absolute values of the elements of a matrix. + Matrix handle of the input matrix. + + + Compute the absolute values of the elements of a matrix. + Matrix handle of the input matrix. + Matrix handle with the absolute values of the input matrix. + + + Norm of a matrix. + Matrix handle of the input matrix. + Type of norm. Default: "2-norm" + Norm of the input matrix. + + + Returns the elementwise mean of a matrix. + Matrix handle of the input matrix. + Type of mean determination. Default: "columns" + Matrix handle with the mean values of the input matrix. + + + Returns the elementwise sum of a matrix. + Matrix handle of the input matrix. + Type of summation. Default: "columns" + Matrix handle with the sum of the input matrix. + + + Divide matrices element-by-element. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + + + Divide matrices element-by-element. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + Matrix handle with the divided values of input matrices. + + + Multiply matrices element-by-element. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + + + Multiply matrices element-by-element. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + Matrix handle with the multiplied values of the input matrices. + + + Scale a matrix. + Matrix handle of the input matrix. + Scale factor. Default: 2.0 + + + Scale a matrix. + Matrix handle of the input matrix. + Scale factor. Default: 2.0 + Matrix handle with the scaled elements. + + + Subtract two matrices. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + + + Subtract two matrices. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + Matrix handle with the difference of the input matrices. + + + Add two matrices. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + + + Add two matrices. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + Matrix handle with the sum of the input matrices. + + + Multiply two matrices. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + Type of the input matrices. Default: "AB" + + + Multiply two matrices. + Matrix handle of the input matrix A. + Matrix handle of the input matrix B. + Type of the input matrices. Default: "AB" + Matrix handle of the multiplied matrices. + + + Get the size of a matrix. + Matrix handle of the input matrix. + Number of rows of the matrix. + Number of columns of the matrix. + + + Repeat a matrix. + Matrix handle of the input matrix. + Number of copies of input matrix in row direction. Default: 2 + Number of copies of input matrix in column direction. Default: 2 + Matrix handle of the repeated copied matrix. + + + Copy a matrix. + Matrix handle of the input matrix. + Matrix handle of the copied matrix. + + + Set the diagonal elements of a matrix. + Matrix handle of the input matrix. + Matrix handle containing the diagonal elements to be set. + Position of the diagonal. Default: 0 + + + Get the diagonal elements of a matrix. + Matrix handle of the input matrix. + Number of the desired diagonal. Default: 0 + Matrix handle containing the diagonal elements. + + + Set a sub-matrix of a matrix. + Matrix handle of the input matrix. + Matrix handle of the input sub-matrix. + Upper row position of the sub-matrix in the matrix. Default: 0 + Left column position of the sub-matrix in the matrix. Default: 0 + + + Get a sub-matrix of a matrix. + Matrix handle of the input matrix. + Upper row position of the sub-matrix in the input matrix. Default: 0 + Left column position of the sub-matrix in the input matrix. Default: 0 + Number of rows of the sub-matrix. Default: 1 + Number of columns of the sub-matrix. Default: 1 + Matrix handle of the sub-matrix. + + + Set all values of a matrix. + Matrix handle of the input matrix. + Values to be set. + + + Return all values of a matrix. + Matrix handle of the input matrix. + Values of the matrix elements. + + + Set one or more elements of a matrix. + Matrix handle of the input matrix. + Row numbers of the matrix elements to be modified. Default: 0 + Column numbers of the matrix elements to be modified. Default: 0 + Values to be set in the indicated matrix elements. Default: 0 + + + Return one ore more elements of a matrix. + Matrix handle of the input matrix. + Row numbers of matrix elements to be returned. Default: 0 + Column numbers of matrix elements to be returned. Default: 0 + Values of indicated matrix elements. + + + This operator is inoperable. It had the following function: Clear all matrices from memory. + + + Free the memory of a matrix. + Matrix handle. + + + Create a matrix. + Number of rows of the matrix. Default: 3 + Number of columns of the matrix. Default: 3 + Values for initializing the elements of the matrix. Default: 0 + Matrix handle. + + + This operator is inoperable. It had the following function: Free the memory of all sample identifiers. + + + Free the memory of a sample identifier. + Handle of the sample identifier. + + + Deserialize a serialized sample identifier. + Handle of the serialized item. + Handle of the sample identifier. + + + Read a sample identifier from a file. + File name. + Handle of the sample identifier. + + + Serialize a sample identifier. + Handle of the sample identifier. + Handle of the serialized item. + + + Write a sample identifier to a file. + Handle of the sample identifier. + File name. + + + Identify objects with a sample identifier. + Image showing the object to be identified. + Handle of the sample identifier. + Number of suggested object indices. Default: 1 + Rating threshold. Default: 0.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the identified object. + Rating value of the identified object. + + + Get selected parameters of a sample identifier. + Handle of the sample identifier. + Parameter name. Default: "rating_method" + Parameter value. + + + Set selected parameters of a sample identifier. + Handle of the sample identifier. + Parameter name. Default: "rating_method" + Parameter value. Default: "score_single" + + + Retrieve information about an object of a sample identifier. + Handle of the sample identifier. + Index of the object for which information is retrieved. + Define, for which kind of object information is retrieved. Default: "num_training_objects" + Information about the object. + + + Define a name or a description for an object of a sample identifier. + Handle of the sample identifier. + Index of the object for which information is set. + Define, for which kind of object information is set. Default: "training_object_name" + Information about the object. + + + Remove training data from a sample identifier. + Handle of the sample identifier. + Index of the training object, from which samples should be removed. + Index of the training sample that should be removed. + + + Remove preparation data from a sample identifier. + Handle of the sample identifier. + Index of the preparation object, of which samples should be removed. + Index of the preparation sample that should be removed. + + + Train a sample identifier. + Handle of the sample identifier. + Parameter name. Default: [] + Parameter value. Default: [] + + + Add training data to an existing sample identifier. + Image that shows an object. + Handle of the sample identifier. + Index of the object visible in the SampleImage. + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + Adapt the internal data structure of a sample identifier to the objects to be identified. + Handle of the sample identifier. + Indicates if the preparation data should be removed. Default: "true" + Generic parameter name. Default: [] + Generic parameter value. Default: [] + + + Add preparation data to an existing sample identifier. + Image that shows an object. + Handle of the sample identifier. + Index of the object visible in the SampleImage. Default: "unknown" + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + Create a new sample identifier. + Parameter name. Default: [] + Parameter value. Default: [] + Handle of the sample identifier. + + + Deserialize a serialized shape model. + Handle of the serialized item. + Handle of the model. + + + Read a shape model from a file. + File name. + Handle of the model. + + + Serialize a shape model. + Handle of the model. + Handle of the serialized item. + + + Write a shape model to a file. + Handle of the model. + File name. + + + This operator is inoperable. It had the following function: Free the memory of all shape models. + + + Free the memory of a shape model. + Handle of the model. + + + Return the contour representation of a shape model. + Contour representation of the shape model. + Handle of the model. + Pyramid level for which the contour representation should be returned. Default: 1 + + + Determine the parameters of a shape model. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Kind of optimization. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Parameters to be determined automatically. Default: "all" + Name of the automatically determined parameter. + Value of the automatically determined parameter. + + + Return the parameters of a shape model. + Handle of the model. + Number of pyramid levels. + Smallest rotation of the pattern. + Extent of the rotation angles. + Step length of the angles (resolution). + Minimum scale of the pattern. + Maximum scale of the pattern. + Scale step length (resolution). + Match metric. + Minimum contrast of the objects in the search images. + + + Return the origin (reference point) of a shape model. + Handle of the model. + Row coordinate of the origin of the shape model. + Column coordinate of the origin of the shape model. + + + Set the origin (reference point) of a shape model. + Handle of the model. + Row coordinate of the origin of the shape model. + Column coordinate of the origin of the shape model. + + + Find the best matches of multiple anisotropically scaled shape models. + Input image in which the models should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the models in the row direction. Default: 0.9 + Maximum scale of the models in the row direction. Default: 1.1 + Minimum scale of the models in the column direction. Default: 0.9 + Maximum scale of the models in the column direction. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models in the row direction. + Scale of the found instances of the models in the column direction. + Score of the found instances of the models. + Index of the found instances of the models. + + + Find the best matches of multiple isotropically scaled shape models. + Input image in which the models should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the models. Default: 0.9 + Maximum scale of the models. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + Find the best matches of multiple shape models. + Input image in which the models should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + Find the best matches of an anisotropically scaled shape model in an image. + Input image in which the model should be found. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in the row direction. Default: 0.9 + Maximum scale of the model in the row direction. Default: 1.1 + Minimum scale of the model in the column direction. Default: 0.9 + Maximum scale of the model in the column direction. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model in the row direction. + Scale of the found instances of the model in the column direction. + Score of the found instances of the model. + + + Find the best matches of an isotropically scaled shape model in an image. + Input image in which the model should be found. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model. + Score of the found instances of the model. + + + Find the best matches of a shape model in an image. + Input image in which the model should be found. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + Set the metric of a shape model that was created from XLD contours. + Input image used for the determination of the polarity. + Handle of the model. + Transformation matrix. + Match metric. Default: "use_polarity" + + + Set selected parameters of the shape model. + Handle of the model. + Parameter names. + Parameter values. + + + Prepare an anisotropically scaled shape model for matching from XLD contours. + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + Prepare an isotropically scaled shape model for matching from XLD contours. + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + Prepare a shape model for matching from XLD contours. + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + Prepare an anisotropically scaled shape model for matching. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + Prepare an isotropically scaled shape model for matching. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + Prepare a shape model for matching. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + Handle of the model. + + + Create the representation of a shape model. + Input image. + Image pyramid of the input image + Model region pyramid + Number of pyramid levels. Default: 4 + Threshold or hysteresis thresholds for the contrast of the object in the image and optionally minimum size of the object parts. Default: 30 + + + This operator is inoperable. It had the following function: Free the memory of all descriptor models in RAM. + + + Free the memory of a descriptor model. + Handle of the descriptor model. + + + Deserialize a descriptor model. + Handle of the serialized item. + Handle of the model. + + + Serialize a descriptor model. + Handle of a model to be saved. + Handle of the serialized item. + + + Read a descriptor model from a file. + File name. + Handle of the model. + + + Write a descriptor model to a file. + Handle of a model to be saved. + The path and filename of the model to be saved. + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Input image where the model should be found. + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Camera parameter (inner orientation) obtained from camera calibration. + Score type to be evaluated in Score. Default: "num_points" + 3D pose of the object. + Score of the found instances according to the ScoreType input. + + + Find the best matches of a descriptor model in an image. + Input image where the model should be found. + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Score type to be evaluated in Score. Default: "num_points" + Homography between model and found instance. + Score of the found instances according to the ScoreType input. + + + Query the interest points of the descriptor model or the last processed search image. + The handle to the descriptor model. + Set of interest points. Default: "model" + Subset of interest points. Default: "all" + Row coordinates of interest points. + Column coordinates of interest points. + + + Return the parameters of a descriptor model. + The object handle to the descriptor model. + The type of the detector. + The detectors parameter names. + Values of the detectors parameters. + The descriptors parameter names. + Values of the descriptors parameters. + + + Create a descriptor model for calibrated perspective matching. + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + The handle to the descriptor model. + + + Prepare a descriptor model for interest point matching. + Input image whose domain will be used to create the model. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + The handle to the descriptor model. + + + Query alphanumerical results that were accumulated during descriptor-based matching. + Handle of a descriptor model. + Handle of the object for which the results are queried. Default: "all" + Name of the results to be queried. Default: "num_points" + Returned results. + + + Return the origin of a descriptor model. + Handle of a descriptor model. + Position of origin in row direction. + Position of origin in column direction. + + + Sets the origin of a descriptor model. + Handle of a descriptor model. + Translation of origin in row direction. Default: 0 + Translation of origin in column direction. Default: 0 + + + Return the origin (reference point) of a deformable model. + Handle of the model. + Row coordinate of the origin of the deformable model. + Column coordinate of the origin of the deformable model. + + + Set the origin (reference point) of a deformable model. + Handle of the model. + Row coordinate of the origin of the deformable model. + Column coordinate of the origin of the deformable model. + + + Set selected parameters of the deformable model. + Handle of the model. + Parameter names. + Parameter values. + + + Return the parameters of a deformable model. + Handle of the model. + Names of the generic parameters that are to be queried for the deformable model. Default: "angle_start" + Values of the generic parameters. + + + Return the contour representation of a deformable model. + Contour representation of the deformable model. + Handle of the model. + Pyramid level for which the contour representation should be returned. Default: 1 + + + Determine the parameters of a deformable model. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Kind of optimization. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The general parameter names. Default: [] + Values of the general parameter. Default: [] + Parameters to be determined automatically. Default: "all" + Name of the automatically determined parameter. + Value of the automatically determined parameter. + + + Deserialize a deformable model. + Handle of the serialized item. + Handle of the model. + + + Serialize a deformable model. + Handle of a model to be saved. + Handle of the serialized item. + + + Read a deformable model from a file. + File name. + Handle of the model. + + + Write a deformable model to a file. + Handle of a model to be saved. + The path and filename of the model to be saved. + + + This operator is inoperable. It had the following function: Free the memory of all deformable models. + + + Free the memory of a deformable model. + Handle of the model. + + + Find the best matches of a local deformable model in an image. + Input image in which the model should be found. + Rectified image of the found model. + Vector field of the rectification transformation. + Contours of the found instances of the model. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minumum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching. Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Switch for requested iconic result. Default: [] + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Scores of the found instances of the model. + Row coordinates of the found instances of the model. + Column coordinates of the found instances of the model. + + + Find the best matches of a calibrated deformable model in an image and return their 3D pose. + Input image in which the model should be found. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Pose of the object. + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the model. + + + Find the best matches of a planar projective invariant deformable model in an image. + Input image in which the model should be found. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model in row direction. Default: 1.0 + Maximum scale of the model in row direction. Default: 1.0 + Minimum scale of the model in column direction. Default: 1.0 + Maximum scale of the model in column direction. Default: 1.0 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 1.0 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + The general parameter names. Default: [] + Values of the general parameters. Default: [] + Homographies between model and found instances. + Score of the found instances of the model. + + + Set the metric of a local deformable model that was created from XLD contours. + Input image used for the determination of the polarity. + Vector field of the local deformation. + Handle of the model. + Match metric. Default: "use_polarity" + + + Set the metric of a planar calibrated deformable model that was created from XLD contours. + Input image used for the determination of the polarity. + Handle of the model. + Pose of the model in the image. + Match metric. Default: "use_polarity" + + + Set the metric of a planar uncalibrated deformable model that was created from XLD contours. + Input image used for the determination of the polarity. + Handle of the model. + Transformation matrix. + Match metric. Default: "use_polarity" + + + Prepare a deformable model for local deformable matching from XLD contours. + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Input contours that will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + Prepare a deformable model for planar uncalibrated matching from XLD contours. + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + Creates a deformable model for local, deformable matching. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + Create a deformable model for calibrated perspective matching. + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The reference pose of the object in the reference image. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + Handle of the model. + + + Creates a deformable model for uncalibrated, perspective matching. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + This operator is inoperable. It had the following function: Free the memory of all NCC models. + + + Free the memory of an NCC model. + Handle of the model. + + + Deserialize an NCC model. + Handle of the serialized item. + Handle of the model. + + + Serialize an NCC model. + Handle of the model. + Handle of the serialized item. + + + Read an NCC model from a file. + File name. + Handle of the model. + + + Write an NCC model to a file. + Handle of the model. + File name. + + + Determine the parameters of an NCC model. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Match metric. Default: "use_polarity" + Parameters to be determined automatically. Default: "all" + Name of the automatically determined parameter. + Value of the automatically determined parameter. + + + Return the parameters of an NCC model. + Handle of the model. + Number of pyramid levels. + Smallest rotation of the pattern. + Extent of the rotation angles. + Step length of the angles (resolution). + Match metric. + + + Return the origin (reference point) of an NCC model. + Handle of the model. + Row coordinate of the origin of the NCC model. + Column coordinate of the origin of the NCC model. + + + Set the origin (reference point) of an NCC model. + Handle of the model. + Row coordinate of the origin of the NCC model. + Column coordinate of the origin of the NCC model. + + + Find the best matches of an NCC model in an image. + Input image in which the model should be found. + Handle of the model. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.8 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + Set selected parameters of the NCC model. + Handle of the model. + Parameter names. + Parameter values. + + + Prepare an NCC model for matching. + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Match metric. Default: "use_polarity" + Handle of the model. + + + Return the components of a found instance of a component model. + Found components of the selected component model instance. + Handle of the component model. + Start index of each found instance of the component model in the tuples describing the component matches. + End index of each found instance of the component model to the tuples describing the component matches. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + Index of the found instance of the component model to be returned. + Mark the orientation of the components. Default: "false" + Row coordinate of all components of the selected model instance. + Column coordinate of all components of the selected model instance. + Rotation angle of all components of the selected model instance. + Score of all components of the selected model instance. + + + Find the best matches of a component model in an image. + Input image in which the component model should be found. + Handle of the component model. + Index of the root component. + Smallest rotation of the root component Default: -0.39 + Extent of the rotation of the root component. Default: 0.79 + Minimum score of the instances of the component model to be found. Default: 0.5 + Number of instances of the component model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the component models to be found. Default: 0.5 + Behavior if the root component is missing. Default: "stop_search" + Behavior if a component is missing. Default: "prune_branch" + Pose prediction of components that are not found. Default: "none" + Minimum score of the instances of the components to be found. Default: 0.5 + Subpixel accuracy of the component poses if not equal to 'none'. Default: "least_squares" + Number of pyramid levels for the components used in the matching (and lowest pyramid level to use if $|NumLevelsComp| = 2n$). Default: 0 + "Greediness" of the search heuristic for the components (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Start index of each found instance of the component model in the tuples describing the component matches. + End index of each found instance of the component model in the tuples describing the component matches. + Score of the found instances of the component model. + Row coordinate of the found component matches. + Column coordinate of the found component matches. + Rotation angle of the found component matches. + Score of the found component matches. + Index of the found components. + + + This operator is inoperable. It had the following function: Free the memory of all component models. + + + Free the memory of a component model. + Handle of the component model. + + + Return the search tree of a component model. + Search tree. + Relations of components that are connected in the search tree. + Handle of the component model. + Index of the root component. + Image for which the tree is to be returned. Default: "model_image" + Component index of the start node of an arc in the search tree. + Component index of the end node of an arc in the search tree. + Row coordinate of the center of the rectangle representing the relation. + Column index of the center of the rectangle representing the relation. + Orientation of the rectangle representing the relation (radians). + First radius (half length) of the rectangle representing the relation. + Second radius (half width) of the rectangle representing the relation. + Smallest relative orientation angle. + Extent of the relative orientation angle. + + + Return the parameters of a component model. + Handle of the component model. + Minimum score of the instances of the components to be found. + Ranking of the model components expressing their suitability to act as root component. + Handles of the shape models of the individual model components. + + + Deserialize a serialized component model. + Handle of the serialized item. + Handle of the component model. + + + Serialize a component model. + Handle of the component model. + Handle of the serialized item. + + + Read a component model from a file. + File name. + Handle of the component model. + + + Write a component model to a file. + Handle of the component model. + File name. + + + Prepare a component model for matching based on explicitly specified components and relations. + Input image from which the shape models of the model components should be created. + Input regions from which the shape models of the model components should be created. + Variation of the model components in row direction. + Variation of the model components in column direction. + Angle variation of the model components. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Lower hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Upper hysteresis threshold for the contrast of the components in the model image. Default: "auto" + Minimum size of the contour regions in the model. Default: "auto" + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Handle of the component model. + Ranking of the model components expressing the suitability to act as the root component. + + + Prepare a component model for matching based on trained components. + Handle of the training result. + Smallest rotation of the component model. Default: -0.39 + Extent of the rotation of the component model. Default: 0.79 + Minimum contrast of the components in the search images. Default: "auto" + Minimum score of the instances of the components to be found. Default: 0.5 + Maximum number of pyramid levels for the components. Default: "auto" + Step length of the angles (resolution) for the components. Default: "auto" + Kind of optimization for the components. Default: "auto" + Match metric used for the components. Default: "use_polarity" + Complete pregeneration of the shape models for the components if equal to 'true'. Default: "false" + Handle of the component model. + Ranking of the model components expressing the suitability to act as the root component. + + + This operator is inoperable. It had the following function: Free the memory of all component training results. + + + Free the memory of a component training result. + Handle of the training result. + + + Return the relations between the model components that are contained in a training result. + Region representation of the relations. + Handle of the training result. + Index of reference component. + Image for which the component relations are to be returned. Default: "model_image" + Row coordinate of the center of the rectangle representing the relation. + Column index of the center of the rectangle representing the relation. + Orientation of the rectangle representing the relation (radians). + First radius (half length) of the rectangle representing the relation. + Second radius (half width) of the rectangle representing the relation. + Smallest relative orientation angle. + Extent of the relative orientation angles. + + + Return the initial or model components in a certain image. + Contour regions of the initial components or of the model components. + Handle of the training result. + Type of returned components or index of an initial component. Default: "model_components" + Image for which the components are to be returned. Default: "model_image" + Mark the orientation of the components. Default: "false" + Row coordinate of the found instances of all initial components or model components. + Column coordinate of the found instances of all initial components or model components. + Rotation angle of the found instances of all components. + Score of the found instances of all components. + + + Modify the relations within a training result. + Handle of the training result. + Model component(s) relative to which the movement(s) should be modified. Default: "all" + Model component(s) of which the relative movement(s) should be modified. Default: "all" + Change of the position relation in pixels. + Change of the orientation relation in radians. + + + Deserialize a component training result. + Handle of the serialized item. + Handle of the training result. + + + Serialize a component training result. + Handle of the training result. + Handle of the serialized item. + + + Read a component training result from a file. + File name. + Handle of the training result. + + + Write a component training result to a file. + Handle of the training result. + File name. + + + Adopt new parameters that are used to create the model components into the training result. + Training images that were used for training the model components. + Contour regions of rigid model components. + Handle of the training result. + Criterion for solving the ambiguities. Default: "rigidity" + Maximum contour overlap of the found initial components. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + + + Inspect the rigid model components obtained from the training. + Contour regions of rigid model components. + Handle of the training result. + Criterion for solving the ambiguities. Default: "rigidity" + Maximum contour overlap of the found initial components. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + + + Train components and relations for the component-based matching. + Input image from which the shape models of the initial components should be created. + Contour regions or enclosing regions of the initial components. + Training images that are used for training the model components. + Contour regions of rigid model components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of connected contour regions. Default: "auto" + Minimum score of the instances of the initial components to be found. Default: 0.5 + Search tolerance in row direction. Default: -1 + Search tolerance in column direction. Default: -1 + Angle search tolerance. Default: -1 + Decision whether the training emphasis should lie on a fast computation or on a high robustness. Default: "speed" + Criterion for solving ambiguous matches of the initial components in the training images. Default: "rigidity" + Maximum contour overlap of the found initial components in a training image. Default: 0.2 + Threshold for clustering the initial components. Default: 0.5 + Handle of the training result. + + + Extract the initial components of a component model. + Input image from which the initial components should be extracted. + Contour regions of initial components. + Lower hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Upper hysteresis threshold for the contrast of the initial components in the image. Default: "auto" + Minimum size of the initial components. Default: "auto" + Type of automatic segmentation. Default: "connection" + Names of optional control parameters. Default: [] + Values of optional control parameters. Default: [] + + + Get details of a result from deformable surface based matching. + Handle of the deformable surface matching result. + Name of the result property. Default: "sampled_scene" + Index of the result property. Default: 0 + Value of the result property. + + + Free the memory of a deformable surface matching result. + Handle of the deformable surface matching result. + + + Free the memory of a deformable surface model. + Handle of the deformable surface model. + + + Deserialize a deformable surface model. + Handle of the serialized item. + Handle of the deformable surface model. + + + Serialize a deformable surface_model. + Handle of the deformable surface model. + Handle of the serialized item. + + + Read a deformable surface model from a file. + Name of the file to read. + Handle of the read deformable surface model. + + + Write a deformable surface model to a file. + Handle of the deformable surface model to write. + File name to write to. + + + Refine the position and deformation of a deformable surface model in a 3D scene. + Handle of the deformable surface model. + Handle of the 3D object model containing the scene. + Relative sampling distance of the scene. Default: 0.05 + Initial deformation of the 3D object model + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the refined model. + Handle of the matching result. + + + Find the best match of a deformable surface model in a 3D scene. + Handle of the deformable surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Minimum score of the returned match. Default: 0 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result. + + + Return the parameters and properties of a deformable surface model. + Handle of the deformable surface model. + Name of the parameter. Default: "sampled_model" + Value of the parameter. + + + Add a reference point to a deformable surface model. + Handle of the deformable surface model. + x-coordinates of a reference point. + x-coordinates of a reference point. + x-coordinates of a reference point. + Index of the new reference point. + + + Add a sample deformation to a deformable surface model + Handle of the deformable surface model. + Handle of the deformed 3D object model. + + + Create the data structure needed to perform deformable surface-based matching. + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.05 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the deformable surface model. + + + Get details of a result from surface based matching. + Handle of the surface matching result. + Name of the result property. Default: "pose" + Index of the matching result, starting with 0. Default: 0 + Value of the result property. + + + This operator is inoperable. It had the following function: Free the memory of all surface matching results. + + + Free the memory of a surface matching result. + Handle of the surface matching result. + + + This operator is inoperable. It had the following function: Free the memory of all surface models. + + + Free the memory of a surface model. + Handle of the surface model. + + + Deserialize a surface model. + Handle of the serialized item. + Handle of the surface model. + + + Serialize a surface_model. + Handle of the surface model. + Handle of the serialized item. + + + Read a surface model from a file. + Name of the SFM file. + Handle of the read surface model. + + + Write a surface model to a file. + Handle of the surface model. + File name. + + + Refine the pose of a surface model in a 3D scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + 3D pose of the surface model in the scene. + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + + + Find the best matches of a surface model in a 3D scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + 3D pose of the surface model in the scene. + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + + + Return the parameters and properties of a surface model. + Handle of the surface model. + Name of the parameter. Default: "diameter" + Value of the parameter. + + + Create the data structure needed to perform surface-based matching. + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.03 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the surface model. + + + Create a 3D camera pose from camera center and viewing direction. + X coordinate of the optical center of the camera. + Y coordinate of the optical center of the camera. + Z coordinate of the optical center of the camera. + X coordinate of the 3D point to which the camera is directed. + Y coordinate of the 3D point to which the camera is directed. + Z coordinate of the 3D point to which the camera is directed. + Normal vector of the reference plane (points up). Default: "-y" + Camera roll angle. Default: 0 + 3D camera pose. + + + Convert spherical coordinates of a 3D point to Cartesian coordinates. + Longitude of the 3D point. + Latitude of the 3D point. + Radius of the 3D point. + Normal vector of the equatorial plane (points to the north pole). Default: "-y" + Coordinate axis in the equatorial plane that points to the zero meridian. Default: "-z" + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + Convert Cartesian coordinates of a 3D point to spherical coordinates. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Normal vector of the equatorial plane (points to the north pole). Default: "-y" + Coordinate axis in the equatorial plane that points to the zero meridian. Default: "-z" + Longitude of the 3D point. + Latitude of the 3D point. + Radius of the 3D point. + + + This operator is inoperable. It had the following function: Free the memory of all 3D shape models. + + + Free the memory of a 3D shape model. + Handle of the 3D shape model. + + + Deserialize a serialized 3D shape model. + Handle of the serialized item. + Handle of the 3D shape model. + + + Serialize a 3D shape model. + Handle of the 3D shape model. + Handle of the serialized item. + + + Read a 3D shape model from a file. + File name. + Handle of the 3D shape model. + + + Write a 3D shape model to a file. + Handle of the 3D shape model. + File name. + + + Transform a pose that refers to the coordinate system of a 3D object model to a pose that refers to the reference coordinate system of a 3D shape model and vice versa. + Handle of the 3D shape model. + Pose to be transformed in the source system. + Direction of the transformation. Default: "ref_to_model" + Transformed 3D pose in the target system. + + + Project the edges of a 3D shape model into image coordinates. + Contour representation of the model view. + Handle of the 3D shape model. + Internal camera parameters. + 3D pose of the 3D shape model in the world coordinate system. + Remove hidden surfaces? Default: "true" + Smallest face angle for which the edge is displayed Default: 0.523599 + + + Return the contour representation of a 3D shape model view. + Contour representation of the model view. + Handle of the 3D shape model. + Pyramid level for which the contour representation should be returned. Default: 1 + View for which the contour representation should be returned. Default: 1 + 3D pose of the 3D shape model at the current view. + + + Return the parameters of a 3D shape model. + Handle of the 3D shape model. + Names of the generic parameters that are to be queried for the 3D shape model. Default: "num_levels_max" + Values of the generic parameters. + + + Find the best matches of a 3D shape model in an image. + Input image in which the model should be found. + Handle of the 3D shape model. + Minimum score of the instances of the model to be found. Default: 0.7 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + 3D pose of the 3D shape model. + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the 3D shape model. + + + Prepare a 3D object model for matching. + Handle of the 3D object model. + Internal camera parameters. + Reference orientation: Rotation around x-axis or x component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around y-axis or y component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around z-axis or z component of the Rodriguez vector (in radians or without unit). Default: 0 + Meaning of the rotation values of the reference orientation. Default: "gba" + Minimum longitude of the model views. Default: -0.35 + Maximum longitude of the model views. Default: 0.35 + Minimum latitude of the model views. Default: -0.35 + Maximum latitude of the model views. Default: 0.35 + Minimum camera roll angle of the model views. Default: -3.1416 + Maximum camera roll angle of the model views. Default: 3.1416 + Minimum camera-object-distance of the model views. Default: 0.3 + Maximum camera-object-distance of the model views. Default: 0.4 + Minimum contrast of the objects in the search images. Default: 10 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handle of the 3D shape model. + + + Simplify a triangulated 3D object model. + Handle of the 3D object model that should be simplified. + Method that should be used for simplification. Default: "preserve_point_coordinates" + Degree of simplification (default: percentage of remaining model points). + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the simplified 3D object model. + + + Compute the distances of the points of one 3D object model to another 3D object model. + Handle of the source 3D object model. + Handle of the target 3D object model. + Pose of the source 3D object model in the target 3D object model. Default: [] + Maximum distance of interest. Default: 0 + Names of the generic input parameters. Default: [] + Values of the generic input parameters. Default: [] + + + Combine several 3D object models to a new 3D object model. + Handle of input 3D object models. + Method used for the union. Default: "points_surface" + Handle of the resulting 3D object model. + + + Set attributes of a 3D object model. + Handle of the 3D object model. + Name of the attributes. + Defines where extended attributes are attached to. Default: [] + Attribute values. + + + Set attributes of a 3D object model. + Handle of the input 3D object model. + Name of the attributes. + Defines where extended attributes are attached to. Default: [] + Attribute values. + Handle of the resulting 3D object model. + + + Create an empty 3D object model. + Handle of the new 3D object model. + + + Sample a 3D object model. + Handle of the 3D object model to be sampled. + Selects between the different subsampling methods. Default: "fast" + Sampling distance. Default: 0.05 + Names of the generic parameters that can be adjusted. Default: [] + Values of the generic parameters that can be adjusted. Default: [] + Handle of the 3D object model that contains the sampled points. + + + Improve the relative transformations between 3D object models based on their overlaps. + Handles of several 3D object models. + Approximate relative transformations between the 3D object models. + Type of interpretation for the transformations. Default: "global" + Target indices of the transformations if From specifies the source indices, otherwise the parameter must be empty. Default: [] + Names of the generic parameters that can be adjusted for the global 3D object model registration. Default: [] + Values of the generic parameters that can be adjusted for the global 3D object model registration. Default: [] + Resulting Transformations. + Number of overlapping neighbors for each 3D object model. + + + Search for a transformation between two 3D object models. + Handle of the first 3D object model. + Handle of the second 3D object model. + Method for the registration. Default: "matching" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Pose to transform ObjectModel3D1 in the reference frame of ObjectModel3D2. + Overlapping of the two 3D object models. + + + Create a 3D object model that represents a point cloud from a set of 3D points. + The x-coordinates of the points in the 3D point cloud. + The y-coordinates of the points in the 3D point cloud. + The z-coordinates of the points in the 3D point cloud. + Handle of the resulting 3D object model. + + + Create a 3D object model that represents a box. + The pose that describes the position and orientation of the box. The pose has its origin in the center of the box. + The length of the box along the x-axis. + The length of the box along the y-axis. + The length of the box along the z-axis. + Handle of the resulting 3D object model. + + + Create a 3D object model that represents a plane. + The center and the rotation of the plane. + x coordinates specifying the extent of the plane. + y coordinates specifying the extent of the plane. + Handle of the resulting 3D object model. + + + Create a 3D object model that represents a sphere from x,y,z coordinates. + The x-coordinate of the center point of the sphere. + The y-coordinate of the center point of the sphere. + The z-coordinate of the center point of the sphere. + The radius of the sphere. + Handle of the resulting 3D object model. + + + Create a 3D object model that represents a sphere. + The pose that describes the position of the sphere. + The radius of the sphere. + Handle of the resulting 3D object model. + + + Create a 3D object model that represents a cylinder. + The pose that describes the position and orientation of the cylinder. + The radius of the cylinder. + Lowest z-coordinate of the cylinder in the direction of the rotation axis. + Highest z-coordinate of the cylinder in the direction of the rotation axis. + Handle of the resulting 3D object model. + + + Calculate the smallest bounding box around the points of a 3D object model. + Handle of the 3D object model. + The method that is used to estimate the smallest box. Default: "oriented" + The pose that describes the position and orientation of the box that is generated. The pose has its origin in the center of the box and is oriented such that the x-axis is aligned with the longest side of the box. + The length of the longest side of the box. + The length of the second longest side of the box. + The length of the third longest side of the box. + + + Calculate the smallest sphere around the points of a 3D object model. + Handle of the 3D object model. + x-, y-, and z-coordinates describing the center point of the sphere. + The estimated radius of the sphere. + + + Intersect a 3D object model with a plane. + Handle of the 3D object model. + Pose of the plane. Default: [0,0,0,0,0,0,0] + Handle of the 3D object model that describes the intersection as a set of lines. + + + Calculate the convex hull of a 3D object model. + Handle of the 3D object model. + Handle of the 3D object model that describes the convex hull. + + + Select 3D object models from an array of 3D object models according to global features. + Handles of the available 3D object models to select. + List of features a test is performed on. Default: "has_triangles" + Logical operation to combine the features given in Feature. Default: "and" + Minimum value for the given feature. Default: 1 + Maximum value for the given feature. Default: 1 + A subset of ObjectModel3D fulfilling the given conditions. + + + Calculate the area of all faces of a 3D object model. + Handle of the 3D object model. + Calculated area. + + + Calculate the maximal diameter of a 3D object model. + Handle of the 3D object model. + Calculated diameter. + + + Calculates the mean or the central moment of second order for a 3D object model. + Handle of the 3D object model. + Moment to calculate. Default: "mean_points" + Calculated moment. + + + Calculate the volume of a 3D object model. + Handle of the 3D object model. + Pose of the plane. Default: [0,0,0,0,0,0,0] + Method to combine volumes laying above and below the reference plane. Default: "signed" + Decides whether the orientation of a face should affect the resulting sign of the underlying volume. Default: "true" + Absolute value of the calculated volume. + + + Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region. + Region in the image plane. + Handle of the 3D object model. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Handle of the reduced 3D object model. + + + Determine the connected components of the 3D object model. + Handle of the 3D object model. + Attribute used to calculate the connected components. Default: "distance_3d" + Maximum value for the distance between two connected components. Default: 1.0 + Handle of the 3D object models that represent the connected components. + + + Apply a threshold to an attribute of 3D object models. + Handle of the 3D object models. + Attributes the threshold is applied to. Default: "point_coord_z" + Minimum value for the attributes specified by Attrib. Default: 0.5 + Maximum value for the attributes specified by Attrib. Default: 1.0 + Handle of the reduced 3D object models. + + + Get the depth or the index of a displayed 3D object model. + Window handle. + Row coordinates. + Column coordinates. + Information. Default: "depth" + Indices or the depth of the objects at (Row,Column). + + + Render 3D object models to get an image. + Rendered scene. + Handles of the 3D object models. + Camera parameters of the scene. + 3D poses of the objects. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Display 3D object models. + Window handle. + Handles of the 3D object models. + Camera parameters of the scene. Default: [] + 3D poses of the objects. Default: [] + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Copy a 3D object model. + Handle of the input 3D object model. + Attributes to be copied. Default: "all" + Handle of the copied 3D object model. + + + Prepare a 3D object model for a certain operation. + Handle of the 3D object model. + Purpose of the 3D object model. Default: "shape_based_matching_3d" + Specify if already existing data should be overwritten. Default: "true" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Transform 3D points from a 3D object model to images. + Image with the X-Coordinates of the 3D points. + Image with the Y-Coordinates of the 3D points. + Image with the Z-Coordinates of the 3D points. + Handle of the 3D object model. + Type of the conversion. Default: "cartesian" + Camera parameters. + Pose of the 3D object model. + + + Transform 3D points from images to a 3D object model. + Image with the X-Coordinates and the ROI of the 3D points. + Image with the Y-Coordinates of the 3D points. + Image with the Z-Coordinates of the 3D points. + Handle of the 3D object model. + + + Return attributes of 3D object models. + Handle of the 3D object model. + Names of the generic attributes that are queried for the 3D object model. Default: "num_points" + Values of the generic parameters. + + + Project a 3D object model into image coordinates. + Projected model contours. + Handle of the 3D object model. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + Apply a rigid 3D transformation to 3D object models. + Handles of the 3D object models. + Poses. + Handles of the transformed 3D object models. + + + Apply an arbitrary projective 3D transformation to 3D object models. + Handles of the 3D object models. + Homogeneous projective transformation matrix. + Handles of the transformed 3D object models. + + + Apply an arbitrary affine 3D transformation to 3D object models. + Handles of the 3D object models. + Transformation matrices. + Handles of the transformed 3D object models. + + + This operator is inoperable. It had the following function: Free the memory of all 3D object models. + + + Free the memory of a 3D object model. + Handle of the 3D object model. + + + Serialize a 3D object model. + Handle of the 3D object model. + Handle of the serialized item. + + + Deserialize a serialized 3D object model. + Handle of the serialized item. + Handle of the 3D object model. + + + Writes a 3D object model to a file. + Handle of the 3D object model. + Type of the file that is written. Default: "om3" + Name of the file that is written. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Read a 3D object model from a file. + Filename of the file to be read. Default: "mvtec_bunny_normals" + Scale of the data in the file. Default: "m" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Handle of the 3D object model. + Status information. + + + Read the description file of a Kalman filter. + Description file for a Kalman filter. Default: "kalman.init" + The dimensions of the state vector, the measurement vector and the controller vector. + The lined up matrices A, C, Q, possibly G and u, and if necessary L stored in row-major order. + The matrix R stored in row-major order. + The matrix P0@f$P_{0}$ (error covariance matrix of the initial state estimate) stored in row-major order and the initial state estimate x0@f$x_{0}$ lined up. + + + Read an update file of a Kalman filter. + Update file for a Kalman filter. Default: "kalman.updt" + The dimensions of the state vector, measurement vector and controller vector. Default: [3,1,0] + The lined up matrices A,C,Q, possibly G and u, and if necessary L which all have been stored in row-major order. Default: [1.0,1.0,0.5,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,54.3,37.9,48.0,37.9,34.3,42.5,48.0,42.5,43.7] + The matrix R stored in row-major order. Default: [1,2] + The dimensions of the state vector, measurement vector and controller vector. + The lined up matrices A,C,Q, possibly G and u, and if necessary L which all have been stored in row-major order. + The matrix R stored in row-major order. + + + Estimate the current state of a system with the help of the Kalman filtering. + The dimensions of the state vector, the measurement and the controller vector. Default: [3,1,0] + The lined up matrices A,C,Q, possibly G and u, and if necessary L which have been stored in row-major order. Default: [1.0,1.0,0.5,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,54.3,37.9,48.0,37.9,34.3,42.5,48.0,42.5,43.7] + The matrix R stored in row-major order and the measurement vector y lined up. Default: [1.2,1.0] + The matrix P*@f$P$ (the extrapolation-error covariances) stored in row-major order and the extrapolation vector x*@f$x$ lined up. Default: [0.0,0.0,0.0,0.0,180.5,0.0,0.0,0.0,100.0,0.0,100.0,0.0] + The matrix P* (the extrapolation-error covariances)stored in row-major order and the extrapolation vector x*@f$x$ lined up. + The matrix P~@f$P$ (the estimation-error covariances) stored in row-major order and the estimated state x~@f$x$ lined up. + + + Query slots concerning information with relation to the operator get_operator_info. + Slotnames of the operator get_operator_info. + + + Query slots of the online-information concerning the operator get_param_info. + Slotnames for the operator get_param_info. + + + Get operators with the given string as a substring of their name. + Substring of the seeked names (empty $ less than = greater than $ all names). Default: "info" + Detected operator names. + + + Get default data type for the control parameters of a HALCON-operator. + Name of the operator. Default: "get_param_types" + Default type of the input control parameters. + Default type of the output control parameters. + + + Get number of the different parameter classes of a HALCON-operator. + Name of the operator. Default: "get_param_num" + Name of the called C-function. + Number of the input object parameters. + Number of the output object parameters. + Number of the input control parameters. + Number of the output control parameters. + System operator or user procedure. + + + Get the names of the parameters of a HALCON-operator. + Name of the operator. Default: "get_param_names" + Names of the input objects. + Names of the output objects. + Names of the input control parameters. + Names of the output control parameters. + + + Get information concerning a HALCON-operator. + Name of the operator on which more information is needed. Default: "get_operator_info" + Desired information. Default: "abstract" + Information (empty if no information is available) + + + Get information concerning the operator parameters. + Name of the operator on whose parameter more information is needed. Default: "get_param_info" + Name of the parameter on which more information is needed. Default: "Slot" + Desired information. Default: "description" + Information (empty in case there is no information available). + + + Search names of all operators assigned to one keyword. + Keyword for which corresponding operators are searched. Default: "Information" + Operators whose slot 'keyword' contains the keyword. + + + Get keywords which are assigned to operators. + Substring in the names of those operators for which keywords are needed. Default: "get_keywords" + Keywords for the operators. + + + Get information concerning the chapters on operators. + Operator class or subclass of interest. Default: "" + Operator classes (Chapter = ") or operator subclasses respectively operators. + + + Convert one-channel images into a multi-channel image + One-channel images to be combined into a one-channel image. + Multi-channel image. + + + Convert a multi-channel image into One-channel images + Multi-channel image to be decomposed. + Generated one-channel images. + + + Convert 7 images into a seven-channel image. + Input image 1. + Input image 2. + Input image 3. + Input image 4. + Input image 5. + Input image 6. + Input image 7. + Multi-channel image. + + + Convert 6 images into a six-channel image. + Input image 1. + Input image 2. + Input image 3. + Input image 4. + Input image 5. + Input image 6. + Multi-channel image. + + + Convert 5 images into a five-channel image. + Input image 1. + Input image 2. + Input image 3. + Input image 4. + Input image 5. + Multi-channel image. + + + Convert 4 images into a four-channel image. + Input image 1. + Input image 2. + Input image 3. + Input image 4. + Multi-channel image. + + + Convert 3 images into a three-channel image. + Input image 1. + Input image 2. + Input image 3. + Multi-channel image. + + + Convert two images into a two-channel image. + Input image 1. + Input image 2. + Multi-channel image. + + + Convert a seven-channel image into seven images. + Multi-channel image. + Output image 1. + Output image 2. + Output image 3. + Output image 4. + Output image 5. + Output image 6. + Output image 7. + + + Convert a six-channel image into six images. + Multi-channel image. + Output image 1. + Output image 2. + Output image 3. + Output image 4. + Output image 5. + Output image 6. + + + Convert a five-channel image into five images. + Multi-channel image. + Output image 1. + Output image 2. + Output image 3. + Output image 4. + Output image 5. + + + Convert a four-channel image into four images. + Multi-channel image. + Output image 1. + Output image 2. + Output image 3. + Output image 4. + + + Convert a three-channel image into three images. + Multi-channel image. + Output image 1. + Output image 2. + Output image 3. + + + Convert a two-channel image into two images. + Multi-channel image. + Output image 1. + Output image 2. + + + Count channels of image. + One- or multi-channel image. + Number of channels. + + + Append additional matrices (channels) to the image. + Multi-channel image. + Image to be appended. + Image appended by Image. + + + Access a channel of a multi-channel image. + Multi-channel image. + One channel of MultiChannelImage. + Index of channel to be accessed. Default: 1 + + + Tile multiple image objects into a large image with explicit positioning information. + Input images. + Tiled output image. + Row coordinate of the upper left corner of the input images in the output image. Default: 0 + Column coordinate of the upper left corner of the input images in the output image. Default: 0 + Row coordinate of the upper left corner of the copied part of the respective input image. Default: -1 + Column coordinate of the upper left corner of the copied part of the respective input image. Default: -1 + Row coordinate of the lower right corner of the copied part of the respective input image. Default: -1 + Column coordinate of the lower right corner of the copied part of the respective input image. Default: -1 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + + + Tile multiple image objects into a large image. + Input images. + Tiled output image. + Number of columns to use for the output image. Default: 1 + Order of the input images in the output image. Default: "vertical" + + + Tile multiple images into a large image. + Input image. + Tiled output image. + Number of columns to use for the output image. Default: 1 + Order of the input images in the output image. Default: "vertical" + + + Cut out of defined gray values. + Input image. + Image area. + + + Cut out one or more rectangular image areas. + Input image. + Image area. + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Line index of lower right corner of image area. Default: 200 + Column index of lower right corner of image area. Default: 200 + + + Cut out one or more rectangular image areas. + Input image. + Image area. + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Width of new image. Default: 128 + Height of new image. Default: 128 + + + Change image size. + Input image. + Image with new format. + Width of new image. Default: 512 + Height of new image. Default: 512 + + + Change definition domain of an image. + Input image. + New definition domain. + Image with new definition domain. + + + Add gray values to regions. + Input regions (without pixel values). + Input image with pixel values for regions. + Output image(s) with regions and pixel values (one image per input region). + + + Reduce the domain of an image to a rectangle. + Input image. + Image with reduced definition domain. + Line index of upper left corner of image area. Default: 100 + Column index of upper left corner of image area. Default: 100 + Line index of lower right corner of image area. Default: 200 + Column index of lower right corner of image area. Default: 200 + + + Reduce the domain of an image. + Input image. + New definition domain. + Image with reduced definition domain. + + + Expand the domain of an image to maximum. + Input image. + Image with maximum definition domain. + + + Get the domain of an image. + Input images. + Definition domains of input images. + + + Centres of circles for a specific radius. + Binary edge image in which the circles are to be detected. + Centres of those circles which are included in the edge image by Percent percent. + Radius of the circle to be searched in the image. Default: 12 + Indicates the percentage (approximately) of the (ideal) circle which must be present in the edge image RegionIn. Default: 60 + The modus defines the position of the circle in question: 0 - the radius is equivalent to the outer border of the set pixels. 1 - the radius is equivalent to the centres of the circle lines' pixels. 2 - both 0 and 1 (a little more fuzzy, but more reliable in contrast to circles set slightly differently, necessitates 50 + + + Return the Hough-Transform for circles with a given radius. + Binary edge image in which the circles are to be detected. + Hough transform for circles with a given radius. + Radius of the circle to be searched in the image. Default: 12 + + + Detect lines in edge images with the help of the Hough transform using local gradient direction and return them in normal form. + Image containing the edge direction. The edges are described by the image domain. + Hough transform. + Regions of the input image that contributed to the local maxima. + Uncertainty of edge direction (in degrees). Default: 2 + Resolution in the angle area (in 1/degrees). Default: 4 + Smoothing filter for hough image. Default: "mean" + Required smoothing filter size. Default: 5 + Threshold value in the Hough image. Default: 100 + Minimum distance of two maxima in the Hough image (direction: angle). Default: 5 + Minimum distance of two maxima in the Hough image (direction: distance). Default: 5 + Create line regions if 'true'. Default: "true" + Angles (in radians) of the detected lines' normal vectors. + Distance of the detected lines from the origin. + + + Compute the Hough transform for lines using local gradient direction. + Image containing the edge direction. The edges must be described by the image domain. + Hough transform. + Uncertainty of the edge direction (in degrees). Default: 2 + Resolution in the angle area (in 1/degrees). Default: 4 + + + Detect lines in edge images with the help of the Hough transform and returns it in HNF. + Binary edge image in which the lines are to be detected. + Adjusting the resolution in the angle area. Default: 4 + Threshold value in the Hough image. Default: 100 + Minimal distance of two maxima in the Hough image (direction: angle). Default: 5 + Minimal distance of two maxima in the Hough image (direction: distance). Default: 5 + Angles (in radians) of the detected lines' normal vectors. + Distance of the detected lines from the origin. + + + Produce the Hough transform for lines within regions. + Binary edge image in which lines are to be detected. + Hough transform for lines. + Adjusting the resolution in the angle area. Default: 4 + + + Select those lines from a set of lines (in HNF) which fit best into a region. + Region in which the lines are to be matched. + Region array containing the matched lines. + Angles (in radians) of the normal vectors of the input lines. + Distances of the input lines form the origin. + Widths of the lines. Default: 7 + Threshold value for the number of line points in the region. Default: 100 + Angles (in radians) of the normal vectors of the selected lines. + Distances of the selected lines from the origin. + + + Segment the rectification grid region in the image. + Input image. + Output region containing the rectification grid. + Minimum contrast. Default: 8.0 + Radius of the circular structuring element. Default: 7.5 + + + Generate a PostScript file, which describes the rectification grid. + Width of the checkered pattern in meters (without the two frames). Default: 0.17 + Number of squares per row and column. Default: 17 + File name of the PostScript file. Default: "rectification_grid.ps" + + + Establish connections between the grid points of the rectification grid. + Input image. + Output contours. + Row coordinates of the grid points. + Column coordinates of the grid points. + Size of the applied Gaussians. Default: 0.9 + Maximum distance of the connecting lines from the grid points. Default: 5.5 + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Input image. + Input contours. + Image containing the mapping data. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + + + Generate a projection map that describes the mapping between an arbitrarily distorted image and the rectified image. + Image containing the mapping data. + Distance of the grid points in the rectified image. + Row coordinates of the grid points in the distorted image. + Column coordinates of the grid points in the distorted image. + Width of the point grid (number of grid points). + Width of the images to be rectified. + Height of the images to be rectified. + Type of mapping. Default: "bilinear" + + + Gets a copy of the background image of the HALCON window. + Copy of the background image. + Window handle. + + + Add a callback function to a drawing object. + Handle of the drawing object. + Events to be captured. + Callback functions. + + + Detach the background image from a HALCON window. + Window handle. + + + Attach a background image to a HALCON window. + Background image. + Window handle. + + + Detach an existing drawing object from a HALCON window. + Window Handle. + Handle of the drawing object. + + + Attach an existing drawing object to a HALCON window. + Window handle. + Handle of the drawing object. + + + Modify the pose of a 3D plot. + Window handle. + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the second point. + Column coordinate of the second point. + Navigation mode. Default: "rotate" + + + Calculates image coordinates for a point in a 3D plot window. + Displayed image. + Window handle. + Row coordinate in the window. + Column coordinate in the window. + Row coordinate in the image. + Column coordinate in the image. + Height value. + + + Get the operating system window handle. + Window handle. + Operating system window handle. + Operating system display handle (under Unix-like systems only). + + + Set the device context of a virtual graphics window (Windows NT). + Window handle. + device context of WINHWnd. + + + Create a virtual graphics window under Windows. + Windows window handle of a previously created window. + Row coordinate of upper left corner. Default: 0 + Column coordinate of upper left corner. Default: 0 + Width of the window. Default: 512 + Height of the window. Default: 512 + Window handle. + + + Interactive output from two window buffers. + Source window handle of the "`upper window"'. + Source window handle of the "`lower window"'. + Output window handle. + + + Specify a window type. + Name of the window type which has to be set. Default: "X-Window" + + + Modify position and size of a window. + Window handle. + Row index of upper left corner in target position. Default: 0 + Column index of upper left corner in target position. Default: 0 + Width of the window. Default: 512 + Height of the window. Default: 512 + + + Get window characteristics. + Name of the attribute that should be returned. + Attribute value. + + + Set window characteristics. + Name of the attribute that should be modified. + Value of the attribute that should be set. + + + Query all available window types. + Names of available window types. + + + Open a graphics window. + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Width of the window. Default: 256 + Height of the window. Default: 256 + Logical number of the father window. To specify the display as father you may enter 'root' or 0. Default: 0 + Window mode. Default: "visible" + Name of the computer on which you want to open the window. Otherwise the empty string. Default: "" + Window handle. + + + Open a textual window. + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Window's width. Default: 256 + Window's height. Default: 256 + Window border's width. Default: 2 + Window border's color. Default: "white" + Background color. Default: "black" + Logical number of the father window. For the display as father you may specify 'root' or 0. Default: 0 + Window mode. Default: "visible" + Computer name, where the window has to be opened or empty string. Default: "" + Window handle. + + + Copy inside an output window. + Window handle. + Row index of upper left corner of the source rectangle. Default: 0 + Column index of upper left corner of the source rectangle. Default: 0 + Row index of lower right corner of the source rectangle. Default: 64 + Column index of lower right corner of the source rectangle. Default: 64 + Row index of upper left corner of the target position. Default: 64 + Column index of upper left corner of the target position. Default: 64 + + + Get the window type. + Window handle. + Window type + + + Access to a window's pixel data. + Window handle. + Pointer on red channel of pixel data. + Pointer on green channel of pixel data. + Pointer on blue channel of pixel data. + Length of an image line. + Number of image lines. + + + Information about a window's size and position. + Window handle. + Row index of upper left corner of the window. + Column index of upper left corner of the window. + Window width. + Window height. + + + Write the window content in an image object. + Saved image. + Window handle. + + + Write the window content to a file. + Window handle. + Name of the target device or of the graphic format. Default: "postscript" + File name (without extension). Default: "halcon_dump" + + + Copy all pixels within rectangles between output windows. + Source window handle. + Destination window handle. + Row index of upper left corner in the source window. Default: 0 + Column index of upper left corner in the source window. Default: 0 + Row index of lower right corner in the source window. Default: 128 + Column index of lower right corner in the source window. Default: 128 + Row index of upper left corner in the target window. Default: 0 + Column index of upper left corner in the target window. Default: 0 + + + Close an output window. + Window handle. + + + Delete the contents of an output window. + Window handle. + + + Delete a rectangle on the output window. + Window handle. + Line index of upper left corner. Default: 10 + Column index of upper left corner. Default: 10 + Row index of lower right corner. Default: 118 + Column index of lower right corner. Default: 118 + + + Print text in a window. + Window handle. + Tuple of output values (all types). Default: "hello" + + + Set the shape of the text cursor. + Window handle. + Name of cursor shape. Default: "invisible" + + + Set the position of the text cursor. + Window handle. + Row index of text cursor position. Default: 24 + Column index of text cursor position. Default: 12 + + + Read a string in a text window. + Window handle. + Default string (visible before input). Default: "" + Maximum number of characters. Default: 32 + Read string. + + + Read a character from a text window. + Window handle. + Input character (if it is not a control character). + Code for input character. + + + Set the position of the text cursor to the beginning of the next line. + Window handle. + + + Get the shape of the text cursor. + Window handle. + Name of the current text cursor. + + + Get cursor position. + Window handle. + Row index of text cursor position. + Column index of text cursor position. + + + Get the maximum size of all characters of a font. + Window handle. + Maximum height above baseline. + Maximum extension below baseline. + Maximum character width. + Maximum character height. + + + Get the spatial size of a string. + Window handle. + Values to consider. Default: "test_string" + Maximum height above baseline. + Maximum extension below baseline. + Text width. + Text height. + + + Query the available fonts. + Window handle. + Tuple with available font names. + + + Query all shapes available for text cursors. + Window handle. + Names of the available text cursors. + + + Set the font used for text output. + Window handle. + Name of new font. + + + Get the current font. + Window handle. + Name of the current font. + + + Get the depth or the index of instances in a displayed 3D scene. + Window handle. + Handle of the 3D scene. + Row coordinates. + Column coordinates. + Information. Default: "depth" + Indices or the depth of the objects at (Row,Column). + + + Set the pose of a 3D scene. + Handle of the 3D scene. + New pose of the 3D scene. + + + Set parameters of a 3D scene. + Handle of the 3D scene. + Names of the generic parameters. Default: "quality" + Values of the generic parameters. Default: "high" + + + Set parameters of a light in a 3D scene. + Handle of the 3D scene. + Index of the light source. + Names of the generic parameters. Default: "ambient" + Values of the generic parameters. Default: [0.2,0.2,0.2] + + + Set the pose of an instance in a 3D scene. + Handle of the 3D scene. + Index of the instance. + New pose of the instance. + + + Set parameters of an instance in a 3D scene. + Handle of the 3D scene. + Index of the instance. + Names of the generic parameters. Default: "color" + Values of the generic parameters. Default: "green" + + + Set the pose of a camera in a 3D scene. + Handle of the 3D scene. + Index of the camera. + New pose of the camera. + + + Render an image of a 3D scene. + Rendered 3D scene. + Handle of the 3D scene. + Index of the camera used to display the scene. + + + Remove a light from a 3D scene. + Handle of the 3D scene. + Light to remove. + + + Remove an object instance from a 3D scene. + Handle of the 3D scene. + Index of the instance to remove. + + + Remove a camera from a 3D scene. + Handle of the 3D scene. + Index of the camera to remove. + + + Display a 3D scene. + Window handle. + Handle of the 3D scene. + Index of the camera used to display the scene. + + + Add a light source to a 3D scene. + Handle of the 3D scene. + Position of the new light source. Default: [-100.0,-100.0,0.0] + Type of the new light source. Default: "point_light" + Index of the new light source in the 3D scene. + + + Add an instance of a 3D object model to a 3D scene. + Handle of the 3D scene. + Handle of the 3D object model. + Pose of the 3D object model. + Index of the new instance in the 3D scene. + + + Add a camera to a 3D scene. + Handle of the 3D scene. + Parameters of the new camera. + Index of the new camera in the 3D scene. + + + Delete a 3D scene and free all allocated memory. + Handle of the 3D scene. + + + Create the data structure that is needed to visualize collections of 3D objects. + Handle of the 3D scene. + + + Get window parameters. + Window handle. + Name of the parameter. Default: "flush" + Value of the parameter. + + + Set window parameters. + Window handle. + Name of the parameter. Default: "flush" + Value to be set. Default: "false" + + + Define the region output shape. + Window handle. + Region output mode. Default: "original" + + + Set the color definition via RGB values. + Window handle. + Red component of the color. Default: 255 + Green component of the color. Default: 0 + Blue component of the color. Default: 0 + + + Define a color lookup table index. + Window handle. + Color lookup table index. Default: 128 + + + Define an interpolation method for gray value output. + Window handle. + Interpolation method for image output: 0 (fast, low quality) to 2 (slow, high quality). Default: 0 + + + Modify the displayed image part. + Window handle. + Row of the upper left corner of the chosen image part. Default: 0 + Column of the upper left corner of the chosen image part. Default: 0 + Row of the lower right corner of the chosen image part. Default: -1 + Column of the lower right corner of the chosen image part. Default: -1 + + + Define the gray value output mode. + Window handle. + Output mode. Additional parameters possible. Default: "default" + + + Define the line width for region contour output. + Window handle. + Line width for region output in contour mode. Default: 1.0 + + + Define a contour output pattern. + Window handle. + Contour pattern. Default: [] + + + Define the approximation error for contour display. + Window handle. + Maximum deviation from the original contour. Default: 0 + + + Define the pixel output function. + Window handle. + Name of the display function. Default: "copy" + + + Define output colors (HSI-coded). + Window handle. + Hue for region output. Default: 30 + Saturation for region output. Default: 255 + Intensity for region output. Default: 84 + + + Define gray values for region output. + Window handle. + Gray values for region output. Default: 255 + + + Define the region fill mode. + Window handle. + Fill mode for region output. Default: "fill" + + + Define the image matrix output clipping. + Window handle. + Clipping mode for gray value output. Default: "object" + + + Set multiple output colors. + Window handle. + Number of output colors. Default: 12 + + + Set output color. + Window handle. + Output color names. Default: "white" + + + Get the current region output shape. + Window handle. + Current region output shape. + + + Get the current color in RGB-coding. + Window handle. + The current color's red value. + The current color's green value. + The current color's blue value. + + + Get the current color lookup table index. + Window handle. + Index of the current color look-up table. + + + Get the current interpolation mode for gray value display. + Window handle. + Interpolation mode for image display: 0 (fast, low quality) to 2 (slow, high quality). + + + Get the image part. + Window handle. + Row index of the image part's upper left corner. + Column index of the image part's upper left corner. + Row index of the image part's lower right corner. + Column index of the image part's lower right corner. + + + Get the current display mode for gray values. + Window handle. + Name and parameter values of the current display mode. + + + Get the current line width for contour display. + Window handle. + Current line width for contour display. + + + Get the current graphic mode for contours. + Window handle. + Template for contour display. + + + Get the current approximation error for contour display. + Window handle. + Current approximation error for contour display. + + + Get the current display mode. + Window handle. + Display mode. + + + Get the HSI coding of the current color. + Window handle. + Hue (color value) of the current color. + Saturation of the current color. + Intensity of the current color. + + + Get the current region fill mode. + Window handle. + Current region fill mode. + + + Get the output treatment of an image matrix. + Window handle. + Display mode for images. + + + Query the region display modes. + region display mode names. + + + Query the gray value display modes. + Window handle. + Gray value display mode names. + + + Query the possible line widths. + Displayable minimum width. + Displayable maximum width. + + + Query the possible graphic modes. + Window handle. + Display function name. + + + Query the displayable gray values. + Window handle. + Tuple of all displayable gray values. + + + Query the number of colors for color output. + Tuple of the possible numbers of colors. + + + Query all color names. + Window handle. + Color names. + + + Query all color names displayable in the window. + Window handle. + Color names. + + + Query the icon for region output + Icon for the regions center of gravity. + Window handle. + + + Icon definition for region output. + Icon for center of gravity. + Window handle. + + + Displays regions in a window. + Regions to display. + Window handle. + + + Displays arbitrarily oriented rectangles. + Window handle. + Row index of the center. Default: 48 + Column index of the center. Default: 64 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the longer side. Default: 48 + Half of the length of the shorter side. Default: 32 + + + Display of rectangles aligned to the coordinate axes. + Window handle. + Row index of the upper left corner. Default: 16 + Column index of the upper left corner. Default: 16 + Row index of the lower right corner. Default: 48 + Column index of the lower right corner. Default: 80 + + + Displays a polyline. + Window handle. + Row index Default: [16,80,80] + Column index Default: [48,16,80] + + + Draws lines in a window. + Window handle. + Row index of the start. Default: 32.0 + Column index of the start. Default: 32.0 + Row index of end. Default: 64.0 + Column index of end. Default: 64.0 + + + Displays crosses in a window. + Window handle. + Row coordinate of the center. Default: 32.0 + Column coordinate of the center. Default: 32.0 + Length of the bars. Default: 6.0 + Orientation. Default: 0.0 + + + Displays gray value images. + Gray value image to display. + Window handle. + + + Displays images with several channels. + Multichannel images to be displayed. + Window handle. + Number of channel or the numbers of the RGB-channels Default: 1 + + + Displays a color (RGB) image + Color image to display. + Window handle. + + + Displays ellipses. + Window handle. + Row index of center. Default: 64 + Column index of center. Default: 64 + Orientation of the ellipse in radians Default: 0.0 + Radius of major axis. Default: 24.0 + Radius of minor axis. Default: 14.0 + + + Displays a noise distribution. + Window handle. + Gray value distribution (513 values). + Row index of center. Default: 256 + Column index of center. Default: 256 + Size of display. Default: 1 + + + Displays circles in a window. + Window handle. + Row index of the center. Default: 64 + Column index of the center. Default: 64 + Radius of the circle. Default: 64 + + + Displays arrows in a window. + Window handle. + Row index of the start. Default: 10.0 + Column index of the start. Default: 10.0 + Row index of the end. Default: 118.0 + Column index of the end. Default: 118.0 + Size of the arrowhead. Default: 1.0 + + + Displays circular arcs in a window. + Window handle. + Row coordinate of center point. Default: 64 + Column coordinate of center point. Default: 64 + Angle between start and end of the arc (in radians). Default: 3.1415926 + Row coordinate of the start of the arc. Default: 32 + Column coordinate of the start of the arc. Default: 32 + + + Displays image objects (image, region, XLD). + Image object to be displayed. + Window handle. + + + Set the current mouse pointer shape. + Window handle. + Mouse pointer name. Default: "arrow" + + + Query the current mouse pointer shape. + Window handle. + Mouse pointer name. + + + Query all available mouse pointer shapes. + Window handle. + Available mouse pointer names. + + + Query the subpixel mouse position. + Window handle. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed or 0. + + + Query the mouse position. + Window handle. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed or 0. + + + Wait until a mouse button is pressed and get the subpixel mouse position. + Window handle. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + + + Wait until a mouse button is pressed. + Window handle. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + + + Write look-up-table (lut) as file. + Window handle. + File name (of file containing the look-up-table). Default: "/tmp/lut" + + + Graphical view of the look-up-table (lut). + Window handle. + Row of centre of the graphic. Default: 128 + Column of centre of the graphic. Default: 128 + Scaling of the graphic. Default: 1 + + + Query all available look-up-tables (lut). + Window handle. + Names of look-up-tables. + + + Get modification parameters of look-up-table (lut). + Window handle. + Modification of color value. + Modification of saturation. + Modification of intensity. + + + Changing the look-up-table (lut). + Window handle. + Modification of color value. Default: 0.0 + Modification of saturation. Default: 1.5 + Modification of intensity. Default: 1.5 + + + Get current look-up-table (lut). + Window handle. + Name of look-up-table or tuple of RGB-values. + + + Set "`look-up-table"' (lut). + Window handle. + Name of look-up-table, values of look-up-table (RGB) or file name. Default: "default" + + + Get mode of fixing of current look-up-table (lut). + Window handle. + Current Mode of fixing. + + + Set fixing of "`look-up-table"' (lut) + Window handle. + Mode of fixing. Default: "true" + + + Get fixing of "`look-up-table"' (lut) for "`real color images"' + Window handle. + Mode of fixing. + + + Fix "`look-up-table"' (lut) for "`real color images"'. + Window handle. + Mode of fixing. Default: "true" + + + Plot a function using gnuplot. + Identifier for the gnuplot output stream. + Function to be plotted. + + + Plot control values using gnuplot. + Identifier for the gnuplot output stream. + Control values to be plotted (y-values). + + + Visualize images using gnuplot. + Image to be plotted. + Identifier for the gnuplot output stream. + Number of samples in the x-direction. Default: 64 + Number of samples in the y-direction. Default: 64 + Rotation of the plot about the x-axis. Default: 60 + Rotation of the plot about the z-axis. Default: 30 + Plot the image with hidden surfaces removed. Default: "hidden3d" + + + Close all open gnuplot files or terminate an active gnuplot sub-process. + Identifier for the gnuplot output stream. + + + Open a gnuplot file for visualization of images and control values. + Base name for control and data files. + Identifier for the gnuplot output stream. + + + Open a pipe to a gnuplot process for visualization of images and control values. + Identifier for the gnuplot output stream. + + + Create a text object which can be moved interactively. + Row coordinate of the text position. Default: 12 + Column coordinate of the text position. Default: 12 + Character string to be displayed. Default: "Text" + Handle of the drawing object. + + + Return the iconic object of a drawing object. + Copy of the iconic object represented by the drawing object. + Handle of the drawing object. + + + Delete drawing object. + Handle of the drawing object. + + + Set the parameters of a drawing object. + Handle of the drawing object. + Parameter names of the drawing object. + Parameter values. + + + Get the parameters of a drawing object. + Handle of the drawing object. + Parameter names of the drawing object. + Parameter values. + + + Set the contour of an interactive draw XLD. + XLD contour. + Handle of the drawing object. + + + Create a XLD contour which can be modified interactively. + Row coordinates of the polygon. Default: [100,200,200,100] + Column coordinates of the polygon. Default: [100,100,200,200] + Handle of the drawing object. + + + Create a circle sector which can be modified interactively. + Row coordinate of the center. Default: 100 + Column coordinate of the center. Default: 100 + Radius of the circle. Default: 80 + Start angle of the arc. Default: 0 + End angle of the arc. Default: 3.14159 + Handle of the drawing object. + + + Create an elliptic sector which can be modified interactively. + Row index of the center. Default: 200 + Column index of the center. Default: 200 + Orientation of the first half axis in radians. Default: 0 + First half axis. Default: 100 + Second half axis. Default: 60 + Start angle of the arc. Default: 0 + End angle of the arc. Default: 3.14159 + Handle of the drawing object. + + + Create a line which can be modified interactively. + Row index of the first line point. Default: 100 + Column index of the first line point. Default: 100 + Row index of the second line point. Default: 200 + Column index of the second line point. Default: 200 + Handle of the drawing object. + + + Create a circle which can be modified interactively. + Row coordinate of the center. Default: 100 + Column coordinate of the center. Default: 100 + Radius of the circle. Default: 80 + Handle of the drawing object. + + + Create an ellipse which can be modified interactively. + Row index of the center. Default: 200 + Column index of the center. Default: 200 + Orientation of the first half axis in radians. Default: 0 + First half axis. Default: 100 + Second half axis. Default: 60 + Handle of the drawing object. + + + Create a rectangle of any orientation which can be modified interactively. + Row coordinate of the center. Default: 150 + Column coordinate of the center. Default: 150 + Orientation of the first half axis in radians. Default: 0 + First half axis. Default: 100 + Second half axis. Default: 100 + Handle of the drawing object. + + + Create a rectangle parallel to the coordinate axis which can be modified interactively. + Row coordinate of the upper left corner. Default: 100 + Column coordinate of the upper left corner. Default: 100 + Row coordinate of the lower right corner. Default: 200 + Column coordinate of the lower right corner. Default: 200 + Handle of the drawing object. + + + Interactive movement of a region with restriction of positions. + Regions to move. + Points on which it is allowed for a region to move. + Moved regions. + Window handle. + Row index of the reference point. Default: 100 + Column index of the reference point. Default: 100 + + + Interactive movement of a region with fixpoint specification. + Regions to move. + Moved regions. + Window handle. + Row index of the reference point. Default: 100 + Column index of the reference point. Default: 100 + + + Interactive moving of a region. + Regions to move. + Moved Regions. + Window handle. + + + Interactive modification of a NURBS curve using interpolation. + Contour of the modified curve. + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 5. Default: 3 + Row coordinates of the input interpolation points. + Column coordinates of the input interpolation points. + Input tangents. + Row coordinates of the control polygon. + Column coordinates of the control polygon. + Knot vector. + Row coordinates of the points specified by the user. + Column coordinates of the points specified by the user. + Tangents specified by the user. + + + Interactive drawing of a NURBS curve using interpolation. + Contour of the curve. + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 5. Default: 3 + Row coordinates of the control polygon. + Column coordinates of the control polygon. + Knot vector. + Row coordinates of the points specified by the user. + Column coordinates of the points specified by the user. + Tangents specified by the user. + + + Interactive modification of a NURBS curve. + Contour of the modified curve. + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 25. Default: 3 + Row coordinates of the input control polygon. + Column coordinates of the input control polygon. + Input weight vector. + Row coordinates of the control polygon. + Columns coordinates of the control polygon. + Weight vector. + + + Interactive drawing of a NURBS curve. + Contour approximating the NURBS curve. + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 25. Default: 3 + Row coordinates of the control polygon. + Columns coordinates of the control polygon. + Weight vector. + + + Interactive modification of a contour. + Input contour. + Modified contour. + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + + + Interactive drawing of a contour. + Modified contour. + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + + + Interactive drawing of any orientated rectangle. + Window handle. + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + + + Interactive drawing of any orientated rectangle. + Window handle. + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + + + Draw a rectangle parallel to the coordinate axis. + Window handle. + Row index of the left upper corner. + Column index of the left upper corner. + Row index of the right lower corner. + Column index of the right lower corner. + Row index of the left upper corner. + Column index of the left upper corner. + Row index of the right lower corner. + Column index of the right lower corner. + + + Draw a rectangle parallel to the coordinate axis. + Window handle. + Row index of the left upper corner. + Column index of the left upper corner. + Row index of the right lower corner. + Column index of the right lower corner. + + + Draw a point. + Window handle. + Row index of the point. + Column index of the point. + Row index of the point. + Column index of the point. + + + Draw a point. + Window handle. + Row index of the point. + Column index of the point. + + + Draw a line. + Window handle. + Row index of the first point of the line. + Column index of the first point of the line. + Row index of the second point of the line. + Column index of the second point of the line. + Row index of the first point of the line. + Column index of the first point of the line. + Row index of the second point of the line. + Column index of the second point of the line. + + + Draw a line. + Window handle. + Row index of the first point of the line. + Column index of the first point of the line. + Row index of the second point of the line. + Column index of the second point of the line. + + + Interactive drawing of an ellipse. + Window handle. + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + Row index of the center. + Column index of the center. + Orientation of the first half axis in radians. + First half axis. + Second half axis. + + + Interactive drawing of an ellipse. + Window handle. + Row index of the center. + Column index of the center. + Orientation of the first half axis in radians. + First half axis. + Second half axis. + + + Interactive drawing of a circle. + Window handle. + Row index of the center. + Column index of the center. + Radius of the circle. + Row index of the center. + Column index of the center. + Circle's radius. + + + Interactive drawing of a circle. + Window handle. + Barycenter's row index. + Barycenter's column index. + Circle's radius. + + + Interactive drawing of a closed region. + Interactive created region. + Window handle. + + + Interactive drawing of a polygon row. + Region, which encompasses all painted points. + Window handle. + + + Calculate the projection of a point onto a line. + Row coordinate of the point. + Column coordinate of the point. + Row coordinate of the first point on the line. + Column coordinate of the first point on the line. + Row coordinate of the second point on the line. + Column coordinate of the second point on the line. + Row coordinate of the projected point. + Column coordinate of the projected point + + + Calculate a point of an ellipse corresponding to a specific angle. + Angle corresponding to the resulting point [rad]. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Row coordinate of the point on the ellipse. + Column coordinates of the point on the ellipse. + + + Calculate the intersection point of two lines. + Row coordinate of the first point of the first line. + Column coordinate of the first point of the first line. + Row coordinate of the second point of the first line. + Column coordinate of the second point of the first line. + Row coordinate of the first point of the second line. + Column coordinate of the first point of the second line. + Row coordinate of the second point of the second line. + Column coordinate of the second point of the second line. + Row coordinate of the intersection point. + Column coordinate of the intersection point. + Are the two lines parallel? + + + Calculate the intersection points of two XLD contours + First XLD contour. + Second XLD contour. + Intersection points to be returned. Default: "all" + Row coordinates of the intersection points. + Column coordinates of the intersection points. + Does a part of a contour lies above another contour part? + + + Calculate the intersection points of a circle or circular arc and an XLD contour + XLD contour. + Row coordinate of the center of the circle or circular arc. + Column coordinate of the center of the circle or circular arc. + Radius of the circle or circular arc. + Angle of the start point of the circle or circular arc [rad]. Default: 0.0 + Angle of the end point of the circle or circular arc [rad]. Default: 6.28318 + Point order along the circle or circular arc. Default: "positive" + Row coordinates of the intersection points. + Column coordinates of the intersection points. + + + Calculate the intersection points of two circles or circular arcs + Row coordinate of the center of the first circle or circular arc. + Column coordinate of the center of the first circle or circular arc. + Radius of the first circle or circular arc. + Angle of the start point of the first circle or circular arc [rad]. Default: 0.0 + Angle of the end point of the first circle or circular arc [rad]. Default: 6.28318 + Point order along the first circle or circular arc. Default: "positive" + Row coordinate of the center of the second circle or circular arc. + Column coordinate of the center of the second circle or circular arc. + Radius of the second circle or circular arc. + Angle of the start point of the second circle or circular arc [rad]. Default: 0.0 + Angle of the end point of the second circle or circular arc [rad]. Default: 6.28318 + Point order along the second circle or circular arc. Default: "positive" + Row coordinates of the intersection points. + Column coordinates of the intersection points. + Do both circles or circular arcs have a part in common? + + + Calculate the intersection points of a line and an XLD contour + XLD contour. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Row coordinates of the intersection points. + Column coordinates of the intersection points. + Does a part of the XLD contour lies on the line? + + + Calculate the intersection points of a line and a circle or circular arc + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Row coordinate of the center of the circle or circular arc. + Column coordinate of the center of the circle or circular arc. + Radius of the circle or circular arc. + Angle of the start point of the circle or circular arc [rad]. Default: 0.0 + Angle of the end point of the circle or circular arc [rad]. Default: 6.28318 + Point order along the circle or circular arc. Default: "positive" + Row coordinates of the intersection points. + Column coordinates of the intersection points. + + + Calculate the intersection point of two lines + Row coordinate of the first point of the first line. + Column coordinate of the first point of the first line. + Row coordinate of the second point of the first line. + Column coordinate of the second point of the first line. + Row coordinate of the first point of the second line. + Column coordinate of the first point of the second line. + Row coordinate of the second point of the second line. + Column coordinate of the second point of the second line. + Row coordinate of the intersection point. + Column coordinate of the intersection point. + Are both lines identical? + + + Calculate the intersection points of a segment and an XLD contour + XLD contour. + Row coordinate of the first point of the segment. + Column coordinate of the first point of the segment. + Row coordinate of the second point of the segment. + Column coordinate of the second point of the segment. + Row coordinates of the intersection points. + Column coordinates of the intersection points. + Do the segment and the XLD contour have a part in common? + + + Calculate the intersection points of a segment and a circle or circular arc + Row coordinate of the first point of the segment. + Column coordinate of the first point of the segment. + Row coordinate of the second point of the segment. + Column coordinate of the second point of the segment. + Row coordinate of the center of the circle or circular arc. + Column coordinate of the center of the circle or circular arc. + Radius of the circle or circular arc. + Angle of the start point of the circle or circular arc [rad]. Default: 0.0 + Angle of the end point of the circle or circular arc [rad]. Default: 6.28318 + Point order along the circle or circular arc. Default: "positive" + Row coordinates of the intersection points. + Column coordinates of the intersection points. + + + Calculate the intersection point of a segment and a line + Row coordinate of the first point of the segment. + Column coordinate of the first point of the segment. + Row coordinate of the second point of the segment. + Column coordinate of the second point of the segment. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Row coordinate of the intersection point. + Column coordinate of the intersection point. + Do the segment and the line have a part in common? + + + Calculate the intersection point of two line segments + Row coordinate of the first point of the first segment. + Column coordinate of the first point of the first segment. + Row coordinate of the second point of the first segment. + Column coordinate of the second point of the first segment. + Row coordinate of the first point of the second segment. + Column coordinate of the first point of the second segment. + Row coordinate of the second point of the second segment. + Column coordinate of the second point of the second segment. + Row coordinate of the intersection point. + Column coordinate of the intersection point. + Do both segments have a part in common? + + + Clear a XLD distance transform. + Handle of the XLD distance transform. + + + Determine the pointwise distance of two contours using an XLD distance transform. + Contour(s) for whose points the distances are calculated. + Copy of Contour containing the distances as an attribute. + Handle of the XLD distance transform of the reference contour. + + + Read an XLD distance transform from a file. + Name of the file. + Handle of the XLD distance transform. + + + Deserialize an XLD distance transform. + Handle of the serialized XLD distance transform. + Handle of the deserialized XLD distance transform. + + + Serialize an XLD distance transform. + Handle of the XLD distance transform. + Handle of the serialized XLD distance transform. + + + Write an XLD distance transform into a file. + Handle of the XLD distance transform. + Name of the file. + + + Set new parameters for an XLD distance transform. + Handle of the XLD distance transform. + Names of the generic parameters. Default: "mode" + Values of the generic parameters. Default: "point_to_point" + + + Get the parameters used to build an XLD distance transform. + Handle of the XLD distance transform. + Names of the generic parameters. Default: "mode" + Values of the generic parameters. + + + Get the reference contour used to build the XLD distance transform. + Reference contour. + Handle of the XLD distance transform. + + + Create the XLD distance transform. + Reference contour(s). + Compute the distance to points ('point_to_point') or entire segments ('point_to_segment'). Default: "point_to_point" + Maximum distance of interest. Default: 20.0 + Handle of the XLD distance transform. + + + Calculate the pointwise distance from one contour to another. + Contours for whose points the distances are calculated. + Contours to which the distances are calculated to. + Copy of ContourFrom containing the distances as an attribute. + Compute the distance to points ('point_to_point') or to entire segments ('point_to_segment'). Default: "point_to_point" + + + Calculate the minimum distance between two contours. + First input contour. + Second input contour. + Distance calculation mode. Default: "fast_point_to_segment" + Minimum distance between the two contours. + + + Calculate the distance between two contours. + First input contour. + Second input contour. + Distance calculation mode. Default: "point_to_point" + Minimum distance between both contours. + Maximum distance between both contours. + + + Calculate the distance between a line segment and one contour. + Input contour. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the line segment and the contour. + Maximum distance between the line segment and the contour. + + + Calculate the distance between a line and one contour. + Input contour. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line and the contour. + Maximum distance between the line and the contour. + + + Calculate the distance between a point and one contour. + Input contour. + Row coordinate of the point. + Column coordinate of the point. + Minimum distance between the point and the contour. + Maximum distance between the point and the contour. + + + Calculate the distance between a line segment and one region. + Input region. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the line segment and the region. + Maximum distance between the line segment and the region. + + + Calculate the distance between a line and a region. + Input region. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line and the region + Maximum distance between the line and the region + + + Calculate the distance between a point and a region. + Input region. + Row coordinate of the point. + Column coordinate of the point. + Minimum distance between the point and the region. + Maximum distance between the point and the region. + + + Calculate the angle between one line and the horizontal axis. + Row coordinate the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Angle between the line and the horizontal axis [rad]. + + + Calculate the angle between two lines. + Row coordinate of the first point of the first line. + Column coordinate of the first point of the first line. + Row coordinate of the second point of the first line. + Column coordinate of the second point of the first line. + Row coordinate of the first point of the second line. + Column coordinate of the first point of the second line. + Row coordinate of the second point of the second line. + Column coordinate of the second point of the second line. + Angle between the lines [rad]. + + + Calculate the distances between a line segment and a line. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line segment and the line. + Maximum distance between the line segment and the line. + + + Calculate the distances between two line segments. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Row coordinate of the first point of the line. + Column of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line segments. + Maximum distance between the line segments. + + + Calculate the distances between a point and a line segment. + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the point and the line segment. + Maximum distance between the point and the line segment. + + + Calculate the distance between one point and one line. + Row coordinate of the point. + Column of the point. + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Distance between the points. + + + Calculate the distance between two points. + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the second point. + Column coordinate of the second point. + Distance between the points. + + + Compose two functions. + Input function 1. + Input function 2. + Border treatment for the input functions. Default: "constant" + Composed function. + + + Calculate the inverse of a function. + Input function. + Inverse of the input function. + + + Calculate the derivatives of a function. + Input function + Type of derivative Default: "first" + Derivative of the input function + + + Calculate the local minimum and maximum points of a function. + Input function + Handling of plateaus Default: "strict_min_max" + Interpolation of the input function Default: "true" + Minimum points of the input function + Maximum points of the input function + + + Calculate the zero crossings of a function. + Input function + Zero crossings of the input function + + + Multiplication and addition of the y values. + Input function. + Factor for scaling of the y values. Default: 2.0 + Constant which is added to the y values. Default: 0.0 + Transformed function. + + + Negation of the y values. + Input function. + Function with the negated y values. + + + Absolute value of the y values. + Input function. + Function with the absolute values of the y values. + + + Return the value of a function at an arbitrary position. + Input function. + X coordinate at which the function should be evaluated. + Border treatment for the input function. Default: "constant" + Y value at the given x value. + + + Access a function value using the index of the control points. + Input function. + Index of the control points. + X value at the given control points. + Y value at the given control points. + + + Number of control points of the function. + Input function. + Number of control points. + + + Smallest and largest y value of the function. + Input function. + Smallest y value. + Largest y value. + + + Smallest and largest x value of the function. + Input function. + Smallest x value. + Largest x value. + + + Access to the x/y values of a function. + Input function. + X values of the function. + Y values of the function. + + + Sample a function equidistantly in an interval. + Input function. + Minimum x value of the output function. + Maximum x value of the output function. + Distance of the samples. + Border treatment for the input function. Default: "constant" + Sampled function. + + + Transform a function using given transformation parameters. + Input function. + Transformation parameters between the functions. + Transformed function. + + + Calculate transformation parameters between two functions. + Function 1. + Function 2. + Border treatment for function 2. Default: "constant" + Values of the parameters to remain constant. Default: [1.0,0.0,1.0,0.0] + Should a parameter be adapted for it? Default: ["true","true","true","true"] + Transformation parameters between the functions. + Quadratic error of the output function. + Covariance Matrix of the transformation parameters. + + + Compute the distance of two functions. + Input function 1. + Input function 2. + Modes of invariants. Default: "length" + Variance of the optional smoothing with a Gaussian filter. Default: 0.0 + Distance of the functions. + + + Smooth an equidistant 1D function with a Gaussian function. + Function to be smoothed. + Sigma of the Gaussian function for the smoothing. Default: 2.0 + Smoothed function. + + + Compute the positive and negative areas of a function. + Input function. + Area under the positive part of the function. + Area under the negative part of the function. + + + Read a function from a file. + Name of the file to be read. + Function from the file. + + + Write a function to a file. + Function to be written. + Name of the file to be written. + + + Create a function from a sequence of y-values. + X value for function points. + Created function. + + + Create a function from a set of (x,y) pairs. + X value for function points. + Y-value for function points. + Created function. + + + Smooth an equidistant 1D function by averaging its values. + 1D function. + Size of the averaging mask. Default: 9 + Number of iterations for the smoothing. Default: 3 + Smoothed function. + + + Filter an image using a Laws texture filter. + Images to which the texture transformation is to be applied. + Texture images. + Desired filter. Default: "el" + Shift to reduce the gray value dynamics. Default: 2 + Size of the filter kernel. Default: 5 + + + Calculate the standard deviation of gray values within rectangular windows. + Image for which the standard deviation is to be calculated. + Image containing the standard deviation. + Width of the mask in which the standard deviation is calculated. Default: 11 + Height of the mask in which the standard deviation is calculated. Default: 11 + + + Calculate the entropy of gray values within a rectangular window. + Image for which the entropy is to be calculated. + Entropy image. + Width of the mask in which the entropy is calculated. Default: 9 + Height of the mask in which the entropy is calculated. Default: 9 + + + Perform an isotropic diffusion of an image. + Input image. + Output image. + Standard deviation of the Gauss distribution. Default: 1.0 + Number of iterations. Default: 10 + + + Perform an anisotropic diffusion of an image. + Input image. + Output image. + Diffusion coefficient as a function of the edge amplitude. Default: "weickert" + Contrast parameter. Default: 5.0 + Time step. Default: 1.0 + Number of iterations. Default: 10 + + + Smooth an image using various filters. + Image to be smoothed. + Smoothed image. + Filter. Default: "deriche2" + Filterparameter: small values cause strong smoothing (vice versa by using bei 'gauss'). Default: 0.5 + + + Non-linear smoothing with the sigma filter. + Image to be smoothed. + Smoothed image. + Height of the mask (number of lines). Default: 5 + Width of the mask (number of columns). Default: 5 + Max. deviation to the average. Default: 3 + + + Calculate the average of maximum and minimum inside any mask. + Image to be filtered. + Filter mask. + Filtered image. + Border treatment. Default: "mirrored" + + + Smooth an image with an arbitrary rank mask. + Image to be filtered. + Image whose region serves as filter mask. + Filtered output image. + Number of averaged pixels. Typical value: Surface(Mask) / 2. Default: 5 + Border treatment. Default: "mirrored" + + + Separated median filtering with rectangle masks. + Image to be filtered. + Median filtered image. + Width of rank mask. Default: 25 + Height of rank mask. Default: 25 + Border treatment. Default: "mirrored" + + + Compute a median filter with rectangular masks. + Image to be filtered. + Filtered image. + Width of the filter mask. Default: 15 + Height of the filter mask. Default: 15 + + + Compute a median filter with various masks. + Image to be filtered. + Filtered image. + Filter mask type. Default: "circle" + Radius of the filter mask. Default: 1 + Border treatment. Default: "mirrored" + + + Weighted median filtering with different rank masks. + Image to be filtered. + Median filtered image. + Type of median mask. Default: "inner" + mask size. Default: 3 + + + Compute a rank filter with rectangular masks. + Image to be filtered. + Filtered image. + Width of the filter mask. Default: 15 + Height of the filter mask. Default: 15 + Rank of the output gray value. Default: 5 + + + Compute a rank filter with arbitrary masks. + Image to be filtered. + Filter mask. + Filtered image. + Rank of the output gray value. Default: 5 + Border treatment. Default: "mirrored" + + + Opening, Median and Closing with circle or rectangle mask. + Image to be filtered. + Filtered Image. + Shape of the mask. Default: "circle" + Radius of the filter mask. Default: 1 + Filter Mode: 0 corresponds to a gray value opening , 50 corresponds to a median and 100 to a gray values closing. Default: 10 + Border treatment. Default: "mirrored" + + + Smooth by averaging. + Image to be smoothed. + Smoothed image. + Width of filter mask. Default: 9 + Height of filter mask. Default: 9 + + + Information on smoothing filter smooth_image. + Name of required filter. Default: "deriche2" + Filter parameter: small values effect strong smoothing (reversed in case of 'gauss'). Default: 0.5 + Width of filter is approx. size x size pixels. + In case of gauss filter: coefficients of the "positive" half of the 1D impulse answer. + + + Smooth an image using the binomial filter. + Input image. + Smoothed image. + Filter width. Default: 5 + Filter height. Default: 5 + + + Smooth an image using discrete Gaussian functions. + Image to be smoothed. + Filtered image. + Required filter size. Default: 5 + + + Smooth using discrete gauss functions. + Image to be smoothed. + Filtered image. + Required filter size. Default: 5 + + + Smooth an image in the spatial domain to suppress noise. + Image to smooth. + Smoothed image. + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + Gap between local maximum/minimum and all other gray values of the neighborhood. Default: 1.0 + Replacement rule (1 = next minimum/maximum, 2 = average, 3 =median). Default: 3 + + + Interpolate 2 video half images. + Gray image consisting of two half images. + Full image with interpolated/removed lines. + Instruction whether even or odd lines should be replaced/removed. Default: "odd" + + + Return gray values with given rank from multiple channels. + Multichannel gray image. + Result of the rank function. + Rank of the gray value images to return. Default: 2 + + + Average gray values over several channels. + Multichannel gray image. + Result of averaging. + + + Replace values outside of thresholds with average value. + Input image. + Smoothed image. + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + Minimum gray value. Default: 1 + Maximum gray value. Default: 254 + + + Suppress salt and pepper noise. + Input image. + Smoothed image. + Width of filter mask. Default: 3 + Height of filter mask. Default: 3 + Minimum gray value. Default: 1 + Maximum gray value. Default: 254 + + + Find corners using the Sojka operator. + Input image. + Required filter size. Default: 9 + Sigma of the weight function according to the distance to the corner candidate. Default: 2.5 + Sigma of the weight function for the distance to the ideal gray value edge. Default: 0.75 + Threshold for the magnitude of the gradient. Default: 30.0 + Threshold for Apparentness. Default: 90.0 + Threshold for the direction change in a corner point (radians). Default: 0.5 + Subpixel precise calculation of the corner points. Default: "false" + Row coordinates of the detected corner points. + Column coordinates of the detected corner points. + + + Enhance circular dots in an image. + Input image. + Output image. + Diameter of the dots to be enhanced. Default: 5 + Enhance dark, light, or all dots. Default: "light" + Shift of the filter response. Default: 0 + + + Subpixel precise detection of local minima in an image. + Input image. + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected minima. + Column coordinates of the detected minima. + + + Subpixel precise detection of local maxima in an image. + Input image. + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected maxima. + Column coordinates of the detected maxima. + + + Subpixel precise detection of saddle points in an image. + Input image. + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected saddle points. + Column coordinates of the detected saddle points. + + + Subpixel precise detection of critical points in an image. + Input image. + Method for the calculation of the partial derivatives. Default: "facet" + Sigma of the Gaussian. If Filter is 'facet', Sigma may be 0.0 to avoid the smoothing of the input image. + Minimum absolute value of the eigenvalues of the Hessian matrix. Default: 5.0 + Row coordinates of the detected minima. + Column coordinates of the detected minima. + Row coordinates of the detected maxima. + Column coordinates of the detected maxima. + Row coordinates of the detected saddle points. + Column coordinates of the detected saddle points. + + + Detect points of interest using the Harris operator. + Input image. + Amount of smoothing used for the calculation of the gradient. Default: 0.7 + Amount of smoothing used for the integration of the gradients. Default: 2.0 + Weight of the squared trace of the squared gradient matrix. Default: 0.08 + Minimum filter response for the points. Default: 1000.0 + Row coordinates of the detected points. + Column coordinates of the detected points. + + + Detect points of interest using the binomial approximation of the Harris operator. + Input image. + Amount of binomial smoothing used for the calculation of the gradient. Default: 5 + Amount of smoothing used for the integration of the gradients. Default: 15 + Weight of the squared trace of the squared gradient matrix. Default: 0.08 + Minimum filter response for the points. Default: 1000.0 + Turn on or off subpixel refinement. Default: "on" + Row coordinates of the detected points. + Column coordinates of the detected points. + + + Detect points of interest using the Lepetit operator. + Input image. + Radius of the circle. Default: 3 + Number of checked neighbors on the circle. Default: 1 + Threshold of grayvalue difference to each circle point. Default: 15 + Threshold of grayvalue difference to all circle points. Default: 30 + Subpixel accuracy of point coordinates. Default: "interpolation" + Row-coordinates of the detected points. + Column-coordinates of the detected points. + + + Detect points of interest using the Foerstner operator. + Input image. + Amount of smoothing used for the calculation of the gradient. If Smoothing is 'mean', SigmaGrad is ignored. Default: 1.0 + Amount of smoothing used for the integration of the gradients. Default: 2.0 + Amount of smoothing used in the optimization functions. Default: 3.0 + Threshold for the segmentation of inhomogeneous image areas. Default: 200 + Threshold for the segmentation of point areas. Default: 0.3 + Used smoothing method. Default: "gauss" + Elimination of multiply detected points. Default: "false" + Row coordinates of the detected junction points. + Column coordinates of the detected junction points. + Row part of the covariance matrix of the detected junction points. + Mixed part of the covariance matrix of the detected junction points. + Column part of the covariance matrix of the detected junction points. + Row coordinates of the detected area points. + Column coordinates of the detected area points. + Row part of the covariance matrix of the detected area points. + Mixed part of the covariance matrix of the detected area points. + Column part of the covariance matrix of the detected area points. + + + Estimate the image noise from a single image. + Input image. + Method to estimate the image noise. Default: "foerstner" + Percentage of used image points. Default: 20 + Standard deviation of the image noise. + + + Determine the noise distribution of an image. + Region from which the noise distribution is to be estimated. + Corresponding image. + Size of the mean filter. Default: 21 + Noise distribution of all input regions. + + + Add noise to an image. + Input image. + Noisy image. + Maximum noise amplitude. Default: 60.0 + + + Add noise to an image. + Input image. + Noisy image. + Noise distribution. + + + Generate a Gaussian noise distribution. + Standard deviation of the Gaussian noise distribution. Default: 2.0 + Resulting Gaussian noise distribution. + + + Generate a salt-and-pepper noise distribution. + Percentage of salt (white noise pixels). Default: 5.0 + Percentage of pepper (black noise pixels). Default: 5.0 + Resulting noise distribution. + + + Calculate standard deviation over several channels. + Multichannel gray image. + Result of calculation. + + + Perform an inpainting by texture propagation. + Input image. + Inpainting region. + Output image. + Size of the inpainting blocks. Default: 9 + Size of the search window. Default: 30 + Influence of the edge amplitude on the inpainting order. Default: 1.0 + Post-iteration for artifact reduction. Default: "none" + Gray value tolerance for post-iteration. Default: 1.0 + + + Perform an inpainting by coherence transport. + Input image. + Inpainting region. + Output image. + Radius of the pixel neighborhood. Default: 5.0 + Sharpness parameter in percent. Default: 25.0 + Pre-smoothing parameter. Default: 1.41 + Smoothing parameter for the direction estimation. Default: 4.0 + Channel weights. Default: 1 + + + Perform an inpainting by smoothing of level lines. + Input image. + Inpainting region. + Output image. + Smoothing for derivative operator. Default: 0.5 + Time step. Default: 0.5 + Number of iterations. Default: 10 + + + Perform an inpainting by coherence enhancing diffusion. + Input image. + Inpainting region. + Output image. + Smoothing for derivative operator. Default: 0.5 + Smoothing for diffusion coefficients. Default: 3.0 + Time step. Default: 0.5 + Number of iterations. Default: 10 + + + Perform an inpainting by anisotropic diffusion. + Input image. + Inpainting region. + Output image. + Type of edge sharpening algorithm. Default: "weickert" + Contrast parameter. Default: 5.0 + Step size. Default: 0.5 + Number of iterations. Default: 10 + Smoothing coefficient for edge information. Default: 3.0 + + + Perform a harmonic interpolation on an image region. + Input image. + Inpainting region. + Output image. + Computational accuracy. Default: 0.001 + + + Expand the domain of an image and set the gray values in the expanded domain. + Input image with domain to be expanded. + Output image with new gray values in the expanded domain. + Radius of the gray value expansion, measured in pixels. Default: 2 + + + Compute the topographic primal sketch of an image. + Image for which the topographic primal sketch is to be computed. + Label image containing the 11 classes. + + + Compute an affine transformation of the color values of a multichannel image. + Multichannel input image. + Multichannel output image. + Transformation matrix for the color values. + + + Compute the transformation matrix of the principal component analysis of multichannel images. + Multichannel input image. + Transformation matrix for the computation of the PCA. + Transformation matrix for the computation of the inverse PCA. + Mean gray value of the channels. + Covariance matrix of the channels. + Information content of the transformed channels. + + + Compute the principal components of multichannel images. + Multichannel input image. + Multichannel output image. + Information content of each output channel. + + + Determine the fuzzy entropy of regions. + Regions for which the fuzzy entropy is to be calculated. + Input image containing the fuzzy membership values. + Start of the fuzzy function. Default: 0 + End of the fuzzy function. Default: 255 + Fuzzy entropy of a region. + + + Calculate the fuzzy perimeter of a region. + Regions for which the fuzzy perimeter is to be calculated. + Input image containing the fuzzy membership values. + Start of the fuzzy function. Default: 0 + End of the fuzzy function. Default: 255 + Fuzzy perimeter of a region. + + + Perform a gray value closing with a selected mask. + Image for which the minimum gray values are to be calculated. + Image containing the minimum gray values. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + + + Perform a gray value opening with a selected mask. + Image for which the minimum gray values are to be calculated. + Image containing the minimum gray values. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + + + Determine the minimum gray value within a selected mask. + Image for which the minimum gray values are to be calculated. + Image containing the minimum gray values. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + + + Determine the maximum gray value within a selected mask. + Image for which the maximum gray values are to be calculated. + Image containing the maximum gray values. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + Shape of the mask. Default: "octagon" + + + Determine the gray value range within a rectangle. + Image for which the gray value range is to be calculated. + Image containing the gray value range. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + + + Perform a gray value closing with a rectangular mask. + Input image. + Gray-closed image. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + + + Perform a gray value opening with a rectangular mask. + Input image. + Gray-opened image. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + + + Determine the minimum gray value within a rectangle. + Image for which the minimum gray values are to be calculated. + Image containing the minimum gray values. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + + + Determine the maximum gray value within a rectangle. + Image for which the maximum gray values are to be calculated. + Image containing the maximum gray values. + Height of the filter mask. Default: 11 + Width of the filter mask. Default: 11 + + + Thinning of gray value images. + Image to be thinned. + Thinned image. + + + Transform an image with a gray-value look-up-table + Image whose gray values are to be transformed. + Transformed image. + Table containing the transformation. + + + Calculate the correlation between an image and an arbitrary filter mask + Images for which the correlation will be calculated. + Result of the correlation. + Filter mask as file name or tuple. Default: "sobel" + Border treatment. Default: "mirrored" + + + Convert the type of an image. + Image whose image type is to be changed. + Converted image. + Desired image type (i.e., type of the gray values). Default: "byte" + + + Convert two real-valued images into a vector field image. + Vector component in the row direction. + Vector component in the column direction. + Displacement vector field. + Semantic kind of the vector field. Default: "vector_field_relative" + + + Convert a vector field image into two real-valued images. + Vector field. + Vector component in the row direction. + Vector component in the column direction. + + + Convert two real images into a complex image. + Real part. + Imaginary part. + Complex image. + + + Convert a complex image into two real images. + Complex image. + Real part. + Imaginary part. + + + Paint regions with their average gray value. + Input regions. + original gray-value image. + Result image with painted regions. + + + Calculate the lowest possible gray value on an arbitrary path to the image border for each point in the image. + Image being processed. + Result image. + + + Symmetry of gray values along a row. + Input image. + Symmetry image. + Extension of search area. Default: 40 + Angle of test direction. Default: 0.0 + Exponent for weighting. Default: 0.5 + + + Selection of gray values of a multi-channel image using an index image. + Multi-channel gray value image. + Image, where pixel values are interpreted as channel index. + Resulting image. + + + Extract depth using multiple focus levels. + Multichannel gray image consisting of multiple focus levels. + Depth image. + Confidence of depth estimation. + Filter used to find sharp pixels. Default: "highpass" + Method used to find sharp pixels. Default: "next_maximum" + + + Compute the calibrated scene flow between two stereo image pairs. + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Pose of the rectified camera 2 in relation to the rectified camera 1. + Handle of the 3D object model. + + + Compute the uncalibrated scene flow between two stereo image pairs. + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Estimated optical flow. + Estimated change in disparity. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + + + Unwarp an image using a vector field. + Input image. + Input vector field. + Unwarped image. + + + Convolve a vector field with derivatives of the Gaussian. + Input vector field. + Filtered result images. + Sigma of the Gaussian. Default: 1.0 + Component to be calculated. Default: "mean_curvature" + + + Compute the length of the vectors of a vector field. + Input vector field + Length of the vectors of the vector field. + Mode for computing the length of the vectors. Default: "length" + + + Compute the optical flow between two images. + Input image 1. + Input image 2. + Optical flow. + Algorithm for computing the optical flow. Default: "fdrig" + Standard deviation for initial Gaussian smoothing. Default: 0.8 + Standard deviation of the integration filter. Default: 1.0 + Weight of the smoothing term relative to the data term. Default: 20.0 + Weight of the gradient constancy relative to the gray value constancy. Default: 5.0 + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "accurate" + + + Matching a template and an image in a resolution pyramid. + Input image. + The domain of this image will be matched with Image. + Result image and result region: values of the matching criterion within the determined "region of interest". + Desired matching criterion. Default: "dfd" + Startlevel in the resolution pyramid (highest resolution: Level 0). Default: 1 + Threshold to determine the "region of interest". Default: 30 + + + Preparing a pattern for template matching with rotation. + Input image whose domain will be processed for the pattern matching. + Maximal number of pyramid levels. Default: 4 + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Step rate (angle precision) of matching. Default: 0.0982 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + Template number. + + + Preparing a pattern for template matching. + Input image whose domain will be processed for the pattern matching. + Not yet in use. Default: 255 + Maximal number of pyramid levels. Default: 4 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + Template number. + + + Serialize a template. + Handle of the template. + Handle of the serialized item. + + + Deserialize a serialized template. + Handle of the serialized item. + Template number. + + + Writing a template to file. + Template number. + file name. + + + Reading a template from file. + file name. + Template number. + + + This operator is inoperable. It had the following function: Deallocation of the memory of all templates. + + + Deallocation of the memory of a template. + Template number. + + + Gray value offset for template. + Template number. + Offset of gray values. Default: 0 + + + Define reference position for a matching template. + Template number. + Reference position of template (row). + Reference position of template (column). + + + Adapting a template to the size of an image. + Image which determines the size of the later matching. + Template number. + + + Searching all good gray value matches in a pyramid. + Input image inside of which the pattern has to be found. + All points which have an error below a certain threshold. + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Number of levels in the pyramid. Default: 3 + + + Searching the best gray value matches in a pre generated pyramid. + Image pyramid inside of which the pattern has to be found. + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Resolution level up to which the method "best match" is used. Default: "original" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + Searching the best gray value matches in a pyramid. + Input image inside of which the pattern has to be found. + Template number. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 4 + Resolution level up to which the method "best match" is used. Default: 2 + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + Searching all good matches of a template and an image. + Input image inside of which the pattern has to be found. + All points whose error lies below a certain threshold. + Template number. + Maximal average difference of the grayvalues. Default: 20.0 + + + Searching the best matching of a template and a pyramid with rotation. + Input image inside of which the pattern has to be found. + Template number. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 40.0 + Subpixel accuracy in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + Searching the best matching of a template and an image with rotation. + Input image inside of which the pattern has to be found. + Template number. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 30.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + Searching the best matching of a template and an image. + Input image inside of which the pattern has to be found. + Template number. + Maximum average difference of the grayvalues. Default: 20.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues of the best match. + + + Matching of a template and an image. + Input image. + Area to be searched in the input image. + This area will be "matched" by Image within the RegionOfInterest. + Result image: values of the matching criterion. + Desired matching criterion. Default: "dfd" + + + Searching corners in images. + Input image. + Result of the filtering. + Desired filtersize of the graymask. Default: 3 + Weighting. Default: 0.04 + + + Calculating a Gauss pyramid. + Input image. + Output images. + Kind of filtermask. Default: "weighted" + Factor for scaling down. Default: 0.5 + + + Calculating the monotony operation. + Input image. + Result of the monotony operator. + + + Edge extraction using bandpass filters. + Input images. + Bandpass-filtered images. + Filter type: currently only 'lines' is supported. Default: "lines" + + + Detect color lines and their width. + Input image. + Extracted lines. + Amount of Gaussian smoothing to be applied. Default: 1.5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Should the line width be extracted? Default: "true" + Should junctions be added where they cannot be extracted? Default: "true" + + + Detect lines and their width. + Input image. + Extracted lines. + Amount of Gaussian smoothing to be applied. Default: 1.5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Extract bright or dark lines. Default: "light" + Should the line width be extracted? Default: "true" + Line model used to correct the line position and width. Default: "bar-shaped" + Should junctions be added where they cannot be extracted? Default: "true" + + + Detection of lines using the facet model. + Input image. + Extracted lines. + Size of the facet model mask. Default: 5 + Lower threshold for the hysteresis threshold operation. Default: 3 + Upper threshold for the hysteresis threshold operation. Default: 8 + Extract bright or dark lines. Default: "light" + + + Store a filter mask in the spatial domain as a real-image. + Filter in the spatial domain. + Filter mask as file name or tuple. Default: "gauss" + Scaling factor. Default: 1.0 + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate a mean filter in the frequency domain. + Mean filter as image in the frequency domain. + Shape of the filter mask in the spatial domain. Default: "ellipse" + Diameter of the mean filter in the principal direction of the filter in the spatial domain. Default: 11.0 + Diameter of the mean filter perpendicular to the principal direction of the filter in the spatial domain. Default: 11.0 + Principal direction of the filter in the spatial domain. Default: 0.0 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate a Gaussian filter in the frequency domain. + Gaussian filter as image in the frequency domain. + Standard deviation of the Gaussian in the principal direction of the filter in the spatial domain. Default: 1.0 + Standard deviation of the Gaussian perpendicular to the principal direction of the filter in the spatial domain. Default: 1.0 + Principal direction of the filter in the spatial domain. Default: 0.0 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate a derivative filter in the frequency domain. + Derivative filter as image in the frequency domain. + Derivative to be computed. Default: "x" + Exponent used in the reverse transform. Default: 1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate a bandpass filter with Gaussian or sinusoidal shape. + Bandpass filter as image in the frequency domain. + Distance of the filter's maximum from the DC term. Default: 0.1 + Bandwidth of the filter (standard deviation). Default: 0.01 + Filter type. Default: "sin" + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate a bandpass filter with sinusoidal shape. + Bandpass filter as image in the frequency domain. + Distance of the filter's maximum from the DC term. Default: 0.1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate an ideal band filter. + Band filter in the frequency domain. + Minimum frequency. Default: 0.1 + Maximum frequency. Default: 0.2 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate an ideal bandpass filter. + Bandpass filter in the frequency domain. + Minimum frequency. Default: 0.1 + Maximum frequency. Default: 0.2 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate an ideal lowpass filter. + Lowpass filter in the frequency domain. + Cutoff frequency. Default: 0.1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Generate an ideal highpass filter. + Highpass filter in the frequency domain. + Cutoff frequency. Default: 0.1 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Return the power spectrum of a complex image. + Input image in frequency domain. + Power spectrum of the input image. + + + Return the power spectrum of a complex image. + Input image in frequency domain. + Power spectrum of the input image. + + + Return the power spectrum of a complex image. + Input image in frequency domain. + Power spectrum of the input image. + + + Return the phase of a complex image in degrees. + Input image in frequency domain. + Phase of the image in degrees. + + + Return the phase of a complex image in radians. + Input image in frequency domain. + Phase of the image in radians. + + + Calculate the energy of a two-channel image. + 1st channel of input image (usually: Gabor image). + 2nd channel of input image (usually: Hilbert image). + Image containing the local energy. + + + Convolve an image with a Gabor filter in the frequency domain. + Input image. + Gabor/Hilbert-Filter. + Result of the Gabor filter. + Result of the Hilbert filter. + + + Generate a Gabor filter. + Gabor and Hilbert filter. + Angle range, inversely proportional to the range of orientations. Default: 1.4 + Distance of the center of the filter to the DC term. Default: 0.4 + Bandwidth range, inversely proportional to the range of frequencies being passed. Default: 1.0 + Angle of the principal orientation. Default: 1.5 + Normalizing factor of the filter. Default: "none" + Location of the DC term in the frequency domain. Default: "dc_center" + Width of the image (filter). Default: 512 + Height of the image (filter). Default: 512 + + + Compute the phase correlation of two images in the frequency domain. + Fourier-transformed input image 1. + Fourier-transformed input image 2. + Phase correlation of the input images in the frequency domain. + + + Compute the correlation of two images in the frequency domain. + Fourier-transformed input image 1. + Fourier-transformed input image 2. + Correlation of the input images in the frequency domain. + + + Convolve an image with a filter in the frequency domain. + Complex input image. + Filter in frequency domain. + Result of applying the filter. + + + Deserialize FFT speed optimization data. + Handle of the serialized item. + + + Serialize FFT speed optimization data. + Handle of the serialized item. + + + Load FFT speed optimization data from a file. + File name of the optimization data. Default: "fft_opt.dat" + + + Store FFT speed optimization data in a file. + File name of the optimization data. Default: "fft_opt.dat" + + + Optimize the runtime of the real-valued FFT. + Width of the image for which the runtime should be optimized. Default: 512 + Height of the image for which the runtime should be optimized. Default: 512 + Thoroughness of the search for the optimum runtime. Default: "standard" + + + Optimize the runtime of the FFT. + Width of the image for which the runtime should be optimized. Default: 512 + Height of the image for which the runtime should be optimized. Default: 512 + Thoroughness of the search for the optimum runtime. Default: "standard" + + + Compute the real-valued fast Fourier transform of an image. + Input image. + Fourier-transformed image. + Calculate forward or reverse transform. Default: "to_freq" + Normalizing factor of the transform. Default: "sqrt" + Image type of the output image. Default: "complex" + Width of the image for which the runtime should be optimized. Default: 512 + + + Compute the inverse fast Fourier transform of an image. + Input image. + Inverse-Fourier-transformed image. + + + Compute the fast Fourier transform of an image. + Input image. + Fourier-transformed image. + + + Compute the fast Fourier transform of an image. + Input image. + Fourier-transformed image. + Calculate forward or reverse transform. Default: "to_freq" + Sign of the exponent. Default: -1 + Normalizing factor of the transform. Default: "sqrt" + Location of the DC term in the frequency domain. Default: "dc_center" + Image type of the output image. Default: "complex" + + + Apply a shock filter to an image. + Input image. + Output image. + Time step. Default: 0.5 + Number of iterations. Default: 10 + Type of edge detector. Default: "canny" + Smoothing of edge detector. Default: 1.0 + + + Apply the mean curvature flow to an image. + Input image. + Output image. + Smoothing parameter for derivative operator. Default: 0.5 + Time step. Default: 0.5 + Number of iterations. Default: 10 + + + Perform a coherence enhancing diffusion of an image. + Input image. + Output image. + Smoothing for derivative operator. Default: 0.5 + Smoothing for diffusion coefficients. Default: 3.0 + Time step. Default: 0.5 + Number of iterations. Default: 10 + + + Histogram linearization of images + Image to be enhanced. + Image with linearized gray values. + + + Illuminate image. + Image to be enhanced. + "`Illuminated"' image. + Width of low pass mask. Default: 101 + Height of low pass mask. Default: 101 + Scales the "`correction gray value"' added to the original gray values. Default: 0.7 + + + Enhance contrast of the image. + Image to be enhanced. + contrast enhanced image. + Width of low pass mask. Default: 7 + Height of the low pass mask. Default: 7 + Intensity of contrast emphasis. Default: 1.0 + + + Maximum gray value spreading in the value range 0 to 255. + Image to be scaled. + contrast enhanced image. + + + Detect edges (amplitude and direction) using the Robinson operator. + Input image. + Edge amplitude (gradient magnitude) image. + Edge direction image. + + + Detect edges (amplitude) using the Robinson operator. + Input image. + Edge amplitude (gradient magnitude) image. + + + Detect edges (amplitude and direction) using the Kirsch operator. + Input image. + Edge amplitude (gradient magnitude) image. + Edge direction image. + + + Detect edges (amplitude) using the Kirsch operator. + Input image. + Edge amplitude (gradient magnitude) image. + + + Detect edges (amplitude and direction) using the Frei-Chen operator. + Input image. + Edge amplitude (gradient magnitude) image. + Edge direction image. + + + Detect edges (amplitude) using the Frei-Chen operator. + Input image. + Edge amplitude (gradient magnitude) image. + + + Detect edges (amplitude and direction) using the Prewitt operator. + Input image. + Edge amplitude (gradient magnitude) image. + Edge direction image. + + + Detect edges (amplitude) using the Prewitt operator. + Input image. + Edge amplitude (gradient magnitude) image. + + + Detect edges (amplitude) using the Sobel operator. + Input image. + Edge amplitude (gradient magnitude) image. + Filter type. Default: "sum_abs" + Size of filter mask. Default: 3 + + + Detect edges (amplitude and direction) using the Sobel operator. + Input image. + Edge amplitude (gradient magnitude) image. + Edge direction image. + Filter type. Default: "sum_abs" + Size of filter mask. Default: 3 + + + Detect edges using the Roberts filter. + Input image. + Roberts-filtered result images. + Filter type. Default: "gradient_sum" + + + Calculate the Laplace operator by using finite differences. + Input image. + Laplace-filtered result image. + Type of the result image, whereas for byte and uint2 the absolute value is used. Default: "absolute" + Size of filter mask. Default: 3 + Filter mask used in the Laplace operator Default: "n_4" + + + Extract high frequency components from an image. + Input image. + High-pass-filtered result image. + Width of the filter mask. Default: 9 + Height of the filter mask. Default: 9 + + + Return the filter coefficients of a filter in edges_image. + Name of the edge operator. Default: "lanser2" + 1D edge filter ('edge') or 1D smoothing filter ('smooth'). Default: "edge" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 0.5 + Filter width in pixels. + For Canny filters: Coefficients of the "positive" half of the 1D impulse response. All others: Coefficients of a corresponding non-recursive filter. + + + Extract subpixel precise color edges using Deriche, Shen, or Canny filters. + Input image. + Extracted edges. + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Lower threshold for the hysteresis threshold operation. Default: 20 + Upper threshold for the hysteresis threshold operation. Default: 40 + + + Extract color edges using Canny, Deriche, or Shen filters. + Input image. + Edge amplitude (gradient magnitude) image. + Edge direction image. + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Non-maximum suppression ('none', if not desired). Default: "nms" + Lower threshold for the hysteresis threshold operation (negative if no thresholding is desired). Default: 20 + Upper threshold for the hysteresis threshold operation (negative if no thresholding is desired). Default: 40 + + + Extract sub-pixel precise edges using Deriche, Lanser, Shen, or Canny filters. + Input image. + Extracted edges. + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Lower threshold for the hysteresis threshold operation. Default: 20 + Upper threshold for the hysteresis threshold operation. Default: 40 + + + Extract edges using Deriche, Lanser, Shen, or Canny filters. + Input image. + Edge amplitude (gradient magnitude) image. + Edge direction image. + Edge operator to be applied. Default: "canny" + Filter parameter: small values result in strong smoothing, and thus less detail (opposite for 'canny'). Default: 1.0 + Non-maximum suppression ('none', if not desired). Default: "nms" + Lower threshold for the hysteresis threshold operation (negative, if no thresholding is desired). Default: 20 + Upper threshold for the hysteresis threshold operation (negative, if no thresholding is desired). Default: 40 + + + Convolve an image with derivatives of the Gaussian. + Input images. + Filtered result images. + Sigma of the Gaussian. Default: 1.0 + Derivative or feature to be calculated. Default: "x" + + + LoG-Operator (Laplace of Gaussian). + Input image. + Laplace filtered image. + Smoothing parameter of the Gaussian. Default: 2.0 + + + Approximate the LoG operator (Laplace of Gaussian). + Input image + LoG image. + Smoothing parameter of the Laplace operator to approximate. Default: 3.0 + Ratio of the standard deviations used (Marr recommends 1.6). Default: 1.6 + + + Close edge gaps using the edge amplitude image. + Region containing one pixel thick edges. + Edge amplitude (gradient) image. + Region containing closed edges. + Minimum edge amplitude. Default: 16 + Maximal number of points by which edges are extended. Default: 3 + + + Close edge gaps using the edge amplitude image. + Region containing one pixel thick edges. + Edge amplitude (gradient) image. + Region containing closed edges. + Minimum edge amplitude. Default: 16 + + + Detect straight edge segments. + Input image. + Mask size of the Sobel operator. Default: 5 + Minimum edge strength. Default: 32 + Maximum distance of the approximating line to its original edge. Default: 3 + Minimum length of to resulting line segments. Default: 10 + Row coordinate of the line segments' start points. + Column coordinate of the line segments' start points. + Row coordinate of the line segments' end points. + Column coordinate of the line segments' end points. + + + This operator is inoperable. It had the following function: Delete all look-up-tables of the color space transformation. + + + Release the look-up-table needed for color space transformation. + Handle of the look-up-table handle for the color space transformation. + + + Color space transformation using pre-generated look-up-table. + Input image (channel 1). + Input image (channel 2). + Input image (channel 3). + Color-transformed output image (channel 1). + Color-transformed output image (channel 2). + Color-transformed output image (channel 3). + Handle of the look-up-table for the color space transformation. + + + Creates the look-up-table for transformation of an image from the RGB color space to an arbitrary color space. + Color space of the output image. Default: "hsv" + Direction of color space transformation. Default: "from_rgb" + Number of bits of the input image. Default: 8 + Handle of the look-up-table for color space transformation. + + + Convert a single-channel color filter array image into an RGB image. + Input image. + Output image. + Color filter array type. Default: "bayer_gb" + Interpolation type. Default: "bilinear" + + + Transform an RGB image into a gray scale image. + Three-channel RBG image. + Gray scale image. + + + Transform an RGB image to a gray scale image. + Input image (red channel). + Input image (green channel). + Input image (blue channel). + Gray scale image. + + + Transform an image from the RGB color space to an arbitrary color space. + Input image (red channel). + Input image (green channel). + Input image (blue channel). + Color-transformed output image (channel 1). + Color-transformed output image (channel 1). + Color-transformed output image (channel 1). + Color space of the output image. Default: "hsv" + + + Transform an image from an arbitrary color space to the RGB color space. + Input image (channel 1). + Input image (channel 2). + Input image (channel 3). + Red channel. + Green channel. + Blue channel. + Color space of the input image. Default: "hsv" + + + Logical "AND" of each pixel using a bit mask. + Input image(s). + Result image(s) by combination with mask. + Bit field Default: 128 + + + Extract a bit from the pixels. + Input image(s). + Result image(s) by extraction. + Bit to be selected. Default: 8 + + + Right shift of all pixels of the image. + Input image(s). + Result image(s) by shift operation. + shift value Default: 3 + + + Left shift of all pixels of the image. + Input image(s). + Result image(s) by shift operation. + Shift value. Default: 3 + + + Complement all bits of the pixels. + Input image(s). + Result image(s) by complement operation. + + + Bit-by-bit XOR of all pixels of the input images. + Input image(s) 1. + Input image(s) 2. + Result image(s) by XOR-operation. + + + Bit-by-bit OR of all pixels of the input images. + Input image(s) 1. + Input image(s) 2. + Result image(s) by OR-operation. + + + Bit-by-bit AND of all pixels of the input images. + Input image(s) 1. + Input image(s) 2. + Result image(s) by AND-operation. + + + Perform a gamma encoding or decoding of an image. + Input image. + Output image. + Gamma coefficient of the exponential part of the transformation. Default: 0.416666666667 + Offset of the exponential part of the transformation. Default: 0.055 + Gray value for which the transformation switches from linear to exponential. Default: 0.0031308 + Maximum gray value of the input image type. Default: 255.0 + If 'true', perform a gamma encoding, otherwise a gamma decoding. Default: "true" + + + Raise an image to a power. + Input image. + Output image. + Power to which the gray values are raised. Default: 2 + + + Calculate the exponentiation of an image. + Input image. + Output image. + Base of the exponentiation. Default: "e" + + + Calculate the logarithm of an image. + Input image. + Output image. + Base of the logarithm. Default: "e" + + + Calculate the arctangent of two images. + Input image 1. + Input image 2. + Output image. + + + Calculate the arctangent of an image. + Input image. + Output image. + + + Calculate the arccosine of an image. + Input image. + Output image. + + + Calculate the arcsine of an image. + Input image. + Output image. + + + Calculate the tangent of an image. + Input image. + Output image. + + + Calculate the cosine of an image. + Input image. + Output image. + + + Calculate the sine of an image. + Input image. + Output image. + + + Calculate the absolute difference of two images. + Input image 1. + Input image 2. + Absolute value of the difference of the input images. + Scale factor. Default: 1.0 + + + Calculate the square root of an image. + Input image + Output image + + + Subtract two images. + Minuend(s). + Subtrahend(s). + Result image(s) by the subtraction. + Correction factor. Default: 1.0 + Correction value. Default: 128.0 + + + Scale the gray values of an image. + Image(s) whose gray values are to be scaled. + Result image(s) by the scale. + Scale factor. Default: 0.01 + Offset. Default: 0 + + + Divide two images. + Image(s) 1. + Image(s) 2. + Result image(s) by the division. + Factor for gray range adaption. Default: 255 + Value for gray range adaption. Default: 0 + + + Multiply two images. + Image(s) 1. + Image(s) 2. + Result image(s) by the product. + Factor for gray range adaption. Default: 0.005 + Value for gray range adaption. Default: 0 + + + Add two images. + Image(s) 1. + Image(s) 2. + Result image(s) by the addition. + Factor for gray value adaption. Default: 0.5 + Value for gray value range adaption. Default: 0 + + + Calculate the absolute value (modulus) of an image. + Image(s) for which the absolute gray values are to be calculated. + Result image(s). + + + Calculate the minimum of two images pixel by pixel. + Image(s) 1. + Image(s) 2. + Result image(s) by the minimization. + + + Calculate the maximum of two images pixel by pixel. + Image(s) 1. + Image(s) 2. + Result image(s) by the maximization. + + + Invert an image. + Input image(s). + Image(s) with inverted gray values. + + + Apply an automatic color correction to panorama images. + Input images. + Output images. + List of source images. + List of destination images. + Reference image. + Projective matrices. + Estimation algorithm for the correction. Default: "standard" + Parameters to be estimated. Default: ["mult_gray"] + Model of OECF to be used. Default: ["laguerre"] + + + Create 6 cube map images of a spherical mosaic. + Input images. + Front cube map. + Rear cube map. + Left cube map. + Right cube map. + Top cube map. + Bottom cube map. + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + Width and height of the resulting cube maps. Default: 1000 + Mode of adding the images to the mosaic image. Default: "voronoi" + Mode of image interpolation. Default: "bilinear" + + + Create a spherical mosaic image. + Input images. + Output image. + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + Minimum latitude of points in the spherical mosaic image. Default: -90 + Maximum latitude of points in the spherical mosaic image. Default: 90 + Minimum longitude of points in the spherical mosaic image. Default: -180 + Maximum longitude of points in the spherical mosaic image. Default: 180 + Latitude and longitude angle step width. Default: 0.1 + Mode of adding the images to the mosaic image. Default: "voronoi" + Mode of interpolation when creating the mosaic image. Default: "bilinear" + + + Combine multiple images into a mosaic image. + Input images. + Output image. + Array of 3x3 projective transformation matrices. + Stacking order of the images in the mosaic. Default: "default" + Should the domains of the input images also be transformed? Default: "false" + 3x3 projective transformation matrix that describes the translation that was necessary to transform all images completely into the output image. + + + Combine multiple images into a mosaic image. + Input images. + Output image. + Index of the central input image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Stacking order of the images in the mosaic. Default: "default" + Should the domains of the input images also be transformed? Default: "false" + Array of 3x3 projective transformation matrices that determine the position of the images in the mosaic. + + + Apply a projective transformation to an image and specify the output image size. + Input image. + Output image. + Homogeneous projective transformation matrix. + Interpolation method for the transformation. Default: "bilinear" + Output image width. + Output image height. + Should the domain of the input image also be transformed? Default: "false" + + + Apply a projective transformation to an image. + Input image. + Output image. + Homogeneous projective transformation matrix. + Interpolation method for the transformation. Default: "bilinear" + Adapt the size of the output image automatically? Default: "false" + Should the domain of the input image also be transformed? Default: "false" + + + Apply an arbitrary affine 2D transformation to an image and specify the output image size. + Input image. + Transformed image. + Input transformation matrix. + Type of interpolation. Default: "constant" + Width of the output image. Default: 640 + Height of the output image. Default: 480 + + + Apply an arbitrary affine 2D transformation to images. + Input image. + Transformed image. + Input transformation matrix. + Type of interpolation. Default: "constant" + Adaption of size of result image. Default: "false" + + + Zoom an image by a given factor. + Input image. + Scaled image. + Scale factor for the width of the image. Default: 0.5 + Scale factor for the height of the image. Default: 0.5 + Type of interpolation. Default: "constant" + + + Zoom an image to a given size. + Input image. + Scaled image. + Width of the resulting image. Default: 512 + Height of the resulting image. Default: 512 + Type of interpolation. Default: "constant" + + + Mirror an image. + Input image. + Reflected image. + Axis of reflection. Default: "row" + + + Rotate an image about its center. + Input image. + Rotated image. + Rotation angle. Default: 90 + Type of interpolation. Default: "constant" + + + Transform an image in polar coordinates back to cartesian coordinates + Input image. + Output image. + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the first column of the input image to. Default: 0.0 + Angle of the ray to map the last column of the input image to. Default: 6.2831853 + Radius of the circle to map the first row of the input image to. Default: 0 + Radius of the circle to map the last row of the input image to. Default: 100 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + + + Transform an annular arc in an image to polar coordinates. + Input image. + Output image. + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to the first column of the output image. Default: 0.0 + Angle of the ray to be mapped to the last column of the output image. Default: 6.2831853 + Radius of the circle to be mapped to the first row of the output image. Default: 0 + Radius of the circle to be mapped to the last row of the output image. Default: 100 + Width of the output image. Default: 512 + Height of the output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + + + Transform an image to polar coordinates + Input image in cartesian coordinates. + Result image in polar coordinates. + Row coordinate of the center of the coordinate system. Default: 100 + Column coordinate of the center of the coordinate system. Default: 100 + Width of the result image. Default: 314 + Height of the result image. Default: 200 + + + Approximate an affine map from a displacement vector field. + Input image. + Output transformation matrix. + + + Deserialize a serialized XLD object. + XLD object. + Handle of the serialized item. + + + Serialize an XLD object. + XLD object. + Handle of the serialized item. + + + Read XLD polygons from a DXF file. + Read XLD polygons. + Name of the DXF file. + Names of the generic parameters that can be adjusted for the DXF input. Default: [] + Values of the generic parameters that can be adjusted for the DXF input. Default: [] + Status information. + + + Write XLD polygons to a file in DXF format. + XLD polygons to be written. + Name of the DXF file. + + + Read XLD contours from a DXF file. + Read XLD contours. + Name of the DXF file. + Names of the generic parameters that can be adjusted for the DXF input. Default: [] + Values of the generic parameters that can be adjusted for the DXF input. Default: [] + Status information. + + + Write XLD contours to a file in DXF format. + XLD contours to be written. + Name of the DXF file. + + + Copy a file to a new location. + File to be copied. + Target location. + + + Set the current working directory. + Name of current working directory to be set. + + + Get the current working directory. + Name of current working directory. + + + Delete an empty directory. + Name of directory to be deleted. + + + Make a directory. + Name of directory to be created. + + + List all files in a directory. + Name of directory to be listed. + Processing options. Default: "files" + Found files (and directories). + + + Delete a file. + File to be deleted. + + + Check whether file exists. + Name of file to be checked. Default: "/bin/cc" + boolean number. + + + Read an iconic object. + Iconic object. + Name of file. + + + Write an iconic object. + Iconic object. + Name of file. + + + Deserialize a serialized iconic object. + Iconic object. + Handle of the serialized item. + + + Serialize an iconic object. + Iconic object. + Handle of the serialized item. + + + Deserialize a serialized image object. + Image object. + Handle of the serialized item. + + + Serialize an image object. + Image object. + Handle of the serialized item. + + + Deserialize a serialized region. + Region. + Handle of the serialized item. + + + Serialize a region. + Region. + Handle of the serialized item. + + + Write regions to a file. + Region of the images which are returned. + Name of region file. Default: "region.hobj" + + + Write images in graphic formats. + Input images. + Graphic format. Default: "tiff" + Fill gray value for pixels not belonging to the image domain (region). Default: 0 + Name of image file. + + + Read images. + Image read. + Number of bytes for file header. Default: 0 + Number of image columns of the filed image. Default: 512 + Number of image lines of the filed image. Default: 512 + Starting point of image area (line). Default: 0 + Starting point of image area (column). Default: 0 + Number of image columns of output image. Default: 512 + Number of image lines of output image. Default: 512 + Type of pixel values. Default: "byte" + Sequence of bits within one byte. Default: "MSBFirst" + Sequence of bytes within one 'short' unit. Default: "MSBFirst" + Data units within one image line (alignment). Default: "byte" + Number of images in the file. Default: 1 + Name of input file. + + + Read binary images or HALCON regions. + Read region. + Name of the region to be read. + + + Read an image with different file formats. + Read image. + Name of the image to be read. Default: "printer_chip/printer_chip_01" + + + Open a file in text or binary format. + Name of file to be opened. Default: "standard" + Type of file access and optional the string encoding. Default: "output" + File handle. + + + Write strings and numbers into a text file. + File handle. + Values to be written into the file. Default: "hallo" + + + Read a character line from a text file. + File handle. + Read line. + Reached end of file before any character was read. + + + Read a string from a text file. + File handle. + Read character sequence. + Reached end of file before any character was added to the output string. + + + Read one character from a text file. + File handle. + Read character, which can be multi-byte or the control string 'eof'. + + + Write a line break and clear the output buffer. + File handle. + + + Closing a text file. + File handle. + + + This operator is inoperable. It had the following function: Close all open files. + + + Test whether contours or polygons are closed. + Contours or polygons to be tested. + Tuple with boolean numbers. + + + Return gray values of an image at the positions of an XLD contour. + Image whose gray values are to be accessed. + Input XLD contour with the coordinates of the positions. + Interpolation method. Default: "nearest_neighbor" + Gray values of the selected image coordinates. + + + Arbitrary geometric moments of contours or polygons treated as point clouds. + Contours or polygons to be examined. + Computation mode. Default: "unnormalized" + Area enclosed by the contour or polygon. + Row coordinate of the centroid. + Column coordinate of the centroid. + First index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + Second index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + The computed moments. + + + Anisometry of contours or polygons treated as point clouds. + Contours or polygons to be examined. + Anisometry of the contours or polygons. + + + Parameters of the equivalent ellipse of contours or polygons treated as point clouds. + Contours or polygons to be examined. + Major radius. + Minor radius. + Angle between the major axis and the column axis (radians). + + + Orientation of contours or polygons treated as point clouds. + Contours or polygons to be examined. + Orientation of the contours or polygons (radians). + + + Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons treated as point clouds. + Contours or polygons to be examined. + Mixed second order moment. + Second order moment along the row axis. + Second order moment along the column axis. + + + Area and center of gravity (centroid) of contours and polygons treated as point clouds. + Point clouds to be examined in form of contours or polygons. + Area of the point cloud. + Row coordinate of the centroid. + Column coordinate of the centroid. + + + Test XLD contours or polygons for self intersection. + Input contours or polygons. + Should the input contours or polygons be closed first? Default: "true" + 1 for contours or polygons with self intersection and 0 otherwise. + + + Choose all contours or polygons containing a given point. + Contours or polygons to be examined. + All contours or polygons containing the test point. + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + + + Test whether one or more contours or polygons enclose the given point(s). + Contours or polygons to be tested. + Row coordinates of the points to be tested. + Column coordinates of the points to be tested. + Tuple with boolean numbers. + + + Select contours or polygons using shape features. + Contours or polygons to be examined. + Contours or polygons fulfilling the condition(s). + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + + + Orientation of contours or polygons. + Contours or polygons to be examined. + Orientation of the contours or polygons (radians). + + + Shape features derived from the ellipse parameters of contours or polygons. + Contours or polygons to be examined. + Anisometry of the contours or polygons. + Bulkiness of the contours or polygons. + Structure factor of the contours or polygons. + + + Shape factor for the compactness of contours or polygons. + Contours or polygons to be examined. + Compactness of the input contours or polygons. + + + Maximum distance between two contour or polygon points. + Contours or polygons to be examined. + Row coordinate of the first extreme point of the contours or polygons. + Column coordinate of the first extreme point of the contours or polygons. + Row coordinate of the second extreme point of the contour or polygons. + Column coordinate of the second extreme point of the contours or polygons. + Distance of the two extreme points of the contours or polygons. + + + Shape factor for the convexity of contours or polygons. + Contours or polygons to be examined. + Convexity of the input contours or polygons. + + + Shape factor for the circularity (similarity to a circle) of contours or polygons. + Contours or polygons to be examined. + Roundness of the input contours or polygons. + + + Parameters of the equivalent ellipse of contours or polygons. + Contours or polygons to be examined. + Major radius. + Minor radius. + Angle between the major axis and the x axis (radians). + + + Smallest enclosing rectangle with arbitrary orientation of contours or polygons. + Contours or polygons to be examined. + Row coordinate of the center point of the enclosing rectangle. + Column coordinate of the center point of the enclosing rectangle. + Orientation of the enclosing rectangle (arc measure) + First radius (half length) of the enclosing rectangle. + Second radius (half width) of the enclosing rectangle. + + + Enclosing rectangle parallel to the coordinate axes of contours or polygons. + Contours or polygons to be examined. + Row coordinate of upper left corner point of the enclosing rectangle. + Column coordinate of upper left corner point of the enclosing rectangle. + Row coordinate of lower right corner point of the enclosing rectangle. + Column coordinate of lower right corner point of the enclosing rectangle. + + + Smallest enclosing circle of contours or polygons. + Contours or polygons to be examined. + Row coordinate of the center of the enclosing circle. + Column coordinate of the center of the enclosing circle. + Radius of the enclosing circle. + + + Transform the shape of contours or polygons. + Contours or polygons to be transformed. + Transformed contours respectively polygons. + Type of transformation. Default: "convex" + + + Length of contours or polygons. + Contours or polygons to be examined. + Length of the contour or polygon. + + + Arbitrary geometric moments of contours or polygons. + Contours or polygons to be examined. + Computation mode. Default: "unnormalized" + Point order along the boundary. Default: "positive" + Area enclosed by the contour or polygon. + Row coordinate of the centroid. + Column coordinate of the centroid. + First index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + Second index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + The computed moments. + + + Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons. + Contours or polygons to be examined. + Mixed second order moment. + Second order moment along the row axis. + Second order moment along the column axis. + + + Area and center of gravity (centroid) of contours and polygons. + Contours or polygons to be examined. + Area enclosed by the contour or polygon. + Row coordinate of the centroid. + Column coordinate of the centroid. + point order along the boundary ('positive'/'negative'). + + + Geometric moments of regions. + Regions to be examined. + Moment of 2nd order. + Moment of 2nd order. + Moment of 2nd order. + Moment of 2nd order. + + + Geometric moments of regions. + Regions to be examined. + Moment of 2nd order. + Moment of 2nd order. + Moment of 2nd order. + Moment of 3rd order. + + + Geometric moments of regions. + Regions to be examined. + Moment of 3rd order (line-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (line-dependent). + + + Geometric moments of regions. + Regions to be examined. + Moment of 3rd order (line-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (line-dependent). + + + Smallest surrounding rectangle with any orientation. + Regions to be examined. + Line index of the center. + Column index of the center. + Orientation of the surrounding rectangle (arc measure) + First radius (half length) of the surrounding rectangle. + Second radius (half width) of the surrounding rectangle. + + + Surrounding rectangle parallel to the coordinate axes. + Regions to be examined. + Line index of upper left corner point. + Column index of upper left corner point. + Line index of lower right corner point. + Column index of lower right corner point. + + + Smallest surrounding circle of a region. + Regions to be examined. + Line index of the center. + Column index of the center. + Radius of the surrounding circle. + + + Choose regions having a certain relation to each other. + Regions to be examined. + Region compared to Regions. + Regions fulfilling the condition. + Shape features to be checked. Default: "covers" + Lower border of feature. Default: 50.0 + Upper border of the feature. Default: 100.0 + + + Calculate shape features of regions. + Regions to be examined. + Shape features to be calculated. Default: "area" + The calculated features. + + + Choose regions with the aid of shape features. + Regions to be examined. + Regions fulfilling the condition. + Shape features to be checked. Default: "area" + Linkage type of the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + + + Characteristic values for runlength coding of regions. + Regions to be examined. + Number of runs. + Storing factor in relation to a square. + Mean number of runs per line. + Mean length of runs. + Number of bytes necessary for coding the region. + + + Search direct neighbors. + Starting regions. + Comparative regions. + Maximal distance of regions. Default: 1 + Indices of the found regions from Regions1. + Indices of the found regions from Regions2. + + + Geometric moments of regions. + Regions to be examined. + Moment of 2nd order. + Moment of 2nd order. + + + Geometric moments of regions. + Regions to be examined. + Product of inertia of the axes through the center parallel to the coordinate axes. + Moment of 2nd order (line-dependent). + Moment of 2nd order (column-dependent). + + + Calculate the geometric moments of regions. + Input regions. + Product of inertia of the axes through the center parallel to the coordinate axes. + Moment of 2nd order (row-dependent). + Moment of 2nd order (column-dependent). + Length of the major axis of the input region. + Length of the minor axis of the input region. + + + Minimum distance between the contour pixels of two regions each. + Regions to be examined. + Regions to be examined. + Minimum distance between contours of the regions. + Line index on contour in Regions1. + Column index on contour in Regions1. + Line index on contour in Regions2. + Column index on contour in Regions2. + + + Minimum distance between two regions with the help of dilation. + Regions to be examined. + Regions to be examined. + Minimum distances of the regions. + + + Maximal distance between two boundary points of a region. + Regions to be examined. + Row index of the first extreme point. + Column index of the first extreme point. + Row index of the second extreme point. + Column index of the second extreme point. + Distance of the two extreme points. + + + Test if the region contains a given point. + Region(s) to be examined. + Row index of the test pixel(s). Default: 100 + Column index of the test pixel(s). Default: 100 + Boolean result value. + + + Index of all regions containing a given pixel. + Regions to be examined. + Line index of the test pixel. Default: 100 + Column index of the test pixel. Default: 100 + Index of the regions containing the test pixel. + + + Choose all regions containing a given pixel. + Regions to be examined. + All regions containing the test pixel. + Line index of the test pixel. Default: 100 + Column index of the test pixel. Default: 100 + + + Select regions of a given shape. + Input regions to be selected. + Regions with desired shape. + Shape features to be checked. Default: "max_area" + Similarity measure. Default: 70.0 + + + Hamming distance between two regions using normalization. + Regions to be examined. + Comparative regions. + Type of normalization. Default: "center" + Hamming distance of two regions. + Similarity of two regions. + + + Hamming distance between two regions. + Regions to be examined. + Comparative regions. + Hamming distance of two regions. + Similarity of two regions. + + + Shape features derived from the ellipse parameters. + Region(s) to be examined. + Shape feature (in case of a circle = 1.0). + Calculated shape feature. + Calculated shape feature. + + + Calculate the Euler number. + Region(s) to be examined. + Calculated Euler number. + + + Orientation of a region. + Region(s) to be examined. + Orientation of region (arc measure). + + + Calculate the parameters of the equivalent ellipse. + Input regions. + Main radius (normalized to the area). + Secondary radius (normalized to the area). + Angle between main radius and x-axis in radians. + + + Pose relation of regions. + Starting regions + Comparative regions + Desired neighboring relation. Default: "left" + Indices in the input tuples (Regions1 or ParRef{Regions2}), respectively. + Indices in the input tuples (Regions1 or ParRef{Regions2}), respectively. + + + Pose relation of regions with regard to + Starting regions. + Comparative regions. + Percentage of the area of the comparative region which must be located left/right or Default: 50 + Indices of the regions in the tuple of the input regions which fulfill the pose relation. + Indices of the regions in the tuple of the input regions which fulfill the pose relation. + Horizontal pose relation in which RegionIndex2[n] stands with RegionIndex1[n]. + Vertical pose relation in which RegionIndex2[n] stands with RegionIndex1[n]. + + + Shape factor for the convexity of a region. + Region(s) to be examined. + Convexity of the input region(s). + + + Contour length of a region. + Region(s) to be examined. + Contour length of the input region(s). + + + Number of connection components and holes + Region(s) to be examined. + Number of connection components of a region. + Number of holes of a region. + + + Shape factor for the rectangularity of a region. + Region(s) to be examined. + Rectangularity of the input region(s). + + + Shape factor for the compactness of a region. + Region(s) to be examined. + Compactness of the input region(s). + + + Shape factor for the circularity (similarity to a circle) of a region. + Region(s) to be examined. + Circularity of the input region(s). + + + Compute the area of holes of regions. + Region(s) to be examined. + Area(s) of holes of the region(s). + + + Area and center of regions. + Region(s) to be examined. + Area of the region. + Line index of the center. + Column index of the center. + + + Distribution of runs needed for runlength encoding of a region. + Region to be examined. + Length distribution of the region (foreground). + Length distribution of the background. + + + Shape factors from contour. + Region(s) to be examined. + Mean distance from the center. + Standard deviation of Distance. + Shape factor for roundness. + Number of polygon sides. + + + Largest inner rectangle of a region. + Region to be examined. + Row coordinate of the upper left corner point. + Column coordinate of the upper left corner point. + Row coordinate of the lower right corner point. + Column coordinate of the lower right corner point. + + + Largest inner circle of a region. + Regions to be examined. + Line index of the center. + Column index of the center. + Radius of the inner circle. + + + Select the longest input lines. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + (Maximum) desired number of output lines. Default: 10 + Row coordinates of the starting points of the output lines. + Column coordinates of the starting points of the output lines. + Row coordinates of the ending points of the output lines. + Column coordinates of the ending points of the output lines. + + + Partition lines according to various criteria. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Features to be used for selection. + Desired combination of the features. + Lower limits of the features or 'min'. Default: "min" + Upper limits of the features or 'max'. Default: "max" + Row coordinates of the starting points of the lines fulfilling the conditions. + Column coordinates of the starting points of the lines fulfilling the conditions. + Row coordinates of the ending points of the lines fulfilling the conditions. + Column coordinates of the ending points of the lines fulfilling the conditions. + Row coordinates of the starting points of the lines not fulfilling the conditions. + Column coordinates of the starting points of the lines not fulfilling the conditions. + Row coordinates of the ending points of the lines not fulfilling the conditions. + Column coordinates of the ending points of the lines not fulfilling the conditions. + + + Select lines according to various criteria. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Features to be used for selection. Default: "length" + Desired combination of the features. Default: "and" + Lower limits of the features or 'min'. Default: "min" + Upper limits of the features or 'max'. Default: "max" + Row coordinates of the starting points of the output lines. + Column coordinates of the starting points of the output lines. + Row coordinates of the ending points of the output lines. + Column coordinates of the ending points of the output lines. + + + Calculate the center of gravity, length, and orientation of a line. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Row coordinates of the centers of gravity of the input lines. + Column coordinates of the centers of gravity of the input lines. + Euclidean length of the input lines. + Orientation of the input lines. + + + Calculate the orientation of lines. + Row coordinates of the starting points of the input lines. + Column coordinates of the starting points of the input lines. + Row coordinates of the ending points of the input lines. + Column coordinates of the ending points of the input lines. + Orientation of the input lines. + + + Approximate a contour by arcs and lines. + Row of the contour. Default: 32 + Column of the contour. Default: 32 + Row of the center of an arc. + Column of the center of an arc. + Angle of an arc. + Row of the starting point of an arc. + Column of the starting point of an arc. + Row of the starting point of a line segment. + Column of the starting point of a line segment. + Row of the ending point of a line segment. + Column of the ending point of a line segment. + Sequence of line (value 0) and arc segments (value 1). + + + Approximate a contour by arcs and lines. + Row of the contour. Default: 32 + Column of the contour. Default: 32 + Minimum width of Gauss operator for coordinate smoothing ($ greater than $ 0.4). Default: 0.5 + Maximum width of Gauss operator for coordinate smoothing ($ greater than $ 0.4). Default: 2.4 + Minimum threshold value of the curvature for accepting a corner (relative to the largest curvature present). Default: 0.3 + Maximum threshold value of the curvature for accepting a corner (relative to the largest curvature present). Default: 0.9 + Step width for threshold increase. Default: 0.2 + Minimum width of Gauss operator for smoothing the curvature function ($ greater than $ 0.4). Default: 0.5 + Maximum width of Gauss operator for smoothing the curvature function. Default: 2.4 + Minimum width of curve area for curvature determination ($ greater than $ 0.4). Default: 2 + Maximum width of curve area for curvature determination. Default: 12 + Weighting factor for approximation precision. Default: 1.0 + Weighting factor for large segments. Default: 1.0 + Weighting factor for small segments. Default: 1.0 + Row of the center of an arc. + Column of the center of an arc. + Angle of an arc. + Row of the starting point of an arc. + Column of the starting point of an arc. + Row of the starting point of a line segment. + Column of the starting point of a line segment. + Row of the ending point of a line segment. + Column of the ending point of a line segment. + Sequence of line (value 0) and arc segments (value 1). + + + Calculate gray value moments and approximation by a first order surface (plane). + Regions to be checked. + Corresponding gray values. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Alpha of the approximating surface. + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + + + Calculate gray value moments and approximation by a second order surface. + Regions to be checked. + Corresponding gray values. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Alpha of the approximating surface. + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Delta of the approximating surface. + Parameter Epsilon of the approximating surface. + Parameter Zeta of the approximating surface. + + + Create a curved gray surface with second order polynomial. + Created image with new image matrix. + Pixel type. Default: "byte" + Second order coefficient in vertical direction. Default: 1.0 + Second order coefficient in horizontal direction. Default: 1.0 + Mixed second order coefficient. Default: 1.0 + First order coefficient in vertical direction. Default: 1.0 + First order coefficient in horizontal direction. Default: 1.0 + Zero order coefficient. Default: 1.0 + Row coordinate of the reference point of the surface. Default: 256.0 + Column coordinate of the reference point of the surface. Default: 256.0 + Width of image. Default: 512 + Height of image. Default: 512 + + + Create a tilted gray surface with first order polynomial. + Created image with new image matrix. + Pixel type. Default: "byte" + First order coefficient in vertical direction. Default: 1.0 + First order coefficient in horizontal direction. Default: 1.0 + Zero order coefficient. Default: 1.0 + Row coordinate of the reference point of the surface. Default: 256.0 + Column coordinate of the reference point of the surface. Default: 256.0 + Width of image. Default: 512 + Height of image. Default: 512 + + + Determine a histogram of features along all threshold values. + Region in which the features are to be examined. + Gray value image. + Feature to be examined. Default: "convexity" + Row of the pixel which the region must contain. Default: 256 + Column of the pixel which the region must contain. Default: 256 + Absolute distribution of the feature. + Relative distribution of the feature. + + + Determine a histogram of features along all threshold values. + Region in which the features are to be examined. + Gray value image. + Feature to be examined. Default: "connected_components" + Absolute distribution of the feature. + Relative distribution of the feature. + + + Calculates gray value features for a set of regions. + Regions to be examined. + Gray value image. + Names of the features. Default: "mean" + Value sof the features. + + + Select regions based on gray value features. + Regions to be examined. + Gray value image. + Regions having features within the limits. + Names of the features. Default: "mean" + Logical connection of features. Default: "and" + Lower limit(s) of features. Default: 128.0 + Upper limit(s) of features. Default: 255.0 + + + Determine the minimum and maximum gray values within regions. + Regions, the features of which are to be calculated. + Gray value image. + Percentage below (above) the absolute maximum (minimum). Default: 0 + "Minimum" gray value. + "Maximum" gray value. + Difference between Max and Min. + + + Calculate the mean and deviation of gray values. + Regions in which the features are calculated. + Gray value image. + Mean gray value of a region. + Deviation of gray values within a region. + + + Calculate the gray value distribution of a single channel image within a certain gray value range. + Region in which the histogram is to be calculated. + Input image. + Minimum gray value. Default: 0 + Maximum gray value. Default: 255 + Number of bins. Default: 256 + Histogram to be calculated. + Bin size. + + + Calculate the histogram of two-channel gray value images. + Region in which the histogram is to be calculated. + Channel 1. + Channel 2. + Histogram to be calculated. + + + Calculate the gray value distribution. + Region in which the histogram is to be calculated. + Image the gray value distribution of which is to be calculated. + Quantization of the gray values. Default: 1.0 + Absolute frequencies of the gray values. + + + Calculate the gray value distribution. + Region in which the histogram is to be calculated. + Image the gray value distribution of which is to be calculated. + Absolute frequencies of the gray values. + Frequencies, normalized to the area of the region. + + + Determine the entropy and anisotropy of images. + Regions where the features are to be determined. + Gray value image. + Information content (entropy) of the gray values. + Measure of the symmetry of gray value distribution. + + + Calculate gray value features from a co-occurrence matrix. + Co-occurrence matrix. + Homogeneity of the gray values. + Correlation of gray values. + Local homogeneity of gray values. + Gray value contrast. + + + Calculate a co-occurrence matrix and derive gray value features thereof. + Region to be examined. + Corresponding gray values. + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction in which the matrix is to be calculated. Default: 0 + Gray value energy. + Correlation of gray values. + Local homogeneity of gray values. + Gray value contrast. + + + Calculate the co-occurrence matrix of a region in an image. + Region to be checked. + Image providing the gray values. + Co-occurrence matrix (matrices). + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction of neighbor relation. Default: 0 + + + Calculate gray value moments and approximation by a plane. + Regions to be checked. + Corresponding gray values. + Mixed moments along a line. + Mixed moments along a column. + Parameter Alpha of the approximating plane. + Parameter Beta of the approximating plane. + Mean gray value. + + + Calculate the deviation of the gray values from the approximating image plane. + Regions, of which the plane deviation is to be calculated. + Gray value image. + Deviation of the gray values within a region. + + + Compute the orientation and major axes of a region in a gray value image. + Region(s) to be examined. + Gray value image. + Major axis of the region. + Minor axis of the region. + Angle enclosed by the major axis and the x-axis. + + + Compute the area and center of gravity of a region in a gray value image. + Region(s) to be examined. + Gray value image. + Gray value volume of the region. + Row coordinate of the gray value center of gravity. + Column coordinate of the gray value center of gravity. + + + Calculate horizontal and vertical gray-value projections. + Region to be processed. + Grayvalues for projections. + Method to compute the projections. Default: "simple" + Horizontal projection. + Vertical projection. + + + Access iconic objects that were created during the search for 2D data code symbols. + Objects that are created as intermediate results during the detection or evaluation of 2D data codes. + Handle of the 2D data code model. + Handle of the 2D data code candidate. Either an integer (usually the ResultHandle of find_data_code_2d) or a string representing a group of candidates. Default: "all_candidates" + Name of the iconic object to return. Default: "candidate_xld" + + + Get the alphanumerical results that were accumulated during the search for 2D data code symbols. + Handle of the 2D data code model. + Handle of the 2D data code candidate. Either an integer (usually the ResultHandle of find_data_code_2d) or a string representing a group of candidates. Default: "all_candidates" + Names of the results of the 2D data code to return. Default: "status" + List with the results. + + + Detect and read 2D data code symbols in an image or train the 2D data code model. + Input image. If the image has a reduced domain, the data code search is reduced to that domain. This usually reduces the runtime of the operator. However, if the datacode is not fully inside the domain, the datacode might not be found correctly. In rare cases, data codes may be found outside the domain. If these results are undesirable, they have to be subsequently eliminated. + XLD contours that surround the successfully decoded data code symbols. The order of the contour points reflects the orientation of the detected symbols. The contours begin in the top left corner (see 'orientation' at get_data_code_2d_results) and continue clockwise. Alignment{left} Figure[1][1][60]{get_data_code_2d_results-xld_qrcode} Order of points of SymbolXLDs Figure Alignment @f$ + Handle of the 2D data code model. + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + Handles of all successfully decoded 2D data code symbols. + Decoded data strings of all detected 2D data code symbols in the image. + + + Set selected parameters of the 2D data code model. + Handle of the 2D data code model. + Names of the generic parameters that shall be adjusted for the 2D data code. Default: "polarity" + Values of the generic parameters that are adjusted for the 2D data code. Default: "light_on_dark" + + + Get one or several parameters that describe the 2D data code model. + Handle of the 2D data code model. + Names of the generic parameters that are to be queried for the 2D data code model. Default: "polarity" + Values of the generic parameters. + + + Get for a given 2D data code model the names of the generic parameters or objects that can be used in the other 2D data code operators. + Handle of the 2D data code model. + Name of the parameter group. Default: "get_result_params" + List containing the names of the supported generic parameters. + + + Deserialize a serialized 2D data code model. + Handle of the serialized item. + Handle of the 2D data code model. + + + Serialize a 2D data code model. + Handle of the 2D data code model. + Handle of the serialized item. + + + Read a 2D data code model from a file and create a new model. + Name of the 2D data code model file. Default: "data_code_model.dcm" + Handle of the created 2D data code model. + + + Writes a 2D data code model into a file. + Handle of the 2D data code model. + Name of the 2D data code model file. Default: "data_code_model.dcm" + + + This operator is inoperable. It had the following function: Delete all 2D data code models and free the allocated memory. + + + Delete a 2D data code model and free the allocated memory. + Handle of the 2D data code model. + + + Create a model of a 2D data code class. + Type of the 2D data code. Default: "Data Matrix ECC 200" + Names of the generic parameters that can be adjusted for the 2D data code model. Default: [] + Values of the generic parameters that can be adjusted for the 2D data code model. Default: [] + Handle for using and accessing the 2D data code model. + + + Deserialize serialized training data for classifiers. + Handle of the serialized item. + Handle of the training data. + + + Serialize training data for classifiers. + Handle of the training data. + Handle of the serialized item. + + + Read the training data for classifiers from a file. + File name of the training data. + Handle of the training data. + + + Save the training data for classifiers in a file. + Handle of the training data. + Name of the file in which the training data will be written. + + + Select certain features from training data to create training data containing less features. + Handle of the training data. + Indices or names to select the subfeatures or columns. + Handle of the reduced training data. + + + Define subfeatures in training data. + Handle of the training data that should be partitioned into subfeatures. + Length of the subfeatures. + Names of the subfeatures. + + + Get the training data of a Gaussian Mixture Model (GMM). + Handle of a GMM that contains training data. + Handle of the training data of the classifier. + + + Add training data to a Gaussian Mixture Model (GMM). + Handle of a GMM which receives the training data. + Handle of training data for a classifier. + + + Get the training data of a multilayer perceptron (MLP). + Handle of a MLP that contains training data. + Handle of the training data of the classifier. + + + Add training data to a multilayer perceptron (MLP). + MLP handle which receives the training data. + Training data for a classifier. + + + Get the training data of a k-nearest neighbors (k-NN) classifier. + Handle of the k-NN classifier that contains training data. + Handle of the training data of the classifier. + + + Add training data to a k-nearest neighbors (k-NN) classifier. + Handle of a k-NN which receives the training data. + Training data for a classifier. + + + Get the training data of a support vector machine (SVM). + Handle of a SVM that contains training data. + Handle of the training data of the classifier. + + + Add training data to a support vector machine (SVM). + Handle of a SVM which receives the training data. + Training data for a classifier. + + + Return the number of training samples stored in the training data. + Handle of training data. + Number of stored training samples. + + + Return a training sample from training data. + Handle of training data for a classifier. + Number of stored training sample. + Feature vector of the training sample. + Class of the training sample. + + + This operator is inoperable. It had the following function: Clear all training data for classifiers. + + + Clears training data for classifiers. + Handle of training data for a classifier. + + + Add a training sample to training data. + Handle of the training data. + The order of the feature vector. Default: "row" + Feature vector of the training sample. + Class of the training sample. + + + Create a handle for training data for classifiers. + Number of dimensions of the feature vector. Default: 10 + Handle of the training data. + + + Selects an optimal combination of features to classify the provided data. + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + A trained MLP classifier using only the selected features. + The selected feature set, contains indices referring. + The achieved score using two-fold cross-validation. + + + Selects an optimal combination of features to classify the provided data. + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + A trained SVM classifier using only the selected features. + The selected feature set, contains indices. + The achieved score using two-fold cross-validation. + + + Selects an optimal combination from a set of features to classify the provided data. + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the classifier. Default: [] + Values of generic parameters to configure the classifier. Default: [] + A trained GMM classifier using only the selected features. + The selected feature set, contains indices or names. + The achieved score using two-fold cross-validation. + + + Selects an optimal subset from a set of features to solve a certain classification problem. + Handle of the training data. + Method to perform the selection. Default: "greedy" + Names of generic parameters to configure the selection process and the classifier. Default: [] + Values of generic parameters to configure the selection process and the classifier. Default: [] + A trained k-NN classifier using only the selected features. + The selected feature set, contains indices or names. + The achieved score using two-fold cross-validation. + + + This operator is inoperable. It had the following function: Clear all k-NN classifiers. + + + Clear a k-NN classifier. + Handle of the k-NN classifier. + + + Return the number of training samples stored in the training data of a k-nearest neighbors (k-NN) classifier. + Handle of the k-NN classifier. + Number of stored training samples. + + + Return a training sample from the training data of a k-nearest neighbors (k-NN) classifier. + Handle of the k-NN classifier. + Index of the training sample. + Feature vector of the training sample. + Class of the training sample. + + + Deserialize a serialized k-NN classifier. + Handle of the serialized item. + Handle of the k-NN classifier. + + + Serialize a k-NN classifier. + Handle of the k-NN classifier. + Handle of the serialized item. + + + Read the k-NN classifier from a file. + File name of the classifier. + Handle of the k-NN classifier. + + + Save the k-NN classifier in a file. + Handle of the k-NN classifier. + Name of the file in which the classifier will be written. + + + Get parameters of a k-NN classification. + Handle of the k-NN classifier. + Names of the parameters that can be read from the k-NN classifier. Default: ["method","k"] + Values of the selected parameters. + + + Set parameters for k-NN classification. + Handle of the k-NN classifier. + Names of the generic parameters that can be adjusted for the k-NN classifier. Default: ["method","k","max_num_classes"] + Values of the generic parameters that can be adjusted for the k-NN classifier. Default: ["classes_distance",5,1] + + + Search for the next neighbors for a given feature vector. + Handle of the k-NN classifier. + Features that should be classified. + The classification result, either class IDs or sample indices. + A rating for the results. This value contains either a distance, a frequency or a weighted frequency. + + + Creates the search trees for a k-NN classifier. + Handle of the k-NN classifier. + Names of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the k-NN classifier creation. Default: [] + + + Add a sample to a k-nearest neighbors (k-NN) classifier. + Handle of the k-NN classifier. + List of features to add. + Class IDs of the features. + + + Create a k-nearest neighbors (k-NN) classifier. + Number of dimensions of the feature. Default: 10 + Handle of the k-NN classifier. + + + This operator is inoperable. It had the following function: Clear all look-up table classifiers. + + + Clear a look-up table classifier. + Handle of the LUT classifier. + + + Create a look-up table using a k-nearest neighbors classifier (k-NN) to classify byte images. + Handle of the k-NN classifier. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + Create a look-up table using a gaussian mixture model to classify byte images. + GMM handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + Create a look-up table using a Support-Vector-Machine to classify byte images. + SVM handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + Create a look-up table using a multi-layer perceptron to classify byte images. + MLP handle. + Names of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Values of the generic parameters that can be adjusted for the LUT classifier creation. Default: [] + Handle of the LUT classifier. + + + This operator is inoperable. It had the following function: Clear all Gaussian Mixture Models. + + + Clear a Gaussian Mixture Model. + GMM handle. + + + Clear the training data of a Gaussian Mixture Model. + GMM handle. + + + Deserialize a serialized Gaussian Mixture Model. + Handle of the serialized item. + GMM handle. + + + Serialize a Gaussian Mixture Model (GMM). + GMM handle. + Handle of the serialized item. + + + Read a Gaussian Mixture Model from a file. + File name. + GMM handle. + + + Write a Gaussian Mixture Model to a file. + GMM handle. + File name. + + + Read the training data of a Gaussian Mixture Model from a file. + GMM handle. + File name. + + + Write the training data of a Gaussian Mixture Model to a file. + GMM handle. + File name. + + + Calculate the class of a feature vector by a Gaussian Mixture Model. + GMM handle. + Feature vector. + Number of best classes to determine. Default: 1 + Result of classifying the feature vector with the GMM. + A-posteriori probability of the classes. + Probability density of the feature vector. + Normalized k-sigma-probability for the feature vector. + + + Evaluate a feature vector by a Gaussian Mixture Model. + GMM handle. + Feature vector. + A-posteriori probability of the classes. + Probability density of the feature vector. + Normalized k-sigma-probability for the feature vector. + + + Train a Gaussian Mixture Model. + GMM handle. + Maximum number of iterations of the expectation maximization algorithm Default: 100 + Threshold for relative change of the error for the expectation maximization algorithm to terminate. Default: 0.001 + Mode to determine the a-priori probabilities of the classes Default: "training" + Regularization value for preventing covariance matrix singularity. Default: 0.0001 + Number of found centers per class + Number of executed iterations per class + + + Compute the information content of the preprocessed feature vectors of a GMM. + GMM handle. + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Relative information content of the transformed feature vectors. + Cumulative information content of the transformed feature vectors. + + + Return the number of training samples stored in the training data of a Gaussian Mixture Model (GMM). + GMM handle. + Number of stored training samples. + + + Return a training sample from the training data of a Gaussian Mixture Models (GMM). + GMM handle. + Index of the stored training sample. + Feature vector of the training sample. + Class of the training sample. + + + Add a training sample to the training data of a Gaussian Mixture Model. + GMM handle. + Feature vector of the training sample to be stored. + Class of the training sample to be stored. + Standard deviation of the Gaussian noise added to the training data. Default: 0.0 + + + Return the parameters of a Gaussian Mixture Model. + GMM handle. + Number of dimensions of the feature space. + Number of classes of the GMM. + Minimum number of centers per GMM class. + Maximum number of centers per GMM class. + Type of the covariance matrices. + + + Create a Gaussian Mixture Model for classification + Number of dimensions of the feature space. Default: 3 + Number of classes of the GMM. Default: 5 + Number of centers per class. Default: 1 + Type of the covariance matrices. Default: "spherical" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the GMM with random values. Default: 42 + GMM handle. + + + This operator is inoperable. It had the following function: Clear all support vector machines. + + + Clear a support vector machine. + SVM handle. + + + Clear the training data of a support vector machine. + SVM handle. + + + Deserialize a serialized support vector machine (SVM). + Handle of the serialized item. + SVM handle. + + + Serialize a support vector machine (SVM). + SVM handle. + Handle of the serialized item. + + + Read a support vector machine from a file. + File name. + SVM handle. + + + Write a support vector machine to a file. + SVM handle. + File name. + + + Read the training data of a support vector machine from a file. + SVM handle. + File name. + + + Write the training data of a support vector machine to a file. + SVM handle. + File name. + + + Evaluate a feature vector by a support vector machine. + SVM handle. + Feature vector. + Result of evaluating the feature vector with the SVM. + + + Classify a feature vector by a support vector machine. + SVM handle. + Feature vector. + Number of best classes to determine. Default: 1 + Result of classifying the feature vector with the SVM. + + + Approximate a trained support vector machine by a reduced support vector machine for faster classification. + Original SVM handle. + Type of postprocessing to reduce number of SV. Default: "bottom_up" + Minimum number of remaining SVs. Default: 2 + Maximum allowed error of reduction. Default: 0.001 + SVMHandle of reduced SVM. + + + Train a support vector machine. + SVM handle. + Stop parameter for training. Default: 0.001 + Mode of training. For normal operation: 'default'. If SVs already included in the SVM should be used for training: 'add_sv_to_train_set'. For alpha seeding: the respective SVM handle. Default: "default" + + + Compute the information content of the preprocessed feature vectors of a support vector machine + SVM handle. + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Relative information content of the transformed feature vectors. + Cumulative information content of the transformed feature vectors. + + + Return the number of support vectors of a support vector machine. + SVM handle. + Total number of support vectors. + Number of SV of each sub-SVM. + + + Return the index of a support vector from a trained support vector machine. + SVM handle. + Index of the stored support vector. + Index of the support vector in the training set. + + + Return the number of training samples stored in the training data of a support vector machine. + SVM handle. + Number of stored training samples. + + + Return a training sample from the training data of a support vector machine. + SVM handle. + Number of the stored training sample. + Feature vector of the training sample. + Target vector of the training sample. + + + Add a training sample to the training data of a support vector machine. + SVM handle. + Feature vector of the training sample to be stored. + Class of the training sample to be stored. + + + Return the parameters of a support vector machine. + SVM handle. + Number of input variables (features) of the SVM. + The kernel type. + Additional parameter for the kernel. + Regularization constant of the SVM. + Number of classes of the test data. + The mode of the SVM. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). + + + Create a support vector machine for pattern classification. + Number of input variables (features) of the SVM. Default: 10 + The kernel type. Default: "rbf" + Additional parameter for the kernel function. In case of RBF kernel the value for gamma@f$ Default: 0.02 + Regularisation constant of the SVM. Default: 0.05 + Number of classes. Default: 5 + The mode of the SVM. Default: "one-versus-one" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + SVM handle. + + + This operator is inoperable. It had the following function: Clear all multilayer perceptrons. + + + Clear a multilayer perceptron. + MLP handle. + + + Clear the training data of a multilayer perceptron. + MLP handle. + + + Deserialize a serialized multilayer perceptron. + Handle of the serialized item. + MLP handle. + + + Serialize a multilayer perceptron (MLP). + MLP handle. + Handle of the serialized item. + + + Read a multilayer perceptron from a file. + File name. + MLP handle. + + + Write a multilayer perceptron to a file. + MLP handle. + File name. + + + Read the training data of a multilayer perceptron from a file. + MLP handle. + File name. + + + Write the training data of a multilayer perceptron to a file. + MLP handle. + File name. + + + Calculate the class of a feature vector by a multilayer perceptron. + MLP handle. + Feature vector. + Number of best classes to determine. Default: 1 + Result of classifying the feature vector with the MLP. + Confidence(s) of the class(es) of the feature vector. + + + Calculate the evaluation of a feature vector by a multilayer perceptron. + MLP handle. + Feature vector. + Result of evaluating the feature vector with the MLP. + + + Train a multilayer perceptron. + MLP handle. + Maximum number of iterations of the optimization algorithm. Default: 200 + Threshold for the difference of the weights of the MLP between two iterations of the optimization algorithm. Default: 1.0 + Threshold for the difference of the mean error of the MLP on the training data between two iterations of the optimization algorithm. Default: 0.01 + Mean error of the MLP on the training data. + Mean error of the MLP on the training data as a function of the number of iterations of the optimization algorithm. + + + Compute the information content of the preprocessed feature vectors of a multilayer perceptron. + MLP handle. + Type of preprocessing used to transform the feature vectors. Default: "principal_components" + Relative information content of the transformed feature vectors. + Cumulative information content of the transformed feature vectors. + + + Return the number of training samples stored in the training data of a multilayer perceptron. + MLP handle. + Number of stored training samples. + + + Return a training sample from the training data of a multilayer perceptron. + MLP handle. + Number of stored training sample. + Feature vector of the training sample. + Target vector of the training sample. + + + Get the parameters of a rejection class. + MLP handle. + Names of the generic parameters to return. Default: "sampling_strategy" + Values of the generic parameters. + + + Set the parameters of a rejection class. + MLP handle. + Names of the generic parameters. Default: "sampling_strategy" + Values of the generic parameters. Default: "hyperbox_around_all_classes" + + + Add a training sample to the training data of a multilayer perceptron. + MLP handle. + Feature vector of the training sample to be stored. + Class or target vector of the training sample to be stored. + + + Return the regularization parameters of a multilayer perceptron. + MLP handle. + Name of the regularization parameter to return. Default: "weight_prior" + Value of the regularization parameter. + + + Set the regularization parameters of a multilayer perceptron. + MLP handle. + Name of the regularization parameter to set. Default: "weight_prior" + Value of the regularization parameter. Default: 1.0 + + + Return the parameters of a multilayer perceptron. + MLP handle. + Number of input variables (features) of the MLP. + Number of hidden units of the MLP. + Number of output variables (classes) of the MLP. + Type of the activation function in the output layer of the MLP. + Type of preprocessing used to transform the feature vectors. + Preprocessing parameter: Number of transformed features. + + + Create a multilayer perceptron for classification or regression. + Number of input variables (features) of the MLP. Default: 20 + Number of hidden units of the MLP. Default: 10 + Number of output variables (classes) of the MLP. Default: 5 + Type of the activation function in the output layer of the MLP. Default: "softmax" + Type of preprocessing used to transform the feature vectors. Default: "normalization" + Preprocessing parameter: Number of transformed features (ignored for Preprocessing $=$ 'none' and Preprocessing $=$ 'normalization'). Default: 10 + Seed value of the random number generator that is used to initialize the MLP with random values. Default: 42 + MLP handle. + + + Deserialize a serialized classifier. + Handle of the classifier. + Handle of the serialized item. + + + Serialize a classifier. + Handle of the classifier. + Handle of the serialized item. + + + Save a classifier in a file. + Handle of the classifier. + Name of the file which contains the written data. + + + Set system parameters for classification. + Handle of the classifier. + Name of the wanted parameter. Default: "split_error" + Value of the parameter. Default: 0.1 + + + Read a training data set from a file. + Filename of the data set to train. Default: "sampset1" + Identification of the data set to train. + + + Read a classifier from a file. + Handle of the classifier. + Filename of the classifier. + + + Train the classifier with one data set. + Handle of the classifier. + Number of the data set to train. + Name of the protocol file. Default: "training_prot" + Number of arrays of attributes to learn. Default: 500 + Classification error for termination. Default: 0.05 + Error during the assignment. Default: 100 + + + Train the classifier. + Handle of the classifier. + Array of attributes to learn. Default: [1.0,1.5,2.0] + Class to which the array has to be assigned. Default: 1 + + + Get information about the current parameter. + Handle of the classifier. + Name of the system parameter. Default: "split_error" + Value of the system parameter. + + + Free memory of a data set. + Number of the data set. + + + Destroy the classifier. + Handle of the classifier. + + + Create a new classifier. + Handle of the classifier. + + + Describe the classes of a box classifier. + Handle of the classifier. + Highest dimension for output. Default: 3 + Indices of the classes. + Indices of the boxes. + Lower bounds of the boxes (for each dimension). + Higher bounds of the boxes (for each dimension). + Number of training samples that were used to define this box (for each dimension). + Number of training samples that were assigned incorrectly to the box. + + + Classify a set of arrays. + Handle of the classifier. + Key of the test data. + Error during the assignment. + + + Classify a tuple of attributes with rejection class. + Handle of the classifier. + Array of attributes which has to be classified. Default: 1.0 + Number of the class, to which the array of attributes had been assigned or -1 for the rejection class. + + + Classify a tuple of attributes. + Handle of the classifier. + Array of attributes which has to be classified. Default: 1.0 + Number of the class to which the array of attributes had been assigned. + + + This operator is inoperable. It had the following function: Destroy all classifiers. + + + Convert image maps into other map types. + Input map. + Converted map. + Type of MapConverted. Default: "coord_map_sub_pix" + Width of images to be mapped. Default: "map_width" + + + Compute an absolute pose out of point correspondences between world and image coordinates. + X-Component of world coordinates. + Y-Component of world coordinates. + Z-Component of world coordinates. + Row-Component of image coordinates. + Column-Component of image coordinates. + The inner camera parameters from camera calibration. + Kind of algorithm Default: "iterative" + Type of pose quality to be returned in Quality. Default: "error" + Pose. + Pose quality. + + + Compute a pose out of a homography describing the relation between world and image coordinates. + The homography from world- to image coordinates. + The camera calibration matrix K. + Type of pose computation. Default: "decomposition" + Pose of the 2D object. + + + Calibrate the radial distortion. + Contours that are available for the calibration. + Contours that were used for the calibration + Width of the images from which the contours were extracted. Default: 640 + Height of the images from which the contours were extracted. Default: 480 + Threshold for the classification of outliers. Default: 0.05 + Seed value for the random number generator. Default: 42 + Determines the distortion model. Default: "division" + Determines how the distortion center will be estimated. Default: "variable" + Controls the deviation of the distortion center from the image center; larger values allow larger deviations from the image center; 0 switches the penalty term off. Default: 0.0 + Internal camera parameters. + + + Compute a camera matrix from internal camera parameters. + Internal camera parameters. + 3x3 projective camera matrix that corresponds to CameraParam. + Width of the images that correspond to CameraMatrix. + Height of the images that correspond to CameraMatrix. + + + Compute the internal camera parameters from a camera matrix. + 3x3 projective camera matrix that determines the internal camera parameters. + Kappa. + Width of the images that correspond to CameraMatrix. + Height of the images that correspond to CameraMatrix. + Internal camera parameters. + + + Perform a self-calibration of a stationary projective camera. + Number of different images that are used for the calibration. + Width of the images from which the points were extracted. + Height of the images from which the points were extracted. + Index of the reference image. + Indices of the source images of the transformations. + Indices of the target images of the transformations. + Array of 3x3 projective transformation matrices. + Row coordinates of corresponding points in the respective source images. + Column coordinates of corresponding points in the respective source images. + Row coordinates of corresponding points in the respective destination images. + Column coordinates of corresponding points in the respective destination images. + Number of point correspondences in the respective image pair. + Estimation algorithm for the calibration. Default: "gold_standard" + Camera model to be used. Default: ["focus","principal_point"] + Are the camera parameters identical for all images? Default: "true" + (Array of) 3x3 projective camera matrices that determine the internal camera parameters. + Radial distortion of the camera. + Array of 3x3 transformation matrices that determine rotation of the camera in the respective image. + X-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Y-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Z-Component of the direction vector of each point if EstimationMethod $=$ 'gold_standard' is used. + Average error per reconstructed point if EstimationMethod $=$ 'gold_standard' is used. + + + Determine the 3D pose of a rectangle from its perspective 2D projection + Contour(s) to be examined. + Internal camera parameters. + Width of the rectangle in meters. + Height of the rectangle in meters. + Weighting mode for the optimization phase. Default: "nonweighted" + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 3.0 for 'tukey'). Default: 2.0 + 3D pose of the rectangle. + Covariances of the pose values. + Root-mean-square value of the final residual error. + + + Determine the 3D pose of a circle from its perspective 2D projection. + Contours to be examined. + Internal camera parameters. + Radius of the circle in object space. + Type of output parameters. Default: "pose" + 3D pose of the first circle. + 3D pose of the second circle. + + + Perform a radiometric self-calibration of a camera. + Input images. + Ratio of the exposure energies of successive image pairs. Default: 0.5 + Features that are used to compute the inverse response function of the camera. Default: "2d_histogram" + Type of the inverse response function of the camera. Default: "discrete" + Smoothness of the inverse response function of the camera. Default: 1.0 + Degree of the polynomial if FunctionType = 'polynomial'. Default: 5 + Inverse response function of the camera. + + + Apply a general transformation to an image. + Image to be mapped. + Image containing the mapping data. + Mapped image. + + + Generate a projection map that describes the mapping of images corresponding to a changing radial distortion. + Image containing the mapping data. + Old camera parameters. + New camera parameters. + Type of the mapping. Default: "bilinear" + + + Generate a projection map that describes the mapping between the image plane and a the plane z=0 of a world coordinate system. + Image containing the mapping data. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Width of the images to be transformed. + Height of the images to be transformed. + Width of the resulting mapped images in pixels. + Height of the resulting mapped images in pixels. + Scale or unit. Default: "m" + Type of the mapping. Default: "bilinear" + + + Rectify an image by transforming it into the plane z=0 of a world coordinate system. + Input image. + Transformed image. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Width of the resulting image in pixels. + Height of the resulting image in pixels. + Scale or unit Default: "m" + Type of interpolation. Default: "bilinear" + + + Transform an XLD contour into the plane z=0 of a world coordinate system. + Input XLD contours to be transformed in image coordinates. + Transformed XLD contours in world coordinates. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Scale or dimension Default: "m" + + + Transform image points into the plane z=0 of a world coordinate system. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Row coordinates of the points to be transformed. Default: 100.0 + Column coordinates of the points to be transformed. Default: 100.0 + Scale or dimension Default: "m" + X coordinates of the points in the world coordinate system. + Y coordinates of the points in the world coordinate system. + + + Translate the origin of a 3D pose. + original 3D pose. + translation of the origin in x-direction. Default: 0 + translation of the origin in y-direction. Default: 0 + translation of the origin in z-direction. Default: 0 + new 3D pose after applying the translation. + + + Perform a hand-eye calibration. + Linear list containing all the x coordinates of the calibration points (in the order of the images). + Linear list containing all the y coordinates of the calibration points (in the order of the images). + Linear list containing all the z coordinates of the calibration points (in the order of the images). + Linear list containing all row coordinates of the calibration points (in the order of the images). + Linear list containing all the column coordinates of the calibration points (in the order of the images). + Number of the calibration points for each image. + Known 3D pose of the robot for each image (moving camera: robot base in robot tool coordinates; stationary camera: robot tool in robot base coordinates). + Internal camera parameters. + Method of hand-eye calibration. Default: "nonlinear" + Type of quality assessment. Default: "error_pose" + Computed relative camera pose: 3D pose of the robot tool (moving camera) or robot base (stationary camera), respectively, in camera coordinates. + Computed 3D pose of the calibration points in robot base coordinates (moving camera) or in robot tool coordinates (stationary camera), respectively. + Quality assessment of the result. + + + Get the representation type of a 3D pose. + 3D pose. + Order of rotation and translation. + Meaning of the rotation values. + View of transformation. + + + Change the representation type of a 3D pose. + Original 3D pose. + Order of rotation and translation. Default: "Rp+T" + Meaning of the rotation values. Default: "gba" + View of transformation. Default: "point" + 3D transformation. + + + Create a 3D pose. + Translation along the x-axis (in [m]). Default: 0.1 + Translation along the y-axis (in [m]). Default: 0.1 + Translation along the z-axis (in [m]). Default: 0.1 + Rotation around x-axis or x component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Rotation around y-axis or y component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Rotation around z-axis or z component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Order of rotation and translation. Default: "Rp+T" + Meaning of the rotation values. Default: "gba" + View of transformation. Default: "point" + 3D pose. + + + Change the radial distortion of contours. + Original contours. + Resulting contours with modified radial distortion. + Internal camera parameter for Contours. + Internal camera parameter for ContoursRectified. + + + Change the radial distortion of pixel coordinates. + Original row component of pixel coordinates. + Original column component of pixel coordinates. + The inner camera parameters of the camera used to create the input pixel coordinates. + The inner camera parameters of a camera. + Row component of pixel coordinates after changing the radial distortion. + Column component of pixel coordinates after changing the radial distortion. + + + Change the radial distortion of an image. + Original image. + Region of interest in ImageRectified. + Resulting image with modified radial distortion. + Internal camera parameter for Image. + Internal camera parameter for Image. + + + Determine new camera parameters in accordance to the specified radial distortion. + Mode Default: "adaptive" + Internal camera parameters (original). + Desired radial distortions. Default: 0.0 + Internal camera parameters (modified). + + + Generate a calibration plate description file and a corresponding PostScript file for a calibration plate with rectangularly arranged marks. + Number of marks in x direction. Default: 7 + Number of marks in y direction. Default: 7 + Distance of the marks in meters. Default: 0.0125 + Ratio of the mark diameter to the mark distance. Default: 0.5 + File name of the calibration plate description. Default: "caltab.descr" + File name of the PostScript file. Default: "caltab.ps" + + + Generate a calibration plate description file and a corresponding PostScript file for a calibration plate with hexagonally arranged marks. + Number of rows. Default: 27 + Number of marks per row. Default: 31 + Diameter of the marks. Default: 0.00258065 + Row indices of the finder patterns. Default: [13,6,6,20,20] + Column indices of the finder patterns. Default: [15,6,24,6,24] + Polarity of the marks Default: "light_on_dark" + File name of the calibration plate description. Default: "calplate.cpd" + File name of the PostScript file. Default: "calplate.ps" + + + Read the mark center points from the calibration plate description file. + File name of the calibration plate description. Default: "calplate_320mm.cpd" + X coordinates of the mark center points in the coordinate system of the calibration plate. + Y coordinates of the mark center points in the coordinate system of the calibration plate. + Z coordinates of the mark center points in the coordinate system of the calibration plate. + + + Compute the line of sight corresponding to a point in the image. + Row coordinate of the pixel. + Column coordinate of the pixel. + Internal camera parameters. + X coordinate of the first point on the line of sight in the camera coordinate system + Y coordinate of the first point on the line of sight in the camera coordinate system + Z coordinate of the first point on the line of sight in the camera coordinate system + X coordinate of the second point on the line of sight in the camera coordinate system + Y coordinate of the second point on the line of sight in the camera coordinate system + Z coordinate of the second point on the line of sight in the camera coordinate system + + + Project a homogeneous 3D point using a 3x4 projection matrix. + 3x4 projection matrix. + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Input point (w coordinate). + Output point (x coordinate). + Output point (y coordinate). + Output point (w coordinate). + + + Project a 3D point using a 3x4 projection matrix. + 3x4 projection matrix. + Input point (x coordinate). + Input point (y coordinate). + Input point (z coordinate). + Output point (x coordinate). + Output point (y coordinate). + + + Project 3D points into (sub-)pixel image coordinates. + X coordinates of the 3D points to be projected in the camera coordinate system. + Y coordinates of the 3D points to be projected in the camera coordinate system. + Z coordinates of the 3D points to be projected in the camera coordinate system. + Internal camera parameters. + Row coordinates of the projected points (in pixels). + Column coordinates of the projected points (in pixels). + + + Convert internal camera parameters and a 3D pose into a 3x4 projection matrix. + Internal camera parameters. + 3D pose. + 3x4 projection matrix. + + + Convert a homogeneous transformation matrix into a 3D pose. + Homogeneous transformation matrix. + Equivalent 3D pose. + + + Convert a 3D pose into a homogeneous transformation matrix. + 3D pose. + Equivalent homogeneous transformation matrix. + + + Deserialize the serialized internal camera parameters. + Handle of the serialized item. + Internal camera parameters. + + + Serialize the internal camera parameters. + Internal camera parameters. + Handle of the serialized item. + + + Deserialize a serialized pose. + Handle of the serialized item. + 3D pose. + + + Serialize a pose. + 3D pose. + Handle of the serialized item. + + + Read a 3D pose from a text file. + File name of the external camera parameters. Default: "campose.dat" + 3D pose. + + + Write a 3D pose to a text file. + 3D pose. + File name of the external camera parameters. Default: "campose.dat" + + + Read internal camera parameters from a file. + File name of internal camera parameters. Default: "campar.dat" + Internal camera parameters. + + + Write internal camera parameters into a file. + Internal camera parameters. + File name of internal camera parameters. Default: "campar.dat" + + + Simulate an image with calibration plate. + Simulated calibration image. + File name of the calibration plate description. Default: "calplate_320mm.cpd" + Internal camera parameters. + External camera parameters (3D pose of the calibration plate in camera coordinates). + Gray value of image background. Default: 128 + Gray value of calibration plate. Default: 80 + Gray value of calibration marks. Default: 224 + Scaling factor to reduce oversampling. Default: 1.0 + + + Project and visualize the 3D model of the calibration plate in the image. + Window in which the calibration plate should be visualized. + File name of the calibration plate description. Default: "calplate_320.cpd" + Internal camera parameters. + External camera parameters (3D pose of the calibration plate in camera coordinates). + Scaling factor for the visualization. Default: 1.0 + + + Determine all camera parameters by a simultaneous minimization process. + Ordered tuple with all x coordinates of the calibration marks (in meters). + Ordered tuple with all y coordinates of the calibration marks (in meters). + Ordered tuple with all z coordinates of the calibration marks (in meters). + Ordered tuple with all row coordinates of the extracted calibration marks (in pixels). + Ordered tuple with all column coordinates of the extracted calibration marks (in pixels). + Initial values for the internal camera parameters. + Ordered tuple with all initial values for the external camera parameters. + Camera parameters to be estimated. Default: "all" + Internal camera parameters. + Ordered tuple with all external camera parameters. + Average error distance in pixels. + + + Extract rectangularly arranged 2D calibration marks from the image and calculate initial values for the external camera parameters. + Input image. + Region of the calibration plate. + File name of the calibration plate description. Default: "caltab_100.descr" + Initial values for the internal camera parameters. + Initial threshold value for contour detection. Default: 128 + Loop value for successive reduction of StartThresh. Default: 10 + Minimum threshold for contour detection. Default: 18 + Filter parameter for contour detection, see edges_image. Default: 0.9 + Minimum length of the contours of the marks. Default: 15.0 + Maximum expected diameter of the marks. Default: 100.0 + Tuple with row coordinates of the detected marks. + Tuple with column coordinates of the detected marks. + Estimation for the external camera parameters. + + + Segment the region of a standard calibration plate with rectangularly arranged marks in the image. + Input image. + Output region. + File name of the calibration plate description. Default: "caltab_100.descr" + Filter size of the Gaussian. Default: 3 + Threshold value for mark extraction. Default: 112 + Expected minimal diameter of the marks on the calibration plate. Default: 5 + + + Free the memory of all camera setup models. + + + Free the memory of a calibration setup model. + Handle of the camera setup model. + + + Serialize a camera setup model. + Handle to the camera setup model. + Handle of the serialized item. + + + Deserialize a serialized camera setup model. + Handle of the serialized item. + Handle to the camera setup model. + + + Store a camera setup model into a file. + Handle to the camera setup model. + The file name of the model to be saved. + + + Restore a camera setup model from a file. + The path and file name of the model file. + Handle to the camera setup model. + + + Get generic camera setup model parameters. + Handle to the camera setup model. + Index of the camera in the setup. Default: 0 + Names of the generic parameters to be queried. + Values of the generic parameters to be queried. + + + Set generic camera setup model parameters. + Handle to the camera setup model. + Unique index of the camera in the setup. Default: 0 + Names of the generic parameters to be set. + Values of the generic parameters to be set. + + + Define type, parameters, and relative pose of a camera in a camera setup model. + Handle to the camera setup model. + Index of the camera in the setup. + Type of the camera. Default: [] + Internal camera parameters. + Pose of the camera relative to the setup's coordinate system. + + + Create a model for a setup of calibrated cameras. + Number of cameras in the setup. Default: 2 + Handle to the camera setup model. + + + Free the memory of all calibration data models. + + + Free the memory of a calibration data model. + Handle of a calibration data model. + + + Deserialize a serialized calibration data model. + Handle of the serialized item. + Handle of a calibration data model. + + + Serialize a calibration data model. + Handle of a calibration data model. + Handle of the serialized item. + + + Restore a calibration data model from a file. + The path and file name of the model file. + Handle of a calibration data model. + + + Store a calibration data model into a file. + Handle of a calibration data model. + The file name of the model to be saved. + + + Perform a hand-eye calibration. + Handle of a calibration data model. + Average residual error of the optimization. + + + Determine all camera parameters by a simultaneous minimization process. + Handle of a calibration data model. + Back projection root mean square error (RMSE) of the optimization. + + + Remove a data set from a calibration data model. + Handle of a calibration data model. + Type of the calibration data item. Default: "tool" + Index of the affected item. Default: 0 + + + Set data in a calibration data model. + Handle of a calibration data model. + Type of calibration data item. Default: "model" + Index of the affected item (depending on the selected ItemType). Default: "general" + Parameter(s) to set. Default: "reference_camera" + New value(s). Default: 0 + + + Find the HALCON calibration plate and set the extracted points and contours in a calibration data model. + Input image. + Handle of a calibration data model. + Index of the observing camera. Default: 0 + Index of the calibration object. Default: 0 + Index of the observed calibration object. Default: 0 + Names of the generic parameters to be set. Default: [] + Values of the generic parameters to be set. Default: [] + + + Remove observation data from a calibration data model. + Handle of a calibration data model. + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + + + Get contour-based observation data from a calibration data model. + Contour-based result(s). + Handle of a calibration data model. + Name of contour objects to be returned. Default: "marks" + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + + + Get observed calibration object poses from a calibration data model. + Handle of a calibration data model. + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + Stored observed calibration object pose relative to the observing camera. + + + Set observed calibration object poses in a calibration data model. + Handle of a calibration data model. + Index of the observing camera. Default: 0 + Index of the calibration object. Default: 0 + Index of the observed calibration object. Default: 0 + Pose of the observed calibration object relative to the observing camera. + + + Get point-based observation data from a calibration data model. + Handle of a calibration data model. + Index of the observing camera. Default: 0 + Index of the observed calibration object. Default: 0 + Index of the observed calibration object pose. Default: 0 + Row coordinates of the detected points. + Column coordinates of the detected points. + Correspondence of the detected points to the points of the observed calibration object. + Roughly estimated pose of the observed calibration object relative to the observing camera. + + + Set point-based observation data in a calibration data model. + Handle of a calibration data model. + Index of the observing camera. Default: 0 + Index of the calibration object. Default: 0 + Index of the observed calibration object. Default: 0 + Row coordinates of the extracted points. + Column coordinates of the extracted points. + Correspondence of the extracted points to the calibration marks of the observed calibration object. Default: "all" + Roughly estimated pose of the observed calibration object relative to the observing camera. + + + Query information about the relations between cameras, calibration objects, and calibration object poses. + Handle of a calibration data model. + Kind of referred object. Default: "camera" + Camera index or calibration object index (depending on the selected ItemType). Default: 0 + List of calibration object indices or list of camera indices (depending on ItemType). + Calibration object numbers. + + + Query data stored or computed in a calibration data model. + Handle of a calibration data model. + Type of calibration data item. Default: "camera" + Index of the affected item (depending on the selected ItemType). Default: 0 + The name of the inspected data. Default: "params" + Requested data. + + + Define a calibration object in a calibration model. + Handle of a calibration data model. + Calibration object index. Default: 0 + 3D point coordinates or a description file name. + + + Set type and initial parameters of a camera in a calibration data model. + Handle of a calibration data model. + Camera index. Default: 0 + Type of the camera. Default: [] + Initial camera internal parameters. + + + Create a HALCON calibration data model. + Type of the calibration setup. Default: "calibration_object" + Number of cameras in the calibration setup. Default: 1 + Number of calibration objects. Default: 1 + Handle of the created calibration data model. + + + Get the value of a parameter in a specific bead inspection model. + Handle of the bead inspection model. + Name of the model parameter that is queried. Default: "target_thickness" + Value of the queried model parameter. + + + Set parameters of the bead inspection model. + Handle of the bead inspection model. + Name of the model parameter that shall be adjusted for the specified bead inspection model. Default: "target_thickness" + Value of the model parameter that shall be adjusted for the specified bead inspection model. Default: 40 + + + Inspect beads in an image, as defined by the bead inspection model. + Image to apply bead inspection on. + The detected left contour of the beads. + The detected right contour of the beads. + Detected error segments + Handle of the bead inspection model to be used. + Types of detected errors. + + + Delete the bead inspection model and free the allocated memory. + Handle of the bead inspection model. + + + Create a model to inspect beads or adhesive in images. + XLD contour specifying the expected bead's shape and position. + Optimal bead thickness. Default: 50 + Tolerance of bead's thickness with respect to TargetThickness. Default: 15 + Tolerance of the bead's center position. Default: 15 + The bead's polarity. Default: "light" + Names of the generic parameters that can be adjusted for the bead inspection model. Default: [] + Values of the generic parameters that can be adjusted for the bead inspection model. Default: [] + Handle for using and accessing the bead inspection model. + + + Deserialize a bar code model. + Handle of the serialized item. + Handle of the bar code model. + + + Serialize a bar code model. + Handle of the bar code model. + Handle of the serialized item. + + + Read a bar code model from a file and create a new model. + Name of the bar code model file. Default: "bar_code_model.bcm" + Handle of the bar code model. + + + Write a bar code model to a file. + Handle of the bar code model. + Name of the bar code model file. Default: "bar_code_model.bcm" + + + Access iconic objects that were created during the search or decoding of bar code symbols. + Objects that are created as intermediate results during the detection or evaluation of bar codes. + Handle of the bar code model. + Indicating the bar code results respectively candidates for which the data is required. Default: "all" + Name of the iconic object to return. Default: "candidate_regions" + + + Get the alphanumerical results that were accumulated during the decoding of bar code symbols. + Handle of the bar code model. + Indicating the bar code results respectively candidates for which the data is required. Default: "all" + Names of the resulting data to return. Default: "decoded_types" + List with the results. + + + Decode bar code symbols within a rectangle. + Input image. + Handle of the bar code model. + Type of the searched bar code. Default: "EAN-13" + Row index of the center. Default: 50.0 + Column index of the center. Default: 100.0 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the rectangle along the reading direction of the bar code. Default: 200.0 + Half of the length of the rectangle perpendicular to the reading direction of the bar code. Default: 100.0 + Data strings of all successfully decoded bar codes. + + + Detect and read bar code symbols in an image. + Input image. If the image has a reduced domain, the barcode search is reduced to that domain. This usually reduces the runtime of the operator. However, if the barcode is not fully inside the domain, the barcode cannot be decoded correctly. + Regions of the successfully decoded bar code symbols. + Handle of the bar code model. + Type of the searched bar code. Default: "auto" + Data strings of all successfully decoded bar codes. + + + Get the names of the parameters that can be used in set_bar_code* and get_bar_code* operators for a given bar code model + Handle of the bar code model. + Properties of the parameters. Default: "trained_general" + Names of the generic parameters. + + + Get parameters that are used by the bar code reader when processing a specific bar code type. + Handle of the bar code model. + Names of the bar code types for which parameters should be queried. Default: "EAN-13" + Names of the generic parameters that are to be queried for the bar code model. Default: "check_char" + Values of the generic parameters. + + + Get one or several parameters that describe the bar code model. + Handle of the bar code model. + Names of the generic parameters that are to be queried for the bar code model. Default: "element_size_min" + Values of the generic parameters. + + + Set selected parameters of the bar code model for selected bar code types + Handle of the bar code model. + Names of the bar code types for which parameters should be set. Default: "EAN-13" + Names of the generic parameters that shall be adjusted for finding and decoding bar codes. Default: "check_char" + Values of the generic parameters that are adjusted for finding and decoding bar codes. Default: "absent" + + + Set selected parameters of the bar code model. + Handle of the bar code model. + Names of the generic parameters that shall be adjusted for finding and decoding bar codes. Default: "element_size_min" + Values of the generic parameters that are adjusted for finding and decoding bar codes. Default: 8 + + + This operator is inoperable. It had the following function: Delete all bar code models and free the allocated memory + + + Delete a bar code model and free the allocated memory + Handle of the bar code model. + + + Create a model of a bar code reader. + Names of the generic parameters that can be adjusted for the bar code model. Default: [] + Values of the generic parameters that can be adjusted for the bar code model. Default: [] + Handle for using and accessing the bar code model. + + + Delete the background estimation data set. + ID of the BgEsti data set. + + + Return the estimated background image. + Estimated background image of the current data set. + ID of the BgEsti data set. + + + Change the estimated background image. + Current image. + Region describing areas to change. + ID of the BgEsti data set. + + + Estimate the background and return the foreground region. + Current image. + Region of the detected foreground. + ID of the BgEsti data set. + + + Return the parameters of the data set. + ID of the BgEsti data set. + 1. system matrix parameter. + 2. system matrix parameter. + Gain type. + Kalman gain / foreground adaptation time. + Kalman gain / background adaptation time. + Threshold adaptation. + Foreground / background threshold. + Number of statistic data sets. + Confidence constant. + Constant for decay time. + + + Change the parameters of the data set. + ID of the BgEsti data set. + 1. system matrix parameter. Default: 0.7 + 2. system matrix parameter. Default: 0.7 + Gain type. Default: "fixed" + Kalman gain / foreground adaptation time. Default: 0.002 + Kalman gain / background adaptation time. Default: 0.02 + Threshold adaptation. Default: "on" + Foreground/background threshold. Default: 7.0 + Number of statistic data sets. Default: 10 + Confidence constant. Default: 3.25 + Constant for decay time. Default: 15.0 + + + Generate and initialize a data set for the background estimation. + initialization image. + 1. system matrix parameter. Default: 0.7 + 2. system matrix parameter. Default: 0.7 + Gain type. Default: "fixed" + Kalman gain / foreground adaptation time. Default: 0.002 + Kalman gain / background adaptation time. Default: 0.02 + Threshold adaptation. Default: "on" + Foreground/background threshold. Default: 7.0 + Number of statistic data sets. Default: 10 + Confidence constant. Default: 3.25 + Constant for decay time. Default: 15.0 + ID of the BgEsti data set. + + + This operator is inoperable. It had the following function: Delete all background estimation data sets. + + + Perform an action on I/O channels. + Handles of the opened I/O channels. + Name of the action to perform. + List of arguments for the action. Default: [] + List of values returned by the action. + + + Write a value to the specified I/O channels. + Handles of the opened I/O channels. + Write values. + Status of written values. + + + Read a value from the specified I/O channels. + Handles of the opened I/O channels. + Read value. + Status of read value. + + + Set specific parameters of I/O channels. + Handles of the opened I/O channels. + Parameter names. Default: [] + Parameter values to set. Default: [] + + + Query specific parameters of I/O channels. + Handles of the opened I/O channels. + Parameter names. Default: "param_name" + Parameter values. + + + Close I/O channels. + Handles of the opened I/O channels. + + + Open and configure I/O channels. + Handle of the opened I/O device. + HALCON I/O channel names of the specified device. + Parameter names. Default: [] + Parameter values. Default: [] + Handles of the opened I/O channel. + + + Query information about channels of the specified I/O device. + Handle of the opened I/O device. + Channel names to query. + Name of the query. Default: "param_name" + List of values (according to Query). + + + Perform an action on the I/O device. + Handle of the opened I/O device. + Name of the action to perform. + List of arguments for the action. Default: [] + List of result values returned by the action. + + + Configure a specific I/O device instance. + Handle of the opened I/O device. + Parameter names. Default: [] + Parameter values to set. Default: [] + + + Query settings of an I/O device instance. + Handle of the opened I/O device. + Parameter names. Default: "param_name" + Parameter values. + + + Close the specified I/O device. + Handle of the opened I/O device. + + + Open and configure an I/O device. + HALCON I/O interface name. Default: [] + I/O device name. Default: [] + Dynamic parameter names. Default: [] + Dynamic parameter values. Default: [] + Handle of the opened I/O device. + + + Perform an action on the I/O interface. + HALCON I/O interface name. Default: [] + Name of the action to perform. + List of arguments for the action. Default: [] + List of results returned by the action. + + + Query information about the specified I/O device interface. + HALCON I/O interface name. Default: [] + Parameter name of the query. Default: "io_device_names" + List of result values (according to Query). + + + Query specific parameters of an image acquisition device. + Handle of the acquisition device to be used. + Parameter of interest. Default: "revision" + Parameter value. + + + Set specific parameters of an image acquistion device. + Handle of the acquisition device to be used. + Parameter name. + Parameter value to be set. + + + Query callback function of an image acquisition device. + Handle of the acquisition device to be used. + Callback type. Default: "transfer_end" + Pointer to the callback function. + Pointer to user-specific context data. + + + Register a callback function for an image acquisition device. + Handle of the acquisition device to be used. + Callback type. Default: "transfer_end" + Pointer to the callback function to be set. + Pointer to user-specific context data. + + + Asynchronous grab of images and preprocessed image data from the specified image acquisition device. + Grabbed image data. + Pre-processed image regions. + Pre-processed XLD contours. + Handle of the acquisition device to be used. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Pre-processed control data. + + + Synchronous grab of images and preprocessed image data from the specified image acquisition device. + Grabbed image data. + Preprocessed image regions. + Preprocessed XLD contours. + Handle of the acquisition device to be used. + Preprocessed control data. + + + Asynchronous grab of an image from the specified image acquisition device. + Grabbed image. + Handle of the acquisition device to be used. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + + + Start an asynchronous grab from the specified image acquisition device. + Handle of the acquisition device to be used. + This parameter is obsolete and has no effect. Default: -1.0 + + + Synchronous grab of an image from the specified image acquisition device. + Grabbed image. + Handle of the acquisition device to be used. + + + Query information about the specified image acquisition interface. + HALCON image acquisition interface name, i.e., name of the corresponding DLL (Windows) or shared library (Linux/macOS). Default: "File" + Name of the chosen query. Default: "info_boards" + Textual information (according to Query). + List of values (according to Query). + + + This operator is inoperable. It had the following function: Close all image acquisition devices. + + + Close specified image acquisition device. + Handle of the image acquisition device to be closed. + + + Open and configure an image acquisition device. + HALCON image acquisition interface name, i.e., name of the corresponding DLL (Windows) or shared library (Linux/macOS). Default: "File" + Desired horizontal resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Desired vertical resolution of image acquisition interface (absolute value or 1 for full resolution, 2 for half resolution, or 4 for quarter resolution). Default: 1 + Width of desired image part (absolute value or 0 for HorizontalResolution - 2*StartColumn). Default: 0 + Height of desired image part (absolute value or 0 for VerticalResolution - 2*StartRow). Default: 0 + Line number of upper left corner of desired image part (or border height if ImageHeight = 0). Default: 0 + Column number of upper left corner of desired image part (or border width if ImageWidth = 0). Default: 0 + Desired half image or full image. Default: "default" + Number of transferred bits per pixel and image channel (-1: device-specific default value). Default: -1 + Output color format of the grabbed images, typically 'gray' or 'raw' for single-channel or 'rgb' or 'yuv' for three-channel images ('default': device-specific default value). Default: "default" + Generic parameter with device-specific meaning. Default: -1 + External triggering. Default: "default" + Type of used camera ('default': device-specific default value). Default: "default" + Device the image acquisition device is connected to ('default': device-specific default value). Default: "default" + Port the image acquisition device is connected to (-1: device-specific default value). Default: -1 + Camera input line of multiplexer (-1: device-specific default value). Default: -1 + Handle of the opened image acquisition device. + + + Query look-up table of the image acquisition device. + Handle of the acquisition device to be used. + Red level of the LUT entries. + Green level of the LUT entries. + Blue level of the LUT entries. + + + Set look-up table of the image acquisition device. + Handle of the acquisition device to be used. + Red level of the LUT entries. + Green level of the LUT entries. + Blue level of the LUT entries. + + + Add a text label to a 3D scene. + Handle of the 3D scene. + Text of the label. Default: "label" + Point of reference of the label. + Position of the label. Default: "top" + Indicates fixed or relative positioning. Default: "point" + Index of the new label in the 3D scene. + + + Remove a text label from a 3D scene. + Handle of the 3D scene. + Index of the text label to remove. + + + Set parameters of a text label in a 3D scene. + Handle of the 3D scene. + Index of the text label. + Names of the generic parameters. Default: "color" + Values of the generic parameters. Default: "red" + + + Add training images to the texture inspection model. + Image of flawless texture. + Handle of the texture inspection model. + Indices of the images that have been added to the texture inspection model. + + + Inspection of the texture within an image. + Image of the texture to be inspected. + Novelty regions. + Handle of the texture inspection model. + Handle of the inspection results. + + + bilateral filtering of an image. + Image to be filtered. + Joint image. + Filtered output image. + Size of the Gaussian of the closeness function. Default: 3.0 + Size of the Gaussian of the similarity function. Default: 20.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + + + Clear an CNN-based OCR classifier. + Handle of the OCR classifier. + + + Clear a texture inspection model and free the allocated memory. + Handle of the texture inspection model. + + + Clear a texture inspection result handle and free the allocated memory. + Handle of the texture inspection results. + + + Convert image coordinates to window coordinates + Window handle + Row in image coordinates. + Column in image coordinates. + Row (Y) in window coordinates. + Column (X) in window coordinates. + + + Convert window coordinates to image coordinates + Window handle. + Row (Y) in window coordinates. + Column (X) in window coordinates. + Row in image coordinates. + Column in image coordinates. + + + Create a texture inspection model. + The type of the created texture inspection model. Default: "basic" + Handle for using and accessing the texture inspection model. + + + Deserialize a serialized dual quaternion. + Handle of the serialized item. + Dual quaternion. + + + Deserialize a serialized CNN-based OCR classifier. + Handle of the serialized item. + Handle of the OCR classifier. + + + Deserialize a serialized texture inspection model. + Handle of the serialized item. + Handle of the texture inspection model. + + + Display text in a window. + Window handle. + A tuple of strings containing the text message to be displayed. Each value of the tuple will be displayed in a single line. Default: "hello" + If set to 'window', the text position is given with respect to the window coordinate system. If set to 'image', image coordinates are used (this may be useful in zoomed images). Default: "window" + The vertical text alignment or the row coordinate of the desired text position. Default: 12 + The horizontal text alignment or the column coordinate of the desired text position. Default: 12 + A tuple of strings defining the colors of the texts. Default: "black" + Generic parameter names. Default: [] + Generic parameter values. Default: [] + + + Classify multiple characters with an CNN-based OCR classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the OCR classifier. + Result of classifying the characters with the CNN. + Confidence of the class of the characters. + + + Classify a single character with an CNN-based OCR classifier. + Character to be recognized. + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Result of classifying the character with the CNN. + Confidence(s) of the class(es) of the character. + + + Classify a related group of characters with an CNN-based OCR classifier. + Characters to be recognized. + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Result of classifying the characters with the CNN. + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + + + Multiply two dual quaternions. + Left dual quaternion. + Right dual quaternion. + Product of the dual quaternions. + + + Conjugate a dual quaternion. + Dual quaternion. + Conjugate of the dual quaternion. + + + Interpolate two dual quaternions. + Dual quaternion as the start point of the interpolation. + Dual quaternion as the end point of the interpolation. + Interpolation parameter. Default: 0.5 + Interpolated dual quaternion. + + + Normalize a dual quaternion. + Unit dual quaternion. + Normalized dual quaternion. + + + Convert a unit dual quaternion into a homogeneous transformation matrix. + Unit dual quaternion. + Transformation matrix. + + + Convert a dual quaternion to a 3D pose. + Unit dual quaternion. + 3D pose. + + + Convert a unit dual quaternion into a screw. + Unit dual quaternion. + Format of the screw parameters. Default: "moment" + X component of the direction vector of the screw axis. + Y component of the direction vector of the screw axis. + Z component of the direction vector of the screw axis. + X component of the moment vector or a point on the screw axis. + Y component of the moment vector or a point on the screw axis. + Z component of the moment vector or a point on the screw axis. + Rotation angle in radians. + Translation. + + + Transform a 3D line with a unit dual quaternion. + Unit dual quaternion representing the transformation. + Format of the line parameters. Default: "moment" + X component of the direction vector of the line. + Y component of the direction vector of the line. + Z component of the direction vector of the line. + X component of the moment vector or a point on the line. + Y component of the moment vector or a point on the line. + Z component of the moment vector or a point on the line. + X component of the direction vector of the transformed line. + Y component of the direction vector of the transformed line. + Z component of the direction vector of the transformed line. + X component of the moment vector or a point on the transformed line. + Y component of the moment vector or a point on the transformed line. + Z component of the moment vector or a point on the transformed line. + + + Find edges in a 3D object model. + Handle of the 3D object model whose edges should be computed. + Edge threshold. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + 3D object model containing the edges. + + + Find the best matches of multiple NCC models. + Input image in which the model should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.8 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "true" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + Find the best matches of a surface model in a 3D scene and images. + Images of the scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + 3D pose of the surface model in the scene. + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + + + Flush the contents of a window. + Window handle. + + + Return the region used to create an NCC model. + Model region of the NCC model. + Handle of the model. + + + Return the parameters of a CNN-based OCR classifier. + Handle of the OCR classifier. + A tuple of generic parameter names. Default: "characters" + A tuple of generic parameter values. + + + Get the current color in RGBA-coding. + Window handle. + The current color's red value. + The current color's green value. + The current color's blue value. + The current color's alpha value. + + + Get intermediate 3D object model of a stereo reconstruction + Handle des Stereomodells. + Namen der Modellparameter. + Werte der Modellparameter. + + + Get the training images contained in a texture inspection model. + Training images contained in the texture inspection model. + Handle of the texture inspection model. + + + Query parameters of a texture inspection model. + Handle of the texture inspection model. + Name of the queried model parameter. Default: "novelty_threshold" + Value of the queried model parameter. + + + Query iconic results of a texture inspection. + Returned iconic object. + Handle of the texture inspection result. + Name of the iconic object to be returned. Default: "novelty_region" + + + Guided filtering of an image. + Input image. + Guidance image. + Output image. + Radius of the filtering operation. Default: 3 + Controls the influence of edges on the smoothing. Default: 20.0 + + + Create an interleaved image from a multichannel image. + Input multichannel image. + Output interleaved image. + Target format for InterleavedImage. Default: "rgba" + Number of bytes in a row of the output image. Default: "match" + Alpha value for three channel input images. Default: 255 + + + Convert a 3D pose to a unit dual quaternion. + 3D pose. + Unit dual quaternion. + + + Get the names of the parameters that can be used in get_params_ocr_class_cnn for a given CNN-based OCR classifier. + Handle of OCR classifier. + Names of the generic parameters. + + + Read an CNN-based OCR classifier from a file. + File name. Default: "Universal_Rej.occ" + Handle of the OCR classifier. + + + Read a texture inspection model from a file. + File name. + Handle of the texture inspection model. + + + Refine the pose of a surface model in a 3D scene and in images. + Images of the scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + 3D pose of the surface model in the scene. + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + + + Clear all or a user-defined subset of the images of a texture inspection model. + Handle of the texture inspection model. + Indices of the images to be deleted from the texture inspection model. + Indices of the images that remain in the texture inspection model. + + + Convert a screw into a dual quaternion. + Format of the screw parameters. Default: "moment" + X component of the direction vector of the screw axis. + Y component of the direction vector of the screw axis. + Z component of the direction vector of the screw axis. + X component of the moment vector or a point on the screw axis. + Y component of the moment vector or a point on the screw axis. + Z component of the moment vector or a point on the screw axis. + Rotation angle in radians. + Translation. + Dual quaternion. + + + Segment image using Maximally Stable Extremal Regions (MSER). + Input image. + Segmented dark MSERs. + Segmented light MSERs. + The polarity of the returned MSERs. Default: "both" + Minimal size of an MSER. Default: 10 + Maximal size of an MSER. Default: [] + Amount of thresholds for which a region needs to be stable. Default: 15 + List of generic parameter names. Default: [] + List of generic parameter values. Default: [] + + + Send an event to a buffer window signaling a mouse double click event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a window buffer signaling a mouse down event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a buffer window signaling a mouse drag event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Send an event to a buffer window signaling a mouse up event. + Window handle of the buffer window. + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + Serialize a dual quaternion. + Dual quaternion. + Handle of the serialized item. + + + Serialize a CNN-based OCR classifier + Handle of the OCR classifier. + Handle of the serialized item. + + + Serialize a texture inspection model. + Handle of the texture inspection model. + Handle of the serialized item. + + + Sets the callback for content updates in buffer window. + Window handle. + Callback for content updates. + Parameter to CallbackFunction. + + + Set the color definition via RGBA values. + Window handle. + Red component of the color. Default: 255 + Green component of the color. Default: 0 + Blue component of the color. Default: 0 + Alpha component of the color. Default: 255 + + + Set parameters and properties of a surface model. + Handle of the surface model. + Name of the parameter. Default: "camera_parameter" + Value of the parameter. + + + Set parameters of a texture inspection model. + Handle of the texture inspection model. + Name of the model parameter to be adjusted. Default: "gen_result_handle" + New value of the model parameter. Default: "true" + + + Train a texture inspection model. + Handle of the texture inspection model. + + + Write a texture inspection model to a file. + Handle of the texture inspection model. + File name. + + + Reconstruct a surface from several, differently illuminated images. + The Images. + The NormalField. + The Gradient. + The Albedo. + The Result type. Default: "all" + + + Infer the class affiliations for a set of images using a deep-learning-based classifier. + Tuple of input images. + Handle of the deep-learning-based classifier. + Handle of the deep learning classification results. + + + Clear a deep-learning-based classifier. + Handle of the deep-learning-based classifier. + + + Clear a handle containing the results of the deep-learning-based classification. + Handle of the deep learning classification results. + + + Clear the handle of a deep-learning-based classifier training result. + Handle of the training results from the deep-learning-based classifier. + + + Clear a structured light model and free the allocated memory. + Handle of the structured light model. + + + Create a structured light model. + The type of the created structured light model. Default: "deflectometry" + Handle for using and accessing the structured light model. + + + Decode the camera images acquired with a structured light setup. + Acquired camera images. + Handle of the structured light model. + + + Deserialize a deep-learning-based classifier. + Handle of the serialized item. + Handle of the deep-learning-based classifier. + + + Deserialize a structured light model. + Handle of the serialized item. + Handle of the structured light model. + + + Calculate the minimum distance between two contours and the points used for the calculation. + First input contour. + Second input contour. + Distance calculation mode. Default: "fast_point_to_segment" + Minimum distance between the two contours. + Row coordinate of the point on Contour1. + Column coordinate of the point on Contour1. + Row coordinate of the point on Contour2. + Column coordinate of the point on Contour2. + + + Fuse 3D object models into a surface. + Handles of the 3D object models. + The two opposite bound box corners. + Used resolution within the bounding box. Default: 1.0 + Distance of expected noise to surface. Default: 1.0 + Minimum thickness of the object in direction of the surface normal. Default: 1.0 + Weight factor for data fidelity. Default: 1.0 + Direction of normals of the input models. Default: "inwards" + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Handle of the fused 3D object model. + + + Generate the pattern images to be displayed in a structured light setup. + Generated pattern images. + Handle of the structured light model. + + + Return the parameters of a deep-learning-based classifier. + Handle of the deep-learning-based classifier. + Name of the generic parameter. Default: "gpu" + Value of the generic parameter. + + + Retrieve classification results inferred by a deep-learning-based classifier. + Handle of the deep learning classification results. + Index of the image in the batch. Default: "all" + Name of the generic parameter. Default: "predicted_classes" + Value of the generic parameter, either the confidence values, the class names or class indices. + + + Return the results for the single training step of a deep-learning-based classifier. + Handle of the training results from the deep-learning-based classifier. + Name of the generic parameter. Default: "loss" + Value of the generic parameter. + + + Query parameters of a structured light model. + Handle of the structured light model. + Name of the queried model parameter. Default: "min_stripe_width" + Value of the queried model parameter. + + + Get (intermediate) iconic results of a structured light model. + Iconic result. + Handle of the structured light model. + Name of the iconic result to be returned. Default: "correspondence_image" + + + Compute the width, height, and aspect ratio of the surrounding rectangle parallel to the coordinate axes. + Regions to be examined. + Height of the surrounding rectangle of the region. + Width of the surrounding rectangle of the region. + Aspect ratio of the surrounding rectangle of the region. + + + Compute the width, height, and aspect ratio of the enclosing rectangle parallel to the coordinate axes of contours or polygons. + Contours or polygons to be examined. + Height of the enclosing rectangle. + Width of the enclosing rectangle. + Aspect ratio of the enclosing rectangle. + + + Insert objects into an iconic object tuple. + Input object tuple. + Object tuple to insert. + Extended object tuple. + Index to insert objects. + + + Read a deep-learning-based classifier from a file. + File name. Default: "pretrained_dl_classifier_compact.hdl" + Handle of the deep learning classifier. + + + Read a structured light model from a file. + File name. + Handle of the structured light model. + + + Remove objects from an iconic object tuple. + Input object tuple. + Remaining object tuple. + Indices of the objects to be removed. + + + Replaces one or more elements of an iconic object tuple. + Iconic Input Object. + Element(s) to replace. + Tuple with replaced elements. + Index/Indices of elements to be replaced. + + + Serialize a deep-learning-based classifier. + Handle of the deep-learning-based classifier. + Handle of the serialized item. + + + Serialize a structured light model. + Handle of the structured light model. + Handle of the serialized item. + + + Set the parameters of a deep-learning-based classifier. + Handle of the deep-learning-based classifier. + Name of the generic parameter. Default: "classes" + Value of the generic parameter. Default: ["class_1","class_2","class_3"] + + + Set a timeout for an operator. + Operator for which the timeout shall be set. + Timeout in seconds. Default: 1 + Timeout mode to be set. Default: "cancel" + + + Set parameters of a structured light model. + Handle of the structured light model. + Name of the model parameter to be adjusted. Default: "min_stripe_width" + New value of the model parameter. Default: 32 + + + Perform a training step of a deep-learning-based classifier on a batch of images. + Images comprising the batch. + Handle of the deep-learning-based classifier. + Corresponding labels for each of the images. Default: [] + Handle of the training results from the deep-learning-based classifier. + + + Write a deep-learning-based classifier in a file. + Handle of the deep-learning-based classifier. + File name. + + + Write a structured light model to a file. + Handle of the structured light model. + File name. + + + Clear the content of a handle. + Handle to clear. + + + Deserialize a serialized item. + Handle containing the serialized item to be deserialized. + Handle containing the deserialized item. + + + Convert a handle into an integer. + The handle to be casted. + The handle casted to an integer value. + + + Convert an integer into a handle. + The handle as integer. + The handle as handle. + + + Serialize the content of a handle. + Handle that should be serialized. + Handle containing the serialized item. + + + Test if the internal representation of a tuple is of type handle. + Input tuple. + Boolean value indicating if the input tuple is of type handle. + + + Test whether the elements of a tuple are of type handle. + Input tuple. + Boolean values indicating if the elements of the input tuple are of type handle. + + + Test if a tuple is serializable. + Tuple to check for serializability. + Boolean value indicating if the input can be serialized. + + + Test if the elements of a tuple are serializable. + Tuple to check for serializability. + Boolean value indicating if the input elements can be serialized. + + + Check if a handle is valid. + The handle to check for validity. + The validity of the handle, 1 or 0. + + + Return the semantic type of a tuple. + Input tuple. + Semantic type of the input tuple as a string. + + + Return the semantic type of the elements of a tuple. + Input tuple. + Semantic types of the elements of the input tuple as strings. + + + Apply a deep-learning-based network on a set of images for inference. + Handle of the deep learning model. + Input data. + Requested outputs. Default: [] + Handle containing result data. + + + Clear a deep learning model. + Handle of the deep learning model. + + + Copy a dictionary. + Dictionary handle. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Copied dictionary handle. + + + Create a new empty dictionary. + Handle of the newly created dictionary. + + + Create a deep learning network for object detection. + Deep learning classifier, used as backbone network. Default: "pretrained_dl_classifier_compact.hdl" + Number of classes. Default: 3 + Parameters for the object detection model. Default: [] + Deep learning model for object detection. + + + Deserialize a deep learning model. + Handle of the serialized item. + Handle of the deep learning model. + + + Return the HALCON thread ID of the current thread. + ID representing the current thread. + + + Retrieve an object associated with the key from the dictionary. + Object value retrieved from the dictionary. + Dictionary handle. + Key string. + + + Query dictionary parameters or information about a dictionary. + Dictionary handle. + Names of the dictionary parameters or info queries. Default: "keys" + Dictionary keys the parameter/query should be applied to (empty for GenParamName = 'keys'). + Values of the dictionary parameters or info queries. + + + Retrieve a tuple associated with the key from the dictionary. + Dictionary handle. + Key string. + Tuple value retrieved from the dictionary. + + + Return the parameters of a deep learning model. + Handle of the deep learning model. + Name of the generic parameter. Default: "batch_size" + Value of the generic parameter. + + + Retrieve an object associated with a key from a handle. + Iconic value of the key. + Handle of which to get the key. + Key to get. + + + Return information about a handle. + Handle of which to get the parameter. + Parameter to get. Default: "keys" + Optional key. Default: [] + Returned value. + + + Retrieve a tuple associated with a key from a handle. + Handle of which to get the key. + Key to get. + Control value of the key. + + + Get current value of system information without requiring a license. + Desired system parameter. Default: "available_parameters" + Current value of the system parameter. + + + Attempt to interrupt an operator running in a different thread. + Thread that runs the operator to interrupt. + Interruption mode. Default: "cancel" + + + Read a dictionary from a file. + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Dictionary handle. + + + Read a deep learning model from a file. + Filename Default: "pretrained_dl_segmentation_compact.hdl" + Handle of the deep learning model. + + + Read a message from a file. + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Message handle. + + + Remove keys from a dictionary. + Dictionary handle. + Key to remove. + + + + + + + + + + + + + + + Serialize a deep learning model. + Handle of the deep learning model. + Handle of the serialized item. + + + Add a key/object pair to the dictionary. + Object to be associated with the key. + Dictionary handle. + Key string. + + + Add a key/tuple pair to the dictionary. + Dictionary handle. + Key string. + Tuple value to be associated with the key. + + + Set the parameters of a deep learning model. + Handle of the deep learning model. + Name of the generic parameter. Default: "learning_rate" + Value of the generic parameter. Default: 0.001 + + + Train a deep learning model. + Deep learning model handle. + Tuple of Dictionaries with input images and corresponding information. + Dictionary with the train result data. + + + Write a dictionary to a file. + Dictionary handle. + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + Write a deep learning model in a file. + Handle of the deep learning model. + Filename + + + Write a message to a file. + Message handle. + File name. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + + + Calculate the intersection area of oriented rectangles. + Center row coordinate of the first rectangle. + Center column coordinate of the first rectangle. + Angle between the positive horizontal axis and the first edge of the first rectangle (in radians). + Half length of the first edge of the first rectangle. + Half length of the second edge of the first rectangle. + Center row coordinate of the second rectangle. + Center column coordinate of the second rectangle. + Angle between the positive horizontal axis and the first edge of the second rectangle (in radians). + Half length of the first edge of the second rectangle. + Half length of the second edge of the second rectangle. + Intersection area of the first rectangle with the second rectangle. + + + Get the current contour display fill style. + Window handle. + Current contour fill style. + + + Get the clutter parameters of a shape model. + Region where no clutter should occur. + Handle of the model. + Parameter names. Default: "use_clutter" + Parameter values. + Transformation matrix. + Minimum contrast of clutter in the search images. + + + Define the contour display fill style. + Window handle. + Fill style of contour displays. Default: "stroke" + + + Set the clutter parameters of a shape model. + Region where no clutter should occur. + Handle of the model. + Transformation matrix. + Minimum contrast of clutter in the search images. Default: 128 + Parameter names. + Parameter values. + + + Represents a rigid 3D transformation with 7 parameters (3 for the rotation, 3 for the translation, 1 for the representation type). + + + Create an uninitialized instance. + + + + Create a 3D pose. + Modified instance represents: 3D pose. + + Translation along the x-axis (in [m]). Default: 0.1 + Translation along the y-axis (in [m]). Default: 0.1 + Translation along the z-axis (in [m]). Default: 0.1 + Rotation around x-axis or x component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Rotation around y-axis or y component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Rotation around z-axis or z component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Order of rotation and translation. Default: "Rp+T" + Meaning of the rotation values. Default: "gba" + View of transformation. Default: "point" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Convert to matrix + + + Compute the average of a set of poses. + Set of poses of which the average if computed. + Empty tuple, or one weight per pose. Default: [] + Averaging mode. Default: "iterative" + Weight of the translation. Default: "auto" + Weight of the rotation. Default: "auto" + Deviation of the mean from the input poses. + Weighted mean of the poses. + + + Compute the average of a set of poses. + Set of poses of which the average if computed. + Empty tuple, or one weight per pose. Default: [] + Averaging mode. Default: "iterative" + Weight of the translation. Default: "auto" + Weight of the rotation. Default: "auto" + Deviation of the mean from the input poses. + Weighted mean of the poses. + + + Invert each pose in a tuple of 3D poses. + Tuple of 3D poses. + Tuple of inverted 3D poses. + + + + Invert each pose in a tuple of 3D poses. + Instance represents: Tuple of 3D poses. + + Tuple of inverted 3D poses. + + + Combine 3D poses given in two tuples. + Tuple containing the left poses. + Tuple containing the right poses. + Tuple containing the returned poses. + + + + Combine 3D poses given in two tuples. + Instance represents: Tuple containing the left poses. + + Tuple containing the right poses. + Tuple containing the returned poses. + + + + Compute the distance values for a rectified stereo image pair using multi-scanline optimization. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multi-scanline optimization. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Minimum of the expected disparities. Default: -30 + Maximum of the expected disparities. Default: 30 + Smoothing of surfaces. Default: 50 + Smoothing of edges. Default: 50 + Parameter name(s) for the multi-scanline algorithm. Default: [] + Parameter value(s) for the multi-scanline algorithm. Default: [] + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multigrid methods. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Distance image. + + + + Compute the distance values for a rectified stereo image pair using multigrid methods. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Score of the calculated disparity if CalculateScore is set to 'true'. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Weight of the gray value constancy in the data term. Default: 1.0 + Weight of the gradient constancy in the data term. Default: 30.0 + Weight of the smoothness term in relation to the data term. Default: 5.0 + Initial guess of the disparity. Default: 0.0 + Should the quality measure be returned in Score? Default: "false" + Parameter name(s) for the multigrid algorithm. Default: "default_parameters" + Parameter value(s) for the multigrid algorithm. Default: "fast_accurate" + Distance image. + + + + Compute the fundamental matrix from the relative orientation of two cameras. + Instance represents: Relative orientation of the cameras (3D pose). + + 6x6 covariance matrix of relative pose. Default: [] + Parameters of the 1. camera. + Parameters of the 2. camera. + 9x9 covariance matrix of the fundamental matrix. + Computed fundamental matrix. + + + + Compute the relative orientation between two cameras given image point correspondences and known camera parameters and reconstruct 3D space points. + Modified instance represents: Computed relative orientation of the cameras (3D pose). + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera parameters of the 1st camera. + Camera parameters of the 2nd camera. + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + 6x6 covariance matrix of the relative camera orientation. + + + + Compute the relative orientation between two cameras given image point correspondences and known camera parameters and reconstruct 3D space points. + Modified instance represents: Computed relative orientation of the cameras (3D pose). + + Input points in image 1 (row coordinate). + Input points in image 1 (column coordinate). + Input points in image 2 (row coordinate). + Input points in image 2 (column coordinate). + Row coordinate variance of the points in image 1. Default: [] + Covariance of the points in image 1. Default: [] + Column coordinate variance of the points in image 1. Default: [] + Row coordinate variance of the points in image 2. Default: [] + Covariance of the points in image 2. Default: [] + Column coordinate variance of the points in image 2. Default: [] + Camera parameters of the 1st camera. + Camera parameters of the 2nd camera. + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Root-Mean-Square of the epipolar distance error. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + 6x6 covariance matrix of the relative camera orientation. + + + + Compute the relative orientation between two cameras by automatically finding correspondences between image points. + Modified instance represents: Computed relative orientation of the cameras (3D pose). + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Parameters of the 1st camera. + Parameters of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + 6x6 covariance matrix of the relative orientation. + + + + Compute the relative orientation between two cameras by automatically finding correspondences between image points. + Modified instance represents: Computed relative orientation of the cameras (3D pose). + + Input image 1. + Input image 2. + Row coordinates of characteristic points in image 1. + Column coordinates of characteristic points in image 1. + Row coordinates of characteristic points in image 2. + Column coordinates of characteristic points in image 2. + Parameters of the 1st camera. + Parameters of the 2nd camera. + Gray value comparison metric. Default: "ssd" + Size of gray value masks. Default: 10 + Average row coordinate shift of corresponding points. Default: 0 + Average column coordinate shift of corresponding points. Default: 0 + Half height of matching search window. Default: 200 + Half width of matching search window. Default: 200 + Estimate of the relative orientation of the right image with respect to the left image. Default: 0.0 + Threshold for gray value matching. Default: 10 + Algorithm for the computation of the relative pose and for special pose types. Default: "normalized_dlt" + Maximal deviation of a point from its epipolar line. Default: 1 + Seed for the random number generator. Default: 0 + Root-Mean-Square of the epipolar distance error. + Indices of matched input points in image 1. + Indices of matched input points in image 2. + 6x6 covariance matrix of the relative orientation. + + + + Compute the distance values for a rectified stereo image pair using correlation techniques. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Evaluation of a distance value. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: 0 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.0 + Downstream filters. Default: "none" + Distance interpolation. Default: "none" + Distance image. + + + + Compute the distance values for a rectified stereo image pair using correlation techniques. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified image of camera 1. + Rectified image of camera 2. + Evaluation of a distance value. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Matching function. Default: "ncc" + Width of the correlation window. Default: 11 + Height of the correlation window. Default: 11 + Variance threshold of textured image regions. Default: 0.0 + Minimum of the expected disparities. Default: 0 + Maximum of the expected disparities. Default: 30 + Number of pyramid levels. Default: 1 + Threshold of the correlation function. Default: 0.0 + Downstream filters. Default: "none" + Distance interpolation. Default: "none" + Distance image. + + + + Get a 3D point from the intersection of two lines of sight within a binocular camera system. + Instance represents: Point transformation from camera 2 to camera 1. + + Internal parameters of the projective camera 1. + Internal parameters of the projective camera 2. + Row coordinate of a point in image 1. + Column coordinate of a point in image 1. + Row coordinate of the corresponding point in image 2. + Column coordinate of the corresponding point in image 2. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Distance of the 3D point to the lines of sight. + + + + Get a 3D point from the intersection of two lines of sight within a binocular camera system. + Instance represents: Point transformation from camera 2 to camera 1. + + Internal parameters of the projective camera 1. + Internal parameters of the projective camera 2. + Row coordinate of a point in image 1. + Column coordinate of a point in image 1. + Row coordinate of the corresponding point in image 2. + Column coordinate of the corresponding point in image 2. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + Distance of the 3D point to the lines of sight. + + + + Transform a disparity image into 3D points in a rectified stereo system. + Instance represents: Pose of the rectified camera 2 in relation to the rectified camera 1. + + Disparity image. + Y coordinates of the points in the rectified camera system 1. + Z coordinates of the points in the rectified camera system 1. + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + X coordinates of the points in the rectified camera system 1. + + + + Transform an image point and its disparity into a 3D point in a rectified stereo system. + Instance represents: Pose of the rectified camera 2 in relation to the rectified camera 1. + + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Row coordinate of a point in the rectified image 1. + Column coordinate of a point in the rectified image 1. + Disparity of the images of the world point. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + + Transform an image point and its disparity into a 3D point in a rectified stereo system. + Instance represents: Pose of the rectified camera 2 in relation to the rectified camera 1. + + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Row coordinate of a point in the rectified image 1. + Column coordinate of a point in the rectified image 1. + Disparity of the images of the world point. + X coordinate of the 3D point. + Y coordinate of the 3D point. + Z coordinate of the 3D point. + + + + Transform a disparity value into a distance value in a rectified binocular stereo system. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Disparity between the images of the world point. + Distance of a world point to the rectified camera system. + + + + Transform a disparity value into a distance value in a rectified binocular stereo system. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Disparity between the images of the world point. + Distance of a world point to the rectified camera system. + + + + Transfrom a distance value into a disparity in a rectified stereo system. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Distance of a world point to camera 1. + Disparity between the images of the point. + + + + Transfrom a distance value into a disparity in a rectified stereo system. + Instance represents: Point transformation from the rectified camera 2 to the rectified camera 1. + + Rectified internal camera parameters of camera 1. + Rectified internal camera parameters of camera 2. + Distance of a world point to camera 1. + Disparity between the images of the point. + + + + Generate transformation maps that describe the mapping of the images of a binocular camera pair to a common rectified image plane. + Instance represents: Point transformation from camera 2 to camera 1. + + Image containing the mapping data of camera 2. + Internal parameters of camera 1. + Internal parameters of camera 2. + Subsampling factor. Default: 1.0 + Type of rectification. Default: "viewing_direction" + Type of mapping. Default: "bilinear" + Rectified internal parameters of camera 1. + Rectified internal parameters of camera 2. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 1 to the original camera 1. + Point transformation from the rectified camera 2 to the rectified camera 1. + Image containing the mapping data of camera 1. + + + Determine all camera parameters of a binocular stereo system. + Ordered Tuple with all X-coordinates of the calibration marks (in meters). + Ordered Tuple with all Y-coordinates of the calibration marks (in meters). + Ordered Tuple with all Z-coordinates of the calibration marks (in meters). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 2 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 2 (in pixels). + Initial values for the internal parameters of camera 1. + Initial values for the internal parameters of camera 2. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 1. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 2. + Camera parameters to be estimated. Default: "all" + Internal parameters of camera 2. + Ordered tuple with all poses of the calibration model in relation to camera 1. + Ordered tuple with all poses of the calibration model in relation to camera 2. + Pose of camera 2 in relation to camera 1. + Average error distances in pixels. + Internal parameters of camera 1. + + + + Determine all camera parameters of a binocular stereo system. + Instance represents: Ordered tuple with all initial values for the poses of the calibration model in relation to camera 1. + + Ordered Tuple with all X-coordinates of the calibration marks (in meters). + Ordered Tuple with all Y-coordinates of the calibration marks (in meters). + Ordered Tuple with all Z-coordinates of the calibration marks (in meters). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 1 (in pixels). + Ordered Tuple with all row-coordinates of the extracted calibration marks of camera 2 (in pixels). + Ordered Tuple with all column-coordinates of the extracted calibration marks of camera 2 (in pixels). + Initial values for the internal parameters of camera 1. + Initial values for the internal parameters of camera 2. + Ordered tuple with all initial values for the poses of the calibration model in relation to camera 2. + Camera parameters to be estimated. Default: "all" + Internal parameters of camera 2. + Ordered tuple with all poses of the calibration model in relation to camera 1. + Ordered tuple with all poses of the calibration model in relation to camera 2. + Pose of camera 2 in relation to camera 1. + Average error distances in pixels. + Internal parameters of camera 1. + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Input image where the model should be found. + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Camera parameter (inner orientation) obtained from camera calibration. + Score type to be evaluated in Score. Default: "num_points" + 3D pose of the object. + Score of the found instances according to the ScoreType input. + + + + Find the best matches of a calibrated descriptor model in an image and return their 3D pose. + Modified instance represents: 3D pose of the object. + + Input image where the model should be found. + The handle to the descriptor model. + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + Minimum score of the instances of the models to be found. Default: 0.2 + Maximal number of found instances. Default: 1 + Camera parameter (inner orientation) obtained from camera calibration. + Score type to be evaluated in Score. Default: "num_points" + Score of the found instances according to the ScoreType input. + + + + Create a descriptor model for calibrated perspective matching. + Instance represents: The reference pose of the object in the reference image. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + The type of the detector. Default: "lepetit" + The detector's parameter names. Default: [] + Values of the detector's parameters. Default: [] + The descriptor's parameter names. Default: [] + Values of the descriptor's parameters. Default: [] + The seed for the random number generator. Default: 42 + The handle to the descriptor model. + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Instance represents: The reference pose of the object. + + Input contours that will be used to create the model. + The parameters of the internal orientation of the camera. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Instance represents: The reference pose of the object. + + Input contours that will be used to create the model. + The parameters of the internal orientation of the camera. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Create a deformable model for calibrated perspective matching. + Instance represents: The reference pose of the object in the reference image. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + Handle of the model. + + + + Create a deformable model for calibrated perspective matching. + Instance represents: The reference pose of the object in the reference image. + + Input image whose domain will be used to create the model. + The parameters of the internal orientation of the camera. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "none" + Match metric. Default: "use_polarity" + Thresholds or hysteresis thresholds for the contrast of the object in the template image. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + The parameter names. Default: [] + Values of the parameters. Default: [] + Handle of the model. + + + Create a 3D camera pose from camera center and viewing direction. + X coordinate of the optical center of the camera. + Y coordinate of the optical center of the camera. + Z coordinate of the optical center of the camera. + X coordinate of the 3D point to which the camera is directed. + Y coordinate of the 3D point to which the camera is directed. + Z coordinate of the 3D point to which the camera is directed. + Normal vector of the reference plane (points up). Default: "-y" + Camera roll angle. Default: 0 + 3D camera pose. + + + + Create a 3D camera pose from camera center and viewing direction. + Modified instance represents: 3D camera pose. + + X coordinate of the optical center of the camera. + Y coordinate of the optical center of the camera. + Z coordinate of the optical center of the camera. + X coordinate of the 3D point to which the camera is directed. + Y coordinate of the 3D point to which the camera is directed. + Z coordinate of the 3D point to which the camera is directed. + Normal vector of the reference plane (points up). Default: "-y" + Camera roll angle. Default: 0 + + + + Transform a pose that refers to the coordinate system of a 3D object model to a pose that refers to the reference coordinate system of a 3D shape model and vice versa. + Instance represents: Pose to be transformed in the source system. + + Handle of the 3D shape model. + Direction of the transformation. Default: "ref_to_model" + Transformed 3D pose in the target system. + + + + Project the edges of a 3D shape model into image coordinates. + Instance represents: 3D pose of the 3D shape model in the world coordinate system. + + Handle of the 3D shape model. + Internal camera parameters. + Remove hidden surfaces? Default: "true" + Smallest face angle for which the edge is displayed Default: 0.523599 + Contour representation of the model view. + + + + Project the edges of a 3D shape model into image coordinates. + Instance represents: 3D pose of the 3D shape model in the world coordinate system. + + Handle of the 3D shape model. + Internal camera parameters. + Remove hidden surfaces? Default: "true" + Smallest face angle for which the edge is displayed Default: 0.523599 + Contour representation of the model view. + + + Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region. + Region in the image plane. + Handle of the 3D object model. + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Handle of the reduced 3D object model. + + + + Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Region in the image plane. + Handle of the 3D object model. + Internal camera parameters. + Handle of the reduced 3D object model. + + + Render 3D object models to get an image. + Handles of the 3D object models. + Camera parameters of the scene. + 3D poses of the objects. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Rendered scene. + + + + Render 3D object models to get an image. + Instance represents: 3D poses of the objects. + + Handles of the 3D object models. + Camera parameters of the scene. + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Rendered scene. + + + Display 3D object models. + Window handle. + Handles of the 3D object models. + Camera parameters of the scene. Default: [] + 3D poses of the objects. Default: [] + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Display 3D object models. + Instance represents: 3D poses of the objects. + + Window handle. + Handles of the 3D object models. + Camera parameters of the scene. Default: [] + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Project a 3D object model into image coordinates. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Handle of the 3D object model. + Internal camera parameters. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Projected model contours. + + + + Project a 3D object model into image coordinates. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Handle of the 3D object model. + Internal camera parameters. + Name of the generic parameter. Default: [] + Value of the generic parameter. Default: [] + Projected model contours. + + + + Compute the calibrated scene flow between two stereo image pairs. + Instance represents: Pose of the rectified camera 2 in relation to the rectified camera 1. + + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Handle of the 3D object model. + + + + Compute the calibrated scene flow between two stereo image pairs. + Instance represents: Pose of the rectified camera 2 in relation to the rectified camera 1. + + Input image 1 at time @f$t_{1}$t_1. + Input image 2 at time @f$t_{1}$t_1. + Input image 1 at time @f$t_{2}$t_2. + Input image 2 at time @f$t_{2}$t_2. + Disparity between input images 1 and 2 at time @f$t_{1}$t_1. + Weight of the regularization term relative to the data term (derivatives of the optical flow). Default: 40.0 + Weight of the regularization term relative to the data term (derivatives of the disparity change). Default: 40.0 + Parameter name(s) for the algorithm. Default: "default_parameters" + Parameter value(s) for the algorithm. Default: "accurate" + Internal camera parameters of the rectified camera 1. + Internal camera parameters of the rectified camera 2. + Handle of the 3D object model. + + + + Compute an absolute pose out of point correspondences between world and image coordinates. + Modified instance represents: Pose. + + X-Component of world coordinates. + Y-Component of world coordinates. + Z-Component of world coordinates. + Row-Component of image coordinates. + Column-Component of image coordinates. + The inner camera parameters from camera calibration. + Kind of algorithm Default: "iterative" + Type of pose quality to be returned in Quality. Default: "error" + Pose quality. + + + + Compute an absolute pose out of point correspondences between world and image coordinates. + Modified instance represents: Pose. + + X-Component of world coordinates. + Y-Component of world coordinates. + Z-Component of world coordinates. + Row-Component of image coordinates. + Column-Component of image coordinates. + The inner camera parameters from camera calibration. + Kind of algorithm Default: "iterative" + Type of pose quality to be returned in Quality. Default: "error" + Pose quality. + + + + Generate a projection map that describes the mapping between the image plane and a the plane z=0 of a world coordinate system. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Internal camera parameters. + Width of the images to be transformed. + Height of the images to be transformed. + Width of the resulting mapped images in pixels. + Height of the resulting mapped images in pixels. + Scale or unit. Default: "m" + Type of the mapping. Default: "bilinear" + Image containing the mapping data. + + + + Generate a projection map that describes the mapping between the image plane and a the plane z=0 of a world coordinate system. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Internal camera parameters. + Width of the images to be transformed. + Height of the images to be transformed. + Width of the resulting mapped images in pixels. + Height of the resulting mapped images in pixels. + Scale or unit. Default: "m" + Type of the mapping. Default: "bilinear" + Image containing the mapping data. + + + + Rectify an image by transforming it into the plane z=0 of a world coordinate system. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Input image. + Internal camera parameters. + Width of the resulting image in pixels. + Height of the resulting image in pixels. + Scale or unit Default: "m" + Type of interpolation. Default: "bilinear" + Transformed image. + + + + Rectify an image by transforming it into the plane z=0 of a world coordinate system. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Input image. + Internal camera parameters. + Width of the resulting image in pixels. + Height of the resulting image in pixels. + Scale or unit Default: "m" + Type of interpolation. Default: "bilinear" + Transformed image. + + + + Transform an XLD contour into the plane z=0 of a world coordinate system. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Input XLD contours to be transformed in image coordinates. + Internal camera parameters. + Scale or dimension Default: "m" + Transformed XLD contours in world coordinates. + + + + Transform an XLD contour into the plane z=0 of a world coordinate system. + Instance represents: 3D pose of the world coordinate system in camera coordinates. + + Input XLD contours to be transformed in image coordinates. + Internal camera parameters. + Scale or dimension Default: "m" + Transformed XLD contours in world coordinates. + + + + Translate the origin of a 3D pose. + Instance represents: original 3D pose. + + translation of the origin in x-direction. Default: 0 + translation of the origin in y-direction. Default: 0 + translation of the origin in z-direction. Default: 0 + new 3D pose after applying the translation. + + + Perform a hand-eye calibration. + Linear list containing all the x coordinates of the calibration points (in the order of the images). + Linear list containing all the y coordinates of the calibration points (in the order of the images). + Linear list containing all the z coordinates of the calibration points (in the order of the images). + Linear list containing all row coordinates of the calibration points (in the order of the images). + Linear list containing all the column coordinates of the calibration points (in the order of the images). + Number of the calibration points for each image. + Known 3D pose of the robot for each image (moving camera: robot base in robot tool coordinates; stationary camera: robot tool in robot base coordinates). + Internal camera parameters. + Method of hand-eye calibration. Default: "nonlinear" + Type of quality assessment. Default: "error_pose" + Computed 3D pose of the calibration points in robot base coordinates (moving camera) or in robot tool coordinates (stationary camera), respectively. + Quality assessment of the result. + Computed relative camera pose: 3D pose of the robot tool (moving camera) or robot base (stationary camera), respectively, in camera coordinates. + + + Perform a hand-eye calibration. + Linear list containing all the x coordinates of the calibration points (in the order of the images). + Linear list containing all the y coordinates of the calibration points (in the order of the images). + Linear list containing all the z coordinates of the calibration points (in the order of the images). + Linear list containing all row coordinates of the calibration points (in the order of the images). + Linear list containing all the column coordinates of the calibration points (in the order of the images). + Number of the calibration points for each image. + Known 3D pose of the robot for each image (moving camera: robot base in robot tool coordinates; stationary camera: robot tool in robot base coordinates). + Internal camera parameters. + Method of hand-eye calibration. Default: "nonlinear" + Type of quality assessment. Default: "error_pose" + Computed 3D pose of the calibration points in robot base coordinates (moving camera) or in robot tool coordinates (stationary camera), respectively. + Quality assessment of the result. + Computed relative camera pose: 3D pose of the robot tool (moving camera) or robot base (stationary camera), respectively, in camera coordinates. + + + + Get the representation type of a 3D pose. + Instance represents: 3D pose. + + Meaning of the rotation values. + View of transformation. + Order of rotation and translation. + + + + Change the representation type of a 3D pose. + Instance represents: Original 3D pose. + + Order of rotation and translation. Default: "Rp+T" + Meaning of the rotation values. Default: "gba" + View of transformation. Default: "point" + 3D transformation. + + + + Create a 3D pose. + Modified instance represents: 3D pose. + + Translation along the x-axis (in [m]). Default: 0.1 + Translation along the y-axis (in [m]). Default: 0.1 + Translation along the z-axis (in [m]). Default: 0.1 + Rotation around x-axis or x component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Rotation around y-axis or y component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Rotation around z-axis or z component of the Rodriguez vector (in [ deg] or without unit). Default: 90.0 + Order of rotation and translation. Default: "Rp+T" + Meaning of the rotation values. Default: "gba" + View of transformation. Default: "point" + + + + Convert internal camera parameters and a 3D pose into a 3x4 projection matrix. + Instance represents: 3D pose. + + Internal camera parameters. + 3x4 projection matrix. + + + + Convert a 3D pose into a homogeneous transformation matrix. + Instance represents: 3D pose. + + Equivalent homogeneous transformation matrix. + + + + Deserialize a serialized pose. + Modified instance represents: 3D pose. + + Handle of the serialized item. + + + + Serialize a pose. + Instance represents: 3D pose. + + Handle of the serialized item. + + + + Read a 3D pose from a text file. + Modified instance represents: 3D pose. + + File name of the external camera parameters. Default: "campose.dat" + + + + Write a 3D pose to a text file. + Instance represents: 3D pose. + + File name of the external camera parameters. Default: "campose.dat" + + + + Simulate an image with calibration plate. + Instance represents: External camera parameters (3D pose of the calibration plate in camera coordinates). + + File name of the calibration plate description. Default: "calplate_320mm.cpd" + Internal camera parameters. + Gray value of image background. Default: 128 + Gray value of calibration plate. Default: 80 + Gray value of calibration marks. Default: 224 + Scaling factor to reduce oversampling. Default: 1.0 + Simulated calibration image. + + + Determine all camera parameters by a simultaneous minimization process. + Ordered tuple with all x coordinates of the calibration marks (in meters). + Ordered tuple with all y coordinates of the calibration marks (in meters). + Ordered tuple with all z coordinates of the calibration marks (in meters). + Ordered tuple with all row coordinates of the extracted calibration marks (in pixels). + Ordered tuple with all column coordinates of the extracted calibration marks (in pixels). + Initial values for the internal camera parameters. + Ordered tuple with all initial values for the external camera parameters. + Camera parameters to be estimated. Default: "all" + Ordered tuple with all external camera parameters. + Average error distance in pixels. + Internal camera parameters. + + + + Determine all camera parameters by a simultaneous minimization process. + Instance represents: Ordered tuple with all initial values for the external camera parameters. + + Ordered tuple with all x coordinates of the calibration marks (in meters). + Ordered tuple with all y coordinates of the calibration marks (in meters). + Ordered tuple with all z coordinates of the calibration marks (in meters). + Ordered tuple with all row coordinates of the extracted calibration marks (in pixels). + Ordered tuple with all column coordinates of the extracted calibration marks (in pixels). + Initial values for the internal camera parameters. + Camera parameters to be estimated. Default: "all" + Ordered tuple with all external camera parameters. + Average error distance in pixels. + Internal camera parameters. + + + + Extract rectangularly arranged 2D calibration marks from the image and calculate initial values for the external camera parameters. + Modified instance represents: Estimation for the external camera parameters. + + Input image. + Region of the calibration plate. + File name of the calibration plate description. Default: "caltab_100.descr" + Initial values for the internal camera parameters. + Initial threshold value for contour detection. Default: 128 + Loop value for successive reduction of StartThresh. Default: 10 + Minimum threshold for contour detection. Default: 18 + Filter parameter for contour detection, see edges_image. Default: 0.9 + Minimum length of the contours of the marks. Default: 15.0 + Maximum expected diameter of the marks. Default: 100.0 + Tuple with column coordinates of the detected marks. + Tuple with row coordinates of the detected marks. + + + Define type, parameters, and relative pose of a camera in a camera setup model. + Handle to the camera setup model. + Index of the camera in the setup. + Type of the camera. Default: [] + Internal camera parameters. + Pose of the camera relative to the setup's coordinate system. + + + Define type, parameters, and relative pose of a camera in a camera setup model. + Handle to the camera setup model. + Index of the camera in the setup. + Type of the camera. Default: [] + Internal camera parameters. + Pose of the camera relative to the setup's coordinate system. + + + Represents a quaternion. + + + Create an uninitialized instance. + + + + Create a rotation quaternion. + Modified instance represents: Rotation quaternion. + + X component of the rotation axis. + Y component of the rotation axis. + Z component of the rotation axis. + Rotation angle in radians. + + + + Create a rotation quaternion. + Modified instance represents: Rotation quaternion. + + X component of the rotation axis. + Y component of the rotation axis. + Z component of the rotation axis. + Rotation angle in radians. + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Composes two quaternions + + + Convert to pose + + + Convert to matrix + + + Conjugate a quaternion + + + + Perform a rotation by a unit quaternion. + Instance represents: Rotation quaternion. + + X coordinate of the point to be rotated. + Y coordinate of the point to be rotated. + Z coordinate of the point to be rotated. + Y coordinate of the rotated point. + Z coordinate of the rotated point. + X coordinate of the rotated point. + + + + Generate the conjugation of a quaternion. + Instance represents: Input quaternion. + + Conjugated quaternion. + + + + Normalize a quaternion. + Instance represents: Input quaternion. + + Normalized quaternion. + + + + Create a rotation quaternion. + Modified instance represents: Rotation quaternion. + + X component of the rotation axis. + Y component of the rotation axis. + Z component of the rotation axis. + Rotation angle in radians. + + + + Create a rotation quaternion. + Modified instance represents: Rotation quaternion. + + X component of the rotation axis. + Y component of the rotation axis. + Z component of the rotation axis. + Rotation angle in radians. + + + + Convert a quaternion into the corresponding 3D pose. + Instance represents: Rotation quaternion. + + 3D Pose. + + + + Convert a quaternion into the corresponding rotation matrix. + Instance represents: Rotation quaternion. + + Rotation matrix. + + + Convert the rotational part of a 3D pose to a quaternion. + 3D Pose. + Rotation quaternion. + + + + Convert the rotational part of a 3D pose to a quaternion. + Modified instance represents: Rotation quaternion. + + 3D Pose. + + + + Interpolation of two quaternions. + Instance represents: Start quaternion. + + End quaternion. + Interpolation parameter. Default: 0.5 + Interpolated quaternion. + + + + Multiply two quaternions. + Instance represents: Left quaternion. + + Right quaternion. + Product of the input quaternions. + + + + Deserialize a serialized quaternion. + Modified instance represents: Quaternion. + + Handle of the serialized item. + + + + Serialize a quaternion. + Instance represents: Quaternion. + + Handle of the serialized item. + + + Represents an instance of a region object(-array). + + + Create an uninitialized iconic object + + + + Create a rectangle parallel to the coordinate axes. + Modified instance represents: Created rectangle. + + Line of upper left corner point. Default: 30.0 + Column of upper left corner point. Default: 20.0 + Line of lower right corner point. Default: 100.0 + Column of lower right corner point. Default: 200.0 + + + + Create a rectangle parallel to the coordinate axes. + Modified instance represents: Created rectangle. + + Line of upper left corner point. Default: 30.0 + Column of upper left corner point. Default: 20.0 + Line of lower right corner point. Default: 100.0 + Column of lower right corner point. Default: 200.0 + + + + Create an ellipse sector. + Modified instance represents: Created ellipse(s). + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + Start angle of the sector. Default: 0.0 + End angle of the sector. Default: 3.14159 + + + + Create an ellipse sector. + Modified instance represents: Created ellipse(s). + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + Start angle of the sector. Default: 0.0 + End angle of the sector. Default: 3.14159 + + + + Create a circle sector. + Modified instance represents: Generated circle sector. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + Start angle of the circle sector. Default: 0.0 + End angle of the circle sector. Default: 3.14159 + + + + Create a circle sector. + Modified instance represents: Generated circle sector. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + Start angle of the circle sector. Default: 0.0 + End angle of the circle sector. Default: 3.14159 + + + + Create a circle. + Modified instance represents: Generated circle. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + + + + Create a circle. + Modified instance represents: Generated circle. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Returns the intersection of regions + + + Returns the union of regions + + + Returns the difference of regions + + + + Returns the recomplement of the region. Note that the result + is not necessarily finite, so you might wish to intersect the + result with the image domain you are interested in. + + + + + Returns the intersection of the region and the image domain. + In particular, the result will not exceed the image bounds. + + + + Test if one region is a subset of the other + + + Test if one region is a subset of the other + + + Returns the Minkowski addition of regions + + + Returns the Minkowski subtraction of regions + + + Dilates the region by the specified radius + + + Dilates the region by the specified radius + + + Erodes the region by the specified radius + + + Translates the region + + + Zooms the region + + + Zooms the region + + + Transposes the region + + + Converts an XLD contour to a filled region + + + Converts an XLD polygon to a filled region + + + Returns an XLD contour representing the region border + + + + Generate XLD contours from regions. + Instance represents: Input regions. + + Mode of contour generation. Default: "border" + Resulting contours. + + + + Convert a skeleton into XLD contours. + Instance represents: Skeleton of which the contours are to be determined. + + Minimum number of points a contour has to have. Default: 1 + Contour filter mode. Default: "filter" + Resulting contours. + + + + Receive regions over a socket connection. + Modified instance represents: Received regions. + + Socket number. + + + + Send regions over a socket connection. + Instance represents: Regions to be sent. + + Socket number. + + + + Create a model to perform 3D-measurements using the sheet-of-light technique. + Instance represents: Region of the images containing the profiles to be processed. If the provided region is not rectangular, its smallest enclosing rectangle will be used. + + Names of the generic parameters that can be adjusted for the sheet-of-light model. Default: "min_gray" + Values of the generic parameters that can be adjusted for the sheet-of-light model. Default: 50 + Handle for using and accessing the sheet-of-light model. + + + + Create a model to perform 3D-measurements using the sheet-of-light technique. + Instance represents: Region of the images containing the profiles to be processed. If the provided region is not rectangular, its smallest enclosing rectangle will be used. + + Names of the generic parameters that can be adjusted for the sheet-of-light model. Default: "min_gray" + Values of the generic parameters that can be adjusted for the sheet-of-light model. Default: 50 + Handle for using and accessing the sheet-of-light model. + + + + Selects characters from a given region. + Instance represents: Region of text lines in which to select the characters. + + Should dot print characters be detected? Default: "false" + Stroke width of a character. Default: "medium" + Width of a character. Default: 25 + Height of a character. Default: 25 + Add punctuation? Default: "false" + Exist diacritic marks? Default: "false" + Method to partition neighbored characters. Default: "none" + Should lines be partitioned? Default: "false" + Distance of fragments. Default: "medium" + Connect fragments? Default: "false" + Maximum size of clutter. Default: 0 + Stop execution after this step. Default: "completion" + Selected characters. + + + + Segments characters in a given region of an image. + Instance represents: Area in the image where the text lines are located. + + Input image. + Region of characters. + Method to segment the characters. Default: "local_auto_shape" + Eliminate horizontal and vertical lines? Default: "false" + Should dot print characters be detected? Default: "false" + Stroke width of a character. Default: "medium" + Width of a character. Default: 25 + Height of a character. Default: 25 + Value to adjust the segmentation. Default: 0 + Minimum gray value difference between text and background. Default: 10 + Threshold used to segment the characters. + Image used for the segmentation. + + + + Segments characters in a given region of an image. + Instance represents: Area in the image where the text lines are located. + + Input image. + Region of characters. + Method to segment the characters. Default: "local_auto_shape" + Eliminate horizontal and vertical lines? Default: "false" + Should dot print characters be detected? Default: "false" + Stroke width of a character. Default: "medium" + Width of a character. Default: 25 + Height of a character. Default: 25 + Value to adjust the segmentation. Default: 0 + Minimum gray value difference between text and background. Default: 10 + Threshold used to segment the characters. + Image used for the segmentation. + + + + Determines the slant of characters of a text line or paragraph. + Instance represents: Area of text lines. + + Input image. + Height of the text lines. Default: 25 + Minimum slant of the characters Default: -0.523599 + Maximum slant of the characters Default: 0.523599 + Calculated slant of the characters in the region + + + + Determines the orientation of a text line or paragraph. + Instance represents: Area of text lines. + + Input image. + Height of the text lines. Default: 25 + Minimum rotation of the text lines. Default: -0.523599 + Maximum rotation of the text lines. Default: 0.523599 + Calculated rotation angle of the text lines. + + + + Construct classes for class_ndim_norm. + Instance represents: Foreground pixels to be trained. + + Background pixels to be trained (rejection class). + Multi-channel training image. + Metric to be used. Default: "euclid" + Maximum cluster radius. Default: 10.0 + The ratio of the number of pixels in a cluster to the total number of pixels (in percent) must be larger than MinNumberPercent (otherwise the cluster is not output). Default: 0.01 + Coordinates of all cluster centers. + Overlap of the rejection class with the classified objects (1: no overlap). + Cluster radii or half edge lengths. + + + + Construct classes for class_ndim_norm. + Instance represents: Foreground pixels to be trained. + + Background pixels to be trained (rejection class). + Multi-channel training image. + Metric to be used. Default: "euclid" + Maximum cluster radius. Default: 10.0 + The ratio of the number of pixels in a cluster to the total number of pixels (in percent) must be larger than MinNumberPercent (otherwise the cluster is not output). Default: 0.01 + Coordinates of all cluster centers. + Overlap of the rejection class with the classified objects (1: no overlap). + Cluster radii or half edge lengths. + + + + Train a classificator using a multi-channel image. + Instance represents: Foreground pixels to be trained. + + Background pixels to be trained (rejection class). + Multi-channel training image. + Handle of the classifier. + + + + Transform a region in polar coordinates back to cartesian coordinates. + Instance represents: Input region. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the column coordinate 0 of PolarRegion to. Default: 0.0 + Angle of the ray to map the column coordinate $WidthIn-1$ of PolarRegion to. Default: 6.2831853 + Radius of the circle to map the row coordinate 0 of PolarRegion to. Default: 0 + Radius of the circle to map the row coordinate $HeightIn-1$ of PolarRegion to. Default: 100 + Width of the virtual input image. Default: 512 + Height of the virtual input image. Default: 512 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output region. + + + + Transform a region in polar coordinates back to cartesian coordinates. + Instance represents: Input region. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the column coordinate 0 of PolarRegion to. Default: 0.0 + Angle of the ray to map the column coordinate $WidthIn-1$ of PolarRegion to. Default: 6.2831853 + Radius of the circle to map the row coordinate 0 of PolarRegion to. Default: 0 + Radius of the circle to map the row coordinate $HeightIn-1$ of PolarRegion to. Default: 100 + Width of the virtual input image. Default: 512 + Height of the virtual input image. Default: 512 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output region. + + + + Transform a region within an annular arc to polar coordinates. + Instance represents: Input region. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to column coordinate 0 of PolarTransRegion. Default: 0.0 + Angle of the ray to be mapped to column coordinate $Width-1$ of PolarTransRegion. Default: 6.2831853 + Radius of the circle to be mapped to row coordinate 0 of PolarTransRegion. Default: 0 + Radius of the circle to be mapped to row coordinate $Height-1$ of PolarTransRegion. Default: 100 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output region. + + + + Transform a region within an annular arc to polar coordinates. + Instance represents: Input region. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to column coordinate 0 of PolarTransRegion. Default: 0.0 + Angle of the ray to be mapped to column coordinate $Width-1$ of PolarTransRegion. Default: 6.2831853 + Radius of the circle to be mapped to row coordinate 0 of PolarTransRegion. Default: 0 + Radius of the circle to be mapped to row coordinate $Height-1$ of PolarTransRegion. Default: 100 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Interpolation method for the transformation. Default: "nearest_neighbor" + Output region. + + + + Merge regions from line scan images. + Instance represents: Current input regions. + + Merged regions from the previous iteration. + Regions from the previous iteration which could not be merged with the current ones. + Height of the line scan images. Default: 512 + Image line of the current image, which touches the previous image. Default: "top" + Maximum number of images for a single region. Default: 3 + Current regions, merged with old ones where applicable. + + + + Partition a region into rectangles of approximately equal size. + Instance represents: Region to be partitioned. + + Width of the individual rectangles. + Height of the individual rectangles. + Partitioned region. + + + + Partition a region horizontally at positions of small vertical extent. + Instance represents: Region to be partitioned. + + Approximate width of the resulting region parts. + Maximum percental shift of the split position. Default: 20 + Partitioned region. + + + + Convert regions to a label image. + Instance represents: Regions to be converted. + + Pixel type of the result image. Default: "int2" + Width of the image to be generated. Default: 512 + Height of the image to be generated. Default: 512 + Result image of dimension Width * Height containing the converted regions. + + + + Convert a region into a binary byte-image. + Instance represents: Regions to be converted. + + Gray value in which the regions are displayed. Default: 255 + Gray value in which the background is displayed. Default: 0 + Width of the image to be generated. Default: 512 + Height of the image to be generated. Default: 512 + Result image of dimension Width * Height containing the converted regions. + + + + Return the union of two regions. + Instance represents: Region for which the union with all regions in Region2 is to be computed. + + Regions which should be added to Region1. + Resulting regions. + + + + Return the union of all input regions. + Instance represents: Regions of which the union is to be computed. + + Union of all input regions. + + + + Compute the closest-point transformation of a region. + Instance represents: Region for which the distance to the border is computed. + + Image containing the coordinates of the closest points. + Type of metric to be used for the closest-point transformation. Default: "city-block" + Compute the distance for pixels inside (true) or outside (false) the input region. Default: "true" + Mode in which the coordinates of the closest points are returned. Default: "absolute" + Width of the output images. Default: 640 + Height of the output images. Default: 480 + Image containing the distance information. + + + + Compute the distance transformation of a region. + Instance represents: Region for which the distance to the border is computed. + + Type of metric to be used for the distance transformation. Default: "city-block" + Compute the distance for pixels inside (true) or outside (false) the input region. Default: "true" + Width of the output image. Default: 640 + Height of the output image. Default: 480 + Image containing the distance information. + + + + Compute the skeleton of a region. + Instance represents: Region to be thinned. + + Resulting skeleton. + + + + Apply a projective transformation to a region. + Instance represents: Input regions. + + Homogeneous projective transformation matrix. + Interpolation method for the transformation. Default: "bilinear" + Output regions. + + + + Apply an arbitrary affine 2D transformation to regions. + Instance represents: Region(s) to be rotated and scaled. + + Input transformation matrix. + Should the transformation be done using interpolation? Default: "nearest_neighbor" + Transformed output region(s). + + + + Reflect a region about an axis. + Instance represents: Region(s) to be reflected. + + Axis of symmetry. Default: "row" + Twice the coordinate of the axis of symmetry. Default: 512 + Reflected region(s). + + + + Zoom a region. + Instance represents: Region(s) to be zoomed. + + Scale factor in x-direction. Default: 2.0 + Scale factor in y-direction. Default: 2.0 + Zoomed region(s). + + + + Translate a region. + Instance represents: Region(s) to be moved. + + Row coordinate of the vector by which the region is to be moved. Default: 30 + Row coordinate of the vector by which the region is to be moved. Default: 30 + Translated region(s). + + + + Find junctions and end points in a skeleton. + Instance represents: Input skeletons. + + Extracted junctions. + Extracted end points. + + + + Calculate the intersection of two regions. + Instance represents: Regions to be intersected with all regions in Region2. + + Regions with which Region1 is intersected. + Result of the intersection. + + + + Partition the image plane using given regions. + Instance represents: Regions for which the separating lines are to be determined. + + Mode of operation. Default: "mixed" + Output region containing the separating lines. + + + + Fill up holes in regions. + Instance represents: Input regions containing holes. + + Regions without holes. + + + + Fill up holes in regions having given shape features. + Instance represents: Input region(s). + + Shape feature used. Default: "area" + Minimum value for Feature. Default: 1.0 + Maximum value for Feature. Default: 100.0 + Output region(s) with filled holes. + + + + Fill up holes in regions having given shape features. + Instance represents: Input region(s). + + Shape feature used. Default: "area" + Minimum value for Feature. Default: 1.0 + Maximum value for Feature. Default: 100.0 + Output region(s) with filled holes. + + + + Fill gaps between regions or split overlapping regions. + Instance represents: Regions for which the gaps are to be closed, or which are to be separated. + + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Expanded or separated regions. + + + + Fill gaps between regions or split overlapping regions. + Instance represents: Regions for which the gaps are to be closed, or which are to be separated. + + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Expanded or separated regions. + + + + Clip a region relative to its smallest surrounding rectangle. + Instance represents: Regions to be clipped. + + Number of rows clipped at the top. Default: 1 + Number of rows clipped at the bottom. Default: 1 + Number of columns clipped at the left. Default: 1 + Number of columns clipped at the right. Default: 1 + Clipped regions. + + + + Clip a region to a rectangle. + Instance represents: Region to be clipped. + + Row coordinate of the upper left corner of the rectangle. Default: 0 + Column coordinate of the upper left corner of the rectangle. Default: 0 + Row coordinate of the lower right corner of the rectangle. Default: 256 + Column coordinate of the lower right corner of the rectangle. Default: 256 + Clipped regions. + + + + Rank operator for regions. + Instance represents: Region(s) to be transformed. + + Width of the filter mask. Default: 15 + Height of the filter mask. Default: 15 + Minimum number of points lying within the filter mask. Default: 70 + Resulting region(s). + + + + Compute connected components of a region. + Instance represents: Input region. + + Connected components. + + + + Calculate the symmetric difference of two regions. + Instance represents: Input region 1. + + Input region 2. + Resulting region. + + + + Calculate the difference of two regions. + Instance represents: Regions to be processed. + + The union of these regions is subtracted from Region. + Resulting region. + + + + Return the complement of a region. + Instance represents: Input region(s). + + Complemented regions. + + + + Determine the connected components of the background of given regions. + Instance represents: Input regions. + + Connected components of the background. + + + + Generate a region having a given Hamming distance. + Instance represents: Region to be modified. + + Width of the region to be changed. Default: 100 + Height of the region to be changed. Default: 100 + Hamming distance between the old and new regions. Default: 1000 + Regions having the required Hamming distance. + + + + Remove noise from a region. + Instance represents: Regions to be modified. + + Mode of noise removal. Default: "n_4" + Less noisy regions. + + + + Transform the shape of a region. + Instance represents: Regions to be transformed. + + Type of transformation. Default: "convex" + Transformed regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Regions for which the gaps are to be closed, or which are to be separated. + + Image (possibly multi-channel) for gray value or color comparison. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Maximum difference between the gray value or color at the region's border and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Regions for which the gaps are to be closed, or which are to be separated. + + Image (possibly multi-channel) for gray value or color comparison. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Maximum difference between the gray value or color at the region's border and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Regions for which the gaps are to be closed, or which are to be separated. + + Image (possibly multi-channel) for gray value or color comparison. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Reference gray value or color for comparison. Default: 128 + Maximum difference between the reference gray value or color and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Fill gaps between regions (depending on gray value or color) or split overlapping regions. + Instance represents: Regions for which the gaps are to be closed, or which are to be separated. + + Image (possibly multi-channel) for gray value or color comparison. + Regions in which no expansion takes place. + Number of iterations. Default: "maximal" + Expansion mode. Default: "image" + Reference gray value or color for comparison. Default: 128 + Maximum difference between the reference gray value or color and a candidate for expansion. Default: 32 + Expanded or separated regions. + + + + Split lines represented by one pixel wide, non-branching lines. + Instance represents: Input lines (represented by 1 pixel wide, non-branching regions). + + Maximum distance of the line points to the line segment connecting both end points. Default: 3 + Row coordinates of the start points of the output lines. + Column coordinates of the start points of the output lines. + Row coordinates of the end points of the output lines. + Column coordinates of the end points of the output lines. + + + + Split lines represented by one pixel wide, non-branching regions. + Instance represents: Input lines (represented by 1 pixel wide, non-branching regions). + + Maximum distance of the line points to the line segment connecting both end points. Default: 3 + Split lines. + + + + Convert a histogram into a region. + Modified instance represents: Region containing the histogram. + + Input histogram. + Row coordinate of the center of the histogram. Default: 255 + Column coordinate of the center of the histogram. Default: 255 + Scale factor for the histogram. Default: 1 + + + + Eliminate runs of a given length. + Instance represents: Region to be clipped. + + All runs which are shorter are eliminated. Default: 3 + All runs which are longer are eliminated. Default: 1000 + Clipped regions. + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Paint regions into an image. + Instance represents: Regions to be painted into the input image. + + Image in which the regions are to be painted. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + Image containing the result. + + + + Paint regions into an image. + Instance represents: Regions to be painted into the input image. + + Image in which the regions are to be painted. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + Image containing the result. + + + + Overpaint regions in an image. + Instance represents: Regions to be painted into the input image. + + Image in which the regions are to be painted. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + + + + Overpaint regions in an image. + Instance represents: Regions to be painted into the input image. + + Image in which the regions are to be painted. + Desired gray values of the regions. Default: 255.0 + Paint regions filled or as boundaries. Default: "fill" + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Test whether a region is contained in another region. + Instance represents: Test region. + + Region for comparison. + Is Region1 contained in Region2? + + + + Test whether the regions of two objects are identical. + Instance represents: Test regions. + + Comparative regions. + boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Store a polygon as a "filled" region. + Modified instance represents: Created region. + + Line indices of the base points of the region contour. Default: 100 + Column indices of the base points of the region contour. Default: 100 + + + + Store a polygon as a region. + Modified instance represents: Created region. + + Line indices of the base points of the region contour. Default: 100 + Colum indices of the base points of the region contour. Default: 100 + + + + Store individual pixels as image region. + Modified instance represents: Created region. + + Lines of the pixels in the region. Default: 100 + Columns of the pixels in the region. Default: 100 + + + + Store individual pixels as image region. + Modified instance represents: Created region. + + Lines of the pixels in the region. Default: 100 + Columns of the pixels in the region. Default: 100 + + + + Create a region from a runlength coding. + Modified instance represents: Created region. + + Lines of the runs. Default: 100 + Columns of the starting points of the runs. Default: 50 + Columns of the ending points of the runs. Default: 200 + + + + Create a region from a runlength coding. + Modified instance represents: Created region. + + Lines of the runs. Default: 100 + Columns of the starting points of the runs. Default: 50 + Columns of the ending points of the runs. Default: 200 + + + + Create a rectangle of any orientation. + Modified instance represents: Created rectangle. + + Line index of the center. Default: 300.0 + Column index of the center. Default: 200.0 + Angle of the first edge to the horizontal (in radians). Default: 0.0 + Half width. Default: 100.0 + Half height. Default: 20.0 + + + + Create a rectangle of any orientation. + Modified instance represents: Created rectangle. + + Line index of the center. Default: 300.0 + Column index of the center. Default: 200.0 + Angle of the first edge to the horizontal (in radians). Default: 0.0 + Half width. Default: 100.0 + Half height. Default: 20.0 + + + + Create a rectangle parallel to the coordinate axes. + Modified instance represents: Created rectangle. + + Line of upper left corner point. Default: 30.0 + Column of upper left corner point. Default: 20.0 + Line of lower right corner point. Default: 100.0 + Column of lower right corner point. Default: 200.0 + + + + Create a rectangle parallel to the coordinate axes. + Modified instance represents: Created rectangle. + + Line of upper left corner point. Default: 30.0 + Column of upper left corner point. Default: 20.0 + Line of lower right corner point. Default: 100.0 + Column of lower right corner point. Default: 200.0 + + + + Create a random region. + Modified instance represents: Created random region with expansion Width x Height. + + Maximum horizontal expansion of random region. Default: 128 + Maximum vertical expansion of random region. Default: 128 + + + + Create an ellipse sector. + Modified instance represents: Created ellipse(s). + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + Start angle of the sector. Default: 0.0 + End angle of the sector. Default: 3.14159 + + + + Create an ellipse sector. + Modified instance represents: Created ellipse(s). + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + Start angle of the sector. Default: 0.0 + End angle of the sector. Default: 3.14159 + + + + Create an ellipse. + Modified instance represents: Created ellipse(s). + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + + + + Create an ellipse. + Modified instance represents: Created ellipse(s). + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Orientation of the longer radius (Radius1). Default: 0.0 + Longer radius. Default: 100.0 + Shorter radius. Default: 60.0 + + + + Create a circle sector. + Modified instance represents: Generated circle sector. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + Start angle of the circle sector. Default: 0.0 + End angle of the circle sector. Default: 3.14159 + + + + Create a circle sector. + Modified instance represents: Generated circle sector. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + Start angle of the circle sector. Default: 0.0 + End angle of the circle sector. Default: 3.14159 + + + + Create a circle. + Modified instance represents: Generated circle. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + + + + Create a circle. + Modified instance represents: Generated circle. + + Line index of center. Default: 200.0 + Column index of center. Default: 200.0 + Radius of circle. Default: 100.5 + + + + Create a checkered region. + Modified instance represents: Created checkerboard region. + + Largest occurring $x$ value of the region. Default: 511 + Largest occurring $y$ value of the region. Default: 511 + Width of a field of the checkerboard. Default: 64 + Height of a field of the checkerboard. Default: 64 + + + + Create a region from lines or pixels. + Modified instance represents: Created lines/pixel region. + + Step width in line direction or zero. Default: 10 + Step width in column direction or zero. Default: 10 + Type of created pattern. Default: "lines" + Maximum width of pattern. Default: 512 + Maximum height of pattern. Default: 512 + + + + Create a region from lines or pixels. + Modified instance represents: Created lines/pixel region. + + Step width in line direction or zero. Default: 10 + Step width in column direction or zero. Default: 10 + Type of created pattern. Default: "lines" + Maximum width of pattern. Default: 512 + Maximum height of pattern. Default: 512 + + + + Create random regions like circles, rectangles and ellipses. + Modified instance represents: Created regions. + + Type of regions to be created. Default: "circle" + Minimum width of the region. Default: 10.0 + Maximum width of the region. Default: 20.0 + Minimum height of the region. Default: 10.0 + Maximum height of the region. Default: 30.0 + Minimum rotation angle of the region. Default: -0.7854 + Maximum rotation angle of the region. Default: 0.7854 + Number of regions. Default: 100 + Maximum horizontal expansion. Default: 512 + Maximum vertical expansion. Default: 512 + + + + Create random regions like circles, rectangles and ellipses. + Modified instance represents: Created regions. + + Type of regions to be created. Default: "circle" + Minimum width of the region. Default: 10.0 + Maximum width of the region. Default: 20.0 + Minimum height of the region. Default: 10.0 + Maximum height of the region. Default: 30.0 + Minimum rotation angle of the region. Default: -0.7854 + Maximum rotation angle of the region. Default: 0.7854 + Number of regions. Default: 100 + Maximum horizontal expansion. Default: 512 + Maximum vertical expansion. Default: 512 + + + + Store input lines described in Hesse normal form as regions. + Modified instance represents: Created regions (one for every line), clipped to maximum image format. + + Orientation of the normal vector in radians. Default: 0.0 + Distance from the line to the coordinate origin (0.0). Default: 200 + + + + Store input lines described in Hesse normal form as regions. + Modified instance represents: Created regions (one for every line), clipped to maximum image format. + + Orientation of the normal vector in radians. Default: 0.0 + Distance from the line to the coordinate origin (0.0). Default: 200 + + + + Store input lines as regions. + Modified instance represents: Created regions. + + Line coordinates of the starting points of the input lines. Default: 100 + Column coordinates of the starting points of the input lines. Default: 50 + Line coordinates of the ending points of the input lines. Default: 150 + Column coordinates of the ending points of the input lines. Default: 250 + + + + Store input lines as regions. + Modified instance represents: Created regions. + + Line coordinates of the starting points of the input lines. Default: 100 + Column coordinates of the starting points of the input lines. Default: 50 + Line coordinates of the ending points of the input lines. Default: 150 + Column coordinates of the ending points of the input lines. Default: 250 + + + + Create an empty region. + Modified instance represents: Empty region (no pixels). + + + + + Access the thickness of a region along the main axis. + Instance represents: Region to be analysed. + + Histogram of the thickness of the region along its main axis. + Thickness of the region along its main axis. + + + + Polygon approximation of a region. + Instance represents: Region to be approximated. + + Maximum distance between the polygon and the edge of the region. Default: 5.0 + Line numbers of the base points of the contour. + Column numbers of the base points of the contour. + + + + Polygon approximation of a region. + Instance represents: Region to be approximated. + + Maximum distance between the polygon and the edge of the region. Default: 5.0 + Line numbers of the base points of the contour. + Column numbers of the base points of the contour. + + + + Access the pixels of a region. + Instance represents: This region is accessed. + + Line numbers of the pixels in the region + Column numbers of the pixels in the region. + + + + Access the contour of an object. + Instance represents: Output region. + + Line numbers of the contour pixels. + Column numbers of the contour pixels. + + + + Access the runlength coding of a region. + Instance represents: Output region. + + Line numbers of the chords. + Column numbers of the starting points of the chords. + Column numbers of the ending points of the chords. + + + + Contour of an object as chain code. + Instance represents: Region to be transformed. + + Line of starting point. + Column of starting point. + Direction code of the contour (from starting point). + + + + Access convex hull as contour. + Instance represents: Output region. + + Line numbers of contour pixels. + Column numbers of the contour pixels. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the k-NN. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the k-NN. + + + + Classify multiple characters with an k-NN classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the k-NN classifier. + Confidence of the class of the characters. + Result of classifying the characters with the k-NN. + + + + Classify multiple characters with an k-NN classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the k-NN classifier. + Confidence of the class of the characters. + Result of classifying the characters with the k-NN. + + + + Classify a single character with an OCR classifier. + Instance represents: Character to be recognized. + + Gray values of the character. + Handle of the k-NN classifier. + Number of maximal classes to determine. Default: 1 + Number of neighbors to consider. Default: 1 + Confidence(s) of the class(es) of the character. + Results of classifying the character with the k-NN. + + + + Classify a single character with an OCR classifier. + Instance represents: Character to be recognized. + + Gray values of the character. + Handle of the k-NN classifier. + Number of maximal classes to determine. Default: 1 + Number of neighbors to consider. Default: 1 + Confidence(s) of the class(es) of the character. + Results of classifying the character with the k-NN. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the SVM. + + + + Classify multiple characters with an SVM-based OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Result of classifying the characters with the SVM. + + + + Classify a single character with an SVM-based OCR classifier. + Instance represents: Character to be recognized. + + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Result of classifying the character with the SVM. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the MLP. + + + + Classify a related group of characters with an OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the MLP. + + + + Classify multiple characters with an OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Confidence of the class of the characters. + Result of classifying the characters with the MLP. + + + + Classify multiple characters with an OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Confidence of the class of the characters. + Result of classifying the characters with the MLP. + + + + Classify a single character with an OCR classifier. + Instance represents: Character to be recognized. + + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the MLP. + + + + Classify a single character with an OCR classifier. + Instance represents: Character to be recognized. + + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the MLP. + + + + Classify one character. + Instance represents: Character to be recognized. + + Gray values of the characters. + ID of the OCR classifier. + Confidence values of the characters. + Classes (names) of the characters. + + + + Classify characters. + Instance represents: Characters to be recognized. + + Gray values for the characters. + ID of the OCR classifier. + Confidence values of the characters. + Class (name) of the characters. + + + + Classify characters. + Instance represents: Characters to be recognized. + + Gray values for the characters. + ID of the OCR classifier. + Confidence values of the characters. + Class (name) of the characters. + + + + Train an OCR classifier by the input of regions. + Instance represents: Characters to be trained. + + Gray values for the characters. + ID of the desired OCR-classifier. + Class (name) of the characters. Default: "a" + Average confidence during a re-classification of the trained characters. + + + + Train an OCR classifier by the input of regions. + Instance represents: Characters to be trained. + + Gray values for the characters. + ID of the desired OCR-classifier. + Class (name) of the characters. Default: "a" + Average confidence during a re-classification of the trained characters. + + + Protection of training data. + Names of the training files. Default: "" + Passwords for protecting the training files. + Names of the protected training files. + + + Protection of training data. + Names of the training files. Default: "" + Passwords for protecting the training files. + Names of the protected training files. + + + + Storing of training characters into a file. + Instance represents: Characters to be trained. + + Gray values of the characters. + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + + Storing of training characters into a file. + Instance represents: Characters to be trained. + + Gray values of the characters. + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + + Sorting of regions with respect to their relative position. + Instance represents: Regions to be sorted. + + Kind of sorting. Default: "first_point" + Increasing or decreasing sorting order. Default: "true" + Sorting first with respect to row, then to column. Default: "row" + Sorted regions. + + + + Test an OCR classifier. + Instance represents: Characters to be tested. + + Gray values for the characters. + ID of the desired OCR-classifier. + Class (name) of the characters. Default: "a" + Confidence for the character to belong to the class. + + + + Test an OCR classifier. + Instance represents: Characters to be tested. + + Gray values for the characters. + ID of the desired OCR-classifier. + Class (name) of the characters. Default: "a" + Confidence for the character to belong to the class. + + + + Add characters to a training file. + Instance represents: Characters to be trained. + + Gray values of the characters. + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + + Add characters to a training file. + Instance represents: Characters to be trained. + + Gray values of the characters. + Class (name) of the characters. + Name of the training file. Default: "train_ocr" + + + + Prune the branches of a region. + Instance represents: Regions to be processed. + + Length of the branches to be removed. Default: 2 + Result of the pruning operation. + + + + Reduce a region to its boundary. + Instance represents: Regions for which the boundary is to be computed. + + Boundary type. Default: "inner" + Resulting boundaries. + + + + Perform a closing after an opening with multiple structuring elements. + Instance represents: Regions to be processed. + + Structuring elements. + Fitted regions. + + + + Generate standard structuring elements. + Modified instance represents: Generated structuring elements. + + Type of structuring element to generate. Default: "noise" + Row coordinate of the reference point. Default: 1 + Column coordinate of the reference point. Default: 1 + + + + Reflect a region about a point. + Instance represents: Region to be reflected. + + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Transposed region. + + + + Remove the result of a hit-or-miss operation from a region (sequential). + Instance represents: Regions to be processed. + + Structuring element from the Golay alphabet. Default: "l" + Number of iterations. For 'f', 'f2', 'h' and 'i' the only useful value is 1. Default: 20 + Result of the thinning operator. + + + + Remove the result of a hit-or-miss operation from a region (sequential). + Instance represents: Regions to be processed. + + Structuring element from the Golay alphabet. Default: "l" + Number of iterations. For 'f', 'f2', 'h' and 'i' the only useful value is 1. Default: 20 + Result of the thinning operator. + + + + Remove the result of a hit-or-miss operation from a region (using a Golay structuring element). + Instance represents: Regions to be processed. + + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Result of the thinning operator. + + + + Remove the result of a hit-or-miss operation from a region. + Instance represents: Regions to be processed. + + Structuring element for the foreground. + Structuring element for the background. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + Result of the thinning operator. + + + + Add the result of a hit-or-miss operation to a region (sequential). + Instance represents: Regions to be processed. + + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + Result of the thickening operator. + + + + Add the result of a hit-or-miss operation to a region (using a Golay structuring element). + Instance represents: Regions to be processed. + + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Result of the thickening operator. + + + + Add the result of a hit-or-miss operation to a region. + Instance represents: Regions to be processed. + + Structuring element for the foreground. + Structuring element for the background. + Row coordinate of the reference point. Default: 16 + Column coordinate of the reference point. Default: 16 + Number of iterations. Default: 1 + Result of the thickening operator. + + + + Hit-or-miss operation for regions using the Golay alphabet (sequential). + Instance represents: Regions to be processed. + + Structuring element from the Golay alphabet. Default: "h" + Result of the hit-or-miss operation. + + + + Hit-or-miss operation for regions using the Golay alphabet. + Instance represents: Regions to be processed. + + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Result of the hit-or-miss operation. + + + + Hit-or-miss operation for regions. + Instance represents: Regions to be processed. + + Erosion mask for the input regions. + Erosion mask for the complements of the input regions. + Row coordinate of the reference point. Default: 16 + Column coordinate of the reference point. Default: 16 + Result of the hit-or-miss operation. + + + + Generate the structuring elements of the Golay alphabet. + Modified instance represents: Structuring element for the foreground. + + Name of the structuring element. Default: "l" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Row coordinate of the reference point. Default: 16 + Column coordinate of the reference point. Default: 16 + Structuring element for the background. + + + + Thinning of a region. + Instance represents: Regions to be thinned. + + Number of iterations for the sequential thinning with the element 'l' of the Golay alphabet. Default: 100 + Number of iterations for the sequential thinning with the element 'e' of the Golay alphabet. Default: 1 + Result of the skiz operator. + + + + Thinning of a region. + Instance represents: Regions to be thinned. + + Number of iterations for the sequential thinning with the element 'l' of the Golay alphabet. Default: 100 + Number of iterations for the sequential thinning with the element 'e' of the Golay alphabet. Default: 1 + Result of the skiz operator. + + + + Compute the morphological skeleton of a region. + Instance represents: Regions to be processed. + + Resulting morphological skeleton. + + + + Compute the union of bottom_hat and top_hat. + Instance represents: Regions to be processed. + + Structuring element (position-invariant). + Union of top hat and bottom hat. + + + + Compute the bottom hat of regions. + Instance represents: Regions to be processed. + + Structuring element (position independent). + Result of the bottom hat operator. + + + + Compute the top hat of regions. + Instance represents: Regions to be processed. + + Structuring element (position independent). + Result of the top hat operator. + + + + Erode a region (using a reference point). + Instance represents: Regions to be eroded. + + Structuring element. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + Eroded regions. + + + + Erode a region. + Instance represents: Regions to be eroded. + + Structuring element. + Number of iterations. Default: 1 + Eroded regions. + + + + Dilate a region (using a reference point). + Instance represents: Regions to be dilated. + + Structuring element. + Row coordinate of the reference point. + Column coordinate of the reference point. + Number of iterations. Default: 1 + Dilated regions. + + + + Perform a Minkowski addition on a region. + Instance represents: Regions to be dilated. + + Structuring element. + Number of iterations. Default: 1 + Dilated regions. + + + + Close a region with a rectangular structuring element. + Instance represents: Regions to be closed. + + Width of the structuring rectangle. Default: 10 + Height of the structuring rectangle. Default: 10 + Closed regions. + + + + Close a region with an element from the Golay alphabet. + Instance represents: Regions to be closed. + + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Closed regions. + + + + Close a region with a circular structuring element. + Instance represents: Regions to be closed. + + Radius of the circular structuring element. Default: 3.5 + Closed regions. + + + + Close a region with a circular structuring element. + Instance represents: Regions to be closed. + + Radius of the circular structuring element. Default: 3.5 + Closed regions. + + + + Close a region. + Instance represents: Regions to be closed. + + Structuring element (position-invariant). + Closed regions. + + + + Separate overlapping regions. + Instance represents: Regions to be opened. + + Structuring element (position-invariant). + Opened regions. + + + + Open a region with an element from the Golay alphabet. + Instance represents: Regions to be opened. + + Structuring element from the Golay alphabet. Default: "h" + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Opened regions. + + + + Open a region with a rectangular structuring element. + Instance represents: Regions to be opened. + + Width of the structuring rectangle. Default: 10 + Height of the structuring rectangle. Default: 10 + Opened regions. + + + + Open a region with a circular structuring element. + Instance represents: Regions to be opened. + + Radius of the circular structuring element. Default: 3.5 + Opened regions. + + + + Open a region with a circular structuring element. + Instance represents: Regions to be opened. + + Radius of the circular structuring element. Default: 3.5 + Opened regions. + + + + Open a region. + Instance represents: Regions to be opened. + + Structuring element (position-invariant). + Opened regions. + + + + Erode a region sequentially. + Instance represents: Regions to be eroded. + + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + Eroded regions. + + + + Erode a region with an element from the Golay alphabet. + Instance represents: Regions to be eroded. + + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Eroded regions. + + + + Erode a region with a rectangular structuring element. + Instance represents: Regions to be eroded. + + Width of the structuring rectangle. Default: 11 + Height of the structuring rectangle. Default: 11 + Eroded regions. + + + + Erode a region with a circular structuring element. + Instance represents: Regions to be eroded. + + Radius of the circular structuring element. Default: 3.5 + Eroded regions. + + + + Erode a region with a circular structuring element. + Instance represents: Regions to be eroded. + + Radius of the circular structuring element. Default: 3.5 + Eroded regions. + + + + Erode a region (using a reference point). + Instance represents: Regions to be eroded. + + Structuring element. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + Eroded regions. + + + + Erode a region. + Instance represents: Regions to be eroded. + + Structuring element. + Number of iterations. Default: 1 + Eroded regions. + + + + Dilate a region sequentially. + Instance represents: Regions to be dilated. + + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + Dilated regions. + + + + Dilate a region with an element from the Golay alphabet. + Instance represents: Regions to be dilated. + + Structuring element from the Golay alphabet. Default: "h" + Number of iterations. Default: 1 + Rotation of the Golay element. Depending on the element, not all rotations are valid. Default: 0 + Dilated regions. + + + + Dilate a region with a rectangular structuring element. + Instance represents: Regions to be dilated. + + Width of the structuring rectangle. Default: 11 + Height of the structuring rectangle. Default: 11 + Dilated regions. + + + + Dilate a region with a circular structuring element. + Instance represents: Regions to be dilated. + + Radius of the circular structuring element. Default: 3.5 + Dilated regions. + + + + Dilate a region with a circular structuring element. + Instance represents: Regions to be dilated. + + Radius of the circular structuring element. Default: 3.5 + Dilated regions. + + + + Dilate a region (using a reference point). + Instance represents: Regions to be dilated. + + Structuring element. + Row coordinate of the reference point. Default: 0 + Column coordinate of the reference point. Default: 0 + Number of iterations. Default: 1 + Dilated regions. + + + + Dilate a region. + Instance represents: Regions to be dilated. + + Structuring element. + Number of iterations. Default: 1 + Dilated regions. + + + + Add gray values to regions. + Instance represents: Input regions (without pixel values). + + Input image with pixel values for regions. + Output image(s) with regions and pixel values (one image per input region). + + + + Centres of circles for a specific radius. + Instance represents: Binary edge image in which the circles are to be detected. + + Radius of the circle to be searched in the image. Default: 12 + Indicates the percentage (approximately) of the (ideal) circle which must be present in the edge image RegionIn. Default: 60 + The modus defines the position of the circle in question: 0 - the radius is equivalent to the outer border of the set pixels. 1 - the radius is equivalent to the centres of the circle lines' pixels. 2 - both 0 and 1 (a little more fuzzy, but more reliable in contrast to circles set slightly differently, necessitates 50 + Centres of those circles which are included in the edge image by Percent percent. + + + + Centres of circles for a specific radius. + Instance represents: Binary edge image in which the circles are to be detected. + + Radius of the circle to be searched in the image. Default: 12 + Indicates the percentage (approximately) of the (ideal) circle which must be present in the edge image RegionIn. Default: 60 + The modus defines the position of the circle in question: 0 - the radius is equivalent to the outer border of the set pixels. 1 - the radius is equivalent to the centres of the circle lines' pixels. 2 - both 0 and 1 (a little more fuzzy, but more reliable in contrast to circles set slightly differently, necessitates 50 + Centres of those circles which are included in the edge image by Percent percent. + + + + Return the Hough-Transform for circles with a given radius. + Instance represents: Binary edge image in which the circles are to be detected. + + Radius of the circle to be searched in the image. Default: 12 + Hough transform for circles with a given radius. + + + + Return the Hough-Transform for circles with a given radius. + Instance represents: Binary edge image in which the circles are to be detected. + + Radius of the circle to be searched in the image. Default: 12 + Hough transform for circles with a given radius. + + + + Detect lines in edge images with the help of the Hough transform and returns it in HNF. + Instance represents: Binary edge image in which the lines are to be detected. + + Adjusting the resolution in the angle area. Default: 4 + Threshold value in the Hough image. Default: 100 + Minimal distance of two maxima in the Hough image (direction: angle). Default: 5 + Minimal distance of two maxima in the Hough image (direction: distance). Default: 5 + Distance of the detected lines from the origin. + Angles (in radians) of the detected lines' normal vectors. + + + + Produce the Hough transform for lines within regions. + Instance represents: Binary edge image in which lines are to be detected. + + Adjusting the resolution in the angle area. Default: 4 + Hough transform for lines. + + + + Select those lines from a set of lines (in HNF) which fit best into a region. + Instance represents: Region in which the lines are to be matched. + + Angles (in radians) of the normal vectors of the input lines. + Distances of the input lines form the origin. + Widths of the lines. Default: 7 + Threshold value for the number of line points in the region. Default: 100 + Angles (in radians) of the normal vectors of the selected lines. + Distances of the selected lines from the origin. + Region array containing the matched lines. + + + + Select those lines from a set of lines (in HNF) which fit best into a region. + Instance represents: Region in which the lines are to be matched. + + Angles (in radians) of the normal vectors of the input lines. + Distances of the input lines form the origin. + Widths of the lines. Default: 7 + Threshold value for the number of line points in the region. Default: 100 + Angles (in radians) of the normal vectors of the selected lines. + Distances of the selected lines from the origin. + Region array containing the matched lines. + + + + Query the icon for region output + Modified instance represents: Icon for the regions center of gravity. + + Window handle. + + + + Icon definition for region output. + Instance represents: Icon for center of gravity. + + Window handle. + + + + Displays regions in a window. + Instance represents: Regions to display. + + Window handle. + + + + Interactive movement of a region with restriction of positions. + Instance represents: Regions to move. + + Points on which it is allowed for a region to move. + Window handle. + Row index of the reference point. Default: 100 + Column index of the reference point. Default: 100 + Moved regions. + + + + Interactive movement of a region with fixpoint specification. + Instance represents: Regions to move. + + Window handle. + Row index of the reference point. Default: 100 + Column index of the reference point. Default: 100 + Moved regions. + + + + Interactive moving of a region. + Instance represents: Regions to move. + + Window handle. + Moved Regions. + + + + Interactive drawing of a closed region. + Modified instance represents: Interactive created region. + + Window handle. + + + + Interactive drawing of a polygon row. + Modified instance represents: Region, which encompasses all painted points. + + Window handle. + + + + Calculate the distance between a line segment and one region. + Instance represents: Input region. + + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the line segment and the region. + Maximum distance between the line segment and the region. + + + + Calculate the distance between a line segment and one region. + Instance represents: Input region. + + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the line segment and the region. + Maximum distance between the line segment and the region. + + + + Calculate the distance between a line and a region. + Instance represents: Input region. + + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line and the region + Maximum distance between the line and the region + + + + Calculate the distance between a line and a region. + Instance represents: Input region. + + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line and the region + Maximum distance between the line and the region + + + + Calculate the distance between a point and a region. + Instance represents: Input region. + + Row coordinate of the point. + Column coordinate of the point. + Minimum distance between the point and the region. + Maximum distance between the point and the region. + + + + Calculate the distance between a point and a region. + Instance represents: Input region. + + Row coordinate of the point. + Column coordinate of the point. + Minimum distance between the point and the region. + Maximum distance between the point and the region. + + + + Determine the noise distribution of an image. + Instance represents: Region from which the noise distribution is to be estimated. + + Corresponding image. + Size of the mean filter. Default: 21 + Noise distribution of all input regions. + + + + Determine the fuzzy entropy of regions. + Instance represents: Regions for which the fuzzy entropy is to be calculated. + + Input image containing the fuzzy membership values. + Start of the fuzzy function. Default: 0 + End of the fuzzy function. Default: 255 + Fuzzy entropy of a region. + + + + Calculate the fuzzy perimeter of a region. + Instance represents: Regions for which the fuzzy perimeter is to be calculated. + + Input image containing the fuzzy membership values. + Start of the fuzzy function. Default: 0 + End of the fuzzy function. Default: 255 + Fuzzy perimeter of a region. + + + + Paint regions with their average gray value. + Instance represents: Input regions. + + original gray-value image. + Result image with painted regions. + + + + Close edge gaps using the edge amplitude image. + Instance represents: Region containing one pixel thick edges. + + Edge amplitude (gradient) image. + Minimum edge amplitude. Default: 16 + Maximal number of points by which edges are extended. Default: 3 + Region containing closed edges. + + + + Close edge gaps using the edge amplitude image. + Instance represents: Region containing one pixel thick edges. + + Edge amplitude (gradient) image. + Minimum edge amplitude. Default: 16 + Region containing closed edges. + + + + Deserialize a serialized region. + Modified instance represents: Region. + + Handle of the serialized item. + + + + Serialize a region. + Instance represents: Region. + + Handle of the serialized item. + + + + Write regions to a file. + Instance represents: Region of the images which are returned. + + Name of region file. Default: "region.hobj" + + + + Read binary images or HALCON regions. + Modified instance represents: Read region. + + Name of the region to be read. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order. + Moment of 2nd order. + Moment of 2nd order. + Moment of 2nd order. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order. + Moment of 2nd order. + Moment of 2nd order. + Moment of 2nd order. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order. + Moment of 2nd order. + Moment of 3rd order. + Moment of 2nd order. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order. + Moment of 2nd order. + Moment of 3rd order. + Moment of 2nd order. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 3rd order (column-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (line-dependent). + Moment of 3rd order (line-dependent). + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 3rd order (column-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (line-dependent). + Moment of 3rd order (line-dependent). + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 3rd order (column-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (line-dependent). + Moment of 3rd order (line-dependent). + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 3rd order (column-dependent). + Moment of 3rd order (column-dependent). + Moment of 3rd order (line-dependent). + Moment of 3rd order (line-dependent). + + + + Smallest surrounding rectangle with any orientation. + Instance represents: Regions to be examined. + + Line index of the center. + Column index of the center. + Orientation of the surrounding rectangle (arc measure) + First radius (half length) of the surrounding rectangle. + Second radius (half width) of the surrounding rectangle. + + + + Smallest surrounding rectangle with any orientation. + Instance represents: Regions to be examined. + + Line index of the center. + Column index of the center. + Orientation of the surrounding rectangle (arc measure) + First radius (half length) of the surrounding rectangle. + Second radius (half width) of the surrounding rectangle. + + + + Surrounding rectangle parallel to the coordinate axes. + Instance represents: Regions to be examined. + + Line index of upper left corner point. + Column index of upper left corner point. + Line index of lower right corner point. + Column index of lower right corner point. + + + + Surrounding rectangle parallel to the coordinate axes. + Instance represents: Regions to be examined. + + Line index of upper left corner point. + Column index of upper left corner point. + Line index of lower right corner point. + Column index of lower right corner point. + + + + Smallest surrounding circle of a region. + Instance represents: Regions to be examined. + + Line index of the center. + Column index of the center. + Radius of the surrounding circle. + + + + Smallest surrounding circle of a region. + Instance represents: Regions to be examined. + + Line index of the center. + Column index of the center. + Radius of the surrounding circle. + + + + Choose regions having a certain relation to each other. + Instance represents: Regions to be examined. + + Region compared to Regions. + Shape features to be checked. Default: "covers" + Lower border of feature. Default: 50.0 + Upper border of the feature. Default: 100.0 + Regions fulfilling the condition. + + + + Choose regions having a certain relation to each other. + Instance represents: Regions to be examined. + + Region compared to Regions. + Shape features to be checked. Default: "covers" + Lower border of feature. Default: 50.0 + Upper border of the feature. Default: 100.0 + Regions fulfilling the condition. + + + + Calculate shape features of regions. + Instance represents: Regions to be examined. + + Shape features to be calculated. Default: "area" + The calculated features. + + + + Calculate shape features of regions. + Instance represents: Regions to be examined. + + Shape features to be calculated. Default: "area" + The calculated features. + + + + Choose regions with the aid of shape features. + Instance represents: Regions to be examined. + + Shape features to be checked. Default: "area" + Linkage type of the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Regions fulfilling the condition. + + + + Choose regions with the aid of shape features. + Instance represents: Regions to be examined. + + Shape features to be checked. Default: "area" + Linkage type of the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Regions fulfilling the condition. + + + + Characteristic values for runlength coding of regions. + Instance represents: Regions to be examined. + + Storing factor in relation to a square. + Mean number of runs per line. + Mean length of runs. + Number of bytes necessary for coding the region. + Number of runs. + + + + Characteristic values for runlength coding of regions. + Instance represents: Regions to be examined. + + Storing factor in relation to a square. + Mean number of runs per line. + Mean length of runs. + Number of bytes necessary for coding the region. + Number of runs. + + + + Search direct neighbors. + Instance represents: Starting regions. + + Comparative regions. + Maximal distance of regions. Default: 1 + Indices of the found regions from Regions2. + Indices of the found regions from Regions1. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order. + Moment of 2nd order. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order. + Moment of 2nd order. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order (line-dependent). + Moment of 2nd order (column-dependent). + Product of inertia of the axes through the center parallel to the coordinate axes. + + + + Geometric moments of regions. + Instance represents: Regions to be examined. + + Moment of 2nd order (line-dependent). + Moment of 2nd order (column-dependent). + Product of inertia of the axes through the center parallel to the coordinate axes. + + + + Calculate the geometric moments of regions. + Instance represents: Input regions. + + Moment of 2nd order (row-dependent). + Moment of 2nd order (column-dependent). + Length of the major axis of the input region. + Length of the minor axis of the input region. + Product of inertia of the axes through the center parallel to the coordinate axes. + + + + Calculate the geometric moments of regions. + Instance represents: Input regions. + + Moment of 2nd order (row-dependent). + Moment of 2nd order (column-dependent). + Length of the major axis of the input region. + Length of the minor axis of the input region. + Product of inertia of the axes through the center parallel to the coordinate axes. + + + + Minimum distance between the contour pixels of two regions each. + Instance represents: Regions to be examined. + + Regions to be examined. + Line index on contour in Regions1. + Column index on contour in Regions1. + Line index on contour in Regions2. + Column index on contour in Regions2. + Minimum distance between contours of the regions. + + + + Minimum distance between the contour pixels of two regions each. + Instance represents: Regions to be examined. + + Regions to be examined. + Line index on contour in Regions1. + Column index on contour in Regions1. + Line index on contour in Regions2. + Column index on contour in Regions2. + Minimum distance between contours of the regions. + + + + Minimum distance between two regions with the help of dilation. + Instance represents: Regions to be examined. + + Regions to be examined. + Minimum distances of the regions. + + + + Maximal distance between two boundary points of a region. + Instance represents: Regions to be examined. + + Row index of the first extreme point. + Column index of the first extreme point. + Row index of the second extreme point. + Column index of the second extreme point. + Distance of the two extreme points. + + + + Maximal distance between two boundary points of a region. + Instance represents: Regions to be examined. + + Row index of the first extreme point. + Column index of the first extreme point. + Row index of the second extreme point. + Column index of the second extreme point. + Distance of the two extreme points. + + + + Test if the region contains a given point. + Instance represents: Region(s) to be examined. + + Row index of the test pixel(s). Default: 100 + Column index of the test pixel(s). Default: 100 + Boolean result value. + + + + Test if the region contains a given point. + Instance represents: Region(s) to be examined. + + Row index of the test pixel(s). Default: 100 + Column index of the test pixel(s). Default: 100 + Boolean result value. + + + + Index of all regions containing a given pixel. + Instance represents: Regions to be examined. + + Line index of the test pixel. Default: 100 + Column index of the test pixel. Default: 100 + Index of the regions containing the test pixel. + + + + Choose all regions containing a given pixel. + Instance represents: Regions to be examined. + + Line index of the test pixel. Default: 100 + Column index of the test pixel. Default: 100 + All regions containing the test pixel. + + + + Select regions of a given shape. + Instance represents: Input regions to be selected. + + Shape features to be checked. Default: "max_area" + Similarity measure. Default: 70.0 + Regions with desired shape. + + + + Hamming distance between two regions using normalization. + Instance represents: Regions to be examined. + + Comparative regions. + Type of normalization. Default: "center" + Similarity of two regions. + Hamming distance of two regions. + + + + Hamming distance between two regions using normalization. + Instance represents: Regions to be examined. + + Comparative regions. + Type of normalization. Default: "center" + Similarity of two regions. + Hamming distance of two regions. + + + + Hamming distance between two regions. + Instance represents: Regions to be examined. + + Comparative regions. + Similarity of two regions. + Hamming distance of two regions. + + + + Hamming distance between two regions. + Instance represents: Regions to be examined. + + Comparative regions. + Similarity of two regions. + Hamming distance of two regions. + + + + Shape features derived from the ellipse parameters. + Instance represents: Region(s) to be examined. + + Calculated shape feature. + Calculated shape feature. + Shape feature (in case of a circle = 1.0). + + + + Shape features derived from the ellipse parameters. + Instance represents: Region(s) to be examined. + + Calculated shape feature. + Calculated shape feature. + Shape feature (in case of a circle = 1.0). + + + + Calculate the Euler number. + Instance represents: Region(s) to be examined. + + Calculated Euler number. + + + + Orientation of a region. + Instance represents: Region(s) to be examined. + + Orientation of region (arc measure). + + + + Calculate the parameters of the equivalent ellipse. + Instance represents: Input regions. + + Secondary radius (normalized to the area). + Angle between main radius and x-axis in radians. + Main radius (normalized to the area). + + + + Calculate the parameters of the equivalent ellipse. + Instance represents: Input regions. + + Secondary radius (normalized to the area). + Angle between main radius and x-axis in radians. + Main radius (normalized to the area). + + + + Pose relation of regions. + Instance represents: Starting regions + + Comparative regions + Desired neighboring relation. Default: "left" + Indices in the input tuples (Regions1 or ParRef{Regions2}), respectively. + Indices in the input tuples (Regions1 or ParRef{Regions2}), respectively. + + + + Pose relation of regions with regard to + Instance represents: Starting regions. + + Comparative regions. + Percentage of the area of the comparative region which must be located left/right or Default: 50 + Indices of the regions in the tuple of the input regions which fulfill the pose relation. + Horizontal pose relation in which RegionIndex2[n] stands with RegionIndex1[n]. + Vertical pose relation in which RegionIndex2[n] stands with RegionIndex1[n]. + Indices of the regions in the tuple of the input regions which fulfill the pose relation. + + + + Shape factor for the convexity of a region. + Instance represents: Region(s) to be examined. + + Convexity of the input region(s). + + + + Contour length of a region. + Instance represents: Region(s) to be examined. + + Contour length of the input region(s). + + + + Number of connection components and holes + Instance represents: Region(s) to be examined. + + Number of holes of a region. + Number of connection components of a region. + + + + Number of connection components and holes + Instance represents: Region(s) to be examined. + + Number of holes of a region. + Number of connection components of a region. + + + + Shape factor for the rectangularity of a region. + Instance represents: Region(s) to be examined. + + Rectangularity of the input region(s). + + + + Shape factor for the compactness of a region. + Instance represents: Region(s) to be examined. + + Compactness of the input region(s). + + + + Shape factor for the circularity (similarity to a circle) of a region. + Instance represents: Region(s) to be examined. + + Circularity of the input region(s). + + + + Compute the area of holes of regions. + Instance represents: Region(s) to be examined. + + Area(s) of holes of the region(s). + + + + Area and center of regions. + Instance represents: Region(s) to be examined. + + Line index of the center. + Column index of the center. + Area of the region. + + + + Area and center of regions. + Instance represents: Region(s) to be examined. + + Line index of the center. + Column index of the center. + Area of the region. + + + + Distribution of runs needed for runlength encoding of a region. + Instance represents: Region to be examined. + + Length distribution of the background. + Length distribution of the region (foreground). + + + + Shape factors from contour. + Instance represents: Region(s) to be examined. + + Standard deviation of Distance. + Shape factor for roundness. + Number of polygon sides. + Mean distance from the center. + + + + Shape factors from contour. + Instance represents: Region(s) to be examined. + + Standard deviation of Distance. + Shape factor for roundness. + Number of polygon sides. + Mean distance from the center. + + + + Largest inner rectangle of a region. + Instance represents: Region to be examined. + + Row coordinate of the upper left corner point. + Column coordinate of the upper left corner point. + Row coordinate of the lower right corner point. + Column coordinate of the lower right corner point. + + + + Largest inner rectangle of a region. + Instance represents: Region to be examined. + + Row coordinate of the upper left corner point. + Column coordinate of the upper left corner point. + Row coordinate of the lower right corner point. + Column coordinate of the lower right corner point. + + + + Largest inner circle of a region. + Instance represents: Regions to be examined. + + Line index of the center. + Column index of the center. + Radius of the inner circle. + + + + Largest inner circle of a region. + Instance represents: Regions to be examined. + + Line index of the center. + Column index of the center. + Radius of the inner circle. + + + + Calculate gray value moments and approximation by a first order surface (plane). + Instance represents: Regions to be checked. + + Corresponding gray values. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Calculate gray value moments and approximation by a first order surface (plane). + Instance represents: Regions to be checked. + + Corresponding gray values. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Calculate gray value moments and approximation by a second order surface. + Instance represents: Regions to be checked. + + Corresponding gray values. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Delta of the approximating surface. + Parameter Epsilon of the approximating surface. + Parameter Zeta of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Calculate gray value moments and approximation by a second order surface. + Instance represents: Regions to be checked. + + Corresponding gray values. + Algorithm for the fitting. Default: "regression" + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers. Default: 2.0 + Parameter Beta of the approximating surface. + Parameter Gamma of the approximating surface. + Parameter Delta of the approximating surface. + Parameter Epsilon of the approximating surface. + Parameter Zeta of the approximating surface. + Parameter Alpha of the approximating surface. + + + + Determine a histogram of features along all threshold values. + Instance represents: Region in which the features are to be examined. + + Gray value image. + Feature to be examined. Default: "convexity" + Row of the pixel which the region must contain. Default: 256 + Column of the pixel which the region must contain. Default: 256 + Relative distribution of the feature. + Absolute distribution of the feature. + + + + Determine a histogram of features along all threshold values. + Instance represents: Region in which the features are to be examined. + + Gray value image. + Feature to be examined. Default: "connected_components" + Relative distribution of the feature. + Absolute distribution of the feature. + + + + Calculates gray value features for a set of regions. + Instance represents: Regions to be examined. + + Gray value image. + Names of the features. Default: "mean" + Value sof the features. + + + + Calculates gray value features for a set of regions. + Instance represents: Regions to be examined. + + Gray value image. + Names of the features. Default: "mean" + Value sof the features. + + + + Select regions based on gray value features. + Instance represents: Regions to be examined. + + Gray value image. + Names of the features. Default: "mean" + Logical connection of features. Default: "and" + Lower limit(s) of features. Default: 128.0 + Upper limit(s) of features. Default: 255.0 + Regions having features within the limits. + + + + Select regions based on gray value features. + Instance represents: Regions to be examined. + + Gray value image. + Names of the features. Default: "mean" + Logical connection of features. Default: "and" + Lower limit(s) of features. Default: 128.0 + Upper limit(s) of features. Default: 255.0 + Regions having features within the limits. + + + + Determine the minimum and maximum gray values within regions. + Instance represents: Regions, the features of which are to be calculated. + + Gray value image. + Percentage below (above) the absolute maximum (minimum). Default: 0 + "Minimum" gray value. + "Maximum" gray value. + Difference between Max and Min. + + + + Determine the minimum and maximum gray values within regions. + Instance represents: Regions, the features of which are to be calculated. + + Gray value image. + Percentage below (above) the absolute maximum (minimum). Default: 0 + "Minimum" gray value. + "Maximum" gray value. + Difference between Max and Min. + + + + Calculate the mean and deviation of gray values. + Instance represents: Regions in which the features are calculated. + + Gray value image. + Deviation of gray values within a region. + Mean gray value of a region. + + + + Calculate the mean and deviation of gray values. + Instance represents: Regions in which the features are calculated. + + Gray value image. + Deviation of gray values within a region. + Mean gray value of a region. + + + + Calculate the gray value distribution of a single channel image within a certain gray value range. + Instance represents: Region in which the histogram is to be calculated. + + Input image. + Minimum gray value. Default: 0 + Maximum gray value. Default: 255 + Number of bins. Default: 256 + Bin size. + Histogram to be calculated. + + + + Calculate the gray value distribution of a single channel image within a certain gray value range. + Instance represents: Region in which the histogram is to be calculated. + + Input image. + Minimum gray value. Default: 0 + Maximum gray value. Default: 255 + Number of bins. Default: 256 + Bin size. + Histogram to be calculated. + + + + Calculate the histogram of two-channel gray value images. + Instance represents: Region in which the histogram is to be calculated. + + Channel 1. + Channel 2. + Histogram to be calculated. + + + + Calculate the gray value distribution. + Instance represents: Region in which the histogram is to be calculated. + + Image the gray value distribution of which is to be calculated. + Quantization of the gray values. Default: 1.0 + Absolute frequencies of the gray values. + + + + Calculate the gray value distribution. + Instance represents: Region in which the histogram is to be calculated. + + Image the gray value distribution of which is to be calculated. + Quantization of the gray values. Default: 1.0 + Absolute frequencies of the gray values. + + + + Calculate the gray value distribution. + Instance represents: Region in which the histogram is to be calculated. + + Image the gray value distribution of which is to be calculated. + Frequencies, normalized to the area of the region. + Absolute frequencies of the gray values. + + + + Determine the entropy and anisotropy of images. + Instance represents: Regions where the features are to be determined. + + Gray value image. + Measure of the symmetry of gray value distribution. + Information content (entropy) of the gray values. + + + + Determine the entropy and anisotropy of images. + Instance represents: Regions where the features are to be determined. + + Gray value image. + Measure of the symmetry of gray value distribution. + Information content (entropy) of the gray values. + + + + Calculate a co-occurrence matrix and derive gray value features thereof. + Instance represents: Region to be examined. + + Corresponding gray values. + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction in which the matrix is to be calculated. Default: 0 + Correlation of gray values. + Local homogeneity of gray values. + Gray value contrast. + Gray value energy. + + + + Calculate a co-occurrence matrix and derive gray value features thereof. + Instance represents: Region to be examined. + + Corresponding gray values. + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction in which the matrix is to be calculated. Default: 0 + Correlation of gray values. + Local homogeneity of gray values. + Gray value contrast. + Gray value energy. + + + + Calculate the co-occurrence matrix of a region in an image. + Instance represents: Region to be checked. + + Image providing the gray values. + Number of gray values to be distinguished (2^LdGray@f$2^{LdGray}$). Default: 6 + Direction of neighbor relation. Default: 0 + Co-occurrence matrix (matrices). + + + + Calculate gray value moments and approximation by a plane. + Instance represents: Regions to be checked. + + Corresponding gray values. + Mixed moments along a line. + Mixed moments along a column. + Parameter Alpha of the approximating plane. + Parameter Beta of the approximating plane. + Mean gray value. + + + + Calculate gray value moments and approximation by a plane. + Instance represents: Regions to be checked. + + Corresponding gray values. + Mixed moments along a line. + Mixed moments along a column. + Parameter Alpha of the approximating plane. + Parameter Beta of the approximating plane. + Mean gray value. + + + + Calculate the deviation of the gray values from the approximating image plane. + Instance represents: Regions, of which the plane deviation is to be calculated. + + Gray value image. + Deviation of the gray values within a region. + + + + Compute the orientation and major axes of a region in a gray value image. + Instance represents: Region(s) to be examined. + + Gray value image. + Minor axis of the region. + Angle enclosed by the major axis and the x-axis. + Major axis of the region. + + + + Compute the orientation and major axes of a region in a gray value image. + Instance represents: Region(s) to be examined. + + Gray value image. + Minor axis of the region. + Angle enclosed by the major axis and the x-axis. + Major axis of the region. + + + + Compute the area and center of gravity of a region in a gray value image. + Instance represents: Region(s) to be examined. + + Gray value image. + Row coordinate of the gray value center of gravity. + Column coordinate of the gray value center of gravity. + Gray value volume of the region. + + + + Compute the area and center of gravity of a region in a gray value image. + Instance represents: Region(s) to be examined. + + Gray value image. + Row coordinate of the gray value center of gravity. + Column coordinate of the gray value center of gravity. + Gray value volume of the region. + + + + Calculate horizontal and vertical gray-value projections. + Instance represents: Region to be processed. + + Grayvalues for projections. + Method to compute the projections. Default: "simple" + Vertical projection. + Horizontal projection. + + + + Asynchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Pre-processed image regions. + + Pre-processed XLD contours. + Handle of the acquisition device to be used. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Pre-processed control data. + Grabbed image data. + + + + Asynchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Pre-processed image regions. + + Pre-processed XLD contours. + Handle of the acquisition device to be used. + Maximum tolerated delay between the start of the asynchronous grab and the delivery of the image [ms]. Default: -1.0 + Pre-processed control data. + Grabbed image data. + + + + Synchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Preprocessed image regions. + + Preprocessed XLD contours. + Handle of the acquisition device to be used. + Preprocessed control data. + Grabbed image data. + + + + Synchronous grab of images and preprocessed image data from the specified image acquisition device. + Modified instance represents: Preprocessed image regions. + + Preprocessed XLD contours. + Handle of the acquisition device to be used. + Preprocessed control data. + Grabbed image data. + + + + Classify multiple characters with an CNN-based OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Confidence of the class of the characters. + Result of classifying the characters with the CNN. + + + + Classify multiple characters with an CNN-based OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Confidence of the class of the characters. + Result of classifying the characters with the CNN. + + + + Classify a single character with an CNN-based OCR classifier. + Instance represents: Character to be recognized. + + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the CNN. + + + + Classify a single character with an CNN-based OCR classifier. + Instance represents: Character to be recognized. + + Gray values of the character. + Handle of the OCR classifier. + Number of best classes to determine. Default: 1 + Confidence(s) of the class(es) of the character. + Result of classifying the character with the CNN. + + + + Classify a related group of characters with an CNN-based OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the CNN. + + + + Classify a related group of characters with an CNN-based OCR classifier. + Instance represents: Characters to be recognized. + + Gray values of the characters. + Handle of the OCR classifier. + Expression describing the allowed word structure. + Number of classes per character considered for the internal word correction. Default: 3 + Maximum number of corrected characters. Default: 2 + Confidence of the class of the characters. + Word text after classification and correction. + Measure of similarity between corrected word and uncorrected classification results. + Result of classifying the characters with the CNN. + + + + Compute the width, height, and aspect ratio of the surrounding rectangle parallel to the coordinate axes. + Instance represents: Regions to be examined. + + Width of the surrounding rectangle of the region. + Aspect ratio of the surrounding rectangle of the region. + Height of the surrounding rectangle of the region. + + + + Compute the width, height, and aspect ratio of the surrounding rectangle parallel to the coordinate axes. + Instance represents: Regions to be examined. + + Width of the surrounding rectangle of the region. + Aspect ratio of the surrounding rectangle of the region. + Height of the surrounding rectangle of the region. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + The area of the region + + + The center row of the region + + + The center column of the region + + + Represents an instance of a sample identifier. + + + + Read a sample identifier from a file. + Modified instance represents: Handle of the sample identifier. + + File name. + + + + Create a new sample identifier. + Modified instance represents: Handle of the sample identifier. + + Parameter name. Default: [] + Parameter value. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Free the memory of a sample identifier. + Instance represents: Handle of the sample identifier. + + + + + Deserialize a serialized sample identifier. + Modified instance represents: Handle of the sample identifier. + + Handle of the serialized item. + + + + Read a sample identifier from a file. + Modified instance represents: Handle of the sample identifier. + + File name. + + + + Serialize a sample identifier. + Instance represents: Handle of the sample identifier. + + Handle of the serialized item. + + + + Write a sample identifier to a file. + Instance represents: Handle of the sample identifier. + + File name. + + + + Identify objects with a sample identifier. + Instance represents: Handle of the sample identifier. + + Image showing the object to be identified. + Number of suggested object indices. Default: 1 + Rating threshold. Default: 0.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Rating value of the identified object. + Index of the identified object. + + + + Identify objects with a sample identifier. + Instance represents: Handle of the sample identifier. + + Image showing the object to be identified. + Number of suggested object indices. Default: 1 + Rating threshold. Default: 0.0 + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Rating value of the identified object. + Index of the identified object. + + + + Get selected parameters of a sample identifier. + Instance represents: Handle of the sample identifier. + + Parameter name. Default: "rating_method" + Parameter value. + + + + Set selected parameters of a sample identifier. + Instance represents: Handle of the sample identifier. + + Parameter name. Default: "rating_method" + Parameter value. Default: "score_single" + + + + Set selected parameters of a sample identifier. + Instance represents: Handle of the sample identifier. + + Parameter name. Default: "rating_method" + Parameter value. Default: "score_single" + + + + Retrieve information about an object of a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the object for which information is retrieved. + Define, for which kind of object information is retrieved. Default: "num_training_objects" + Information about the object. + + + + Retrieve information about an object of a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the object for which information is retrieved. + Define, for which kind of object information is retrieved. Default: "num_training_objects" + Information about the object. + + + + Define a name or a description for an object of a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the object for which information is set. + Define, for which kind of object information is set. Default: "training_object_name" + Information about the object. + + + + Define a name or a description for an object of a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the object for which information is set. + Define, for which kind of object information is set. Default: "training_object_name" + Information about the object. + + + + Remove training data from a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the training object, from which samples should be removed. + Index of the training sample that should be removed. + + + + Remove training data from a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the training object, from which samples should be removed. + Index of the training sample that should be removed. + + + + Remove preparation data from a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the preparation object, of which samples should be removed. + Index of the preparation sample that should be removed. + + + + Remove preparation data from a sample identifier. + Instance represents: Handle of the sample identifier. + + Index of the preparation object, of which samples should be removed. + Index of the preparation sample that should be removed. + + + + Train a sample identifier. + Instance represents: Handle of the sample identifier. + + Parameter name. Default: [] + Parameter value. Default: [] + + + + Add training data to an existing sample identifier. + Instance represents: Handle of the sample identifier. + + Image that shows an object. + Index of the object visible in the SampleImage. + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Add training data to an existing sample identifier. + Instance represents: Handle of the sample identifier. + + Image that shows an object. + Index of the object visible in the SampleImage. + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Adapt the internal data structure of a sample identifier to the objects to be identified. + Instance represents: Handle of the sample identifier. + + Indicates if the preparation data should be removed. Default: "true" + Generic parameter name. Default: [] + Generic parameter value. Default: [] + + + + Add preparation data to an existing sample identifier. + Instance represents: Handle of the sample identifier. + + Image that shows an object. + Index of the object visible in the SampleImage. Default: "unknown" + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Add preparation data to an existing sample identifier. + Instance represents: Handle of the sample identifier. + + Image that shows an object. + Index of the object visible in the SampleImage. Default: "unknown" + Generic parameter name. Default: [] + Generic parameter value. Default: [] + Index of the object sample. + + + + Create a new sample identifier. + Modified instance represents: Handle of the sample identifier. + + Parameter name. Default: [] + Parameter value. Default: [] + + + Represents an instance of a scattered data interpolator. + + + + Creates an interpolator for the interpolation of scattered data. + Modified instance represents: Handle of the scattered data interpolator + + Method for the interpolation Default: "thin_plate_splines" + Row coordinates of the points used for the interpolation + Column coordinates of the points used for the interpolation + Values of the points used for the interpolation + Names of the generic parameters that can be adjusted Default: [] + Values of the generic parameters that can be adjusted Default: [] + + + Clear a scattered data interpolator. + Handle of the scattered data interpolator + + + + Clear a scattered data interpolator. + Instance represents: Handle of the scattered data interpolator + + + + + Interpolation of scattered data using a scattered data interpolator. + Instance represents: Handle of the scattered data interpolator + + Row coordinates of points to be interpolated + Column coordinates of points to be interpolated + Values of interpolated points + + + + Interpolation of scattered data using a scattered data interpolator. + Instance represents: Handle of the scattered data interpolator + + Row coordinates of points to be interpolated + Column coordinates of points to be interpolated + Values of interpolated points + + + + Creates an interpolator for the interpolation of scattered data. + Modified instance represents: Handle of the scattered data interpolator + + Method for the interpolation Default: "thin_plate_splines" + Row coordinates of the points used for the interpolation + Column coordinates of the points used for the interpolation + Values of the points used for the interpolation + Names of the generic parameters that can be adjusted Default: [] + Values of the generic parameters that can be adjusted Default: [] + + + Represents an instance of a 3D graphic scene. + + + + Create the data structure that is needed to visualize collections of 3D objects. + Modified instance represents: Handle of the 3D scene. + + + + + Get the depth or the index of instances in a displayed 3D scene. + Instance represents: Handle of the 3D scene. + + Window handle. + Row coordinates. + Column coordinates. + Information. Default: "depth" + Indices or the depth of the objects at (Row,Column). + + + + Get the depth or the index of instances in a displayed 3D scene. + Instance represents: Handle of the 3D scene. + + Window handle. + Row coordinates. + Column coordinates. + Information. Default: "depth" + Indices or the depth of the objects at (Row,Column). + + + + Set the pose of a 3D scene. + Instance represents: Handle of the 3D scene. + + New pose of the 3D scene. + + + + Set parameters of a 3D scene. + Instance represents: Handle of the 3D scene. + + Names of the generic parameters. Default: "quality" + Values of the generic parameters. Default: "high" + + + + Set parameters of a 3D scene. + Instance represents: Handle of the 3D scene. + + Names of the generic parameters. Default: "quality" + Values of the generic parameters. Default: "high" + + + + Set parameters of a light in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the light source. + Names of the generic parameters. Default: "ambient" + Values of the generic parameters. Default: [0.2,0.2,0.2] + + + + Set parameters of a light in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the light source. + Names of the generic parameters. Default: "ambient" + Values of the generic parameters. Default: [0.2,0.2,0.2] + + + + Set the pose of an instance in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the instance. + New pose of the instance. + + + + Set the pose of an instance in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the instance. + New pose of the instance. + + + + Set parameters of an instance in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the instance. + Names of the generic parameters. Default: "color" + Values of the generic parameters. Default: "green" + + + + Set parameters of an instance in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the instance. + Names of the generic parameters. Default: "color" + Values of the generic parameters. Default: "green" + + + + Set the pose of a camera in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the camera. + New pose of the camera. + + + + Render an image of a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the camera used to display the scene. + Rendered 3D scene. + + + + Remove a light from a 3D scene. + Instance represents: Handle of the 3D scene. + + Light to remove. + + + + Remove an object instance from a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the instance to remove. + + + + Remove an object instance from a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the instance to remove. + + + + Remove a camera from a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the camera to remove. + + + + Display a 3D scene. + Instance represents: Handle of the 3D scene. + + Window handle. + Index of the camera used to display the scene. + + + + Display a 3D scene. + Instance represents: Handle of the 3D scene. + + Window handle. + Index of the camera used to display the scene. + + + + Add a light source to a 3D scene. + Instance represents: Handle of the 3D scene. + + Position of the new light source. Default: [-100.0,-100.0,0.0] + Type of the new light source. Default: "point_light" + Index of the new light source in the 3D scene. + + + + Add an instance of a 3D object model to a 3D scene. + Instance represents: Handle of the 3D scene. + + Handle of the 3D object model. + Pose of the 3D object model. + Index of the new instance in the 3D scene. + + + + Add an instance of a 3D object model to a 3D scene. + Instance represents: Handle of the 3D scene. + + Handle of the 3D object model. + Pose of the 3D object model. + Index of the new instance in the 3D scene. + + + + Add a camera to a 3D scene. + Instance represents: Handle of the 3D scene. + + Parameters of the new camera. + Index of the new camera in the 3D scene. + + + Delete a 3D scene and free all allocated memory. + Handle of the 3D scene. + + + + Delete a 3D scene and free all allocated memory. + Instance represents: Handle of the 3D scene. + + + + + Create the data structure that is needed to visualize collections of 3D objects. + Modified instance represents: Handle of the 3D scene. + + + + + Add a text label to a 3D scene. + Instance represents: Handle of the 3D scene. + + Text of the label. Default: "label" + Point of reference of the label. + Position of the label. Default: "top" + Indicates fixed or relative positioning. Default: "point" + Index of the new label in the 3D scene. + + + + Add a text label to a 3D scene. + Instance represents: Handle of the 3D scene. + + Text of the label. Default: "label" + Point of reference of the label. + Position of the label. Default: "top" + Indicates fixed or relative positioning. Default: "point" + Index of the new label in the 3D scene. + + + + Remove a text label from a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the text label to remove. + + + + Remove a text label from a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the text label to remove. + + + + Set parameters of a text label in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the text label. + Names of the generic parameters. Default: "color" + Values of the generic parameters. Default: "red" + + + + Set parameters of a text label in a 3D scene. + Instance represents: Handle of the 3D scene. + + Index of the text label. + Names of the generic parameters. Default: "color" + Values of the generic parameters. Default: "red" + + + Represents an instance of a connection via a serial port. + + + + Open a serial device. + Modified instance represents: Serial interface handle. + + Name of the serial port. Default: "COM1" + + + + Clear the buffer of a serial connection. + Instance represents: Serial interface handle. + + Buffer to be cleared. Default: "input" + + + + Write to a serial connection. + Instance represents: Serial interface handle. + + Characters to write (as tuple of integers). + + + + Write to a serial connection. + Instance represents: Serial interface handle. + + Characters to write (as tuple of integers). + + + + Read from a serial device. + Instance represents: Serial interface handle. + + Number of characters to read. Default: 1 + Read characters (as tuple of integers). + + + + Get the parameters of a serial device. + Instance represents: Serial interface handle. + + Number of data bits of the serial interface. + Type of flow control of the serial interface. + Parity of the serial interface. + Number of stop bits of the serial interface. + Total timeout of the serial interface in ms. + Inter-character timeout of the serial interface in ms. + Speed of the serial interface. + + + + Set the parameters of a serial device. + Instance represents: Serial interface handle. + + Speed of the serial interface. Default: "unchanged" + Number of data bits of the serial interface. Default: "unchanged" + Type of flow control of the serial interface. Default: "unchanged" + Parity of the serial interface. Default: "unchanged" + Number of stop bits of the serial interface. Default: "unchanged" + Total timeout of the serial interface in ms. Default: "unchanged" + Inter-character timeout of the serial interface in ms. Default: "unchanged" + + + + Set the parameters of a serial device. + Instance represents: Serial interface handle. + + Speed of the serial interface. Default: "unchanged" + Number of data bits of the serial interface. Default: "unchanged" + Type of flow control of the serial interface. Default: "unchanged" + Parity of the serial interface. Default: "unchanged" + Number of stop bits of the serial interface. Default: "unchanged" + Total timeout of the serial interface in ms. Default: "unchanged" + Inter-character timeout of the serial interface in ms. Default: "unchanged" + + + + Close a serial device. + Instance represents: Serial interface handle. + + + + + Open a serial device. + Modified instance represents: Serial interface handle. + + Name of the serial port. Default: "COM1" + + + Represents an instance of a serializied item. + + + + Create a serialized item. + Modified instance represents: Handle of the serialized item. + + Data pointer of the serialized item. + Size of the serialized item. + Copy mode of the serialized item. Default: "true" + + + Creates a new serialized item with data given in byte array + The array needs to be kept alive until block is disposed! + + + Copies a serialized item into a new byte array + + + + Receive a serialized item over a socket connection. + Modified instance represents: Handle of the serialized item. + + Socket number. + + + + Send a serialized item over a socket connection. + Instance represents: Handle of the serialized item. + + Socket number. + + + + Write a serialized item to a file. + Instance represents: Handle of the serialized item. + + File handle. + + + + Read a serialized item from a file. + Modified instance represents: Handle of the serialized item. + + File handle. + + + Delete a serialized item. + Handle of the serialized item. + + + + Delete a serialized item. + Instance represents: Handle of the serialized item. + + + + + Access the data pointer of a serialized item. + Instance represents: Handle of the serialized item. + + Size of the serialized item. + Data pointer of the serialized item. + + + + Create a serialized item. + Modified instance represents: Handle of the serialized item. + + Data pointer of the serialized item. + Size of the serialized item. + Copy mode of the serialized item. Default: "true" + + + Represents an instance of a shape model for matching. + + + + Read a shape model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Prepare an anisotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an anisotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an isotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an isotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare a shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare a shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an anisotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare an anisotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare an isotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare an isotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare a shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare a shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Deserialize a serialized shape model. + Modified instance represents: Handle of the model. + + Handle of the serialized item. + + + + Read a shape model from a file. + Modified instance represents: Handle of the model. + + File name. + + + + Serialize a shape model. + Instance represents: Handle of the model. + + Handle of the serialized item. + + + + Write a shape model to a file. + Instance represents: Handle of the model. + + File name. + + + + Free the memory of a shape model. + Instance represents: Handle of the model. + + + + + Return the contour representation of a shape model. + Instance represents: Handle of the model. + + Pyramid level for which the contour representation should be returned. Default: 1 + Contour representation of the shape model. + + + + Return the parameters of a shape model. + Instance represents: Handle of the model. + + Smallest rotation of the pattern. + Extent of the rotation angles. + Step length of the angles (resolution). + Minimum scale of the pattern. + Maximum scale of the pattern. + Scale step length (resolution). + Match metric. + Minimum contrast of the objects in the search images. + Number of pyramid levels. + + + + Return the parameters of a shape model. + Instance represents: Handle of the model. + + Smallest rotation of the pattern. + Extent of the rotation angles. + Step length of the angles (resolution). + Minimum scale of the pattern. + Maximum scale of the pattern. + Scale step length (resolution). + Match metric. + Minimum contrast of the objects in the search images. + Number of pyramid levels. + + + + Return the origin (reference point) of a shape model. + Instance represents: Handle of the model. + + Row coordinate of the origin of the shape model. + Column coordinate of the origin of the shape model. + + + + Set the origin (reference point) of a shape model. + Instance represents: Handle of the model. + + Row coordinate of the origin of the shape model. + Column coordinate of the origin of the shape model. + + + Find the best matches of multiple anisotropically scaled shape models. + Input image in which the models should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the models in the row direction. Default: 0.9 + Maximum scale of the models in the row direction. Default: 1.1 + Minimum scale of the models in the column direction. Default: 0.9 + Maximum scale of the models in the column direction. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models in the row direction. + Scale of the found instances of the models in the column direction. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple anisotropically scaled shape models. + Instance represents: Handle of the models. + + Input image in which the models should be found. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the models in the row direction. Default: 0.9 + Maximum scale of the models in the row direction. Default: 1.1 + Minimum scale of the models in the column direction. Default: 0.9 + Maximum scale of the models in the column direction. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models in the row direction. + Scale of the found instances of the models in the column direction. + Score of the found instances of the models. + Index of the found instances of the models. + + + Find the best matches of multiple isotropically scaled shape models. + Input image in which the models should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the models. Default: 0.9 + Maximum scale of the models. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple isotropically scaled shape models. + Instance represents: Handle of the models. + + Input image in which the models should be found. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the models. Default: 0.9 + Maximum scale of the models. Default: 1.1 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Scale of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + Find the best matches of multiple shape models. + Input image in which the models should be found. + Handle of the models. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of multiple shape models. + Instance represents: Handle of the models. + + Input image in which the models should be found. + Smallest rotation of the models. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the models to be found. Default: 0.5 + Number of instances of the models to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the models to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the models. + Column coordinate of the found instances of the models. + Rotation angle of the found instances of the models. + Score of the found instances of the models. + Index of the found instances of the models. + + + + Find the best matches of an anisotropically scaled shape model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in the row direction. Default: 0.9 + Maximum scale of the model in the row direction. Default: 1.1 + Minimum scale of the model in the column direction. Default: 0.9 + Maximum scale of the model in the column direction. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model in the row direction. + Scale of the found instances of the model in the column direction. + Score of the found instances of the model. + + + + Find the best matches of an anisotropically scaled shape model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum scale of the model in the row direction. Default: 0.9 + Maximum scale of the model in the row direction. Default: 1.1 + Minimum scale of the model in the column direction. Default: 0.9 + Maximum scale of the model in the column direction. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model in the row direction. + Scale of the found instances of the model in the column direction. + Score of the found instances of the model. + + + + Find the best matches of an isotropically scaled shape model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of an isotropically scaled shape model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.78 + Minimum scale of the model. Default: 0.9 + Maximum scale of the model. Default: 1.1 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Scale of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of a shape model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + + Find the best matches of a shape model in an image. + Instance represents: Handle of the model. + + Input image in which the model should be found. + Smallest rotation of the model. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Minimum score of the instances of the model to be found. Default: 0.5 + Number of instances of the model to be found (or 0 for all matches). Default: 1 + Maximum overlap of the instances of the model to be found. Default: 0.5 + Subpixel accuracy if not equal to 'none'. Default: "least_squares" + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Row coordinate of the found instances of the model. + Column coordinate of the found instances of the model. + Rotation angle of the found instances of the model. + Score of the found instances of the model. + + + + Set the metric of a shape model that was created from XLD contours. + Instance represents: Handle of the model. + + Input image used for the determination of the polarity. + Transformation matrix. + Match metric. Default: "use_polarity" + + + + Set selected parameters of the shape model. + Instance represents: Handle of the model. + + Parameter names. + Parameter values. + + + + Prepare an anisotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an anisotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an isotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an isotropically scaled shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare a shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare a shape model for matching from XLD contours. + Modified instance represents: Handle of the model. + + Input contours that will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + + + + Prepare an anisotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare an anisotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare an isotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare an isotropically scaled shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare a shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Prepare a shape model for matching. + Modified instance represents: Handle of the model. + + Input image whose domain will be used to create the model. + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "use_polarity" + Threshold or hysteresis thresholds for the contrast of the object in the template image and optionally minimum size of the object parts. Default: "auto" + Minimum contrast of the objects in the search images. Default: "auto" + + + + Get the clutter parameters of a shape model. + Instance represents: Handle of the model. + + Parameter names. Default: "use_clutter" + Parameter values. + Transformation matrix. + Minimum contrast of clutter in the search images. + Region where no clutter should occur. + + + + Get the clutter parameters of a shape model. + Instance represents: Handle of the model. + + Parameter names. Default: "use_clutter" + Parameter values. + Transformation matrix. + Minimum contrast of clutter in the search images. + Region where no clutter should occur. + + + + Set the clutter parameters of a shape model. + Instance represents: Handle of the model. + + Region where no clutter should occur. + Transformation matrix. + Minimum contrast of clutter in the search images. Default: 128 + Parameter names. + Parameter values. + + + + Set the clutter parameters of a shape model. + Instance represents: Handle of the model. + + Region where no clutter should occur. + Transformation matrix. + Minimum contrast of clutter in the search images. Default: 128 + Parameter names. + Parameter values. + + + Represents an instance of a 3D shape model for 3D matching. + + + + Read a 3D shape model from a file. + Modified instance represents: Handle of the 3D shape model. + + File name. + + + + Prepare a 3D object model for matching. + Modified instance represents: Handle of the 3D shape model. + + Handle of the 3D object model. + Internal camera parameters. + Reference orientation: Rotation around x-axis or x component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around y-axis or y component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around z-axis or z component of the Rodriguez vector (in radians or without unit). Default: 0 + Meaning of the rotation values of the reference orientation. Default: "gba" + Minimum longitude of the model views. Default: -0.35 + Maximum longitude of the model views. Default: 0.35 + Minimum latitude of the model views. Default: -0.35 + Maximum latitude of the model views. Default: 0.35 + Minimum camera roll angle of the model views. Default: -3.1416 + Maximum camera roll angle of the model views. Default: 3.1416 + Minimum camera-object-distance of the model views. Default: 0.3 + Maximum camera-object-distance of the model views. Default: 0.4 + Minimum contrast of the objects in the search images. Default: 10 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + + + + Prepare a 3D object model for matching. + Modified instance represents: Handle of the 3D shape model. + + Handle of the 3D object model. + Internal camera parameters. + Reference orientation: Rotation around x-axis or x component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around y-axis or y component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around z-axis or z component of the Rodriguez vector (in radians or without unit). Default: 0 + Meaning of the rotation values of the reference orientation. Default: "gba" + Minimum longitude of the model views. Default: -0.35 + Maximum longitude of the model views. Default: 0.35 + Minimum latitude of the model views. Default: -0.35 + Maximum latitude of the model views. Default: 0.35 + Minimum camera roll angle of the model views. Default: -3.1416 + Maximum camera roll angle of the model views. Default: 3.1416 + Minimum camera-object-distance of the model views. Default: 0.3 + Maximum camera-object-distance of the model views. Default: 0.4 + Minimum contrast of the objects in the search images. Default: 10 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Free the memory of a 3D shape model. + Handle of the 3D shape model. + + + + Free the memory of a 3D shape model. + Instance represents: Handle of the 3D shape model. + + + + + Deserialize a serialized 3D shape model. + Modified instance represents: Handle of the 3D shape model. + + Handle of the serialized item. + + + + Serialize a 3D shape model. + Instance represents: Handle of the 3D shape model. + + Handle of the serialized item. + + + + Read a 3D shape model from a file. + Modified instance represents: Handle of the 3D shape model. + + File name. + + + + Write a 3D shape model to a file. + Instance represents: Handle of the 3D shape model. + + File name. + + + + Transform a pose that refers to the coordinate system of a 3D object model to a pose that refers to the reference coordinate system of a 3D shape model and vice versa. + Instance represents: Handle of the 3D shape model. + + Pose to be transformed in the source system. + Direction of the transformation. Default: "ref_to_model" + Transformed 3D pose in the target system. + + + + Project the edges of a 3D shape model into image coordinates. + Instance represents: Handle of the 3D shape model. + + Internal camera parameters. + 3D pose of the 3D shape model in the world coordinate system. + Remove hidden surfaces? Default: "true" + Smallest face angle for which the edge is displayed Default: 0.523599 + Contour representation of the model view. + + + + Project the edges of a 3D shape model into image coordinates. + Instance represents: Handle of the 3D shape model. + + Internal camera parameters. + 3D pose of the 3D shape model in the world coordinate system. + Remove hidden surfaces? Default: "true" + Smallest face angle for which the edge is displayed Default: 0.523599 + Contour representation of the model view. + + + + Return the contour representation of a 3D shape model view. + Instance represents: Handle of the 3D shape model. + + Pyramid level for which the contour representation should be returned. Default: 1 + View for which the contour representation should be returned. Default: 1 + 3D pose of the 3D shape model at the current view. + Contour representation of the model view. + + + + Return the parameters of a 3D shape model. + Instance represents: Handle of the 3D shape model. + + Names of the generic parameters that are to be queried for the 3D shape model. Default: "num_levels_max" + Values of the generic parameters. + + + + Return the parameters of a 3D shape model. + Instance represents: Handle of the 3D shape model. + + Names of the generic parameters that are to be queried for the 3D shape model. Default: "num_levels_max" + Values of the generic parameters. + + + + Find the best matches of a 3D shape model in an image. + Instance represents: Handle of the 3D shape model. + + Input image in which the model should be found. + Minimum score of the instances of the model to be found. Default: 0.7 + "Greediness" of the search heuristic (0: safe but slow; 1: fast but matches may be missed). Default: 0.9 + Number of pyramid levels used in the matching (and lowest pyramid level to use if $|NumLevels| = 2$). Default: 0 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + 6 standard deviations or 36 covariances of the pose parameters. + Score of the found instances of the 3D shape model. + 3D pose of the 3D shape model. + + + + Prepare a 3D object model for matching. + Modified instance represents: Handle of the 3D shape model. + + Handle of the 3D object model. + Internal camera parameters. + Reference orientation: Rotation around x-axis or x component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around y-axis or y component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around z-axis or z component of the Rodriguez vector (in radians or without unit). Default: 0 + Meaning of the rotation values of the reference orientation. Default: "gba" + Minimum longitude of the model views. Default: -0.35 + Maximum longitude of the model views. Default: 0.35 + Minimum latitude of the model views. Default: -0.35 + Maximum latitude of the model views. Default: 0.35 + Minimum camera roll angle of the model views. Default: -3.1416 + Maximum camera roll angle of the model views. Default: 3.1416 + Minimum camera-object-distance of the model views. Default: 0.3 + Maximum camera-object-distance of the model views. Default: 0.4 + Minimum contrast of the objects in the search images. Default: 10 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + + + + Prepare a 3D object model for matching. + Modified instance represents: Handle of the 3D shape model. + + Handle of the 3D object model. + Internal camera parameters. + Reference orientation: Rotation around x-axis or x component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around y-axis or y component of the Rodriguez vector (in radians or without unit). Default: 0 + Reference orientation: Rotation around z-axis or z component of the Rodriguez vector (in radians or without unit). Default: 0 + Meaning of the rotation values of the reference orientation. Default: "gba" + Minimum longitude of the model views. Default: -0.35 + Maximum longitude of the model views. Default: 0.35 + Minimum latitude of the model views. Default: -0.35 + Maximum latitude of the model views. Default: 0.35 + Minimum camera roll angle of the model views. Default: -3.1416 + Maximum camera roll angle of the model views. Default: 3.1416 + Minimum camera-object-distance of the model views. Default: 0.3 + Maximum camera-object-distance of the model views. Default: 0.4 + Minimum contrast of the objects in the search images. Default: 10 + Names of (optional) parameters for controlling the behavior of the operator. Default: [] + Values of the optional generic parameters. Default: [] + + + Represents an instance of the data structure required to perform 3D measurements with the sheet-of-light technique. + + + + Read a sheet-of-light model from a file and create a new model. + Modified instance represents: Handle of the sheet-of-light model. + + Name of the sheet-of-light model file. Default: "sheet_of_light_model.solm" + + + + Create a model to perform 3D-measurements using the sheet-of-light technique. + Modified instance represents: Handle for using and accessing the sheet-of-light model. + + Region of the images containing the profiles to be processed. If the provided region is not rectangular, its smallest enclosing rectangle will be used. + Names of the generic parameters that can be adjusted for the sheet-of-light model. Default: "min_gray" + Values of the generic parameters that can be adjusted for the sheet-of-light model. Default: 50 + + + + Create a model to perform 3D-measurements using the sheet-of-light technique. + Modified instance represents: Handle for using and accessing the sheet-of-light model. + + Region of the images containing the profiles to be processed. If the provided region is not rectangular, its smallest enclosing rectangle will be used. + Names of the generic parameters that can be adjusted for the sheet-of-light model. Default: "min_gray" + Values of the generic parameters that can be adjusted for the sheet-of-light model. Default: 50 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Read a sheet-of-light model from a file and create a new model. + Modified instance represents: Handle of the sheet-of-light model. + + Name of the sheet-of-light model file. Default: "sheet_of_light_model.solm" + + + + Write a sheet-of-light model to a file. + Instance represents: Handle of the sheet-of-light model. + + Name of the sheet-of-light model file. Default: "sheet_of_light_model.solm" + + + + Deserialize a sheet-of-light model. + Modified instance represents: Handle of the sheet-of-light model. + + Handle of the serialized item. + + + + Serialize a sheet-of-light model. + Instance represents: Handle of the sheet-of-light model. + + Handle of the serialized item. + + + + Calibrate a sheet-of-light setup with a 3D calibration object. + Instance represents: Handle of the sheet-of-light model. + + Average back projection error of the optimization. + + + + Get the result of a calibrated measurement performed with the sheet-of-light technique as a 3D object model. + Instance represents: Handle for accessing the sheet-of-light model. + + Handle of the resulting 3D object model. + + + + Get the iconic results of a measurement performed with the sheet-of light technique. + Instance represents: Handle of the sheet-of-light model to be used. + + Specify which result of the measurement shall be provided. Default: "disparity" + Desired measurement result. + + + + Get the iconic results of a measurement performed with the sheet-of light technique. + Instance represents: Handle of the sheet-of-light model to be used. + + Specify which result of the measurement shall be provided. Default: "disparity" + Desired measurement result. + + + + Apply the calibration transformations to the input disparity image. + Instance represents: Handle of the sheet-of-light model. + + Height or range image to be calibrated. + + + + Set sheet of light profiles by measured disparities. + Instance represents: Handle of the sheet-of-light model. + + Disparity image that contains several profiles. + Poses describing the movement of the scene under measurement between the previously processed profile image and the current profile image. + + + + Process the profile image provided as input and store the resulting disparity to the sheet-of-light model. + Instance represents: Handle of the sheet-of-light model. + + Input image. + Pose describing the movement of the scene under measurement between the previously processed profile image and the current profile image. + + + + Set selected parameters of the sheet-of-light model. + Instance represents: Handle of the sheet-of-light model. + + Name of the model parameter that shall be adjusted for the sheet-of-light model. Default: "method" + Value of the model parameter that shall be adjusted for the sheet-of-light model. Default: "center_of_gravity" + + + + Set selected parameters of the sheet-of-light model. + Instance represents: Handle of the sheet-of-light model. + + Name of the model parameter that shall be adjusted for the sheet-of-light model. Default: "method" + Value of the model parameter that shall be adjusted for the sheet-of-light model. Default: "center_of_gravity" + + + + Get the value of a parameter, which has been set in a sheet-of-light model. + Instance represents: Handle of the sheet-of-light model. + + Name of the generic parameter that shall be queried. Default: "method" + Value of the model parameter that shall be queried. + + + + For a given sheet-of-light model get the names of the generic iconic or control parameters that can be used in the different sheet-of-light operators. + Instance represents: Handle of the sheet-of-light model. + + Name of the parameter group. Default: "create_model_params" + List containing the names of the supported generic parameters. + + + + Reset a sheet-of-light model. + Instance represents: Handle of the sheet-of-light model. + + + + + Delete a sheet-of-light model and free the allocated memory. + Instance represents: Handle of the sheet-of-light model. + + + + + Create a model to perform 3D-measurements using the sheet-of-light technique. + Modified instance represents: Handle for using and accessing the sheet-of-light model. + + Region of the images containing the profiles to be processed. If the provided region is not rectangular, its smallest enclosing rectangle will be used. + Names of the generic parameters that can be adjusted for the sheet-of-light model. Default: "min_gray" + Values of the generic parameters that can be adjusted for the sheet-of-light model. Default: 50 + + + + Create a model to perform 3D-measurements using the sheet-of-light technique. + Modified instance represents: Handle for using and accessing the sheet-of-light model. + + Region of the images containing the profiles to be processed. If the provided region is not rectangular, its smallest enclosing rectangle will be used. + Names of the generic parameters that can be adjusted for the sheet-of-light model. Default: "min_gray" + Values of the generic parameters that can be adjusted for the sheet-of-light model. Default: 50 + + + Represents an instance of a socket connection. + + + + Open a socket and connect it to an accepting socket. + Modified instance represents: Socket number. + + Hostname of the computer to connect to. Default: "localhost" + Port number. + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Open a socket and connect it to an accepting socket. + Modified instance represents: Socket number. + + Hostname of the computer to connect to. Default: "localhost" + Port number. + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Open a socket that accepts connection requests. + Modified instance represents: Socket number. + + Port number. Default: 3000 + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Open a socket that accepts connection requests. + Modified instance represents: Socket number. + + Port number. Default: 3000 + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Receive an image over a socket connection. + Instance represents: Socket number. + + Received image. + + + + Send an image over a socket connection. + Instance represents: Socket number. + + Image to be sent. + + + + Receive regions over a socket connection. + Instance represents: Socket number. + + Received regions. + + + + Send regions over a socket connection. + Instance represents: Socket number. + + Regions to be sent. + + + + Receive an XLD object over a socket connection. + Instance represents: Socket number. + + Received XLD object. + + + + Send an XLD object over a socket connection. + Instance represents: Socket number. + + XLD object to be sent. + + + + Receive a tuple over a socket connection. + Instance represents: Socket number. + + Received tuple. + + + + Send a tuple over a socket connection. + Instance represents: Socket number. + + Tuple to be sent. + + + + Send a tuple over a socket connection. + Instance represents: Socket number. + + Tuple to be sent. + + + + Receive arbitrary data from external devices or applications using a generic socket connection. + Instance represents: Socket number. + + Specification how to convert the data to tuples. Default: "z" + IP address or hostname and network port of the communication partner. + Value (or tuple of values) holding the received and converted data. + + + + Receive arbitrary data from external devices or applications using a generic socket connection. + Instance represents: Socket number. + + Specification how to convert the data to tuples. Default: "z" + IP address or hostname and network port of the communication partner. + Value (or tuple of values) holding the received and converted data. + + + + Send arbitrary data to external devices or applications using a generic socket communication. + Instance represents: Socket number. + + Specification how to convert the data. Default: "z" + Value (or tuple of values) holding the data to send. + IP address or hostname and network port of the communication partner. Default: [] + + + + Send arbitrary data to external devices or applications using a generic socket communication. + Instance represents: Socket number. + + Specification how to convert the data. Default: "z" + Value (or tuple of values) holding the data to send. + IP address or hostname and network port of the communication partner. Default: [] + + + + Get the value of a socket parameter. + Instance represents: Socket number. + + Name of the socket parameter. + Value of the socket parameter. + + + + Get the value of a socket parameter. + Instance represents: Socket number. + + Name of the socket parameter. + Value of the socket parameter. + + + + Set a socket parameter. + Instance represents: Socket number. + + Name of the socket parameter. + Value of the socket parameter. Default: "on" + + + + Set a socket parameter. + Instance represents: Socket number. + + Name of the socket parameter. + Value of the socket parameter. Default: "on" + + + + Determine the HALCON data type of the next socket data. + Instance represents: Socket number. + + Data type of next HALCON data. + + + + Get the socket descriptor of a socket used by the operating system. + Instance represents: Socket number. + + Socket descriptor used by the operating system. + + + This operator is inoperable. It had the following function: Close all opened sockets. + + + + Close a socket. + Instance represents: Socket number. + + + + + Accept a connection request on a listening socket of the protocol type 'HALCON' or 'TCP'/'TCP4'/'TCP6'. + Instance represents: Socket number of the accepting socket. + + Should the operator wait until a connection request arrives? Default: "auto" + Socket number. + + + + Open a socket and connect it to an accepting socket. + Modified instance represents: Socket number. + + Hostname of the computer to connect to. Default: "localhost" + Port number. + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Open a socket and connect it to an accepting socket. + Modified instance represents: Socket number. + + Hostname of the computer to connect to. Default: "localhost" + Port number. + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Open a socket that accepts connection requests. + Modified instance represents: Socket number. + + Port number. Default: 3000 + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Open a socket that accepts connection requests. + Modified instance represents: Socket number. + + Port number. Default: 3000 + Names of the generic parameters that can be adjusted for the socket. Default: [] + Values of the generic parameters that can be adjusted for the socket. Default: [] + + + + Receive a serialized item over a socket connection. + Instance represents: Socket number. + + Handle of the serialized item. + + + + Send a serialized item over a socket connection. + Instance represents: Socket number. + + Handle of the serialized item. + + + Represents an instance of a stereo model. + + + + Create a HALCON stereo model. + Modified instance represents: Handle of the stereo model. + + Handle to the camera setup model. + Reconstruction method. Default: "surface_pairwise" + Name of the model parameter to be set. Default: [] + Value of the model parameter to be set. Default: [] + + + + Create a HALCON stereo model. + Modified instance represents: Handle of the stereo model. + + Handle to the camera setup model. + Reconstruction method. Default: "surface_pairwise" + Name of the model parameter to be set. Default: [] + Value of the model parameter to be set. Default: [] + + + + Free the memory of a stereo model. + Instance represents: Handle of the stereo model. + + + + + Reconstruct 3D points from calibrated multi-view stereo images. + Instance represents: Handle of the stereo model. + + Row coordinates of the detected points. + Column coordinates of the detected points. + Covariance matrices of the detected points. Default: [] + Indices of the observing cameras. + Indices of the observed world points. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + Indices of the reconstructed 3D points. + + + + Reconstruct 3D points from calibrated multi-view stereo images. + Instance represents: Handle of the stereo model. + + Row coordinates of the detected points. + Column coordinates of the detected points. + Covariance matrices of the detected points. Default: [] + Indices of the observing cameras. + Indices of the observed world points. + X coordinates of the reconstructed 3D points. + Y coordinates of the reconstructed 3D points. + Z coordinates of the reconstructed 3D points. + Covariance matrices of the reconstructed 3D points. + Indices of the reconstructed 3D points. + + + + Reconstruct surface from calibrated multi-view stereo images. + Instance represents: Handle of the stereo model. + + An image array acquired by the camera setup associated with the stereo model. + Handle to the resulting surface. + + + + Get intermediate iconic results of a stereo reconstruction. + Instance represents: Handle of the stereo model. + + Camera indices of the pair ([From, To]). + Name of the iconic result to be returned. + Iconic result. + + + + Get intermediate iconic results of a stereo reconstruction. + Instance represents: Handle of the stereo model. + + Camera indices of the pair ([From, To]). + Name of the iconic result to be returned. + Iconic result. + + + + Return the list of image pairs set in a stereo model. + Instance represents: Handle of the stereo model. + + Camera indices for the to cameras in the image pairs. + Camera indices for the from cameras in the image pairs. + + + + Specify image pairs to be used for surface stereo reconstruction. + Instance represents: Handle of the stereo model. + + Camera indices for the from cameras in the image pairs. + Camera indices for the to cameras in the image pairs. + + + + Get stereo model parameters. + Instance represents: Handle of the stereo model. + + Names of the parameters to be set. + Values of the parameters to be set. + + + + Get stereo model parameters. + Instance represents: Handle of the stereo model. + + Names of the parameters to be set. + Values of the parameters to be set. + + + + Set stereo model parameters. + Instance represents: Handle of the stereo model. + + Names of the parameters to be set. + Values of the parameters to be set. + + + + Set stereo model parameters. + Instance represents: Handle of the stereo model. + + Names of the parameters to be set. + Values of the parameters to be set. + + + + Create a HALCON stereo model. + Modified instance represents: Handle of the stereo model. + + Handle to the camera setup model. + Reconstruction method. Default: "surface_pairwise" + Name of the model parameter to be set. Default: [] + Value of the model parameter to be set. Default: [] + + + + Create a HALCON stereo model. + Modified instance represents: Handle of the stereo model. + + Handle to the camera setup model. + Reconstruction method. Default: "surface_pairwise" + Name of the model parameter to be set. Default: [] + Value of the model parameter to be set. Default: [] + + + + Get intermediate 3D object model of a stereo reconstruction + Instance represents: Handle des Stereomodells. + + Namen der Modellparameter. + Werte der Modellparameter. + + + + Get intermediate 3D object model of a stereo reconstruction + Instance represents: Handle des Stereomodells. + + Namen der Modellparameter. + Werte der Modellparameter. + + + Represents an instance of a structured light model. + + + + Create a structured light model. + Modified instance represents: Handle for using and accessing the structured light model. + + The type of the created structured light model. Default: "deflectometry" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Clear a structured light model and free the allocated memory. + Handle of the structured light model. + + + + Clear a structured light model and free the allocated memory. + Instance represents: Handle of the structured light model. + + + + + Create a structured light model. + Modified instance represents: Handle for using and accessing the structured light model. + + The type of the created structured light model. Default: "deflectometry" + + + + Decode the camera images acquired with a structured light setup. + Instance represents: Handle of the structured light model. + + Acquired camera images. + + + + Deserialize a structured light model. + Modified instance represents: Handle of the structured light model. + + Handle of the serialized item. + + + + Generate the pattern images to be displayed in a structured light setup. + Instance represents: Handle of the structured light model. + + Generated pattern images. + + + + Query parameters of a structured light model. + Instance represents: Handle of the structured light model. + + Name of the queried model parameter. Default: "min_stripe_width" + Value of the queried model parameter. + + + + Query parameters of a structured light model. + Instance represents: Handle of the structured light model. + + Name of the queried model parameter. Default: "min_stripe_width" + Value of the queried model parameter. + + + + Get (intermediate) iconic results of a structured light model. + Instance represents: Handle of the structured light model. + + Name of the iconic result to be returned. Default: "correspondence_image" + Iconic result. + + + + Get (intermediate) iconic results of a structured light model. + Instance represents: Handle of the structured light model. + + Name of the iconic result to be returned. Default: "correspondence_image" + Iconic result. + + + + Read a structured light model from a file. + Modified instance represents: Handle of the structured light model. + + File name. + + + + Serialize a structured light model. + Instance represents: Handle of the structured light model. + + Handle of the serialized item. + + + + Set parameters of a structured light model. + Instance represents: Handle of the structured light model. + + Name of the model parameter to be adjusted. Default: "min_stripe_width" + New value of the model parameter. Default: 32 + + + + Set parameters of a structured light model. + Instance represents: Handle of the structured light model. + + Name of the model parameter to be adjusted. Default: "min_stripe_width" + New value of the model parameter. Default: 32 + + + + Write a structured light model to a file. + Instance represents: Handle of the structured light model. + + File name. + + + Represents an instance of a surface matching result. + + + + Get details of a result from surface based matching. + Instance represents: Handle of the surface matching result. + + Name of the result property. Default: "pose" + Index of the matching result, starting with 0. Default: 0 + Value of the result property. + + + + Get details of a result from surface based matching. + Instance represents: Handle of the surface matching result. + + Name of the result property. Default: "pose" + Index of the matching result, starting with 0. Default: 0 + Value of the result property. + + + Free the memory of a surface matching result. + Handle of the surface matching result. + + + + Free the memory of a surface matching result. + Instance represents: Handle of the surface matching result. + + + + Refine the pose of a surface model in a 3D scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene. + Modified instance represents: Handle of the matching result, if enabled in ReturnResultHandle. + + Handle of the surface model. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + 3D pose of the surface model in the scene. + + + Find the best matches of a surface model in a 3D scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene. + Modified instance represents: Handle of the matching result, if enabled in ReturnResultHandle. + + Handle of the surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + 3D pose of the surface model in the scene. + + + Find the best matches of a surface model in a 3D scene and images. + Images of the scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene and images. + Modified instance represents: Handle of the matching result, if enabled in ReturnResultHandle. + + Images of the scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + 3D pose of the surface model in the scene. + + + Refine the pose of a surface model in a 3D scene and in images. + Images of the scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene and in images. + Modified instance represents: Handle of the matching result, if enabled in ReturnResultHandle. + + Images of the scene. + Handle of the surface model. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + 3D pose of the surface model in the scene. + + + Represents an instance of a surface model. + + + + Read a surface model from a file. + Modified instance represents: Handle of the read surface model. + + Name of the SFM file. + + + + Create the data structure needed to perform surface-based matching. + Modified instance represents: Handle of the surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.03 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Create the data structure needed to perform surface-based matching. + Modified instance represents: Handle of the surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.03 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + Free the memory of a surface model. + Handle of the surface model. + + + + Free the memory of a surface model. + Instance represents: Handle of the surface model. + + + + + Deserialize a surface model. + Modified instance represents: Handle of the surface model. + + Handle of the serialized item. + + + + Serialize a surface_model. + Instance represents: Handle of the surface model. + + Handle of the serialized item. + + + + Read a surface model from a file. + Modified instance represents: Handle of the read surface model. + + Name of the SFM file. + + + + Write a surface model to a file. + Instance represents: Handle of the surface model. + + File name. + + + + Refine the pose of a surface model in a 3D scene. + Instance represents: Handle of the surface model. + + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene. + Instance represents: Handle of the surface model. + + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene. + Instance represents: Handle of the surface model. + + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene. + Instance represents: Handle of the surface model. + + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Return the parameters and properties of a surface model. + Instance represents: Handle of the surface model. + + Name of the parameter. Default: "diameter" + Value of the parameter. + + + + Return the parameters and properties of a surface model. + Instance represents: Handle of the surface model. + + Name of the parameter. Default: "diameter" + Value of the parameter. + + + + Create the data structure needed to perform surface-based matching. + Modified instance represents: Handle of the surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.03 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Create the data structure needed to perform surface-based matching. + Modified instance represents: Handle of the surface model. + + Handle of the 3D object model. + Sampling distance relative to the object's diameter Default: 0.03 + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + + + + Find the best matches of a surface model in a 3D scene and images. + Instance represents: Handle of the surface model. + + Images of the scene. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Find the best matches of a surface model in a 3D scene and images. + Instance represents: Handle of the surface model. + + Images of the scene. + Handle of the 3D object model containing the scene. + Scene sampling distance relative to the diameter of the surface model. Default: 0.05 + Fraction of sampled scene points used as key points. Default: 0.2 + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the surface model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene and in images. + Instance represents: Handle of the surface model. + + Images of the scene. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Refine the pose of a surface model in a 3D scene and in images. + Instance represents: Handle of the surface model. + + Images of the scene. + Handle of the 3D object model containing the scene. + Initial pose of the surface model in the scene. + Minimum score of the returned poses. Default: 0 + Enable returning a result handle in SurfaceMatchingResultID. Default: "false" + Names of the generic parameters. Default: [] + Values of the generic parameters. Default: [] + Score of the found instances of the model. + Handle of the matching result, if enabled in ReturnResultHandle. + 3D pose of the surface model in the scene. + + + + Set parameters and properties of a surface model. + Instance represents: Handle of the surface model. + + Name of the parameter. Default: "camera_parameter" + Value of the parameter. + + + + Set parameters and properties of a surface model. + Instance represents: Handle of the surface model. + + Name of the parameter. Default: "camera_parameter" + Value of the parameter. + + + Class grouping system information and manipulation related functionality. + + + Delaying the execution of the program. + Number of seconds by which the execution of the program will be delayed. Default: 10 + + + Execute a system command. + Command to be called by the system. Default: "ls" + + + Set HALCON system parameters. + Name of the system parameter to be changed. Default: "init_new_image" + New value of the system parameter. Default: "true" + + + Set HALCON system parameters. + Name of the system parameter to be changed. Default: "init_new_image" + New value of the system parameter. Default: "true" + + + Activating and deactivating of HALCON control modes. + Desired control mode. Default: "default" + + + Activating and deactivating of HALCON control modes. + Desired control mode. Default: "default" + + + Initialization of the HALCON system. + Default image width (in pixels). Default: 128 + Default image height (in pixels). Default: 128 + Usual number of channels. Default: 0 + + + Get current value of HALCON system parameters. + Desired system parameter. Default: "init_new_image" + Current value of the system parameter. + + + Get current value of HALCON system parameters. + Desired system parameter. Default: "init_new_image" + Current value of the system parameter. + + + State of the HALCON control modes. + Tuplet of the currently activated control modes. + + + Inquiry after the error text of a HALCON error number. + HALCON error code. + Corresponding error message. + + + Passed Time. + Processtime since the program start. + + + Number of entries in the HALCON database. + Relation of interest of the HALCON database. Default: "object" + Number of tuples in the relation. + + + Returns the extended error information for the calling thread's last HALCON error. + Extended error code. + Extended error message. + Operator that set the error code. + + + Query of used modules and the module key. + Key for license manager. + Names of used modules. + + + Inquiring for possible settings of the HALCON debugging tool. + Corresponding state of the control modes. + Available control modes (see also set_spy). + + + Control of the HALCON Debugging Tools. + Control mode Default: "mode" + State of the control mode to be set. Default: "on" + + + Control of the HALCON Debugging Tools. + Control mode Default: "mode" + State of the control mode to be set. Default: "on" + + + Current configuration of the HALCON debugging-tool. + Control mode Default: "mode" + State of the control mode. + + + Set AOP information for operators. + Operator to set information to Default: "" + Further specific index Default: "" + Further specific address Default: "" + Scope of information Default: "max_threads" + AOP information value + + + Set AOP information for operators. + Operator to set information to Default: "" + Further specific index Default: "" + Further specific address Default: "" + Scope of information Default: "max_threads" + AOP information value + + + Return AOP information for operators. + Operator to get information for + Further index stages Default: ["iconic_type","parameter:0"] + Further index values Default: ["byte",""] + Scope of information Default: "max_threads" + Value of information + + + Return AOP information for operators. + Operator to get information for + Further index stages Default: ["iconic_type","parameter:0"] + Further index values Default: ["byte",""] + Scope of information Default: "max_threads" + Value of information + + + Query indexing structure of AOP information for operators. + Operator to get information for Default: "" + Further specific index Default: "" + Further specific address Default: "" + Values of next index stage + Name of next index stage + + + Query indexing structure of AOP information for operators. + Operator to get information for Default: "" + Further specific index Default: "" + Further specific address Default: "" + Values of next index stage + Name of next index stage + + + Check hardware regarding its potential for automatic operator parallelization. + Operators to check Default: "" + Iconic object types to check Default: "" + Knowledge file name Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + + + Check hardware regarding its potential for automatic operator parallelization. + Operators to check Default: "" + Iconic object types to check Default: "" + Knowledge file name Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + + + Write knowledge about hardware dependent behavior of automatic operator parallelization to file. + Name of knowledge file Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + + + Write knowledge about hardware dependent behavior of automatic operator parallelization to file. + Name of knowledge file Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + + + Load knowledge about hardware dependent behavior of automatic operator parallelization. + Name of knowledge file Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + Updated Operators + Knowledge attributes + + + Load knowledge about hardware dependent behavior of automatic operator parallelization. + Name of knowledge file Default: "" + Parameter name Default: "none" + Parameter value Default: "none" + Updated Operators + Knowledge attributes + + + Specify a window type. + Name of the window type which has to be set. Default: "X-Window" + + + Get window characteristics. + Name of the attribute that should be returned. + Attribute value. + + + Set window characteristics. + Name of the attribute that should be modified. + Value of the attribute that should be set. + + + Set window characteristics. + Name of the attribute that should be modified. + Value of the attribute that should be set. + + + Query all available window types. + Names of available window types. + + + Return the HALCON thread ID of the current thread. + ID representing the current thread. + + + Get current value of system information without requiring a license. + Desired system parameter. Default: "available_parameters" + Current value of the system parameter. + + + Get current value of system information without requiring a license. + Desired system parameter. Default: "available_parameters" + Current value of the system parameter. + + + Attempt to interrupt an operator running in a different thread. + Thread that runs the operator to interrupt. + Interruption mode. Default: "cancel" + + + Represents an instance of a template for gray value matching. + + + + Preparing a pattern for template matching with rotation. + Modified instance represents: Template number. + + Input image whose domain will be processed for the pattern matching. + Maximal number of pyramid levels. Default: 4 + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Step rate (angle precision) of matching. Default: 0.0982 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + + + + Preparing a pattern for template matching. + Modified instance represents: Template number. + + Input image whose domain will be processed for the pattern matching. + Not yet in use. Default: 255 + Maximal number of pyramid levels. Default: 4 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + + + + Reading a template from file. + Modified instance represents: Template number. + + file name. + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Preparing a pattern for template matching with rotation. + Modified instance represents: Template number. + + Input image whose domain will be processed for the pattern matching. + Maximal number of pyramid levels. Default: 4 + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Step rate (angle precision) of matching. Default: 0.0982 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + + + + Preparing a pattern for template matching. + Modified instance represents: Template number. + + Input image whose domain will be processed for the pattern matching. + Not yet in use. Default: 255 + Maximal number of pyramid levels. Default: 4 + Kind of optimizing. Default: "sort" + Kind of grayvalues. Default: "original" + + + + Serialize a template. + Instance represents: Handle of the template. + + Handle of the serialized item. + + + + Deserialize a serialized template. + Modified instance represents: Template number. + + Handle of the serialized item. + + + + Writing a template to file. + Instance represents: Template number. + + file name. + + + + Reading a template from file. + Modified instance represents: Template number. + + file name. + + + + Deallocation of the memory of a template. + Instance represents: Template number. + + + + + Gray value offset for template. + Instance represents: Template number. + + Offset of gray values. Default: 0 + + + + Define reference position for a matching template. + Instance represents: Template number. + + Reference position of template (row). + Reference position of template (column). + + + + Adapting a template to the size of an image. + Instance represents: Template number. + + Image which determines the size of the later matching. + + + + Searching all good gray value matches in a pyramid. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Maximal average difference of the grayvalues. Default: 30.0 + Number of levels in the pyramid. Default: 3 + All points which have an error below a certain threshold. + + + + Searching all good gray value matches in a pyramid. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Maximal average difference of the grayvalues. Default: 30.0 + Number of levels in the pyramid. Default: 3 + All points which have an error below a certain threshold. + + + + Searching the best gray value matches in a pre generated pyramid. + Instance represents: Template number. + + Image pyramid inside of which the pattern has to be found. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Resolution level up to which the method "best match" is used. Default: "original" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching the best gray value matches in a pre generated pyramid. + Instance represents: Template number. + + Image pyramid inside of which the pattern has to be found. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Resolution level up to which the method "best match" is used. Default: "original" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching the best gray value matches in a pyramid. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 4 + Resolution level up to which the method "best match" is used. Default: 2 + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching the best gray value matches in a pyramid. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Maximal average difference of the grayvalues. Default: 30.0 + Exactness in subpixels in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 4 + Resolution level up to which the method "best match" is used. Default: 2 + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues in the best match. + + + + Searching all good matches of a template and an image. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Maximal average difference of the grayvalues. Default: 20.0 + All points whose error lies below a certain threshold. + + + + Searching the best matching of a template and a pyramid with rotation. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 40.0 + Subpixel accuracy in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and a pyramid with rotation. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 40.0 + Subpixel accuracy in case of 'true'. Default: "false" + Number of the used resolution levels. Default: 3 + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image with rotation. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 30.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image with rotation. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Smallest Rotation of the pattern. Default: -0.39 + Maximum positive Extension of AngleStart. Default: 0.79 + Maximum average difference of the grayvalues. Default: 30.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Rotation angle of pattern. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Maximum average difference of the grayvalues. Default: 20.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues of the best match. + + + + Searching the best matching of a template and an image. + Instance represents: Template number. + + Input image inside of which the pattern has to be found. + Maximum average difference of the grayvalues. Default: 20.0 + Subpixel accuracy in case of 'true'. Default: "false" + Row position of the best match. + Column position of the best match. + Average divergence of the grayvalues of the best match. + + + Represents an instance of a text model for text segmentations. + + + + Create a text model. + Modified instance represents: New text model. + + The Mode of the text model. Default: "auto" + OCR Classifier. Default: "Universal_Rej.occ" + + + + Create a text model. + Modified instance represents: New text model. + + The Mode of the text model. Default: "auto" + OCR Classifier. Default: "Universal_Rej.occ" + + + + Create a text model. + Modified instance represents: New text model. + + + + + Find text in an image. + Instance represents: Text model specifying the text to be segmented. + + Input image. + Result of the segmentation. + + + + Query parameters of a text model. + Instance represents: Text model. + + Parameters to be queried. Default: "min_contrast" + Values of Parameters. + + + + Set parameters of a text model. + Instance represents: Text model. + + Names of the parameters to be set. Default: "min_contrast" + Values of the parameters to be set. Default: 10 + + + + Set parameters of a text model. + Instance represents: Text model. + + Names of the parameters to be set. Default: "min_contrast" + Values of the parameters to be set. Default: 10 + + + Clear a text model. + Text model to be cleared. + + + + Clear a text model. + Instance represents: Text model to be cleared. + + + + + Create a text model. + Modified instance represents: New text model. + + The Mode of the text model. Default: "auto" + OCR Classifier. Default: "Universal_Rej.occ" + + + + Create a text model. + Modified instance represents: New text model. + + The Mode of the text model. Default: "auto" + OCR Classifier. Default: "Universal_Rej.occ" + + + + Create a text model. + Modified instance represents: New text model. + + + + Represents an instance of a text segmentations result. + + + + Find text in an image. + Modified instance represents: Result of the segmentation. + + Input image. + Text model specifying the text to be segmented. + + + Clear a text result. + Text result to be cleared. + + + + Clear a text result. + Instance represents: Text result to be cleared. + + + + + Query an iconic value of a text segmentation result. + Instance represents: Text result. + + Name of the result to be returned. Default: "all_lines" + Returned result. + + + + Query an iconic value of a text segmentation result. + Instance represents: Text result. + + Name of the result to be returned. Default: "all_lines" + Returned result. + + + + Query a control value of a text segmentation result. + Instance represents: Text result. + + Name of the result to be returned. Default: "class" + Value of ResultName. + + + + Query a control value of a text segmentation result. + Instance represents: Text result. + + Name of the result to be returned. Default: "class" + Value of ResultName. + + + + Find text in an image. + Modified instance represents: Result of the segmentation. + + Input image. + Text model specifying the text to be segmented. + + + Represents an instance of a texture model for texture inspection. + + + + Create a texture inspection model. + Modified instance represents: Handle for using and accessing the texture inspection model. + + The type of the created texture inspection model. Default: "basic" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Add training images to the texture inspection model. + Instance represents: Handle of the texture inspection model. + + Image of flawless texture. + Indices of the images that have been added to the texture inspection model. + + + + Inspection of the texture within an image. + Instance represents: Handle of the texture inspection model. + + Image of the texture to be inspected. + Handle of the inspection results. + Novelty regions. + + + Clear a texture inspection model and free the allocated memory. + Handle of the texture inspection model. + + + + Clear a texture inspection model and free the allocated memory. + Instance represents: Handle of the texture inspection model. + + + + + Create a texture inspection model. + Modified instance represents: Handle for using and accessing the texture inspection model. + + The type of the created texture inspection model. Default: "basic" + + + + Deserialize a serialized texture inspection model. + Modified instance represents: Handle of the texture inspection model. + + Handle of the serialized item. + + + + Get the training images contained in a texture inspection model. + Instance represents: Handle of the texture inspection model. + + Training images contained in the texture inspection model. + + + + Query parameters of a texture inspection model. + Instance represents: Handle of the texture inspection model. + + Name of the queried model parameter. Default: "novelty_threshold" + Value of the queried model parameter. + + + + Query parameters of a texture inspection model. + Instance represents: Handle of the texture inspection model. + + Name of the queried model parameter. Default: "novelty_threshold" + Value of the queried model parameter. + + + + Read a texture inspection model from a file. + Modified instance represents: Handle of the texture inspection model. + + File name. + + + Clear all or a user-defined subset of the images of a texture inspection model. + Handle of the texture inspection model. + Indices of the images to be deleted from the texture inspection model. + Indices of the images that remain in the texture inspection model. + + + + Clear all or a user-defined subset of the images of a texture inspection model. + Instance represents: Handle of the texture inspection model. + + Indices of the images to be deleted from the texture inspection model. + Indices of the images that remain in the texture inspection model. + + + + Serialize a texture inspection model. + Instance represents: Handle of the texture inspection model. + + Handle of the serialized item. + + + + Set parameters of a texture inspection model. + Instance represents: Handle of the texture inspection model. + + Name of the model parameter to be adjusted. Default: "gen_result_handle" + New value of the model parameter. Default: "true" + + + + Set parameters of a texture inspection model. + Instance represents: Handle of the texture inspection model. + + Name of the model parameter to be adjusted. Default: "gen_result_handle" + New value of the model parameter. Default: "true" + + + + Train a texture inspection model. + Instance represents: Handle of the texture inspection model. + + + + + Write a texture inspection model to a file. + Instance represents: Handle of the texture inspection model. + + File name. + + + Represents an instance of a texture inspection result. + + + + Inspection of the texture within an image. + Modified instance represents: Handle of the inspection results. + + Image of the texture to be inspected. + Novelty regions. + Handle of the texture inspection model. + + + Add training images to the texture inspection model. + Image of flawless texture. + Handle of the texture inspection model. + Indices of the images that have been added to the texture inspection model. + + + + Inspection of the texture within an image. + Modified instance represents: Handle of the inspection results. + + Image of the texture to be inspected. + Handle of the texture inspection model. + Novelty regions. + + + Clear a texture inspection result handle and free the allocated memory. + Handle of the texture inspection results. + + + + Clear a texture inspection result handle and free the allocated memory. + Instance represents: Handle of the texture inspection results. + + + + Get the training images contained in a texture inspection model. + Handle of the texture inspection model. + Training images contained in the texture inspection model. + + + + Query iconic results of a texture inspection. + Instance represents: Handle of the texture inspection result. + + Name of the iconic object to be returned. Default: "novelty_region" + Returned iconic object. + + + + Query iconic results of a texture inspection. + Instance represents: Handle of the texture inspection result. + + Name of the iconic object to be returned. Default: "novelty_region" + Returned iconic object. + + + Train a texture inspection model. + Handle of the texture inspection model. + + + Represents an instance of a variation model. + + + + Read a variation model from a file. + Modified instance represents: ID of the variation model. + + File name. + + + + Create a variation model for image comparison. + Modified instance represents: ID of the variation model. + + Width of the images to be compared. Default: 640 + Height of the images to be compared. Default: 480 + Type of the images to be compared. Default: "byte" + Method used for computing the variation model. Default: "standard" + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Deserialize a variation model. + Modified instance represents: ID of the variation model. + + Handle of the serialized item. + + + + Serialize a variation model. + Instance represents: ID of the variation model. + + Handle of the serialized item. + + + + Read a variation model from a file. + Modified instance represents: ID of the variation model. + + File name. + + + + Write a variation model to a file. + Instance represents: ID of the variation model. + + File name. + + + + Return the threshold images used for image comparison by a variation model. + Instance represents: ID of the variation model. + + Threshold image for the upper threshold. + Threshold image for the lower threshold. + + + + Return the images used for image comparison by a variation model. + Instance represents: ID of the variation model. + + Variation image of the trained object. + Image of the trained object. + + + + Compare an image to a variation model. + Instance represents: ID of the variation model. + + Image of the object to be compared. + Method used for comparing the variation model. Default: "absolute" + Region containing the points that differ substantially from the model. + + + + Compare an image to a variation model. + Instance represents: ID of the variation model. + + Image of the object to be compared. + Region containing the points that differ substantially from the model. + + + + Prepare a variation model for comparison with an image. + Instance represents: ID of the variation model. + + Reference image of the object. + Variation image of the object. + Absolute minimum threshold for the differences between the image and the variation model. Default: 10 + Threshold for the differences based on the variation of the variation model. Default: 2 + + + + Prepare a variation model for comparison with an image. + Instance represents: ID of the variation model. + + Reference image of the object. + Variation image of the object. + Absolute minimum threshold for the differences between the image and the variation model. Default: 10 + Threshold for the differences based on the variation of the variation model. Default: 2 + + + + Prepare a variation model for comparison with an image. + Instance represents: ID of the variation model. + + Absolute minimum threshold for the differences between the image and the variation model. Default: 10 + Threshold for the differences based on the variation of the variation model. Default: 2 + + + + Prepare a variation model for comparison with an image. + Instance represents: ID of the variation model. + + Absolute minimum threshold for the differences between the image and the variation model. Default: 10 + Threshold for the differences based on the variation of the variation model. Default: 2 + + + + Train a variation model. + Instance represents: ID of the variation model. + + Images of the object to be trained. + + + + Free the memory of a variation model. + Instance represents: ID of the variation model. + + + + + Free the memory of the training data of a variation model. + Instance represents: ID of the variation model. + + + + + Create a variation model for image comparison. + Modified instance represents: ID of the variation model. + + Width of the images to be compared. Default: 640 + Height of the images to be compared. Default: 480 + Type of the images to be compared. Default: "byte" + Method used for computing the variation model. Default: "standard" + + + Provides tuple functionality. + + The class HTuple represents HALCON tuples (control parameter values) + + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Compute the union set of two input tuples. + Instance represents: Input tuple. + + Input tuple. + The union set of two input tuples. + + + + Compute the intersection set of two input tuples. + Instance represents: Input tuple. + + Input tuple. + The intersection set of two input tuples. + + + + Compute the difference set of two input tuples. + Instance represents: Input tuple. + + Input tuple. + The difference set of two input tuples. + + + + Compute the symmetric difference set of two input tuples. + Instance represents: Input tuple. + + Input tuple. + The symmetric difference set of two input tuples. + + + + Test whether the types of the elements of a tuple are of type string. + Instance represents: Input tuple. + + Are the elements of the input tuple of type string? + + + + Test whether the types of the elements of a tuple are of type real. + Instance represents: Input tuple. + + Are the elements of the input tuple of type real? + + + + Test whether the types of the elements of a tuple are of type integer. + Instance represents: Input tuple. + + Are the elements of the input tuple of type integer? + + + + Return the types of the elements of a tuple. + Instance represents: Input tuple. + + Types of the elements of the input tuple as integer values. + + + + Test whether a tuple is of type mixed. + Instance represents: Input tuple. + + Is the input tuple of type mixed? + + + + Test if the internal representation of a tuple is of type string. + Instance represents: Input tuple. + + Is the input tuple of type string? + + + + Test if the internal representation of a tuple is of type real. + Instance represents: Input tuple. + + Is the input tuple of type real? + + + + Test if the internal representation of a tuple is of type integer. + Instance represents: Input tuple. + + Is the input tuple of type integer? + + + + Return the type of a tuple. + Instance represents: Input tuple. + + Type of the input tuple as an integer number. + + + + Calculate the value distribution of a tuple within a certain value range. + Instance represents: Input tuple. + + Minimum value. + Maximum value. + Number of bins. + Bin size. + Histogram to be calculated. + + + + Select tuple elements matching a regular expression. + Instance represents: Input strings to match. + + Regular expression. Default: ".*" + Matching strings + + + + Test if a string matches a regular expression. + Instance represents: Input strings to match. + + Regular expression. Default: ".*" + Number of matching strings + + + + Replace a substring using regular expressions. + Instance represents: Input strings to process. + + Regular expression. Default: ".*" + Replacement expression. + Processed strings. + + + + Extract substrings using regular expressions. + Instance represents: Input strings to match. + + Regular expression. Default: ".*" + Found matches. + + + Return a tuple of random numbers between 0 and 1. + Length of tuple to generate. + Tuple of random numbers. + + + + Return the number of elements of a tuple. + Instance represents: Input tuple. + + Number of elements of input tuple. + + + + Calculate the sign of a tuple. + Instance represents: Input tuple. + + Signs of the input tuple as integer numbers. + + + + Calculate the elementwise maximum of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Elementwise maximum of the input tuples. + + + + Calculate the elementwise minimum of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Elementwise minimum of the input tuples. + + + + Return the maximal element of a tuple. + Instance represents: Input tuple. + + Maximal element of the input tuple elements. + + + + Return the minimal element of a tuple. + Instance represents: Input tuple. + + Minimal element of the input tuple elements. + + + + Calculate the cumulative sums of a tuple. + Instance represents: Input tuple. + + Cumulative sum of the corresponding tuple elements. + + + + Select the element of rank n of a tuple. + Instance represents: Input tuple. + + Rank of the element to select. + Selected tuple element. + + + + Return the median of the elements of a tuple. + Instance represents: Input tuple. + + Median of the tuple elements. + + + + Return the sum of all elements of a tuple. + Instance represents: Input tuple. + + Sum of tuple elements. + + + + Return the mean value of a tuple of numbers. + Instance represents: Input tuple. + + Mean value of tuple elements. + + + + Return the standard deviation of the elements of a tuple. + Instance represents: Input tuple. + + Standard deviation of tuple elements. + + + + Discard all but one of successive identical elements of a tuple. + Instance represents: Input tuple. + + Tuple without successive identical elements. + + + + Return the index of the last occurrence of a tuple within another tuple. + Instance represents: Input tuple to examine. + + Input tuple with values to find. + Index of the last occurrence of the values to find. + + + + Return the index of the first occurrence of a tuple within another tuple. + Instance represents: Input tuple to examine. + + Input tuple with values to find. + Index of the first occurrence of the values to find. + + + + Return the indices of all occurrences of a tuple within another tuple. + Instance represents: Input tuple to examine. + + Input tuple with values to find. + Indices of the occurrences of the values to find in the tuple to examine. + + + + Sort the elements of a tuple and return the indices of the sorted tuple. + Instance represents: Input tuple. + + Sorted tuple. + + + + Sort the elements of a tuple in ascending order. + Instance represents: Input tuple. + + Sorted tuple. + + + + Invert a tuple. + Instance represents: Input tuple. + + Inverted input tuple. + + + + Concatenate two tuples to a new one. + Instance represents: Input tuple 1. + + Input tuple 2. + Concatenation of input tuples. + + + + Select several elements of a tuple. + Instance represents: Input tuple. + + Index of first element to select. + Index of last element to select. + Selected tuple elements. + + + + Select all elements from index "n" to the end of a tuple. + Instance represents: Input tuple. + + Index of the first element to select. + Selected tuple elements. + + + + Select the first elements of a tuple up to the index "n". + Instance represents: Input tuple. + + Index of the last element to select. + Selected tuple elements. + + + + Inserts one or more elements into a tuple at index. + Instance represents: Input tuple. + + Start index of elements to be inserted. + Element(s) to insert at index. + Tuple with inserted elements. + + + + Replaces one or more elements of a tuple. + Instance represents: Input tuple. + + Index/Indices of elements to be replaced. + Element(s) to replace. + Tuple with replaced elements. + + + + Remove elements from a tuple. + Instance represents: Input tuple. + + Indices of the elements to remove. + Reduced tuple. + + + + Select in mask specified elements of a tuple. + Instance represents: Input tuple. + + greater than 0 specifies the elements to select. + Selected tuple elements. + + + + Select single elements of a tuple. + Instance represents: Input tuple. + + Indices of the elements to select. + Selected tuple element. + + + + Select single character or bit from a tuple. + Instance represents: Input tuple. + + Position of character or bit to select. + Tuple containing the selected characters and bits. + + + Generate a tuple with a sequence of equidistant values. + Start value of the tuple. + Maximum value for the last entry. + Increment value. + The resulting sequence. + + + Generate a tuple of a specific length and initialize its elements. + Length of tuple to generate. + Constant for initializing the tuple elements. + New Tuple. + + + + Read one or more environment variables. + Instance represents: Tuple containing name(s) of the environment variable(s). + + Content of the environment variable(s). + + + + Split strings into substrings using predefined separator symbol(s). + Instance represents: Input tuple with string(s) to split. + + Input tuple with separator symbol(s). + Substrings after splitting the input strings. + + + + Cut characters from position "n1" through "n2" out of a string tuple. + Instance represents: Input tuple with string(s) to examine. + + Input tuple with start position(s) "n1". + Input tuple with end position(s) "n2". + Characters of the string(s) from position "n1" to "n2". + + + + Cut all characters starting at position "n" out of a string tuple. + Instance represents: Input tuple with string(s) to examine. + + Input tuple with position(s) "n". + The last characters of the string(s) starting at position "n". + + + + Cut the first characters up to position "n" out of a string tuple. + Instance represents: Input tuple with string(s) to examine. + + Input tuple with position(s) "n". + The first characters of the string(s) up to position "n". + + + + Backward search for characters within a string tuple. + Instance represents: Input tuple with string(s) to examine. + + Input tuple with character(s) to search. + Position of searched character(s) within the string(s). + + + + Forward search for characters within a string tuple. + Instance represents: Input tuple with string(s) to examine. + + Input tuple with character(s) to search. + Position of searched character(s) within the string(s). + + + + Backward search for strings within a string tuple. + Instance represents: Input tuple with string(s) to examine. + + Input tuple with string(s) to search. + Position of searched string(s) within the examined string(s). + + + + Forward search for strings within a string tuple. + Instance represents: Input tuple with string(s) to examine. + + Input tuple with string(s) to search. + Position of searched string(s) within the examined string(s). + + + + Determine the length of every string within a tuple of strings. + Instance represents: Input tuple. + + Lengths of the single strings of the input tuple. + + + + Test, whether a tuple is elementwise less or equal to another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test, whether a tuple is elementwise less than another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test, whether a tuple is elementwise greater or equal to another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test, whether a tuple is elementwise greater than another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test, whether two tuples are elementwise not equal. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test, whether two tuples are elementwise equal. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test whether a tuple is less or equal to another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test whether a tuple is less than another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test whether a tuple is greater or equal to another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test whether a tuple is greater than another tuple. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test whether two tuples are not equal. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Test whether two tuples are equal. + Instance represents: Input tuple 1. + + Input tuple 2. + Result of the comparison of the input tuples. + + + + Compute the logical not of a tuple. + Instance represents: Input tuple. + + Binary not of the input tuple. + + + + Compute the logical exclusive or of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Binary exclusive or of the input tuples. + + + + Compute the logical or of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Logical or of the input tuples. + + + + Compute the logical and of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Logical and of the input tuples. + + + + Compute the bitwise not of a tuple. + Instance represents: Input tuple. + + Binary not of the input tuple. + + + + Compute the bitwise exclusive or of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Binary exclusive or of the input tuples. + + + + Compute the bitwise or of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Binary or of the input tuples. + + + + Compute the bitwise and of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Binary and of the input tuples. + + + + Shift a tuple bitwise to the right. + Instance represents: Input tuple. + + Number of places to shift the input tuple. + Shifted input tuple. + + + + Shift a tuple bitwise to the left. + Instance represents: Input tuple. + + Number of places to shift the input tuple. + Shifted input tuple. + + + + Convert a tuple of integer numbers into strings. + Instance represents: Input tuple with integer numbers. + + Output tuple with strings that are separated by the number 0. + + + + Convert a tuple of strings into a tuple of integer numbers. + Instance represents: Input tuple with strings. + + Output tuple with the Unicode character codes or ANSI codes of the input string. + + + + Convert a tuple of integer numbers into strings. + Instance represents: Input tuple with Unicode character codes or ANSI codes. + + Output tuple with strings built from the character codes in the input tuple. + + + + Convert a tuple of strings of length 1 into a tuple of integer numbers. + Instance represents: Input tuple with strings of length 1. + + Output tuple with Unicode character codes or ANSI codes of the characters passed in the input tuple. + + + + Convert a tuple into a tuple of strings. + Instance represents: Input tuple. + + Format string. + Input tuple converted to strings. + + + + Check a tuple (of strings) whether it represents numbers. + Instance represents: Input tuple. + + Tuple with boolean numbers. + + + + Convert a tuple (of strings) into a tuple of numbers. + Instance represents: Input tuple. + + Input tuple as numbers. + + + + Convert a tuple into a tuple of integer numbers. + Instance represents: Input tuple. + + Result of the rounding. + + + + Convert a tuple into a tuple of integer numbers. + Instance represents: Input tuple. + + Result of the conversion into integer numbers. + + + + Convert a tuple into a tuple of floating point numbers. + Instance represents: Input tuple. + + Input tuple as floating point numbers. + + + + Calculate the ldexp function of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Ldexp function of the input tuples. + + + + Calculate the remainder of the floating point division of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Remainder of the division of the input tuples. + + + + Calculate the remainder of the integer division of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Remainder of the division of the input tuples. + + + + Compute the ceiling function of a tuple. + Instance represents: Input tuple. + + Ceiling function of the input tuple. + + + + Compute the floor function of a tuple. + Instance represents: Input tuple. + + Floor function of the input tuple. + + + + Calculate the power function of two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Power function of the input tuples. + + + + Compute the base 10 logarithm of a tuple. + Instance represents: Input tuple. + + Base 10 logarithm of the input tuple. + + + + Compute the natural logarithm of a tuple. + Instance represents: Input tuple. + + Natural logarithm of the input tuple. + + + + Compute the exponential of a tuple. + Instance represents: Input tuple. + + Exponential of the input tuple. + + + + Compute the hyperbolic tangent of a tuple. + Instance represents: Input tuple. + + Hyperbolic tangent of the input tuple. + + + + Compute the hyperbolic cosine of a tuple. + Instance represents: Input tuple. + + Hyperbolic cosine of the input tuple. + + + + Compute the hyperbolic sine of a tuple. + Instance represents: Input tuple. + + Hyperbolic sine of the input tuple. + + + + Convert a tuple from degrees to radians. + Instance represents: Input tuple. + + Input tuple in radians. + + + + Convert a tuple from radians to degrees. + Instance represents: Input tuple. + + Input tuple in degrees. + + + + Compute the arctangent of a tuple for all four quadrants. + Instance represents: Input tuple of the y-values. + + Input tuple of the x-values. + Arctangent of the input tuple. + + + + Compute the arctangent of a tuple. + Instance represents: Input tuple. + + Arctangent of the input tuple. + + + + Compute the arccosine of a tuple. + Instance represents: Input tuple. + + Arccosine of the input tuple. + + + + Compute the arcsine of a tuple. + Instance represents: Input tuple. + + Arcsine of the input tuple. + + + + Compute the tangent of a tuple. + Instance represents: Input tuple. + + Tangent of the input tuple. + + + + Compute the cosine of a tuple. + Instance represents: Input tuple. + + Cosine of the input tuple. + + + + Compute the sine of a tuple. + Instance represents: Input tuple. + + Sine of the input tuple. + + + + Compute the absolute value of a tuple (as floating point numbers). + Instance represents: Input tuple. + + Absolute value of the input tuple. + + + + Compute the square root of a tuple. + Instance represents: Input tuple. + + Square root of the input tuple. + + + + Compute the absolute value of a tuple. + Instance represents: Input tuple. + + Absolute value of the input tuple. + + + + Negate a tuple. + Instance represents: Input tuple. + + Negation of the input tuple. + + + + Divide two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Quotient of the input tuples. + + + + Multiply two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Product of the input tuples. + + + + Subtract two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Difference of the input tuples. + + + + Add two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Sum of the input tuples. + + + Deserialize a serialized tuple. + Handle of the serialized item. + Tuple. + + + + Serialize a tuple. + Instance represents: Tuple. + + Handle of the serialized item. + + + + Write a tuple to a file. + Instance represents: Tuple with any kind of data. + + Name of the file to be written. + + + Read a tuple from a file. + Name of the file to be read. + Tuple with any kind of data. + + + + Clear the content of a handle. + Instance represents: Handle to clear. + + + + + Test if the internal representation of a tuple is of type handle. + Instance represents: Input tuple. + + Boolean value indicating if the input tuple is of type handle. + + + + Test whether the elements of a tuple are of type handle. + Instance represents: Input tuple. + + Boolean values indicating if the elements of the input tuple are of type handle. + + + + Test if a tuple is serializable. + Instance represents: Tuple to check for serializability. + + Boolean value indicating if the input can be serialized. + + + + Test if the elements of a tuple are serializable. + Instance represents: Tuple to check for serializability. + + Boolean value indicating if the input elements can be serialized. + + + + Check if a handle is valid. + Instance represents: The handle to check for validity. + + The validity of the handle, 1 or 0. + + + + Return the semantic type of a tuple. + Instance represents: Input tuple. + + Semantic type of the input tuple as a string. + + + + Return the semantic type of the elements of a tuple. + Instance represents: Input tuple. + + Semantic types of the elements of the input tuple as strings. + + + Create an empty tuple + + + Create tuple containing integer value 0 (false) or 1 (true) + + + Create a tuple containing a single 32-bit integer value + + + Create a tuple containing 32-bit integer values + + + Create a tuple containing a single 64-bit integer value + + + Create a tuple containing 64-bit integer values + + + + Create an integer tuple representing a pointer value. + The used integer size depends on the executing platform. + + + + + Create an integer tuple representing pointer values. + The used integer size depends on the executing platform. + + + + Create a tuple containing a single double value + + + Create a tuple containing double values + + + Create a tuple containing a single double value + + + Create a tuple containing double values + + + Create a tuple containing a single string value + + + Create a tuple containing string values + + + Create a tuple containing a single handle value + + + Create a tuple containing handle values + + + + Create a tuple containing mixed values. + Only integer, double and string values are valid. + + + + Create a copy of an existing tuple + + + Create a concatenation of existing tuples + + + + Dispose all handles that are stored in the tuple. For tuples + without handles calling this method has no effect. + Used and overwritte by HTupleMixed and HTupleHandle + + + + + Unpins the tuple's data. Notice that PinTuple happens in Store(..). + + + + + Get the data of this tuple as a 32-bit integer array. + The tuple may only contain integer data (32-bit or 64-bit). + + + + + Get the data of this tuple as a 64-bit integer array. + The tuple may only contain integer data (32-bit or 64-bit). + + + + + Get the data of this tuple as a double array. + The tuple may only contain numeric data. + + + + + Get the data of this tuple as a string array. + The tuple may only contain string values. + + + + + Get the data of this tuple as a handle array. + The tuple may only contain handle values. The + array contains copies of handles that need to + be disposed. + + + + + Get the data of this tuple as an object array. + The tuple may contain arbitrary values. + + + + + Get the data of this tuple as a float array. + The tuple may only contain numeric data. + + + + + Get the data of this tuple as an IntPtr array. + The tuple may only contain integer data matching IntPtr.Size. + + + + Convert first element of a tuple to bool + + + Convert first element of a tuple to int + + + Convert first element of a tuple to long + + + Convert first element of a tuple to double + + + Convert first element of a tuple to string + + + Convert first element of a tuple to IntPtr + + + Convert all elements of a tuple to int[] + + + Convert all elements of a tuple to long[] + + + Convert all elements of a tuple to double[] + + + Convert all elements of a tuple to string[] + + + Convert all elements of a tuple to HHandle[] + + + Convert all elements of a tuple to IntPtr[] + + + + Provides a simple string representation of the tuple, + which is mainly useful for debug outputs. + + + Casting a HTuple to a string does *not* invoke ToString(), as the + former represents an implicit access to tuple.S == tuple[0].S, which + is only legal if the first tuple element is a string. + + + + + Append tuple to this tuple + + Data to append. + + + + Returns the number of elements of a tuple. + Instance represents: Input tuple. + + Number of elements of input tuple. + + + + Add two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Sum of the input tuples. + + + + Subtract two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Difference of the input tuples. + + + + Multiply two tuples. + Instance represents: Input tuple 1. + + Input tuple 2. + Product of the input tuples. + + + + Concatenate multiple tuples to a new one. + Instance represents: Input tuple 1. + + Further input tuples. + Concatenation of input tuples. + + + + Concatenate two tuple to a new one. + Instance represents: Input tuple 1. + + Input tuple 2. + Concatentaion of input tuples. + + + Get the data type of this tuple + + + Get the length of this tuple + + + + Provides access to tuple elements at the specified indices + + + + + Provides access to the tuple element at the specified index + + + + + Provides access to the tuple element at the specified index + + + + + Exposes the internal array representation to allow most efficient + (but not safest) access. Tuple type must be HTupleType.INTEGER. + The array length may be greater than the used tuple length. + + + + + Exposes the internal array representation to allow most efficient + (but not safest) access. Tuple type must be HTupleType.LONG. + The array length may be greater than the used tuple length. + + + + + Exposes the internal array representation to allow most efficient + (but not safest) access. Tuple type must be HTupleType.DOUBLE. + The array length may be greater than the used tuple length. + + + + + Exposes the internal array representation to allow most efficient + (but not safest) access. Tuple type must be HTupleType.STRING. + The array length may be greater than the used tuple length. + + + + + Exposes the internal array representation to allow most efficient + (but not safest) access. Tuple type must be HTupleType.HANDLE. + The array length may be greater than the used tuple length. + + + + + Exposes the internal array representation to allow most efficient + (but not safest) access. Tuple type must be HTupleType.MIXED. It is + not recommended to modify the array. If you do make sure to only + store supported element types int, long, double, string and HHandle. + The array length may be greater than the used tuple length. + + + + Convenience accessor for tuple[0].I + + + Convenience accessor for tuple[0].L + + + Convenience accessor for tuple[0].D + + + Convenience accessor for tuple[0].S + + + Convenience accessor for tuple[0].H + + + Convenience accessor for tuple[0].H + + + Convenience accessor for tuple[0].IP + + + Represents an instance of a HALCON window. + + + + Open a graphics window. + Modified instance represents: Window handle. + + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Width of the window. Default: 256 + Height of the window. Default: 256 + Logical number of the father window. To specify the display as father you may enter 'root' or 0. Default: 0 + Window mode. Default: "visible" + Name of the computer on which you want to open the window. Otherwise the empty string. Default: "" + + + + Open a graphics window. + Modified instance represents: Window handle. + + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Width of the window. Default: 256 + Height of the window. Default: 256 + Logical number of the father window. To specify the display as father you may enter 'root' or 0. Default: 0 + Window mode. Default: "visible" + Name of the computer on which you want to open the window. Otherwise the empty string. Default: "" + + + + Display an XLD object. + Instance represents: Window handle. + + XLD object to display. + + + + Gets a copy of the background image of the HALCON window. + Instance represents: Window handle. + + Copy of the background image. + + + + Detach the background image from a HALCON window. + Instance represents: Window handle. + + + + + Attach a background image to a HALCON window. + Instance represents: Window handle. + + Background image. + + + + Detach an existing drawing object from a HALCON window. + Instance represents: Window Handle. + + Handle of the drawing object. + + + + Attach an existing drawing object to a HALCON window. + Instance represents: Window handle. + + Handle of the drawing object. + + + + Modify the pose of a 3D plot. + Instance represents: Window handle. + + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the second point. + Column coordinate of the second point. + Navigation mode. Default: "rotate" + + + + Modify the pose of a 3D plot. + Instance represents: Window handle. + + Row coordinate of the first point. + Column coordinate of the first point. + Row coordinate of the second point. + Column coordinate of the second point. + Navigation mode. Default: "rotate" + + + + Calculates image coordinates for a point in a 3D plot window. + Instance represents: Window handle. + + Displayed image. + Row coordinate in the window. + Column coordinate in the window. + Row coordinate in the image. + Column coordinate in the image. + Height value. + + + + Calculates image coordinates for a point in a 3D plot window. + Instance represents: Window handle. + + Displayed image. + Row coordinate in the window. + Column coordinate in the window. + Row coordinate in the image. + Column coordinate in the image. + Height value. + + + + Get the operating system window handle. + Instance represents: Window handle. + + Operating system display handle (under Unix-like systems only). + Operating system window handle. + + + + Set the device context of a virtual graphics window (Windows NT). + Instance represents: Window handle. + + device context of WINHWnd. + + + + Create a virtual graphics window under Windows. + Modified instance represents: Window handle. + + Windows window handle of a previously created window. + Row coordinate of upper left corner. Default: 0 + Column coordinate of upper left corner. Default: 0 + Width of the window. Default: 512 + Height of the window. Default: 512 + + + + Interactive output from two window buffers. + Instance represents: Source window handle of the "`upper window"'. + + Source window handle of the "`lower window"'. + Output window handle. + + + + Modify position and size of a window. + Instance represents: Window handle. + + Row index of upper left corner in target position. Default: 0 + Column index of upper left corner in target position. Default: 0 + Width of the window. Default: 512 + Height of the window. Default: 512 + + + + Open a graphics window. + Modified instance represents: Window handle. + + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Width of the window. Default: 256 + Height of the window. Default: 256 + Logical number of the father window. To specify the display as father you may enter 'root' or 0. Default: 0 + Window mode. Default: "visible" + Name of the computer on which you want to open the window. Otherwise the empty string. Default: "" + + + + Open a graphics window. + Modified instance represents: Window handle. + + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Width of the window. Default: 256 + Height of the window. Default: 256 + Logical number of the father window. To specify the display as father you may enter 'root' or 0. Default: 0 + Window mode. Default: "visible" + Name of the computer on which you want to open the window. Otherwise the empty string. Default: "" + + + + Open a textual window. + Modified instance represents: Window handle. + + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Window's width. Default: 256 + Window's height. Default: 256 + Window border's width. Default: 2 + Window border's color. Default: "white" + Background color. Default: "black" + Logical number of the father window. For the display as father you may specify 'root' or 0. Default: 0 + Window mode. Default: "visible" + Computer name, where the window has to be opened or empty string. Default: "" + + + + Open a textual window. + Modified instance represents: Window handle. + + Row index of upper left corner. Default: 0 + Column index of upper left corner. Default: 0 + Window's width. Default: 256 + Window's height. Default: 256 + Window border's width. Default: 2 + Window border's color. Default: "white" + Background color. Default: "black" + Logical number of the father window. For the display as father you may specify 'root' or 0. Default: 0 + Window mode. Default: "visible" + Computer name, where the window has to be opened or empty string. Default: "" + + + + Copy inside an output window. + Instance represents: Window handle. + + Row index of upper left corner of the source rectangle. Default: 0 + Column index of upper left corner of the source rectangle. Default: 0 + Row index of lower right corner of the source rectangle. Default: 64 + Column index of lower right corner of the source rectangle. Default: 64 + Row index of upper left corner of the target position. Default: 64 + Column index of upper left corner of the target position. Default: 64 + + + + Copy inside an output window. + Instance represents: Window handle. + + Row index of upper left corner of the source rectangle. Default: 0 + Column index of upper left corner of the source rectangle. Default: 0 + Row index of lower right corner of the source rectangle. Default: 64 + Column index of lower right corner of the source rectangle. Default: 64 + Row index of upper left corner of the target position. Default: 64 + Column index of upper left corner of the target position. Default: 64 + + + + Get the window type. + Instance represents: Window handle. + + Window type + + + + Access to a window's pixel data. + Instance represents: Window handle. + + Pointer on red channel of pixel data. + Pointer on green channel of pixel data. + Pointer on blue channel of pixel data. + Length of an image line. + Number of image lines. + + + + Information about a window's size and position. + Instance represents: Window handle. + + Row index of upper left corner of the window. + Column index of upper left corner of the window. + Window width. + Window height. + + + + Write the window content in an image object. + Instance represents: Window handle. + + Saved image. + + + + Write the window content to a file. + Instance represents: Window handle. + + Name of the target device or of the graphic format. Default: "postscript" + File name (without extension). Default: "halcon_dump" + + + + Write the window content to a file. + Instance represents: Window handle. + + Name of the target device or of the graphic format. Default: "postscript" + File name (without extension). Default: "halcon_dump" + + + + Copy all pixels within rectangles between output windows. + Instance represents: Source window handle. + + Destination window handle. + Row index of upper left corner in the source window. Default: 0 + Column index of upper left corner in the source window. Default: 0 + Row index of lower right corner in the source window. Default: 128 + Column index of lower right corner in the source window. Default: 128 + Row index of upper left corner in the target window. Default: 0 + Column index of upper left corner in the target window. Default: 0 + + + + Copy all pixels within rectangles between output windows. + Instance represents: Source window handle. + + Destination window handle. + Row index of upper left corner in the source window. Default: 0 + Column index of upper left corner in the source window. Default: 0 + Row index of lower right corner in the source window. Default: 128 + Column index of lower right corner in the source window. Default: 128 + Row index of upper left corner in the target window. Default: 0 + Column index of upper left corner in the target window. Default: 0 + + + Close an output window. + Window handle. + + + + Close an output window. + Instance represents: Window handle. + + + + + Delete the contents of an output window. + Instance represents: Window handle. + + + + + Delete a rectangle on the output window. + Instance represents: Window handle. + + Line index of upper left corner. Default: 10 + Column index of upper left corner. Default: 10 + Row index of lower right corner. Default: 118 + Column index of lower right corner. Default: 118 + + + + Delete a rectangle on the output window. + Instance represents: Window handle. + + Line index of upper left corner. Default: 10 + Column index of upper left corner. Default: 10 + Row index of lower right corner. Default: 118 + Column index of lower right corner. Default: 118 + + + + Print text in a window. + Instance represents: Window handle. + + Tuple of output values (all types). Default: "hello" + + + + Print text in a window. + Instance represents: Window handle. + + Tuple of output values (all types). Default: "hello" + + + + Set the shape of the text cursor. + Instance represents: Window handle. + + Name of cursor shape. Default: "invisible" + + + + Set the position of the text cursor. + Instance represents: Window handle. + + Row index of text cursor position. Default: 24 + Column index of text cursor position. Default: 12 + + + + Read a string in a text window. + Instance represents: Window handle. + + Default string (visible before input). Default: "" + Maximum number of characters. Default: 32 + Read string. + + + + Read a character from a text window. + Instance represents: Window handle. + + Code for input character. + Input character (if it is not a control character). + + + + Set the position of the text cursor to the beginning of the next line. + Instance represents: Window handle. + + + + + Get the shape of the text cursor. + Instance represents: Window handle. + + Name of the current text cursor. + + + + Get cursor position. + Instance represents: Window handle. + + Row index of text cursor position. + Column index of text cursor position. + + + + Get the maximum size of all characters of a font. + Instance represents: Window handle. + + Maximum extension below baseline. + Maximum character width. + Maximum character height. + Maximum height above baseline. + + + + Get the maximum size of all characters of a font. + Instance represents: Window handle. + + Maximum extension below baseline. + Maximum character width. + Maximum character height. + Maximum height above baseline. + + + + Get the spatial size of a string. + Instance represents: Window handle. + + Values to consider. Default: "test_string" + Maximum extension below baseline. + Text width. + Text height. + Maximum height above baseline. + + + + Get the spatial size of a string. + Instance represents: Window handle. + + Values to consider. Default: "test_string" + Maximum extension below baseline. + Text width. + Text height. + Maximum height above baseline. + + + + Query the available fonts. + Instance represents: Window handle. + + Tuple with available font names. + + + + Query all shapes available for text cursors. + Instance represents: Window handle. + + Names of the available text cursors. + + + + Set the font used for text output. + Instance represents: Window handle. + + Name of new font. + + + + Get the current font. + Instance represents: Window handle. + + Name of the current font. + + + + Get window parameters. + Instance represents: Window handle. + + Name of the parameter. Default: "flush" + Value of the parameter. + + + + Set window parameters. + Instance represents: Window handle. + + Name of the parameter. Default: "flush" + Value to be set. Default: "false" + + + + Set window parameters. + Instance represents: Window handle. + + Name of the parameter. Default: "flush" + Value to be set. Default: "false" + + + + Define the region output shape. + Instance represents: Window handle. + + Region output mode. Default: "original" + + + + Set the color definition via RGB values. + Instance represents: Window handle. + + Red component of the color. Default: 255 + Green component of the color. Default: 0 + Blue component of the color. Default: 0 + + + + Set the color definition via RGB values. + Instance represents: Window handle. + + Red component of the color. Default: 255 + Green component of the color. Default: 0 + Blue component of the color. Default: 0 + + + + Define a color lookup table index. + Instance represents: Window handle. + + Color lookup table index. Default: 128 + + + + Define a color lookup table index. + Instance represents: Window handle. + + Color lookup table index. Default: 128 + + + + Define an interpolation method for gray value output. + Instance represents: Window handle. + + Interpolation method for image output: 0 (fast, low quality) to 2 (slow, high quality). Default: 0 + + + + Modify the displayed image part. + Instance represents: Window handle. + + Row of the upper left corner of the chosen image part. Default: 0 + Column of the upper left corner of the chosen image part. Default: 0 + Row of the lower right corner of the chosen image part. Default: -1 + Column of the lower right corner of the chosen image part. Default: -1 + + + + Modify the displayed image part. + Instance represents: Window handle. + + Row of the upper left corner of the chosen image part. Default: 0 + Column of the upper left corner of the chosen image part. Default: 0 + Row of the lower right corner of the chosen image part. Default: -1 + Column of the lower right corner of the chosen image part. Default: -1 + + + + Define the gray value output mode. + Instance represents: Window handle. + + Output mode. Additional parameters possible. Default: "default" + + + + Define the line width for region contour output. + Instance represents: Window handle. + + Line width for region output in contour mode. Default: 1.0 + + + + Define a contour output pattern. + Instance represents: Window handle. + + Contour pattern. Default: [] + + + + Define the approximation error for contour display. + Instance represents: Window handle. + + Maximum deviation from the original contour. Default: 0 + + + + Define the pixel output function. + Instance represents: Window handle. + + Name of the display function. Default: "copy" + + + + Define output colors (HSI-coded). + Instance represents: Window handle. + + Hue for region output. Default: 30 + Saturation for region output. Default: 255 + Intensity for region output. Default: 84 + + + + Define output colors (HSI-coded). + Instance represents: Window handle. + + Hue for region output. Default: 30 + Saturation for region output. Default: 255 + Intensity for region output. Default: 84 + + + + Define gray values for region output. + Instance represents: Window handle. + + Gray values for region output. Default: 255 + + + + Define gray values for region output. + Instance represents: Window handle. + + Gray values for region output. Default: 255 + + + + Define the region fill mode. + Instance represents: Window handle. + + Fill mode for region output. Default: "fill" + + + + Define the image matrix output clipping. + Instance represents: Window handle. + + Clipping mode for gray value output. Default: "object" + + + + Set multiple output colors. + Instance represents: Window handle. + + Number of output colors. Default: 12 + + + + Set output color. + Instance represents: Window handle. + + Output color names. Default: "white" + + + + Set output color. + Instance represents: Window handle. + + Output color names. Default: "white" + + + + Get the current region output shape. + Instance represents: Window handle. + + Current region output shape. + + + + Get the current color in RGB-coding. + Instance represents: Window handle. + + The current color's red value. + The current color's green value. + The current color's blue value. + + + + Get the current color lookup table index. + Instance represents: Window handle. + + Index of the current color look-up table. + + + + Get the current interpolation mode for gray value display. + Instance represents: Window handle. + + Interpolation mode for image display: 0 (fast, low quality) to 2 (slow, high quality). + + + + Get the image part. + Instance represents: Window handle. + + Row index of the image part's upper left corner. + Column index of the image part's upper left corner. + Row index of the image part's lower right corner. + Column index of the image part's lower right corner. + + + + Get the image part. + Instance represents: Window handle. + + Row index of the image part's upper left corner. + Column index of the image part's upper left corner. + Row index of the image part's lower right corner. + Column index of the image part's lower right corner. + + + + Get the current display mode for gray values. + Instance represents: Window handle. + + Name and parameter values of the current display mode. + + + + Get the current line width for contour display. + Instance represents: Window handle. + + Current line width for contour display. + + + + Get the current graphic mode for contours. + Instance represents: Window handle. + + Template for contour display. + + + + Get the current approximation error for contour display. + Instance represents: Window handle. + + Current approximation error for contour display. + + + + Get the current display mode. + Instance represents: Window handle. + + Display mode. + + + + Get the HSI coding of the current color. + Instance represents: Window handle. + + Saturation of the current color. + Intensity of the current color. + Hue (color value) of the current color. + + + + Get the current region fill mode. + Instance represents: Window handle. + + Current region fill mode. + + + + Query the gray value display modes. + Instance represents: Window handle. + + Gray value display mode names. + + + + Query the possible graphic modes. + Instance represents: Window handle. + + Display function name. + + + + Query the displayable gray values. + Instance represents: Window handle. + + Tuple of all displayable gray values. + + + + Query all color names. + Instance represents: Window handle. + + Color names. + + + + Query all color names displayable in the window. + Instance represents: Window handle. + + Color names. + + + + Query the icon for region output + Instance represents: Window handle. + + Icon for the regions center of gravity. + + + + Icon definition for region output. + Instance represents: Window handle. + + Icon for center of gravity. + + + + Displays regions in a window. + Instance represents: Window handle. + + Regions to display. + + + + Displays arbitrarily oriented rectangles. + Instance represents: Window handle. + + Row index of the center. Default: 48 + Column index of the center. Default: 64 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the longer side. Default: 48 + Half of the length of the shorter side. Default: 32 + + + + Displays arbitrarily oriented rectangles. + Instance represents: Window handle. + + Row index of the center. Default: 48 + Column index of the center. Default: 64 + Orientation of rectangle in radians. Default: 0.0 + Half of the length of the longer side. Default: 48 + Half of the length of the shorter side. Default: 32 + + + + Display of rectangles aligned to the coordinate axes. + Instance represents: Window handle. + + Row index of the upper left corner. Default: 16 + Column index of the upper left corner. Default: 16 + Row index of the lower right corner. Default: 48 + Column index of the lower right corner. Default: 80 + + + + Display of rectangles aligned to the coordinate axes. + Instance represents: Window handle. + + Row index of the upper left corner. Default: 16 + Column index of the upper left corner. Default: 16 + Row index of the lower right corner. Default: 48 + Column index of the lower right corner. Default: 80 + + + + Displays a polyline. + Instance represents: Window handle. + + Row index Default: [16,80,80] + Column index Default: [48,16,80] + + + + Draws lines in a window. + Instance represents: Window handle. + + Row index of the start. Default: 32.0 + Column index of the start. Default: 32.0 + Row index of end. Default: 64.0 + Column index of end. Default: 64.0 + + + + Draws lines in a window. + Instance represents: Window handle. + + Row index of the start. Default: 32.0 + Column index of the start. Default: 32.0 + Row index of end. Default: 64.0 + Column index of end. Default: 64.0 + + + + Displays crosses in a window. + Instance represents: Window handle. + + Row coordinate of the center. Default: 32.0 + Column coordinate of the center. Default: 32.0 + Length of the bars. Default: 6.0 + Orientation. Default: 0.0 + + + + Displays crosses in a window. + Instance represents: Window handle. + + Row coordinate of the center. Default: 32.0 + Column coordinate of the center. Default: 32.0 + Length of the bars. Default: 6.0 + Orientation. Default: 0.0 + + + + Displays gray value images. + Instance represents: Window handle. + + Gray value image to display. + + + + Displays images with several channels. + Instance represents: Window handle. + + Multichannel images to be displayed. + Number of channel or the numbers of the RGB-channels Default: 1 + + + + Displays images with several channels. + Instance represents: Window handle. + + Multichannel images to be displayed. + Number of channel or the numbers of the RGB-channels Default: 1 + + + + Displays a color (RGB) image + Instance represents: Window handle. + + Color image to display. + + + + Displays ellipses. + Instance represents: Window handle. + + Row index of center. Default: 64 + Column index of center. Default: 64 + Orientation of the ellipse in radians Default: 0.0 + Radius of major axis. Default: 24.0 + Radius of minor axis. Default: 14.0 + + + + Displays ellipses. + Instance represents: Window handle. + + Row index of center. Default: 64 + Column index of center. Default: 64 + Orientation of the ellipse in radians Default: 0.0 + Radius of major axis. Default: 24.0 + Radius of minor axis. Default: 14.0 + + + + Displays a noise distribution. + Instance represents: Window handle. + + Gray value distribution (513 values). + Row index of center. Default: 256 + Column index of center. Default: 256 + Size of display. Default: 1 + + + + Displays circles in a window. + Instance represents: Window handle. + + Row index of the center. Default: 64 + Column index of the center. Default: 64 + Radius of the circle. Default: 64 + + + + Displays circles in a window. + Instance represents: Window handle. + + Row index of the center. Default: 64 + Column index of the center. Default: 64 + Radius of the circle. Default: 64 + + + + Displays arrows in a window. + Instance represents: Window handle. + + Row index of the start. Default: 10.0 + Column index of the start. Default: 10.0 + Row index of the end. Default: 118.0 + Column index of the end. Default: 118.0 + Size of the arrowhead. Default: 1.0 + + + + Displays arrows in a window. + Instance represents: Window handle. + + Row index of the start. Default: 10.0 + Column index of the start. Default: 10.0 + Row index of the end. Default: 118.0 + Column index of the end. Default: 118.0 + Size of the arrowhead. Default: 1.0 + + + + Displays circular arcs in a window. + Instance represents: Window handle. + + Row coordinate of center point. Default: 64 + Column coordinate of center point. Default: 64 + Angle between start and end of the arc (in radians). Default: 3.1415926 + Row coordinate of the start of the arc. Default: 32 + Column coordinate of the start of the arc. Default: 32 + + + + Displays circular arcs in a window. + Instance represents: Window handle. + + Row coordinate of center point. Default: 64 + Column coordinate of center point. Default: 64 + Angle between start and end of the arc (in radians). Default: 3.1415926 + Row coordinate of the start of the arc. Default: 32 + Column coordinate of the start of the arc. Default: 32 + + + + Displays image objects (image, region, XLD). + Instance represents: Window handle. + + Image object to be displayed. + + + + Set the current mouse pointer shape. + Instance represents: Window handle. + + Mouse pointer name. Default: "arrow" + + + + Query the current mouse pointer shape. + Instance represents: Window handle. + + Mouse pointer name. + + + + Query all available mouse pointer shapes. + Instance represents: Window handle. + + Available mouse pointer names. + + + + Query the subpixel mouse position. + Instance represents: Window handle. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed or 0. + + + + Query the mouse position. + Instance represents: Window handle. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed or 0. + + + + Wait until a mouse button is pressed and get the subpixel mouse position. + Instance represents: Window handle. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + + + + Wait until a mouse button is pressed. + Instance represents: Window handle. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + + + + Write look-up-table (lut) as file. + Instance represents: Window handle. + + File name (of file containing the look-up-table). Default: "/tmp/lut" + + + + Graphical view of the look-up-table (lut). + Instance represents: Window handle. + + Row of centre of the graphic. Default: 128 + Column of centre of the graphic. Default: 128 + Scaling of the graphic. Default: 1 + + + + Query all available look-up-tables (lut). + Instance represents: Window handle. + + Names of look-up-tables. + + + + Get modification parameters of look-up-table (lut). + Instance represents: Window handle. + + Modification of saturation. + Modification of intensity. + Modification of color value. + + + + Changing the look-up-table (lut). + Instance represents: Window handle. + + Modification of color value. Default: 0.0 + Modification of saturation. Default: 1.5 + Modification of intensity. Default: 1.5 + + + + Get current look-up-table (lut). + Instance represents: Window handle. + + Name of look-up-table or tuple of RGB-values. + + + + Set "`look-up-table"' (lut). + Instance represents: Window handle. + + Name of look-up-table, values of look-up-table (RGB) or file name. Default: "default" + + + + Set "`look-up-table"' (lut). + Instance represents: Window handle. + + Name of look-up-table, values of look-up-table (RGB) or file name. Default: "default" + + + + Get mode of fixing of current look-up-table (lut). + Instance represents: Window handle. + + Current Mode of fixing. + + + + Set fixing of "`look-up-table"' (lut) + Instance represents: Window handle. + + Mode of fixing. Default: "true" + + + + Get fixing of "`look-up-table"' (lut) for "`real color images"' + Instance represents: Window handle. + + Mode of fixing. + + + + Fix "`look-up-table"' (lut) for "`real color images"'. + Instance represents: Window handle. + + Mode of fixing. Default: "true" + + + + Interactive movement of a region with restriction of positions. + Instance represents: Window handle. + + Regions to move. + Points on which it is allowed for a region to move. + Row index of the reference point. Default: 100 + Column index of the reference point. Default: 100 + Moved regions. + + + + Interactive movement of a region with fixpoint specification. + Instance represents: Window handle. + + Regions to move. + Row index of the reference point. Default: 100 + Column index of the reference point. Default: 100 + Moved regions. + + + + Interactive moving of a region. + Instance represents: Window handle. + + Regions to move. + Moved Regions. + + + + Interactive modification of a NURBS curve using interpolation. + Instance represents: Window handle. + + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 5. Default: 3 + Row coordinates of the input interpolation points. + Column coordinates of the input interpolation points. + Input tangents. + Row coordinates of the control polygon. + Column coordinates of the control polygon. + Knot vector. + Row coordinates of the points specified by the user. + Column coordinates of the points specified by the user. + Tangents specified by the user. + Contour of the modified curve. + + + + Interactive drawing of a NURBS curve using interpolation. + Instance represents: Window handle. + + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 5. Default: 3 + Row coordinates of the control polygon. + Column coordinates of the control polygon. + Knot vector. + Row coordinates of the points specified by the user. + Column coordinates of the points specified by the user. + Tangents specified by the user. + Contour of the curve. + + + + Interactive modification of a NURBS curve. + Instance represents: Window handle. + + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 25. Default: 3 + Row coordinates of the input control polygon. + Column coordinates of the input control polygon. + Input weight vector. + Row coordinates of the control polygon. + Columns coordinates of the control polygon. + Weight vector. + Contour of the modified curve. + + + + Interactive drawing of a NURBS curve. + Instance represents: Window handle. + + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 25. Default: 3 + Row coordinates of the control polygon. + Columns coordinates of the control polygon. + Weight vector. + Contour approximating the NURBS curve. + + + + Interactive modification of a contour. + Instance represents: Window handle. + + Input contour. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + Modified contour. + + + + Interactive drawing of a contour. + Instance represents: Window handle. + + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Modified contour. + + + + Interactive drawing of any orientated rectangle. + Instance represents: Window handle. + + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + + + + Interactive drawing of any orientated rectangle. + Instance represents: Window handle. + + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + + + + Draw a rectangle parallel to the coordinate axis. + Instance represents: Window handle. + + Row index of the left upper corner. + Column index of the left upper corner. + Row index of the right lower corner. + Column index of the right lower corner. + Row index of the left upper corner. + Column index of the left upper corner. + Row index of the right lower corner. + Column index of the right lower corner. + + + + Draw a rectangle parallel to the coordinate axis. + Instance represents: Window handle. + + Row index of the left upper corner. + Column index of the left upper corner. + Row index of the right lower corner. + Column index of the right lower corner. + + + + Draw a point. + Instance represents: Window handle. + + Row index of the point. + Column index of the point. + Row index of the point. + Column index of the point. + + + + Draw a point. + Instance represents: Window handle. + + Row index of the point. + Column index of the point. + + + + Draw a line. + Instance represents: Window handle. + + Row index of the first point of the line. + Column index of the first point of the line. + Row index of the second point of the line. + Column index of the second point of the line. + Row index of the first point of the line. + Column index of the first point of the line. + Row index of the second point of the line. + Column index of the second point of the line. + + + + Draw a line. + Instance represents: Window handle. + + Row index of the first point of the line. + Column index of the first point of the line. + Row index of the second point of the line. + Column index of the second point of the line. + + + + Interactive drawing of an ellipse. + Instance represents: Window handle. + + Row index of the center. + Column index of the center. + Orientation of the bigger half axis in radians. + Bigger half axis. + Smaller half axis. + Row index of the center. + Column index of the center. + Orientation of the first half axis in radians. + First half axis. + Second half axis. + + + + Interactive drawing of an ellipse. + Instance represents: Window handle. + + Row index of the center. + Column index of the center. + Orientation of the first half axis in radians. + First half axis. + Second half axis. + + + + Interactive drawing of a circle. + Instance represents: Window handle. + + Row index of the center. + Column index of the center. + Radius of the circle. + Row index of the center. + Column index of the center. + Circle's radius. + + + + Interactive drawing of a circle. + Instance represents: Window handle. + + Barycenter's row index. + Barycenter's column index. + Circle's radius. + + + + Interactive drawing of a closed region. + Instance represents: Window handle. + + Interactive created region. + + + + Interactive drawing of a polygon row. + Instance represents: Window handle. + + Region, which encompasses all painted points. + + + + Project and visualize the 3D model of the calibration plate in the image. + Instance represents: Window in which the calibration plate should be visualized. + + File name of the calibration plate description. Default: "calplate_320.cpd" + Internal camera parameters. + External camera parameters (3D pose of the calibration plate in camera coordinates). + Scaling factor for the visualization. Default: 1.0 + + + + Convert image coordinates to window coordinates + Instance represents: Window handle + + Row in image coordinates. + Column in image coordinates. + Row (Y) in window coordinates. + Column (X) in window coordinates. + + + + Convert image coordinates to window coordinates + Instance represents: Window handle + + Row in image coordinates. + Column in image coordinates. + Row (Y) in window coordinates. + Column (X) in window coordinates. + + + + Convert window coordinates to image coordinates + Instance represents: Window handle. + + Row (Y) in window coordinates. + Column (X) in window coordinates. + Row in image coordinates. + Column in image coordinates. + + + + Convert window coordinates to image coordinates + Instance represents: Window handle. + + Row (Y) in window coordinates. + Column (X) in window coordinates. + Row in image coordinates. + Column in image coordinates. + + + + Display text in a window. + Instance represents: Window handle. + + A tuple of strings containing the text message to be displayed. Each value of the tuple will be displayed in a single line. Default: "hello" + If set to 'window', the text position is given with respect to the window coordinate system. If set to 'image', image coordinates are used (this may be useful in zoomed images). Default: "window" + The vertical text alignment or the row coordinate of the desired text position. Default: 12 + The horizontal text alignment or the column coordinate of the desired text position. Default: 12 + A tuple of strings defining the colors of the texts. Default: "black" + Generic parameter names. Default: [] + Generic parameter values. Default: [] + + + + Display text in a window. + Instance represents: Window handle. + + A tuple of strings containing the text message to be displayed. Each value of the tuple will be displayed in a single line. Default: "hello" + If set to 'window', the text position is given with respect to the window coordinate system. If set to 'image', image coordinates are used (this may be useful in zoomed images). Default: "window" + The vertical text alignment or the row coordinate of the desired text position. Default: 12 + The horizontal text alignment or the column coordinate of the desired text position. Default: 12 + A tuple of strings defining the colors of the texts. Default: "black" + Generic parameter names. Default: [] + Generic parameter values. Default: [] + + + + Flush the contents of a window. + Instance represents: Window handle. + + + + + Get the current color in RGBA-coding. + Instance represents: Window handle. + + The current color's red value. + The current color's green value. + The current color's blue value. + The current color's alpha value. + + + + Send an event to a buffer window signaling a mouse double click event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Send an event to a buffer window signaling a mouse double click event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Send an event to a window buffer signaling a mouse down event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Send an event to a window buffer signaling a mouse down event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Send an event to a buffer window signaling a mouse drag event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Send an event to a buffer window signaling a mouse drag event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Send an event to a buffer window signaling a mouse up event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Send an event to a buffer window signaling a mouse up event. + Instance represents: Window handle of the buffer window. + + Row coordinate of the mouse cursor in the image coordinate system. + Column coordinate of the mouse cursor in the image coordinate system. + Mouse button(s) pressed. + 'true', if HALCON processed the event. + + + + Sets the callback for content updates in buffer window. + Instance represents: Window handle. + + Callback for content updates. + Parameter to CallbackFunction. + + + + Sets the callback for content updates in buffer window. + Instance represents: Window handle. + + Callback for content updates. + Parameter to CallbackFunction. + + + + Set the color definition via RGBA values. + Instance represents: Window handle. + + Red component of the color. Default: 255 + Green component of the color. Default: 0 + Blue component of the color. Default: 0 + Alpha component of the color. Default: 255 + + + + Set the color definition via RGBA values. + Instance represents: Window handle. + + Red component of the color. Default: 255 + Green component of the color. Default: 0 + Blue component of the color. Default: 0 + Alpha component of the color. Default: 255 + + + + Get the current contour display fill style. + Instance represents: Window handle. + + Current contour fill style. + + + + Define the contour display fill style. + Instance represents: Window handle. + + Fill style of contour displays. Default: "stroke" + + + Represents an instance of an XLD object-(array). + + + Create an uninitialized iconic object + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Return an XLD parallel's data (as lines). + Instance represents: Input XLD parallels. + + Row coordinates of the points on polygon P1. + Column coordinates of the points on polygon P1. + Lengths of the line segments on polygon P1. + Angles of the line segments on polygon P1. + Row coordinates of the points on polygon P2. + Column coordinates of the points on polygon P2. + Lengths of the line segments on polygon P2. + Angles of the line segments on polygon P2. + + + + Display an XLD object. + Instance represents: XLD object to display. + + Window handle. + + + + Receive an XLD object over a socket connection. + Modified instance represents: Received XLD object. + + Socket number. + + + + Send an XLD object over a socket connection. + Instance represents: XLD object to be sent. + + Socket number. + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Paint XLD objects into an image. + Instance represents: XLD objects to be painted into the input image. + + Image in which the xld objects are to be painted. + Desired gray value of the xld object. Default: 255.0 + Image containing the result. + + + + Paint XLD objects into an image. + Instance represents: XLD objects to be painted into the input image. + + Image in which the xld objects are to be painted. + Desired gray value of the xld object. Default: 255.0 + Image containing the result. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Deserialize a serialized XLD object. + Modified instance represents: XLD object. + + Handle of the serialized item. + + + + Serialize an XLD object. + Instance represents: XLD object. + + Handle of the serialized item. + + + + Test whether contours or polygons are closed. + Instance represents: Contours or polygons to be tested. + + Tuple with boolean numbers. + + + + Arbitrary geometric moments of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Computation mode. Default: "unnormalized" + Area enclosed by the contour or polygon. + Row coordinate of the centroid. + Column coordinate of the centroid. + First index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + Second index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + The computed moments. + + + + Arbitrary geometric moments of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Computation mode. Default: "unnormalized" + Area enclosed by the contour or polygon. + Row coordinate of the centroid. + Column coordinate of the centroid. + First index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + Second index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + The computed moments. + + + + Anisometry of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Anisometry of the contours or polygons. + + + + Parameters of the equivalent ellipse of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Minor radius. + Angle between the major axis and the column axis (radians). + Major radius. + + + + Parameters of the equivalent ellipse of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Minor radius. + Angle between the major axis and the column axis (radians). + Major radius. + + + + Orientation of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Orientation of the contours or polygons (radians). + + + + Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Second order moment along the row axis. + Second order moment along the column axis. + Mixed second order moment. + + + + Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons treated as point clouds. + Instance represents: Contours or polygons to be examined. + + Second order moment along the row axis. + Second order moment along the column axis. + Mixed second order moment. + + + + Area and center of gravity (centroid) of contours and polygons treated as point clouds. + Instance represents: Point clouds to be examined in form of contours or polygons. + + Row coordinate of the centroid. + Column coordinate of the centroid. + Area of the point cloud. + + + + Area and center of gravity (centroid) of contours and polygons treated as point clouds. + Instance represents: Point clouds to be examined in form of contours or polygons. + + Row coordinate of the centroid. + Column coordinate of the centroid. + Area of the point cloud. + + + + Test XLD contours or polygons for self intersection. + Instance represents: Input contours or polygons. + + Should the input contours or polygons be closed first? Default: "true" + 1 for contours or polygons with self intersection and 0 otherwise. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Test whether one or more contours or polygons enclose the given point(s). + Instance represents: Contours or polygons to be tested. + + Row coordinates of the points to be tested. + Column coordinates of the points to be tested. + Tuple with boolean numbers. + + + + Test whether one or more contours or polygons enclose the given point(s). + Instance represents: Contours or polygons to be tested. + + Row coordinates of the points to be tested. + Column coordinates of the points to be tested. + Tuple with boolean numbers. + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Orientation of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Orientation of the contours or polygons (radians). + + + + Shape features derived from the ellipse parameters of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Bulkiness of the contours or polygons. + Structure factor of the contours or polygons. + Anisometry of the contours or polygons. + + + + Shape features derived from the ellipse parameters of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Bulkiness of the contours or polygons. + Structure factor of the contours or polygons. + Anisometry of the contours or polygons. + + + + Shape factor for the compactness of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Compactness of the input contours or polygons. + + + + Maximum distance between two contour or polygon points. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the first extreme point of the contours or polygons. + Column coordinate of the first extreme point of the contours or polygons. + Row coordinate of the second extreme point of the contour or polygons. + Column coordinate of the second extreme point of the contours or polygons. + Distance of the two extreme points of the contours or polygons. + + + + Maximum distance between two contour or polygon points. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the first extreme point of the contours or polygons. + Column coordinate of the first extreme point of the contours or polygons. + Row coordinate of the second extreme point of the contour or polygons. + Column coordinate of the second extreme point of the contours or polygons. + Distance of the two extreme points of the contours or polygons. + + + + Shape factor for the convexity of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Convexity of the input contours or polygons. + + + + Shape factor for the circularity (similarity to a circle) of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Roundness of the input contours or polygons. + + + + Parameters of the equivalent ellipse of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Minor radius. + Angle between the major axis and the x axis (radians). + Major radius. + + + + Parameters of the equivalent ellipse of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Minor radius. + Angle between the major axis and the x axis (radians). + Major radius. + + + + Smallest enclosing rectangle with arbitrary orientation of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the center point of the enclosing rectangle. + Column coordinate of the center point of the enclosing rectangle. + Orientation of the enclosing rectangle (arc measure) + First radius (half length) of the enclosing rectangle. + Second radius (half width) of the enclosing rectangle. + + + + Smallest enclosing rectangle with arbitrary orientation of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the center point of the enclosing rectangle. + Column coordinate of the center point of the enclosing rectangle. + Orientation of the enclosing rectangle (arc measure) + First radius (half length) of the enclosing rectangle. + Second radius (half width) of the enclosing rectangle. + + + + Enclosing rectangle parallel to the coordinate axes of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of upper left corner point of the enclosing rectangle. + Column coordinate of upper left corner point of the enclosing rectangle. + Row coordinate of lower right corner point of the enclosing rectangle. + Column coordinate of lower right corner point of the enclosing rectangle. + + + + Enclosing rectangle parallel to the coordinate axes of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of upper left corner point of the enclosing rectangle. + Column coordinate of upper left corner point of the enclosing rectangle. + Row coordinate of lower right corner point of the enclosing rectangle. + Column coordinate of lower right corner point of the enclosing rectangle. + + + + Smallest enclosing circle of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the center of the enclosing circle. + Column coordinate of the center of the enclosing circle. + Radius of the enclosing circle. + + + + Smallest enclosing circle of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the center of the enclosing circle. + Column coordinate of the center of the enclosing circle. + Radius of the enclosing circle. + + + + Transform the shape of contours or polygons. + Instance represents: Contours or polygons to be transformed. + + Type of transformation. Default: "convex" + Transformed contours respectively polygons. + + + + Length of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Length of the contour or polygon. + + + + Arbitrary geometric moments of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Computation mode. Default: "unnormalized" + Point order along the boundary. Default: "positive" + Area enclosed by the contour or polygon. + Row coordinate of the centroid. + Column coordinate of the centroid. + First index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + Second index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + The computed moments. + + + + Arbitrary geometric moments of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Computation mode. Default: "unnormalized" + Point order along the boundary. Default: "positive" + Area enclosed by the contour or polygon. + Row coordinate of the centroid. + Column coordinate of the centroid. + First index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + Second index of the desired moments M[P,Q]@f$M_{p,q}$. Default: 1 + The computed moments. + + + + Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Second order moment along the row axis. + Second order moment along the column axis. + Mixed second order moment. + + + + Geometric moments M20@f$M_{20}$, M02@f$M_{02}$, and M11@f$M_{11}$ of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Second order moment along the row axis. + Second order moment along the column axis. + Mixed second order moment. + + + + Area and center of gravity (centroid) of contours and polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the centroid. + Column coordinate of the centroid. + point order along the boundary ('positive'/'negative'). + Area enclosed by the contour or polygon. + + + + Area and center of gravity (centroid) of contours and polygons. + Instance represents: Contours or polygons to be examined. + + Row coordinate of the centroid. + Column coordinate of the centroid. + point order along the boundary ('positive'/'negative'). + Area enclosed by the contour or polygon. + + + + Determine the 3D pose of a rectangle from its perspective 2D projection + Instance represents: Contour(s) to be examined. + + Internal camera parameters. + Width of the rectangle in meters. + Height of the rectangle in meters. + Weighting mode for the optimization phase. Default: "nonweighted" + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 3.0 for 'tukey'). Default: 2.0 + Covariances of the pose values. + Root-mean-square value of the final residual error. + 3D pose of the rectangle. + + + + Determine the 3D pose of a rectangle from its perspective 2D projection + Instance represents: Contour(s) to be examined. + + Internal camera parameters. + Width of the rectangle in meters. + Height of the rectangle in meters. + Weighting mode for the optimization phase. Default: "nonweighted" + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 3.0 for 'tukey'). Default: 2.0 + Covariances of the pose values. + Root-mean-square value of the final residual error. + 3D pose of the rectangle. + + + + Determine the 3D pose of a circle from its perspective 2D projection. + Instance represents: Contours to be examined. + + Internal camera parameters. + Radius of the circle in object space. + Type of output parameters. Default: "pose" + 3D pose of the second circle. + 3D pose of the first circle. + + + + Determine the 3D pose of a circle from its perspective 2D projection. + Instance represents: Contours to be examined. + + Internal camera parameters. + Radius of the circle in object space. + Type of output parameters. Default: "pose" + 3D pose of the second circle. + 3D pose of the first circle. + + + + Compute the width, height, and aspect ratio of the enclosing rectangle parallel to the coordinate axes of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Width of the enclosing rectangle. + Aspect ratio of the enclosing rectangle. + Height of the enclosing rectangle. + + + + Compute the width, height, and aspect ratio of the enclosing rectangle parallel to the coordinate axes of contours or polygons. + Instance represents: Contours or polygons to be examined. + + Width of the enclosing rectangle. + Aspect ratio of the enclosing rectangle. + Height of the enclosing rectangle. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + Represents an instance of an XLD contour object(-array). + + + Create an uninitialized iconic object + + + + Generate XLD contours from regions. + Modified instance represents: Resulting contours. + + Input regions. + Mode of contour generation. Default: "border" + + + + Generate an XLD contour from a polygon (given as tuples). + Modified instance represents: Resulting contour. + + Row coordinates of the polygon. Default: [0,1,2,2,2] + Column coordinates of the polygon. Default: [0,0,0,1,2] + + + + Compute the union of cotangential contours. + Instance represents: Input XLD contours. + + Length of the part of a contour to skip for the determination of tangents. Default: 0.0 + Length of the part of a contour to use for the determination of tangents. Default: 30.0 + Maximum angle difference between two contours' tangents. Default: 0.78539816 + Maximum distance of the contours' end points. Default: 25.0 + Maximum distance of the contours' end points perpendicular to their tangents. Default: 10.0 + Maximum overlap of two contours. Default: 2.0 + Mode describing the treatment of the contours' attributes. Default: "attr_forget" + Output XLD contours. + + + + Compute the union of cotangential contours. + Instance represents: Input XLD contours. + + Length of the part of a contour to skip for the determination of tangents. Default: 0.0 + Length of the part of a contour to use for the determination of tangents. Default: 30.0 + Maximum angle difference between two contours' tangents. Default: 0.78539816 + Maximum distance of the contours' end points. Default: 25.0 + Maximum distance of the contours' end points perpendicular to their tangents. Default: 10.0 + Maximum overlap of two contours. Default: 2.0 + Mode describing the treatment of the contours' attributes. Default: "attr_forget" + Output XLD contours. + + + + Transform a contour in polar coordinates back to Cartesian coordinates + Instance represents: Input contour. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the column coordinate 0 of PolarContour to. Default: 0.0 + Angle of the ray to map the column coordinate $WidthIn-1$ of PolarContour to. Default: 6.2831853 + Radius of the circle to map the row coordinate 0 of PolarContour to. Default: 0 + Radius of the circle to map the row coordinate $HeightIn-1$ of PolarContour to. Default: 100 + Width of the virtual input image. Default: 512 + Height of the virtual input image. Default: 512 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Output contour. + + + + Transform a contour in polar coordinates back to Cartesian coordinates + Instance represents: Input contour. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to map the column coordinate 0 of PolarContour to. Default: 0.0 + Angle of the ray to map the column coordinate $WidthIn-1$ of PolarContour to. Default: 6.2831853 + Radius of the circle to map the row coordinate 0 of PolarContour to. Default: 0 + Radius of the circle to map the row coordinate $HeightIn-1$ of PolarContour to. Default: 100 + Width of the virtual input image. Default: 512 + Height of the virtual input image. Default: 512 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Output contour. + + + + Transform a contour in an annular arc to polar coordinates. + Instance represents: Input contour. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to the column coordinate 0 of PolarTransContour. Default: 0.0 + Angle of the ray to be mapped to the column coordinate $Width-1$ of PolarTransContour to. Default: 6.2831853 + Radius of the circle to be mapped to the row coordinate 0 of PolarTransContour. Default: 0 + Radius of the circle to be mapped to the row coordinate $Height-1$ of PolarTransContour. Default: 100 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Output contour. + + + + Transform a contour in an annular arc to polar coordinates. + Instance represents: Input contour. + + Row coordinate of the center of the arc. Default: 256 + Column coordinate of the center of the arc. Default: 256 + Angle of the ray to be mapped to the column coordinate 0 of PolarTransContour. Default: 0.0 + Angle of the ray to be mapped to the column coordinate $Width-1$ of PolarTransContour to. Default: 6.2831853 + Radius of the circle to be mapped to the row coordinate 0 of PolarTransContour. Default: 0 + Radius of the circle to be mapped to the row coordinate $Height-1$ of PolarTransContour. Default: 100 + Width of the virtual output image. Default: 512 + Height of the virtual output image. Default: 512 + Output contour. + + + + Transform a NURBS curve into an XLD contour. + Modified instance represents: The contour that approximates the NURBS curve. + + Row coordinates of the control polygon. + Column coordinates of the control polygon. + The knot vector $u$. Default: "auto" + The weight vector $w$. Default: "auto" + The degree $p$ of the NURBS curve. Default: 3 + Maximum distance between the NURBS curve and its approximation. Default: 1.0 + Maximum distance between two subsequent Contour points. Default: 5.0 + + + + Transform a NURBS curve into an XLD contour. + Modified instance represents: The contour that approximates the NURBS curve. + + Row coordinates of the control polygon. + Column coordinates of the control polygon. + The knot vector $u$. Default: "auto" + The weight vector $w$. Default: "auto" + The degree $p$ of the NURBS curve. Default: 3 + Maximum distance between the NURBS curve and its approximation. Default: 1.0 + Maximum distance between two subsequent Contour points. Default: 5.0 + + + + Compute the union of closed contours. + Instance represents: Contours enclosing the first region. + + Contours enclosing the second region. + Contours enclosing the union. + + + + Compute the symmetric difference of closed contours. + Instance represents: Contours enclosing the first region. + + Contours enclosing the second region. + Contours enclosing the symmetric difference. + + + + Compute the difference of closed contours. + Instance represents: Contours enclosing the region from which the second region is subtracted. + + Contours enclosing the region that is subtracted from the first region. + Contours enclosing the difference. + + + + Intersect closed contours. + Instance represents: Contours enclosing the first region to be intersected. + + Contours enclosing the second region to be intersected. + Contours enclosing the intersection. + + + + Compute the union of contours that belong to the same circle. + Instance represents: Contours to be merged. + + Maximum angular distance of two circular arcs. Default: 0.5 + Maximum overlap of two circular arcs. Default: 0.1 + Maximum angle between the connecting line and the tangents of circular arcs. Default: 0.2 + Maximum length of the gap between two circular arcs in pixels. Default: 30 + Maximum radius difference of the circles fitted to two arcs. Default: 10 + Maximum center distance of the circles fitted to two arcs. Default: 10 + Determine whether small contours without fitted circles should also be merged. Default: "true" + Number of iterations. Default: 1 + Merged contours. + + + + Compute the union of contours that belong to the same circle. + Instance represents: Contours to be merged. + + Maximum angular distance of two circular arcs. Default: 0.5 + Maximum overlap of two circular arcs. Default: 0.1 + Maximum angle between the connecting line and the tangents of circular arcs. Default: 0.2 + Maximum length of the gap between two circular arcs in pixels. Default: 30 + Maximum radius difference of the circles fitted to two arcs. Default: 10 + Maximum center distance of the circles fitted to two arcs. Default: 10 + Determine whether small contours without fitted circles should also be merged. Default: "true" + Number of iterations. Default: 1 + Merged contours. + + + + Crop an XLD contour. + Instance represents: Input contours. + + Upper border of the cropping rectangle. Default: 0 + Left border of the cropping rectangle. Default: 0 + Lower border of the cropping rectangle. Default: 512 + Right border of the cropping rectangle. Default: 512 + Should closed contours produce closed output contours? Default: "true" + Output contours. + + + + Crop an XLD contour. + Instance represents: Input contours. + + Upper border of the cropping rectangle. Default: 0 + Left border of the cropping rectangle. Default: 0 + Lower border of the cropping rectangle. Default: 512 + Right border of the cropping rectangle. Default: 512 + Should closed contours produce closed output contours? Default: "true" + Output contours. + + + + Generate one XLD contour in the shape of a cross for each input point. + Modified instance represents: Generated XLD contours. + + Row coordinates of the input points. + Column coordinates of the input points. + Length of the cross bars. Default: 6.0 + Orientation of the crosses. Default: 0.785398 + + + + Generate one XLD contour in the shape of a cross for each input point. + Modified instance represents: Generated XLD contours. + + Row coordinates of the input points. + Column coordinates of the input points. + Length of the cross bars. Default: 6.0 + Orientation of the crosses. Default: 0.785398 + + + + Sort contours with respect to their relative position. + Instance represents: Contours to be sorted. + + Kind of sorting. Default: "upper_left" + Increasing or decreasing sorting order. Default: "true" + Sorting first with respect to row, then to column. Default: "row" + Sorted contours. + + + + Merge XLD contours from successive line scan images. + Instance represents: Current input contours. + + Merged contours from the previous iteration. + Contours from the previous iteration which could not be merged with the current ones. + Height of the line scan images. Default: 512 + Maximum distance of contours from the image border. Default: 0.0 + Image line of the current image, which touches the previous image. Default: "top" + Maximum number of images covered by one contour. Default: 3 + Current contours, merged with old ones where applicable. + + + + Merge XLD contours from successive line scan images. + Instance represents: Current input contours. + + Merged contours from the previous iteration. + Contours from the previous iteration which could not be merged with the current ones. + Height of the line scan images. Default: 512 + Maximum distance of contours from the image border. Default: 0.0 + Image line of the current image, which touches the previous image. Default: "top" + Maximum number of images covered by one contour. Default: 3 + Current contours, merged with old ones where applicable. + + + + Read XLD contours to a file in ARC/INFO generate format. + Modified instance represents: Read XLD contours. + + Name of the ARC/INFO file. + + + + Write XLD contours to a file in ARC/INFO generate format. + Instance represents: XLD contours to be written. + + Name of the ARC/INFO file. + + + + Compute the parallel contour of an XLD contour. + Instance represents: Contours to be transformed. + + Mode, with which the direction information is computed. Default: "regression_normal" + Distance of the parallel contour. Default: 1 + Parallel contours. + + + + Compute the parallel contour of an XLD contour. + Instance represents: Contours to be transformed. + + Mode, with which the direction information is computed. Default: "regression_normal" + Distance of the parallel contour. Default: 1 + Parallel contours. + + + + Create an XLD contour in the shape of a rectangle. + Modified instance represents: Rectangle contour. + + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Orientation of the main axis of the rectangle [rad]. Default: 0.0 + First radius (half length) of the rectangle. Default: 100.5 + Second radius (half width) of the rectangle. Default: 20.5 + + + + Create an XLD contour in the shape of a rectangle. + Modified instance represents: Rectangle contour. + + Row coordinate of the center of the rectangle. Default: 300.0 + Column coordinate of the center of the rectangle. Default: 200.0 + Orientation of the main axis of the rectangle [rad]. Default: 0.0 + First radius (half length) of the rectangle. Default: 100.5 + Second radius (half width) of the rectangle. Default: 20.5 + + + + Compute the distances of all contour points to a rectangle. + Instance represents: Input contour. + + Number of points at the beginning and the end of the contours to be ignored for the computation of distances. Default: 0 + Row coordinate of the center of the rectangle. + Column coordinate of the center of the rectangle. + Orientation of the main axis of the rectangle [rad]. + First radius (half length) of the rectangle. + Second radius (half width) of the rectangle. + Distances of the contour points to the rectangle. + + + + Fit rectangles to XLD contours. + Instance represents: Input contours. + + Algorithm for fitting the rectangles. Default: "regression" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as closed. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations (not used for 'regression'). Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 2.0 for 'tukey'). Default: 2.0 + Row coordinate of the center of the rectangle. + Column coordinate of the center of the rectangle. + Orientation of the main axis of the rectangle [rad]. + First radius (half length) of the rectangle. + Second radius (half width) of the rectangle. + Point order of the contour. + + + + Fit rectangles to XLD contours. + Instance represents: Input contours. + + Algorithm for fitting the rectangles. Default: "regression" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as closed. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations (not used for 'regression'). Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 2.0 for 'tukey'). Default: 2.0 + Row coordinate of the center of the rectangle. + Column coordinate of the center of the rectangle. + Orientation of the main axis of the rectangle [rad]. + First radius (half length) of the rectangle. + Second radius (half width) of the rectangle. + Point order of the contour. + + + + Segment XLD contour parts whose local attributes fulfill given conditions. + Instance represents: Contour to be segmented. + + Contour attributes to be checked. Default: "distance" + Linkage type of the individual attributes. Default: "and" + Lower limits of the attribute values. Default: 150.0 + Upper limits of the attribute values. Default: 99999.0 + Segmented contour parts. + + + + Segment XLD contour parts whose local attributes fulfill given conditions. + Instance represents: Contour to be segmented. + + Contour attributes to be checked. Default: "distance" + Linkage type of the individual attributes. Default: "and" + Lower limits of the attribute values. Default: 150.0 + Upper limits of the attribute values. Default: 99999.0 + Segmented contour parts. + + + + Segment XLD contours into line segments and circular or elliptic arcs. + Instance represents: Contours to be segmented. + + Mode for the segmentation of the contours. Default: "lines_circles" + Number of points used for smoothing the contours. Default: 5 + Maximum distance between a contour and the approximating line (first iteration). Default: 4.0 + Maximum distance between a contour and the approximating line (second iteration). Default: 2.0 + Segmented contours. + + + + Approximate XLD contours by circles. + Instance represents: Input contours. + + Algorithm for the fitting of circles. Default: "algebraic" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as 'closed'. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations for the robust weighted fitting. Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for Huber and 2.0 for Tukey). Default: 2.0 + Row coordinate of the center of the circle. + Column coordinate of the center of the circle. + Radius of circle. + Angle of the start point [rad]. + Angle of the end point [rad]. + Point order along the boundary. + + + + Approximate XLD contours by circles. + Instance represents: Input contours. + + Algorithm for the fitting of circles. Default: "algebraic" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as 'closed'. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations for the robust weighted fitting. Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for Huber and 2.0 for Tukey). Default: 2.0 + Row coordinate of the center of the circle. + Column coordinate of the center of the circle. + Radius of circle. + Angle of the start point [rad]. + Angle of the end point [rad]. + Point order along the boundary. + + + + Approximate XLD contours by line segments. + Instance represents: Input contours. + + Algorithm for the fitting of lines. Default: "tukey" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 'drop' and 2.0 for 'tukey'). Default: 2.0 + Row coordinates of the starting points of the line segments. + Column coordinates of the starting points of the line segments. + Row coordinates of the end points of the line segments. + Column coordinates of the end points of the line segments. + Line parameter: Row coordinate of the normal vector + Line parameter: Column coordinate of the normal vector + Line parameter: Distance of the line from the origin + + + + Approximate XLD contours by line segments. + Instance represents: Input contours. + + Algorithm for the fitting of lines. Default: "tukey" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Maximum number of iterations (unused for 'regression'). Default: 5 + Clipping factor for the elimination of outliers (typical: 1.0 for 'huber' and 'drop' and 2.0 for 'tukey'). Default: 2.0 + Row coordinates of the starting points of the line segments. + Column coordinates of the starting points of the line segments. + Row coordinates of the end points of the line segments. + Column coordinates of the end points of the line segments. + Line parameter: Row coordinate of the normal vector + Line parameter: Column coordinate of the normal vector + Line parameter: Distance of the line from the origin + + + + Compute the distances of all contour points to an ellipse. + Instance represents: Input contours. + + Mode for unsigned or signed distance values. Default: "unsigned" + Number of points at the beginning and the end of the contours to be ignored for the computation of distances. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis in radian. + Length of the larger half axis. + Length of the smaller half axis. + Distances of the contour points to the ellipse. + + + + Compute the distance of contours to an ellipse. + Instance represents: Input contours. + + Method for the determination of the distances. Default: "geometric" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Number of points at the beginning and the end of the contours to be ignored for the computation of distances. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis in radian. + Length of the larger half axis. + Length of the smaller half axis. + Minimum distance. + Maximum distance. + Mean distance. + Standard deviation of the distance. + + + + Compute the distance of contours to an ellipse. + Instance represents: Input contours. + + Method for the determination of the distances. Default: "geometric" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Number of points at the beginning and the end of the contours to be ignored for the computation of distances. Default: 0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis in radian. + Length of the larger half axis. + Length of the smaller half axis. + Minimum distance. + Maximum distance. + Mean distance. + Standard deviation of the distance. + + + + Approximate XLD contours by ellipses or elliptic arcs. + Instance represents: Input contours. + + Algorithm for the fitting of ellipses. Default: "fitzgibbon" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as 'closed'. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Number of circular segments used for the Voss approach. Default: 200 + Maximum number of iterations for the robust weighted fitting. Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for '*huber' and 2.0 for '*tukey'). Default: 2.0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Angle of the start point [rad]. + Angle of the end point [rad]. + point order along the boundary. + + + + Approximate XLD contours by ellipses or elliptic arcs. + Instance represents: Input contours. + + Algorithm for the fitting of ellipses. Default: "fitzgibbon" + Maximum number of contour points used for the computation (-1 for all points). Default: -1 + Maximum distance between the end points of a contour to be considered as 'closed'. Default: 0.0 + Number of points at the beginning and at the end of the contours to be ignored for the fitting. Default: 0 + Number of circular segments used for the Voss approach. Default: 200 + Maximum number of iterations for the robust weighted fitting. Default: 3 + Clipping factor for the elimination of outliers (typical: 1.0 for '*huber' and 2.0 for '*tukey'). Default: 2.0 + Row coordinate of the center of the ellipse. + Column coordinate of the center of the ellipse. + Orientation of the main axis [rad]. + Length of the larger half axis. + Length of the smaller half axis. + Angle of the start point [rad]. + Angle of the end point [rad]. + point order along the boundary. + + + + Create XLD contours corresponding to circles or circular arcs. + Modified instance represents: Resulting contours. + + Row coordinate of the center of the circles or circular arcs. Default: 200.0 + Column coordinate of the center of the circles or circular arcs. Default: 200.0 + Radius of the circles or circular arcs. Default: 100.0 + Angle of the start points of the circles or circular arcs [rad]. Default: 0.0 + Angle of the end points of the circles or circular arcs [rad]. Default: 6.28318 + Point order along the circles or circular arcs. Default: "positive" + Distance between neighboring contour points. Default: 1.0 + + + + Create XLD contours corresponding to circles or circular arcs. + Modified instance represents: Resulting contours. + + Row coordinate of the center of the circles or circular arcs. Default: 200.0 + Column coordinate of the center of the circles or circular arcs. Default: 200.0 + Radius of the circles or circular arcs. Default: 100.0 + Angle of the start points of the circles or circular arcs [rad]. Default: 0.0 + Angle of the end points of the circles or circular arcs [rad]. Default: 6.28318 + Point order along the circles or circular arcs. Default: "positive" + Distance between neighboring contour points. Default: 1.0 + + + + Create an XLD contour that corresponds to an elliptic arc. + Modified instance represents: Resulting contour. + + Row coordinate of the center of the ellipse. Default: 200.0 + Column coordinate of the center of the ellipse. Default: 200.0 + Orientation of the main axis [rad]. Default: 0.0 + Length of the larger half axis. Default: 100.0 + Length of the smaller half axis. Default: 50.0 + Angle of the start point on the smallest surrounding circle [rad]. Default: 0.0 + Angle of the end point on the smallest surrounding circle [rad]. Default: 6.28318 + point order along the boundary. Default: "positive" + Resolution: Maximum distance between neighboring contour points. Default: 1.5 + + + + Create an XLD contour that corresponds to an elliptic arc. + Modified instance represents: Resulting contour. + + Row coordinate of the center of the ellipse. Default: 200.0 + Column coordinate of the center of the ellipse. Default: 200.0 + Orientation of the main axis [rad]. Default: 0.0 + Length of the larger half axis. Default: 100.0 + Length of the smaller half axis. Default: 50.0 + Angle of the start point on the smallest surrounding circle [rad]. Default: 0.0 + Angle of the end point on the smallest surrounding circle [rad]. Default: 6.28318 + point order along the boundary. Default: "positive" + Resolution: Maximum distance between neighboring contour points. Default: 1.5 + + + + Add noise to XLD contours. + Instance represents: Original contours. + + Number of points used to calculate the regression line. Default: 5 + Maximum amplitude of the added noise (equally distributed in [-Amp,Amp]). Default: 1.0 + Noisy contours. + + + + Approximate XLD contours by polygons. + Instance represents: Contours to be approximated. + + Type of approximation. Default: "ramer" + Threshold for the approximation. Default: 2.0 + Approximating polygons. + + + + Approximate XLD contours by polygons. + Instance represents: Contours to be approximated. + + Type of approximation. Default: "ramer" + Threshold for the approximation. Default: 2.0 + Approximating polygons. + + + + Apply a projective transformation to an XLD contour. + Instance represents: Input contours. + + Homogeneous projective transformation matrix. + Output contours. + + + + Apply an arbitrary affine 2D transformation to XLD contours. + Instance represents: Input XLD contours. + + Input transformation matrix. + Transformed XLD contours. + + + + Close an XLD contour. + Instance represents: Contours to be closed. + + Closed contours. + + + + Clip the end points of an XLD contour. + Instance represents: Input contour + + Clipping mode. Default: "num_points" + Clipping length in unit pixels (Mode $=$ 'length') or number (Mode $=$ 'num_points') Default: 3 + Clipped contour + + + + Clip the end points of an XLD contour. + Instance represents: Input contour + + Clipping mode. Default: "num_points" + Clipping length in unit pixels (Mode $=$ 'length') or number (Mode $=$ 'num_points') Default: 3 + Clipped contour + + + + Clip an XLD contour. + Instance represents: Contours to be clipped. + + Row coordinate of the upper left corner of the clip rectangle. Default: 0 + Column coordinate of the upper left corner of the clip rectangle. Default: 0 + Row coordinate of the lower right corner of the clip rectangle. Default: 512 + Column coordinate of the lower right corner of the clip rectangle. Default: 512 + Clipped contours. + + + + Select XLD contours with a local maximum of gray values. + Instance represents: XLD contours to be examined. + + Corresponding gray value image. + Minimum percentage of maximum points. Default: 70 + Minimum amount by which the gray value at the maximum must be larger than in the profile. Default: 15 + Maximum width of profile used to check for maxima. Default: 4 + Selected contours. + + + + Select XLD contours with a local maximum of gray values. + Instance represents: XLD contours to be examined. + + Corresponding gray value image. + Minimum percentage of maximum points. Default: 70 + Minimum amount by which the gray value at the maximum must be larger than in the profile. Default: 15 + Maximum width of profile used to check for maxima. Default: 4 + Selected contours. + + + + Compute the union of neighboring straight contours that have a similar distance from a given line. + Instance represents: Input XLD contours. + + Output XLD contours. + y coordinate of the starting point of the reference line. Default: 0 + x coordinate of the starting point of the reference line. Default: 0 + y coordinate of the endpoint of the reference line. Default: 0 + x coordinate of the endpoint of the reference line. Default: 0 + Maximum distance. Default: 1 + Maximum Width between two minimas. Default: 1 + Size of Smoothfilter Default: 1 + Output Values of Histogram. + Output XLD contours. + + + + Compute the union of neighboring straight contours that have a similar direction. + Instance represents: Input XLD contours. + + Maximum distance of the contours' endpoints. Default: 5.0 + Maximum difference in direction. Default: 0.5 + Weighting factor for the two selection criteria. Default: 50.0 + Should parallel contours be taken into account? Default: "noparallel" + Number of iterations or 'maximum'. Default: "maximum" + Output XLD contours. + + + + Compute the union of neighboring straight contours that have a similar direction. + Instance represents: Input XLD contours. + + Maximum distance of the contours' endpoints. Default: 5.0 + Maximum difference in direction. Default: 0.5 + Weighting factor for the two selection criteria. Default: 50.0 + Should parallel contours be taken into account? Default: "noparallel" + Number of iterations or 'maximum'. Default: "maximum" + Output XLD contours. + + + + Compute the union of collinear contours (operator with extended functionality). + Instance represents: Input XLD contours. + + Maximum distance of the contours' end points in the direction of the reference regression line. Default: 10.0 + Maximum distance of the contours' end points in the direction of the reference regression line in relation to the length of the contour which is to be elongated. Default: 1.0 + Maximum distance of the contour from the reference regression line (i.e., perpendicular to the line). Default: 2.0 + Maximum angle difference between the two contours. Default: 0.1 + Maximum range of the overlap. Default: 0.0 + Maximum regression error of the resulting contours (NOT USED). Default: -1.0 + Threshold for reducing the total costs of unification. Default: 1.0 + Influence of the distance in the line direction on the total costs. Default: 1.0 + Influence of the distance from the regression line on the total costs. Default: 1.0 + Influence of the angle difference on the total costs. Default: 1.0 + Influence of the line disturbance by the linking segment (overlap and angle difference) on the total costs. Default: 1.0 + Influence of the regression error on the total costs (NOT USED). Default: 0.0 + Mode describing the treatment of the contours' attributes Default: "attr_keep" + Output XLD contours. + + + + Unite approximately collinear contours. + Instance represents: Input XLD contours. + + Maximum length of the gap between two contours, measured along the regression line of the reference contour. Default: 10.0 + Maximum length of the gap between two contours, relative to the length of the reference contour, both measured along the regression line of the reference contour. Default: 1.0 + Maximum distance of the second contour from the regression line of the reference contour. Default: 2.0 + Maximum angle between the regression lines of two contours. Default: 0.1 + Mode that defines the treatment of contour attributes, i.e., if the contour attributes are kept or discarded. Default: "attr_keep" + Output XLD contours. + + + + Compute the union of contours whose end points are close together. + Instance represents: Input XLD contours. + + Maximum distance of the contours' end points. Default: 10.0 + Maximum distance of the contours' end points in relation to the length of the longer contour. Default: 1.0 + Mode describing the treatment of the contours' attributes. Default: "attr_keep" + Output XLD contours. + + + + Select XLD contours according to several features. + Instance represents: Input XLD contours. + + Feature to select contours with. Default: "contour_length" + Lower threshold. Default: 0.5 + Upper threshold. Default: 200.0 + Lower threshold. Default: -0.5 + Upper threshold. Default: 0.5 + Output XLD contours. + + + + Return XLD contour parameters. + Instance represents: Input XLD contours. + + X-coordinate of the normal vector of the regression line. + Y-coordinate of the normal vector of the regression line. + Distance of the regression line from the origin. + X-coordinate of the projection of the start point of the contour onto the regression line. + Y-coordinate of the projection of the start point of the contour onto the regression line. + X-coordinate of the projection of the end point of the contour onto the regression line. + Y-coordinate of the projection of the end point of the contour onto the regression line. + Mean distance of the contour points from the regression line. + Standard deviation of the distances from the regression line. + Number of contour points. + + + + Calculate the parameters of a regression line to an XLD contour. + Instance represents: Input XLD contours. + + Type of outlier treatment. Default: "no" + Number of iterations for the outlier treatment. Default: 1 + Resulting XLD contours. + + + + Calculate the direction of an XLD contour for each contour point. + Instance represents: Input contour. + + Return type of the angles. Default: "abs" + Method for computing the angles. Default: "range" + Number of points to take into account. Default: 3 + Direction of the tangent to the contour points. + + + + Smooth an XLD contour. + Instance represents: Contour to be smoothed. + + Number of points used to calculate the regression line. Default: 5 + Smoothed contour. + + + + Return the number of points in an XLD contour. + Instance represents: Input XLD contour. + + Number of contour points. + + + + Return the names of the defined global attributes of an XLD contour. + Instance represents: Input contour. + + List of the defined global contour attributes. + + + + Return global attributes values of an XLD contour. + Instance represents: Input XLD contour. + + Name of the attribute. Default: "regr_norm_row" + Attribute values. + + + + Return global attributes values of an XLD contour. + Instance represents: Input XLD contour. + + Name of the attribute. Default: "regr_norm_row" + Attribute values. + + + + Return the names of the defined attributes of an XLD contour. + Instance represents: Input contour. + + List of the defined contour attributes. + + + + Return point attribute values of an XLD contour. + Instance represents: Input XLD contour. + + Name of the attribute. Default: "angle" + Attribute values. + + + + Return the coordinates of an XLD contour. + Instance represents: Input XLD contour. + + Row coordinate of the contour's points. + Column coordinate of the contour's points. + + + + Generate an XLD contour with rounded corners from a polygon (given as tuples). + Modified instance represents: Resulting contour. + + Row coordinates of the polygon. Default: [20,80,80,20,20] + Column coordinates of the polygon. Default: [20,20,80,80,20] + Radii of the rounded corners. Default: [20,20,20,20,20] + Distance of the samples. Default: 1.0 + + + + Generate an XLD contour with rounded corners from a polygon (given as tuples). + Modified instance represents: Resulting contour. + + Row coordinates of the polygon. Default: [20,80,80,20,20] + Column coordinates of the polygon. Default: [20,20,80,80,20] + Radii of the rounded corners. Default: [20,20,20,20,20] + Distance of the samples. Default: 1.0 + + + + Generate an XLD contour from a polygon (given as tuples). + Modified instance represents: Resulting contour. + + Row coordinates of the polygon. Default: [0,1,2,2,2] + Column coordinates of the polygon. Default: [0,0,0,1,2] + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Create a region from an XLD contour. + Instance represents: Input contour(s). + + Fill mode of the region(s). Default: "filled" + Created region(s). + + + + Prepare an anisotropically scaled shape model for matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + + Prepare an anisotropically scaled shape model for matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in the row direction. Default: 0.9 + Maximum scale of the pattern in the row direction. Default: 1.1 + Scale step length (resolution) in the row direction. Default: "auto" + Minimum scale of the pattern in the column direction. Default: 0.9 + Maximum scale of the pattern in the column direction. Default: 1.1 + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + + Prepare an isotropically scaled shape model for matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + + Prepare an isotropically scaled shape model for matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern. Default: 0.9 + Maximum scale of the pattern. Default: 1.1 + Scale step length (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + + Prepare a shape model for matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + + Prepare a shape model for matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + Smallest rotation of the pattern. Default: -0.39 + Extent of the rotation angles. Default: 0.79 + Step length of the angles (resolution). Default: "auto" + Kind of optimization and optionally method used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + Handle of the model. + + + + Prepare a deformable model for local deformable matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + + Prepare a deformable model for local deformable matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + The parameters of the internal orientation of the camera. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Prepare a deformable model for planar calibrated matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + The parameters of the internal orientation of the camera. + The reference pose of the object. + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameter. Default: [] + Handle of the model. + + + + Prepare a deformable model for planar uncalibrated matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + + Prepare a deformable model for planar uncalibrated matching from XLD contours. + Instance represents: Input contours that will be used to create the model. + + Maximum number of pyramid levels. Default: "auto" + This parameter is not used. Default: [] + This parameter is not used. Default: [] + Step length of the angles (resolution). Default: "auto" + Minimum scale of the pattern in row direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in row direction. Default: "auto" + Minimum scale of the pattern in column direction. Default: 1.0 + This parameter is not used. Default: [] + Scale step length (resolution) in the column direction. Default: "auto" + Kind of optimization used for generating the model. Default: "auto" + Match metric. Default: "ignore_local_polarity" + Minimum contrast of the objects in the search images. Default: 5 + The generic parameter names. Default: [] + Values of the generic parameters. Default: [] + Handle of the model. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Interactive modification of a NURBS curve using interpolation. + Modified instance represents: Contour of the modified curve. + + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 5. Default: 3 + Row coordinates of the input interpolation points. + Column coordinates of the input interpolation points. + Input tangents. + Row coordinates of the control polygon. + Column coordinates of the control polygon. + Knot vector. + Row coordinates of the points specified by the user. + Column coordinates of the points specified by the user. + Tangents specified by the user. + + + + Interactive drawing of a NURBS curve using interpolation. + Modified instance represents: Contour of the curve. + + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 5. Default: 3 + Row coordinates of the control polygon. + Column coordinates of the control polygon. + Knot vector. + Row coordinates of the points specified by the user. + Column coordinates of the points specified by the user. + Tangents specified by the user. + + + + Interactive modification of a NURBS curve. + Modified instance represents: Contour of the modified curve. + + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 25. Default: 3 + Row coordinates of the input control polygon. + Column coordinates of the input control polygon. + Input weight vector. + Row coordinates of the control polygon. + Columns coordinates of the control polygon. + Weight vector. + + + + Interactive drawing of a NURBS curve. + Modified instance represents: Contour approximating the NURBS curve. + + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + The degree $p$ of the NURBS curve. Reasonable values are 3 to 25. Default: 3 + Row coordinates of the control polygon. + Columns coordinates of the control polygon. + Weight vector. + + + + Interactive modification of a contour. + Instance represents: Input contour. + + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + Enable editing? Default: "true" + Modified contour. + + + + Interactive drawing of a contour. + Modified instance represents: Modified contour. + + Window handle. + Enable rotation? Default: "true" + Enable moving? Default: "true" + Enable scaling? Default: "true" + Keep ratio while scaling? Default: "true" + + + + Calculate the pointwise distance from one contour to another. + Instance represents: Contours for whose points the distances are calculated. + + Contours to which the distances are calculated to. + Compute the distance to points ('point_to_point') or to entire segments ('point_to_segment'). Default: "point_to_point" + Copy of ContourFrom containing the distances as an attribute. + + + + Calculate the minimum distance between two contours. + Instance represents: First input contour. + + Second input contour. + Distance calculation mode. Default: "fast_point_to_segment" + Minimum distance between the two contours. + + + + Calculate the distance between two contours. + Instance represents: First input contour. + + Second input contour. + Distance calculation mode. Default: "point_to_point" + Minimum distance between both contours. + Maximum distance between both contours. + + + + Calculate the distance between two contours. + Instance represents: First input contour. + + Second input contour. + Distance calculation mode. Default: "point_to_point" + Minimum distance between both contours. + Maximum distance between both contours. + + + + Calculate the distance between a line segment and one contour. + Instance represents: Input contour. + + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the line segment and the contour. + Maximum distance between the line segment and the contour. + + + + Calculate the distance between a line segment and one contour. + Instance represents: Input contour. + + Row coordinate of the first point of the line segment. + Column coordinate of the first point of the line segment. + Row coordinate of the second point of the line segment. + Column coordinate of the second point of the line segment. + Minimum distance between the line segment and the contour. + Maximum distance between the line segment and the contour. + + + + Calculate the distance between a line and one contour. + Instance represents: Input contour. + + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line and the contour. + Maximum distance between the line and the contour. + + + + Calculate the distance between a line and one contour. + Instance represents: Input contour. + + Row coordinate of the first point of the line. + Column coordinate of the first point of the line. + Row coordinate of the second point of the line. + Column coordinate of the second point of the line. + Minimum distance between the line and the contour. + Maximum distance between the line and the contour. + + + + Calculate the distance between a point and one contour. + Instance represents: Input contour. + + Row coordinate of the point. + Column coordinate of the point. + Minimum distance between the point and the contour. + Maximum distance between the point and the contour. + + + + Calculate the distance between a point and one contour. + Instance represents: Input contour. + + Row coordinate of the point. + Column coordinate of the point. + Minimum distance between the point and the contour. + Maximum distance between the point and the contour. + + + + Read XLD contours from a DXF file. + Modified instance represents: Read XLD contours. + + Name of the DXF file. + Names of the generic parameters that can be adjusted for the DXF input. Default: [] + Values of the generic parameters that can be adjusted for the DXF input. Default: [] + Status information. + + + + Read XLD contours from a DXF file. + Modified instance represents: Read XLD contours. + + Name of the DXF file. + Names of the generic parameters that can be adjusted for the DXF input. Default: [] + Values of the generic parameters that can be adjusted for the DXF input. Default: [] + Status information. + + + + Write XLD contours to a file in DXF format. + Instance represents: XLD contours to be written. + + Name of the DXF file. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Transform the shape of contours or polygons. + Instance represents: Contours or polygons to be transformed. + + Type of transformation. Default: "convex" + Transformed contours respectively polygons. + + + + Calibrate the radial distortion. + Instance represents: Contours that are available for the calibration. + + Width of the images from which the contours were extracted. Default: 640 + Height of the images from which the contours were extracted. Default: 480 + Threshold for the classification of outliers. Default: 0.05 + Seed value for the random number generator. Default: 42 + Determines the distortion model. Default: "division" + Determines how the distortion center will be estimated. Default: "variable" + Controls the deviation of the distortion center from the image center; larger values allow larger deviations from the image center; 0 switches the penalty term off. Default: 0.0 + Internal camera parameters. + Contours that were used for the calibration + + + + Transform an XLD contour into the plane z=0 of a world coordinate system. + Instance represents: Input XLD contours to be transformed in image coordinates. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Scale or dimension Default: "m" + Transformed XLD contours in world coordinates. + + + + Transform an XLD contour into the plane z=0 of a world coordinate system. + Instance represents: Input XLD contours to be transformed in image coordinates. + + Internal camera parameters. + 3D pose of the world coordinate system in camera coordinates. + Scale or dimension Default: "m" + Transformed XLD contours in world coordinates. + + + + Change the radial distortion of contours. + Instance represents: Original contours. + + Internal camera parameter for Contours. + Internal camera parameter for ContoursRectified. + Resulting contours with modified radial distortion. + + + + Calculate the minimum distance between two contours and the points used for the calculation. + Instance represents: First input contour. + + Second input contour. + Distance calculation mode. Default: "fast_point_to_segment" + Row coordinate of the point on Contour1. + Column coordinate of the point on Contour1. + Row coordinate of the point on Contour2. + Column coordinate of the point on Contour2. + Minimum distance between the two contours. + + + + Calculate the minimum distance between two contours and the points used for the calculation. + Instance represents: First input contour. + + Second input contour. + Distance calculation mode. Default: "fast_point_to_segment" + Row coordinate of the point on Contour1. + Column coordinate of the point on Contour1. + Row coordinate of the point on Contour2. + Column coordinate of the point on Contour2. + Minimum distance between the two contours. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + Represents an instance of a XLD distance transformation. + + + + Read an XLD distance transform from a file. + Modified instance represents: Handle of the XLD distance transform. + + Name of the file. + + + + Create the XLD distance transform. + Modified instance represents: Handle of the XLD distance transform. + + Reference contour(s). + Compute the distance to points ('point_to_point') or entire segments ('point_to_segment'). Default: "point_to_point" + Maximum distance of interest. Default: 20.0 + + + + Create the XLD distance transform. + Modified instance represents: Handle of the XLD distance transform. + + Reference contour(s). + Compute the distance to points ('point_to_point') or entire segments ('point_to_segment'). Default: "point_to_point" + Maximum distance of interest. Default: 20.0 + + + Serialize object to binary stream in HALCON format + + + Deserialize object from binary stream in HALCON format + + + + Clear a XLD distance transform. + Instance represents: Handle of the XLD distance transform. + + + + + Determine the pointwise distance of two contours using an XLD distance transform. + Instance represents: Handle of the XLD distance transform of the reference contour. + + Contour(s) for whose points the distances are calculated. + Copy of Contour containing the distances as an attribute. + + + + Read an XLD distance transform from a file. + Modified instance represents: Handle of the XLD distance transform. + + Name of the file. + + + + Deserialize an XLD distance transform. + Modified instance represents: Handle of the deserialized XLD distance transform. + + Handle of the serialized XLD distance transform. + + + + Serialize an XLD distance transform. + Instance represents: Handle of the XLD distance transform. + + Handle of the serialized XLD distance transform. + + + + Write an XLD distance transform into a file. + Instance represents: Handle of the XLD distance transform. + + Name of the file. + + + + Set new parameters for an XLD distance transform. + Instance represents: Handle of the XLD distance transform. + + Names of the generic parameters. Default: "mode" + Values of the generic parameters. Default: "point_to_point" + + + + Set new parameters for an XLD distance transform. + Instance represents: Handle of the XLD distance transform. + + Names of the generic parameters. Default: "mode" + Values of the generic parameters. Default: "point_to_point" + + + + Get the parameters used to build an XLD distance transform. + Instance represents: Handle of the XLD distance transform. + + Names of the generic parameters. Default: "mode" + Values of the generic parameters. + + + + Get the parameters used to build an XLD distance transform. + Instance represents: Handle of the XLD distance transform. + + Names of the generic parameters. Default: "mode" + Values of the generic parameters. + + + + Get the reference contour used to build the XLD distance transform. + Instance represents: Handle of the XLD distance transform. + + Reference contour. + + + + Create the XLD distance transform. + Modified instance represents: Handle of the XLD distance transform. + + Reference contour(s). + Compute the distance to points ('point_to_point') or entire segments ('point_to_segment'). Default: "point_to_point" + Maximum distance of interest. Default: 20.0 + + + + Create the XLD distance transform. + Modified instance represents: Handle of the XLD distance transform. + + Reference contour(s). + Compute the distance to points ('point_to_point') or entire segments ('point_to_segment'). Default: "point_to_point" + Maximum distance of interest. Default: 20.0 + + + Represents an instance of an XLD extended parallel object(-array). + + + Create an uninitialized iconic object + + + + Join modified XLD parallels lying on the same polygon. + Instance represents: Extended XLD parallels. + + Maximally extended parallels. + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Transform the shape of contours or polygons. + Instance represents: Contours or polygons to be transformed. + + Type of transformation. Default: "convex" + Transformed contours respectively polygons. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + Represents an instance of an XLD modified parallel object(-array). + + + Create an uninitialized iconic object + + + + Combine road hypotheses from two resolution levels. + Instance represents: Modified parallels obtained from EdgePolygons. + + XLD polygons to be examined. + Extended parallels obtained from EdgePolygons. + Road-center-line polygons to be examined. + Maximum angle between two parallel line segments. Default: 0.523598775598 + Maximum angle between two collinear line segments. Default: 0.261799387799 + Maximum distance between two parallel line segments. Default: 40 + Maximum distance between two collinear line segments. Default: 40 + Roadsides found. + + + + Combine road hypotheses from two resolution levels. + Instance represents: Modified parallels obtained from EdgePolygons. + + XLD polygons to be examined. + Extended parallels obtained from EdgePolygons. + Road-center-line polygons to be examined. + Maximum angle between two parallel line segments. Default: 0.523598775598 + Maximum angle between two collinear line segments. Default: 0.261799387799 + Maximum distance between two parallel line segments. Default: 40 + Maximum distance between two collinear line segments. Default: 40 + Roadsides found. + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Transform the shape of contours or polygons. + Instance represents: Contours or polygons to be transformed. + + Type of transformation. Default: "convex" + Transformed contours respectively polygons. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + Represents an instance of an XLD parallel object(-array). + + + Create an uninitialized iconic object + + + + Extract parallel XLD polygons enclosing a homogeneous area. + Instance represents: Input XLD parallels. + + Corresponding gray value image. + Extended XLD parallels. + Minimum quality factor (measure of parallelism). Default: 0.4 + Minimum mean gray value. Default: 160 + Maximum mean gray value. Default: 220 + Maximum allowed standard deviation. Default: 10.0 + Modified XLD parallels. + + + + Extract parallel XLD polygons enclosing a homogeneous area. + Instance represents: Input XLD parallels. + + Corresponding gray value image. + Extended XLD parallels. + Minimum quality factor (measure of parallelism). Default: 0.4 + Minimum mean gray value. Default: 160 + Maximum mean gray value. Default: 220 + Maximum allowed standard deviation. Default: 10.0 + Modified XLD parallels. + + + + Return information about the gray values of the area enclosed by XLD parallels. + Instance represents: Input XLD Parallels. + + Corresponding gray value image. + Minimum quality factor. + Maximum quality factor. + Minimum mean gray value. + Maximum mean gray value. + Minimum standard deviation. + Maximum standard deviation. + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Transform the shape of contours or polygons. + Instance represents: Contours or polygons to be transformed. + + Type of transformation. Default: "convex" + Transformed contours respectively polygons. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + Represents an instance of an XLD polygon object(-array). + + + Create an uninitialized iconic object + + + + Compute the union of closed polygons. + Instance represents: Polygons enclosing the first region. + + Polygons enclosing the second region. + Polygons enclosing the union. + + + + Compute the symmetric difference of closed polygons. + Instance represents: Polygons enclosing the first region. + + Polygons enclosing the second region. + Polygons enclosing the symmetric difference. + + + + Compute the difference of closed polygons. + Instance represents: Polygons enclosing the region from which the second region is subtracted. + + Polygons enclosing the region that is subtracted from the first region. + Polygons enclosing the difference. + + + + Intersect closed polygons. + Instance represents: Polygons enclosing the first region to be intersected. + + Polygons enclosing the second region to be intersected. + Polygons enclosing the intersection. + + + + Read XLD polygons from a file in ARC/INFO generate format. + Modified instance represents: Read XLD polygons. + + Name of the ARC/INFO file. + + + + Write XLD polygons to a file in ARC/INFO generate format. + Instance represents: XLD polygons to be written. + + Name of the ARC/INFO file. + + + + Combine road hypotheses from two resolution levels. + Instance represents: XLD polygons to be examined. + + Modified parallels obtained from EdgePolygons. + Extended parallels obtained from EdgePolygons. + Road-center-line polygons to be examined. + Maximum angle between two parallel line segments. Default: 0.523598775598 + Maximum angle between two collinear line segments. Default: 0.261799387799 + Maximum distance between two parallel line segments. Default: 40 + Maximum distance between two collinear line segments. Default: 40 + Roadsides found. + + + + Combine road hypotheses from two resolution levels. + Instance represents: XLD polygons to be examined. + + Modified parallels obtained from EdgePolygons. + Extended parallels obtained from EdgePolygons. + Road-center-line polygons to be examined. + Maximum angle between two parallel line segments. Default: 0.523598775598 + Maximum angle between two collinear line segments. Default: 0.261799387799 + Maximum distance between two parallel line segments. Default: 40 + Maximum distance between two collinear line segments. Default: 40 + Roadsides found. + + + + Extract parallel XLD polygons. + Instance represents: Input polygons. + + Minimum length of the individual polygon segments. Default: 10.0 + Maximum distance between the polygon segments. Default: 30.0 + Maximum angle difference of the polygon segments. Default: 0.15 + Should adjacent parallel relations be merged? Default: "true" + Parallel polygons. + + + + Extract parallel XLD polygons. + Instance represents: Input polygons. + + Minimum length of the individual polygon segments. Default: 10.0 + Maximum distance between the polygon segments. Default: 30.0 + Maximum angle difference of the polygon segments. Default: 0.15 + Should adjacent parallel relations be merged? Default: "true" + Parallel polygons. + + + + Return an XLD polygon's data (as lines). + Instance represents: Input XLD polygons. + + Row coordinates of the lines' start points. + Column coordinates of the lines' start points. + Column coordinates of the lines' end points. + Column coordinates of the lines' end points. + Lengths of the line segments. + Angles of the line segments. + + + + Return an XLD polygon's data. + Instance represents: Input XLD polygon. + + Row coordinates of the polygons' points. + Column coordinates of the polygons' points. + Lengths of the line segments. + Angles of the line segments. + + + + Split XLD contours at dominant points. + Instance represents: Polygons for which the corresponding contours are to be split. + + Mode for the splitting of the contours. Default: "polygon" + Weight for the sensitiveness. Default: 1 + Width of the smoothing mask. Default: 5 + Split contours. + + + + Apply an arbitrary affine transformation to XLD polygons. + Instance represents: Input XLD polygons. + + Input transformation matrix. + Transformed XLD polygons. + + + + Calculate the difference of two object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Objects from Objects that are not part of ObjectsSub. + + + + Copy an iconic object in the HALCON database. + Instance represents: Objects to be copied. + + Starting index of the objects to be copied. Default: 1 + Number of objects to be copied or -1. Default: 1 + Copied objects. + + + + Concatenate two iconic object tuples. + Instance represents: Object tuple 1. + + Object tuple 2. + Concatenated objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Select objects from an object tuple. + Instance represents: Input objects. + + Indices of the objects to be selected. Default: 1 + Selected objects. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare iconic objects regarding equality. + Instance represents: Reference objects. + + Test objects. + Maximum allowed difference between two gray values or coordinates etc. Default: 0.0 + Boolean result value. + + + + Compare image objects regarding equality. + Instance represents: Test objects. + + Comparative objects. + boolean result value. + + + + Create a region from an XLD polygon. + Instance represents: Input polygon(s). + + Fill mode of the region(s). Default: "filled" + Created region(s). + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Compute the mapping between the distorted image and the rectified image based upon the points of a regular grid. + Instance represents: Input contours. + + Input image. + Output contours. + Distance of the grid points in the rectified image. + Rotation to be applied to the point grid. Default: "auto" + Row coordinates of the grid points. + Column coordinates of the grid points. + Type of mapping. Default: "bilinear" + Image containing the mapping data. + + + + Read XLD polygons from a DXF file. + Modified instance represents: Read XLD polygons. + + Name of the DXF file. + Names of the generic parameters that can be adjusted for the DXF input. Default: [] + Values of the generic parameters that can be adjusted for the DXF input. Default: [] + Status information. + + + + Read XLD polygons from a DXF file. + Modified instance represents: Read XLD polygons. + + Name of the DXF file. + Names of the generic parameters that can be adjusted for the DXF input. Default: [] + Values of the generic parameters that can be adjusted for the DXF input. Default: [] + Status information. + + + + Write XLD polygons to a file in DXF format. + Instance represents: XLD polygons to be written. + + Name of the DXF file. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Choose all contours or polygons containing a given point. + Instance represents: Contours or polygons to be examined. + + Line coordinate of the test point. Default: 100.0 + Column coordinate of the test point. Default: 100.0 + All contours or polygons containing the test point. + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Select contours or polygons using shape features. + Instance represents: Contours or polygons to be examined. + + Shape features to be checked. Default: "area" + Operation type between the individual features. Default: "and" + Lower limits of the features or 'min'. Default: 150.0 + Upper limits of the features or 'max'. Default: 99999.0 + Contours or polygons fulfilling the condition(s). + + + + Transform the shape of contours or polygons. + Instance represents: Contours or polygons to be transformed. + + Type of transformation. Default: "convex" + Transformed contours respectively polygons. + + + + Insert objects into an iconic object tuple. + Instance represents: Input object tuple. + + Object tuple to insert. + Index to insert objects. + Extended object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Remove objects from an iconic object tuple. + Instance represents: Input object tuple. + + Indices of the objects to be removed. + Remaining object tuple. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + + Replaces one or more elements of an iconic object tuple. + Instance represents: Iconic Input Object. + + Element(s) to replace. + Index/Indices of elements to be replaced. + Tuple with replaced elements. + + + Returns the iconic object(s) at the specified index + + + + This class manages all communication with the HALCON library + + + + True when running on a 64-bit platform. + + + True when running on a Windows platform. + + + + Setting DoLicenseError(false) disables the license error dialog and + application termination. Instead, an exception is raised. + + + + + Setting HLIUseSpinLock(false) before calling the first operator + will cause HALCON to use mutex synchronization instead of spin locks. + This is usually less efficient but may prevent problems if a large + number of threads with differing priorities is used. + + + + + Setting HLIStartUpThreadPool(false) before calling the first + operator will disable the thread pool of HALCON + + + + + Aborts a draw_* operator as a right-click would (Windows only) + + + + + Returns whereas HALCON character encoding is set to UTF8 or locale. + + + + + Unpin the tuple's data, but first check if tuple is null. Notice that + PinTuple happens in HTuple as side effect of store. + + + + Releases the resources used by this tool object + + + + This exception is thrown whenever an error occurs during tuple access. + + + + + Enumeration of tuple types, as returned by HTuple.Type + + + + Tuple is empty + + + Tuple is represented by an array of System.Int32 + + + Tuple is represented by an array of System.Int64 + + + Tuple is represented by an array of System.Double + + + Tuple is represented by an array of strings + + + Tuple is represented by an array of HHandle values + + + Tuple is represented by an object array of boxed values. + + + + Get the value of this element as a 32-bit integer. + The element must represent integer data (32-bit or 64-bit). + + + + + Get the value of these elements as a 32-bit integer. + The elements must represent integer data (32-bit or 64-bit). + + + + + Get the value of this element as a 64-bit integer. + The elements must represent integer data (32-bit or 64-bit). + + + + + Get the value of these elements as a 64-bit integer. + The elements must represent integer data (32-bit or 64-bit). + + + + + Get the value of this element as a double. + The element must represent numeric data. + + + + + Get the value of these elements as doubles. + The elements must represent numeric data. + + + + + Get the value of this element as a string. + The element must represent a string value. + + + + + Get the value of these elements as strings. + The elements must represent string values. + + + + + Get the value of this element as a handle. + The element must represent a handle value. + + + + + Get the value of these elements as strings. + The elements must represent string values. + + + + + Get the value of this element as an object. + The element may be of any type. Numeric data will be boxed. + + + + + Get the value of these elements as objects. + The elements may be of any type. Numeric data will be boxed. + + + + + Get the value of this element as a float. + The element must represent numeric data. + + + + + Get the value of these elements as a float. + The elements must represent numeric data. + + + + + Get the value of this element as an IntPtr. + The element must represent an integer matching IntPtr.Size. + + + + + Get the value of these elements as IntPtrs. + The elements must represent integers matching IntPtr.Size. + + + + Get the data type of this element + + + Get the length of this element + + + + This exception is thrown whenever an error occurs during + vector operations + + + + + The HALCON vector classes are intended to support the export of + HDevelop code that uses vectors, and to pass vector arguments to + procedures that use vector parameters. They are not intended to be + used as generic container classes in user code. For this purpose, + consider using standard container classes such as List<T>. + + Also note HVector is abstract, you can only create instances + of HTupleVector or HObjectVector. + + + + + Read access to subvector at specified index. In contrast + to the index operator, an exception will be raised if index + is out of range. A reference to the internal subvector is + returned and needs to be cloned for independent manipulation. + + + + + Returns true if vector has same dimension, lengths, and elements + + + + + Concatenate two vectors, creating new vector + + + + + Append vector to this vector + + + + + Insert vector at specified index + + + + + Remove element at specified index from this vector + + + + + Remove all elements from this vector + + + + + Clear vector and dispose elements (if necessary). When called + on vector with dimension > 0 the effect is identical to clear + + + + + Provides a simple string representation of the vector, + which is mainly useful for debug outputs. + + + + + Access to subvector at specified index. The vector will be + enlarged to accomodate index, even in read access. For read + access without enlargement use the member function At(index). + A reference to the internal subvector is returned and needs + to be cloned for independent manipulation. + + + + + The HALCON vector classes are intended to support the export of + HDevelop code that uses vectors, and to pass vector arguments to + procedures that use vector parameters. They are not intended to be + used as generic container classes in user code. For this purpose, + consider using standard container classes such as List<T>. + + + + + Create empty vector of specified dimension. In case of dimension + 0 a leaf vector for an empty tuple is created + + + + + Create leaf vector of dimension 0 for the specified tuple + + + + + Create 1-dimensional vector by splitting input tuple into + blocks of fixed size (except possibly for the last block). + This corresponds to convert_tuple_to_vector_1d in HDevelop. + + + + + Create copy of tuple vector + + + + + Read access to subvector at specified index. An exception + will be raised if index is out of range. The returned data + is a copy and may be stored safely. + + + + + Returns true if vector has same dimension, lengths, and elements + + + + + Concatenate two vectors, creating new vector + + + + + Append vector to this vector + + + + + Insert vector at specified index + + + + + Remove element at specified index from this vector + + + + + Remove all elements from this vector + + + + + Create an independent copy of this vector + + + + + Concatenates all tuples stored in the vector + + + + + Provides a simple string representation of the vector, + which is mainly useful for debug outputs. + + + + + Access to the tuple value for leaf vectors (dimension 0) + + + + + Access to subvector at specified index. The vector will be + enlarged to accomodate index, even in read access. The internal + reference is returned to allow modifications of vector state. For + read access, preferrably use the member function At(index). + + + + + The HALCON vector classes are intended to support the export of + HDevelop code that uses vectors, and to pass vector arguments to + procedures that use vector parameters. They are not intended to be + used as generic container classes in user code. For this purpose, + consider using standard container classes such as List<T>. + + + + + Create empty vector of specified dimension. In case of dimension + 0 a leaf vector for an empty object is created + + + + + Create leaf vector of dimension 0 for the specified object + + + + + Create copy of object vector + + + + + Read access to subvector at specified index. An exception + will be raised if index is out of range. The returned data + is a copy and may be stored safely. + + + + + Returns true if vector has same dimension, lengths, and elements + + + + + Concatenate two vectors, creating new vector + + + + + Append vector to this vector + + + + + Insert vector at specified index + + + + + Remove element at specified index from this vector + + + + + Remove all elements from this vector + + + + + Create an independent copy of this vector + + + + + Provides a simple string representation of the vector, + which is mainly useful for debug outputs. + + + + + Access to the object value for leaf vectors (dimension 0). + Ownership of object resides with object vector and it will + be disposed when the vector is disposed. Copy the object + to create an object that will survive a vector dispose. + When storing an object in the vector, it will be + copied automatically. + + + + + Access to subvector at specified index. The vector will be + enlarged to accomodate index, even in read access. The internal + reference is returned to allow modifications of vector state. For + read access, preferrably use the member function At(index). + + + + + Summary description for HalconWindowLayoutDialog. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Provides a HALCON window for your Windows Forms application + + + + + Required designer variable. + + + + + Clean up any resources being used. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Adapt ImagePart to show the full image. + + + + + + Size of the HALCON window in pixels. + Without border, this will be identical to the control size. + + + + + This rectangle specifies the image part to be displayed. + The method SetFullImagePart() will adapt this property to + show the full image. + + + + + Width of optional border in pixels + + + + + Color of optional border around window + + + + + Occurs after the HALCON window has been initialized + + + Under Mono/Linux, the HALCON window cannot be initialized + before the Form is visible. Therefore, accessing the window + in the event Load of the Form is not portable. + + + + + Occurs when the mouse is moved over the HALCON window. Note that + delta is meaningless here. + + + + + Occurs when a button is pressed over the HALCON window. Note that + delta is meaningless here. + + + + + Occurs when a button is released over the HALCON window. Note that + delta is meaningless here. + + + + + Occurs when the wheel is used over the HALCON window. Note that + button is meaningless here. + + + + + Provides data for the HMouseUp, HMouseDown, and HMouseMove events. + + + + Gets which mouse button was pressed. + + + + Gets the number of times the mouse button was pressed and released. + + + + Gets the column coordinate of a mouse click. + + + Gets the row coordinate of a mouse click. + + + + Gets a signed count of the number of detents the mouse wheel + has rotated. A detent is one notch of the mouse wheel. + + + + + Represents the method that will handle the HMouseDown, HMouseUp, + or HMouseMove event of a HWindowControl. + + + + + Represents the method that will handle the InitWindow event + of a HWindowControl + + + + + Adapt ImagePart to show the full image. If HKeepAspectRatio is on, + the contents of the HALCON window are rescaled while keeping the aspect + ratio. Otherwise, the HALCON window contents are rescaled to fill up + the HSmartWindowControl. + + + + + + Force the Window Control to be repainted in a thread safe manner. + + + + + + Real pain in the ass. In WinForms events do not bubble, as it is the case + for most frameworks. + This means, we need to hand code the event chain. + + + + + + + Redirect relevant events up to the containing Form. + + Reference to the containing Control. + + + + Clean up event processing. + + + + + + Utility method that converts HALCON images into System.Drawing.Image used to + display images in Window Controls. + + + + + + + In order to allow interaction with drawing objects and being able to + zoom and drag the contents of the window, we need a mechanism to let + the user decide what to do. Currently, if the user keeps the left + Shift key pressed, he will be able to interact with the drawing + objects. Otherwise, he works in the default modus. + + True if the user is currently pressing the left shift key. + + + + + Translates native encoding of mouse buttons to HALCON encoding + (see get_mposition). + + + + + + + Shifts the window contents by (dx, dy) pixels. + + + + + + + UserControls under Windows Forms do not support the mouse wheel event. + As a solution, the user can set his MouseWheel event in his form to + call this method. + Please notice that the Visual Studio Designer does not show this event. + The reason is that UserControls do not support this type of event. + Hence, you need to manually add it to the initialization code of your + Windows Form, and set it to call the HSmartWindowControl_MouseWheel + method of the HALCON Window Control. + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Occurs when the mouse is moved over the HALCON window. Note that + delta is meaningless here. + + + + + Occurs when a button is pressed over the HALCON window. Note that + delta is meaningless here. + + + + + Occurs when a button is released over the HALCON window. Note that + delta is meaningless here. + + + + + Occurs when a button is double-clicked over a HALCON window. Note + that delta is meaningless here. + + + + + Occurs when the wheel is used over a HALCON window while it has + focus. Note that button is meaningless here. + + + + + Occurs after the HALCON window has been initialized + + + + + Occurs when an internal error in the HSmartWindowControl happens. + + + + + Reliable way to check whether we are in designer mode. + + + + + Size of the HALCON window in pixels. + + + + + Initial part of the HALCON window. + + + + + In some situations (like a missing license in runtime), it can be the case that + internal exceptions are thrown, and the user has no way of capturing them. + This callback allows the user to react to such runtime errors. + + + + + + Modifier to manipulate drawing objects + + + + + Manipulate drawing objects without a modifier + + + + + Shift key must be pressed to modify drawing objects + + + + + Ctrl key must be pressed to modify drawing objects + + + + + Alt key must be pressed to modify drawing objects + + + + + Mouse wheel behavior + + + + + No effect on the contents + + + + + Moving the mouse wheel forward zooms in on the contents + + + + + Moving the mouse wheel backward zooms in on the contents + + + + diff --git a/ToolListRun/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ToolListRun/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..aa915607faac23c6d52767c07151a5d4783b9ea3 GIT binary patch literal 7502 zcmeHMds7=X5Vv_;FnKhlY2HblHf@vCx!4#dA=7k**tpOFWv~O8$uUH}lWm1N$(3|G z%J5nG2|E3V?XLWU;Iy6b&EyXs!}_ep{&rU@X?Goq$6~R+;lWRQE{p;3R+%e>5;bja zG8GcPtV53pyC8x<@a5uSI<-lqVuHWS&e<9KOQ#B+avEw${B&wPtoqFTg&tPK zF6A$)nOrSjdsfS4y?ln`$Rt8OAAs~KWWI-Z%Un|_np=`In^f8xL@x7YsMQUae1rJD z*r(otQZ%Ughl>ZAa+FG4gwX}TYph;kKE3J^?lF&O+8K$h>Q*iE{gNaB-4}AV(^Vl= z=(}>FuOxgA^u3FX6(Z|Ycc+!Zs-k)gn5g@#&V{5!S|ebJWv(>H*ORWr_|eA)wb-?W zUSnsoxbs1K|E!b`dMbTN%p#N2)j~3=E;l_*WSJ7_Hr9!5sLSNTf8S!yo{_wpf0~`o&C$&B`R(+_6>Bf-hy*WE?&!#&eXgl0oJUF&4 z0jD>m7tUt6AUx_oG!D_mqQ`UvVmzlJgpap4#66CvzITeW8rFd-2r?@W2yIX${Jn0} z+lzW^m$(g@_zZ=;4CMAnc{;&;OD-!3Bd*|xR9EDbk=U9+2JKOw!}~;_m~UNyw`pk2 z*ttwDJD>OhzQ?AMXiWUKt|GDb84o<`8oW=~p6^@N%^N+SNwl}&j6wd71GO&@pFvK5 zMsTW(x3%wUHEeGJk5_|vn2ctX>W1)CKbQV?!{-+8`ML1Ifnc!?IYY{%5YFmmg}Tnt z!b;)Swa3|cJClEG20)BzxOqZzs%JA!gZQrCt*?gPZQxfNDA$r1zQth1zFF#?g8f}K zn9I5YoY-l}QV$NEKYi$Qmps*WE=U0S+_1ZzCmqshEopC{T_`t*Y#PDu0vw41t`qqh zm@gyKYF$!AIpi>~l?srs8MqX{d68(<%>>#=_W)@xN~9vu#70u4x|b3gEx(FdOM{KO z`D;MhiBd}hxep-qC_##nz%f-fw)+Oa8c~9+QEe}2-P&c}0$LCyTI+04c1g%U83n%s zNHq*XWxFWc-L}(BVAL^+l}EAiP^&`2PBl$Xw*%F< zKuzu__B);0*=v=Dq35rO?gjW^wQN)h!@~H$s$CR*KkUUHa$(@@_S973dpPwvPZD!3 z{Hef719=_E{glL%&R{%-mx&UT`Qw=0nVhd*m^kKpAG9Vh0mLVXNg&E=Jppq4sBq@* z4#!podS{N77}r>7#uD^0Y@TB)3+*?LDrXnf509-`=pRmAnFCH2k2c6YrZHG{Kepze z>B+!*vOm@ABKKI=lYu ON4?S6)%~$$`}{v*_QTu& literal 0 HcmV?d00001 diff --git a/ToolListRun/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/ToolListRun/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 diff --git a/ToolListRun/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/ToolListRun/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 diff --git a/ToolListRun/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/ToolListRun/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 diff --git a/ToolListRun/obj/Debug/ToolListRun.csproj.FileListAbsolute.txt b/ToolListRun/obj/Debug/ToolListRun.csproj.FileListAbsolute.txt new file mode 100644 index 0000000000000000000000000000000000000000..b7e9a029ba13fd6c379fe56d41bad139dd187997 GIT binary patch literal 1957 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 literal 0 HcmV?d00001 diff --git a/ToolListRun/obj/Debug/ToolListRun.dll b/ToolListRun/obj/Debug/ToolListRun.dll new file mode 100644 index 0000000000000000000000000000000000000000..32d0efd1af24f6bf3039ebe4831426ae3b048c0f GIT binary patch literal 6656 zcmeHLYiu0V6+SaNyWXsw#k)?N2O&%z5GQdKzW^tt#g1QD@C)z8BqiX??vB?3vop)g zEY1?3ra%RSil$A~mV){aYC$b3ttws;Eg&j^)TpHbRkZy9mH3smAk;stMBMM(ecBEI z)E`wv6A3kEXY|kYlBz__3|^_|>&OqWyKK=st?^bK}@#^3%dL)IcMVB&eSp zv~(zRzE9{!C>-$F=MjZ$3^L@c12xpz*n1m?R%J!NYOpcWq2nz84jkv(Fu+jzB^8;< z(_SWPuVt-PfHh~N-BN2)u)UM~ZSWJaG4v3Hm8$9n;0`$XwvEg_pV_^OJj#kl<#{eI zzSXPtKK;p*Y*bCCMTscR4)%Tlu-1oK{1N|#r6hYZI2#Vz7qYm&p11CymcWMvS4&q* zL!_a77X`u%;RaiUk%-^k!jFKx6%Uc70=!E$W;j$E_VVF6DD=_5tUJ`$pqx=!8Y7MS=08|m z46L&;FChxpZFpRWLTYJ>G__xjVf&Bo1j*jTY-F`EJW)xva|m2XZMy;db~_8v?j0)x z@2?7SSylvhZI#>hu*$CeiL3TY<<-V(_m-YmN36S}yK^rPtVa{@CsUvPRk*(=sjPUPRi>M$;--mSeEE& zY?Kqelc4w0n9@qR@01*+2%UrlM?NiYq=N4*c{8o?`;{p5fWDP>E8WUgdW5<``6DP% z`m%D;cQO4`evfz4@;=S8AR&Lfz5!pq=ufK5{StNfUIRXlbpveuad_gLUBYy7Zr(?F zd^8V=LSIAQPp`vjfNlV6pevEJ<30%yvfc*35bXqPrcMF(3fM1TT)=AtJS?CFxRwmj zzgfVdfKBulxr-jBH|1VHL%9M+0#jb3M`@H^rH%dx(C3wdpiIiw(Q7nIH_&~Q^QA#Q z1&goJb|ptA=wZ2;?xehI(3^BfaY27nz7?=2-$8HFk0JRpdYbNr)&i_OOJAh>0UuLN z0Iu>eJb}Mw>1y9M0KchxhrUhEDc?u`ZRLmXyC~lP3x|DAzzb&}Mve3iU<>^n@O)Y= z#b_I~0`8_AfZYOqM!*3McC}ViBVcW@#8Y#-TY1=W;iIJIBLWLhE;3J(n_zNyDobt&$xrqvtf|rka(c=3ubSRPWvoinU#}k;JP)Y)a1- zOwAcOmUncQOO)fW(wavHCQ>(IY0?4BOxxC=?Tzam%?Tu9dlrz|ra_53>VigRcnUZ< z)%l3?QYWn6YG8oy`_Ks zLH(LD)4!dR8dRJ%D$xZ-ReAt&7PNG7Xo_q;!9RpM050xfk(%x#&EaIE)$HYW502j3 zocivRRK+?EU-T6|JO1&4`NU$|j*;j4zxP7;4=smCQ6(wpQ%Ulp6NxYyW*|2=td3qE zl;vtcIM&N=qHD?zS-lSIuDHFAwrmMZxLd7VVj0lU2YsV_aQs$Cs?Dc&j3_H-t- zw`;aT-_zA`*`<4WIy*1h(|dVOW>0r#PuHy0xi{UVUxrsC1Ip5ieL?>jP`7{GErQd^Ko-Sv*t4gZLpy77qE8|taCd?v*n z|M%Os%HJD!BtPfA%Dt7X@?E0DnHjL1LDS^@qIBKSb#bsTckv?F;Mbl{+kcz^e*Y1l zjTV-g;-yT4=~_W&IsSHZsE?>!+>n{V{T{$++}mdWhp@vYus=`GIPf^&aOtZXJ+Hib zrgZye58O)6D@%yDTl4y=Z-YQ2SkF#=VBDp@9!hZzXd^Tw;!`1qztSlpUdF-OTF1)^|3!>e z6LMwe)Q7KhQq|ueEVz^wapaf8nS=*Ec}5YT3(gcyIUYd=cG#N!v^c@sy76`5tm~-$ z2>zNO&lxJ6b{66>>!LclpBQBz#or$e;GJ7S6u9aOO&)okiX!4HPD1{Uxss;hol(VK z7h>ro{+zK3R_g7PW+(%@d~Q2OU;N9kc0|GkESZi4rhxv)QN I|92VqH&`1fGXMYp literal 0 HcmV?d00001 diff --git a/ToolListRun/obj/Debug/ToolListRun.pdb b/ToolListRun/obj/Debug/ToolListRun.pdb new file mode 100644 index 0000000000000000000000000000000000000000..48de1fb4592529e72c81836430281ccd5e03f2fc GIT binary patch literal 11776 zcmeI1du$X%9LHym@@Q#GkH-Nm;EA9>;jWd+qbNnLEi|+kxB^j5=yBcBgS%V2z4Azm zSpj)OB1KJn#2So(iu_?BiAGC;2{!SS7(htWzxcyMBUF?`{6p&ZJG+-|Nz(*O5w81d zfA^W0{mstIZyr0dTNjNaHC<~;c?14Haj~~9SnZwbD=Ep#DXa_%h)e#9u?RlRIK*SZ z`ON?ioa%C9AbVh*Fa~n-2YlOye^si?<2qJgDUdI^y0XBou0i;9B$GYRTmO%6`ahGq zyhqz!_LVBTI_sZQkb16s<)K5l?=IPW;L@2%Ijg=+8}b^}EkpU=2k zE6n)twmna{o6fpV&Jg0-u$q&SKEyI1EZ;e4N>|+WpQ4K;ih)x9IeTG8aqxTPW;gY;$17slha`plIt|Ku z2d}8hLkQC@-RCO8j@%g@;9PuA%y6?dA6gw~e+Ho6hVYsk7hDD~?-}=qL2l-)MV_=h zZF0mE_p0CyJ*CFQr0%dUfW<(Kq_C*yz9nixO-3VPr0sfTGQ2IC*w`bjHkx>fW!dfO z)$J*!O}6D_ns24Lu_YExR&C#sRCO+1x+t{UG$++?BTDeqhxN@pudRtD8ntb@uUbpS zv7(vfS<4)o%<^O%0$Mz-CF;~vv(^YhnYJ_>i)e{TEwx-_#qwEZ_v#5h^@z(dYNH$A z8?W>^d?v{<;ybKD5vG6nUT!J;+X@|xF#YR6KGL3VlT07veiez8u>BbP!LnyL>?gau zuC*j1YIRbJ(~n;F;9jq@<;%lyOjh25gTQ_duI@GLWQYqxB(3X2R@Rplzjl1|`1zXl zsoAd2J~+`pn>ta6aVA6->c{%C1Oi&r8tall0uAPgOo#&NZ>y_QpT)Q>b zb8ou#TyX6hT>6GqX@+J zEMo#V4&)$XI{R-t;w@ky_$&xp<1h$Y;|O>Ucog)4=RoG8ukS_tM{qKji-PY1CxBDH z1>jV08F)Xafy}3a4BWc9hYd_3zhvd;9h7H+A#eo3eI{?-mbu#8kQe zF!u=E8$6GgZc8tjQ$oSR#F5PM0N4HAL{a!;FrN**U3bzl!vlSN|7$=K{Wyeeu1Pd$ z!k@rlKo@>J8SyvcETtwl#I(p}GodLOQ+59>z6-L>7C2{^!i8rjbTX8CqZ}x0D1%K1 z=li4Oi2n%A@om|q^1aV+AzsK82iNgT)&TWFc`jQ7O$*OZ+#_PAe@X&B=GQ^{_rdfP zGDn=izLN4Cc;kMLPaNybqR%@0@(shBva-4J%H~&#S)cl@C{_vSb6$6eJVUxfp1dio z%$m?{m{n#vjpSJ|U4vVB)tP=*Y85BjB!75wQ?g|x%y9ShJ2;e&x_P1PP@bRHqH!eU z0MvknpwpnOn0zzgSB?psFXcPiQ6T5$Xej3_=PJgLoVVE^_l+D+EN29i&zq4@xw!xx P`F}lt_alxBU=REY5KJ}n literal 0 HcmV?d00001 diff --git a/VisionEdit/GlobalParams.cs b/VisionEdit/GlobalParams.cs index e311330..fe65f55 100644 --- a/VisionEdit/GlobalParams.cs +++ b/VisionEdit/GlobalParams.cs @@ -13,9 +13,9 @@ namespace VisionEdit /// /// 流程树 /// - public static TreeView myJobTreeView { get; set; } - public static VisionJob myVisionJob { get; set; } + public static TreeView myJobTreeView { get; set; } + public static VisionJob myVisionJob { get; set; } - public static VisionToolFactory myVisionToolFactory = new VisionToolFactory(); + // public static VisionToolFactory myVisionToolFactory = new VisionToolFactory(); } } diff --git a/VisionEdit/OperateJob.cs b/VisionEdit/OperateJob.cs index 53cbce5..3d92b55 100644 --- a/VisionEdit/OperateJob.cs +++ b/VisionEdit/OperateJob.cs @@ -5,13 +5,20 @@ using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using CommonMethods; using FindLineTool; namespace VisionEdit { - public class OperateJob + public class OperateJob:IVisionJob { + FormLib.FormLog inputFormLog = new FormLib.FormLog(); + + public OperateJob(FormLib.FormLog formLog) + { + inputFormLog = formLog; + } public static void CreateNewJob() { try diff --git a/VisionEdit/ToolRunLib/CaliperRun.cs b/VisionEdit/ToolRunLib/CaliperRun.cs new file mode 100644 index 0000000..0c7ad4c --- /dev/null +++ b/VisionEdit/ToolRunLib/CaliperRun.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; +using CaliperTool; +using CommonMethods; +using HalconDotNet; +using VisionEdit.FormLib; +using VisionEdit.ToolRunLib; + +namespace VisionEdit.ToolRunLib +{ + public class CaliperRun: IToolRun + { + public void ToolRun(int toolIndex, int inputItemNum, TreeNode selectNode, FormLog myFormLog, FormImageWindow myFormWindow, List L_toolList) + { + Caliper myCaliper = (Caliper)L_toolList[toolIndex].tool; + for (int j = 0; j < inputItemNum; j++) + { + if (L_toolList[toolIndex].toolInput[j].IOName == "InputImage" && L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value == null) + { + selectNode.ForeColor = Color.Red; + myFormLog.ShowLog(L_toolList[toolIndex].toolName + " 无输入图像"); + break; + } + else + { + if (L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value != null) + { + string sourceFrom = L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value.ToString(); + string sourceToolName = Regex.Split(sourceFrom, " . ")[0]; + sourceToolName = sourceToolName.Substring(3, Regex.Split(sourceFrom, " . ")[0].Length - 3); + string toolItem = Regex.Split(sourceFrom, " . ")[1]; + if (L_toolList[toolIndex].toolInput[j].IOName == "InputImage") + { + myCaliper.inputImage = GlobalParams.myVisionJob.GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HObject; + } + if (L_toolList[toolIndex].toolInput[j].IOName == "inputCenterRow") + { + myCaliper.expectRecStartRow = GlobalParams.myVisionJob.GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; + } + if (L_toolList[toolIndex].toolInput[j].IOName == "inputCenterCol") + { + myCaliper.expectRecStartColumn = GlobalParams.myVisionJob.GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; + } + if (L_toolList[toolIndex].toolInput[j].IOName == "inputPhi") + { + myCaliper.expectAngle = GlobalParams.myVisionJob.GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; + } + + } + } + } + myCaliper.Run(SoftwareRunState.Release); + if (myCaliper.toolRunStatu == ToolRunStatu.Succeed) + { + myCaliper.DispMainWindow(myFormWindow.myHWindow); + GlobalParams.myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行成功", Color.Green, selectNode); + } + else + { + GlobalParams.myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行失败", Color.Red, selectNode); + } + } + + } +} diff --git a/VisionEdit/ToolRunLib/FindLineRun.cs b/VisionEdit/ToolRunLib/FindLineRun.cs new file mode 100644 index 0000000..fe18e04 --- /dev/null +++ b/VisionEdit/ToolRunLib/FindLineRun.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; +using CommonMethods; +using FindLineTool; +using HalconDotNet; +using VisionEdit.FormLib; + +namespace VisionEdit.ToolRunLib +{ + public class FindLineRun : IToolRun + { + public void ToolRun(int toolIndex, int inputItemNum, TreeNode selectNode, FormLog myFormLog, FormImageWindow myFormWindow, List L_toolList) + { + FindLine myFindLine = (FindLine)L_toolList[toolIndex].tool; + for (int j = 0; j < inputItemNum; j++) + { + if (L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value == null) + { + selectNode.ForeColor = Color.Red; + myFormLog.ShowLog(L_toolList[toolIndex].toolName + " 无输入图像"); + } + else + { + string sourceFrom = L_toolList[toolIndex].GetInput(L_toolList[toolIndex].toolInput[j].IOName).value.ToString(); + if (L_toolList[toolIndex].toolInput[j].IOName == "InputImage") + { + string sourceToolName = Regex.Split(sourceFrom, " . ")[0]; + sourceToolName = sourceToolName.Substring(3, Regex.Split(sourceFrom, " . ")[0].Length - 3); + string toolItem = Regex.Split(sourceFrom, " . ")[1]; + myFindLine.inputImage = GlobalParams.myVisionJob.GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HObject; + } + } + } + myFindLine.Run(SoftwareRunState.Release); + if (myFindLine.toolRunStatu == ToolRunStatu.Succeed) + { + myFindLine.DispMainWindow(GlobalParams.myVisionJob.myFormImageWindow.myHWindow); + GlobalParams.myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行成功", Color.Green, selectNode); + } + else + { + GlobalParams.myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行失败", Color.Red, selectNode); + } + } + } +} diff --git a/VisionEdit/ToolRunLib/HalconToolRun.cs b/VisionEdit/ToolRunLib/HalconToolRun.cs new file mode 100644 index 0000000..f4bff94 --- /dev/null +++ b/VisionEdit/ToolRunLib/HalconToolRun.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using CommonMethods; +using VisionEdit.FormLib; + +namespace VisionEdit.ToolRunLib +{ + public class HalconToolRun : IToolRun + { + public void ToolRun(int toolIndex, int inputItemNum, TreeNode selectNode, FormLog myFormLog, FormImageWindow myFormWindow, List L_toolList) + { + HalconTool.HalconTool myHalconTool = (HalconTool.HalconTool)L_toolList[toolIndex].tool; + myHalconTool.Run(SoftwareRunState.Release); + if (myHalconTool.outputImage == null) + { + GlobalParams.myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行失败", Color.Red, selectNode); + } + else + { + GlobalParams.myVisionJob.FormLogDisp(L_toolList[toolIndex].toolName + " 运行成功", Color.Green, selectNode); + GlobalParams.myVisionJob.myFormImageWindow.myHWindow.HobjectToHimage(myHalconTool.outputImage); + } + } + } +} diff --git a/VisionEdit/ToolRunLib/IToolRun.cs b/VisionEdit/ToolRunLib/IToolRun.cs new file mode 100644 index 0000000..90b8fdc --- /dev/null +++ b/VisionEdit/ToolRunLib/IToolRun.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using VisionEdit.FormLib; + +namespace VisionEdit.ToolRunLib +{ + interface IToolRun + { + void ToolRun(int toolIndex, int inputItemNum, TreeNode selectNode, FormLog myFormLog, FormImageWindow myFormWindow, List L_toolList); + } +} diff --git a/VisionEdit/VisionEdit.csproj b/VisionEdit/VisionEdit.csproj index d0d602c..9f73fef 100644 --- a/VisionEdit/VisionEdit.csproj +++ b/VisionEdit/VisionEdit.csproj @@ -55,6 +55,7 @@ + Form @@ -89,6 +90,9 @@ + + + FormImageWindow.cs.cs diff --git a/VisionEdit/VisionJob.cs b/VisionEdit/VisionJob.cs index ab18454..e7dadee 100644 --- a/VisionEdit/VisionJob.cs +++ b/VisionEdit/VisionJob.cs @@ -14,6 +14,7 @@ using FindLineTool; using HalconDotNet; using ToolBase; using VisionEdit.FormLib; +using VisionEdit.ToolRunLib; using VisionJobFactory; namespace VisionEdit @@ -23,8 +24,8 @@ namespace VisionEdit public delegate void CreateLineDelegate(TreeView inputTreeView, TreeNode startNode, TreeNode endNode); CreateLineDelegate createLineDelegateFun; public TreeView tvwOnWorkJob = new TreeView(); - FormLog myFormLog = null; - FormImageWindow myFormImageWindow = null; + public FormLog myFormLog = null; + public FormImageWindow myFormImageWindow = null; public VisionJob(TreeView inputTreeView, FormLog inputFormLog, FormImageWindow inputFormImageWindow, string jobName) { @@ -40,7 +41,7 @@ namespace VisionEdit ///

Y@wH&94V>#M6&n53Im8Q`Wx-O#ZbPto$k7QD-n_ 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 E1KnZ70ssI2 literal 36812 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 literal 0 HcmV?d00001 diff --git a/HalconWindowTest/obj/Debug/HalconWindow.csproj.FileListAbsolute.txt b/HalconWindowTest/obj/Debug/HalconWindow.csproj.FileListAbsolute.txt index 9760aedd0e80e8b0ac7e10efd832a141ffe38085..4d7ce5d2237c38487aa6de028e33b15f24b63220 100644 GIT binary patch literal 2772 zcmeHGOK%fb6b9M=F)=j>O41S_$^!~6(>TGjG)bG_yls*u4h}(%tQq?{9%IjhdBpLe zp_?wcXuGI{gw#r?m5Ri&EvgW&1&^wWszDV>7gZ}3tgHS5zT-0)9I0JU&9bBKeCIJU z=iYnHxys&lk=**%-P>F6Y#lxpm$PD0Sa4!fkthW>o=JQJ1Y`p|4YArMdc{{CM-uYg+}Hh#OzdJf90Zw9ydeP9_98Uxt}L4Kds0Cg^O0t~Ew2YMOO zQBFmdI0jDl?EzD&hu?5;lvR)wxRtF}SW!2rwHNMvOWAWglL0?J;^?jc|DP-&a2U zjE>Iu`3u)%gARE%-v@4^fr~=I^`J_*I%cU36Y&|ai!NBL2Wl=pFIR5g7Q}Y0ef{TG z&?QJ!oz`yT5daQDUW3%KOG^TM^B_9m2`a<|+79shP1`AO9Nwnodk|RVuX0d!i0XJe z=9HKgq0KOQr=0s1_WQcF)1Sbp%3QeLjMILr5k9&31KJ>NBd!K{KboO#%b^!|5-N-saI|J;)$H1-SCU&XAv^wLAYq8;Mlq4F4gRPUZyFCJX^4Xt>Gk?_B>7`UtyfC$tDU z$ELB$2l-83h;_*CYiStV-pk%j8s}ecu>&5U|Bv?`jo!ZjV~QdW`c*2mbgxdvVLkr1 zixSfwXCc6x-0t_$JTmA;rr&j@2=)#RQ>}MY=Apap$4}rW9B-v%7^V5q`&VGjH^iJt z-`4HEq^^%rk^p@H;ba5$P!5iuLAK>RrM2tRuz-F@gw1Mxa+@wW9cv*-(;(5kq@MJD z07}!9>Y3ODPQFbUfc5V|3y{v{P;4)>-#7A3G7*pH8Ieq=rmAbh8P%E!jdwDf(KbviZ7H! zSMvW<V;)7Xquv^6v{IqD-5BfQGYp|6ECvae_5uw=h7JWJ~g6hazQe% zwr!+^>BTafIbM_v%hSZCWmOx|jiRSX-#7FnVOXj#C2ByW2%av$&6P%lCJfmU8;eL0 OkGhH*>Os>gm+Bcl5F4BT delta 704 zcmV;x0zduK71aj^ViY4~P64u!2_hfL>JVXa=25?NA{?QZ{vA;e?FC=nnG9dvnGA-< z(HF5{1_6JQxVH4v*qQs@SL|~V7@;B!tYPdiNbq$ZybW#>&ss4yuff-|#{{4xd0$I# znu4igJQ4L*?8c_}-bdu}EBUbbAlc9l!H#lS=CT>{*P<{#9(UVUz5uKSg=V@8>F9%@CM_!JD8hjBc_`eYe5ffj8t z+32N0+(3|v>rLag=BE5D>EeC6TQ$+!)%kbBXQO}r z6_-+!$wnvo0gdlxc=^IM2pQsu{xY-FVJD7dG7_KfcIg*6sj?nE{Nkqw6)zY^2nf{q z02RgQj^v=;XEW6@EFlr6k>z~PN0BY37epvAQDa%P<%$JNf*Oxckmp}xBnkuEv+EAG ma0OqDy|@~k|2C`<0Q@I2>YvvOwU`VmaH_!6WD;xktC~6`YGQo= diff --git a/HalconWindowTest/obj/Debug/HalconWindow.csproj.GenerateResource.Cache b/HalconWindowTest/obj/Debug/HalconWindow.csproj.GenerateResource.Cache index b0f43418fe79fb620e4286fc08ffecfbf52efad5..70ddc568aaa1e8dec7551f49f3cc996c09b60060 100644 GIT binary patch delta 253 zcmX@c(ayP{m5GscavPJS0Sf~I0~uMAM1AjldJ5CoYC0)ij|7#M)23xbq`05<@fV=1Tr delta 204 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 literal 66048 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

/// /// - internal void TvwJob_ItemDrag(object sender, ItemDragEventArgs e)//左键拖动 + public void TvwJob_ItemDrag(object sender, ItemDragEventArgs e)//左键拖动 { try { @@ -68,7 +69,7 @@ namespace VisionEdit ///
/// /// - internal void TvwJob_DragEnter(object sender, DragEventArgs e) + public void TvwJob_DragEnter(object sender, DragEventArgs e) { try { @@ -92,7 +93,7 @@ namespace VisionEdit /// /// /// - internal void TvwJob_DragDrop(object sender, DragEventArgs e)//拖动 + public void TvwJob_DragDrop(object sender, DragEventArgs e)//拖动 { try { @@ -248,7 +249,7 @@ namespace VisionEdit } } - private void CancelUpDowm_MouseWheel(object sender, MouseEventArgs e) + public void CancelUpDowm_MouseWheel(object sender, MouseEventArgs e) { HandledMouseEventArgs h = e as HandledMouseEventArgs; if (h != null) @@ -258,16 +259,16 @@ namespace VisionEdit } #region 绘制输入输出指向线 - internal void tvw_job_AfterSelect(object sender, TreeViewEventArgs e) + public void tvw_job_AfterSelect(object sender, TreeViewEventArgs e) { nodeTextBeforeEdit = tvwOnWorkJob.SelectedNode.Text; } - internal void Draw_Line(object sender, TreeViewEventArgs e) + public void Draw_Line(object sender, TreeViewEventArgs e) { tvwOnWorkJob.Refresh(); DrawLine(); } - internal void tbc_jobs_SelectedIndexChanged(object sender, EventArgs e) + public void tbc_jobs_SelectedIndexChanged(object sender, EventArgs e) { tvwOnWorkJob.Refresh(); DrawLine(); @@ -277,14 +278,14 @@ namespace VisionEdit tvwOnWorkJob.Update(); DrawLine(); } - internal void MyJobTreeView_ChangeUICues(object sender, UICuesEventArgs e) + public void MyJobTreeView_ChangeUICues(object sender, UICuesEventArgs e) { tvwOnWorkJob.Update(); DrawLine(); } #endregion - internal void tvw_job_MouseClick(object sender, MouseEventArgs e) + public void tvw_job_MouseClick(object sender, MouseEventArgs e) { //判断是否在节点单击 TreeViewHitTestInfo test = GlobalParams.myJobTreeView.HitTest(e.X, e.Y); @@ -467,7 +468,7 @@ namespace VisionEdit /// /// 节点文本 /// 节点对象 - internal TreeNode GetToolNodeByNodeText(string nodeText) + public TreeNode GetToolNodeByNodeText(string nodeText) { try { @@ -676,118 +677,15 @@ namespace VisionEdit public void Run() { - for(int i = 0; i < L_toolList.Count; i++) + for (int i = 0; i < L_toolList.Count; i++) { TreeNode treeNode = GetToolNodeByNodeText(L_toolList[i].toolName); inputItemNum = (L_toolList[i]).toolInput.Count; outputItemNum = (L_toolList[i]).toolOutput.Count; - switch(L_toolList[i].toolType) - { - #region halconTool - case ToolType.HalconTool: - HalconTool.HalconTool myHalconTool = (HalconTool.HalconTool)L_toolList[i].tool; - myHalconTool.Run(SoftwareRunState.Release); - if(myHalconTool.outputImage == null) - { - FormLogDisp(L_toolList[i].toolName + " 运行失败", Color.Red, treeNode); - } - else - { - FormLogDisp(L_toolList[i].toolName + " 运行成功", Color.Green, treeNode); - myFormImageWindow.myHWindow.HobjectToHimage(myHalconTool.outputImage); - } - break; - #endregion - #region FindLine - case ToolType.FindLine: - FindLine myFindLine = (FindLine)L_toolList[i].tool; - for (int j = 0; j < inputItemNum; j++) - { - if(L_toolList[i].GetInput(L_toolList[i].toolInput[j].IOName).value == null) - { - treeNode.ForeColor = Color.Red; - myFormLog.ShowLog(L_toolList[i].toolName + " 无输入图像"); - } - else - { - string sourceFrom = L_toolList[i].GetInput(L_toolList[i].toolInput[j].IOName).value.ToString(); - if (L_toolList[i].toolInput[j].IOName == "InputImage") - { - string sourceToolName = Regex.Split(sourceFrom, " . ")[0]; - sourceToolName = sourceToolName.Substring(3, Regex.Split(sourceFrom, " . ")[0].Length - 3); - string toolItem = Regex.Split(sourceFrom, " . ")[1]; - myFindLine.inputImage = GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HObject; - } - } - } - myFindLine.Run(SoftwareRunState.Release); - if (myFindLine.toolRunStatu == ToolRunStatu.Succeed) - { - myFindLine.DispMainWindow(myFormImageWindow.myHWindow); - FormLogDisp(L_toolList[i].toolName + " 运行成功", Color.Green, treeNode); - } - else - { - FormLogDisp(L_toolList[i].toolName + " 运行失败", Color.Red, treeNode); - } - break; - #endregion - - case ToolType.Caliper: - Caliper myCaliper = (Caliper)L_toolList[i].tool; - //if(L_toolList[i].FormTool == null) - //{ - // FormLogDisp(L_toolList[i].toolName + " 运行失败", Color.Red, treeNode); - // continue; - //} - for (int j = 0; j < inputItemNum; j++) - { - if (L_toolList[i].toolInput[j].IOName == "InputImage" && L_toolList[i].GetInput(L_toolList[i].toolInput[j].IOName).value == null) - { - treeNode.ForeColor = Color.Red; - myFormLog.ShowLog(L_toolList[i].toolName + " 无输入图像"); - break; - } - else - { - if(L_toolList[i].GetInput(L_toolList[i].toolInput[j].IOName).value != null) - { - string sourceFrom = L_toolList[i].GetInput(L_toolList[i].toolInput[j].IOName).value.ToString(); - string sourceToolName = Regex.Split(sourceFrom, " . ")[0]; - sourceToolName = sourceToolName.Substring(3, Regex.Split(sourceFrom, " . ")[0].Length - 3); - string toolItem = Regex.Split(sourceFrom, " . ")[1]; - if (L_toolList[i].toolInput[j].IOName == "InputImage") - { - myCaliper.inputImage = GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HObject; - } - if(L_toolList[i].toolInput[j].IOName == "inputCenterRow") - { - myCaliper.expectRecStartRow = GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; - } - if (L_toolList[i].toolInput[j].IOName == "inputCenterCol") - { - myCaliper.expectRecStartColumn = GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; - } - if (L_toolList[i].toolInput[j].IOName == "inputPhi") - { - myCaliper.expectAngle = GetToolInfoByToolName(GlobalParams.myVisionJob.JobName, sourceToolName).GetOutput(toolItem).value as HTuple; - } - - } - } - } - myCaliper.Run(SoftwareRunState.Release); - if (myCaliper.toolRunStatu == ToolRunStatu.Succeed) - { - myCaliper.DispMainWindow(myFormImageWindow.myHWindow); - FormLogDisp(L_toolList[i].toolName + " 运行成功", Color.Green, treeNode); - } - else - { - FormLogDisp(L_toolList[i].toolName + " 运行失败", Color.Red, treeNode); - } - break; - } + string assemblyName = "VisionEdit.ToolRunLib." + L_toolList[i].toolType.ToString() + "Run" + ",VisionEdit"; + Type classType = Type.GetType(assemblyName); + IToolRun myCaliperRun = (IToolRun)Activator.CreateInstance(classType); + myCaliperRun.ToolRun(i, inputItemNum, treeNode, myFormLog, myFormImageWindow, L_toolList); } } diff --git a/VisionEdit/bin/Debug/CaliperTool.dll b/VisionEdit/bin/Debug/CaliperTool.dll index 47ccee61f828eea08d1ac1619a5d4a319fe4aca5..287aade1a925849d3e90b9c94502747d9f2115f2 100644 GIT binary patch delta 932 zcmYjQdq`7Z6#ve3!)7XNyL(*QoOchWXlOI9Va1H5(;E1~RAN3z(|n*UvqDY#Bd}6z z93uLsFzXKqp}0vH)&fI&h$Kj86crVOv8?Gbj3ve9s_3dyPC#gJyfAuRIw1@eeNf}s;9bqI6y>AS= zxkQ-2VNQSmzUMOF1L|YSARLdy)PY7^h;aj?i@c#8U>{yE=0PdW8C#(mvtx7M1op)` zXfFcveI0+sI_cdzOp;t{a>5keqVijuH;vQEFURH3`FIoOhRtZ@1^P#acz2XdMsM>- z=mK}*cQcC`hiTe8zj$ zG#d5A>SmT@xZUQU&>CBf1>}^T4st|W0iD@|u9ZYS9knKelKN7_uQm?2-Eu-KCB>vH zmXIxUv@PzEJQw}ei$;4BCtk_wm#GLzo4wXNaPofE=yQ)&amM8ocVx$L$#i$T(l#*k zG0?@Rq6w=i2q`Ld6>D8_&W5Ewp3%C0Gv5O7ZDLQwCWyXC3t2mly6~|#274sUVT)f&?t zOOgTPG!*o`Vv)Y*+D>`t6(1NDhaJlT_t6fHTz3@&o$knBw3ZR>^MD(2Q-bq;oi819V)@ z!CSg5s~DosashsjBeNb>+Mn49ul6xB43ub!b2qS=&bunnLhoGdh*DWrIZn~VtPtno zDX(|wcUCdiKIGQr7I!g*sfXq7G~({#$UC#kv5-DxharBk*m3Dx`2iB z(_^9MiVf>%R4GCgSv@<@Mh86mK=j33x&jyc8Ig0stH#qGywnqEzmmyaegz(nYismdK(z&(0 z;kwFF{uKtx_(JSEtz9UUS)YO*NM$e}?cMjVsF8v+bb$Zhiqt?-sjH^;|s&4R_LlfC?zIz|_ WY;V-kc1$ElpVnxm<{yYJOZpGt?G1VW diff --git a/VisionEdit/bin/Debug/CaliperTool.pdb b/VisionEdit/bin/Debug/CaliperTool.pdb index 85cd95ef9c904c5dd23ed196db162da9afbd23dc..885d8794ba2c1d4c2d0ef317e21baf9d834a952c 100644 GIT binary patch delta 426 zcmZp;!`N_#aRUpNMDoSnSVjg01~C@}`>glBeYU3mJNItCTFGV^E*&mm*_gctYfmU8 ztlGFCTgv#YhSk;R$s2;(T+AWH!eQ)wfL*xsD&ypfal#V=WG6dFRj`~tyH9!Z z9w{p$Mw89oeH6J_7z9qg-z*bximg8HV+1<`Ln_cZ5MX4;`v_q{*n5F;#!vxtxeq`& zT^w?<91IMlAU^;By1q%A3=9fj8K7J}nuVKylAbV0G`ZhExiB1t268hnXyedV1C%== f4v|E6jDUkO0|U?_U;vWb{3Tw11y2;DJmCZYgdbu; delta 423 zcmZp;!`N_#aRUpNgvExSSVjg0hWsu*ndGZt9(~_lrM3C(|z)LcRb1 diff --git a/VisionEdit/bin/Debug/CommonMethods.dll b/VisionEdit/bin/Debug/CommonMethods.dll index 998e514af874a09b563d7c287adc6fa063761e75..11b7275acb7e9d3abac23f36af961a1223c3ce1a 100644 GIT binary patch literal 15872 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 diff --git a/VisionEdit/bin/Debug/CommonMethods.pdb b/VisionEdit/bin/Debug/CommonMethods.pdb index 557a6bab51fc377e61fea2ab0af01a0575138b44..13bff778da7ebd9e3d389131d13d8268f5b821f7 100644 GIT binary patch delta 7316 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 nT8e6+I0t$+gmc~vnHbE&UM43@w_mB9Z2V4I8S diff --git a/VisionEdit/bin/Debug/DataStruct.dll b/VisionEdit/bin/Debug/DataStruct.dll index 9179ad7244bcbee0b9522dadaf731fb43ef6c1f4..4fad34e133eb1aa408d2bfba5cb2e49a2c716354 100644 GIT binary patch delta 66 zcmZqBY0#O_!TgM~XJhwSZh_=xyX9xH4mi#7@_f#j)qP-d22TScNOtmTUP*y3JUf}D VO166M%#Xehv$bA+vk2cCb^x!T8^r(s delta 66 zcmZqBY0#O_!EC-EXk+(TZh@qR-wCSoQ=FE&7Ym=b@&EGX44wu?knH5wypjR}%l2j5 V7ChkF>nHIuqrWn3vk2cCb^x`z98~}S diff --git a/VisionEdit/bin/Debug/DataStruct.pdb b/VisionEdit/bin/Debug/DataStruct.pdb index ba9646588d834d483b328deb84397706c60e90d3..13e05314f6abfb00e3da7da54958634661444a13 100644 GIT binary patch delta 124 zcmZq3X~@~Y!X@#HvnQ63fq~%*&rYVPlC9o5^P?}sY^|5yEW`DNo1^8FWfybFRmRB+ z6%95!h+Puoin$3?%&^1sx7KDEjW|}OCsmVcbfwszR6PU=drxlE6`#CCHvo^ZdQaE^ D(9kT5 delta 119 zcmZq3X~@~Y!X;t8At;uSfq_9_*}jb1f(Lwi{Um;7^jD^Bmf?EC%^{n&Ytog#tBjKu zDjIBd5W6HeF@S55631p0jWAXw28PKsx>D>63=e_&y(c&7ica378-&M1y(jDdp8_b% diff --git a/VisionEdit/bin/Debug/DockPanel.config b/VisionEdit/bin/Debug/DockPanel.config index d9e73c054ec68cc05a1c7b04625263fdd9454c09..e576f900a0904fd0ea88060b6ce78882d60dc5eb 100644 GIT binary patch delta 26 icmZ2ww#sb7HzrO~1|)wTNB{t9cLuxw delta 26 icmZ2ww#sb7HzrO41|)wTNB{t99R{}m diff --git a/VisionEdit/bin/Debug/FindCircleTool.dll b/VisionEdit/bin/Debug/FindCircleTool.dll index 9b2a176342ecf2274111cd0f03c6c156e7ba0d78..58b0ed23701a11c0771419b274c81ac180bc274d 100644 GIT binary patch delta 87 zcmZpe!q_l{aY6@k^2Oeb-Kn+$f-fQ?E@u4q>UBCSe>{50_Dyyhm~?=Wu?#@K1jI6o n3=AjYfY^b7At=}-cva4%wBMIc`>uQ8YLsH`9h_RSJ*pP1OeTn3?uj>3~K*s!ny)iH3w zIMP54Tt*jJ#td1;1IYOW)sx`_G+GNN00JOeU;xC<0TNPB0d%=Gpnx`-+!Q@SM%)u_0(<_t{v1vdgQad(6w+cd%tjPru`wzBwcAizG;Pa(soPfOljEGc{EzTezYQNa!X&7d6? diff --git a/VisionEdit/bin/Debug/FindLineTool.pdb b/VisionEdit/bin/Debug/FindLineTool.pdb index 06c8b4dbf51f8cfa6b975bdfb835ed0a77f8bf09..4b7d93dc2e4ecec722759a9c785786a6565f0da0 100644 GIT binary patch delta 1426 zcmZqZVQT1M+Q7mkk#w;)mXU#hA?VVmkyW6kI$>TQ-z=H?%e3OhH){67z;<^hFR>wrB@jzZ!8y{7$7^@L8^i!#98_L<~>rX z+AP9M4UL8kj^*UF0Vmk` znVQTPTgxZc1U_U@W@=cpIWcIXB$x0)pl=u^GVfZjStjQdXMNsB9iaa>L4shA_YuZo zWXSty3Y61?2>|&pCP*$0kG^!E96L-gn!Y@s90yFU9!;_gkH%VLjcEE>@#yQpqpyAn zP*NS{8Z<+91LY)f$Xx--nZUh>8ZsQf;5-GChX7Q$OI!>LS7A~NdG#nkx}2MVAqgRg zBFD+Yz)*$N&?g_8c^Mc=q52pZwl9Dg!N~CB;}4)*Dh|2-|2H#La4-TB0Z0MR0w_Rr zGDtiTCWRJ6xj=DT31k{j4p+jOkE{ zVg~eZ>jFwDfFytbU2YXn&J!YqA@><5w+R|g==zolFfeSzl&c3C^5kQb5U`lRVdxq> za{uti1qkCda}iKZA8a4c|L88g2$#f^V-R6rP{QF*C7_%(4mn?-+!|SkB(i->n_H{v LneY^~bx+s<(_03` delta 1084 zcmZqZVQT1M+Q7mkVX+}7mXU#hK|Lm_zq8%bfAgPMmXy77-*1-T(%};Jy%HXMyWG)J z_f^W$1xoX|82?IbbX?20m_v+(EnCib@|D2Jd{V1e%%)ekZQdiLs?8$8)X=v1sp|r^ z$#0d}H~08lW%dzgbYcu(tYB>DWNO&P)bNh6y_>Q9J!AVf#*TfAeTx|T)-d+(Wb8l1 zIMtG=DVniqA!E}+#%4vv=2WJMR!q|-FizjfI75bMW)$O`wUgHdoM0DVYI0y~oiMp3 z@F9yTQ^U&5i9s7BCkC*wFakZYStjQdCmREU4v;;WFIo%*((~3N;N`35fjzD3^*uZc_yp zBh-;RFiU~fFeJh_xj+s)Ag2L2@F1R#EOP=`<|4ApFQ`mC$SKS~LK8?MgIGQW23@EC zy3@OWatb))RsrQaamalJ%58!g2Bqr3N1rMLcp0A`A>lIP@t2<+Rb|#DM}J%YA{8Yh)p^ApYi>>JBD6 Jg+kpEb^xK~l_CHD diff --git a/VisionEdit/bin/Debug/HalconTool.dll b/VisionEdit/bin/Debug/HalconTool.dll index eeb932fa5720135620511cfe5a59da2d84a0f131..910a5015dad15c20dc5e52f03f39c9cdf4425603 100644 GIT binary patch delta 68 zcmZp8!r1VHaY6@k^2Oeb-G%`IY;JK!_$3Y9SBh+ZSl{tKa`Tx09!Zew9KlTbX!`kvt8-l*UZf delta 68 zcmZp8!r1VHaY6^P`G%m4-G%`IOe;@6*ty}a_fm=8qjAOGx;CE);E@E$PQINfDZu7; YEuLRK%dhM4M*bxay!kh?Wc^_W054D;ApigX diff --git a/VisionEdit/bin/Debug/HalconTool.pdb b/VisionEdit/bin/Debug/HalconTool.pdb index 9fb4e45ed2d5a8a23006d8843954a19b5658773c..c2f4bdd986c961dcef9231aa0a1163b1d97d0dae 100644 GIT binary patch delta 488 zcmZp;!`N_#aRUpNMDoSnSVjg0hDXka^jJMEx-Bi&*{*c&YvyJdE*&lr{=4}Z!R?wN z#$Q<~YyY1wnz&M`e52zU#>E_BENmeP$JvETC-X@KvFuB1?Ax3oB`Uxn%q-00#n>=y za-&ucBmZVT?P5k|ex|C;Ejn6EGL1|P2bmh@F*ZG8Y<6I5p32mGfvMS?spSA;yW8ed zdg_ckmW=644O5sJUoy68Z~m(h8Vn5VK*xdrBSYRt2n)jY z0LpPd1<>UJ@aPN2qc0v=Up<9jc^nI delta 353 zcmZp;!`N_#aRUpNg!zV`SVjg01~$KI@%-{xeqE0@@-KPd&A(ZOONUEjSHKs)=YRir z?>cJa{4GPL?Sk#22OAyNFfQg0V`1}Q7o2=0a5A4%5Q~%l5uwc~QlbJJBFrL8zKjjC zCpT*KFbZtu(=KLY7GSF1+@hn!B-6^&aEz&O8DrCD#%4dp=A}%{51E=>nOd$ewx@4C zrKirwW5bxu)G(8&@jGLy_vXL)(poHxK-X=SiLzs3XJByDU|?XM{4hkA6XawMAddsi z3qX+zN0Ez1kxN67%LDRK;HF#x@&w_$$3Wf@IB&To1H&>9Z*xK76c#)om-d7m0Ot8* Aj{pDw diff --git a/VisionEdit/bin/Debug/HalconWindow.exe b/VisionEdit/bin/Debug/HalconWindow.exe index bd0485e93153faecfe16102c6d94e17ce5f671a2..cd7cd1ae8bd407ee257eba2c796b045cba29b345 100644 GIT binary patch literal 67584 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 literal 66048 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 i+bAjI@k6MINPm2Q_Dhe)oqzuR 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 W!ry1EvlNsfAH?d0Z9c(i!2tl$dmQut delta 66 zcmZorX;7Ka!EC-EXk+(Yc7a)|Is2!~Iq%qAb2s&`)x3$DBRE_bL9&zQb4m&b%2qIm VTu*TCPoG{k?~w1s%_lf5H~^J08t?!B diff --git a/VisionEdit/bin/Debug/ToolBase.pdb b/VisionEdit/bin/Debug/ToolBase.pdb index 221e97e467fbacd5cfb7c21eb57d0b5a86cda02f..cb221d8f2f18ac2cf512ed7b27c190ec973b1a33 100644 GIT binary patch delta 67 ycmZp$X|UPA!X@#XvnQ63fq`LO+UbWA{yuY^rJxk~AXYbQvkcb@PCT+APdEW+Vj6D% delta 67 ycmZp$X|UPA!X;t8At;uSfq_9#wt`9IdV+g@`t-7ShkP$?mf?EAiAPrC2`2!^2^OUQ diff --git a/VisionEdit/bin/Debug/VisionEdit.exe b/VisionEdit/bin/Debug/VisionEdit.exe index 3a00eeab31d5130ae5b7dab22b1c42ee8f92a97b..636f2f9f94f6740e8580c97c8067d3ccb3cf9ed6 100644 GIT binary patch delta 20584 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 delta 19994 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 Y9I^GAU9L=V^PQ&JYpeHF*H_N}2cSB-Pyhe` diff --git a/VisionEdit/bin/Debug/VisionEdit.pdb b/VisionEdit/bin/Debug/VisionEdit.pdb index cd49e777f0be815d4fa82c0701f85fcf4671143a..3cd95ea1b881f15881696ca498d1e8cd5e2f8f94 100644 GIT binary patch delta 21073 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 C@(mII diff --git a/VisionEdit/bin/Debug/VisionJobFactory.dll b/VisionEdit/bin/Debug/VisionJobFactory.dll index 4cc5824b61637247ca280448fcfb75f8fdeb0047..3ce46160acd3a17737de9dd952d158cff95f7fb8 100644 GIT binary patch delta 86 zcmZqhY4DlQ!JK@tcVoA$q`-EsZI4{6R(kgY?zFg3=ow}Nx?4apTuIzZW21|VPpVi`sT mh8b2sEW^MM6zmer$H<;%BCx?@Yv;bZC2@H{o7c#MZ~_1~EF6{q diff --git a/VisionEdit/bin/Debug/VisionJobFactory.pdb b/VisionEdit/bin/Debug/VisionJobFactory.pdb index 054109fdf2a7da0c11206b70ba168ec744682336..c4f6cc72a81df20a055673b7c81b27869379d239 100644 GIT binary patch delta 402 zcmZpe!`Lu~aRUpNMDoSnSVjg0hLR2Q;)^4^+~=15GJ8Mmf$3%$t~b0KWqEhlg-fq8 zPA=3k*z6#2NtsJ{Ay6?xLvHZG%`!G_EP8n#SF4=B(G6$8m_p5Wlc z#10XdH_=ge@&r<519fp@!#u-0k zGR@S{Y1&EJPHH<%J7dQ*%{W7vMx#x2?ARn~I`&gPwf{n&XV2jUjkdV)W0~i7IluQk zx8Hew=iR}%p-}0G|M#_z;_w&WP~PnrRoavY8uoVUF$S0Z+VB#v&Jlv{ghUGRL6peaK5-8Y(GpmD;K)Jpoexq_B26FZh@N4XTFuXJOuiwsAvA<--PjtqA592>bB$dLF?_#N{X6 z`;7?51&03d_QjKka0Y;RiTmP0Dh#s_fB;-im7gs1dwZb0rs4^M-n$oWB_t>09A7uY zJHX9%;vsAR*%4tmEKpxlHZMG$b{(W6^}!Ed(yw3fPx!bF4GZi#ow%c2L?*~pVDO-@ zXSZ44mDI?D!c@UwPHYop(PX2;BMjx z?^-SrHi1k@-Tv-r5rFRRYGi_dGh3m!muBvgbS2s1c)x@in#j!|CzRD!=eYlCIV~A+ z1_CVpQdmuMC~G+hvcC$7x58;|Cd9ML$>W;5#%gE{aqvpB^IF+cVA50rN2c%NtMGZe zOww|gs|4~PoJ<}yuQs5Ho2!8AXogx(UI;YHL2PJ7v?v@-$PNGxC0xxr!<^YCLeZ;X z^P@}WM@oBczY$-yp;A`o%S(WI~uapp_>$BYZ#06BxJ1l9F8Sqjl{o6;J12 zDmWNWC6BQ7P)7dCn`KaE5)UJrgnW_c(YOfKB z7eCsK#PQQ{1T9Fi*G{pi3iJxHR$hOll9A+BNrm~!#==n≫E9EY0Y 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 literal 63356 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 V?n-?|M_1|%*b_j#0w>oN{|BhmvUdOg diff --git a/VisionEdit/obj/Debug/VisionEdit.exe b/VisionEdit/obj/Debug/VisionEdit.exe index 3a00eeab31d5130ae5b7dab22b1c42ee8f92a97b..636f2f9f94f6740e8580c97c8067d3ccb3cf9ed6 100644 GIT binary patch delta 20584 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 delta 19994 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 Y9I^GAU9L=V^PQ&JYpeHF*H_N}2cSB-Pyhe` diff --git a/VisionEdit/obj/Debug/VisionEdit.pdb b/VisionEdit/obj/Debug/VisionEdit.pdb index cd49e777f0be815d4fa82c0701f85fcf4671143a..3cd95ea1b881f15881696ca498d1e8cd5e2f8f94 100644 GIT binary patch delta 21073 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 C@(mII diff --git a/VisionEdit/obj/Debug/build.force b/VisionEdit/obj/Debug/build.force new file mode 100644 index 0000000..e69de29 diff --git a/VisionJobFactory/bin/Debug/CaliperTool.dll b/VisionJobFactory/bin/Debug/CaliperTool.dll index 47ccee61f828eea08d1ac1619a5d4a319fe4aca5..287aade1a925849d3e90b9c94502747d9f2115f2 100644 GIT binary patch delta 932 zcmYjQdq`7Z6#ve3!)7XNyL(*QoOchWXlOI9Va1H5(;E1~RAN3z(|n*UvqDY#Bd}6z z93uLsFzXKqp}0vH)&fI&h$Kj86crVOv8?Gbj3ve9s_3dyPC#gJyfAuRIw1@eeNf}s;9bqI6y>AS= zxkQ-2VNQSmzUMOF1L|YSARLdy)PY7^h;aj?i@c#8U>{yE=0PdW8C#(mvtx7M1op)` zXfFcveI0+sI_cdzOp;t{a>5keqVijuH;vQEFURH3`FIoOhRtZ@1^P#acz2XdMsM>- z=mK}*cQcC`hiTe8zj$ zG#d5A>SmT@xZUQU&>CBf1>}^T4st|W0iD@|u9ZYS9knKelKN7_uQm?2-Eu-KCB>vH zmXIxUv@PzEJQw}ei$;4BCtk_wm#GLzo4wXNaPofE=yQ)&amM8ocVx$L$#i$T(l#*k zG0?@Rq6w=i2q`Ld6>D8_&W5Ewp3%C0Gv5O7ZDLQwCWyXC3t2mly6~|#274sUVT)f&?t zOOgTPG!*o`Vv)Y*+D>`t6(1NDhaJlT_t6fHTz3@&o$knBw3ZR>^MD(2Q-bq;oi819V)@ z!CSg5s~DosashsjBeNb>+Mn49ul6xB43ub!b2qS=&bunnLhoGdh*DWrIZn~VtPtno zDX(|wcUCdiKIGQr7I!g*sfXq7G~({#$UC#kv5-DxharBk*m3Dx`2iB z(_^9MiVf>%R4GCgSv@<@Mh86mK=j33x&jyc8Ig0stH#qGywnqEzmmyaegz(nYismdK(z&(0 z;kwFF{uKtx_(JSEtz9UUS)YO*NM$e}?cMjVsF8v+bb$Zhiqt?-sjH^;|s&4R_LlfC?zIz|_ WY;V-kc1$ElpVnxm<{yYJOZpGt?G1VW diff --git a/VisionJobFactory/bin/Debug/CaliperTool.pdb b/VisionJobFactory/bin/Debug/CaliperTool.pdb index 85cd95ef9c904c5dd23ed196db162da9afbd23dc..885d8794ba2c1d4c2d0ef317e21baf9d834a952c 100644 GIT binary patch delta 426 zcmZp;!`N_#aRUpNMDoSnSVjg01~C@}`>glBeYU3mJNItCTFGV^E*&mm*_gctYfmU8 ztlGFCTgv#YhSk;R$s2;(T+AWH!eQ)wfL*xsD&ypfal#V=WG6dFRj`~tyH9!Z z9w{p$Mw89oeH6J_7z9qg-z*bximg8HV+1<`Ln_cZ5MX4;`v_q{*n5F;#!vxtxeq`& zT^w?<91IMlAU^;By1q%A3=9fj8K7J}nuVKylAbV0G`ZhExiB1t268hnXyedV1C%== f4v|E6jDUkO0|U?_U;vWb{3Tw11y2;DJmCZYgdbu; delta 423 zcmZp;!`N_#aRUpNgvExSSVjg0hWsu*ndGZt9(~_lrM3C(|z)LcRb1 diff --git a/VisionJobFactory/bin/Debug/CommonMethods.dll b/VisionJobFactory/bin/Debug/CommonMethods.dll index 998e514af874a09b563d7c287adc6fa063761e75..11b7275acb7e9d3abac23f36af961a1223c3ce1a 100644 GIT binary patch literal 15872 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 diff --git a/VisionJobFactory/bin/Debug/CommonMethods.pdb b/VisionJobFactory/bin/Debug/CommonMethods.pdb index 557a6bab51fc377e61fea2ab0af01a0575138b44..13bff778da7ebd9e3d389131d13d8268f5b821f7 100644 GIT binary patch delta 7316 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 nT8e6+I0t$+gmc~vnHbE&UM43@w_mB9Z2V4I8S diff --git a/VisionJobFactory/bin/Debug/DataStruct.dll b/VisionJobFactory/bin/Debug/DataStruct.dll index 9179ad7244bcbee0b9522dadaf731fb43ef6c1f4..4fad34e133eb1aa408d2bfba5cb2e49a2c716354 100644 GIT binary patch delta 66 zcmZqBY0#O_!TgM~XJhwSZh_=xyX9xH4mi#7@_f#j)qP-d22TScNOtmTUP*y3JUf}D VO166M%#Xehv$bA+vk2cCb^x!T8^r(s delta 66 zcmZqBY0#O_!EC-EXk+(TZh@qR-wCSoQ=FE&7Ym=b@&EGX44wu?knH5wypjR}%l2j5 V7ChkF>nHIuqrWn3vk2cCb^x`z98~}S diff --git a/VisionJobFactory/bin/Debug/DataStruct.pdb b/VisionJobFactory/bin/Debug/DataStruct.pdb index ba9646588d834d483b328deb84397706c60e90d3..13e05314f6abfb00e3da7da54958634661444a13 100644 GIT binary patch delta 124 zcmZq3X~@~Y!X@#HvnQ63fq~%*&rYVPlC9o5^P?}sY^|5yEW`DNo1^8FWfybFRmRB+ z6%95!h+Puoin$3?%&^1sx7KDEjW|}OCsmVcbfwszR6PU=drxlE6`#CCHvo^ZdQaE^ D(9kT5 delta 119 zcmZq3X~@~Y!X;t8At;uSfq_9_*}jb1f(Lwi{Um;7^jD^Bmf?EC%^{n&Ytog#tBjKu zDjIBd5W6HeF@S55631p0jWAXw28PKsx>D>63=e_&y(c&7ica378-&M1y(jDdp8_b% diff --git a/VisionJobFactory/bin/Debug/FindLineTool.dll b/VisionJobFactory/bin/Debug/FindLineTool.dll index 9a6e389e6080ff20314a5c8aeee3b224ba164da1..c89895ed0a2a8fbf5927fc42317de7eb9b970e69 100644 GIT binary patch delta 68 zcmZo@U}|V!n$W?Vbg_41_t{v1gF#1&Pp0zt^f`-*uX&KnyE!B7izG;Pa(soPK+vUw XTa)u_0(<_t{v1vdgQad(6w+cd%tjPru`wzBwcAizG;Pa(soPfOljEGc{EzTezYQNa!X&7d6? diff --git a/VisionJobFactory/bin/Debug/FindLineTool.pdb b/VisionJobFactory/bin/Debug/FindLineTool.pdb index 06c8b4dbf51f8cfa6b975bdfb835ed0a77f8bf09..4b7d93dc2e4ecec722759a9c785786a6565f0da0 100644 GIT binary patch delta 1426 zcmZqZVQT1M+Q7mkk#w;)mXU#hA?VVmkyW6kI$>TQ-z=H?%e3OhH){67z;<^hFR>wrB@jzZ!8y{7$7^@L8^i!#98_L<~>rX z+AP9M4UL8kj^*UF0Vmk` znVQTPTgxZc1U_U@W@=cpIWcIXB$x0)pl=u^GVfZjStjQdXMNsB9iaa>L4shA_YuZo zWXSty3Y61?2>|&pCP*$0kG^!E96L-gn!Y@s90yFU9!;_gkH%VLjcEE>@#yQpqpyAn zP*NS{8Z<+91LY)f$Xx--nZUh>8ZsQf;5-GChX7Q$OI!>LS7A~NdG#nkx}2MVAqgRg zBFD+Yz)*$N&?g_8c^Mc=q52pZwl9Dg!N~CB;}4)*Dh|2-|2H#La4-TB0Z0MR0w_Rr zGDtiTCWRJ6xj=DT31k{j4p+jOkE{ zVg~eZ>jFwDfFytbU2YXn&J!YqA@><5w+R|g==zolFfeSzl&c3C^5kQb5U`lRVdxq> za{uti1qkCda}iKZA8a4c|L88g2$#f^V-R6rP{QF*C7_%(4mn?-+!|SkB(i->n_H{v LneY^~bx+s<(_03` delta 1084 zcmZqZVQT1M+Q7mkVX+}7mXU#hK|Lm_zq8%bfAgPMmXy77-*1-T(%};Jy%HXMyWG)J z_f^W$1xoX|82?IbbX?20m_v+(EnCib@|D2Jd{V1e%%)ekZQdiLs?8$8)X=v1sp|r^ z$#0d}H~08lW%dzgbYcu(tYB>DWNO&P)bNh6y_>Q9J!AVf#*TfAeTx|T)-d+(Wb8l1 zIMtG=DVniqA!E}+#%4vv=2WJMR!q|-FizjfI75bMW)$O`wUgHdoM0DVYI0y~oiMp3 z@F9yTQ^U&5i9s7BCkC*wFakZYStjQdCmREU4v;;WFIo%*((~3N;N`35fjzD3^*uZc_yp zBh-;RFiU~fFeJh_xj+s)Ag2L2@F1R#EOP=`<|4ApFQ`mC$SKS~LK8?MgIGQW23@EC zy3@OWatb))RsrQaamalJ%58!g2Bqr3N1rMLcp0A`A>lIP@t2<+Rb|#DM}J%YA{8Yh)p^ApYi>>JBD6 Jg+kpEb^xK~l_CHD diff --git a/VisionJobFactory/bin/Debug/HalconTool.dll b/VisionJobFactory/bin/Debug/HalconTool.dll index eeb932fa5720135620511cfe5a59da2d84a0f131..910a5015dad15c20dc5e52f03f39c9cdf4425603 100644 GIT binary patch delta 68 zcmZp8!r1VHaY6@k^2Oeb-G%`IY;JK!_$3Y9SBh+ZSl{tKa`Tx09!Zew9KlTbX!`kvt8-l*UZf delta 68 zcmZp8!r1VHaY6^P`G%m4-G%`IOe;@6*ty}a_fm=8qjAOGx;CE);E@E$PQINfDZu7; YEuLRK%dhM4M*bxay!kh?Wc^_W054D;ApigX diff --git a/VisionJobFactory/bin/Debug/HalconTool.pdb b/VisionJobFactory/bin/Debug/HalconTool.pdb index 9fb4e45ed2d5a8a23006d8843954a19b5658773c..c2f4bdd986c961dcef9231aa0a1163b1d97d0dae 100644 GIT binary patch delta 488 zcmZp;!`N_#aRUpNMDoSnSVjg0hDXka^jJMEx-Bi&*{*c&YvyJdE*&lr{=4}Z!R?wN z#$Q<~YyY1wnz&M`e52zU#>E_BENmeP$JvETC-X@KvFuB1?Ax3oB`Uxn%q-00#n>=y za-&ucBmZVT?P5k|ex|C;Ejn6EGL1|P2bmh@F*ZG8Y<6I5p32mGfvMS?spSA;yW8ed zdg_ckmW=644O5sJUoy68Z~m(h8Vn5VK*xdrBSYRt2n)jY z0LpPd1<>UJ@aPN2qc0v=Up<9jc^nI delta 353 zcmZp;!`N_#aRUpNg!zV`SVjg01~$KI@%-{xeqE0@@-KPd&A(ZOONUEjSHKs)=YRir z?>cJa{4GPL?Sk#22OAyNFfQg0V`1}Q7o2=0a5A4%5Q~%l5uwc~QlbJJBFrL8zKjjC zCpT*KFbZtu(=KLY7GSF1+@hn!B-6^&aEz&O8DrCD#%4dp=A}%{51E=>nOd$ewx@4C zrKirwW5bxu)G(8&@jGLy_vXL)(poHxK-X=SiLzs3XJByDU|?XM{4hkA6XawMAddsi z3qX+zN0Ez1kxN67%LDRK;HF#x@&w_$$3Wf@IB&To1H&>9Z*xK76c#)om-d7m0Ot8* Aj{pDw diff --git a/VisionJobFactory/bin/Debug/HalconWindow.exe b/VisionJobFactory/bin/Debug/HalconWindow.exe index bd0485e93153faecfe16102c6d94e17ce5f671a2..cd7cd1ae8bd407ee257eba2c796b045cba29b345 100644 GIT binary patch literal 67584 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 literal 66048 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 i+bAjI@k6MINPm2Q_Dhe)oqzuR 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 W!ry1EvlNsfAH?d0Z9c(i!2tl$dmQut delta 66 zcmZorX;7Ka!EC-EXk+(Yc7a)|Is2!~Iq%qAb2s&`)x3$DBRE_bL9&zQb4m&b%2qIm VTu*TCPoG{k?~w1s%_lf5H~^J08t?!B diff --git a/VisionJobFactory/bin/Debug/ToolBase.pdb b/VisionJobFactory/bin/Debug/ToolBase.pdb index 221e97e467fbacd5cfb7c21eb57d0b5a86cda02f..cb221d8f2f18ac2cf512ed7b27c190ec973b1a33 100644 GIT binary patch delta 67 ycmZp$X|UPA!X@#XvnQ63fq`LO+UbWA{yuY^rJxk~AXYbQvkcb@PCT+APdEW+Vj6D% delta 67 ycmZp$X|UPA!X;t8At;uSfq_9#wt`9IdV+g@`t-7ShkP$?mf?EAiAPrC2`2!^2^OUQ diff --git a/VisionJobFactory/bin/Debug/VisionJobFactory.dll b/VisionJobFactory/bin/Debug/VisionJobFactory.dll index 4cc5824b61637247ca280448fcfb75f8fdeb0047..3ce46160acd3a17737de9dd952d158cff95f7fb8 100644 GIT binary patch delta 86 zcmZqhY4DlQ!JK@tcVoA$q`-EsZI4{6R(kgY?zFg3=ow}Nx?4apTuIzZW21|VPpVi`sT mh8b2sEW^MM6zmer$H<;%BCx?@Yv;bZC2@H{o7c#MZ~_1~EF6{q diff --git a/VisionJobFactory/bin/Debug/VisionJobFactory.pdb b/VisionJobFactory/bin/Debug/VisionJobFactory.pdb index 054109fdf2a7da0c11206b70ba168ec744682336..c4f6cc72a81df20a055673b7c81b27869379d239 100644 GIT binary patch delta 402 zcmZpe!`Lu~aRUpNMDoSnSVjg0hLR2Q;)^4^+~=15GJ8Mmf$3%$t~b0KWqEhlg-fq8 zPA=3k*z6#2NtsJ{Ay6?xLvHZG%`!G_EP8n#SF4=B(G6$8m_p5Wlc z#10XdH_=ge@&`R!*Obf>1atBp?l(B)_VeiClw;;K#3|>^tBp%;b1&~r LE}W9J5<1KPA{RlE delta 177 zcmZ2!zS4ZdQf_fKtC+B0=lqn^n6S*^%=|ppl+2Ql)Z)o|xZmKE+s~tmQ;wO}5T~3s UuQo2Z&Aq%gxo}F>O6V{H0GjDQF#rGn diff --git a/VisionJobFactory/obj/Debug/VisionJobFactory.csproj.FileListAbsolute.txt b/VisionJobFactory/obj/Debug/VisionJobFactory.csproj.FileListAbsolute.txt index 29a43f0a1aa65221d93ceaa88020e37a82fe2d16..b2448ef3461eba6a01735612d681f7c3e512f7fa 100644 GIT binary patch literal 4442 zcmeHKX-||_6owIGkd*8d9``in- zR~2iX_`h%7h{I33t+LBCsO{4X1a149TbX?Nvk#phS*{?k18Ni%ND5fkkp)Z~`2Bnu zHImPH`t|?znF>UTB+lG8U^$)Uq28UIT!X@&H1XMu{GN1j_@=&8yjE zlN>O#r4@KW;@K}@YsL4A0al8ab!%oXyiBDqE2P0!6;W)fGB z6xc2{XgM-X4Y(v3eWeRNuKW`x&ecx=tE^l@G3v z=a4!m`s#YGT5Zna|-Jg*H9<7-&FKpghL>`{%guY-kA-vK4By z@?tvc0mtmlu|WC$yyI5s(7W&nr!3$`IGzidMh^FP z?k0my@Z(`$jqCOWwM;g$29SH##73izz+TP=rYa6VZe?*}p(TLCJ%zxWs%^k%VS#fR z>e^34lHvMg@V7wc-Ug5j5LI?~B|p5+D+nou=0g=N6a`H~NNs@D@I4vp0YL80Oizl( zb(P(^DgiH{s_8Dcz8aQfW9eaOXuj6i95AWMkK}#Nj8F&S!@0| zd+|ec7-jc9K@0c5%K{mO)T<< z!*5xpQ&30>?2!wKzE0ia^i(wq+Wx$J z-Ne4jOgRHz^Wi7wPC~iTg1&r9Pd{IhpRP7`!0>n-P>6F+$$0@4q&WTZC!b#2Kg{9;y3$kajn1B~X5Fhfdwe0E9i`nh+d-TAojlr**Tp=y?y|lOtSCe{?us+WB7Uog^qLH`8;DWcQ> delta 1379 zcmV-p1)TcYB8LqJViY4~V*#C!2_hfL>JVXa=25?NA{?QZ{vA;e?FC=nnG9dvnGA-< z(HF5{8UcR*ld87#)YzH(-dF5%5*VQ(4Xk18F-Y)rAH0bta-nlEI=;!;qsIY_7#T1} zMXP@ujn1EPMT%4ICE$BaQH95S66O z{i8x~{_M!_+X@8);jFc>XYsc}+pC9krU~?0p3CH(If@tK?`E`v;a1s&{Jg{z_rG_i zMGeu@zGCFJg;UTl)XavjMju@vg8Kn_GCmbR76|_F0xIs}yZEW*ODmQ-J1SAgqqk4} zXZ$j!5EXPD7*=42qaUqmM#FdL(~vm$a4dx1xX#x7cM-SrL&QeFQOMXHcfn} zh=g@F3;a3Yuh@d#O!a^s|E=~W(3fh1>m%eE)D*j(0?N|@Xs9KiFmdd0R;z!p)2x4a z)4@aAD8;hF?FFbmzKBP#X)r1NDJNUT(;UA6;hec&HevgkDK-%=HoD<^7O<|y=cI93 z(c$0D<}DB(@`jzEd;Fg$&aIFh@CUDyYx6hjp9PvPn0t)eFoYUp0Jmm$bl0qJcPMiR zEmyfo^dePGbq!^3t7A9G3(|jn=kEzY{)R&J)we}ICTGUbAen8ne_h;%+%M9$Rb*Uc zsm7nFQhvB&CTv-U^D7IEfoTTo=5hl$fCyd$#n!S+?o_pc>R0N#$Eoxo@uEqgMI+J1 z)^p>b=PU14>hrs>Z5~<(v(7Pc=f^nn1d)*}vUQ8_OEJ$liq>Iu(dK_K6#~SS(IkfQ zTn~t7DI%)Hckm+up|J%F_U^eSe-0H!Au;IM4Fs5}q2Qvo0s_Gc0vBJxv$}lGeW5F? z99|u|dFJCe9hme5VHr!Wlw9c#B*dhgk;+MB#&3wd4ST zNwoUIo{Q|~zU^BVR7eTQmf`&D)~SFQP37Fh+O2v5!DM z2j&y@zk;&YQ;gOQtb)lJ{jy<%@f7YI(h01G1j@+@Nxn0Q0Yop$cUGyn-Mw5kz|l^m lTi@sX(F(6MxR`vpRw^_2C=7ML#SXg>;jf)fYk2UMZc~n!sL%ia diff --git a/VisionJobFactory/obj/Debug/VisionJobFactory.csprojResolveAssemblyReference.cache b/VisionJobFactory/obj/Debug/VisionJobFactory.csprojResolveAssemblyReference.cache index b5d498f736965a92a5a362660537de88b88170b8..38fc2e42bdf3e6cfa575fac798c4c86528dce4cd 100644 GIT binary patch delta 2355 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 diff --git a/VisionJobFactory/obj/Debug/VisionJobFactory.pdb b/VisionJobFactory/obj/Debug/VisionJobFactory.pdb index 054109fdf2a7da0c11206b70ba168ec744682336..c4f6cc72a81df20a055673b7c81b27869379d239 100644 GIT binary patch delta 402 zcmZpe!`Lu~aRUpNMDoSnSVjg0hLR2Q;)^4^+~=15GJ8Mmf$3%$t~b0KWqEhlg-fq8 zPA=3k*z6#2NtsJ{Ay6?xLvHZG%`!G_EP8n#SF4=B(G6$8m_p5Wlc z#10XdH_=ge@&