コード例 #1
0
        public override void Run(object sender, System.EventArgs e)
        {
            try
            {
                DF3DApplication app = DF3DApplication.Application;
                if (app == null || app.Current3DMapControl == null)
                {
                    return;
                }
                //Terrain地形
                Layer3DTreePad pad = UCService.GetContent(typeof(Layer3DTreePad)) as Layer3DTreePad;
                if (pad != null)
                {
                    List <IBaseLayer> list1 = pad.GetRootLayers();
                    if (list1 != null)
                    {
                        foreach (IBaseLayer layer in list1)
                        {
                            if (layer is TreeNodeTerrain)
                            {
                                layer.Visible = true;
                                break;
                            }
                        }
                    }
                }
                else
                {
                    if (app.Current3DMapControl.Terrain != null && app.Current3DMapControl.Terrain.IsRegistered)
                    {
                        app.Current3DMapControl.Terrain.VisibleMask = gviViewportMask.gviViewAllNormalView;
                    }
                }
                //地形模型
                List <DF3DFeatureClass> list = Dictionary3DTable.Instance.GetFeatureClassByFacilityClassName("DX3DMODEL");
                if (list != null)
                {
                    foreach (DF3DFeatureClass dffc in list)
                    {
                        IBaseLayer bl = dffc.GetTreeLayer();
                        if (bl != null)
                        {
                            bl.Visible = true;
                        }
                    }
                }

                app.Workbench.UpdateMenu();
            }
            catch (Exception ex)
            {
            }
        }
コード例 #2
0
        public override void Run(object sender, EventArgs e)
        {
            Layer3DTreePad pad = UCService.GetContent(typeof(Layer3DTreePad)) as Layer3DTreePad;

            if (pad == null)
            {
                return;
            }
            FormAdd3DTile dlg = new FormAdd3DTile();

            if (dlg.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }
            DataUtils.AddAndVisualize3DTileData(dlg.ConnInfo, dlg.Pwd, pad.TreeList, dlg.TreeNodeName, true);
        }
