diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FrmAnalysis.resx b/FormAnalysis/FrmAnalysis.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.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/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FrmAnalysis.resx b/FormAnalysis/FrmAnalysis.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.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/FormAnalysis/InitWinGridView.cs b/FormAnalysis/InitWinGridView.cs new file mode 100644 index 0000000..4537b42 --- /dev/null +++ b/FormAnalysis/InitWinGridView.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using WHC.Pager.WinControl; + +namespace Cyberpipe.FormAnalysis +{ + class InitWinGridView + { + public static void initlizeDatagrid(WinGridViewPager page, int rows, int maxPageIndex) + { + //控制表格显示的列,以及每一列要显示的列名 + page.Dock = DockStyle.Fill; + page.dataGridView1.Dock = DockStyle.Fill; + page.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + + page.BackColor = Color.LightCyan;//间隔颜色 + + //隐藏右键功能按钮 + page.dataGridView1.ContextMenuStrip.Items[1].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[2].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[3].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[4].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[5].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[6].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[7].Visible = false; + + //右键菜单宽度 + page.dataGridView1.ContextMenuStrip.AutoSize = false; + page.dataGridView1.ContextMenuStrip.Width = 0; + page.dataGridView1.ContextMenuStrip.Height = 0; + //控制间隔的颜色 + page.BackColor = Color.LightCyan;//间隔颜色 + //控制每页显示的最大数据量 + page.PagerInfo.RecordCount = rows; + page.PagerInfo.PageSize = maxPageIndex; + page.dataGridView1.Refresh(); + } + } +} diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FrmAnalysis.resx b/FormAnalysis/FrmAnalysis.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.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/FormAnalysis/InitWinGridView.cs b/FormAnalysis/InitWinGridView.cs new file mode 100644 index 0000000..4537b42 --- /dev/null +++ b/FormAnalysis/InitWinGridView.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using WHC.Pager.WinControl; + +namespace Cyberpipe.FormAnalysis +{ + class InitWinGridView + { + public static void initlizeDatagrid(WinGridViewPager page, int rows, int maxPageIndex) + { + //控制表格显示的列,以及每一列要显示的列名 + page.Dock = DockStyle.Fill; + page.dataGridView1.Dock = DockStyle.Fill; + page.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + + page.BackColor = Color.LightCyan;//间隔颜色 + + //隐藏右键功能按钮 + page.dataGridView1.ContextMenuStrip.Items[1].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[2].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[3].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[4].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[5].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[6].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[7].Visible = false; + + //右键菜单宽度 + page.dataGridView1.ContextMenuStrip.AutoSize = false; + page.dataGridView1.ContextMenuStrip.Width = 0; + page.dataGridView1.ContextMenuStrip.Height = 0; + //控制间隔的颜色 + page.BackColor = Color.LightCyan;//间隔颜色 + //控制每页显示的最大数据量 + page.PagerInfo.RecordCount = rows; + page.PagerInfo.PageSize = maxPageIndex; + page.dataGridView1.Refresh(); + } + } +} diff --git a/FrmFlagManagers.cs b/FrmFlagManagers.cs index d9d9a5e..e550c4a 100644 --- a/FrmFlagManagers.cs +++ b/FrmFlagManagers.cs @@ -375,6 +375,7 @@ { this.Show(); } + /// /// 位置查看 /// @@ -436,6 +437,5 @@ } } - } } diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FrmAnalysis.resx b/FormAnalysis/FrmAnalysis.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.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/FormAnalysis/InitWinGridView.cs b/FormAnalysis/InitWinGridView.cs new file mode 100644 index 0000000..4537b42 --- /dev/null +++ b/FormAnalysis/InitWinGridView.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using WHC.Pager.WinControl; + +namespace Cyberpipe.FormAnalysis +{ + class InitWinGridView + { + public static void initlizeDatagrid(WinGridViewPager page, int rows, int maxPageIndex) + { + //控制表格显示的列,以及每一列要显示的列名 + page.Dock = DockStyle.Fill; + page.dataGridView1.Dock = DockStyle.Fill; + page.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + + page.BackColor = Color.LightCyan;//间隔颜色 + + //隐藏右键功能按钮 + page.dataGridView1.ContextMenuStrip.Items[1].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[2].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[3].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[4].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[5].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[6].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[7].Visible = false; + + //右键菜单宽度 + page.dataGridView1.ContextMenuStrip.AutoSize = false; + page.dataGridView1.ContextMenuStrip.Width = 0; + page.dataGridView1.ContextMenuStrip.Height = 0; + //控制间隔的颜色 + page.BackColor = Color.LightCyan;//间隔颜色 + //控制每页显示的最大数据量 + page.PagerInfo.RecordCount = rows; + page.PagerInfo.PageSize = maxPageIndex; + page.dataGridView1.Refresh(); + } + } +} diff --git a/FrmFlagManagers.cs b/FrmFlagManagers.cs index d9d9a5e..e550c4a 100644 --- a/FrmFlagManagers.cs +++ b/FrmFlagManagers.cs @@ -375,6 +375,7 @@ { this.Show(); } + /// /// 位置查看 /// @@ -436,6 +437,5 @@ } } - } } diff --git a/MainFrm.cs b/MainFrm.cs index 24f70a6..bc11a9d 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -13,6 +13,7 @@ using System.Threading; using System.Windows.Forms; using Cyberpipe.EMS_Forms; +using Cyberpipe.FormAnalysis; using Cyberpipe.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -330,6 +331,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(沿线开挖ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("创建隧道") < 0) { 开挖分析ToolStripMenuItem.DropDownItems.Remove(创建隧道ToolStripMenuItem); @@ -342,6 +344,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(删除隧道ToolStripMenuItem); } + * */ } #endregion @@ -402,6 +405,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(纵断面分析ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("道路断面分析") < 0) { 断面分析ToolStripMenuItem.DropDownItems.Remove(道路断面分析ToolStripMenuItem); @@ -410,6 +414,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(基线剖面分析ToolStripMenuItem); } + * */ } #endregion @@ -774,6 +779,7 @@ } else { + /* if (Utility.userRole.IndexOf("地上模式") < 0) { buttonItem87.Visible = false; @@ -786,6 +792,8 @@ { buttonItem27.Visible = false; } + * */ + if (Utility.userRole.IndexOf("透明度设置") < 0) { sliderGroundTransSet1.Visible = false; @@ -993,7 +1001,7 @@ splitContainer1.Panel2Collapsed = true; - buttonItem87.Checked = true; //默认地上模式 + //buttonItem87.Checked = true; //默认地上模式 ribbonTabItem1.Select(); //初始化状态为浏览 sideBarPanelItem3.Visible = false; @@ -2447,6 +2455,7 @@ return null; } + /* /// /// 地上模式 菜单按钮 /// @@ -2538,6 +2547,7 @@ globeControl1.Globe.CameraMode = EnumCameraMode.Walk; } + */ /// /// 地面透明度设置 菜单 /// @@ -4701,6 +4711,31 @@ sideBar1.Refresh(); Refresh(); } + + private GSOFeatures getSelectedFeatures() + { + GSOFeatures feats = new GSOFeatures(); + + if (globeControl1.Globe.SelObjectCount == 0) + { + feats = null; + } + else + { + for (int i = 0; i < globeControl1.Globe.SelObjectCount; i++) + { + GSOLayer resLayer = null; + GSOFeature feat = null; + globeControl1.Globe.GetSelectObject(i, out feat, out resLayer); + if (feat != null && feat.Geometry.Type == EnumGeometryType.GeoPolyline3D) + { + feats.Add(feat); + } + } + } + return feats; + } + /// /// 碰撞审查 /// @@ -4708,30 +4743,16 @@ /// private void buttonItemSH1_Click(object sender, EventArgs e) { - //日志记录 + //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH1.Text); - - dataGridViewX4.Size = new Size(185, 92); - dataGridViewX5.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "碰撞审查"; - trackflag = "collision"; - controlContainerItem5.Control = panel2; - panel2.Dock = DockStyle.Fill; - panel2.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FrmAnalysis frm = new FrmAnalysis(feats, globeControl1); + frm.Show(); } /// /// 覆土审查 @@ -4742,26 +4763,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH2.Text); - - dataGridViewX6.Size = new Size(185, 92); - dataGridViewX7.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "覆土审查"; - trackflag = "ftAnalysis"; - controlContainerItem5.Control = panel4; - panel4.Visible = true; - panel4.Dock = DockStyle.Fill; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormFT frm = new FormFT(feats, globeControl1, layerTemp); + frm.Show(); } /// /// 水平净距审查 @@ -4772,26 +4781,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH3.Text); - - dataGridViewX8.Size = new Size(190, 92); - dataGridViewX9.Size = new Size(190, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "水平净距审查"; - trackflag = "horizontal"; - controlContainerItem5.Control = panel5; - panel5.Dock = DockStyle.Fill; - panel5.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormHor frm = new FormHor(feats, globeControl1); + frm.Show(); } /// /// 垂直净距审查 @@ -4803,33 +4800,15 @@ //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH4.Text); - dataGridViewX2.Visible = true; - dataGridViewX3.Visible = true; - dataGridViewX2.Size = new Size(185, 92); - dataGridViewX3.Size = new Size(185, 120); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormVer frm = new FormVer(feats, globeControl1,layerTemp); + frm.Show(); - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "垂直净距审查"; - trackflag = "vertical"; - //globeControl1.Globe.Action = EnumAction3D.SelectObject; - panel2.Visible = false; - panel3.Visible = false; - panel5.Visible = false; - panel4.Visible = false; - controlContainerItem5.Control = panel1; - panel1.Dock = DockStyle.Fill; - panel1.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); } #endregion @@ -5842,6 +5821,7 @@ FrmProfileAnalysis frm = new FrmProfileAnalysis(globeControl1, feats); frm.Show(this); } + /* /// /// 道路断面分析 /// @@ -5854,6 +5834,7 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.DLDM_Analysis; } + /// /// 基线剖面分析 /// @@ -5865,7 +5846,8 @@ globeControl1.Globe.TrackPolylineTool.VerticalLineVisible = true; globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.JXPM_Analysis; - } + } + * * */ #endregion /// /// 创建拓扑 @@ -6059,6 +6041,8 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.YXKW_Analysis; } + + /* /// /// 创建隧道 /// @@ -6131,6 +6115,7 @@ MessageBox.Show("请选中要删除的隧道!", "提示"); } } + * */ /// /// 通视分析 /// @@ -7563,9 +7548,7 @@ modelBuilder.batchInsert(dataSpace, redDt, redFeatures); } - #endregion - } #endregion } @@ -7835,6 +7818,7 @@ frm.Show(); } + /* private void buttonItem查看数据_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, buttonItem查看数据.Text); @@ -7847,6 +7831,7 @@ globeControl1.Refresh(); } } + * */ /// /// 规划数据入库 /// diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FrmAnalysis.resx b/FormAnalysis/FrmAnalysis.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.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/FormAnalysis/InitWinGridView.cs b/FormAnalysis/InitWinGridView.cs new file mode 100644 index 0000000..4537b42 --- /dev/null +++ b/FormAnalysis/InitWinGridView.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using WHC.Pager.WinControl; + +namespace Cyberpipe.FormAnalysis +{ + class InitWinGridView + { + public static void initlizeDatagrid(WinGridViewPager page, int rows, int maxPageIndex) + { + //控制表格显示的列,以及每一列要显示的列名 + page.Dock = DockStyle.Fill; + page.dataGridView1.Dock = DockStyle.Fill; + page.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + + page.BackColor = Color.LightCyan;//间隔颜色 + + //隐藏右键功能按钮 + page.dataGridView1.ContextMenuStrip.Items[1].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[2].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[3].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[4].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[5].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[6].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[7].Visible = false; + + //右键菜单宽度 + page.dataGridView1.ContextMenuStrip.AutoSize = false; + page.dataGridView1.ContextMenuStrip.Width = 0; + page.dataGridView1.ContextMenuStrip.Height = 0; + //控制间隔的颜色 + page.BackColor = Color.LightCyan;//间隔颜色 + //控制每页显示的最大数据量 + page.PagerInfo.RecordCount = rows; + page.PagerInfo.PageSize = maxPageIndex; + page.dataGridView1.Refresh(); + } + } +} diff --git a/FrmFlagManagers.cs b/FrmFlagManagers.cs index d9d9a5e..e550c4a 100644 --- a/FrmFlagManagers.cs +++ b/FrmFlagManagers.cs @@ -375,6 +375,7 @@ { this.Show(); } + /// /// 位置查看 /// @@ -436,6 +437,5 @@ } } - } } diff --git a/MainFrm.cs b/MainFrm.cs index 24f70a6..bc11a9d 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -13,6 +13,7 @@ using System.Threading; using System.Windows.Forms; using Cyberpipe.EMS_Forms; +using Cyberpipe.FormAnalysis; using Cyberpipe.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -330,6 +331,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(沿线开挖ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("创建隧道") < 0) { 开挖分析ToolStripMenuItem.DropDownItems.Remove(创建隧道ToolStripMenuItem); @@ -342,6 +344,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(删除隧道ToolStripMenuItem); } + * */ } #endregion @@ -402,6 +405,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(纵断面分析ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("道路断面分析") < 0) { 断面分析ToolStripMenuItem.DropDownItems.Remove(道路断面分析ToolStripMenuItem); @@ -410,6 +414,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(基线剖面分析ToolStripMenuItem); } + * */ } #endregion @@ -774,6 +779,7 @@ } else { + /* if (Utility.userRole.IndexOf("地上模式") < 0) { buttonItem87.Visible = false; @@ -786,6 +792,8 @@ { buttonItem27.Visible = false; } + * */ + if (Utility.userRole.IndexOf("透明度设置") < 0) { sliderGroundTransSet1.Visible = false; @@ -993,7 +1001,7 @@ splitContainer1.Panel2Collapsed = true; - buttonItem87.Checked = true; //默认地上模式 + //buttonItem87.Checked = true; //默认地上模式 ribbonTabItem1.Select(); //初始化状态为浏览 sideBarPanelItem3.Visible = false; @@ -2447,6 +2455,7 @@ return null; } + /* /// /// 地上模式 菜单按钮 /// @@ -2538,6 +2547,7 @@ globeControl1.Globe.CameraMode = EnumCameraMode.Walk; } + */ /// /// 地面透明度设置 菜单 /// @@ -4701,6 +4711,31 @@ sideBar1.Refresh(); Refresh(); } + + private GSOFeatures getSelectedFeatures() + { + GSOFeatures feats = new GSOFeatures(); + + if (globeControl1.Globe.SelObjectCount == 0) + { + feats = null; + } + else + { + for (int i = 0; i < globeControl1.Globe.SelObjectCount; i++) + { + GSOLayer resLayer = null; + GSOFeature feat = null; + globeControl1.Globe.GetSelectObject(i, out feat, out resLayer); + if (feat != null && feat.Geometry.Type == EnumGeometryType.GeoPolyline3D) + { + feats.Add(feat); + } + } + } + return feats; + } + /// /// 碰撞审查 /// @@ -4708,30 +4743,16 @@ /// private void buttonItemSH1_Click(object sender, EventArgs e) { - //日志记录 + //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH1.Text); - - dataGridViewX4.Size = new Size(185, 92); - dataGridViewX5.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "碰撞审查"; - trackflag = "collision"; - controlContainerItem5.Control = panel2; - panel2.Dock = DockStyle.Fill; - panel2.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FrmAnalysis frm = new FrmAnalysis(feats, globeControl1); + frm.Show(); } /// /// 覆土审查 @@ -4742,26 +4763,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH2.Text); - - dataGridViewX6.Size = new Size(185, 92); - dataGridViewX7.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "覆土审查"; - trackflag = "ftAnalysis"; - controlContainerItem5.Control = panel4; - panel4.Visible = true; - panel4.Dock = DockStyle.Fill; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormFT frm = new FormFT(feats, globeControl1, layerTemp); + frm.Show(); } /// /// 水平净距审查 @@ -4772,26 +4781,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH3.Text); - - dataGridViewX8.Size = new Size(190, 92); - dataGridViewX9.Size = new Size(190, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "水平净距审查"; - trackflag = "horizontal"; - controlContainerItem5.Control = panel5; - panel5.Dock = DockStyle.Fill; - panel5.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormHor frm = new FormHor(feats, globeControl1); + frm.Show(); } /// /// 垂直净距审查 @@ -4803,33 +4800,15 @@ //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH4.Text); - dataGridViewX2.Visible = true; - dataGridViewX3.Visible = true; - dataGridViewX2.Size = new Size(185, 92); - dataGridViewX3.Size = new Size(185, 120); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormVer frm = new FormVer(feats, globeControl1,layerTemp); + frm.Show(); - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "垂直净距审查"; - trackflag = "vertical"; - //globeControl1.Globe.Action = EnumAction3D.SelectObject; - panel2.Visible = false; - panel3.Visible = false; - panel5.Visible = false; - panel4.Visible = false; - controlContainerItem5.Control = panel1; - panel1.Dock = DockStyle.Fill; - panel1.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); } #endregion @@ -5842,6 +5821,7 @@ FrmProfileAnalysis frm = new FrmProfileAnalysis(globeControl1, feats); frm.Show(this); } + /* /// /// 道路断面分析 /// @@ -5854,6 +5834,7 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.DLDM_Analysis; } + /// /// 基线剖面分析 /// @@ -5865,7 +5846,8 @@ globeControl1.Globe.TrackPolylineTool.VerticalLineVisible = true; globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.JXPM_Analysis; - } + } + * * */ #endregion /// /// 创建拓扑 @@ -6059,6 +6041,8 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.YXKW_Analysis; } + + /* /// /// 创建隧道 /// @@ -6131,6 +6115,7 @@ MessageBox.Show("请选中要删除的隧道!", "提示"); } } + * */ /// /// 通视分析 /// @@ -7563,9 +7548,7 @@ modelBuilder.batchInsert(dataSpace, redDt, redFeatures); } - #endregion - } #endregion } @@ -7835,6 +7818,7 @@ frm.Show(); } + /* private void buttonItem查看数据_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, buttonItem查看数据.Text); @@ -7847,6 +7831,7 @@ globeControl1.Refresh(); } } + * */ /// /// 规划数据入库 /// diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index abcf2ec..92ea9e1 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -177,8 +177,6 @@ this.断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.横断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.纵断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.道路断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.基线剖面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.拓扑分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.创建拓扑ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.上游分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -191,9 +189,6 @@ this.多边形开挖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.挖方量分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.沿线开挖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.创建隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.隐藏隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.删除隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.视域分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.通视分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.可视域分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -274,7 +269,6 @@ this.buttonItemSJGL7 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemSJGL8 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemSJGL9 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem查看数据 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemGHRK = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemZTT = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemZTT1 = new DevComponents.DotNetBar.ButtonItem(); @@ -328,12 +322,17 @@ this.buttonItem12 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem13 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem14 = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel5 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar2 = new DevComponents.DotNetBar.RibbonBar(); - this.buttonItemHX1 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItemHX2 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItemDCTP = new DevComponents.DotNetBar.ButtonItem(); - this.sliderItem3 = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel3 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar4 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_flag = new DevComponents.DotNetBar.ButtonItem(); + this.slider4ground = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem91 = new DevComponents.DotNetBar.ButtonItem(); + this.btnlegendSet = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem89 = new DevComponents.DotNetBar.ButtonItem(); + this.btnOutputJPG = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel12 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar18 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItem133 = new DevComponents.DotNetBar.ButtonItem(); @@ -345,19 +344,31 @@ this.buttonItem134 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem130 = new DevComponents.DotNetBar.ButtonItem(); this.btn_check_history = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel5 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar2 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItemHX1 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemHX2 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemDCTP = new DevComponents.DotNetBar.ButtonItem(); + this.sliderItem3 = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel6 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar6 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItemSPSZ = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem8 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemLocation = new DevComponents.DotNetBar.ButtonItem(); + this.sliderItem2 = new DevComponents.DotNetBar.SliderItem(); + this.buttonItemGBJC = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); - this.buttonItem87 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem88 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem27 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem91 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); - this.btnlegendSet = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem89 = new DevComponents.DotNetBar.ButtonItem(); - this.btnOutputJPG = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel2 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar3 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_user_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_role_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_resc_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_role_resc = new DevComponents.DotNetBar.ButtonItem(); + this.btn_user_role = new DevComponents.DotNetBar.ButtonItem(); + this.btn_password_edit = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemPasswordReset = new DevComponents.DotNetBar.ButtonItem(); this.ribbonTabItem1 = new DevComponents.DotNetBar.RibbonTabItem(); this.ribbonTabItem11 = new DevComponents.DotNetBar.RibbonTabItem(); this.ribbonTabItem6 = new DevComponents.DotNetBar.RibbonTabItem(); @@ -540,14 +551,14 @@ this.contextMenuStripDeleteLayerNode.SuspendLayout(); this.ribbonControl1.SuspendLayout(); this.ribbonPanel15.SuspendLayout(); - this.ribbonPanel6.SuspendLayout(); - this.ribbonPanel2.SuspendLayout(); - this.ribbonPanel3.SuspendLayout(); this.ribbonPanel7.SuspendLayout(); - this.ribbonPanel5.SuspendLayout(); - this.ribbonPanel12.SuspendLayout(); - this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel3.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); + this.ribbonPanel12.SuspendLayout(); + this.ribbonPanel5.SuspendLayout(); + this.ribbonPanel6.SuspendLayout(); + this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel2.SuspendLayout(); this.panelOfTable.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.statusStrip2.SuspendLayout(); @@ -1672,9 +1683,7 @@ // this.断面分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.横断面分析ToolStripMenuItem, - this.纵断面分析ToolStripMenuItem, - this.道路断面分析ToolStripMenuItem, - this.基线剖面分析ToolStripMenuItem}); + this.纵断面分析ToolStripMenuItem}); this.断面分析ToolStripMenuItem.Name = "断面分析ToolStripMenuItem"; this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.断面分析ToolStripMenuItem.Text = "断面分析"; @@ -1682,31 +1691,17 @@ // 横断面分析ToolStripMenuItem // this.横断面分析ToolStripMenuItem.Name = "横断面分析ToolStripMenuItem"; - this.横断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.横断面分析ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.横断面分析ToolStripMenuItem.Text = "横断面分析"; this.横断面分析ToolStripMenuItem.Click += new System.EventHandler(this.横断面分析ToolStripMenuItem_Click); // // 纵断面分析ToolStripMenuItem // this.纵断面分析ToolStripMenuItem.Name = "纵断面分析ToolStripMenuItem"; - this.纵断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.纵断面分析ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.纵断面分析ToolStripMenuItem.Text = "纵断面分析"; this.纵断面分析ToolStripMenuItem.Click += new System.EventHandler(this.纵断面分析ToolStripMenuItem_Click); // - // 道路断面分析ToolStripMenuItem - // - this.道路断面分析ToolStripMenuItem.Name = "道路断面分析ToolStripMenuItem"; - this.道路断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.道路断面分析ToolStripMenuItem.Text = "道路断面分析"; - this.道路断面分析ToolStripMenuItem.Click += new System.EventHandler(this.道路断面分析ToolStripMenuItem_Click); - // - // 基线剖面分析ToolStripMenuItem - // - this.基线剖面分析ToolStripMenuItem.Name = "基线剖面分析ToolStripMenuItem"; - this.基线剖面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.基线剖面分析ToolStripMenuItem.Text = "基线剖面分析"; - this.基线剖面分析ToolStripMenuItem.Click += new System.EventHandler(this.基线剖面分析ToolStripMenuItem_Click); - // // 拓扑分析ToolStripMenuItem // this.拓扑分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1775,10 +1770,7 @@ this.开挖分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.多边形开挖ToolStripMenuItem, this.挖方量分析ToolStripMenuItem, - this.沿线开挖ToolStripMenuItem, - this.创建隧道ToolStripMenuItem, - this.隐藏隧道ToolStripMenuItem, - this.删除隧道ToolStripMenuItem}); + this.沿线开挖ToolStripMenuItem}); this.开挖分析ToolStripMenuItem.Name = "开挖分析ToolStripMenuItem"; this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.开挖分析ToolStripMenuItem.Text = "开挖分析"; @@ -1804,27 +1796,6 @@ this.沿线开挖ToolStripMenuItem.Text = "沿线开挖"; this.沿线开挖ToolStripMenuItem.Click += new System.EventHandler(this.沿线开挖ToolStripMenuItem_Click); // - // 创建隧道ToolStripMenuItem - // - this.创建隧道ToolStripMenuItem.Name = "创建隧道ToolStripMenuItem"; - this.创建隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.创建隧道ToolStripMenuItem.Text = "创建隧道"; - this.创建隧道ToolStripMenuItem.Click += new System.EventHandler(this.创建隧道ToolStripMenuItem_Click); - // - // 隐藏隧道ToolStripMenuItem - // - this.隐藏隧道ToolStripMenuItem.Name = "隐藏隧道ToolStripMenuItem"; - this.隐藏隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.隐藏隧道ToolStripMenuItem.Text = "隐藏隧道"; - this.隐藏隧道ToolStripMenuItem.Click += new System.EventHandler(this.隐藏隧道ToolStripMenuItem_Click); - // - // 删除隧道ToolStripMenuItem - // - this.删除隧道ToolStripMenuItem.Name = "删除隧道ToolStripMenuItem"; - this.删除隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.删除隧道ToolStripMenuItem.Text = "删除隧道"; - this.删除隧道ToolStripMenuItem.Click += new System.EventHandler(this.删除隧道ToolStripMenuItem_Click); - // // 视域分析ToolStripMenuItem // this.视域分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -2172,14 +2143,14 @@ this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel6); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Controls.Add(this.ribbonPanel7); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); - this.ribbonControl1.Controls.Add(this.ribbonPanel12); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; this.ribbonControl1.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.ribbonControl1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { @@ -2393,7 +2364,6 @@ this.buttonItemSJGL7, this.buttonItemSJGL8, this.buttonItemSJGL9, - this.buttonItem查看数据, this.buttonItemGHRK}); this.buttonItemSJGL.SubItemsExpandWidth = 14; this.buttonItemSJGL.Text = "数据管理"; @@ -2503,13 +2473,6 @@ this.buttonItemSJGL9.Text = "数据备份"; this.buttonItemSJGL9.Click += new System.EventHandler(this.buttonItemSJGL9_Click); // - // buttonItem查看数据 - // - this.buttonItem查看数据.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem查看数据.Image"))); - this.buttonItem查看数据.Name = "buttonItem查看数据"; - this.buttonItem查看数据.Text = "查看数据"; - this.buttonItem查看数据.Click += new System.EventHandler(this.buttonItem查看数据_Click); - // // buttonItemGHRK // this.buttonItemGHRK.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemGHRK.Image"))); @@ -3145,107 +3108,202 @@ this.buttonItem14.Text = "导出施工图"; this.buttonItem14.Click += new System.EventHandler(this.buttonItem14_Click); // - // ribbonPanel5 + // ribbonPanel3 // - this.ribbonPanel5.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel5.Controls.Add(this.ribbonBar2); - this.ribbonPanel5.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel5.Location = new System.Drawing.Point(0, 0); - this.ribbonPanel5.Name = "ribbonPanel5"; - this.ribbonPanel5.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel5.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel3.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel3.Controls.Add(this.ribbonBar4); + this.ribbonPanel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel3.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel3.Name = "ribbonPanel3"; + this.ribbonPanel3.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel3.Size = new System.Drawing.Size(1328, 62); // // // - this.ribbonPanel5.Style.Class = ""; - this.ribbonPanel5.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.Style.Class = ""; + this.ribbonPanel3.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel5.StyleMouseDown.Class = ""; - this.ribbonPanel5.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.StyleMouseDown.Class = ""; + this.ribbonPanel3.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel5.StyleMouseOver.Class = ""; - this.ribbonPanel5.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel5.TabIndex = 37; - this.ribbonPanel5.Visible = false; + this.ribbonPanel3.StyleMouseOver.Class = ""; + this.ribbonPanel3.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.TabIndex = 40; + this.ribbonPanel3.Visible = false; // - // ribbonBar2 + // ribbonBar4 // - this.ribbonBar2.AutoOverflowEnabled = true; + this.ribbonBar4.AutoOverflowEnabled = true; // // // - this.ribbonBar2.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar2.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar4.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar2.BackgroundStyle.Class = ""; - this.ribbonBar2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar2.ContainerControlProcessDialogKey = true; - this.ribbonBar2.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar2.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.buttonItemHX1, - this.buttonItemHX2, - this.buttonItemDCTP, - this.sliderItem3}); - this.ribbonBar2.Location = new System.Drawing.Point(3, 0); - this.ribbonBar2.Name = "ribbonBar2"; - this.ribbonBar2.Size = new System.Drawing.Size(350, 92); - this.ribbonBar2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar2.TabIndex = 0; + this.ribbonBar4.BackgroundStyle.Class = ""; + this.ribbonBar4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.ContainerControlProcessDialogKey = true; + this.ribbonBar4.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar4.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_flag, + this.slider4ground}); + this.ribbonBar4.Location = new System.Drawing.Point(3, 0); + this.ribbonBar4.Name = "ribbonBar4"; + this.ribbonBar4.Size = new System.Drawing.Size(634, 59); + this.ribbonBar4.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar4.TabIndex = 0; // // // - this.ribbonBar2.TitleStyle.Class = ""; - this.ribbonBar2.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.TitleStyle.Class = ""; + this.ribbonBar4.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar2.TitleStyleMouseOver.Class = ""; - this.ribbonBar2.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar2.TitleVisible = false; + this.ribbonBar4.TitleStyleMouseOver.Class = ""; + this.ribbonBar4.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.TitleVisible = false; // - // buttonItemHX1 + // btn_flag // - this.buttonItemHX1.AutoExpandOnClick = true; - this.buttonItemHX1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX1.Image"))); - this.buttonItemHX1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemHX1.Name = "buttonItemHX1"; - this.buttonItemHX1.SubItemsExpandWidth = 14; - this.buttonItemHX1.Text = "导入红线"; - this.buttonItemHX1.Click += new System.EventHandler(this.buttonItemHX1_Click); + this.btn_flag.Image = global::Cyberpipe.Properties.Resources._24x24icon_03_hover; + this.btn_flag.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_flag.Name = "btn_flag"; + this.btn_flag.SubItemsExpandWidth = 14; + this.btn_flag.Text = "标识器管理"; + this.btn_flag.Click += new System.EventHandler(this.btn_flag_Click); // - // buttonItemHX2 + // slider4ground // - this.buttonItemHX2.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX2.Image"))); - this.buttonItemHX2.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemHX2.Name = "buttonItemHX2"; - this.buttonItemHX2.SubItemsExpandWidth = 14; - this.buttonItemHX2.Text = "红线审核"; - this.buttonItemHX2.Click += new System.EventHandler(this.buttonItemHX2_Click); + this.slider4ground.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.slider4ground.LabelWidth = 50; + this.slider4ground.Name = "slider4ground"; + this.slider4ground.Text = "地面透明度"; + this.slider4ground.TextColor = System.Drawing.Color.Black; + this.slider4ground.Value = 0; + this.slider4ground.ValueChanged += new System.EventHandler(this.slider4ground_ValueChanged); // - // buttonItemDCTP + // ribbonPanel1 // - this.buttonItemDCTP.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemDCTP.Image"))); - this.buttonItemDCTP.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemDCTP.Name = "buttonItemDCTP"; - this.buttonItemDCTP.SubItemsExpandWidth = 14; - this.buttonItemDCTP.Text = "导出图片"; - this.buttonItemDCTP.Click += new System.EventHandler(this.buttonItemDCTP_Click); + this.ribbonPanel1.AutoSize = true; + this.ribbonPanel1.CanvasColor = System.Drawing.Color.Gray; + this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel1.Controls.Add(this.ribbonBar21); + this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Name = "ribbonPanel1"; + this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); // - // sliderItem3 // - this.sliderItem3.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; - this.sliderItem3.LabelWidth = 50; - this.sliderItem3.Name = "sliderItem3"; - this.sliderItem3.Text = "地面透明度"; - this.sliderItem3.TextColor = System.Drawing.Color.Black; - this.sliderItem3.Value = 0; - this.sliderItem3.ValueChanged += new System.EventHandler(this.sliderItem3_ValueChanged); + // + this.ribbonPanel1.Style.Class = ""; + this.ribbonPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel1.StyleMouseDown.Class = ""; + this.ribbonPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel1.StyleMouseOver.Class = ""; + this.ribbonPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel1.TabIndex = 1; + this.ribbonPanel1.Visible = false; + // + // ribbonBar21 + // + this.ribbonBar21.AutoOverflowEnabled = true; + this.ribbonBar21.BackColor = System.Drawing.Color.White; + // + // + // + this.ribbonBar21.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar21.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar21.BackgroundStyle.Class = ""; + this.ribbonBar21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar21.ContainerControlProcessDialogKey = true; + this.ribbonBar21.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar21.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItem1, + this.sliderGroundTransSet1, + this.buttonItem91, + this.btnlegendSet, + this.buttonItem89, + this.btnOutputJPG}); + this.ribbonBar21.Location = new System.Drawing.Point(3, 0); + this.ribbonBar21.Name = "ribbonBar21"; + this.ribbonBar21.Size = new System.Drawing.Size(447, 59); + this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar21.TabIndex = 2; + this.ribbonBar21.Text = "浏览模式"; + // + // + // + this.ribbonBar21.TitleStyle.Class = ""; + this.ribbonBar21.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar21.TitleStyleMouseOver.Class = ""; + this.ribbonBar21.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar21.TitleVisible = false; + // + // buttonItem1 + // + this.buttonItem1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem1.Image"))); + this.buttonItem1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem1.Name = "buttonItem1"; + this.buttonItem1.SubItemsExpandWidth = 14; + this.buttonItem1.Text = "图层管理"; + this.buttonItem1.Click += new System.EventHandler(this.buttonItem1_Click); + // + // buttonItem91 + // + this.buttonItem91.ForeColor = System.Drawing.Color.Black; + this.buttonItem91.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem91.Image"))); + this.buttonItem91.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem91.Name = "buttonItem91"; + this.buttonItem91.SubItemsExpandWidth = 14; + this.buttonItem91.Text = "快速定位"; + this.buttonItem91.Click += new System.EventHandler(this.buttonItem91_Click); + // + // btnlegendSet + // + this.btnlegendSet.Image = ((System.Drawing.Image)(resources.GetObject("btnlegendSet.Image"))); + this.btnlegendSet.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btnlegendSet.Name = "btnlegendSet"; + this.btnlegendSet.SubItemsExpandWidth = 14; + this.btnlegendSet.Text = "图例"; + this.btnlegendSet.Click += new System.EventHandler(this.btnlegendSet_Click); + // + // buttonItem89 + // + this.buttonItem89.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem89.Image"))); + this.buttonItem89.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem89.Name = "buttonItem89"; + this.buttonItem89.SubItemsExpandWidth = 14; + this.buttonItem89.Text = "全屏显示"; + this.buttonItem89.Click += new System.EventHandler(this.buttonItem89_Click); + // + // btnOutputJPG + // + this.btnOutputJPG.Image = ((System.Drawing.Image)(resources.GetObject("btnOutputJPG.Image"))); + this.btnOutputJPG.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btnOutputJPG.Name = "btnOutputJPG"; + this.btnOutputJPG.SubItemsExpandWidth = 14; + this.btnOutputJPG.Text = "导出图片"; + this.btnOutputJPG.Click += new System.EventHandler(this.btnOutputJPG_Click); // // ribbonPanel12 // @@ -3253,10 +3311,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3295,7 +3353,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3347,7 +3405,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3417,15 +3475,228 @@ this.btn_check_history.Text = "审核历史"; this.btn_check_history.Click += new System.EventHandler(this.btn_check_history_Click); // + // ribbonPanel5 + // + this.ribbonPanel5.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel5.Controls.Add(this.ribbonBar2); + this.ribbonPanel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel5.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel5.Name = "ribbonPanel5"; + this.ribbonPanel5.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel5.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel5.Style.Class = ""; + this.ribbonPanel5.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel5.StyleMouseDown.Class = ""; + this.ribbonPanel5.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel5.StyleMouseOver.Class = ""; + this.ribbonPanel5.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel5.TabIndex = 37; + this.ribbonPanel5.Visible = false; + // + // ribbonBar2 + // + this.ribbonBar2.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar2.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar2.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar2.BackgroundStyle.Class = ""; + this.ribbonBar2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar2.ContainerControlProcessDialogKey = true; + this.ribbonBar2.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar2.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItemHX1, + this.buttonItemHX2, + this.buttonItemDCTP, + this.sliderItem3}); + this.ribbonBar2.Location = new System.Drawing.Point(3, 0); + this.ribbonBar2.Name = "ribbonBar2"; + this.ribbonBar2.Size = new System.Drawing.Size(350, 59); + this.ribbonBar2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar2.TabIndex = 0; + // + // + // + this.ribbonBar2.TitleStyle.Class = ""; + this.ribbonBar2.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar2.TitleStyleMouseOver.Class = ""; + this.ribbonBar2.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar2.TitleVisible = false; + // + // buttonItemHX1 + // + this.buttonItemHX1.AutoExpandOnClick = true; + this.buttonItemHX1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX1.Image"))); + this.buttonItemHX1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemHX1.Name = "buttonItemHX1"; + this.buttonItemHX1.SubItemsExpandWidth = 14; + this.buttonItemHX1.Text = "导入红线"; + this.buttonItemHX1.Click += new System.EventHandler(this.buttonItemHX1_Click); + // + // buttonItemHX2 + // + this.buttonItemHX2.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX2.Image"))); + this.buttonItemHX2.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemHX2.Name = "buttonItemHX2"; + this.buttonItemHX2.SubItemsExpandWidth = 14; + this.buttonItemHX2.Text = "红线审核"; + this.buttonItemHX2.Click += new System.EventHandler(this.buttonItemHX2_Click); + // + // buttonItemDCTP + // + this.buttonItemDCTP.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemDCTP.Image"))); + this.buttonItemDCTP.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemDCTP.Name = "buttonItemDCTP"; + this.buttonItemDCTP.SubItemsExpandWidth = 14; + this.buttonItemDCTP.Text = "导出图片"; + this.buttonItemDCTP.Click += new System.EventHandler(this.buttonItemDCTP_Click); + // + // sliderItem3 + // + this.sliderItem3.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.sliderItem3.LabelWidth = 50; + this.sliderItem3.Name = "sliderItem3"; + this.sliderItem3.Text = "地面透明度"; + this.sliderItem3.TextColor = System.Drawing.Color.Black; + this.sliderItem3.Value = 0; + this.sliderItem3.ValueChanged += new System.EventHandler(this.sliderItem3_ValueChanged); + // + // ribbonPanel6 + // + this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel6.Controls.Add(this.ribbonBar6); + this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Name = "ribbonPanel6"; + this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel6.Style.Class = ""; + this.ribbonPanel6.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel6.StyleMouseDown.Class = ""; + this.ribbonPanel6.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel6.StyleMouseOver.Class = ""; + this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; + // + // ribbonBar6 + // + this.ribbonBar6.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar6.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar6.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar6.BackgroundStyle.Class = ""; + this.ribbonBar6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar6.ContainerControlProcessDialogKey = true; + this.ribbonBar6.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar6.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItemSPSZ, + this.buttonItem8, + this.buttonItemLocation, + this.sliderItem2, + this.buttonItemGBJC}); + this.ribbonBar6.Location = new System.Drawing.Point(3, 0); + this.ribbonBar6.Name = "ribbonBar6"; + this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar6.TabIndex = 0; + // + // + // + this.ribbonBar6.TitleStyle.Class = ""; + this.ribbonBar6.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar6.TitleStyleMouseOver.Class = ""; + this.ribbonBar6.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar6.TitleVisible = false; + // + // buttonItemSPSZ + // + this.buttonItemSPSZ.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemSPSZ.Image"))); + this.buttonItemSPSZ.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemSPSZ.Name = "buttonItemSPSZ"; + this.buttonItemSPSZ.SubItemsExpandWidth = 14; + this.buttonItemSPSZ.Text = "双屏设置"; + this.buttonItemSPSZ.Click += new System.EventHandler(this.buttonItemSPSZ_Click); + // + // buttonItem8 + // + this.buttonItem8.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem8.Image"))); + this.buttonItem8.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem8.Name = "buttonItem8"; + this.buttonItem8.SubItemsExpandWidth = 14; + this.buttonItem8.Text = "双屏分析"; + this.buttonItem8.Click += new System.EventHandler(this.buttonItem8_Click); + // + // buttonItemLocation + // + this.buttonItemLocation.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemLocation.Image"))); + this.buttonItemLocation.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemLocation.Name = "buttonItemLocation"; + this.buttonItemLocation.SubItemsExpandWidth = 14; + this.buttonItemLocation.Text = "快速定位"; + this.buttonItemLocation.Click += new System.EventHandler(this.buttonItemLocation_Click); + // + // sliderItem2 + // + this.sliderItem2.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.sliderItem2.LabelWidth = 50; + this.sliderItem2.Name = "sliderItem2"; + this.sliderItem2.Text = "地面透明度"; + this.sliderItem2.TextColor = System.Drawing.Color.Black; + this.sliderItem2.Value = 0; + this.sliderItem2.ValueChanged += new System.EventHandler(this.sliderItem2_ValueChanged); + // + // buttonItemGBJC + // + this.buttonItemGBJC.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemGBJC.Image"))); + this.buttonItemGBJC.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemGBJC.Name = "buttonItemGBJC"; + this.buttonItemGBJC.SubItemsExpandWidth = 14; + this.buttonItemGBJC.Text = "国标检测"; + this.buttonItemGBJC.Click += new System.EventHandler(this.buttonItemGBJC_Click); + // // ribbonPanel4 // this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); // // // @@ -3463,7 +3734,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(88, 92); + this.ribbonBar1.Size = new System.Drawing.Size(88, 59); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3487,151 +3758,135 @@ this.btn_document_info.Text = "文档管理"; this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); // - // ribbonPanel1 + // ribbonPanel2 // - this.ribbonPanel1.AutoSize = true; - this.ribbonPanel1.CanvasColor = System.Drawing.Color.Gray; - this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel1.Controls.Add(this.ribbonBar21); - this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); - this.ribbonPanel1.Name = "ribbonPanel1"; - this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel2.Controls.Add(this.ribbonBar3); + this.ribbonPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel2.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel2.Name = "ribbonPanel2"; + this.ribbonPanel2.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel2.Size = new System.Drawing.Size(1328, 62); // // // - this.ribbonPanel1.Style.Class = ""; - this.ribbonPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.Style.Class = ""; + this.ribbonPanel2.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel1.StyleMouseDown.Class = ""; - this.ribbonPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.StyleMouseDown.Class = ""; + this.ribbonPanel2.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel1.StyleMouseOver.Class = ""; - this.ribbonPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel1.TabIndex = 1; - this.ribbonPanel1.Visible = false; + this.ribbonPanel2.StyleMouseOver.Class = ""; + this.ribbonPanel2.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.TabIndex = 39; + this.ribbonPanel2.Visible = false; // - // ribbonBar21 + // ribbonBar3 // - this.ribbonBar21.AutoOverflowEnabled = true; - this.ribbonBar21.BackColor = System.Drawing.Color.White; + this.ribbonBar3.AutoOverflowEnabled = true; // // // - this.ribbonBar21.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar21.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar3.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar21.BackgroundStyle.Class = ""; - this.ribbonBar21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar21.ContainerControlProcessDialogKey = true; - this.ribbonBar21.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar21.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.buttonItem87, - this.buttonItem88, - this.buttonItem27, - this.sliderGroundTransSet1, - this.buttonItem91, - this.buttonItem1, - this.btnlegendSet, - this.buttonItem89, - this.btnOutputJPG}); - this.ribbonBar21.Location = new System.Drawing.Point(3, 0); - this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(649, 59); - this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar21.TabIndex = 2; - this.ribbonBar21.Text = "浏览模式"; + this.ribbonBar3.BackgroundStyle.Class = ""; + this.ribbonBar3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.ContainerControlProcessDialogKey = true; + this.ribbonBar3.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar3.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_user_info, + this.btn_role_info, + this.btn_resc_info, + this.btn_role_resc, + this.btn_user_role, + this.btn_password_edit, + this.buttonItemPasswordReset}); + this.ribbonBar3.Location = new System.Drawing.Point(3, 0); + this.ribbonBar3.Name = "ribbonBar3"; + this.ribbonBar3.Size = new System.Drawing.Size(551, 59); + this.ribbonBar3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar3.TabIndex = 1; // // // - this.ribbonBar21.TitleStyle.Class = ""; - this.ribbonBar21.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.TitleStyle.Class = ""; + this.ribbonBar3.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar21.TitleStyleMouseOver.Class = ""; - this.ribbonBar21.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar21.TitleVisible = false; + this.ribbonBar3.TitleStyleMouseOver.Class = ""; + this.ribbonBar3.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.TitleVisible = false; // - // buttonItem87 + // btn_user_info // - this.buttonItem87.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem87.Image"))); - this.buttonItem87.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem87.Name = "buttonItem87"; - this.buttonItem87.SubItemsExpandWidth = 14; - this.buttonItem87.Text = "地上模式"; - this.buttonItem87.Click += new System.EventHandler(this.buttonItem87_Click); + this.btn_user_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_user_info.Image"))); + this.btn_user_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_user_info.Name = "btn_user_info"; + this.btn_user_info.SubItemsExpandWidth = 14; + this.btn_user_info.Text = "用户管理"; + this.btn_user_info.Click += new System.EventHandler(this.btn_user_info_Click); // - // buttonItem88 + // btn_role_info // - this.buttonItem88.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem88.Image"))); - this.buttonItem88.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem88.Name = "buttonItem88"; - this.buttonItem88.SubItemsExpandWidth = 14; - this.buttonItem88.Text = "地下模式"; - this.buttonItem88.Click += new System.EventHandler(this.buttonItem88_Click); + this.btn_role_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_role_info.Image"))); + this.btn_role_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_role_info.Name = "btn_role_info"; + this.btn_role_info.SubItemsExpandWidth = 14; + this.btn_role_info.Text = "角色管理"; + this.btn_role_info.Click += new System.EventHandler(this.btn_role_info_Click); // - // buttonItem27 + // btn_resc_info // - this.buttonItem27.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem27.Image"))); - this.buttonItem27.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem27.Name = "buttonItem27"; - this.buttonItem27.SubItemsExpandWidth = 14; - this.buttonItem27.Text = "行走模式"; - this.buttonItem27.Click += new System.EventHandler(this.buttonItem27_Click); + this.btn_resc_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_resc_info.Image"))); + this.btn_resc_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_resc_info.Name = "btn_resc_info"; + this.btn_resc_info.SubItemsExpandWidth = 14; + this.btn_resc_info.Text = "资源管理"; + this.btn_resc_info.Click += new System.EventHandler(this.btn_resc_info_Click); // - // buttonItem91 + // btn_role_resc // - this.buttonItem91.ForeColor = System.Drawing.Color.Black; - this.buttonItem91.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem91.Image"))); - this.buttonItem91.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem91.Name = "buttonItem91"; - this.buttonItem91.SubItemsExpandWidth = 14; - this.buttonItem91.Text = "快速定位"; - this.buttonItem91.Click += new System.EventHandler(this.buttonItem91_Click); + this.btn_role_resc.Image = ((System.Drawing.Image)(resources.GetObject("btn_role_resc.Image"))); + this.btn_role_resc.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_role_resc.Name = "btn_role_resc"; + this.btn_role_resc.SubItemsExpandWidth = 14; + this.btn_role_resc.Text = "角色授权"; + this.btn_role_resc.Click += new System.EventHandler(this.btn_role_resc_Click); // - // buttonItem1 + // btn_user_role // - this.buttonItem1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem1.Image"))); - this.buttonItem1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem1.Name = "buttonItem1"; - this.buttonItem1.SubItemsExpandWidth = 14; - this.buttonItem1.Text = "图层管理"; - this.buttonItem1.Click += new System.EventHandler(this.buttonItem1_Click); + this.btn_user_role.Image = ((System.Drawing.Image)(resources.GetObject("btn_user_role.Image"))); + this.btn_user_role.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_user_role.Name = "btn_user_role"; + this.btn_user_role.SubItemsExpandWidth = 14; + this.btn_user_role.Text = "用户授权"; + this.btn_user_role.Click += new System.EventHandler(this.btn_user_role_Click); // - // btnlegendSet + // btn_password_edit // - this.btnlegendSet.Image = ((System.Drawing.Image)(resources.GetObject("btnlegendSet.Image"))); - this.btnlegendSet.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btnlegendSet.Name = "btnlegendSet"; - this.btnlegendSet.SubItemsExpandWidth = 14; - this.btnlegendSet.Text = "图例"; - this.btnlegendSet.Click += new System.EventHandler(this.btnlegendSet_Click); + this.btn_password_edit.Image = ((System.Drawing.Image)(resources.GetObject("btn_password_edit.Image"))); + this.btn_password_edit.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_password_edit.Name = "btn_password_edit"; + this.btn_password_edit.SubItemsExpandWidth = 14; + this.btn_password_edit.Text = "密码修改"; + this.btn_password_edit.Click += new System.EventHandler(this.btn_password_edit_Click); // - // buttonItem89 + // buttonItemPasswordReset // - this.buttonItem89.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem89.Image"))); - this.buttonItem89.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem89.Name = "buttonItem89"; - this.buttonItem89.SubItemsExpandWidth = 14; - this.buttonItem89.Text = "全屏显示"; - this.buttonItem89.Click += new System.EventHandler(this.buttonItem89_Click); - // - // btnOutputJPG - // - this.btnOutputJPG.Image = ((System.Drawing.Image)(resources.GetObject("btnOutputJPG.Image"))); - this.btnOutputJPG.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btnOutputJPG.Name = "btnOutputJPG"; - this.btnOutputJPG.SubItemsExpandWidth = 14; - this.btnOutputJPG.Text = "导出图片"; - this.btnOutputJPG.Click += new System.EventHandler(this.btnOutputJPG_Click); + this.buttonItemPasswordReset.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemPasswordReset.Image"))); + this.buttonItemPasswordReset.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemPasswordReset.Name = "buttonItemPasswordReset"; + this.buttonItemPasswordReset.SubItemsExpandWidth = 14; + this.buttonItemPasswordReset.Text = "重置密码"; + this.buttonItemPasswordReset.Click += new System.EventHandler(this.buttonItemPasswordReset_Click); // // ribbonTabItem1 // @@ -3992,6 +4247,7 @@ this.toolStripDropDownButton3.Name = "toolStripDropDownButton3"; this.toolStripDropDownButton3.Size = new System.Drawing.Size(75, 21); this.toolStripDropDownButton3.Text = "导出xls文件"; + this.toolStripDropDownButton3.Visible = false; this.toolStripDropDownButton3.Click += new System.EventHandler(this.toolStripDropDownButton3_Click); // // expandableSplitter2 @@ -4876,7 +5132,7 @@ // // textBoxX4 // - this.textBoxX4.Location = new System.Drawing.Point(81, 61); + this.textBoxX4.Location = new System.Drawing.Point(81, 393); this.textBoxX4.Name = "textBoxX4"; this.textBoxX4.Size = new System.Drawing.Size(87, 21); this.textBoxX4.TabIndex = 16; @@ -4890,7 +5146,7 @@ this.labelX24.BackgroundStyle.Class = ""; this.labelX24.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX24.Image = ((System.Drawing.Image)(resources.GetObject("labelX24.Image"))); - this.labelX24.Location = new System.Drawing.Point(7, 403); + this.labelX24.Location = new System.Drawing.Point(7, 735); this.labelX24.Name = "labelX24"; this.labelX24.Size = new System.Drawing.Size(77, 23); this.labelX24.TabIndex = 14; @@ -4915,12 +5171,12 @@ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle6; this.dataGridViewX8.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); - this.dataGridViewX8.Location = new System.Drawing.Point(10, 120); + this.dataGridViewX8.Location = new System.Drawing.Point(10, 452); this.dataGridViewX8.Name = "dataGridViewX8"; this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(0, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(119, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -4941,7 +5197,7 @@ // this.listBox3.FormattingEnabled = true; this.listBox3.ItemHeight = 12; - this.listBox3.Location = new System.Drawing.Point(8, 429); + this.listBox3.Location = new System.Drawing.Point(8, 761); this.listBox3.Name = "listBox3"; this.listBox3.Size = new System.Drawing.Size(195, 16); this.listBox3.TabIndex = 0; @@ -4956,7 +5212,7 @@ // this.labelX11.BackgroundStyle.Class = ""; this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX11.Location = new System.Drawing.Point(10, 93); + this.labelX11.Location = new System.Drawing.Point(10, 425); this.labelX11.Name = "labelX11"; this.labelX11.Size = new System.Drawing.Size(63, 23); this.labelX11.TabIndex = 1; @@ -4966,7 +5222,7 @@ this.buttonX12.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX12.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX12.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX12.Location = new System.Drawing.Point(8, 217); + this.buttonX12.Location = new System.Drawing.Point(8, 549); this.buttonX12.Name = "buttonX12"; this.buttonX12.Size = new System.Drawing.Size(65, 23); this.buttonX12.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -4979,7 +5235,7 @@ this.buttonX13.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX13.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX13.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX13.Location = new System.Drawing.Point(9, 478); + this.buttonX13.Location = new System.Drawing.Point(9, 810); this.buttonX13.Name = "buttonX13"; this.buttonX13.Size = new System.Drawing.Size(75, 23); this.buttonX13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5010,12 +5266,12 @@ dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle7; this.dataGridViewX9.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); - this.dataGridViewX9.Location = new System.Drawing.Point(11, 271); + this.dataGridViewX9.Location = new System.Drawing.Point(11, 603); this.dataGridViewX9.Name = "dataGridViewX9"; this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(0, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(193, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // @@ -5064,7 +5320,7 @@ this.buttonX14.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX14.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX14.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX14.Location = new System.Drawing.Point(128, 478); + this.buttonX14.Location = new System.Drawing.Point(128, 810); this.buttonX14.Name = "buttonX14"; this.buttonX14.Size = new System.Drawing.Size(75, 23); this.buttonX14.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5077,7 +5333,7 @@ this.buttonX15.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX15.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX15.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX15.Location = new System.Drawing.Point(112, 217); + this.buttonX15.Location = new System.Drawing.Point(112, 549); this.buttonX15.Name = "buttonX15"; this.buttonX15.Size = new System.Drawing.Size(92, 23); this.buttonX15.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5092,7 +5348,7 @@ // this.labelX15.BackgroundStyle.Class = ""; this.labelX15.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX15.Location = new System.Drawing.Point(174, 61); + this.labelX15.Location = new System.Drawing.Point(174, 393); this.labelX15.Name = "labelX15"; this.labelX15.Size = new System.Drawing.Size(20, 23); this.labelX15.TabIndex = 7; @@ -5106,7 +5362,7 @@ this.comboBoxEx4.Enabled = false; this.comboBoxEx4.FormattingEnabled = true; this.comboBoxEx4.ItemHeight = 15; - this.comboBoxEx4.Location = new System.Drawing.Point(81, 29); + this.comboBoxEx4.Location = new System.Drawing.Point(81, 361); this.comboBoxEx4.Name = "comboBoxEx4"; this.comboBoxEx4.Size = new System.Drawing.Size(123, 21); this.comboBoxEx4.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5124,7 +5380,7 @@ this.checkBoxX7.BackgroundStyle.Class = ""; this.checkBoxX7.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.checkBoxX7.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.checkBoxX7.Location = new System.Drawing.Point(8, 5); + this.checkBoxX7.Location = new System.Drawing.Point(8, 337); this.checkBoxX7.Name = "checkBoxX7"; this.checkBoxX7.Size = new System.Drawing.Size(90, 23); this.checkBoxX7.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5142,7 +5398,7 @@ this.checkBoxX8.BackgroundStyle.Class = ""; this.checkBoxX8.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.checkBoxX8.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.checkBoxX8.Location = new System.Drawing.Point(118, 5); + this.checkBoxX8.Location = new System.Drawing.Point(118, 337); this.checkBoxX8.Name = "checkBoxX8"; this.checkBoxX8.Size = new System.Drawing.Size(86, 23); this.checkBoxX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5159,7 +5415,7 @@ // this.labelX19.BackgroundStyle.Class = ""; this.labelX19.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX19.Location = new System.Drawing.Point(11, 61); + this.labelX19.Location = new System.Drawing.Point(11, 393); this.labelX19.Name = "labelX19"; this.labelX19.Size = new System.Drawing.Size(70, 23); this.labelX19.TabIndex = 1; @@ -5174,7 +5430,7 @@ // this.labelX21.BackgroundStyle.Class = ""; this.labelX21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX21.Location = new System.Drawing.Point(10, 29); + this.labelX21.Location = new System.Drawing.Point(10, 361); this.labelX21.Name = "labelX21"; this.labelX21.Size = new System.Drawing.Size(70, 23); this.labelX21.TabIndex = 1; @@ -5187,7 +5443,7 @@ this.labelX22.BackgroundStyle.Class = ""; this.labelX22.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX22.Image = ((System.Drawing.Image)(resources.GetObject("labelX22.Image"))); - this.labelX22.Location = new System.Drawing.Point(9, 245); + this.labelX22.Location = new System.Drawing.Point(9, 577); this.labelX22.Name = "labelX22"; this.labelX22.Size = new System.Drawing.Size(70, 23); this.labelX22.TabIndex = 1; @@ -5241,7 +5497,7 @@ this.buttonX7.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX7.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX7.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX7.Location = new System.Drawing.Point(119, 440); + this.buttonX7.Location = new System.Drawing.Point(119, 418); this.buttonX7.Name = "buttonX7"; this.buttonX7.Size = new System.Drawing.Size(40, 23); this.buttonX7.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5298,7 +5554,7 @@ this.dataGridViewX4.ReadOnly = true; this.dataGridViewX4.RowHeadersVisible = false; this.dataGridViewX4.RowTemplate.Height = 23; - this.dataGridViewX4.Size = new System.Drawing.Size(0, 92); + this.dataGridViewX4.Size = new System.Drawing.Size(130, 92); this.dataGridViewX4.TabIndex = 3; // // dataGridViewTextBoxColumn1 @@ -5348,7 +5604,7 @@ this.buttonX6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(246)))), ((int)(((byte)(253))))); this.buttonX6.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX6.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX6.Location = new System.Drawing.Point(11, 440); + this.buttonX6.Location = new System.Drawing.Point(11, 418); this.buttonX6.Name = "buttonX6"; this.buttonX6.Size = new System.Drawing.Size(75, 23); this.buttonX6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5383,7 +5639,7 @@ this.dataGridViewX5.ReadOnly = true; this.dataGridViewX5.RowHeadersVisible = false; this.dataGridViewX5.RowTemplate.Height = 23; - this.dataGridViewX5.Size = new System.Drawing.Size(0, 127); + this.dataGridViewX5.Size = new System.Drawing.Size(132, 127); this.dataGridViewX5.TabIndex = 5; this.dataGridViewX5.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX5_MouseDoubleClick); // @@ -5891,14 +6147,14 @@ this.ribbonControl1.ResumeLayout(false); this.ribbonControl1.PerformLayout(); this.ribbonPanel15.ResumeLayout(false); - this.ribbonPanel6.ResumeLayout(false); - this.ribbonPanel2.ResumeLayout(false); - this.ribbonPanel3.ResumeLayout(false); this.ribbonPanel7.ResumeLayout(false); - this.ribbonPanel5.ResumeLayout(false); - this.ribbonPanel12.ResumeLayout(false); - this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel3.ResumeLayout(false); this.ribbonPanel1.ResumeLayout(false); + this.ribbonPanel12.ResumeLayout(false); + this.ribbonPanel5.ResumeLayout(false); + this.ribbonPanel6.ResumeLayout(false); + this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel2.ResumeLayout(false); this.panelOfTable.ResumeLayout(false); this.panelOfTable.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); @@ -5959,8 +6215,6 @@ private RibbonControl ribbonControl1; private RibbonPanel ribbonPanel1; private RibbonBar ribbonBar21; - private ButtonItem buttonItem87; - private ButtonItem buttonItem88; private SliderItem sliderGroundTransSet1; private ButtonItem buttonItem89; private ButtonItem buttonItem91; @@ -6020,7 +6274,6 @@ private ButtonItem buttonItem16; private ButtonItem buttonItem26; private GalleryContainer galleryContainer4; - private ButtonItem buttonItem27; private ButtonItem buttonItem51; private ControlContainerItem controlContainerItem5; private PrintDocument printDocument1; @@ -6153,8 +6406,6 @@ private ToolStripMenuItem 断面分析ToolStripMenuItem; private ToolStripMenuItem 横断面分析ToolStripMenuItem; private ToolStripMenuItem 纵断面分析ToolStripMenuItem; - private ToolStripMenuItem 道路断面分析ToolStripMenuItem; - private ToolStripMenuItem 基线剖面分析ToolStripMenuItem; private ToolStripMenuItem 拓扑分析ToolStripMenuItem; private ToolStripMenuItem 创建拓扑ToolStripMenuItem; private ToolStripMenuItem 上游分析ToolStripMenuItem; @@ -6176,9 +6427,6 @@ private ToolStripMenuItem 多边形开挖ToolStripMenuItem; private ToolStripMenuItem 挖方量分析ToolStripMenuItem; private ToolStripMenuItem 沿线开挖ToolStripMenuItem; - private ToolStripMenuItem 创建隧道ToolStripMenuItem; - private ToolStripMenuItem 隐藏隧道ToolStripMenuItem; - private ToolStripMenuItem 删除隧道ToolStripMenuItem; private ToolStripMenuItem 全区域统计ToolStripMenuItem; private ToolStripMenuItem 管线长度统计ToolStripMenuItem; private ToolStripMenuItem 阀门数量统计ToolStripMenuItem; @@ -6230,7 +6478,6 @@ private ToolStripMenuItem 标识器分类统计ToolStripMenuItem; private ToolStripMenuItem 标识器分类统计ToolStripMenuItem1; private ButtonItem btn_check_history; - private ButtonItem buttonItem查看数据; private ButtonItem buttonItemGHRK; private RibbonPanel ribbonPanel2; private RibbonBar ribbonBar3; diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FrmAnalysis.resx b/FormAnalysis/FrmAnalysis.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.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/FormAnalysis/InitWinGridView.cs b/FormAnalysis/InitWinGridView.cs new file mode 100644 index 0000000..4537b42 --- /dev/null +++ b/FormAnalysis/InitWinGridView.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using WHC.Pager.WinControl; + +namespace Cyberpipe.FormAnalysis +{ + class InitWinGridView + { + public static void initlizeDatagrid(WinGridViewPager page, int rows, int maxPageIndex) + { + //控制表格显示的列,以及每一列要显示的列名 + page.Dock = DockStyle.Fill; + page.dataGridView1.Dock = DockStyle.Fill; + page.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + + page.BackColor = Color.LightCyan;//间隔颜色 + + //隐藏右键功能按钮 + page.dataGridView1.ContextMenuStrip.Items[1].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[2].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[3].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[4].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[5].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[6].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[7].Visible = false; + + //右键菜单宽度 + page.dataGridView1.ContextMenuStrip.AutoSize = false; + page.dataGridView1.ContextMenuStrip.Width = 0; + page.dataGridView1.ContextMenuStrip.Height = 0; + //控制间隔的颜色 + page.BackColor = Color.LightCyan;//间隔颜色 + //控制每页显示的最大数据量 + page.PagerInfo.RecordCount = rows; + page.PagerInfo.PageSize = maxPageIndex; + page.dataGridView1.Refresh(); + } + } +} diff --git a/FrmFlagManagers.cs b/FrmFlagManagers.cs index d9d9a5e..e550c4a 100644 --- a/FrmFlagManagers.cs +++ b/FrmFlagManagers.cs @@ -375,6 +375,7 @@ { this.Show(); } + /// /// 位置查看 /// @@ -436,6 +437,5 @@ } } - } } diff --git a/MainFrm.cs b/MainFrm.cs index 24f70a6..bc11a9d 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -13,6 +13,7 @@ using System.Threading; using System.Windows.Forms; using Cyberpipe.EMS_Forms; +using Cyberpipe.FormAnalysis; using Cyberpipe.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -330,6 +331,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(沿线开挖ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("创建隧道") < 0) { 开挖分析ToolStripMenuItem.DropDownItems.Remove(创建隧道ToolStripMenuItem); @@ -342,6 +344,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(删除隧道ToolStripMenuItem); } + * */ } #endregion @@ -402,6 +405,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(纵断面分析ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("道路断面分析") < 0) { 断面分析ToolStripMenuItem.DropDownItems.Remove(道路断面分析ToolStripMenuItem); @@ -410,6 +414,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(基线剖面分析ToolStripMenuItem); } + * */ } #endregion @@ -774,6 +779,7 @@ } else { + /* if (Utility.userRole.IndexOf("地上模式") < 0) { buttonItem87.Visible = false; @@ -786,6 +792,8 @@ { buttonItem27.Visible = false; } + * */ + if (Utility.userRole.IndexOf("透明度设置") < 0) { sliderGroundTransSet1.Visible = false; @@ -993,7 +1001,7 @@ splitContainer1.Panel2Collapsed = true; - buttonItem87.Checked = true; //默认地上模式 + //buttonItem87.Checked = true; //默认地上模式 ribbonTabItem1.Select(); //初始化状态为浏览 sideBarPanelItem3.Visible = false; @@ -2447,6 +2455,7 @@ return null; } + /* /// /// 地上模式 菜单按钮 /// @@ -2538,6 +2547,7 @@ globeControl1.Globe.CameraMode = EnumCameraMode.Walk; } + */ /// /// 地面透明度设置 菜单 /// @@ -4701,6 +4711,31 @@ sideBar1.Refresh(); Refresh(); } + + private GSOFeatures getSelectedFeatures() + { + GSOFeatures feats = new GSOFeatures(); + + if (globeControl1.Globe.SelObjectCount == 0) + { + feats = null; + } + else + { + for (int i = 0; i < globeControl1.Globe.SelObjectCount; i++) + { + GSOLayer resLayer = null; + GSOFeature feat = null; + globeControl1.Globe.GetSelectObject(i, out feat, out resLayer); + if (feat != null && feat.Geometry.Type == EnumGeometryType.GeoPolyline3D) + { + feats.Add(feat); + } + } + } + return feats; + } + /// /// 碰撞审查 /// @@ -4708,30 +4743,16 @@ /// private void buttonItemSH1_Click(object sender, EventArgs e) { - //日志记录 + //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH1.Text); - - dataGridViewX4.Size = new Size(185, 92); - dataGridViewX5.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "碰撞审查"; - trackflag = "collision"; - controlContainerItem5.Control = panel2; - panel2.Dock = DockStyle.Fill; - panel2.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FrmAnalysis frm = new FrmAnalysis(feats, globeControl1); + frm.Show(); } /// /// 覆土审查 @@ -4742,26 +4763,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH2.Text); - - dataGridViewX6.Size = new Size(185, 92); - dataGridViewX7.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "覆土审查"; - trackflag = "ftAnalysis"; - controlContainerItem5.Control = panel4; - panel4.Visible = true; - panel4.Dock = DockStyle.Fill; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormFT frm = new FormFT(feats, globeControl1, layerTemp); + frm.Show(); } /// /// 水平净距审查 @@ -4772,26 +4781,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH3.Text); - - dataGridViewX8.Size = new Size(190, 92); - dataGridViewX9.Size = new Size(190, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "水平净距审查"; - trackflag = "horizontal"; - controlContainerItem5.Control = panel5; - panel5.Dock = DockStyle.Fill; - panel5.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormHor frm = new FormHor(feats, globeControl1); + frm.Show(); } /// /// 垂直净距审查 @@ -4803,33 +4800,15 @@ //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH4.Text); - dataGridViewX2.Visible = true; - dataGridViewX3.Visible = true; - dataGridViewX2.Size = new Size(185, 92); - dataGridViewX3.Size = new Size(185, 120); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormVer frm = new FormVer(feats, globeControl1,layerTemp); + frm.Show(); - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "垂直净距审查"; - trackflag = "vertical"; - //globeControl1.Globe.Action = EnumAction3D.SelectObject; - panel2.Visible = false; - panel3.Visible = false; - panel5.Visible = false; - panel4.Visible = false; - controlContainerItem5.Control = panel1; - panel1.Dock = DockStyle.Fill; - panel1.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); } #endregion @@ -5842,6 +5821,7 @@ FrmProfileAnalysis frm = new FrmProfileAnalysis(globeControl1, feats); frm.Show(this); } + /* /// /// 道路断面分析 /// @@ -5854,6 +5834,7 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.DLDM_Analysis; } + /// /// 基线剖面分析 /// @@ -5865,7 +5846,8 @@ globeControl1.Globe.TrackPolylineTool.VerticalLineVisible = true; globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.JXPM_Analysis; - } + } + * * */ #endregion /// /// 创建拓扑 @@ -6059,6 +6041,8 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.YXKW_Analysis; } + + /* /// /// 创建隧道 /// @@ -6131,6 +6115,7 @@ MessageBox.Show("请选中要删除的隧道!", "提示"); } } + * */ /// /// 通视分析 /// @@ -7563,9 +7548,7 @@ modelBuilder.batchInsert(dataSpace, redDt, redFeatures); } - #endregion - } #endregion } @@ -7835,6 +7818,7 @@ frm.Show(); } + /* private void buttonItem查看数据_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, buttonItem查看数据.Text); @@ -7847,6 +7831,7 @@ globeControl1.Refresh(); } } + * */ /// /// 规划数据入库 /// diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index abcf2ec..92ea9e1 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -177,8 +177,6 @@ this.断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.横断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.纵断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.道路断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.基线剖面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.拓扑分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.创建拓扑ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.上游分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -191,9 +189,6 @@ this.多边形开挖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.挖方量分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.沿线开挖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.创建隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.隐藏隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.删除隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.视域分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.通视分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.可视域分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -274,7 +269,6 @@ this.buttonItemSJGL7 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemSJGL8 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemSJGL9 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem查看数据 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemGHRK = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemZTT = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemZTT1 = new DevComponents.DotNetBar.ButtonItem(); @@ -328,12 +322,17 @@ this.buttonItem12 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem13 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem14 = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel5 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar2 = new DevComponents.DotNetBar.RibbonBar(); - this.buttonItemHX1 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItemHX2 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItemDCTP = new DevComponents.DotNetBar.ButtonItem(); - this.sliderItem3 = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel3 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar4 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_flag = new DevComponents.DotNetBar.ButtonItem(); + this.slider4ground = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem91 = new DevComponents.DotNetBar.ButtonItem(); + this.btnlegendSet = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem89 = new DevComponents.DotNetBar.ButtonItem(); + this.btnOutputJPG = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel12 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar18 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItem133 = new DevComponents.DotNetBar.ButtonItem(); @@ -345,19 +344,31 @@ this.buttonItem134 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem130 = new DevComponents.DotNetBar.ButtonItem(); this.btn_check_history = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel5 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar2 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItemHX1 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemHX2 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemDCTP = new DevComponents.DotNetBar.ButtonItem(); + this.sliderItem3 = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel6 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar6 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItemSPSZ = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem8 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemLocation = new DevComponents.DotNetBar.ButtonItem(); + this.sliderItem2 = new DevComponents.DotNetBar.SliderItem(); + this.buttonItemGBJC = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); - this.buttonItem87 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem88 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem27 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem91 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); - this.btnlegendSet = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem89 = new DevComponents.DotNetBar.ButtonItem(); - this.btnOutputJPG = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel2 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar3 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_user_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_role_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_resc_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_role_resc = new DevComponents.DotNetBar.ButtonItem(); + this.btn_user_role = new DevComponents.DotNetBar.ButtonItem(); + this.btn_password_edit = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemPasswordReset = new DevComponents.DotNetBar.ButtonItem(); this.ribbonTabItem1 = new DevComponents.DotNetBar.RibbonTabItem(); this.ribbonTabItem11 = new DevComponents.DotNetBar.RibbonTabItem(); this.ribbonTabItem6 = new DevComponents.DotNetBar.RibbonTabItem(); @@ -540,14 +551,14 @@ this.contextMenuStripDeleteLayerNode.SuspendLayout(); this.ribbonControl1.SuspendLayout(); this.ribbonPanel15.SuspendLayout(); - this.ribbonPanel6.SuspendLayout(); - this.ribbonPanel2.SuspendLayout(); - this.ribbonPanel3.SuspendLayout(); this.ribbonPanel7.SuspendLayout(); - this.ribbonPanel5.SuspendLayout(); - this.ribbonPanel12.SuspendLayout(); - this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel3.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); + this.ribbonPanel12.SuspendLayout(); + this.ribbonPanel5.SuspendLayout(); + this.ribbonPanel6.SuspendLayout(); + this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel2.SuspendLayout(); this.panelOfTable.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.statusStrip2.SuspendLayout(); @@ -1672,9 +1683,7 @@ // this.断面分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.横断面分析ToolStripMenuItem, - this.纵断面分析ToolStripMenuItem, - this.道路断面分析ToolStripMenuItem, - this.基线剖面分析ToolStripMenuItem}); + this.纵断面分析ToolStripMenuItem}); this.断面分析ToolStripMenuItem.Name = "断面分析ToolStripMenuItem"; this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.断面分析ToolStripMenuItem.Text = "断面分析"; @@ -1682,31 +1691,17 @@ // 横断面分析ToolStripMenuItem // this.横断面分析ToolStripMenuItem.Name = "横断面分析ToolStripMenuItem"; - this.横断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.横断面分析ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.横断面分析ToolStripMenuItem.Text = "横断面分析"; this.横断面分析ToolStripMenuItem.Click += new System.EventHandler(this.横断面分析ToolStripMenuItem_Click); // // 纵断面分析ToolStripMenuItem // this.纵断面分析ToolStripMenuItem.Name = "纵断面分析ToolStripMenuItem"; - this.纵断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.纵断面分析ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.纵断面分析ToolStripMenuItem.Text = "纵断面分析"; this.纵断面分析ToolStripMenuItem.Click += new System.EventHandler(this.纵断面分析ToolStripMenuItem_Click); // - // 道路断面分析ToolStripMenuItem - // - this.道路断面分析ToolStripMenuItem.Name = "道路断面分析ToolStripMenuItem"; - this.道路断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.道路断面分析ToolStripMenuItem.Text = "道路断面分析"; - this.道路断面分析ToolStripMenuItem.Click += new System.EventHandler(this.道路断面分析ToolStripMenuItem_Click); - // - // 基线剖面分析ToolStripMenuItem - // - this.基线剖面分析ToolStripMenuItem.Name = "基线剖面分析ToolStripMenuItem"; - this.基线剖面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.基线剖面分析ToolStripMenuItem.Text = "基线剖面分析"; - this.基线剖面分析ToolStripMenuItem.Click += new System.EventHandler(this.基线剖面分析ToolStripMenuItem_Click); - // // 拓扑分析ToolStripMenuItem // this.拓扑分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1775,10 +1770,7 @@ this.开挖分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.多边形开挖ToolStripMenuItem, this.挖方量分析ToolStripMenuItem, - this.沿线开挖ToolStripMenuItem, - this.创建隧道ToolStripMenuItem, - this.隐藏隧道ToolStripMenuItem, - this.删除隧道ToolStripMenuItem}); + this.沿线开挖ToolStripMenuItem}); this.开挖分析ToolStripMenuItem.Name = "开挖分析ToolStripMenuItem"; this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.开挖分析ToolStripMenuItem.Text = "开挖分析"; @@ -1804,27 +1796,6 @@ this.沿线开挖ToolStripMenuItem.Text = "沿线开挖"; this.沿线开挖ToolStripMenuItem.Click += new System.EventHandler(this.沿线开挖ToolStripMenuItem_Click); // - // 创建隧道ToolStripMenuItem - // - this.创建隧道ToolStripMenuItem.Name = "创建隧道ToolStripMenuItem"; - this.创建隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.创建隧道ToolStripMenuItem.Text = "创建隧道"; - this.创建隧道ToolStripMenuItem.Click += new System.EventHandler(this.创建隧道ToolStripMenuItem_Click); - // - // 隐藏隧道ToolStripMenuItem - // - this.隐藏隧道ToolStripMenuItem.Name = "隐藏隧道ToolStripMenuItem"; - this.隐藏隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.隐藏隧道ToolStripMenuItem.Text = "隐藏隧道"; - this.隐藏隧道ToolStripMenuItem.Click += new System.EventHandler(this.隐藏隧道ToolStripMenuItem_Click); - // - // 删除隧道ToolStripMenuItem - // - this.删除隧道ToolStripMenuItem.Name = "删除隧道ToolStripMenuItem"; - this.删除隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.删除隧道ToolStripMenuItem.Text = "删除隧道"; - this.删除隧道ToolStripMenuItem.Click += new System.EventHandler(this.删除隧道ToolStripMenuItem_Click); - // // 视域分析ToolStripMenuItem // this.视域分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -2172,14 +2143,14 @@ this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel6); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Controls.Add(this.ribbonPanel7); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); - this.ribbonControl1.Controls.Add(this.ribbonPanel12); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; this.ribbonControl1.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.ribbonControl1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { @@ -2393,7 +2364,6 @@ this.buttonItemSJGL7, this.buttonItemSJGL8, this.buttonItemSJGL9, - this.buttonItem查看数据, this.buttonItemGHRK}); this.buttonItemSJGL.SubItemsExpandWidth = 14; this.buttonItemSJGL.Text = "数据管理"; @@ -2503,13 +2473,6 @@ this.buttonItemSJGL9.Text = "数据备份"; this.buttonItemSJGL9.Click += new System.EventHandler(this.buttonItemSJGL9_Click); // - // buttonItem查看数据 - // - this.buttonItem查看数据.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem查看数据.Image"))); - this.buttonItem查看数据.Name = "buttonItem查看数据"; - this.buttonItem查看数据.Text = "查看数据"; - this.buttonItem查看数据.Click += new System.EventHandler(this.buttonItem查看数据_Click); - // // buttonItemGHRK // this.buttonItemGHRK.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemGHRK.Image"))); @@ -3145,107 +3108,202 @@ this.buttonItem14.Text = "导出施工图"; this.buttonItem14.Click += new System.EventHandler(this.buttonItem14_Click); // - // ribbonPanel5 + // ribbonPanel3 // - this.ribbonPanel5.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel5.Controls.Add(this.ribbonBar2); - this.ribbonPanel5.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel5.Location = new System.Drawing.Point(0, 0); - this.ribbonPanel5.Name = "ribbonPanel5"; - this.ribbonPanel5.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel5.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel3.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel3.Controls.Add(this.ribbonBar4); + this.ribbonPanel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel3.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel3.Name = "ribbonPanel3"; + this.ribbonPanel3.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel3.Size = new System.Drawing.Size(1328, 62); // // // - this.ribbonPanel5.Style.Class = ""; - this.ribbonPanel5.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.Style.Class = ""; + this.ribbonPanel3.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel5.StyleMouseDown.Class = ""; - this.ribbonPanel5.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.StyleMouseDown.Class = ""; + this.ribbonPanel3.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel5.StyleMouseOver.Class = ""; - this.ribbonPanel5.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel5.TabIndex = 37; - this.ribbonPanel5.Visible = false; + this.ribbonPanel3.StyleMouseOver.Class = ""; + this.ribbonPanel3.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.TabIndex = 40; + this.ribbonPanel3.Visible = false; // - // ribbonBar2 + // ribbonBar4 // - this.ribbonBar2.AutoOverflowEnabled = true; + this.ribbonBar4.AutoOverflowEnabled = true; // // // - this.ribbonBar2.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar2.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar4.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar2.BackgroundStyle.Class = ""; - this.ribbonBar2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar2.ContainerControlProcessDialogKey = true; - this.ribbonBar2.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar2.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.buttonItemHX1, - this.buttonItemHX2, - this.buttonItemDCTP, - this.sliderItem3}); - this.ribbonBar2.Location = new System.Drawing.Point(3, 0); - this.ribbonBar2.Name = "ribbonBar2"; - this.ribbonBar2.Size = new System.Drawing.Size(350, 92); - this.ribbonBar2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar2.TabIndex = 0; + this.ribbonBar4.BackgroundStyle.Class = ""; + this.ribbonBar4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.ContainerControlProcessDialogKey = true; + this.ribbonBar4.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar4.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_flag, + this.slider4ground}); + this.ribbonBar4.Location = new System.Drawing.Point(3, 0); + this.ribbonBar4.Name = "ribbonBar4"; + this.ribbonBar4.Size = new System.Drawing.Size(634, 59); + this.ribbonBar4.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar4.TabIndex = 0; // // // - this.ribbonBar2.TitleStyle.Class = ""; - this.ribbonBar2.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.TitleStyle.Class = ""; + this.ribbonBar4.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar2.TitleStyleMouseOver.Class = ""; - this.ribbonBar2.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar2.TitleVisible = false; + this.ribbonBar4.TitleStyleMouseOver.Class = ""; + this.ribbonBar4.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.TitleVisible = false; // - // buttonItemHX1 + // btn_flag // - this.buttonItemHX1.AutoExpandOnClick = true; - this.buttonItemHX1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX1.Image"))); - this.buttonItemHX1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemHX1.Name = "buttonItemHX1"; - this.buttonItemHX1.SubItemsExpandWidth = 14; - this.buttonItemHX1.Text = "导入红线"; - this.buttonItemHX1.Click += new System.EventHandler(this.buttonItemHX1_Click); + this.btn_flag.Image = global::Cyberpipe.Properties.Resources._24x24icon_03_hover; + this.btn_flag.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_flag.Name = "btn_flag"; + this.btn_flag.SubItemsExpandWidth = 14; + this.btn_flag.Text = "标识器管理"; + this.btn_flag.Click += new System.EventHandler(this.btn_flag_Click); // - // buttonItemHX2 + // slider4ground // - this.buttonItemHX2.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX2.Image"))); - this.buttonItemHX2.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemHX2.Name = "buttonItemHX2"; - this.buttonItemHX2.SubItemsExpandWidth = 14; - this.buttonItemHX2.Text = "红线审核"; - this.buttonItemHX2.Click += new System.EventHandler(this.buttonItemHX2_Click); + this.slider4ground.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.slider4ground.LabelWidth = 50; + this.slider4ground.Name = "slider4ground"; + this.slider4ground.Text = "地面透明度"; + this.slider4ground.TextColor = System.Drawing.Color.Black; + this.slider4ground.Value = 0; + this.slider4ground.ValueChanged += new System.EventHandler(this.slider4ground_ValueChanged); // - // buttonItemDCTP + // ribbonPanel1 // - this.buttonItemDCTP.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemDCTP.Image"))); - this.buttonItemDCTP.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemDCTP.Name = "buttonItemDCTP"; - this.buttonItemDCTP.SubItemsExpandWidth = 14; - this.buttonItemDCTP.Text = "导出图片"; - this.buttonItemDCTP.Click += new System.EventHandler(this.buttonItemDCTP_Click); + this.ribbonPanel1.AutoSize = true; + this.ribbonPanel1.CanvasColor = System.Drawing.Color.Gray; + this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel1.Controls.Add(this.ribbonBar21); + this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Name = "ribbonPanel1"; + this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); // - // sliderItem3 // - this.sliderItem3.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; - this.sliderItem3.LabelWidth = 50; - this.sliderItem3.Name = "sliderItem3"; - this.sliderItem3.Text = "地面透明度"; - this.sliderItem3.TextColor = System.Drawing.Color.Black; - this.sliderItem3.Value = 0; - this.sliderItem3.ValueChanged += new System.EventHandler(this.sliderItem3_ValueChanged); + // + this.ribbonPanel1.Style.Class = ""; + this.ribbonPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel1.StyleMouseDown.Class = ""; + this.ribbonPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel1.StyleMouseOver.Class = ""; + this.ribbonPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel1.TabIndex = 1; + this.ribbonPanel1.Visible = false; + // + // ribbonBar21 + // + this.ribbonBar21.AutoOverflowEnabled = true; + this.ribbonBar21.BackColor = System.Drawing.Color.White; + // + // + // + this.ribbonBar21.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar21.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar21.BackgroundStyle.Class = ""; + this.ribbonBar21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar21.ContainerControlProcessDialogKey = true; + this.ribbonBar21.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar21.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItem1, + this.sliderGroundTransSet1, + this.buttonItem91, + this.btnlegendSet, + this.buttonItem89, + this.btnOutputJPG}); + this.ribbonBar21.Location = new System.Drawing.Point(3, 0); + this.ribbonBar21.Name = "ribbonBar21"; + this.ribbonBar21.Size = new System.Drawing.Size(447, 59); + this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar21.TabIndex = 2; + this.ribbonBar21.Text = "浏览模式"; + // + // + // + this.ribbonBar21.TitleStyle.Class = ""; + this.ribbonBar21.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar21.TitleStyleMouseOver.Class = ""; + this.ribbonBar21.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar21.TitleVisible = false; + // + // buttonItem1 + // + this.buttonItem1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem1.Image"))); + this.buttonItem1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem1.Name = "buttonItem1"; + this.buttonItem1.SubItemsExpandWidth = 14; + this.buttonItem1.Text = "图层管理"; + this.buttonItem1.Click += new System.EventHandler(this.buttonItem1_Click); + // + // buttonItem91 + // + this.buttonItem91.ForeColor = System.Drawing.Color.Black; + this.buttonItem91.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem91.Image"))); + this.buttonItem91.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem91.Name = "buttonItem91"; + this.buttonItem91.SubItemsExpandWidth = 14; + this.buttonItem91.Text = "快速定位"; + this.buttonItem91.Click += new System.EventHandler(this.buttonItem91_Click); + // + // btnlegendSet + // + this.btnlegendSet.Image = ((System.Drawing.Image)(resources.GetObject("btnlegendSet.Image"))); + this.btnlegendSet.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btnlegendSet.Name = "btnlegendSet"; + this.btnlegendSet.SubItemsExpandWidth = 14; + this.btnlegendSet.Text = "图例"; + this.btnlegendSet.Click += new System.EventHandler(this.btnlegendSet_Click); + // + // buttonItem89 + // + this.buttonItem89.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem89.Image"))); + this.buttonItem89.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem89.Name = "buttonItem89"; + this.buttonItem89.SubItemsExpandWidth = 14; + this.buttonItem89.Text = "全屏显示"; + this.buttonItem89.Click += new System.EventHandler(this.buttonItem89_Click); + // + // btnOutputJPG + // + this.btnOutputJPG.Image = ((System.Drawing.Image)(resources.GetObject("btnOutputJPG.Image"))); + this.btnOutputJPG.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btnOutputJPG.Name = "btnOutputJPG"; + this.btnOutputJPG.SubItemsExpandWidth = 14; + this.btnOutputJPG.Text = "导出图片"; + this.btnOutputJPG.Click += new System.EventHandler(this.btnOutputJPG_Click); // // ribbonPanel12 // @@ -3253,10 +3311,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3295,7 +3353,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3347,7 +3405,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3417,15 +3475,228 @@ this.btn_check_history.Text = "审核历史"; this.btn_check_history.Click += new System.EventHandler(this.btn_check_history_Click); // + // ribbonPanel5 + // + this.ribbonPanel5.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel5.Controls.Add(this.ribbonBar2); + this.ribbonPanel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel5.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel5.Name = "ribbonPanel5"; + this.ribbonPanel5.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel5.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel5.Style.Class = ""; + this.ribbonPanel5.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel5.StyleMouseDown.Class = ""; + this.ribbonPanel5.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel5.StyleMouseOver.Class = ""; + this.ribbonPanel5.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel5.TabIndex = 37; + this.ribbonPanel5.Visible = false; + // + // ribbonBar2 + // + this.ribbonBar2.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar2.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar2.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar2.BackgroundStyle.Class = ""; + this.ribbonBar2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar2.ContainerControlProcessDialogKey = true; + this.ribbonBar2.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar2.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItemHX1, + this.buttonItemHX2, + this.buttonItemDCTP, + this.sliderItem3}); + this.ribbonBar2.Location = new System.Drawing.Point(3, 0); + this.ribbonBar2.Name = "ribbonBar2"; + this.ribbonBar2.Size = new System.Drawing.Size(350, 59); + this.ribbonBar2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar2.TabIndex = 0; + // + // + // + this.ribbonBar2.TitleStyle.Class = ""; + this.ribbonBar2.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar2.TitleStyleMouseOver.Class = ""; + this.ribbonBar2.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar2.TitleVisible = false; + // + // buttonItemHX1 + // + this.buttonItemHX1.AutoExpandOnClick = true; + this.buttonItemHX1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX1.Image"))); + this.buttonItemHX1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemHX1.Name = "buttonItemHX1"; + this.buttonItemHX1.SubItemsExpandWidth = 14; + this.buttonItemHX1.Text = "导入红线"; + this.buttonItemHX1.Click += new System.EventHandler(this.buttonItemHX1_Click); + // + // buttonItemHX2 + // + this.buttonItemHX2.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX2.Image"))); + this.buttonItemHX2.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemHX2.Name = "buttonItemHX2"; + this.buttonItemHX2.SubItemsExpandWidth = 14; + this.buttonItemHX2.Text = "红线审核"; + this.buttonItemHX2.Click += new System.EventHandler(this.buttonItemHX2_Click); + // + // buttonItemDCTP + // + this.buttonItemDCTP.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemDCTP.Image"))); + this.buttonItemDCTP.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemDCTP.Name = "buttonItemDCTP"; + this.buttonItemDCTP.SubItemsExpandWidth = 14; + this.buttonItemDCTP.Text = "导出图片"; + this.buttonItemDCTP.Click += new System.EventHandler(this.buttonItemDCTP_Click); + // + // sliderItem3 + // + this.sliderItem3.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.sliderItem3.LabelWidth = 50; + this.sliderItem3.Name = "sliderItem3"; + this.sliderItem3.Text = "地面透明度"; + this.sliderItem3.TextColor = System.Drawing.Color.Black; + this.sliderItem3.Value = 0; + this.sliderItem3.ValueChanged += new System.EventHandler(this.sliderItem3_ValueChanged); + // + // ribbonPanel6 + // + this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel6.Controls.Add(this.ribbonBar6); + this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Name = "ribbonPanel6"; + this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel6.Style.Class = ""; + this.ribbonPanel6.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel6.StyleMouseDown.Class = ""; + this.ribbonPanel6.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel6.StyleMouseOver.Class = ""; + this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; + // + // ribbonBar6 + // + this.ribbonBar6.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar6.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar6.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar6.BackgroundStyle.Class = ""; + this.ribbonBar6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar6.ContainerControlProcessDialogKey = true; + this.ribbonBar6.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar6.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItemSPSZ, + this.buttonItem8, + this.buttonItemLocation, + this.sliderItem2, + this.buttonItemGBJC}); + this.ribbonBar6.Location = new System.Drawing.Point(3, 0); + this.ribbonBar6.Name = "ribbonBar6"; + this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar6.TabIndex = 0; + // + // + // + this.ribbonBar6.TitleStyle.Class = ""; + this.ribbonBar6.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar6.TitleStyleMouseOver.Class = ""; + this.ribbonBar6.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar6.TitleVisible = false; + // + // buttonItemSPSZ + // + this.buttonItemSPSZ.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemSPSZ.Image"))); + this.buttonItemSPSZ.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemSPSZ.Name = "buttonItemSPSZ"; + this.buttonItemSPSZ.SubItemsExpandWidth = 14; + this.buttonItemSPSZ.Text = "双屏设置"; + this.buttonItemSPSZ.Click += new System.EventHandler(this.buttonItemSPSZ_Click); + // + // buttonItem8 + // + this.buttonItem8.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem8.Image"))); + this.buttonItem8.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem8.Name = "buttonItem8"; + this.buttonItem8.SubItemsExpandWidth = 14; + this.buttonItem8.Text = "双屏分析"; + this.buttonItem8.Click += new System.EventHandler(this.buttonItem8_Click); + // + // buttonItemLocation + // + this.buttonItemLocation.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemLocation.Image"))); + this.buttonItemLocation.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemLocation.Name = "buttonItemLocation"; + this.buttonItemLocation.SubItemsExpandWidth = 14; + this.buttonItemLocation.Text = "快速定位"; + this.buttonItemLocation.Click += new System.EventHandler(this.buttonItemLocation_Click); + // + // sliderItem2 + // + this.sliderItem2.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.sliderItem2.LabelWidth = 50; + this.sliderItem2.Name = "sliderItem2"; + this.sliderItem2.Text = "地面透明度"; + this.sliderItem2.TextColor = System.Drawing.Color.Black; + this.sliderItem2.Value = 0; + this.sliderItem2.ValueChanged += new System.EventHandler(this.sliderItem2_ValueChanged); + // + // buttonItemGBJC + // + this.buttonItemGBJC.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemGBJC.Image"))); + this.buttonItemGBJC.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemGBJC.Name = "buttonItemGBJC"; + this.buttonItemGBJC.SubItemsExpandWidth = 14; + this.buttonItemGBJC.Text = "国标检测"; + this.buttonItemGBJC.Click += new System.EventHandler(this.buttonItemGBJC_Click); + // // ribbonPanel4 // this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); // // // @@ -3463,7 +3734,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(88, 92); + this.ribbonBar1.Size = new System.Drawing.Size(88, 59); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3487,151 +3758,135 @@ this.btn_document_info.Text = "文档管理"; this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); // - // ribbonPanel1 + // ribbonPanel2 // - this.ribbonPanel1.AutoSize = true; - this.ribbonPanel1.CanvasColor = System.Drawing.Color.Gray; - this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel1.Controls.Add(this.ribbonBar21); - this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); - this.ribbonPanel1.Name = "ribbonPanel1"; - this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel2.Controls.Add(this.ribbonBar3); + this.ribbonPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel2.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel2.Name = "ribbonPanel2"; + this.ribbonPanel2.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel2.Size = new System.Drawing.Size(1328, 62); // // // - this.ribbonPanel1.Style.Class = ""; - this.ribbonPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.Style.Class = ""; + this.ribbonPanel2.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel1.StyleMouseDown.Class = ""; - this.ribbonPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.StyleMouseDown.Class = ""; + this.ribbonPanel2.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel1.StyleMouseOver.Class = ""; - this.ribbonPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel1.TabIndex = 1; - this.ribbonPanel1.Visible = false; + this.ribbonPanel2.StyleMouseOver.Class = ""; + this.ribbonPanel2.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.TabIndex = 39; + this.ribbonPanel2.Visible = false; // - // ribbonBar21 + // ribbonBar3 // - this.ribbonBar21.AutoOverflowEnabled = true; - this.ribbonBar21.BackColor = System.Drawing.Color.White; + this.ribbonBar3.AutoOverflowEnabled = true; // // // - this.ribbonBar21.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar21.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar3.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar21.BackgroundStyle.Class = ""; - this.ribbonBar21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar21.ContainerControlProcessDialogKey = true; - this.ribbonBar21.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar21.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.buttonItem87, - this.buttonItem88, - this.buttonItem27, - this.sliderGroundTransSet1, - this.buttonItem91, - this.buttonItem1, - this.btnlegendSet, - this.buttonItem89, - this.btnOutputJPG}); - this.ribbonBar21.Location = new System.Drawing.Point(3, 0); - this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(649, 59); - this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar21.TabIndex = 2; - this.ribbonBar21.Text = "浏览模式"; + this.ribbonBar3.BackgroundStyle.Class = ""; + this.ribbonBar3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.ContainerControlProcessDialogKey = true; + this.ribbonBar3.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar3.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_user_info, + this.btn_role_info, + this.btn_resc_info, + this.btn_role_resc, + this.btn_user_role, + this.btn_password_edit, + this.buttonItemPasswordReset}); + this.ribbonBar3.Location = new System.Drawing.Point(3, 0); + this.ribbonBar3.Name = "ribbonBar3"; + this.ribbonBar3.Size = new System.Drawing.Size(551, 59); + this.ribbonBar3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar3.TabIndex = 1; // // // - this.ribbonBar21.TitleStyle.Class = ""; - this.ribbonBar21.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.TitleStyle.Class = ""; + this.ribbonBar3.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar21.TitleStyleMouseOver.Class = ""; - this.ribbonBar21.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar21.TitleVisible = false; + this.ribbonBar3.TitleStyleMouseOver.Class = ""; + this.ribbonBar3.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.TitleVisible = false; // - // buttonItem87 + // btn_user_info // - this.buttonItem87.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem87.Image"))); - this.buttonItem87.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem87.Name = "buttonItem87"; - this.buttonItem87.SubItemsExpandWidth = 14; - this.buttonItem87.Text = "地上模式"; - this.buttonItem87.Click += new System.EventHandler(this.buttonItem87_Click); + this.btn_user_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_user_info.Image"))); + this.btn_user_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_user_info.Name = "btn_user_info"; + this.btn_user_info.SubItemsExpandWidth = 14; + this.btn_user_info.Text = "用户管理"; + this.btn_user_info.Click += new System.EventHandler(this.btn_user_info_Click); // - // buttonItem88 + // btn_role_info // - this.buttonItem88.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem88.Image"))); - this.buttonItem88.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem88.Name = "buttonItem88"; - this.buttonItem88.SubItemsExpandWidth = 14; - this.buttonItem88.Text = "地下模式"; - this.buttonItem88.Click += new System.EventHandler(this.buttonItem88_Click); + this.btn_role_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_role_info.Image"))); + this.btn_role_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_role_info.Name = "btn_role_info"; + this.btn_role_info.SubItemsExpandWidth = 14; + this.btn_role_info.Text = "角色管理"; + this.btn_role_info.Click += new System.EventHandler(this.btn_role_info_Click); // - // buttonItem27 + // btn_resc_info // - this.buttonItem27.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem27.Image"))); - this.buttonItem27.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem27.Name = "buttonItem27"; - this.buttonItem27.SubItemsExpandWidth = 14; - this.buttonItem27.Text = "行走模式"; - this.buttonItem27.Click += new System.EventHandler(this.buttonItem27_Click); + this.btn_resc_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_resc_info.Image"))); + this.btn_resc_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_resc_info.Name = "btn_resc_info"; + this.btn_resc_info.SubItemsExpandWidth = 14; + this.btn_resc_info.Text = "资源管理"; + this.btn_resc_info.Click += new System.EventHandler(this.btn_resc_info_Click); // - // buttonItem91 + // btn_role_resc // - this.buttonItem91.ForeColor = System.Drawing.Color.Black; - this.buttonItem91.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem91.Image"))); - this.buttonItem91.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem91.Name = "buttonItem91"; - this.buttonItem91.SubItemsExpandWidth = 14; - this.buttonItem91.Text = "快速定位"; - this.buttonItem91.Click += new System.EventHandler(this.buttonItem91_Click); + this.btn_role_resc.Image = ((System.Drawing.Image)(resources.GetObject("btn_role_resc.Image"))); + this.btn_role_resc.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_role_resc.Name = "btn_role_resc"; + this.btn_role_resc.SubItemsExpandWidth = 14; + this.btn_role_resc.Text = "角色授权"; + this.btn_role_resc.Click += new System.EventHandler(this.btn_role_resc_Click); // - // buttonItem1 + // btn_user_role // - this.buttonItem1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem1.Image"))); - this.buttonItem1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem1.Name = "buttonItem1"; - this.buttonItem1.SubItemsExpandWidth = 14; - this.buttonItem1.Text = "图层管理"; - this.buttonItem1.Click += new System.EventHandler(this.buttonItem1_Click); + this.btn_user_role.Image = ((System.Drawing.Image)(resources.GetObject("btn_user_role.Image"))); + this.btn_user_role.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_user_role.Name = "btn_user_role"; + this.btn_user_role.SubItemsExpandWidth = 14; + this.btn_user_role.Text = "用户授权"; + this.btn_user_role.Click += new System.EventHandler(this.btn_user_role_Click); // - // btnlegendSet + // btn_password_edit // - this.btnlegendSet.Image = ((System.Drawing.Image)(resources.GetObject("btnlegendSet.Image"))); - this.btnlegendSet.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btnlegendSet.Name = "btnlegendSet"; - this.btnlegendSet.SubItemsExpandWidth = 14; - this.btnlegendSet.Text = "图例"; - this.btnlegendSet.Click += new System.EventHandler(this.btnlegendSet_Click); + this.btn_password_edit.Image = ((System.Drawing.Image)(resources.GetObject("btn_password_edit.Image"))); + this.btn_password_edit.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_password_edit.Name = "btn_password_edit"; + this.btn_password_edit.SubItemsExpandWidth = 14; + this.btn_password_edit.Text = "密码修改"; + this.btn_password_edit.Click += new System.EventHandler(this.btn_password_edit_Click); // - // buttonItem89 + // buttonItemPasswordReset // - this.buttonItem89.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem89.Image"))); - this.buttonItem89.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem89.Name = "buttonItem89"; - this.buttonItem89.SubItemsExpandWidth = 14; - this.buttonItem89.Text = "全屏显示"; - this.buttonItem89.Click += new System.EventHandler(this.buttonItem89_Click); - // - // btnOutputJPG - // - this.btnOutputJPG.Image = ((System.Drawing.Image)(resources.GetObject("btnOutputJPG.Image"))); - this.btnOutputJPG.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btnOutputJPG.Name = "btnOutputJPG"; - this.btnOutputJPG.SubItemsExpandWidth = 14; - this.btnOutputJPG.Text = "导出图片"; - this.btnOutputJPG.Click += new System.EventHandler(this.btnOutputJPG_Click); + this.buttonItemPasswordReset.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemPasswordReset.Image"))); + this.buttonItemPasswordReset.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemPasswordReset.Name = "buttonItemPasswordReset"; + this.buttonItemPasswordReset.SubItemsExpandWidth = 14; + this.buttonItemPasswordReset.Text = "重置密码"; + this.buttonItemPasswordReset.Click += new System.EventHandler(this.buttonItemPasswordReset_Click); // // ribbonTabItem1 // @@ -3992,6 +4247,7 @@ this.toolStripDropDownButton3.Name = "toolStripDropDownButton3"; this.toolStripDropDownButton3.Size = new System.Drawing.Size(75, 21); this.toolStripDropDownButton3.Text = "导出xls文件"; + this.toolStripDropDownButton3.Visible = false; this.toolStripDropDownButton3.Click += new System.EventHandler(this.toolStripDropDownButton3_Click); // // expandableSplitter2 @@ -4876,7 +5132,7 @@ // // textBoxX4 // - this.textBoxX4.Location = new System.Drawing.Point(81, 61); + this.textBoxX4.Location = new System.Drawing.Point(81, 393); this.textBoxX4.Name = "textBoxX4"; this.textBoxX4.Size = new System.Drawing.Size(87, 21); this.textBoxX4.TabIndex = 16; @@ -4890,7 +5146,7 @@ this.labelX24.BackgroundStyle.Class = ""; this.labelX24.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX24.Image = ((System.Drawing.Image)(resources.GetObject("labelX24.Image"))); - this.labelX24.Location = new System.Drawing.Point(7, 403); + this.labelX24.Location = new System.Drawing.Point(7, 735); this.labelX24.Name = "labelX24"; this.labelX24.Size = new System.Drawing.Size(77, 23); this.labelX24.TabIndex = 14; @@ -4915,12 +5171,12 @@ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle6; this.dataGridViewX8.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); - this.dataGridViewX8.Location = new System.Drawing.Point(10, 120); + this.dataGridViewX8.Location = new System.Drawing.Point(10, 452); this.dataGridViewX8.Name = "dataGridViewX8"; this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(0, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(119, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -4941,7 +5197,7 @@ // this.listBox3.FormattingEnabled = true; this.listBox3.ItemHeight = 12; - this.listBox3.Location = new System.Drawing.Point(8, 429); + this.listBox3.Location = new System.Drawing.Point(8, 761); this.listBox3.Name = "listBox3"; this.listBox3.Size = new System.Drawing.Size(195, 16); this.listBox3.TabIndex = 0; @@ -4956,7 +5212,7 @@ // this.labelX11.BackgroundStyle.Class = ""; this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX11.Location = new System.Drawing.Point(10, 93); + this.labelX11.Location = new System.Drawing.Point(10, 425); this.labelX11.Name = "labelX11"; this.labelX11.Size = new System.Drawing.Size(63, 23); this.labelX11.TabIndex = 1; @@ -4966,7 +5222,7 @@ this.buttonX12.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX12.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX12.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX12.Location = new System.Drawing.Point(8, 217); + this.buttonX12.Location = new System.Drawing.Point(8, 549); this.buttonX12.Name = "buttonX12"; this.buttonX12.Size = new System.Drawing.Size(65, 23); this.buttonX12.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -4979,7 +5235,7 @@ this.buttonX13.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX13.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX13.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX13.Location = new System.Drawing.Point(9, 478); + this.buttonX13.Location = new System.Drawing.Point(9, 810); this.buttonX13.Name = "buttonX13"; this.buttonX13.Size = new System.Drawing.Size(75, 23); this.buttonX13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5010,12 +5266,12 @@ dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle7; this.dataGridViewX9.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); - this.dataGridViewX9.Location = new System.Drawing.Point(11, 271); + this.dataGridViewX9.Location = new System.Drawing.Point(11, 603); this.dataGridViewX9.Name = "dataGridViewX9"; this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(0, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(193, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // @@ -5064,7 +5320,7 @@ this.buttonX14.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX14.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX14.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX14.Location = new System.Drawing.Point(128, 478); + this.buttonX14.Location = new System.Drawing.Point(128, 810); this.buttonX14.Name = "buttonX14"; this.buttonX14.Size = new System.Drawing.Size(75, 23); this.buttonX14.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5077,7 +5333,7 @@ this.buttonX15.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX15.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX15.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX15.Location = new System.Drawing.Point(112, 217); + this.buttonX15.Location = new System.Drawing.Point(112, 549); this.buttonX15.Name = "buttonX15"; this.buttonX15.Size = new System.Drawing.Size(92, 23); this.buttonX15.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5092,7 +5348,7 @@ // this.labelX15.BackgroundStyle.Class = ""; this.labelX15.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX15.Location = new System.Drawing.Point(174, 61); + this.labelX15.Location = new System.Drawing.Point(174, 393); this.labelX15.Name = "labelX15"; this.labelX15.Size = new System.Drawing.Size(20, 23); this.labelX15.TabIndex = 7; @@ -5106,7 +5362,7 @@ this.comboBoxEx4.Enabled = false; this.comboBoxEx4.FormattingEnabled = true; this.comboBoxEx4.ItemHeight = 15; - this.comboBoxEx4.Location = new System.Drawing.Point(81, 29); + this.comboBoxEx4.Location = new System.Drawing.Point(81, 361); this.comboBoxEx4.Name = "comboBoxEx4"; this.comboBoxEx4.Size = new System.Drawing.Size(123, 21); this.comboBoxEx4.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5124,7 +5380,7 @@ this.checkBoxX7.BackgroundStyle.Class = ""; this.checkBoxX7.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.checkBoxX7.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.checkBoxX7.Location = new System.Drawing.Point(8, 5); + this.checkBoxX7.Location = new System.Drawing.Point(8, 337); this.checkBoxX7.Name = "checkBoxX7"; this.checkBoxX7.Size = new System.Drawing.Size(90, 23); this.checkBoxX7.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5142,7 +5398,7 @@ this.checkBoxX8.BackgroundStyle.Class = ""; this.checkBoxX8.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.checkBoxX8.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.checkBoxX8.Location = new System.Drawing.Point(118, 5); + this.checkBoxX8.Location = new System.Drawing.Point(118, 337); this.checkBoxX8.Name = "checkBoxX8"; this.checkBoxX8.Size = new System.Drawing.Size(86, 23); this.checkBoxX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5159,7 +5415,7 @@ // this.labelX19.BackgroundStyle.Class = ""; this.labelX19.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX19.Location = new System.Drawing.Point(11, 61); + this.labelX19.Location = new System.Drawing.Point(11, 393); this.labelX19.Name = "labelX19"; this.labelX19.Size = new System.Drawing.Size(70, 23); this.labelX19.TabIndex = 1; @@ -5174,7 +5430,7 @@ // this.labelX21.BackgroundStyle.Class = ""; this.labelX21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX21.Location = new System.Drawing.Point(10, 29); + this.labelX21.Location = new System.Drawing.Point(10, 361); this.labelX21.Name = "labelX21"; this.labelX21.Size = new System.Drawing.Size(70, 23); this.labelX21.TabIndex = 1; @@ -5187,7 +5443,7 @@ this.labelX22.BackgroundStyle.Class = ""; this.labelX22.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX22.Image = ((System.Drawing.Image)(resources.GetObject("labelX22.Image"))); - this.labelX22.Location = new System.Drawing.Point(9, 245); + this.labelX22.Location = new System.Drawing.Point(9, 577); this.labelX22.Name = "labelX22"; this.labelX22.Size = new System.Drawing.Size(70, 23); this.labelX22.TabIndex = 1; @@ -5241,7 +5497,7 @@ this.buttonX7.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX7.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX7.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX7.Location = new System.Drawing.Point(119, 440); + this.buttonX7.Location = new System.Drawing.Point(119, 418); this.buttonX7.Name = "buttonX7"; this.buttonX7.Size = new System.Drawing.Size(40, 23); this.buttonX7.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5298,7 +5554,7 @@ this.dataGridViewX4.ReadOnly = true; this.dataGridViewX4.RowHeadersVisible = false; this.dataGridViewX4.RowTemplate.Height = 23; - this.dataGridViewX4.Size = new System.Drawing.Size(0, 92); + this.dataGridViewX4.Size = new System.Drawing.Size(130, 92); this.dataGridViewX4.TabIndex = 3; // // dataGridViewTextBoxColumn1 @@ -5348,7 +5604,7 @@ this.buttonX6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(246)))), ((int)(((byte)(253))))); this.buttonX6.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX6.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX6.Location = new System.Drawing.Point(11, 440); + this.buttonX6.Location = new System.Drawing.Point(11, 418); this.buttonX6.Name = "buttonX6"; this.buttonX6.Size = new System.Drawing.Size(75, 23); this.buttonX6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5383,7 +5639,7 @@ this.dataGridViewX5.ReadOnly = true; this.dataGridViewX5.RowHeadersVisible = false; this.dataGridViewX5.RowTemplate.Height = 23; - this.dataGridViewX5.Size = new System.Drawing.Size(0, 127); + this.dataGridViewX5.Size = new System.Drawing.Size(132, 127); this.dataGridViewX5.TabIndex = 5; this.dataGridViewX5.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX5_MouseDoubleClick); // @@ -5891,14 +6147,14 @@ this.ribbonControl1.ResumeLayout(false); this.ribbonControl1.PerformLayout(); this.ribbonPanel15.ResumeLayout(false); - this.ribbonPanel6.ResumeLayout(false); - this.ribbonPanel2.ResumeLayout(false); - this.ribbonPanel3.ResumeLayout(false); this.ribbonPanel7.ResumeLayout(false); - this.ribbonPanel5.ResumeLayout(false); - this.ribbonPanel12.ResumeLayout(false); - this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel3.ResumeLayout(false); this.ribbonPanel1.ResumeLayout(false); + this.ribbonPanel12.ResumeLayout(false); + this.ribbonPanel5.ResumeLayout(false); + this.ribbonPanel6.ResumeLayout(false); + this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel2.ResumeLayout(false); this.panelOfTable.ResumeLayout(false); this.panelOfTable.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); @@ -5959,8 +6215,6 @@ private RibbonControl ribbonControl1; private RibbonPanel ribbonPanel1; private RibbonBar ribbonBar21; - private ButtonItem buttonItem87; - private ButtonItem buttonItem88; private SliderItem sliderGroundTransSet1; private ButtonItem buttonItem89; private ButtonItem buttonItem91; @@ -6020,7 +6274,6 @@ private ButtonItem buttonItem16; private ButtonItem buttonItem26; private GalleryContainer galleryContainer4; - private ButtonItem buttonItem27; private ButtonItem buttonItem51; private ControlContainerItem controlContainerItem5; private PrintDocument printDocument1; @@ -6153,8 +6406,6 @@ private ToolStripMenuItem 断面分析ToolStripMenuItem; private ToolStripMenuItem 横断面分析ToolStripMenuItem; private ToolStripMenuItem 纵断面分析ToolStripMenuItem; - private ToolStripMenuItem 道路断面分析ToolStripMenuItem; - private ToolStripMenuItem 基线剖面分析ToolStripMenuItem; private ToolStripMenuItem 拓扑分析ToolStripMenuItem; private ToolStripMenuItem 创建拓扑ToolStripMenuItem; private ToolStripMenuItem 上游分析ToolStripMenuItem; @@ -6176,9 +6427,6 @@ private ToolStripMenuItem 多边形开挖ToolStripMenuItem; private ToolStripMenuItem 挖方量分析ToolStripMenuItem; private ToolStripMenuItem 沿线开挖ToolStripMenuItem; - private ToolStripMenuItem 创建隧道ToolStripMenuItem; - private ToolStripMenuItem 隐藏隧道ToolStripMenuItem; - private ToolStripMenuItem 删除隧道ToolStripMenuItem; private ToolStripMenuItem 全区域统计ToolStripMenuItem; private ToolStripMenuItem 管线长度统计ToolStripMenuItem; private ToolStripMenuItem 阀门数量统计ToolStripMenuItem; @@ -6230,7 +6478,6 @@ private ToolStripMenuItem 标识器分类统计ToolStripMenuItem; private ToolStripMenuItem 标识器分类统计ToolStripMenuItem1; private ButtonItem btn_check_history; - private ButtonItem buttonItem查看数据; private ButtonItem buttonItemGHRK; private RibbonPanel ribbonPanel2; private RibbonBar ribbonBar3; diff --git a/MainFrm.resx b/MainFrm.resx index f3955ec..7507c41 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -1127,40 +1127,6 @@ pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1640,6 +1606,506 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYxRjlCRTY3NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 + MTg4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYxRjlCRTY2NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 + MTg4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5JUenqAAACPElEQVRIS7WT3UsUURjGhyCiixbaUC/awuyq7OOuq2y3smxT + +1LT1LL+h6ib/odAKFBiIyssHNJKy740EZGC+hO6qhshDBKSIt6e58w5NXM8M9MQPfCD877nfZ53Z3fH + E5H/irdh885/whUaxmnKgis0jNOUhVS5TFlIlcsUw2kwreFZ9VNlBhNQwS0dF2Rm7q2CZ/Z4p2PipUNc + BMHt52V69o0sf/8ZgT3ecYazOm6ldNiK4GaYX87My9K3H4lwhrP00Ktj/0iHGorltj6ZnJqTxa/LmaCH + Xmbo6EDWglL5VJ9MvJiVhcWlTNBD7/qN25oQuypIh6wFxaYTZ0Vx8pyMTb6WjwtfEuEMZ40vV1PXhtjV + QTpkLSgdxpA/PiUjj1/JoeO9YuoPnz5HYI93nOGsqXPVW7oQuyZIh6wFxcZjPaKAcXjsuQyPPovWgGf2 + eBeuSa66rh2xsQtKB1t75Lb/VIb8J3KgtVvsmvDMHu/sGl9RB2Ljn2B/8xlRtHRL5f6EVO6NR2vAM3u8 + C9ck9QlKGBq8+0gG7jyU4tEusWvCM3u8s+u0J/Dyhfre/Kb6eRqvD43KtVsPZF+5UwWxJjyzxztT5wvb + 3+MHvozIAohfAPEvVoNHvQjTuwYE9d/0pb/iS8ORTgXP7PGOweuqaq/AswfsoFdnBHIs4EuyFlSBrfhU + l7hoL4Kv3hhR8GwF7+as9tAb+6L9BnIu+utgI1d4GCiyCOzSJAcbuUJdQGZRXpMcbOQKy0KyPO8X3VzO + Z+EVt84AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI4QTVDNDc0NEM2NzExRTQ5NTE5REU3N0RCMjJE + QjdBIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI4QTVDNDczNEM2NzExRTQ5NTE5REU3N0RCMjJE + QjdBIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzQ5NEZCOEM2MzRDRTQxMTg4NERE + MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4VEc0+AAADBUlEQVRIS62Ve0iTURTAr1ZaBkoWOTWn+bYyNTENMh/5yCSd + cyMf03xsva0/jEqjF2JIRL4yiGnaNFYRCkYtR2OWMtOm5ivFxyTTqS0VN2UU1el+X2MYVMjnDvz44Nxz + z4/LPZcPfdc2MjCJ/4BYI2r+II59TA8A/BdiQ2JdoU/PkwJ35VJqb/v0LMyJOQghoxULHuW5Ti3OsGAp + NVedJ9taHlxksI6240ZyKugFNbku6rlPu6Ff5EAyNbwLyrPtp6QS/nUsAFxMCRxyUiA8T1eqhrZBm8AG + mu9bw5DcDe6etNUJeH/dvByIIAUPz9ooFXJ7GJDRoavRDjokdlCcbjVtMIHglH1vyRFrTWHqlm+l6faL + txI3TZdm2A0Qgtj4lQviiGlpaa661NstfvXlc6dIMfiYRzDQK0wvKatMGh75CFQgBbowYjGDTRSKYa+R + kSG/AP/t63DOBLN6YmLCDNf5UoXszslCIk6W8Xv8bcfIdYjwkjHGiCxaEvj4y38HRLCPr5/oG70M/aP5 + mAL4MHoFmDzUER6V4I3HdBY3ooRewOBazEnlbHghC8cEwcumwxCZhLpCw1l+K3wHs6QgKh3Ja6W+UP3c + HcprXYH/1BP2MlCPAQS/jxCWsqa/SLAVbvKdIb/MBa4VOYLfQdRnMEEgk6YOiNnwNTCO9sM/2mLGcz/q + 3xmOGg0miGFyQ5qaW4dfv3mr6OruaxgfH0/DaTOM6cLCghdZSTFIAQ4jrVYbgptFEKhUKjecW4UxzJia + OGfyLXdw35l7cCXIIbNCR2Fg8KG1sfFcJ9zIkQp6Ac07c7JSMgbV0jEQ6ED0ZGFEVKLvCu/AkRSYOqWJ + cyo6gVfYCieKW+HMHRkgW+Yzg10yoqfUc240QWxuAxzIrgdWTh0gWrTEYAJLj9TZYJ4QgjKqYF/qPdiT + VAbIKlJmMIG5M3two1v8T3PHaC3dO2HG2pOtRJvDJEGhDM+E5NN95y7kAxX0AhzG8/PzeXhEpzQaTY9Y + LHbBOfIdqNVqV1xH/MApAPJfzP33dTxioZgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzMkNDMkY0NEFEMDExRTQ4MDc0ODRFNENDMkU3 + RDczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzMkNDMkYzNEFEMDExRTQ4MDc0ODRFNENDMkU3 + RDczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjdGOUQzNUFDRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5/YJCyAAABkUlEQVRIS7WUvUoDQRSFtxErBVfShFUEG4mKYGUh+AS+QB7H + p9BWtLFLZ2EjkUDAHyISFFEUIkhAIigYDGE8J7MTbiYzJjvigY9d7r3n3NliJ1JK/SvR7Pzqn3CFSpym + LLhCJU5TFkbKZcrCSFmGIigDFQi9xTRaCwVJ+ax6qTpdFQS9zEijtawFqv3dtU81NsaL2AmdDqEwsODz + q2OGNsHGuFjeGGilwf0FrY+2GVoDybhY3jzQSoP7C5qtTzNEk90fwgjvA15dheQwm43me/AC6dVVSA6z + +fjyFrxAenUVksNs3j69Bi+QXl2F5DCb1/eN4AXSq6uQHGbzvP4cvEB6dRWSw2xWag+9oRCMF7HeBeXd + g5I6vbgLYu+wpOKkUEOsd0Exnlup4jl0OnJSrfdw9UicLF9N5RZ2EOv90Vjib74OelcFjceVGyfscUZA + D73eq4IlXlQc4CkSfPI+g1zM5JeOMLPIuRR66PVedk6gaVAAW2A7he+sseeXK9AGmgQ5YE5qYI09v1yB + WfhdUfQD3zQ4bV9fKQQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW + 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 + zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU + 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 + CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f + UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW + nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 + jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z + cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 + wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md + mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk + hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR + PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl + hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX + vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO + Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE + 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO + a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC + KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ + gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp + JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe + NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G + IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq + 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 + OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 + NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE + M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW + 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 + zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU + 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 + CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f + UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW + nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 + jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z + cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 + wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md + mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk + hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR + PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl + hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX + vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO + Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE + 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO + a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC + KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ + gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp + JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe + NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G + IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq + 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 + OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 + NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE + M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1776,6 +2242,40 @@ OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2023,651 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgzMjEyRkFGNEFDRjExRTQ4MENGRkEzRDEwQ0Uw - RjZEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgzMjEyRkFFNEFDRjExRTQ4MENGRkEzRDEwQ0Uw - RjZEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjFGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz48kEQ/AAADtUlEQVRIS62UbUxTVxjHbwSHm0R5SRSHsOGkcVoTB26a2AnL - Ok0AgegSt0QqoJuKK4ggTmAOQUbFt2XZJpUqIKPtBpmtqAxfELSgFF+SbUbNPugn4wc/6aJuyfzveU45 - t1e4zmXzJL/8z/Oc5/z/l0tbJTp+9v8CwD+ie4lYQfQTDwk3kULozemaahl5gY3cxrfMGPBfwe8PHqHD - 24WXE+eC+uM0cyp6plq0w6ZkUxpcHUfhG7yC+w/+VLFuqkJUnLFAM6uiZ6pFDqbFvJYER2sHbt+9NwrX - 4eG/Is6YpTVn9Ey1yMHOA04Prt+681Sa3UfoNRm7teaMnqkWOfjQd/kG/L/efCp8znOKorwgzZlnruHB - PWtLq9Hd/zN6/NdGcazvMvILKxExxeCmK5H/JWBS1NSZDaR/EPykTxJnfDRhUsKJkLFh2ZGxryPaEBJK - V8fQme5rkWgDeDuBmENkEMuI9zVwnT4xJhGfuF4VoVSPJ8boGUvE0gTwU3FIDDFVEhk7gyfj+MnNthcf - t19/F8WeBBkSzpr8cRjfGxUmlgwYibn+pVBSkIrXxtpwcT7afnsHNn8S14+H+3+xkhWHhPzrAAJrXQlo - uZqKrT8Z4aInb7q6EBUD8bANvYma80ko+jGRzlOQ1xqv/r/IMpwIVQN4yUMt+c2vwP5LKip8BpT1zkJl - fyKsp2JVSnoM2NI3B9sGZmJz7xvYem4uLE3BIIasOUxR5pWNw/rTySj3zUPt4ALUD5mw+5IJBd3TkOOZ - rGLxPonsrzg8GbneeKzpnA1L+yysIy/2JOvpIiC5KAzpdgPMjRFIb41CpjMKWa5oQbb72fBcpjMaGXT3 - PQd5kBd7kjV/KhXl0g+1GHRWEdtwoe1zXPx+u9hz3++qFnA95K5R+zzPfZ4P9AP3WQP3q4IBAy0VOH+o - Av3NW8B71gutlWIvlc99TZ+KPau21t4b/O4z0nKccZQFA842bsSZfYVg7bNvENrbUKTqOUeJOO/bXxxQ - mpF1z7dWoXKe6+6vrWivyw8GdO3Kw8kvP8Jx0uO7VuGIbSWO1uehc0cuju3MV2tvnUX0PHU5ar9r92pR - y3MP9ZxVH6KlcnkwwFvzAdrKl6J5czYaNqTDUZqJ/RszcKA0S9QHN2XBXpyBxpIlAj7nms9lzXO830f6 - TWEa9hYsDgbYrYvw1Toz6nIXEimoXfk2vqD9dosJtrxUoSP7vK/JWaDWrPK8mvrspQbQ4i8Ef2a58TwJ - fA9o8Q8dh0Q8X5TwvwE0C9fB+8UTrQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxQTMzQzlGNEFDRjExRTQ5OEMwQ0Y0Q0Y4QzlC - ODkwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxQTMzQzlFNEFDRjExRTQ5OEMwQ0Y0Q0Y4QzlC - ODkwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4XXXQtAAAELElEQVRIS7VV20/TZxhmk8TFmWWRCy+WsGgmF3MmTragkznE - LtuEoaJjKqUTFCggp4IFWg7lOAQ5CIyjUJCWAuNQ6mTgCmsVykmvFpMl/iW7mM/e92u/X39s7HCzL3l4 - 3ud5Dw9ctITwA/CfERZ+BGERu0Jp7dWd+moob6fmTuDjBudBMNPa64R/DFHeTk2JwLFXmD9v2/Ny+oUG - hc4DMmQvc2TG7jeo/kuY8v7cYGia9oTyMvFvknufHof9xWk0bh5j/TLg/x4I45Bd6hvKU5sSvKR3HMDI - 8xhULrwHx69nYH1+CmZfOBq3PkTt2jHkzxyi/idIHQ0Xf1EgaC8hlG8oTzbVSBt+G32/xMC8EgGj5zDK - Vw8h1/2WgqLlCJR5j6La9y5KPO+j8skH0FmDQQw6zWEhIVHG15CzFAnTShTqN06iaSsaLc+ikb14ECnO - /Qp0c9shfe3sflybC0fmgyPQfX8YWXSLb9Lpd0RAZP5uxPVFQDPwJuJG9yFhbB/OOcIEzo//O3guYSwM - 8bT76T26Qbf4Jp0+KgKeTdZjY8xCqMa6vQpPJ+pEzf6mo0aA9dZ4reLzPPs87/f9+8z+fUswYMPOTQvW - bJXgmnnTQcNUS+a+b7RC1IJVWr23NU6htip4rWZVADV8I2Ywr/ES6/vlCm/Sb8n9dVuFYJ6RenXY5PcD - 86w9Q6VwtecFA54MGmnBhBVrKdZpkJn16nAZ1uiQ1CtDJcLjeelvUJiyT33vYAnmuwow05ITDFgZMuLx - vWIaMMLTbxDMepUWWPvokHegiA7dEuA+a+5LzXNcL/UWYr4zD5ON6cGAn3vy8HjAAGZvfyE8vfnw9hUI - /Xc+18vduYpmZs/dnQfXnQxMNqSpArpvYqkrB8vf3YS7MxuenlyF1b66/1NH1jZf6oV2PVzNNzBWo+MA - /+fgUVs63B16MC93ZQte6swS7L6bqfBCy3Uxt9h6Q2jJcp/1QlsGput1sFuSOcD/SX7Ueh0/Nl/DYkva - Nl64k4qHt3Winm/6RviS2eM91jwn+UGjDlO1ybCWXuQA/5urvwpXQzKYHzamwFl3BT98qxV6ngK4J32u - Z2svC581++yxZt/VoIWjIgnDMoC/9Vw0OG1JguQ5GpR6quorOGu+VvyZ6iShmaVW+xMVl2A3JaKnII5O - Uwb/mCxPxAwdYp6quIhx03lMV17ChPmC0NKX2lF2DrMUyJr31DxhTsSgIQ79BfHBgCk6ME5LE6YLsBrO - 4v6tL2Et/AIjxfFCCyZtMyYIPVwUt21O+AEeIr8n9zO0ZcQGA2zFZ8VAlz4WXVkatKfHoEN/Bq0Bvptx - WkD6XHdkxgqt9pl553bqKQEloC9Hg+bUj9GgOwnLFfqfkBLk6uQTqNMSXz2OWu1HAvW6aOHLOe5Lrroc - RbMnYKF5JeD/A0L+ALgaUQ70/qVMAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE - qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 - z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 - peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 - R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy - vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj - kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 - fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll - wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y - u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 - B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz - mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 - Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj - ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY - TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYxRjlCRTY3NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 - MTg4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYxRjlCRTY2NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 - MTg4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5JUenqAAACPElEQVRIS7WT3UsUURjGhyCiixbaUC/awuyq7OOuq2y3smxT - +1LT1LL+h6ib/odAKFBiIyssHNJKy740EZGC+hO6qhshDBKSIt6e58w5NXM8M9MQPfCD877nfZ53Z3fH - E5H/irdh885/whUaxmnKgis0jNOUhVS5TFlIlcsUw2kwreFZ9VNlBhNQwS0dF2Rm7q2CZ/Z4p2PipUNc - BMHt52V69o0sf/8ZgT3ecYazOm6ldNiK4GaYX87My9K3H4lwhrP00Ktj/0iHGorltj6ZnJqTxa/LmaCH - Xmbo6EDWglL5VJ9MvJiVhcWlTNBD7/qN25oQuypIh6wFxaYTZ0Vx8pyMTb6WjwtfEuEMZ40vV1PXhtjV - QTpkLSgdxpA/PiUjj1/JoeO9YuoPnz5HYI93nOGsqXPVW7oQuyZIh6wFxcZjPaKAcXjsuQyPPovWgGf2 - eBeuSa66rh2xsQtKB1t75Lb/VIb8J3KgtVvsmvDMHu/sGl9RB2Ljn2B/8xlRtHRL5f6EVO6NR2vAM3u8 - C9ck9QlKGBq8+0gG7jyU4tEusWvCM3u8s+u0J/Dyhfre/Kb6eRqvD43KtVsPZF+5UwWxJjyzxztT5wvb - 3+MHvozIAohfAPEvVoNHvQjTuwYE9d/0pb/iS8ORTgXP7PGOweuqaq/AswfsoFdnBHIs4EuyFlSBrfhU - l7hoL4Kv3hhR8GwF7+as9tAb+6L9BnIu+utgI1d4GCiyCOzSJAcbuUJdQGZRXpMcbOQKy0KyPO8X3VzO - Z+EVt84AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI4QTVDNDc0NEM2NzExRTQ5NTE5REU3N0RCMjJE - QjdBIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI4QTVDNDczNEM2NzExRTQ5NTE5REU3N0RCMjJE - QjdBIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzQ5NEZCOEM2MzRDRTQxMTg4NERE - MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4VEc0+AAADBUlEQVRIS62Ve0iTURTAr1ZaBkoWOTWn+bYyNTENMh/5yCSd - cyMf03xsva0/jEqjF2JIRL4yiGnaNFYRCkYtR2OWMtOm5ivFxyTTqS0VN2UU1el+X2MYVMjnDvz44Nxz - z4/LPZcPfdc2MjCJ/4BYI2r+II59TA8A/BdiQ2JdoU/PkwJ35VJqb/v0LMyJOQghoxULHuW5Ti3OsGAp - NVedJ9taHlxksI6240ZyKugFNbku6rlPu6Ff5EAyNbwLyrPtp6QS/nUsAFxMCRxyUiA8T1eqhrZBm8AG - mu9bw5DcDe6etNUJeH/dvByIIAUPz9ooFXJ7GJDRoavRDjokdlCcbjVtMIHglH1vyRFrTWHqlm+l6faL - txI3TZdm2A0Qgtj4lQviiGlpaa661NstfvXlc6dIMfiYRzDQK0wvKatMGh75CFQgBbowYjGDTRSKYa+R - kSG/AP/t63DOBLN6YmLCDNf5UoXszslCIk6W8Xv8bcfIdYjwkjHGiCxaEvj4y38HRLCPr5/oG70M/aP5 - mAL4MHoFmDzUER6V4I3HdBY3ooRewOBazEnlbHghC8cEwcumwxCZhLpCw1l+K3wHs6QgKh3Ja6W+UP3c - HcprXYH/1BP2MlCPAQS/jxCWsqa/SLAVbvKdIb/MBa4VOYLfQdRnMEEgk6YOiNnwNTCO9sM/2mLGcz/q - 3xmOGg0miGFyQ5qaW4dfv3mr6OruaxgfH0/DaTOM6cLCghdZSTFIAQ4jrVYbgptFEKhUKjecW4UxzJia - OGfyLXdw35l7cCXIIbNCR2Fg8KG1sfFcJ9zIkQp6Ac07c7JSMgbV0jEQ6ED0ZGFEVKLvCu/AkRSYOqWJ - cyo6gVfYCieKW+HMHRkgW+Yzg10yoqfUc240QWxuAxzIrgdWTh0gWrTEYAJLj9TZYJ4QgjKqYF/qPdiT - VAbIKlJmMIG5M3two1v8T3PHaC3dO2HG2pOtRJvDJEGhDM+E5NN95y7kAxX0AhzG8/PzeXhEpzQaTY9Y - LHbBOfIdqNVqV1xH/MApAPJfzP33dTxioZgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzMkNDMkY0NEFEMDExRTQ4MDc0ODRFNENDMkU3 - RDczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzMkNDMkYzNEFEMDExRTQ4MDc0ODRFNENDMkU3 - RDczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjdGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5/YJCyAAABkUlEQVRIS7WUvUoDQRSFtxErBVfShFUEG4mKYGUh+AS+QB7H - p9BWtLFLZ2EjkUDAHyISFFEUIkhAIigYDGE8J7MTbiYzJjvigY9d7r3n3NliJ1JK/SvR7Pzqn3CFSpym - LLhCJU5TFkbKZcrCSFmGIigDFQi9xTRaCwVJ+ax6qTpdFQS9zEijtawFqv3dtU81NsaL2AmdDqEwsODz - q2OGNsHGuFjeGGilwf0FrY+2GVoDybhY3jzQSoP7C5qtTzNEk90fwgjvA15dheQwm43me/AC6dVVSA6z - +fjyFrxAenUVksNs3j69Bi+QXl2F5DCb1/eN4AXSq6uQHGbzvP4cvEB6dRWSw2xWag+9oRCMF7HeBeXd - g5I6vbgLYu+wpOKkUEOsd0Exnlup4jl0OnJSrfdw9UicLF9N5RZ2EOv90Vjib74OelcFjceVGyfscUZA - D73eq4IlXlQc4CkSfPI+g1zM5JeOMLPIuRR66PVedk6gaVAAW2A7he+sseeXK9AGmgQ5YE5qYI09v1yB - WfhdUfQD3zQ4bV9fKQQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/Cyberpipe.csproj b/Cyberpipe.csproj index a2e0440..e7e449a 100644 --- a/Cyberpipe.csproj +++ b/Cyberpipe.csproj @@ -276,6 +276,33 @@ + + + + Form + + + FormFT.cs + + + Form + + + FormHor.cs + + + Form + + + FormVer.cs + + + Form + + + FrmAnalysis.cs + + Form @@ -1278,6 +1305,18 @@ Form_TaskManager.cs + + FormFT.cs + + + FormHor.cs + + + FormVer.cs + + + FrmAnalysis.cs + FormDocumentManager.cs diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 409acc5..d686f5f 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/DoublePanelAnalysis.cs b/DoublePanelAnalysis.cs index 955bf70..5185321 100644 --- a/DoublePanelAnalysis.cs +++ b/DoublePanelAnalysis.cs @@ -379,11 +379,11 @@ GSOPoint3d pntIntersect1, pntIntersect2; double dDist = globeControl.Globe.Analysis3D.ComputeTwoGeoPolylineDistance(line1, line2, out pntIntersect1, out pntIntersect2,out horLen,out verLen,true,true,dNoIntersetStartRatio); -// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; +// dDist = Math.Abs(pntIntersect1.Z - pntIntersect2.Z) - pipeStyle1.Radius - pipeStyle2.Radius; dDist = dDist - pipeStyle1.Radius - pipeStyle2.Radius; if (dDist <= 0) { - FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); + FeatureAnalysisInfo featureAnalysisInfo = new FeatureAnalysisInfo(); featureAnalysisInfo.feature = feat2; featureAnalysisInfo.point1 = pntIntersect1; featureAnalysisInfo.point2 = pntIntersect2; diff --git a/FormAnalysis/AnalysisDataInfo.cs b/FormAnalysis/AnalysisDataInfo.cs new file mode 100644 index 0000000..1e56292 --- /dev/null +++ b/FormAnalysis/AnalysisDataInfo.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + class AnalysisDataInfo + { + public static Dictionary m_FeaturesWithBianhao = new Dictionary(); + public static Dictionary featCount = new Dictionary(); + public static Dictionary featLenth = new Dictionary(); + } + + +} diff --git a/FormAnalysis/FormFT.Designer.cs b/FormAnalysis/FormFT.Designer.cs new file mode 100644 index 0000000..a9dc40e --- /dev/null +++ b/FormAnalysis/FormFT.Designer.cs @@ -0,0 +1,277 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormFT + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxFTSD = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxFTSD); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(1, -1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(685, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "覆土审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(23, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(92, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "覆土深度(m):"; + // + // textBoxFTSD + // + // + // + // + this.textBoxFTSD.Border.Class = "TextBoxBorder"; + this.textBoxFTSD.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxFTSD.Location = new System.Drawing.Point(121, 26); + this.textBoxFTSD.Name = "textBoxFTSD"; + this.textBoxFTSD.Size = new System.Drawing.Size(100, 21); + this.textBoxFTSD.TabIndex = 6; + this.textBoxFTSD.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(1, 99); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(691, 302); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(691, 274); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(691, 274); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(691, 302); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(691, 302); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // FormFT + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormFT"; + this.Text = "覆土审核"; + this.Load += new System.EventHandler(this.FormFT_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxFTSD; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FormFT.cs b/FormAnalysis/FormFT.cs new file mode 100644 index 0000000..6829dc8 --- /dev/null +++ b/FormAnalysis/FormFT.cs @@ -0,0 +1,252 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormFT : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp = null; + + public FormFT(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormFT_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("埋深/m", "埋深/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,埋深/m"; + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxFTSD.Text.Trim() == "") + { + MessageBox.Show("覆土深度不能为空!", "提示"); + return; + } + double dFuTuShenDu = 0; + if (!double.TryParse(textBoxFTSD.Text.Trim(), out dFuTuShenDu)) + { + MessageBox.Show("请输入正确的覆土深度!", "提示"); + return; + } + + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("埋深/m"); + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature rowFeature = features[0]; + + + GSOGeoPolyline3D line = rowFeature.Geometry as GSOGeoPolyline3D; + if (line == null) + { + continue; + } + GSOPipeLineStyle3D style = line.Style as GSOPipeLineStyle3D; + if (style == null) + { + continue; + } + if (line.PartCount <= 0) continue; + GSOPoint3ds pts = line[0]; + GSOPoint3d pt = new GSOPoint3d(); + + for (int m = 0; m < pts.Count; m++) + { + if (Math.Abs(pts[m].Z + (style.Radius)) < Convert.ToDouble(textBoxFTSD.Text.Trim())) + { + DataRow row = dt.NewRow(); + row[0] = rowFeature.Dataset.Caption; + row[1] = rowFeature.Name; + row[2] = Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00"); + dt.Rows.Add(row); + + pt.X = pts[m].X; + pt.Y = pts[m].Y; + pt.Z = 0; + LabelVerticalDistance(layerTemp, pts[m], pt, + Convert.ToDouble(Math.Abs((pts[m].Z + (style.Radius))).ToString("0.00")), true); + break; + } + } + } + winGridViewPager2.DataSource = dt.DefaultView; + globeControl1.Refresh(); + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("所有管线满足覆土净距标准!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + } + + /// + /// 在指定的两点组成的线的中间添加一个marker对象,并将marker对象添加到指定的图层中 + /// + /// + /// + /// + /// + /// + private GSOPoint3d LabelVerticalDistance(GSOLayer markerLayer, GSOPoint3d pntIntersect1, GSOPoint3d pntIntersect2, double distance, bool markerVisible) + { + if (pntIntersect1 == null || pntIntersect2 == null) + { + return new GSOPoint3d(); + } + + GSOGeoPolyline3D disline = new GSOGeoPolyline3D(); + GSOPoint3ds point3Ds = new GSOPoint3ds(); + point3Ds.Add(pntIntersect1); + point3Ds.Add(pntIntersect2); + disline.AddPart(point3Ds); + GSOSimpleLineStyle3D style = new GSOSimpleLineStyle3D(); //创建线的风格 + //设置透明度及颜色,FromArgb()中的四个参数分别为alpha、red、green、blue,取值范围为0到255 + style.LineColor = Color.GreenYellow; + style.LineWidth = 3; //设置线的宽度为3 + style.VertexVisible = true; //显示线的节点 + disline.Style = style; //把风格添加到线上 + disline.AltitudeMode = EnumAltitudeMode.Absolute; + + GSOFeature line = new GSOFeature(); + line.Geometry = disline; + + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = pntIntersect1.X; + dismarker.Y = pntIntersect1.Y; + dismarker.Z = (pntIntersect1.Z + pntIntersect2.Z) / 2; + + string disStr = distance.ToString("0.00"); + if (disStr != "0.00") + { + dismarker.Text = distance.ToString("0.00") + "米"; + } + else + { + dismarker.Text = "交叉"; + } + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + GSOMarkerStyle3D styleMarker = new GSOMarkerStyle3D(); + GSOTextStyle styleText = new GSOTextStyle(); + styleText.IsSizeFixed = true; + styleText.ForeColor = Color.White; + styleText.FontSize = 20; + styleMarker.TextStyle = styleText; + dismarker.Style = styleMarker; + + GSOFeature marker = new GSOFeature(); + marker.Geometry = dismarker; + + line.Visible = marker.Visible = markerVisible; + + markerLayer.AddFeature(line); + markerLayer.AddFeature(marker); + + return dismarker.Position; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } +} diff --git a/FormAnalysis/FormFT.resx b/FormAnalysis/FormFT.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormFT.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/FormAnalysis/FormHor.Designer.cs b/FormAnalysis/FormHor.Designer.cs new file mode 100644 index 0000000..c20934d --- /dev/null +++ b/FormAnalysis/FormHor.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormHor + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.groupPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(0, 103); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(686, 291); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 0; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "审核管段"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(686, 263); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(686, 263); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "审核管段"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(686, 291); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(686, 291); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审核结果"; + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(0, 3); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(686, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "水平净距"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(45, 21); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(75, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "净距标准/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(126, 21); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // FormHor + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.groupPanel1); + this.Controls.Add(this.superTabControl1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormHor"; + this.Text = "水平净距"; + this.Load += new System.EventHandler(this.FormHor_Load); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.groupPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormHor.cs b/FormAnalysis/FormHor.cs new file mode 100644 index 0000000..57d4762 --- /dev/null +++ b/FormAnalysis/FormHor.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormHor : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + public FormHor(GSOFeatures _features, GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FormHor_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + HorizontalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// 计算指定feature对象与除了该feature所在图层之外的 所有管线图层中的所有feature对象 的水平距离 并记录符合要求的管线 功能 + /// + /// + /// + /// + private void HorizontalDistanceAnalysis(GSOFeature selectedFeature, List _pipelineLayerNames, double dis) + { + Dictionary featureMap = DoublePanelAnalysis.HorizontalDistanceAnalysis(globeControl1, selectedFeature, + _pipelineLayerNames, dis); + if (featureMap == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + + foreach (KeyValuePair kvp in featureMap) + { + GSOFeature feat2 = kvp.Key; + feat2.HighLight = true; + string feat2Caption = feat2.Dataset.Caption; + + DataRow row = dt.NewRow(); + row[0] = selectedFeature.Dataset.Caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = kvp.Value.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormHor.resx b/FormAnalysis/FormHor.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormHor.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/FormAnalysis/FormVer.Designer.cs b/FormAnalysis/FormVer.Designer.cs new file mode 100644 index 0000000..74750db --- /dev/null +++ b/FormAnalysis/FormVer.Designer.cs @@ -0,0 +1,276 @@ +namespace Cyberpipe.FormAnalysis +{ + partial class FormVer + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.textBoxJJBZ = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.labelX1); + this.groupPanel1.Controls.Add(this.textBoxJJBZ); + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(-1, 1); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 3; + this.groupPanel1.Text = "垂直净距审核"; + // + // labelX1 + // + this.labelX1.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.labelX1.BackgroundStyle.Class = ""; + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Location = new System.Drawing.Point(34, 24); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(105, 23); + this.labelX1.TabIndex = 7; + this.labelX1.Text = "垂直净距标注/m:"; + // + // textBoxJJBZ + // + // + // + // + this.textBoxJJBZ.Border.Class = "TextBoxBorder"; + this.textBoxJJBZ.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.textBoxJJBZ.Location = new System.Drawing.Point(145, 26); + this.textBoxJJBZ.Name = "textBoxJJBZ"; + this.textBoxJJBZ.Size = new System.Drawing.Size(100, 21); + this.textBoxJJBZ.TabIndex = 6; + this.textBoxJJBZ.Text = "2"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(-1, 101); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 4; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 0); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 313); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 313); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FormVer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 406); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FormVer"; + this.Text = "垂直净距分析"; + this.Load += new System.EventHandler(this.FormVer_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.TextBoxX textBoxJJBZ; + } +} \ No newline at end of file diff --git a/FormAnalysis/FormVer.cs b/FormAnalysis/FormVer.cs new file mode 100644 index 0000000..1fbceca --- /dev/null +++ b/FormAnalysis/FormVer.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using DevComponents.DotNetBar; +using GeoScene.Globe; +using GeoScene.Data; +using GeoScene.Engine; + +namespace Cyberpipe.FormAnalysis +{ + public partial class FormVer : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + private GSOLayer layerTemp; + public FormVer(GSOFeatures _features, GSOGlobeControl _globeControl, GSOLayer _layerTemp) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + layerTemp = _layerTemp; + } + + private void FormVer_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);//属性编辑 + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected);//属性编辑 + } + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager2.AddColumnAlias("审核编号", "审核编号"); + winGridViewPager2.AddColumnAlias("问题图层", "问题图层"); + winGridViewPager2.AddColumnAlias("问题编号", "问题编号"); + winGridViewPager2.AddColumnAlias("标准/m", "标准/m"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号,标准/m"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (textBoxJJBZ.Text.Trim() == "") + { + MessageBox.Show("净距标准不能为空!", "提示"); + return; + } + double dJingJuBiaoZhun = 0.0; + if (!double.TryParse(textBoxJJBZ.Text.Trim(), out dJingJuBiaoZhun)) + { + MessageBox.Show("请输入正确的净距标准!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + VerticalDistanceAnalysis(selectFeature, Utility.m_PipelineLayerNames, dJingJuBiaoZhun); + } + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有不符合净距标准的管线!", "提示"); + } + globeControl1.Refresh(); + } + + private void VerticalDistanceAnalysis(GSOFeature selectedFeature, List pipelineLayerNames, double verticalDistance) + { + List result = DoublePanelAnalysis.VerticalDistanceAnalysis(globeControl1, selectedFeature, pipelineLayerNames, + verticalDistance); + if (result == null) + { + MessageBox.Show("请选择一条管线!"); + return; + } + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + dt.Columns.Add("标准/m"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + GSOFeature feat2 = featureAnalysisInfo.feature; + string feat2Caption = feat2.Dataset.Caption; + feat2.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = feat2.Name; + row[4] = featureAnalysisInfo.distance.ToString("0.00"); + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = feat2.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + string markerInfo = featureAnalysisInfo.distance.ToString("0.00") + "米"; + GSOPoint3d markerPosition = DoublePanelAnalysis.MakeLabel(layerTemp, featureAnalysisInfo.point1, featureAnalysisInfo.point2, markerInfo, true); + } + winGridViewPager2.DataSource = dt.DefaultView; + } + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FormVer.resx b/FormAnalysis/FormVer.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FormVer.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/FormAnalysis/FrmAnalysis.Designer.cs b/FormAnalysis/FrmAnalysis.Designer.cs new file mode 100644 index 0000000..a7e95bf --- /dev/null +++ b/FormAnalysis/FrmAnalysis.Designer.cs @@ -0,0 +1,246 @@ +namespace Cyberpipe +{ + partial class FrmAnalysis + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupPanel1 = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.buttonExpCAD = new DevComponents.DotNetBar.ButtonX(); + this.buttonOK = new DevComponents.DotNetBar.ButtonX(); + this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); + this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager2 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); + this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); + this.winGridViewPager1 = new WHC.Pager.WinControl.WinGridViewPager(); + this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); + this.groupPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); + this.superTabControl1.SuspendLayout(); + this.superTabControlPanel2.SuspendLayout(); + this.superTabControlPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // groupPanel1 + // + this.groupPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupPanel1.CanvasColor = System.Drawing.SystemColors.Control; + this.groupPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.groupPanel1.Controls.Add(this.buttonExpCAD); + this.groupPanel1.Controls.Add(this.buttonOK); + this.groupPanel1.Location = new System.Drawing.Point(2, -2); + this.groupPanel1.Name = "groupPanel1"; + this.groupPanel1.Size = new System.Drawing.Size(691, 94); + // + // + // + this.groupPanel1.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.groupPanel1.Style.BackColorGradientAngle = 90; + this.groupPanel1.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.groupPanel1.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderBottomWidth = 1; + this.groupPanel1.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.groupPanel1.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderLeftWidth = 1; + this.groupPanel1.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderRightWidth = 1; + this.groupPanel1.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.groupPanel1.Style.BorderTopWidth = 1; + this.groupPanel1.Style.Class = ""; + this.groupPanel1.Style.CornerDiameter = 4; + this.groupPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.groupPanel1.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.groupPanel1.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.groupPanel1.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + // + // + // + this.groupPanel1.StyleMouseDown.Class = ""; + this.groupPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.groupPanel1.StyleMouseOver.Class = ""; + this.groupPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.groupPanel1.TabIndex = 2; + this.groupPanel1.Text = "碰撞审核"; + // + // buttonExpCAD + // + this.buttonExpCAD.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonExpCAD.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonExpCAD.Location = new System.Drawing.Point(580, 21); + this.buttonExpCAD.Name = "buttonExpCAD"; + this.buttonExpCAD.Size = new System.Drawing.Size(75, 26); + this.buttonExpCAD.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonExpCAD.TabIndex = 5; + this.buttonExpCAD.Text = "导出CAD"; + // + // buttonOK + // + this.buttonOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonOK.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonOK.Location = new System.Drawing.Point(362, 21); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 26); + this.buttonOK.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonOK.TabIndex = 4; + this.buttonOK.Text = "开始分析"; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // superTabControl1 + // + // + // + // + // + // + // + this.superTabControl1.ControlBox.CloseBox.Name = ""; + // + // + // + this.superTabControl1.ControlBox.MenuBox.Name = ""; + this.superTabControl1.ControlBox.Name = ""; + this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabControl1.ControlBox.MenuBox, + this.superTabControl1.ControlBox.CloseBox}); + this.superTabControl1.Controls.Add(this.superTabControlPanel1); + this.superTabControl1.Controls.Add(this.superTabControlPanel2); + this.superTabControl1.Location = new System.Drawing.Point(2, 98); + this.superTabControl1.Name = "superTabControl1"; + this.superTabControl1.ReorderTabsEnabled = true; + this.superTabControl1.SelectedTabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); + this.superTabControl1.SelectedTabIndex = 0; + this.superTabControl1.Size = new System.Drawing.Size(693, 313); + this.superTabControl1.TabFont = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.superTabControl1.TabIndex = 3; + this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.superTabItem1, + this.superTabItem2}); + this.superTabControl1.Text = "superTabControl1"; + // + // superTabControlPanel2 + // + this.superTabControlPanel2.Controls.Add(this.winGridViewPager2); + this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel2.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel2.Name = "superTabControlPanel2"; + this.superTabControlPanel2.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel2.TabIndex = 0; + this.superTabControlPanel2.TabItem = this.superTabItem2; + // + // winGridViewPager2 + // + this.winGridViewPager2.AppendedMenu = null; + this.winGridViewPager2.DataSource = null; + this.winGridViewPager2.DisplayColumns = ""; + this.winGridViewPager2.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager2.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager2.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager2.Name = "winGridViewPager2"; + this.winGridViewPager2.PrintTitle = ""; + this.winGridViewPager2.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager2.TabIndex = 0; + // + // superTabItem2 + // + this.superTabItem2.AttachedControl = this.superTabControlPanel2; + this.superTabItem2.GlobalItem = false; + this.superTabItem2.Name = "superTabItem2"; + this.superTabItem2.Text = "审查结果"; + // + // superTabControlPanel1 + // + this.superTabControlPanel1.Controls.Add(this.winGridViewPager1); + this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.superTabControlPanel1.Location = new System.Drawing.Point(0, 28); + this.superTabControlPanel1.Name = "superTabControlPanel1"; + this.superTabControlPanel1.Size = new System.Drawing.Size(693, 285); + this.superTabControlPanel1.TabIndex = 1; + this.superTabControlPanel1.TabItem = this.superTabItem1; + // + // winGridViewPager1 + // + this.winGridViewPager1.AppendedMenu = null; + this.winGridViewPager1.DataSource = null; + this.winGridViewPager1.DisplayColumns = ""; + this.winGridViewPager1.Dock = System.Windows.Forms.DockStyle.Fill; + this.winGridViewPager1.Location = new System.Drawing.Point(0, 0); + this.winGridViewPager1.MinimumSize = new System.Drawing.Size(540, 0); + this.winGridViewPager1.Name = "winGridViewPager1"; + this.winGridViewPager1.PrintTitle = ""; + this.winGridViewPager1.Size = new System.Drawing.Size(693, 285); + this.winGridViewPager1.TabIndex = 0; + // + // superTabItem1 + // + this.superTabItem1.AttachedControl = this.superTabControlPanel1; + this.superTabItem1.GlobalItem = false; + this.superTabItem1.Name = "superTabItem1"; + this.superTabItem1.Text = "待审查管段"; + // + // FrmAnalysis + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(697, 416); + this.Controls.Add(this.superTabControl1); + this.Controls.Add(this.groupPanel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FrmAnalysis"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "审核"; + this.Load += new System.EventHandler(this.FrmAnalysis_Load); + this.groupPanel1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); + this.superTabControl1.ResumeLayout(false); + this.superTabControlPanel2.ResumeLayout(false); + this.superTabControlPanel1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1; + private DevComponents.DotNetBar.SuperTabControl superTabControl1; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; + private DevComponents.DotNetBar.SuperTabItem superTabItem2; + private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; + private DevComponents.DotNetBar.SuperTabItem superTabItem1; + private DevComponents.DotNetBar.ButtonX buttonExpCAD; + private DevComponents.DotNetBar.ButtonX buttonOK; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager2; + private WHC.Pager.WinControl.WinGridViewPager winGridViewPager1; + + } +} \ No newline at end of file diff --git a/FormAnalysis/FrmAnalysis.cs b/FormAnalysis/FrmAnalysis.cs new file mode 100644 index 0000000..a786809 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Cyberpipe.FormAnalysis; +using DevComponents.DotNetBar; +using GeoScene.Data; +using GeoScene.Engine; +using GeoScene.Globe; +using WHC.Pager.WinControl; + +namespace Cyberpipe +{ + public partial class FrmAnalysis : Office2007Form + { + GSOGlobeControl globeControl1 = null; + int maxPageIndex = 20; + int rows = 0; + public static GSODataSource ds = null; + private GSOFeatures features = null; + + public FrmAnalysis(GSOFeatures _features,GSOGlobeControl _globeControl) + { + InitializeComponent(); + features = _features; + globeControl1 = _globeControl; + } + + private void FrmAnalysis_Load(object sender, EventArgs e) + { + InitWinGridView.initlizeDatagrid(winGridViewPager1, rows, maxPageIndex); + InitWinGridView.initlizeDatagrid(winGridViewPager2, rows, maxPageIndex); + initlizeDatagrid(); + addFeaturesToDataGridView(features); + this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); + this.winGridViewPager2.OnEditSelected += new EventHandler(winGridViewPager2_OnEditSelected); + } + + /// + /// 初始化分页表格 + /// + private void initlizeDatagrid() + { + winGridViewPager1.AddColumnAlias("审核图层", "审核图层"); + winGridViewPager1.AddColumnAlias("编号", "编号"); + winGridViewPager1.DisplayColumns = "审核图层,编号"; + + winGridViewPager2.AddColumnAlias("审核图层","审核图层"); + winGridViewPager2.AddColumnAlias("审核编号","审核编号"); + winGridViewPager2.AddColumnAlias("问题图层","问题图层"); + winGridViewPager2.AddColumnAlias("问题编号","问题编号"); + winGridViewPager2.DisplayColumns = "审核图层,审核编号,问题图层,问题编号"; + + } + + private void addFeaturesToDataGridView(GSOFeatures features) + { + DataTable dt=new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("编号"); + for (int i = 0; i < features.Length; i++) + { + DataRow r = dt.NewRow(); + r[0] = features[i].Dataset.Name; + r[1] = features[i].Name; + dt.Rows.Add(r); + } + winGridViewPager1.DataSource = dt.DefaultView; + } + + private void buttonOK_Click(object sender, EventArgs e) + { + if (winGridViewPager1.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("请选择要审核的管段!", "提示"); + return; + } + + for (int i = 0; i < winGridViewPager1.dataGridView1.Rows.Count; i++) + { + GSOLayer layer = + globeControl1.Globe.Layers.GetLayerByCaption( + winGridViewPager1.dataGridView1.Rows[i].Cells[0].Value.ToString()); + GSOFeatures features = + layer.GetFeatureByName(winGridViewPager1.dataGridView1.Rows[i].Cells[1].Value.ToString(), true); + GSOFeature selectFeature = features[0]; + if (selectFeature == null) continue; + CollisionAnalysis(selectFeature, Utility.m_PipelineLayerNames); + } + + if (winGridViewPager2.dataGridView1.Rows.Count == 0) + { + MessageBox.Show("没有发生碰撞的管线!", "提示"); + } + + globeControl1.Refresh(); + } + + /// + /// + /// + /// + /// + /// + private void CollisionAnalysis(GSOFeature selectedFeature, List pipelineLayerNames) + { + List result = DoublePanelAnalysis.CollisionAnalysis(globeControl1, selectedFeature, pipelineLayerNames); + + string caption = selectedFeature.Dataset.Caption; + DataTable dt = new DataTable(); + dt.Columns.Add("审核图层"); + dt.Columns.Add("审核编号"); + dt.Columns.Add("问题图层"); + dt.Columns.Add("问题编号"); + foreach (FeatureAnalysisInfo featureAnalysisInfo in result) + { + string feat2Caption = featureAnalysisInfo.feature.Dataset.Caption; + featureAnalysisInfo.feature.HighLight = true; + + DataRow row = dt.NewRow(); + row[0] = caption; + row[1] = selectedFeature.Name; + row[2] = feat2Caption; + row[3] = featureAnalysisInfo.feature.Name; + dt.Rows.Add(row); + + GSOGeoPolyline3D line2 = featureAnalysisInfo.feature.Geometry as GSOGeoPolyline3D; + if (line2 == null) continue; + if (AnalysisDataInfo.m_FeaturesWithBianhao.ContainsKey(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name) == false) + { + GSOGeoMarker dismarker = new GSOGeoMarker(); + dismarker.X = featureAnalysisInfo.point1.X; + dismarker.Y = featureAnalysisInfo.point1.Y; + dismarker.Z = (featureAnalysisInfo.point1.Z + featureAnalysisInfo.point1.Z) / 2; + dismarker.AltitudeMode = EnumAltitudeMode.Absolute; + AnalysisDataInfo.m_FeaturesWithBianhao.Add(selectedFeature.Name + "-" + featureAnalysisInfo.feature.Name, dismarker.Position);//添加飞行位置记录 + } + /* + if (AnalysisDataInfo.featCount.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featCount[feat2Caption] = AnalysisDataInfo.featCount[feat2Caption] + 1; + } + else + { + AnalysisDataInfo.featCount.Add(feat2Caption, 1); + } + if (AnalysisDataInfo.featLenth.ContainsKey(feat2Caption)) + { + AnalysisDataInfo.featLenth[feat2Caption] = AnalysisDataInfo.featLenth[feat2Caption] + line2.GetSpaceLength(true, 6378137); + } + else + { + AnalysisDataInfo.featLenth.Add(feat2Caption, line2.GetSpaceLength(true, 6378137)); + } + * */ + } + winGridViewPager2.DataSource = dt.DefaultView; + } + + private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[0].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[1].Value.ToString(),true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void winGridViewPager2_OnEditSelected(object sender, EventArgs e) + { + DataGridView grid = sender as DataGridView; + if (grid == null || grid.SelectedRows.Count <= 0) + { + MessageBox.Show("没有选择记录", "提示"); + return; + } + DataGridViewRow row = grid.SelectedRows[0]; + try + { + GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(row.Cells[2].Value.ToString()); + GSOFeatures features = layer.GetFeatureByName(row.Cells[3].Value.ToString(), true); + globeControl1.Globe.FlyToFeature(features[0]); + } + catch (Exception ex) + { + MessageBox.Show("定位失败:" + ex, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + } +} diff --git a/FormAnalysis/FrmAnalysis.resx b/FormAnalysis/FrmAnalysis.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/FormAnalysis/FrmAnalysis.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/FormAnalysis/InitWinGridView.cs b/FormAnalysis/InitWinGridView.cs new file mode 100644 index 0000000..4537b42 --- /dev/null +++ b/FormAnalysis/InitWinGridView.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using WHC.Pager.WinControl; + +namespace Cyberpipe.FormAnalysis +{ + class InitWinGridView + { + public static void initlizeDatagrid(WinGridViewPager page, int rows, int maxPageIndex) + { + //控制表格显示的列,以及每一列要显示的列名 + page.Dock = DockStyle.Fill; + page.dataGridView1.Dock = DockStyle.Fill; + page.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + + page.BackColor = Color.LightCyan;//间隔颜色 + + //隐藏右键功能按钮 + page.dataGridView1.ContextMenuStrip.Items[1].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[2].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[3].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[4].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[5].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[6].Visible = false; + page.dataGridView1.ContextMenuStrip.Items[7].Visible = false; + + //右键菜单宽度 + page.dataGridView1.ContextMenuStrip.AutoSize = false; + page.dataGridView1.ContextMenuStrip.Width = 0; + page.dataGridView1.ContextMenuStrip.Height = 0; + //控制间隔的颜色 + page.BackColor = Color.LightCyan;//间隔颜色 + //控制每页显示的最大数据量 + page.PagerInfo.RecordCount = rows; + page.PagerInfo.PageSize = maxPageIndex; + page.dataGridView1.Refresh(); + } + } +} diff --git a/FrmFlagManagers.cs b/FrmFlagManagers.cs index d9d9a5e..e550c4a 100644 --- a/FrmFlagManagers.cs +++ b/FrmFlagManagers.cs @@ -375,6 +375,7 @@ { this.Show(); } + /// /// 位置查看 /// @@ -436,6 +437,5 @@ } } - } } diff --git a/MainFrm.cs b/MainFrm.cs index 24f70a6..bc11a9d 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -13,6 +13,7 @@ using System.Threading; using System.Windows.Forms; using Cyberpipe.EMS_Forms; +using Cyberpipe.FormAnalysis; using Cyberpipe.Forms; using DevComponents.DotNetBar; using GeoScene.Data; @@ -330,6 +331,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(沿线开挖ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("创建隧道") < 0) { 开挖分析ToolStripMenuItem.DropDownItems.Remove(创建隧道ToolStripMenuItem); @@ -342,6 +344,7 @@ { 开挖分析ToolStripMenuItem.DropDownItems.Remove(删除隧道ToolStripMenuItem); } + * */ } #endregion @@ -402,6 +405,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(纵断面分析ToolStripMenuItem); } + /* if (Utility.userRole.IndexOf("道路断面分析") < 0) { 断面分析ToolStripMenuItem.DropDownItems.Remove(道路断面分析ToolStripMenuItem); @@ -410,6 +414,7 @@ { 断面分析ToolStripMenuItem.DropDownItems.Remove(基线剖面分析ToolStripMenuItem); } + * */ } #endregion @@ -774,6 +779,7 @@ } else { + /* if (Utility.userRole.IndexOf("地上模式") < 0) { buttonItem87.Visible = false; @@ -786,6 +792,8 @@ { buttonItem27.Visible = false; } + * */ + if (Utility.userRole.IndexOf("透明度设置") < 0) { sliderGroundTransSet1.Visible = false; @@ -993,7 +1001,7 @@ splitContainer1.Panel2Collapsed = true; - buttonItem87.Checked = true; //默认地上模式 + //buttonItem87.Checked = true; //默认地上模式 ribbonTabItem1.Select(); //初始化状态为浏览 sideBarPanelItem3.Visible = false; @@ -2447,6 +2455,7 @@ return null; } + /* /// /// 地上模式 菜单按钮 /// @@ -2538,6 +2547,7 @@ globeControl1.Globe.CameraMode = EnumCameraMode.Walk; } + */ /// /// 地面透明度设置 菜单 /// @@ -4701,6 +4711,31 @@ sideBar1.Refresh(); Refresh(); } + + private GSOFeatures getSelectedFeatures() + { + GSOFeatures feats = new GSOFeatures(); + + if (globeControl1.Globe.SelObjectCount == 0) + { + feats = null; + } + else + { + for (int i = 0; i < globeControl1.Globe.SelObjectCount; i++) + { + GSOLayer resLayer = null; + GSOFeature feat = null; + globeControl1.Globe.GetSelectObject(i, out feat, out resLayer); + if (feat != null && feat.Geometry.Type == EnumGeometryType.GeoPolyline3D) + { + feats.Add(feat); + } + } + } + return feats; + } + /// /// 碰撞审查 /// @@ -4708,30 +4743,16 @@ /// private void buttonItemSH1_Click(object sender, EventArgs e) { - //日志记录 + //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH1.Text); - - dataGridViewX4.Size = new Size(185, 92); - dataGridViewX5.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "碰撞审查"; - trackflag = "collision"; - controlContainerItem5.Control = panel2; - panel2.Dock = DockStyle.Fill; - panel2.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FrmAnalysis frm = new FrmAnalysis(feats, globeControl1); + frm.Show(); } /// /// 覆土审查 @@ -4742,26 +4763,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH2.Text); - - dataGridViewX6.Size = new Size(185, 92); - dataGridViewX7.Size = new Size(185, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "覆土审查"; - trackflag = "ftAnalysis"; - controlContainerItem5.Control = panel4; - panel4.Visible = true; - panel4.Dock = DockStyle.Fill; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormFT frm = new FormFT(feats, globeControl1, layerTemp); + frm.Show(); } /// /// 水平净距审查 @@ -4772,26 +4781,14 @@ { //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH3.Text); - - dataGridViewX8.Size = new Size(190, 92); - dataGridViewX9.Size = new Size(190, 120); - - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "水平净距审查"; - trackflag = "horizontal"; - controlContainerItem5.Control = panel5; - panel5.Dock = DockStyle.Fill; - panel5.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormHor frm = new FormHor(feats, globeControl1); + frm.Show(); } /// /// 垂直净距审查 @@ -4803,33 +4800,15 @@ //日志记录 LogManager.saveLog(Utility.userName, buttonItemSH4.Text); - dataGridViewX2.Visible = true; - dataGridViewX3.Visible = true; - dataGridViewX2.Size = new Size(185, 92); - dataGridViewX3.Size = new Size(185, 120); + GSOFeatures feats = getSelectedFeatures(); + if (feats.Length == 0) + { + MessageBox.Show("请选择管段!", "提示"); + return; + } + FormVer frm = new FormVer(feats, globeControl1,layerTemp); + frm.Show(); - layerTemp.RemoveAllFeature(); - clearFeatureHighLight(); - - globeControl1.Refresh(); - sideBar1.Visible = true; - sideBarPanelItem3.Visible = true; - buttonItem1.Checked = true; - controlContainerItem3.Visible = true; - sideBarPanelItem4.Visible = true; - sideBarPanelItem4.Text = "垂直净距审查"; - trackflag = "vertical"; - //globeControl1.Globe.Action = EnumAction3D.SelectObject; - panel2.Visible = false; - panel3.Visible = false; - panel5.Visible = false; - panel4.Visible = false; - controlContainerItem5.Control = panel1; - panel1.Dock = DockStyle.Fill; - panel1.Visible = true; - sideBar1.ExpandedPanel = sideBarPanelItem4; - sideBar1.Refresh(); - Refresh(); } #endregion @@ -5842,6 +5821,7 @@ FrmProfileAnalysis frm = new FrmProfileAnalysis(globeControl1, feats); frm.Show(this); } + /* /// /// 道路断面分析 /// @@ -5854,6 +5834,7 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.DLDM_Analysis; } + /// /// 基线剖面分析 /// @@ -5865,7 +5846,8 @@ globeControl1.Globe.TrackPolylineTool.VerticalLineVisible = true; globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.JXPM_Analysis; - } + } + * * */ #endregion /// /// 创建拓扑 @@ -6059,6 +6041,8 @@ globeControl1.Globe.TrackPolylineTool.TrackMode = EnumTrackMode.SpaceTrack; trackPolylineEndMode = EnumTrackPolylineEndMode.YXKW_Analysis; } + + /* /// /// 创建隧道 /// @@ -6131,6 +6115,7 @@ MessageBox.Show("请选中要删除的隧道!", "提示"); } } + * */ /// /// 通视分析 /// @@ -7563,9 +7548,7 @@ modelBuilder.batchInsert(dataSpace, redDt, redFeatures); } - #endregion - } #endregion } @@ -7835,6 +7818,7 @@ frm.Show(); } + /* private void buttonItem查看数据_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, buttonItem查看数据.Text); @@ -7847,6 +7831,7 @@ globeControl1.Refresh(); } } + * */ /// /// 规划数据入库 /// diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index abcf2ec..92ea9e1 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -177,8 +177,6 @@ this.断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.横断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.纵断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.道路断面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.基线剖面分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.拓扑分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.创建拓扑ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.上游分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -191,9 +189,6 @@ this.多边形开挖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.挖方量分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.沿线开挖ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.创建隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.隐藏隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.删除隧道ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.视域分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.通视分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.可视域分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -274,7 +269,6 @@ this.buttonItemSJGL7 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemSJGL8 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemSJGL9 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem查看数据 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemGHRK = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemZTT = new DevComponents.DotNetBar.ButtonItem(); this.buttonItemZTT1 = new DevComponents.DotNetBar.ButtonItem(); @@ -328,12 +322,17 @@ this.buttonItem12 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem13 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem14 = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel5 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar2 = new DevComponents.DotNetBar.RibbonBar(); - this.buttonItemHX1 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItemHX2 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItemDCTP = new DevComponents.DotNetBar.ButtonItem(); - this.sliderItem3 = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel3 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar4 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_flag = new DevComponents.DotNetBar.ButtonItem(); + this.slider4ground = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem91 = new DevComponents.DotNetBar.ButtonItem(); + this.btnlegendSet = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem89 = new DevComponents.DotNetBar.ButtonItem(); + this.btnOutputJPG = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel12 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar18 = new DevComponents.DotNetBar.RibbonBar(); this.buttonItem133 = new DevComponents.DotNetBar.ButtonItem(); @@ -345,19 +344,31 @@ this.buttonItem134 = new DevComponents.DotNetBar.ButtonItem(); this.buttonItem130 = new DevComponents.DotNetBar.ButtonItem(); this.btn_check_history = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel5 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar2 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItemHX1 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemHX2 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemDCTP = new DevComponents.DotNetBar.ButtonItem(); + this.sliderItem3 = new DevComponents.DotNetBar.SliderItem(); + this.ribbonPanel6 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar6 = new DevComponents.DotNetBar.RibbonBar(); + this.buttonItemSPSZ = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItem8 = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemLocation = new DevComponents.DotNetBar.ButtonItem(); + this.sliderItem2 = new DevComponents.DotNetBar.SliderItem(); + this.buttonItemGBJC = new DevComponents.DotNetBar.ButtonItem(); this.ribbonPanel4 = new DevComponents.DotNetBar.RibbonPanel(); this.ribbonBar1 = new DevComponents.DotNetBar.RibbonBar(); this.btn_document_info = new DevComponents.DotNetBar.ButtonItem(); - this.ribbonPanel1 = new DevComponents.DotNetBar.RibbonPanel(); - this.ribbonBar21 = new DevComponents.DotNetBar.RibbonBar(); - this.buttonItem87 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem88 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem27 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem91 = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem(); - this.btnlegendSet = new DevComponents.DotNetBar.ButtonItem(); - this.buttonItem89 = new DevComponents.DotNetBar.ButtonItem(); - this.btnOutputJPG = new DevComponents.DotNetBar.ButtonItem(); + this.ribbonPanel2 = new DevComponents.DotNetBar.RibbonPanel(); + this.ribbonBar3 = new DevComponents.DotNetBar.RibbonBar(); + this.btn_user_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_role_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_resc_info = new DevComponents.DotNetBar.ButtonItem(); + this.btn_role_resc = new DevComponents.DotNetBar.ButtonItem(); + this.btn_user_role = new DevComponents.DotNetBar.ButtonItem(); + this.btn_password_edit = new DevComponents.DotNetBar.ButtonItem(); + this.buttonItemPasswordReset = new DevComponents.DotNetBar.ButtonItem(); this.ribbonTabItem1 = new DevComponents.DotNetBar.RibbonTabItem(); this.ribbonTabItem11 = new DevComponents.DotNetBar.RibbonTabItem(); this.ribbonTabItem6 = new DevComponents.DotNetBar.RibbonTabItem(); @@ -540,14 +551,14 @@ this.contextMenuStripDeleteLayerNode.SuspendLayout(); this.ribbonControl1.SuspendLayout(); this.ribbonPanel15.SuspendLayout(); - this.ribbonPanel6.SuspendLayout(); - this.ribbonPanel2.SuspendLayout(); - this.ribbonPanel3.SuspendLayout(); this.ribbonPanel7.SuspendLayout(); - this.ribbonPanel5.SuspendLayout(); - this.ribbonPanel12.SuspendLayout(); - this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel3.SuspendLayout(); this.ribbonPanel1.SuspendLayout(); + this.ribbonPanel12.SuspendLayout(); + this.ribbonPanel5.SuspendLayout(); + this.ribbonPanel6.SuspendLayout(); + this.ribbonPanel4.SuspendLayout(); + this.ribbonPanel2.SuspendLayout(); this.panelOfTable.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.statusStrip2.SuspendLayout(); @@ -1672,9 +1683,7 @@ // this.断面分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.横断面分析ToolStripMenuItem, - this.纵断面分析ToolStripMenuItem, - this.道路断面分析ToolStripMenuItem, - this.基线剖面分析ToolStripMenuItem}); + this.纵断面分析ToolStripMenuItem}); this.断面分析ToolStripMenuItem.Name = "断面分析ToolStripMenuItem"; this.断面分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.断面分析ToolStripMenuItem.Text = "断面分析"; @@ -1682,31 +1691,17 @@ // 横断面分析ToolStripMenuItem // this.横断面分析ToolStripMenuItem.Name = "横断面分析ToolStripMenuItem"; - this.横断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.横断面分析ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.横断面分析ToolStripMenuItem.Text = "横断面分析"; this.横断面分析ToolStripMenuItem.Click += new System.EventHandler(this.横断面分析ToolStripMenuItem_Click); // // 纵断面分析ToolStripMenuItem // this.纵断面分析ToolStripMenuItem.Name = "纵断面分析ToolStripMenuItem"; - this.纵断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); + this.纵断面分析ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); this.纵断面分析ToolStripMenuItem.Text = "纵断面分析"; this.纵断面分析ToolStripMenuItem.Click += new System.EventHandler(this.纵断面分析ToolStripMenuItem_Click); // - // 道路断面分析ToolStripMenuItem - // - this.道路断面分析ToolStripMenuItem.Name = "道路断面分析ToolStripMenuItem"; - this.道路断面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.道路断面分析ToolStripMenuItem.Text = "道路断面分析"; - this.道路断面分析ToolStripMenuItem.Click += new System.EventHandler(this.道路断面分析ToolStripMenuItem_Click); - // - // 基线剖面分析ToolStripMenuItem - // - this.基线剖面分析ToolStripMenuItem.Name = "基线剖面分析ToolStripMenuItem"; - this.基线剖面分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22); - this.基线剖面分析ToolStripMenuItem.Text = "基线剖面分析"; - this.基线剖面分析ToolStripMenuItem.Click += new System.EventHandler(this.基线剖面分析ToolStripMenuItem_Click); - // // 拓扑分析ToolStripMenuItem // this.拓扑分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -1775,10 +1770,7 @@ this.开挖分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.多边形开挖ToolStripMenuItem, this.挖方量分析ToolStripMenuItem, - this.沿线开挖ToolStripMenuItem, - this.创建隧道ToolStripMenuItem, - this.隐藏隧道ToolStripMenuItem, - this.删除隧道ToolStripMenuItem}); + this.沿线开挖ToolStripMenuItem}); this.开挖分析ToolStripMenuItem.Name = "开挖分析ToolStripMenuItem"; this.开挖分析ToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.开挖分析ToolStripMenuItem.Text = "开挖分析"; @@ -1804,27 +1796,6 @@ this.沿线开挖ToolStripMenuItem.Text = "沿线开挖"; this.沿线开挖ToolStripMenuItem.Click += new System.EventHandler(this.沿线开挖ToolStripMenuItem_Click); // - // 创建隧道ToolStripMenuItem - // - this.创建隧道ToolStripMenuItem.Name = "创建隧道ToolStripMenuItem"; - this.创建隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.创建隧道ToolStripMenuItem.Text = "创建隧道"; - this.创建隧道ToolStripMenuItem.Click += new System.EventHandler(this.创建隧道ToolStripMenuItem_Click); - // - // 隐藏隧道ToolStripMenuItem - // - this.隐藏隧道ToolStripMenuItem.Name = "隐藏隧道ToolStripMenuItem"; - this.隐藏隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.隐藏隧道ToolStripMenuItem.Text = "隐藏隧道"; - this.隐藏隧道ToolStripMenuItem.Click += new System.EventHandler(this.隐藏隧道ToolStripMenuItem_Click); - // - // 删除隧道ToolStripMenuItem - // - this.删除隧道ToolStripMenuItem.Name = "删除隧道ToolStripMenuItem"; - this.删除隧道ToolStripMenuItem.Size = new System.Drawing.Size(136, 22); - this.删除隧道ToolStripMenuItem.Text = "删除隧道"; - this.删除隧道ToolStripMenuItem.Click += new System.EventHandler(this.删除隧道ToolStripMenuItem_Click); - // // 视域分析ToolStripMenuItem // this.视域分析ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -2172,14 +2143,14 @@ this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel6); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Controls.Add(this.ribbonPanel7); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); - this.ribbonControl1.Controls.Add(this.ribbonPanel12); - this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); + this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; this.ribbonControl1.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.ribbonControl1.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { @@ -2393,7 +2364,6 @@ this.buttonItemSJGL7, this.buttonItemSJGL8, this.buttonItemSJGL9, - this.buttonItem查看数据, this.buttonItemGHRK}); this.buttonItemSJGL.SubItemsExpandWidth = 14; this.buttonItemSJGL.Text = "数据管理"; @@ -2503,13 +2473,6 @@ this.buttonItemSJGL9.Text = "数据备份"; this.buttonItemSJGL9.Click += new System.EventHandler(this.buttonItemSJGL9_Click); // - // buttonItem查看数据 - // - this.buttonItem查看数据.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem查看数据.Image"))); - this.buttonItem查看数据.Name = "buttonItem查看数据"; - this.buttonItem查看数据.Text = "查看数据"; - this.buttonItem查看数据.Click += new System.EventHandler(this.buttonItem查看数据_Click); - // // buttonItemGHRK // this.buttonItemGHRK.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemGHRK.Image"))); @@ -3145,107 +3108,202 @@ this.buttonItem14.Text = "导出施工图"; this.buttonItem14.Click += new System.EventHandler(this.buttonItem14_Click); // - // ribbonPanel5 + // ribbonPanel3 // - this.ribbonPanel5.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel5.Controls.Add(this.ribbonBar2); - this.ribbonPanel5.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel5.Location = new System.Drawing.Point(0, 0); - this.ribbonPanel5.Name = "ribbonPanel5"; - this.ribbonPanel5.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel5.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel3.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel3.Controls.Add(this.ribbonBar4); + this.ribbonPanel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel3.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel3.Name = "ribbonPanel3"; + this.ribbonPanel3.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel3.Size = new System.Drawing.Size(1328, 62); // // // - this.ribbonPanel5.Style.Class = ""; - this.ribbonPanel5.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.Style.Class = ""; + this.ribbonPanel3.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel5.StyleMouseDown.Class = ""; - this.ribbonPanel5.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.StyleMouseDown.Class = ""; + this.ribbonPanel3.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel5.StyleMouseOver.Class = ""; - this.ribbonPanel5.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel5.TabIndex = 37; - this.ribbonPanel5.Visible = false; + this.ribbonPanel3.StyleMouseOver.Class = ""; + this.ribbonPanel3.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel3.TabIndex = 40; + this.ribbonPanel3.Visible = false; // - // ribbonBar2 + // ribbonBar4 // - this.ribbonBar2.AutoOverflowEnabled = true; + this.ribbonBar4.AutoOverflowEnabled = true; // // // - this.ribbonBar2.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar2.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar4.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar2.BackgroundStyle.Class = ""; - this.ribbonBar2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar2.ContainerControlProcessDialogKey = true; - this.ribbonBar2.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar2.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.buttonItemHX1, - this.buttonItemHX2, - this.buttonItemDCTP, - this.sliderItem3}); - this.ribbonBar2.Location = new System.Drawing.Point(3, 0); - this.ribbonBar2.Name = "ribbonBar2"; - this.ribbonBar2.Size = new System.Drawing.Size(350, 92); - this.ribbonBar2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar2.TabIndex = 0; + this.ribbonBar4.BackgroundStyle.Class = ""; + this.ribbonBar4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.ContainerControlProcessDialogKey = true; + this.ribbonBar4.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar4.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_flag, + this.slider4ground}); + this.ribbonBar4.Location = new System.Drawing.Point(3, 0); + this.ribbonBar4.Name = "ribbonBar4"; + this.ribbonBar4.Size = new System.Drawing.Size(634, 59); + this.ribbonBar4.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar4.TabIndex = 0; // // // - this.ribbonBar2.TitleStyle.Class = ""; - this.ribbonBar2.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.TitleStyle.Class = ""; + this.ribbonBar4.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar2.TitleStyleMouseOver.Class = ""; - this.ribbonBar2.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar2.TitleVisible = false; + this.ribbonBar4.TitleStyleMouseOver.Class = ""; + this.ribbonBar4.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar4.TitleVisible = false; // - // buttonItemHX1 + // btn_flag // - this.buttonItemHX1.AutoExpandOnClick = true; - this.buttonItemHX1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX1.Image"))); - this.buttonItemHX1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemHX1.Name = "buttonItemHX1"; - this.buttonItemHX1.SubItemsExpandWidth = 14; - this.buttonItemHX1.Text = "导入红线"; - this.buttonItemHX1.Click += new System.EventHandler(this.buttonItemHX1_Click); + this.btn_flag.Image = global::Cyberpipe.Properties.Resources._24x24icon_03_hover; + this.btn_flag.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_flag.Name = "btn_flag"; + this.btn_flag.SubItemsExpandWidth = 14; + this.btn_flag.Text = "标识器管理"; + this.btn_flag.Click += new System.EventHandler(this.btn_flag_Click); // - // buttonItemHX2 + // slider4ground // - this.buttonItemHX2.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX2.Image"))); - this.buttonItemHX2.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemHX2.Name = "buttonItemHX2"; - this.buttonItemHX2.SubItemsExpandWidth = 14; - this.buttonItemHX2.Text = "红线审核"; - this.buttonItemHX2.Click += new System.EventHandler(this.buttonItemHX2_Click); + this.slider4ground.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.slider4ground.LabelWidth = 50; + this.slider4ground.Name = "slider4ground"; + this.slider4ground.Text = "地面透明度"; + this.slider4ground.TextColor = System.Drawing.Color.Black; + this.slider4ground.Value = 0; + this.slider4ground.ValueChanged += new System.EventHandler(this.slider4ground_ValueChanged); // - // buttonItemDCTP + // ribbonPanel1 // - this.buttonItemDCTP.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemDCTP.Image"))); - this.buttonItemDCTP.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItemDCTP.Name = "buttonItemDCTP"; - this.buttonItemDCTP.SubItemsExpandWidth = 14; - this.buttonItemDCTP.Text = "导出图片"; - this.buttonItemDCTP.Click += new System.EventHandler(this.buttonItemDCTP_Click); + this.ribbonPanel1.AutoSize = true; + this.ribbonPanel1.CanvasColor = System.Drawing.Color.Gray; + this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel1.Controls.Add(this.ribbonBar21); + this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Name = "ribbonPanel1"; + this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); // - // sliderItem3 // - this.sliderItem3.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; - this.sliderItem3.LabelWidth = 50; - this.sliderItem3.Name = "sliderItem3"; - this.sliderItem3.Text = "地面透明度"; - this.sliderItem3.TextColor = System.Drawing.Color.Black; - this.sliderItem3.Value = 0; - this.sliderItem3.ValueChanged += new System.EventHandler(this.sliderItem3_ValueChanged); + // + this.ribbonPanel1.Style.Class = ""; + this.ribbonPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel1.StyleMouseDown.Class = ""; + this.ribbonPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel1.StyleMouseOver.Class = ""; + this.ribbonPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel1.TabIndex = 1; + this.ribbonPanel1.Visible = false; + // + // ribbonBar21 + // + this.ribbonBar21.AutoOverflowEnabled = true; + this.ribbonBar21.BackColor = System.Drawing.Color.White; + // + // + // + this.ribbonBar21.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar21.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar21.BackgroundStyle.Class = ""; + this.ribbonBar21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar21.ContainerControlProcessDialogKey = true; + this.ribbonBar21.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar21.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItem1, + this.sliderGroundTransSet1, + this.buttonItem91, + this.btnlegendSet, + this.buttonItem89, + this.btnOutputJPG}); + this.ribbonBar21.Location = new System.Drawing.Point(3, 0); + this.ribbonBar21.Name = "ribbonBar21"; + this.ribbonBar21.Size = new System.Drawing.Size(447, 59); + this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar21.TabIndex = 2; + this.ribbonBar21.Text = "浏览模式"; + // + // + // + this.ribbonBar21.TitleStyle.Class = ""; + this.ribbonBar21.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar21.TitleStyleMouseOver.Class = ""; + this.ribbonBar21.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar21.TitleVisible = false; + // + // buttonItem1 + // + this.buttonItem1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem1.Image"))); + this.buttonItem1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem1.Name = "buttonItem1"; + this.buttonItem1.SubItemsExpandWidth = 14; + this.buttonItem1.Text = "图层管理"; + this.buttonItem1.Click += new System.EventHandler(this.buttonItem1_Click); + // + // buttonItem91 + // + this.buttonItem91.ForeColor = System.Drawing.Color.Black; + this.buttonItem91.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem91.Image"))); + this.buttonItem91.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem91.Name = "buttonItem91"; + this.buttonItem91.SubItemsExpandWidth = 14; + this.buttonItem91.Text = "快速定位"; + this.buttonItem91.Click += new System.EventHandler(this.buttonItem91_Click); + // + // btnlegendSet + // + this.btnlegendSet.Image = ((System.Drawing.Image)(resources.GetObject("btnlegendSet.Image"))); + this.btnlegendSet.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btnlegendSet.Name = "btnlegendSet"; + this.btnlegendSet.SubItemsExpandWidth = 14; + this.btnlegendSet.Text = "图例"; + this.btnlegendSet.Click += new System.EventHandler(this.btnlegendSet_Click); + // + // buttonItem89 + // + this.buttonItem89.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem89.Image"))); + this.buttonItem89.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem89.Name = "buttonItem89"; + this.buttonItem89.SubItemsExpandWidth = 14; + this.buttonItem89.Text = "全屏显示"; + this.buttonItem89.Click += new System.EventHandler(this.buttonItem89_Click); + // + // btnOutputJPG + // + this.btnOutputJPG.Image = ((System.Drawing.Image)(resources.GetObject("btnOutputJPG.Image"))); + this.btnOutputJPG.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btnOutputJPG.Name = "btnOutputJPG"; + this.btnOutputJPG.SubItemsExpandWidth = 14; + this.btnOutputJPG.Text = "导出图片"; + this.btnOutputJPG.Click += new System.EventHandler(this.btnOutputJPG_Click); // // ribbonPanel12 // @@ -3253,10 +3311,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3295,7 +3353,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3347,7 +3405,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3417,15 +3475,228 @@ this.btn_check_history.Text = "审核历史"; this.btn_check_history.Click += new System.EventHandler(this.btn_check_history_Click); // + // ribbonPanel5 + // + this.ribbonPanel5.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel5.Controls.Add(this.ribbonBar2); + this.ribbonPanel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel5.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel5.Name = "ribbonPanel5"; + this.ribbonPanel5.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel5.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel5.Style.Class = ""; + this.ribbonPanel5.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel5.StyleMouseDown.Class = ""; + this.ribbonPanel5.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel5.StyleMouseOver.Class = ""; + this.ribbonPanel5.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel5.TabIndex = 37; + this.ribbonPanel5.Visible = false; + // + // ribbonBar2 + // + this.ribbonBar2.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar2.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar2.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar2.BackgroundStyle.Class = ""; + this.ribbonBar2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar2.ContainerControlProcessDialogKey = true; + this.ribbonBar2.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar2.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItemHX1, + this.buttonItemHX2, + this.buttonItemDCTP, + this.sliderItem3}); + this.ribbonBar2.Location = new System.Drawing.Point(3, 0); + this.ribbonBar2.Name = "ribbonBar2"; + this.ribbonBar2.Size = new System.Drawing.Size(350, 59); + this.ribbonBar2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar2.TabIndex = 0; + // + // + // + this.ribbonBar2.TitleStyle.Class = ""; + this.ribbonBar2.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar2.TitleStyleMouseOver.Class = ""; + this.ribbonBar2.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar2.TitleVisible = false; + // + // buttonItemHX1 + // + this.buttonItemHX1.AutoExpandOnClick = true; + this.buttonItemHX1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX1.Image"))); + this.buttonItemHX1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemHX1.Name = "buttonItemHX1"; + this.buttonItemHX1.SubItemsExpandWidth = 14; + this.buttonItemHX1.Text = "导入红线"; + this.buttonItemHX1.Click += new System.EventHandler(this.buttonItemHX1_Click); + // + // buttonItemHX2 + // + this.buttonItemHX2.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemHX2.Image"))); + this.buttonItemHX2.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemHX2.Name = "buttonItemHX2"; + this.buttonItemHX2.SubItemsExpandWidth = 14; + this.buttonItemHX2.Text = "红线审核"; + this.buttonItemHX2.Click += new System.EventHandler(this.buttonItemHX2_Click); + // + // buttonItemDCTP + // + this.buttonItemDCTP.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemDCTP.Image"))); + this.buttonItemDCTP.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemDCTP.Name = "buttonItemDCTP"; + this.buttonItemDCTP.SubItemsExpandWidth = 14; + this.buttonItemDCTP.Text = "导出图片"; + this.buttonItemDCTP.Click += new System.EventHandler(this.buttonItemDCTP_Click); + // + // sliderItem3 + // + this.sliderItem3.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.sliderItem3.LabelWidth = 50; + this.sliderItem3.Name = "sliderItem3"; + this.sliderItem3.Text = "地面透明度"; + this.sliderItem3.TextColor = System.Drawing.Color.Black; + this.sliderItem3.Value = 0; + this.sliderItem3.ValueChanged += new System.EventHandler(this.sliderItem3_ValueChanged); + // + // ribbonPanel6 + // + this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel6.Controls.Add(this.ribbonBar6); + this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Name = "ribbonPanel6"; + this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + // + // + // + this.ribbonPanel6.Style.Class = ""; + this.ribbonPanel6.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel6.StyleMouseDown.Class = ""; + this.ribbonPanel6.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonPanel6.StyleMouseOver.Class = ""; + this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; + // + // ribbonBar6 + // + this.ribbonBar6.AutoOverflowEnabled = true; + // + // + // + this.ribbonBar6.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar6.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar6.BackgroundStyle.Class = ""; + this.ribbonBar6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar6.ContainerControlProcessDialogKey = true; + this.ribbonBar6.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar6.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.buttonItemSPSZ, + this.buttonItem8, + this.buttonItemLocation, + this.sliderItem2, + this.buttonItemGBJC}); + this.ribbonBar6.Location = new System.Drawing.Point(3, 0); + this.ribbonBar6.Name = "ribbonBar6"; + this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar6.TabIndex = 0; + // + // + // + this.ribbonBar6.TitleStyle.Class = ""; + this.ribbonBar6.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + // + // + // + this.ribbonBar6.TitleStyleMouseOver.Class = ""; + this.ribbonBar6.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar6.TitleVisible = false; + // + // buttonItemSPSZ + // + this.buttonItemSPSZ.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemSPSZ.Image"))); + this.buttonItemSPSZ.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemSPSZ.Name = "buttonItemSPSZ"; + this.buttonItemSPSZ.SubItemsExpandWidth = 14; + this.buttonItemSPSZ.Text = "双屏设置"; + this.buttonItemSPSZ.Click += new System.EventHandler(this.buttonItemSPSZ_Click); + // + // buttonItem8 + // + this.buttonItem8.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem8.Image"))); + this.buttonItem8.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItem8.Name = "buttonItem8"; + this.buttonItem8.SubItemsExpandWidth = 14; + this.buttonItem8.Text = "双屏分析"; + this.buttonItem8.Click += new System.EventHandler(this.buttonItem8_Click); + // + // buttonItemLocation + // + this.buttonItemLocation.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemLocation.Image"))); + this.buttonItemLocation.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemLocation.Name = "buttonItemLocation"; + this.buttonItemLocation.SubItemsExpandWidth = 14; + this.buttonItemLocation.Text = "快速定位"; + this.buttonItemLocation.Click += new System.EventHandler(this.buttonItemLocation_Click); + // + // sliderItem2 + // + this.sliderItem2.LabelPosition = DevComponents.DotNetBar.eSliderLabelPosition.Top; + this.sliderItem2.LabelWidth = 50; + this.sliderItem2.Name = "sliderItem2"; + this.sliderItem2.Text = "地面透明度"; + this.sliderItem2.TextColor = System.Drawing.Color.Black; + this.sliderItem2.Value = 0; + this.sliderItem2.ValueChanged += new System.EventHandler(this.sliderItem2_ValueChanged); + // + // buttonItemGBJC + // + this.buttonItemGBJC.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemGBJC.Image"))); + this.buttonItemGBJC.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemGBJC.Name = "buttonItemGBJC"; + this.buttonItemGBJC.SubItemsExpandWidth = 14; + this.buttonItemGBJC.Text = "国标检测"; + this.buttonItemGBJC.Click += new System.EventHandler(this.buttonItemGBJC_Click); + // // ribbonPanel4 // this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); // // // @@ -3463,7 +3734,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(88, 92); + this.ribbonBar1.Size = new System.Drawing.Size(88, 59); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3487,151 +3758,135 @@ this.btn_document_info.Text = "文档管理"; this.btn_document_info.Click += new System.EventHandler(this.btn_document_info_Click); // - // ribbonPanel1 + // ribbonPanel2 // - this.ribbonPanel1.AutoSize = true; - this.ribbonPanel1.CanvasColor = System.Drawing.Color.Gray; - this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonPanel1.Controls.Add(this.ribbonBar21); - this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); - this.ribbonPanel1.Name = "ribbonPanel1"; - this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonPanel2.Controls.Add(this.ribbonBar3); + this.ribbonPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.ribbonPanel2.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel2.Name = "ribbonPanel2"; + this.ribbonPanel2.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.ribbonPanel2.Size = new System.Drawing.Size(1328, 62); // // // - this.ribbonPanel1.Style.Class = ""; - this.ribbonPanel1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.Style.Class = ""; + this.ribbonPanel2.Style.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel1.StyleMouseDown.Class = ""; - this.ribbonPanel1.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.StyleMouseDown.Class = ""; + this.ribbonPanel2.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonPanel1.StyleMouseOver.Class = ""; - this.ribbonPanel1.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonPanel1.TabIndex = 1; - this.ribbonPanel1.Visible = false; + this.ribbonPanel2.StyleMouseOver.Class = ""; + this.ribbonPanel2.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonPanel2.TabIndex = 39; + this.ribbonPanel2.Visible = false; // - // ribbonBar21 + // ribbonBar3 // - this.ribbonBar21.AutoOverflowEnabled = true; - this.ribbonBar21.BackColor = System.Drawing.Color.White; + this.ribbonBar3.AutoOverflowEnabled = true; // // // - this.ribbonBar21.BackgroundMouseOverStyle.Class = ""; - this.ribbonBar21.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.BackgroundMouseOverStyle.Class = ""; + this.ribbonBar3.BackgroundMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar21.BackgroundStyle.Class = ""; - this.ribbonBar21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar21.ContainerControlProcessDialogKey = true; - this.ribbonBar21.Dock = System.Windows.Forms.DockStyle.Left; - this.ribbonBar21.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.buttonItem87, - this.buttonItem88, - this.buttonItem27, - this.sliderGroundTransSet1, - this.buttonItem91, - this.buttonItem1, - this.btnlegendSet, - this.buttonItem89, - this.btnOutputJPG}); - this.ribbonBar21.Location = new System.Drawing.Point(3, 0); - this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(649, 59); - this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.ribbonBar21.TabIndex = 2; - this.ribbonBar21.Text = "浏览模式"; + this.ribbonBar3.BackgroundStyle.Class = ""; + this.ribbonBar3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.ContainerControlProcessDialogKey = true; + this.ribbonBar3.Dock = System.Windows.Forms.DockStyle.Left; + this.ribbonBar3.Items.AddRange(new DevComponents.DotNetBar.BaseItem[] { + this.btn_user_info, + this.btn_role_info, + this.btn_resc_info, + this.btn_role_resc, + this.btn_user_role, + this.btn_password_edit, + this.buttonItemPasswordReset}); + this.ribbonBar3.Location = new System.Drawing.Point(3, 0); + this.ribbonBar3.Name = "ribbonBar3"; + this.ribbonBar3.Size = new System.Drawing.Size(551, 59); + this.ribbonBar3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.ribbonBar3.TabIndex = 1; // // // - this.ribbonBar21.TitleStyle.Class = ""; - this.ribbonBar21.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.TitleStyle.Class = ""; + this.ribbonBar3.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.ribbonBar21.TitleStyleMouseOver.Class = ""; - this.ribbonBar21.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonBar21.TitleVisible = false; + this.ribbonBar3.TitleStyleMouseOver.Class = ""; + this.ribbonBar3.TitleStyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.ribbonBar3.TitleVisible = false; // - // buttonItem87 + // btn_user_info // - this.buttonItem87.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem87.Image"))); - this.buttonItem87.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem87.Name = "buttonItem87"; - this.buttonItem87.SubItemsExpandWidth = 14; - this.buttonItem87.Text = "地上模式"; - this.buttonItem87.Click += new System.EventHandler(this.buttonItem87_Click); + this.btn_user_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_user_info.Image"))); + this.btn_user_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_user_info.Name = "btn_user_info"; + this.btn_user_info.SubItemsExpandWidth = 14; + this.btn_user_info.Text = "用户管理"; + this.btn_user_info.Click += new System.EventHandler(this.btn_user_info_Click); // - // buttonItem88 + // btn_role_info // - this.buttonItem88.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem88.Image"))); - this.buttonItem88.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem88.Name = "buttonItem88"; - this.buttonItem88.SubItemsExpandWidth = 14; - this.buttonItem88.Text = "地下模式"; - this.buttonItem88.Click += new System.EventHandler(this.buttonItem88_Click); + this.btn_role_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_role_info.Image"))); + this.btn_role_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_role_info.Name = "btn_role_info"; + this.btn_role_info.SubItemsExpandWidth = 14; + this.btn_role_info.Text = "角色管理"; + this.btn_role_info.Click += new System.EventHandler(this.btn_role_info_Click); // - // buttonItem27 + // btn_resc_info // - this.buttonItem27.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem27.Image"))); - this.buttonItem27.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem27.Name = "buttonItem27"; - this.buttonItem27.SubItemsExpandWidth = 14; - this.buttonItem27.Text = "行走模式"; - this.buttonItem27.Click += new System.EventHandler(this.buttonItem27_Click); + this.btn_resc_info.Image = ((System.Drawing.Image)(resources.GetObject("btn_resc_info.Image"))); + this.btn_resc_info.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_resc_info.Name = "btn_resc_info"; + this.btn_resc_info.SubItemsExpandWidth = 14; + this.btn_resc_info.Text = "资源管理"; + this.btn_resc_info.Click += new System.EventHandler(this.btn_resc_info_Click); // - // buttonItem91 + // btn_role_resc // - this.buttonItem91.ForeColor = System.Drawing.Color.Black; - this.buttonItem91.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem91.Image"))); - this.buttonItem91.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem91.Name = "buttonItem91"; - this.buttonItem91.SubItemsExpandWidth = 14; - this.buttonItem91.Text = "快速定位"; - this.buttonItem91.Click += new System.EventHandler(this.buttonItem91_Click); + this.btn_role_resc.Image = ((System.Drawing.Image)(resources.GetObject("btn_role_resc.Image"))); + this.btn_role_resc.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_role_resc.Name = "btn_role_resc"; + this.btn_role_resc.SubItemsExpandWidth = 14; + this.btn_role_resc.Text = "角色授权"; + this.btn_role_resc.Click += new System.EventHandler(this.btn_role_resc_Click); // - // buttonItem1 + // btn_user_role // - this.buttonItem1.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem1.Image"))); - this.buttonItem1.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem1.Name = "buttonItem1"; - this.buttonItem1.SubItemsExpandWidth = 14; - this.buttonItem1.Text = "图层管理"; - this.buttonItem1.Click += new System.EventHandler(this.buttonItem1_Click); + this.btn_user_role.Image = ((System.Drawing.Image)(resources.GetObject("btn_user_role.Image"))); + this.btn_user_role.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_user_role.Name = "btn_user_role"; + this.btn_user_role.SubItemsExpandWidth = 14; + this.btn_user_role.Text = "用户授权"; + this.btn_user_role.Click += new System.EventHandler(this.btn_user_role_Click); // - // btnlegendSet + // btn_password_edit // - this.btnlegendSet.Image = ((System.Drawing.Image)(resources.GetObject("btnlegendSet.Image"))); - this.btnlegendSet.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btnlegendSet.Name = "btnlegendSet"; - this.btnlegendSet.SubItemsExpandWidth = 14; - this.btnlegendSet.Text = "图例"; - this.btnlegendSet.Click += new System.EventHandler(this.btnlegendSet_Click); + this.btn_password_edit.Image = ((System.Drawing.Image)(resources.GetObject("btn_password_edit.Image"))); + this.btn_password_edit.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.btn_password_edit.Name = "btn_password_edit"; + this.btn_password_edit.SubItemsExpandWidth = 14; + this.btn_password_edit.Text = "密码修改"; + this.btn_password_edit.Click += new System.EventHandler(this.btn_password_edit_Click); // - // buttonItem89 + // buttonItemPasswordReset // - this.buttonItem89.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem89.Image"))); - this.buttonItem89.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.buttonItem89.Name = "buttonItem89"; - this.buttonItem89.SubItemsExpandWidth = 14; - this.buttonItem89.Text = "全屏显示"; - this.buttonItem89.Click += new System.EventHandler(this.buttonItem89_Click); - // - // btnOutputJPG - // - this.btnOutputJPG.Image = ((System.Drawing.Image)(resources.GetObject("btnOutputJPG.Image"))); - this.btnOutputJPG.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; - this.btnOutputJPG.Name = "btnOutputJPG"; - this.btnOutputJPG.SubItemsExpandWidth = 14; - this.btnOutputJPG.Text = "导出图片"; - this.btnOutputJPG.Click += new System.EventHandler(this.btnOutputJPG_Click); + this.buttonItemPasswordReset.Image = ((System.Drawing.Image)(resources.GetObject("buttonItemPasswordReset.Image"))); + this.buttonItemPasswordReset.ImagePosition = DevComponents.DotNetBar.eImagePosition.Top; + this.buttonItemPasswordReset.Name = "buttonItemPasswordReset"; + this.buttonItemPasswordReset.SubItemsExpandWidth = 14; + this.buttonItemPasswordReset.Text = "重置密码"; + this.buttonItemPasswordReset.Click += new System.EventHandler(this.buttonItemPasswordReset_Click); // // ribbonTabItem1 // @@ -3992,6 +4247,7 @@ this.toolStripDropDownButton3.Name = "toolStripDropDownButton3"; this.toolStripDropDownButton3.Size = new System.Drawing.Size(75, 21); this.toolStripDropDownButton3.Text = "导出xls文件"; + this.toolStripDropDownButton3.Visible = false; this.toolStripDropDownButton3.Click += new System.EventHandler(this.toolStripDropDownButton3_Click); // // expandableSplitter2 @@ -4876,7 +5132,7 @@ // // textBoxX4 // - this.textBoxX4.Location = new System.Drawing.Point(81, 61); + this.textBoxX4.Location = new System.Drawing.Point(81, 393); this.textBoxX4.Name = "textBoxX4"; this.textBoxX4.Size = new System.Drawing.Size(87, 21); this.textBoxX4.TabIndex = 16; @@ -4890,7 +5146,7 @@ this.labelX24.BackgroundStyle.Class = ""; this.labelX24.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX24.Image = ((System.Drawing.Image)(resources.GetObject("labelX24.Image"))); - this.labelX24.Location = new System.Drawing.Point(7, 403); + this.labelX24.Location = new System.Drawing.Point(7, 735); this.labelX24.Name = "labelX24"; this.labelX24.Size = new System.Drawing.Size(77, 23); this.labelX24.TabIndex = 14; @@ -4915,12 +5171,12 @@ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False; this.dataGridViewX8.DefaultCellStyle = dataGridViewCellStyle6; this.dataGridViewX8.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); - this.dataGridViewX8.Location = new System.Drawing.Point(10, 120); + this.dataGridViewX8.Location = new System.Drawing.Point(10, 452); this.dataGridViewX8.Name = "dataGridViewX8"; this.dataGridViewX8.ReadOnly = true; this.dataGridViewX8.RowHeadersVisible = false; this.dataGridViewX8.RowTemplate.Height = 23; - this.dataGridViewX8.Size = new System.Drawing.Size(0, 92); + this.dataGridViewX8.Size = new System.Drawing.Size(119, 92); this.dataGridViewX8.TabIndex = 11; // // dataGridViewTextBoxColumn12 @@ -4941,7 +5197,7 @@ // this.listBox3.FormattingEnabled = true; this.listBox3.ItemHeight = 12; - this.listBox3.Location = new System.Drawing.Point(8, 429); + this.listBox3.Location = new System.Drawing.Point(8, 761); this.listBox3.Name = "listBox3"; this.listBox3.Size = new System.Drawing.Size(195, 16); this.listBox3.TabIndex = 0; @@ -4956,7 +5212,7 @@ // this.labelX11.BackgroundStyle.Class = ""; this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX11.Location = new System.Drawing.Point(10, 93); + this.labelX11.Location = new System.Drawing.Point(10, 425); this.labelX11.Name = "labelX11"; this.labelX11.Size = new System.Drawing.Size(63, 23); this.labelX11.TabIndex = 1; @@ -4966,7 +5222,7 @@ this.buttonX12.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX12.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX12.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX12.Location = new System.Drawing.Point(8, 217); + this.buttonX12.Location = new System.Drawing.Point(8, 549); this.buttonX12.Name = "buttonX12"; this.buttonX12.Size = new System.Drawing.Size(65, 23); this.buttonX12.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -4979,7 +5235,7 @@ this.buttonX13.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX13.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX13.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX13.Location = new System.Drawing.Point(9, 478); + this.buttonX13.Location = new System.Drawing.Point(9, 810); this.buttonX13.Name = "buttonX13"; this.buttonX13.Size = new System.Drawing.Size(75, 23); this.buttonX13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5010,12 +5266,12 @@ dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; this.dataGridViewX9.DefaultCellStyle = dataGridViewCellStyle7; this.dataGridViewX9.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); - this.dataGridViewX9.Location = new System.Drawing.Point(11, 271); + this.dataGridViewX9.Location = new System.Drawing.Point(11, 603); this.dataGridViewX9.Name = "dataGridViewX9"; this.dataGridViewX9.ReadOnly = true; this.dataGridViewX9.RowHeadersVisible = false; this.dataGridViewX9.RowTemplate.Height = 23; - this.dataGridViewX9.Size = new System.Drawing.Size(0, 127); + this.dataGridViewX9.Size = new System.Drawing.Size(193, 127); this.dataGridViewX9.TabIndex = 5; this.dataGridViewX9.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX9_MouseDoubleClick); // @@ -5064,7 +5320,7 @@ this.buttonX14.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX14.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX14.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX14.Location = new System.Drawing.Point(128, 478); + this.buttonX14.Location = new System.Drawing.Point(128, 810); this.buttonX14.Name = "buttonX14"; this.buttonX14.Size = new System.Drawing.Size(75, 23); this.buttonX14.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5077,7 +5333,7 @@ this.buttonX15.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX15.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX15.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX15.Location = new System.Drawing.Point(112, 217); + this.buttonX15.Location = new System.Drawing.Point(112, 549); this.buttonX15.Name = "buttonX15"; this.buttonX15.Size = new System.Drawing.Size(92, 23); this.buttonX15.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5092,7 +5348,7 @@ // this.labelX15.BackgroundStyle.Class = ""; this.labelX15.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX15.Location = new System.Drawing.Point(174, 61); + this.labelX15.Location = new System.Drawing.Point(174, 393); this.labelX15.Name = "labelX15"; this.labelX15.Size = new System.Drawing.Size(20, 23); this.labelX15.TabIndex = 7; @@ -5106,7 +5362,7 @@ this.comboBoxEx4.Enabled = false; this.comboBoxEx4.FormattingEnabled = true; this.comboBoxEx4.ItemHeight = 15; - this.comboBoxEx4.Location = new System.Drawing.Point(81, 29); + this.comboBoxEx4.Location = new System.Drawing.Point(81, 361); this.comboBoxEx4.Name = "comboBoxEx4"; this.comboBoxEx4.Size = new System.Drawing.Size(123, 21); this.comboBoxEx4.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5124,7 +5380,7 @@ this.checkBoxX7.BackgroundStyle.Class = ""; this.checkBoxX7.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.checkBoxX7.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.checkBoxX7.Location = new System.Drawing.Point(8, 5); + this.checkBoxX7.Location = new System.Drawing.Point(8, 337); this.checkBoxX7.Name = "checkBoxX7"; this.checkBoxX7.Size = new System.Drawing.Size(90, 23); this.checkBoxX7.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5142,7 +5398,7 @@ this.checkBoxX8.BackgroundStyle.Class = ""; this.checkBoxX8.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.checkBoxX8.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.checkBoxX8.Location = new System.Drawing.Point(118, 5); + this.checkBoxX8.Location = new System.Drawing.Point(118, 337); this.checkBoxX8.Name = "checkBoxX8"; this.checkBoxX8.Size = new System.Drawing.Size(86, 23); this.checkBoxX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5159,7 +5415,7 @@ // this.labelX19.BackgroundStyle.Class = ""; this.labelX19.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX19.Location = new System.Drawing.Point(11, 61); + this.labelX19.Location = new System.Drawing.Point(11, 393); this.labelX19.Name = "labelX19"; this.labelX19.Size = new System.Drawing.Size(70, 23); this.labelX19.TabIndex = 1; @@ -5174,7 +5430,7 @@ // this.labelX21.BackgroundStyle.Class = ""; this.labelX21.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX21.Location = new System.Drawing.Point(10, 29); + this.labelX21.Location = new System.Drawing.Point(10, 361); this.labelX21.Name = "labelX21"; this.labelX21.Size = new System.Drawing.Size(70, 23); this.labelX21.TabIndex = 1; @@ -5187,7 +5443,7 @@ this.labelX22.BackgroundStyle.Class = ""; this.labelX22.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.labelX22.Image = ((System.Drawing.Image)(resources.GetObject("labelX22.Image"))); - this.labelX22.Location = new System.Drawing.Point(9, 245); + this.labelX22.Location = new System.Drawing.Point(9, 577); this.labelX22.Name = "labelX22"; this.labelX22.Size = new System.Drawing.Size(70, 23); this.labelX22.TabIndex = 1; @@ -5241,7 +5497,7 @@ this.buttonX7.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.buttonX7.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX7.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX7.Location = new System.Drawing.Point(119, 440); + this.buttonX7.Location = new System.Drawing.Point(119, 418); this.buttonX7.Name = "buttonX7"; this.buttonX7.Size = new System.Drawing.Size(40, 23); this.buttonX7.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5298,7 +5554,7 @@ this.dataGridViewX4.ReadOnly = true; this.dataGridViewX4.RowHeadersVisible = false; this.dataGridViewX4.RowTemplate.Height = 23; - this.dataGridViewX4.Size = new System.Drawing.Size(0, 92); + this.dataGridViewX4.Size = new System.Drawing.Size(130, 92); this.dataGridViewX4.TabIndex = 3; // // dataGridViewTextBoxColumn1 @@ -5348,7 +5604,7 @@ this.buttonX6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(246)))), ((int)(((byte)(253))))); this.buttonX6.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.buttonX6.Font = new System.Drawing.Font("宋体", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonX6.Location = new System.Drawing.Point(11, 440); + this.buttonX6.Location = new System.Drawing.Point(11, 418); this.buttonX6.Name = "buttonX6"; this.buttonX6.Size = new System.Drawing.Size(75, 23); this.buttonX6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -5383,7 +5639,7 @@ this.dataGridViewX5.ReadOnly = true; this.dataGridViewX5.RowHeadersVisible = false; this.dataGridViewX5.RowTemplate.Height = 23; - this.dataGridViewX5.Size = new System.Drawing.Size(0, 127); + this.dataGridViewX5.Size = new System.Drawing.Size(132, 127); this.dataGridViewX5.TabIndex = 5; this.dataGridViewX5.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.dataGridViewX5_MouseDoubleClick); // @@ -5891,14 +6147,14 @@ this.ribbonControl1.ResumeLayout(false); this.ribbonControl1.PerformLayout(); this.ribbonPanel15.ResumeLayout(false); - this.ribbonPanel6.ResumeLayout(false); - this.ribbonPanel2.ResumeLayout(false); - this.ribbonPanel3.ResumeLayout(false); this.ribbonPanel7.ResumeLayout(false); - this.ribbonPanel5.ResumeLayout(false); - this.ribbonPanel12.ResumeLayout(false); - this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel3.ResumeLayout(false); this.ribbonPanel1.ResumeLayout(false); + this.ribbonPanel12.ResumeLayout(false); + this.ribbonPanel5.ResumeLayout(false); + this.ribbonPanel6.ResumeLayout(false); + this.ribbonPanel4.ResumeLayout(false); + this.ribbonPanel2.ResumeLayout(false); this.panelOfTable.ResumeLayout(false); this.panelOfTable.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); @@ -5959,8 +6215,6 @@ private RibbonControl ribbonControl1; private RibbonPanel ribbonPanel1; private RibbonBar ribbonBar21; - private ButtonItem buttonItem87; - private ButtonItem buttonItem88; private SliderItem sliderGroundTransSet1; private ButtonItem buttonItem89; private ButtonItem buttonItem91; @@ -6020,7 +6274,6 @@ private ButtonItem buttonItem16; private ButtonItem buttonItem26; private GalleryContainer galleryContainer4; - private ButtonItem buttonItem27; private ButtonItem buttonItem51; private ControlContainerItem controlContainerItem5; private PrintDocument printDocument1; @@ -6153,8 +6406,6 @@ private ToolStripMenuItem 断面分析ToolStripMenuItem; private ToolStripMenuItem 横断面分析ToolStripMenuItem; private ToolStripMenuItem 纵断面分析ToolStripMenuItem; - private ToolStripMenuItem 道路断面分析ToolStripMenuItem; - private ToolStripMenuItem 基线剖面分析ToolStripMenuItem; private ToolStripMenuItem 拓扑分析ToolStripMenuItem; private ToolStripMenuItem 创建拓扑ToolStripMenuItem; private ToolStripMenuItem 上游分析ToolStripMenuItem; @@ -6176,9 +6427,6 @@ private ToolStripMenuItem 多边形开挖ToolStripMenuItem; private ToolStripMenuItem 挖方量分析ToolStripMenuItem; private ToolStripMenuItem 沿线开挖ToolStripMenuItem; - private ToolStripMenuItem 创建隧道ToolStripMenuItem; - private ToolStripMenuItem 隐藏隧道ToolStripMenuItem; - private ToolStripMenuItem 删除隧道ToolStripMenuItem; private ToolStripMenuItem 全区域统计ToolStripMenuItem; private ToolStripMenuItem 管线长度统计ToolStripMenuItem; private ToolStripMenuItem 阀门数量统计ToolStripMenuItem; @@ -6230,7 +6478,6 @@ private ToolStripMenuItem 标识器分类统计ToolStripMenuItem; private ToolStripMenuItem 标识器分类统计ToolStripMenuItem1; private ButtonItem btn_check_history; - private ButtonItem buttonItem查看数据; private ButtonItem buttonItemGHRK; private RibbonPanel ribbonPanel2; private RibbonBar ribbonBar3; diff --git a/MainFrm.resx b/MainFrm.resx index f3955ec..7507c41 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -1127,40 +1127,6 @@ pdYK/uczRU8882zI+QPBTkk4sL23wAAAAABJRU5ErkJggg== - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1640,6 +1606,506 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYxRjlCRTY3NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 + MTg4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYxRjlCRTY2NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 + MTg4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5JUenqAAACPElEQVRIS7WT3UsUURjGhyCiixbaUC/awuyq7OOuq2y3smxT + +1LT1LL+h6ib/odAKFBiIyssHNJKy740EZGC+hO6qhshDBKSIt6e58w5NXM8M9MQPfCD877nfZ53Z3fH + E5H/irdh885/whUaxmnKgis0jNOUhVS5TFlIlcsUw2kwreFZ9VNlBhNQwS0dF2Rm7q2CZ/Z4p2PipUNc + BMHt52V69o0sf/8ZgT3ecYazOm6ldNiK4GaYX87My9K3H4lwhrP00Ktj/0iHGorltj6ZnJqTxa/LmaCH + Xmbo6EDWglL5VJ9MvJiVhcWlTNBD7/qN25oQuypIh6wFxaYTZ0Vx8pyMTb6WjwtfEuEMZ40vV1PXhtjV + QTpkLSgdxpA/PiUjj1/JoeO9YuoPnz5HYI93nOGsqXPVW7oQuyZIh6wFxcZjPaKAcXjsuQyPPovWgGf2 + eBeuSa66rh2xsQtKB1t75Lb/VIb8J3KgtVvsmvDMHu/sGl9RB2Ljn2B/8xlRtHRL5f6EVO6NR2vAM3u8 + C9ck9QlKGBq8+0gG7jyU4tEusWvCM3u8s+u0J/Dyhfre/Kb6eRqvD43KtVsPZF+5UwWxJjyzxztT5wvb + 3+MHvozIAohfAPEvVoNHvQjTuwYE9d/0pb/iS8ORTgXP7PGOweuqaq/AswfsoFdnBHIs4EuyFlSBrfhU + l7hoL4Kv3hhR8GwF7+as9tAb+6L9BnIu+utgI1d4GCiyCOzSJAcbuUJdQGZRXpMcbOQKy0KyPO8X3VzO + Z+EVt84AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI4QTVDNDc0NEM2NzExRTQ5NTE5REU3N0RCMjJE + QjdBIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI4QTVDNDczNEM2NzExRTQ5NTE5REU3N0RCMjJE + QjdBIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzQ5NEZCOEM2MzRDRTQxMTg4NERE + MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4VEc0+AAADBUlEQVRIS62Ve0iTURTAr1ZaBkoWOTWn+bYyNTENMh/5yCSd + cyMf03xsva0/jEqjF2JIRL4yiGnaNFYRCkYtR2OWMtOm5ivFxyTTqS0VN2UU1el+X2MYVMjnDvz44Nxz + z4/LPZcPfdc2MjCJ/4BYI2r+II59TA8A/BdiQ2JdoU/PkwJ35VJqb/v0LMyJOQghoxULHuW5Ti3OsGAp + NVedJ9taHlxksI6240ZyKugFNbku6rlPu6Ff5EAyNbwLyrPtp6QS/nUsAFxMCRxyUiA8T1eqhrZBm8AG + mu9bw5DcDe6etNUJeH/dvByIIAUPz9ooFXJ7GJDRoavRDjokdlCcbjVtMIHglH1vyRFrTWHqlm+l6faL + txI3TZdm2A0Qgtj4lQviiGlpaa661NstfvXlc6dIMfiYRzDQK0wvKatMGh75CFQgBbowYjGDTRSKYa+R + kSG/AP/t63DOBLN6YmLCDNf5UoXszslCIk6W8Xv8bcfIdYjwkjHGiCxaEvj4y38HRLCPr5/oG70M/aP5 + mAL4MHoFmDzUER6V4I3HdBY3ooRewOBazEnlbHghC8cEwcumwxCZhLpCw1l+K3wHs6QgKh3Ja6W+UP3c + HcprXYH/1BP2MlCPAQS/jxCWsqa/SLAVbvKdIb/MBa4VOYLfQdRnMEEgk6YOiNnwNTCO9sM/2mLGcz/q + 3xmOGg0miGFyQ5qaW4dfv3mr6OruaxgfH0/DaTOM6cLCghdZSTFIAQ4jrVYbgptFEKhUKjecW4UxzJia + OGfyLXdw35l7cCXIIbNCR2Fg8KG1sfFcJ9zIkQp6Ac07c7JSMgbV0jEQ6ED0ZGFEVKLvCu/AkRSYOqWJ + cyo6gVfYCieKW+HMHRkgW+Yzg10yoqfUc240QWxuAxzIrgdWTh0gWrTEYAJLj9TZYJ4QgjKqYF/qPdiT + VAbIKlJmMIG5M3two1v8T3PHaC3dO2HG2pOtRJvDJEGhDM+E5NN95y7kAxX0AhzG8/PzeXhEpzQaTY9Y + LHbBOfIdqNVqV1xH/MApAPJfzP33dTxioZgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzMkNDMkY0NEFEMDExRTQ4MDc0ODRFNENDMkU3 + RDczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzMkNDMkYzNEFEMDExRTQ4MDc0ODRFNENDMkU3 + RDczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjdGOUQzNUFDRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz5/YJCyAAABkUlEQVRIS7WUvUoDQRSFtxErBVfShFUEG4mKYGUh+AS+QB7H + p9BWtLFLZ2EjkUDAHyISFFEUIkhAIigYDGE8J7MTbiYzJjvigY9d7r3n3NliJ1JK/SvR7Pzqn3CFSpym + LLhCJU5TFkbKZcrCSFmGIigDFQi9xTRaCwVJ+ax6qTpdFQS9zEijtawFqv3dtU81NsaL2AmdDqEwsODz + q2OGNsHGuFjeGGilwf0FrY+2GVoDybhY3jzQSoP7C5qtTzNEk90fwgjvA15dheQwm43me/AC6dVVSA6z + +fjyFrxAenUVksNs3j69Bi+QXl2F5DCb1/eN4AXSq6uQHGbzvP4cvEB6dRWSw2xWag+9oRCMF7HeBeXd + g5I6vbgLYu+wpOKkUEOsd0Exnlup4jl0OnJSrfdw9UicLF9N5RZ2EOv90Vjib74OelcFjceVGyfscUZA + D73eq4IlXlQc4CkSfPI+g1zM5JeOMLPIuRR66PVedk6gaVAAW2A7he+sseeXK9AGmgQ5YE5qYI09v1yB + WfhdUfQD3zQ4bV9fKQQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy + OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy + ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 + 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM + 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN + z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D + ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW + QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd + R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN + Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm + 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD + YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q + dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE + H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel + v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I + E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj + 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL + zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M + R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW + 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 + zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU + 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 + CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f + UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW + nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 + jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z + cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 + wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md + mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk + hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR + PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl + hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX + vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO + Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE + 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO + a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC + KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ + gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp + JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe + NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G + IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq + 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 + OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 + NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE + M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW + 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 + zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU + 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 + CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f + UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW + nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 + jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z + cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 + wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md + mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk + hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR + PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl + hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX + vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO + Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE + 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO + a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC + KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ + gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp + JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe + NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G + IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq + 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 + OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 + NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE + M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1776,6 +2242,40 @@ OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2023,651 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgzMjEyRkFGNEFDRjExRTQ4MENGRkEzRDEwQ0Uw - RjZEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgzMjEyRkFFNEFDRjExRTQ4MENGRkEzRDEwQ0Uw - RjZEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjFGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz48kEQ/AAADtUlEQVRIS62UbUxTVxjHbwSHm0R5SRSHsOGkcVoTB26a2AnL - Ok0AgegSt0QqoJuKK4ggTmAOQUbFt2XZJpUqIKPtBpmtqAxfELSgFF+SbUbNPugn4wc/6aJuyfzveU45 - t1e4zmXzJL/8z/Oc5/z/l0tbJTp+9v8CwD+ie4lYQfQTDwk3kULozemaahl5gY3cxrfMGPBfwe8PHqHD - 24WXE+eC+uM0cyp6plq0w6ZkUxpcHUfhG7yC+w/+VLFuqkJUnLFAM6uiZ6pFDqbFvJYER2sHbt+9NwrX - 4eG/Is6YpTVn9Ey1yMHOA04Prt+681Sa3UfoNRm7teaMnqkWOfjQd/kG/L/efCp8znOKorwgzZlnruHB - PWtLq9Hd/zN6/NdGcazvMvILKxExxeCmK5H/JWBS1NSZDaR/EPykTxJnfDRhUsKJkLFh2ZGxryPaEBJK - V8fQme5rkWgDeDuBmENkEMuI9zVwnT4xJhGfuF4VoVSPJ8boGUvE0gTwU3FIDDFVEhk7gyfj+MnNthcf - t19/F8WeBBkSzpr8cRjfGxUmlgwYibn+pVBSkIrXxtpwcT7afnsHNn8S14+H+3+xkhWHhPzrAAJrXQlo - uZqKrT8Z4aInb7q6EBUD8bANvYma80ko+jGRzlOQ1xqv/r/IMpwIVQN4yUMt+c2vwP5LKip8BpT1zkJl - fyKsp2JVSnoM2NI3B9sGZmJz7xvYem4uLE3BIIasOUxR5pWNw/rTySj3zUPt4ALUD5mw+5IJBd3TkOOZ - rGLxPonsrzg8GbneeKzpnA1L+yysIy/2JOvpIiC5KAzpdgPMjRFIb41CpjMKWa5oQbb72fBcpjMaGXT3 - PQd5kBd7kjV/KhXl0g+1GHRWEdtwoe1zXPx+u9hz3++qFnA95K5R+zzPfZ4P9AP3WQP3q4IBAy0VOH+o - Av3NW8B71gutlWIvlc99TZ+KPau21t4b/O4z0nKccZQFA842bsSZfYVg7bNvENrbUKTqOUeJOO/bXxxQ - mpF1z7dWoXKe6+6vrWivyw8GdO3Kw8kvP8Jx0uO7VuGIbSWO1uehc0cuju3MV2tvnUX0PHU5ar9r92pR - y3MP9ZxVH6KlcnkwwFvzAdrKl6J5czYaNqTDUZqJ/RszcKA0S9QHN2XBXpyBxpIlAj7nms9lzXO830f6 - TWEa9hYsDgbYrYvw1Toz6nIXEimoXfk2vqD9dosJtrxUoSP7vK/JWaDWrPK8mvrspQbQ4i8Ef2a58TwJ - fA9o8Q8dh0Q8X5TwvwE0C9fB+8UTrQAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxQTMzQzlGNEFDRjExRTQ5OEMwQ0Y0Q0Y4QzlC - ODkwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxQTMzQzlFNEFDRjExRTQ5OEMwQ0Y0Q0Y4QzlC - ODkwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4XXXQtAAAELElEQVRIS7VV20/TZxhmk8TFmWWRCy+WsGgmF3MmTragkznE - LtuEoaJjKqUTFCggp4IFWg7lOAQ5CIyjUJCWAuNQ6mTgCmsVykmvFpMl/iW7mM/e92u/X39s7HCzL3l4 - 3ud5Dw9ctITwA/CfERZ+BGERu0Jp7dWd+moob6fmTuDjBudBMNPa64R/DFHeTk2JwLFXmD9v2/Ny+oUG - hc4DMmQvc2TG7jeo/kuY8v7cYGia9oTyMvFvknufHof9xWk0bh5j/TLg/x4I45Bd6hvKU5sSvKR3HMDI - 8xhULrwHx69nYH1+CmZfOBq3PkTt2jHkzxyi/idIHQ0Xf1EgaC8hlG8oTzbVSBt+G32/xMC8EgGj5zDK - Vw8h1/2WgqLlCJR5j6La9y5KPO+j8skH0FmDQQw6zWEhIVHG15CzFAnTShTqN06iaSsaLc+ikb14ECnO - /Qp0c9shfe3sflybC0fmgyPQfX8YWXSLb9Lpd0RAZP5uxPVFQDPwJuJG9yFhbB/OOcIEzo//O3guYSwM - 8bT76T26Qbf4Jp0+KgKeTdZjY8xCqMa6vQpPJ+pEzf6mo0aA9dZ4reLzPPs87/f9+8z+fUswYMPOTQvW - bJXgmnnTQcNUS+a+b7RC1IJVWr23NU6htip4rWZVADV8I2Ywr/ES6/vlCm/Sb8n9dVuFYJ6RenXY5PcD - 86w9Q6VwtecFA54MGmnBhBVrKdZpkJn16nAZ1uiQ1CtDJcLjeelvUJiyT33vYAnmuwow05ITDFgZMuLx - vWIaMMLTbxDMepUWWPvokHegiA7dEuA+a+5LzXNcL/UWYr4zD5ON6cGAn3vy8HjAAGZvfyE8vfnw9hUI - /Xc+18vduYpmZs/dnQfXnQxMNqSpArpvYqkrB8vf3YS7MxuenlyF1b66/1NH1jZf6oV2PVzNNzBWo+MA - /+fgUVs63B16MC93ZQte6swS7L6bqfBCy3Uxt9h6Q2jJcp/1QlsGput1sFuSOcD/SX7Ueh0/Nl/DYkva - Nl64k4qHt3Winm/6RviS2eM91jwn+UGjDlO1ybCWXuQA/5urvwpXQzKYHzamwFl3BT98qxV6ngK4J32u - Z2svC581++yxZt/VoIWjIgnDMoC/9Vw0OG1JguQ5GpR6quorOGu+VvyZ6iShmaVW+xMVl2A3JaKnII5O - Uwb/mCxPxAwdYp6quIhx03lMV17ChPmC0NKX2lF2DrMUyJr31DxhTsSgIQ79BfHBgCk6ME5LE6YLsBrO - 4v6tL2Et/AIjxfFCCyZtMyYIPVwUt21O+AEeIr8n9zO0ZcQGA2zFZ8VAlz4WXVkatKfHoEN/Bq0Bvptx - WkD6XHdkxgqt9pl553bqKQEloC9Hg+bUj9GgOwnLFfqfkBLk6uQTqNMSXz2OWu1HAvW6aOHLOe5Lrroc - RbMnYKF5JeD/A0L+ALgaUQ70/qVMAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhBQzA3NjM1NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhBQzA3NjM0NEFEMDExRTRCRDJCQTRBMTUzMERD - QUEwIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjRGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7wDFMsAAADRElEQVRIS7WVbUyNYRjH2/iSD2behrAK1SJxTpF3hSZSmbxE - qZYT6SjJvL+sMZIZRqGat0hRmyxLXmq1VUoZHbVSspqQKWPGvMzfdT11Hs+5uz/4wIffdt//63/9r/M8 - z/08xwrAf0Uqyhg02kVPpBOviARimMwnIhVFKMzaxsENlzJz0dbegcTjZ0BaiswrIhVFKCwydlsCvv34 - peLtH8xDpsn8WqSiCAWFRcXtxtfvP1U8F63gAXqZX4tUFKGgPkPtXJGcdgUV1bXYsuvgv71FDAWe8PD0 - R8z2BDjp5vKABJlPRCqKUJij22xfdHR+RNenL2hubYfNODceYi3za5GKIhS0MtgQh3cfPqsMH6vjATEy - vxapKEJBq0PWx+P1+08qZdUmLOg+SWmETtbHSEURCtgeErkFbR0fLGh924WT5zJgN2E6D9ov6+0liFBj - kn7WYpTV1KOlvVMlICgSJZW1yrra1IygiFgecovw0fZbhImQOWV5qBFPG1sVnre9U6Eaho3RIX5volo7 - fy1PGaLNsAjUQsbAZSEbUd/yBidTryLCuFNZm+EBxEAiydl9Hk6lZ6HiSSOG2k1iva85p1ewGTL5LVll - wKLAcG64GrBmA2qbXqmQpgzo8c4hsuxdZrB2QJtjESpCZj8i1EnniQvZt1H0sBaPG9oUNu1Q3uZkwT9Y - u2csNiLU4DF8rB4ZuYWoevYSR5Mvw8NrKdbF7kGlqQW+Kw085LCs14xUZKjRmrh08Hg6yp++QGlNI2Z4 - B3LgbOLO6Qs5uFdugut0H9Y2yzIYqchQ06nwTbtR+rhJYdlaIwed6Kn5O7vPx/2HdcjKL8Eop6lc8xUz - mF4CQ+ZDXn7BeFBVj+LqBsTsSuQAi68n7Y8Z4vYp9WOpmcqRJS1C62EsNgyZjOOnLEBe0SPcr6xHIt33 - Ibau3Dxa8A3gI3kx567iS72WD0c6DKRbvNHqgqFi/5GOU3D+RiEKK+qQnl0AGwd3blqo9Wn80ROmeiPj - ZrHiv36nHCO6v7L9zB6xwbjKEI+CMhOyC8rg0P2LorQeEapvtZ84C2cz8xG94xD7j2jrotnOSe+FwLBY - TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjYxRjlCRTY3NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 - MTg4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjYxRjlCRTY2NEFEMjExRTQ4MTU2QUUzNEE5ODQ3 - MTg4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5JUenqAAACPElEQVRIS7WT3UsUURjGhyCiixbaUC/awuyq7OOuq2y3smxT - +1LT1LL+h6ib/odAKFBiIyssHNJKy740EZGC+hO6qhshDBKSIt6e58w5NXM8M9MQPfCD877nfZ53Z3fH - E5H/irdh885/whUaxmnKgis0jNOUhVS5TFlIlcsUw2kwreFZ9VNlBhNQwS0dF2Rm7q2CZ/Z4p2PipUNc - BMHt52V69o0sf/8ZgT3ecYazOm6ldNiK4GaYX87My9K3H4lwhrP00Ktj/0iHGorltj6ZnJqTxa/LmaCH - Xmbo6EDWglL5VJ9MvJiVhcWlTNBD7/qN25oQuypIh6wFxaYTZ0Vx8pyMTb6WjwtfEuEMZ40vV1PXhtjV - QTpkLSgdxpA/PiUjj1/JoeO9YuoPnz5HYI93nOGsqXPVW7oQuyZIh6wFxcZjPaKAcXjsuQyPPovWgGf2 - eBeuSa66rh2xsQtKB1t75Lb/VIb8J3KgtVvsmvDMHu/sGl9RB2Ljn2B/8xlRtHRL5f6EVO6NR2vAM3u8 - C9ck9QlKGBq8+0gG7jyU4tEusWvCM3u8s+u0J/Dyhfre/Kb6eRqvD43KtVsPZF+5UwWxJjyzxztT5wvb - 3+MHvozIAohfAPEvVoNHvQjTuwYE9d/0pb/iS8ORTgXP7PGOweuqaq/AswfsoFdnBHIs4EuyFlSBrfhU - l7hoL4Kv3hhR8GwF7+as9tAb+6L9BnIu+utgI1d4GCiyCOzSJAcbuUJdQGZRXpMcbOQKy0KyPO8X3VzO - Z+EVt84AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI4QTVDNDc0NEM2NzExRTQ5NTE5REU3N0RCMjJE - QjdBIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI4QTVDNDczNEM2NzExRTQ5NTE5REU3N0RCMjJE - QjdBIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzQ5NEZCOEM2MzRDRTQxMTg4NERE - MUVBOEQ4QTgyNTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4VEc0+AAADBUlEQVRIS62Ve0iTURTAr1ZaBkoWOTWn+bYyNTENMh/5yCSd - cyMf03xsva0/jEqjF2JIRL4yiGnaNFYRCkYtR2OWMtOm5ivFxyTTqS0VN2UU1el+X2MYVMjnDvz44Nxz - z4/LPZcPfdc2MjCJ/4BYI2r+II59TA8A/BdiQ2JdoU/PkwJ35VJqb/v0LMyJOQghoxULHuW5Ti3OsGAp - NVedJ9taHlxksI6240ZyKugFNbku6rlPu6Ff5EAyNbwLyrPtp6QS/nUsAFxMCRxyUiA8T1eqhrZBm8AG - mu9bw5DcDe6etNUJeH/dvByIIAUPz9ooFXJ7GJDRoavRDjokdlCcbjVtMIHglH1vyRFrTWHqlm+l6faL - txI3TZdm2A0Qgtj4lQviiGlpaa661NstfvXlc6dIMfiYRzDQK0wvKatMGh75CFQgBbowYjGDTRSKYa+R - kSG/AP/t63DOBLN6YmLCDNf5UoXszslCIk6W8Xv8bcfIdYjwkjHGiCxaEvj4y38HRLCPr5/oG70M/aP5 - mAL4MHoFmDzUER6V4I3HdBY3ooRewOBazEnlbHghC8cEwcumwxCZhLpCw1l+K3wHs6QgKh3Ja6W+UP3c - HcprXYH/1BP2MlCPAQS/jxCWsqa/SLAVbvKdIb/MBa4VOYLfQdRnMEEgk6YOiNnwNTCO9sM/2mLGcz/q - 3xmOGg0miGFyQ5qaW4dfv3mr6OruaxgfH0/DaTOM6cLCghdZSTFIAQ4jrVYbgptFEKhUKjecW4UxzJia - OGfyLXdw35l7cCXIIbNCR2Fg8KG1sfFcJ9zIkQp6Ac07c7JSMgbV0jEQ6ED0ZGFEVKLvCu/AkRSYOqWJ - cyo6gVfYCieKW+HMHRkgW+Yzg10yoqfUc240QWxuAxzIrgdWTh0gWrTEYAJLj9TZYJ4QgjKqYF/qPdiT - VAbIKlJmMIG5M3two1v8T3PHaC3dO2HG2pOtRJvDJEGhDM+E5NN95y7kAxX0AhzG8/PzeXhEpzQaTY9Y - LHbBOfIdqNVqV1xH/MApAPJfzP33dTxioZgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzMkNDMkY0NEFEMDExRTQ4MDc0ODRFNENDMkU3 - RDczIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzMkNDMkYzNEFEMDExRTQ4MDc0ODRFNENDMkU3 - RDczIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjdGOUQzNUFDRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz5/YJCyAAABkUlEQVRIS7WUvUoDQRSFtxErBVfShFUEG4mKYGUh+AS+QB7H - p9BWtLFLZ2EjkUDAHyISFFEUIkhAIigYDGE8J7MTbiYzJjvigY9d7r3n3NliJ1JK/SvR7Pzqn3CFSpym - LLhCJU5TFkbKZcrCSFmGIigDFQi9xTRaCwVJ+ax6qTpdFQS9zEijtawFqv3dtU81NsaL2AmdDqEwsODz - q2OGNsHGuFjeGGilwf0FrY+2GVoDybhY3jzQSoP7C5qtTzNEk90fwgjvA15dheQwm43me/AC6dVVSA6z - +fjyFrxAenUVksNs3j69Bi+QXl2F5DCb1/eN4AXSq6uQHGbzvP4cvEB6dRWSw2xWag+9oRCMF7HeBeXd - g5I6vbgLYu+wpOKkUEOsd0Exnlup4jl0OnJSrfdw9UicLF9N5RZ2EOv90Vjib74OelcFjceVGyfscUZA - D73eq4IlXlQc4CkSfPI+g1zM5JeOMLPIuRR66PVedk6gaVAAW2A7he+sseeXK9AGmgQ5YE5qYI09v1yB - WfhdUfQD3zQ4bV9fKQQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4QUEwRERENEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4QUEwRERDNEFENDExRTRBQTE0RThCQzEyOEQy - OTc1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7dyRkqAAAD9ElEQVRIS7WWe0xbZRiH95+T6DQxcc7NLfrHTBaR4NyFmDAy - ljFwwERGpmRxxmyY6QbqgogDhqluOpFLlm6AFslGRVlXKISVS7tByzgUOF1vtLUtLVBogQ4YsLoN9ec5 - 3+xXyIiJWdrkyfed9/u979PLSdsVz6wPfyQA/Cehf3DPQsiBECHkBVj4CyGBn00E9xb+DglU4L/35xIM - 7j78qCpAlVqAg6KNkOtqMTPnx9TcLOzjFty5u4CJWR9u++/AM+NBh7WRnM3/cX/JHCqY899fwu35u/BN - z2HM60NcURjB7hwmNX4/PjmNWzPzZL/v3FPIEK9DQskTNOudmML0rD8oiD0d9hAutxej4z6yZ3pZaA0D - ZO8c8dDM8d9egtSxGxetMTiri8Ih8XpS79cZ4fZOBgVu7y2YrINg9QOIPvU4QcPqyWp1DJM6vwbOUivW - QGSMgdi8E7mqSGQqIpAoXE3OmuRtuKHRwjU6HhQMe6dgG/LA4hhBVM5KJJatJmsPa8TNARup8xm+1tnd - R9bkc88hicsllnGrcC2p1Te1QKliYLQ6SZ4KhriLYe80oaa9Ghk/JEMkqYJS3Q0DF3a4J7D9s1V4s2QN - Nmc+hviTLyOvIgv55SeQe/4YUgu3QlRXjbbrN6A12TDoniSzqMDh9lEszjEoGQbF4u/wa+tlmOxu2Ecm - 0dglR86FjxEteBZx2Zsgab4KhaoH17lXJFO04nKLDCrus+L7A7OowOLyUsxODwy2EaTm78BrWU/io6KD - YE126KxDaFDKEZ4Rhg8E+1HbKAOjNZP6TYsL0mtNaFYrUCmrAGu2YWBwLCgw2Ecf4qeGakRmPo203D1Q - dPWjz8TdBGYX0guSIK5vgLyDQa/BDr3NTdAYrYg68iI2HliJiitV6DM6ggLWwt0p/8J9PeFMsRDnJSLE - H38DsXEJSEhKAaOzod88hMjXt+KTz/PQ2WtCLyfl8wE2RbyKkyWFqJLUQdqu4ASvPBBojE4KH9wVtxel - v5Tj5zopuU5MSQOjt6NG0swJtmHtCxtwrUePHsMDQaA3J/9rfJpTgDY1CwWjDwq6dHYK37BzdwJqZe3I - E3yP9ENHsG//u+TsvcNH8dXZMryVlo4ioYjmA73ZnCA7T4BO1gqV1hp8izr6f6fwDafOlKLgdAlidsXj - 29JKJHOCFrWOnAXga4F8gIjN21Df1k1nUYFSY6bwwUvSVjy/bgN2cILKmnokvf0O8r8pRvr7H5JMcwdL - zvkcn1/cvxgqaGVMFL6BX6Nj9+BLQREuXLyCvSkHEB65BcXll2ju8LETyPqikOaXgwqudhlCQkAQ8p/M - R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/bin/x86/Debug/Cyberpipe.vshost.exe.manifest b/bin/x86/Debug/Cyberpipe.vshost.exe.manifest deleted file mode 100644 index 061c9ca..0000000 --- a/bin/x86/Debug/Cyberpipe.vshost.exe.manifest +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -