コード例 #1
0
        //加载缓存
        private void AddCache_ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.openFileDialog.Title            = "打开三维缓存文件";
            this.openFileDialog.Filter           = "所有支持的三维缓存文件(*.sci, *.scv, *.scp,*.sci3d, *.sct, *.sit,*.gci,*.scm)|*.sci;*.scv;*.scp;*.sci3d;*.sct;*.sit;*.gci;*.scm";
            this.openFileDialog.InitialDirectory = Directory.GetCurrentDirectory();
            if (this.openFileDialog.ShowDialog() == DialogResult.OK)
            {
                String   fileName  = this.openFileDialog.FileName;
                String   extention = System.IO.Path.GetExtension(fileName);
                Layer3D  layer3D   = null;
                Layer3Ds layer3ds  = this.m_sceneControl.Scene.Layers;

                switch (extention)
                {
                case ".sci":
                case ".sci3d":
                case ".sit":
                case ".gci":
                {
                    layer3D = layer3ds.Add(fileName, Layer3DType.ImageFile, true);
                    layer3D.UpdateData();
                    this.m_sceneControl.Scene.Refresh();
                    this.m_sceneControl.Scene.EnsureVisible(layer3D.Bounds);
                    break;
                }

                case ".scv":
                {
                    layer3D = layer3ds.Add(fileName, Layer3DType.VectorFile, true);
                    //layer3D.UpdateData();
                    this.m_sceneControl.Scene.Refresh();
                    this.m_sceneControl.Scene.EnsureVisible(layer3D.Bounds);

                    break;
                }

                case ".scp":
                {
                    layer3D = layer3ds.Add(fileName, Layer3DType.OSGB, true);
                    this.m_sceneControl.Scene.Refresh();
                    //this.m_sceneControl.Scene.EnsureVisible(layer3D.Bounds);
                    if (layer3D != null)
                    {
                        m_layerOSGB = layer3D as Layer3DOSGBFile;
                    }
                    break;
                }

                case ".sct":
                {
                    TerrainLayer terrainlayer3D = this.m_sceneControl.Scene.TerrainLayers.Add(fileName, true);
                    this.m_sceneControl.Scene.Refresh();
                    this.m_sceneControl.Scene.EnsureVisible(terrainlayer3D.Bounds);

                    break;
                }
                }
            }
        }
コード例 #2
0
ファイル: DlgOSGBQuery.cs プロジェクト: suixiaofeng/LineGraph
        //将查询结果显示到场景中
        private Layer3D AddResultToScene(DatasetVector dataset, Color color)
        {
            Layer3Ds layer3Ds = m_sceneControl.Scene.Layers;

            //设置图层风格为依模型
            Layer3DSettingVector settingVector = new Layer3DSettingVector();
            GeoStyle3D           style3D       = new GeoStyle3D();

            style3D.AltitudeMode  = AltitudeMode.ClampToObject;
            style3D.FillForeColor = color;
            settingVector.Style   = style3D;

            //将数据添加到场景中
            Layer3DDataset layerDataset = layer3Ds.Add(dataset, settingVector, true);

            layerDataset.UpdateData();
            m_sceneControl.Scene.EnsureVisible(layerDataset);

            return(layerDataset);
        }
コード例 #3
0
ファイル: DlgOSGBQuery.cs プロジェクト: suixiaofeng/LineGraph
        //将原始面数据集加载到场景中
        private Layer3DDataset AddSrcRegionToScene(DatasetVector dataset)
        {
            Layer3Ds layer3Ds = m_sceneControl.Scene.Layers;

            //设置图层风格为依模型
            Layer3DSettingVector settingVector = new Layer3DSettingVector();
            GeoStyle3D           style3D       = new GeoStyle3D();

            style3D.AltitudeMode   = AltitudeMode.RelativeToGround;
            style3D.BottomAltitude = 1;
            style3D.FillForeColor  = Color.Blue;
            settingVector.Style    = style3D;

            //将数据添加到场景中
            Layer3DDataset layerDataset = layer3Ds.Add(dataset, settingVector, true, dataset.Name);

            layerDataset.UpdateData();
            m_sceneControl.Scene.EnsureVisible(layerDataset);

            m_sceneControl.Scene.Refresh();
            return(layerDataset);
        }
コード例 #4
0
        public void Layer3D_Click()
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Title  = "打开三维缓存文件";
            openFileDialog.Filter = "所有支持的三维缓存文件(*.sci, *.scv, *.scp,*.sci3d, *.sct, *.sit,*.gci,*.scm)|*.sci;*.scv;*.scp;*.sci3d;*.sct;*.sit;*.gci;*.scm";

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string   fileName  = openFileDialog.FileName;
                String   extention = System.IO.Path.GetExtension(fileName);
                Layer3D  layer3D   = null;
                Layer3Ds layer3ds  = this.m_SceneControl.Scene.Layers;

                switch (extention)
                {
                case ".sci":
                case ".sci3d":
                case ".sit":
                case ".gci":
                {
                    layer3D = layer3ds.Add(fileName, Layer3DType.ImageFile, true);
                    layer3D.UpdateData();
                    this.m_SceneControl.Scene.Refresh();
                    this.m_SceneControl.Scene.EnsureVisible(layer3D.Bounds);
                    break;
                }

                case ".scv":
                {
                    layer3D = layer3ds.Add(fileName, Layer3DType.VectorFile, true);
                    //layer3D.UpdateData();
                    this.m_SceneControl.Scene.Refresh();
                    this.m_SceneControl.Scene.EnsureVisible(layer3D.Bounds);

                    break;
                }

                case ".scp":
                {
                    layer3D = layer3ds.Add(fileName, Layer3DType.OSGB, true);

                    if (layer3D != null)
                    {
                        m_LayerOSGB = layer3D as Layer3DOSGBFile;
                        this.m_SceneControl.Scene.EnsureVisible(m_LayerOSGB.Bounds);
                        this.m_SceneControl.Scene.Refresh();
                    }

                    break;
                }

                case ".sct":
                {
                    TerrainLayer terrainlayer3D = this.m_SceneControl.Scene.TerrainLayers.Add(fileName, true);
                    this.m_SceneControl.Scene.Refresh();
                    this.m_SceneControl.Scene.EnsureVisible(terrainlayer3D.Bounds);

                    break;
                }
                }
            }
        }