コード例 #3
0
        public override void Run(object sender, EventArgs e)
        {
            Layer3DTreePad pad = UCService.GetContent(typeof(Layer3DTreePad)) as Layer3DTreePad;

            if (pad == null)
            {
                return;
            }
            FormAdd3DDatabase dialog = new FormAdd3DDatabase();

            if (dialog.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            DataUtils.AddAndVisualizeBaseData(dialog.ConnInfo, "Geometry", pad.TreeList, true);
        }
コード例 #4
0
        public override void Run(object sender, System.EventArgs e)
        {
            DF3DApplication app = (DF3DApplication)this.Hook;

            if (app == null || app.Current3DMapControl == null)
            {
                return;
            }
            if (!app.IsInit3DControl)
            {
                XtraMessageBox.Show("三维空间初始化失败!", "提示");
                return;
            }
            try
            {
                Layer3DTreePad pad = UCService.GetContent(typeof(Layer3DTreePad)) as Layer3DTreePad;
                if (pad == null)
                {
                    return;
                }
                app.Workbench.SetStatusInfo("数据加载中…");

                SplashScreenManager.Default.SendCommand(null, "开始加载三维数据......");
                //加载地形数据
                string str3DTerrainConn = Config.GetConfigValue("3DTerrainConnStr");
                string str3DTerrainPwd  = Config.GetConfigValue("3DTerrainPwd");
                if (!string.IsNullOrEmpty(str3DTerrainConn))
                {
                    SplashScreenManager.Default.SendCommand(null, "正在加载三维地形数据......");
                    DataUtils.AddAndVisualizeTerrainData(str3DTerrainConn, str3DTerrainPwd, pad.TreeList);
                }

                //加载专题数据
                string str3DThematicDataConn = Config.GetConfigValue("3DThematicDataConnStr");
                if (!string.IsNullOrEmpty(str3DThematicDataConn))
                {
                    SplashScreenManager.Default.SendCommand(null, "正在加载三维专题数据......");
                    IConnectionInfo ci = new ConnectionInfo();
                    ci.FromConnectionString(str3DThematicDataConn);
                    DataUtils.AddAndVisualizeBaseData(ci, "Geometry", pad.TreeList, false, false);
                }

                //加载瓦片数据
                string str3DTileConn = Config.GetConfigValue("3DTileConnStr");
                string str3DTilePwd  = Config.GetConfigValue("3DTilePwd");
                if (!string.IsNullOrEmpty(str3DTileConn))
                {
                    SplashScreenManager.Default.SendCommand(null, "正在加载三维瓦片数据......");
                    DataUtils.AddAndVisualize3DTileData(str3DTileConn, str3DTilePwd, pad.TreeList);
                }

                //加载基础数据
                string str3DBaseDataConn = Config.GetConfigValue("3DBaseDataConnStr");
                if (!string.IsNullOrEmpty(str3DBaseDataConn))
                {
                    SplashScreenManager.Default.SendCommand(null, "正在加载三维基础数据......");
                    IConnectionInfo ci = new ConnectionInfo();
                    ci.FromConnectionString(str3DBaseDataConn);
                    DataUtils.AddAndVisualizeBaseData(ci, "Geometry", pad.TreeList, false, false);
                }
                //加载管线数据
                string str3DPipeDataConn = Config.GetConfigValue("3DPipeDataConnStr");
                if (!string.IsNullOrEmpty(str3DPipeDataConn))
                {
                    SplashScreenManager.Default.SendCommand(null, "正在加载三维管线数据......");
                    IConnectionInfo ciPipe = new ConnectionInfo();
                    ciPipe.FromConnectionString(str3DPipeDataConn);
                    DataUtils.AddAndVisualizePipeData(ciPipe, "Geometry", pad.TreeList, false, false);
                }
                app.Workbench.SetStatusInfo("就绪");
            }
            catch (Exception ex)
            {
                app.Workbench.SetStatusInfo("数据加载失败!");
            }
        }
コード例 #5
0
        public override void Run(object sender, System.EventArgs e)
        {
            DF3DApplication app = (DF3DApplication)this.Hook;

            if (app == null || app.Current3DMapControl == null)
            {
                return;
            }
            if (!app.IsInit3DControl)
            {
                XtraMessageBox.Show("三维空间初始化失败!", "提示");
                return;
            }
            try
            {
                Layer3DTreePad pad = UCService.GetContent(typeof(Layer3DTreePad)) as Layer3DTreePad;
                if (pad == null)
                {
                    return;
                }
                app.Workbench.SetStatusInfo("数据加载中…");

                //加载地形数据
                string str3DTerrainConn = Config.GetConfigValue("3DTerrainConnStr");
                string str3DTerrainPwd  = Config.GetConfigValue("3DTerrainPwd");
                if (!string.IsNullOrEmpty(str3DTerrainConn))
                {
                    DataUtils.AddAndVisualizeTerrainData(str3DTerrainConn, str3DTerrainPwd, pad.TreeList);
                }

                //加载基础数据
                string str3DBaseDataConn = Config.GetConfigValue("3DBaseDataConnStr");
                if (!string.IsNullOrEmpty(str3DBaseDataConn))
                {
                    IConnectionInfo ci = new ConnectionInfo();
                    ci.FromConnectionString(str3DBaseDataConn);
                    DataUtils.AddAndVisualizeBaseData(ci, "Geometry", pad.TreeList, false, false);
                }

                //加载管线数据
                string str3DTemplateDataConn = Config.GetConfigValue("3DTemplateDataConnStr");
                if (!string.IsNullOrEmpty(str3DTemplateDataConn))
                {
                    IConnectionInfo ciTemplate = new ConnectionInfo();
                    ciTemplate.FromConnectionString(str3DTemplateDataConn);

                    Dictionary <string, IRowBuffer> pipeInfos   = DataUtils.GetPipeInfos(ciTemplate, "DataSet_BIZ", "OC_Catalog");
                    Dictionary <string, string>     pipeCatelog = DataUtils.GetPipeCatelog(ciTemplate, "DataSet_BIZ", "OC_Catalog");

                    string str3DPipeDataConn = Config.GetConfigValue("3DPipeDataConnStr");
                    if (!string.IsNullOrEmpty(str3DPipeDataConn))
                    {
                        IConnectionInfo ciPipe = new ConnectionInfo();
                        ciPipe.FromConnectionString(str3DPipeDataConn);
                        DataUtils.AddAndVisualizePipeData(ciPipe, "Geometry", pad.TreeList, pipeCatelog, pipeInfos, false, false);
                    }
                }
                app.Workbench.SetStatusInfo("就绪");
            }
            catch (Exception ex)
            {
                app.Workbench.SetStatusInfo("数据加载失败!");
            }
        }