Exemplo n.º 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;
                }
                }
            }
        }
Exemplo n.º 2
0
        private void Scene_Opened(object sender, EventArgs e)
        {
            Layer3Ds layers = this.m_SceneControl.Scene.Layers;

            for (int i = 0; i < layers.Count; i++)
            {
                Layer3D layer = layers[i];
                if (layer.Type == Layer3DType.OSGB)
                {
                    m_LayerOSGB = layer as Layer3DOSGBFile;
                }
            }
        }
Exemplo n.º 3
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;
                }
                }
            }
        }