Esempio n. 1
0
        public CtrlLineStylePage(GSOGeometry geometry, GSOGlobeControl globeControl)
        {
            InitializeComponent();

            m_GlobeControl = globeControl;
            m_Geometry = geometry;
        }
Esempio n. 2
0
        public CtrlParticleParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
        {
            InitializeComponent();

            mGlobeControl = globeControl;
            mGeometry     = geometry;
        }
Esempio n. 3
0
        private void MoveEachFeature(GSOFeatureFolder folder, double daltX, double daltY)
        {
            GSOFeatures features = folder.Features;

            for (int i = 0; i < features.Length; i++)
            {
                GSOFeature feature = features[i];
                if (feature is GSOFeatureFolder)
                {
                    MoveEachFeature(feature as GSOFeatureFolder, daltX, daltY);
                }
                else
                {
                    GSOGeometry g = feature.Geometry;
                    if (g != null)
                    {
                        g.MoveXY(daltX, daltY);
                    }

                    //GSOGeoModel model = feature.Geometry as GSOGeoModel;
                    //if (model!=null)
                    //{
                    //    GSOPoint3d pt = model.Position;
                    //    pt.X += daltX;
                    //    pt.Y += daltY;

                    //    model.Position = pt;
                    //}
                }
            }
        }
Esempio n. 4
0
        public CtrlParticleParamPage(GSOGeometry geometry,GSOGlobeControl globeControl)
        {
            InitializeComponent();

            mGlobeControl = globeControl;
            mGeometry = geometry;
        }
Esempio n. 5
0
 public CtrlPolygonStylePage(GSOFeature feature, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = feature.Geometry;
     mfeature       = feature;
 }
Esempio n. 6
0
 public CtrlPolygonStylePage(GSOFeature feature, GSOGlobeControl globeControl)
 {
     InitializeComponent();
      m_GlobeControl = globeControl;
      m_Geometry = feature.Geometry;
     mfeature = feature;
 }
Esempio n. 7
0
        public CtrlLineStylePage(GSOGeometry geometry, GSOGlobeControl globeControl)
        {
            InitializeComponent();

            m_GlobeControl = globeControl;
            m_Geometry     = geometry;
        }
Esempio n. 8
0
        /// <summary>
        /// 递归升高/降低给定高度值
        /// </summary>
        /// <param name="folder">要素集</param>
        /// <param name="height">高度/米</param>
        private void MoveEachFeature(GSOFeatureFolder folder, double height)
        {
            GSOFeatures features = folder.Features;

            for (int i = 0; i < features.Length; i++)
            {
                GSOFeature feature = features[i];
                if (feature is GSOFeatureFolder)
                {
                    MoveEachFeature(feature as GSOFeatureFolder, height);
                }
                else
                {
                    GSOGeometry geometry = feature.Geometry;
                    if (geometry != null)
                    {
                        //为了显示升降效果,需要将ClampToGround模式修改为RelativeToGround模式
                        if (geometry.AltitudeMode == EnumAltitudeMode.ClampToGround)
                        {
                            geometry.AltitudeMode = EnumAltitudeMode.RelativeToGround;
                        }
                        //将z轴移动height米
                        geometry.MoveZ(height);
                    }
                }
            }
        }
Esempio n. 9
0
        public CtrlPolylineSpaceInfo(GSOGeometry geometry,GSOFeature feature,GSOLayer layer,GSOGlobeControl globeControl)
        {
            InitializeComponent();
            m_GlobeControl = globeControl;
            m_Geometry = geometry;

            mlayer = layer;
            mfeature = feature;
        }
Esempio n. 10
0
        private void AddNewGeoToLayer(GSOGeometry geoEntity, string strName)
        {
            GSOFeature newFeature = new GSOFeature();

            newFeature.Geometry = geoEntity;
            newFeature.Name     = strName;
            _glbControl.Globe.MemoryLayer.AddFeature(newFeature);
            flyToFeature(newFeature);
        }
        public CtrlPolylineSpaceInfo(GSOGeometry geometry, GSOFeature feature, GSOLayer layer, GSOGlobeControl globeControl)
        {
            InitializeComponent();
            m_GlobeControl = globeControl;
            m_Geometry     = geometry;

            mlayer   = layer;
            mfeature = feature;
        }
Esempio n. 12
0
        public CtrlLineStylePage(GSOGeometry geometry,GSOFeature feature,GSOLayer layer, GSOGlobeControl globeControl)
        {
            InitializeComponent();

            m_GlobeControl = globeControl;
            m_Geometry = geometry;
            mlayer = layer;
            mfeature = feature;

            if (m_Geometry != null && m_Geometry.Style != null)
            {
                m_Style = (GSOLineStyle3D)m_Geometry.Style;

                m_OldStyle = (GSOLineStyle3D)m_Geometry.Style.Clone();
            }
        }
Esempio n. 13
0
        public CtrlLineStylePage(GSOGeometry geometry, GSOFeature feature, GSOLayer layer, GSOGlobeControl globeControl)
        {
            InitializeComponent();

            m_GlobeControl = globeControl;
            m_Geometry     = geometry;
            mlayer         = layer;
            mfeature       = feature;

            if (m_Geometry != null && m_Geometry.Style != null)
            {
                m_Style = (GSOLineStyle3D)m_Geometry.Style;

                m_OldStyle = (GSOLineStyle3D)m_Geometry.Style.Clone();
            }
        }
Esempio n. 14
0
        private void btn_OK_Click(object sender, System.EventArgs e)
        {
            if (string.IsNullOrEmpty(this.textBox1.Text))
            {
                errorProvider1.SetError(this.textBox1, "请输入升降高度");
                return;
            }
            if (!double.TryParse(this.textBox1.Text, out double height))
            {
                errorProvider1.SetError(this.textBox1, "输入高度不合法,请重新输入数字。");
                return;
            }
            GSOFeatureLayer flayer = _layer as GSOFeatureLayer;
            //获得图层中的所有要素
            GSOFeatures features = flayer.GetAllFeatures();

            for (int i = 0; i < features.Length; i++)
            {
                //遍历所有要素
                GSOFeature feature = features[i];
                if (feature is GSOFeatureFolder)
                {
                    MoveEachFeature(feature as GSOFeatureFolder, height);
                }
                else
                {
                    GSOGeometry geometry = feature.Geometry;
                    if (geometry != null)
                    {
                        //为了显示升降效果,
                        //需要将ClampToGround模式修改为RelativeToGround模式
                        if (geometry.AltitudeMode == EnumAltitudeMode.ClampToGround)
                        {
                            geometry.AltitudeMode = EnumAltitudeMode.RelativeToGround;
                        }
                        //将z轴移动height米
                        geometry.MoveZ(height);
                    }
                }
            }
            _glbControl.Refresh();
        }
Esempio n. 15
0
 public CtrlMarkerTextPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry = geometry;
 }
 public CtrlPoint3DSpaceInfo(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = geometry;
 }
Esempio n. 17
0
        private void btnMove_Click(object sender, EventArgs e)
        {
            GSOLayer layer = ctl.Globe.Layers[cmbLayers.SelectedIndex];

            if (layer != null)
            {
                if (layer.Type != EnumLayerType.FeatureLayer)
                {
                    MessageBox.Show("当前选中的图层不是模型图层!", "提示");
                    return;
                }
                if (txtOldLat.Text == "")
                {
                    MessageBox.Show("请选择起点");
                }
                else if (txtNewLat.Text == "")
                {
                    MessageBox.Show("请选择目标点");
                }
                else
                {
                    double daltX = Convert.ToDouble(txtNewLon.Text) - Convert.ToDouble(txtOldLon.Text);
                    double daltY = Convert.ToDouble(txtNewLat.Text) - Convert.ToDouble(txtOldLat.Text);


                    GSOFeatureLayer flayer = layer as GSOFeatureLayer;

                    GSOFeatures features = flayer.GetAllFeatures();
                    for (int i = 0; i < features.Length; i++)
                    {
                        GSOFeature feature = features[i];
                        if (feature is GSOFeatureFolder)
                        {
                            MoveEachFeature(feature as GSOFeatureFolder, daltX, daltY);
                        }
                        else
                        {
                            GSOGeometry g = feature.Geometry;
                            if (g != null)
                            {
                                g.MoveXY(daltX, daltY);
                            }



                            //    switch (feature.Geometry.Type)
                            //    {
                            //        case EnumGeometryType.GeoPolyline3D:
                            //            GSOGeoPolyline3D line = feature.Geometry as GSOGeoPolyline3D;
                            //            for (int m = 0; m < line.PartCount; m++)
                            //            {
                            //                for (int j = 0; j < line[m].Count; j++)
                            //                {
                            //                    GSOPoint3d line0 = line[m][j];
                            //                    line0.X += daltX;
                            //                    line0.Y += daltY;
                            //                    line[m][j] = line0;
                            //                }
                            //            }
                            //            break;
                            //        case EnumGeometryType.GeoPolygon3D:
                            //            GSOGeoPolygon3D polygon = feature.Geometry as GSOGeoPolygon3D;
                            //            if (polygon != null)
                            //            {
                            //                polygon.MoveXY(daltX, daltY);
                            //            }
                            //            break;
                            //        case EnumGeometryType.GeoModel:
                            //            GSOGeoModel model = feature.Geometry as GSOGeoModel;
                            //            if (model != null)
                            //            {
                            //                GSOPoint3d pt = model.Position;
                            //                pt.X += daltX;
                            //                pt.Y += daltY;
                            //                model.Position = pt;
                            //            }
                            //            break;
                            //        case EnumGeometryType.GeoFrameAnimation:
                            //            GSOGeoFrameAnimation frameAnimation = feature.Geometry as GSOGeoFrameAnimation;
                            //            if (frameAnimation != null)
                            //            {
                            //                GSOPoint3d pt = frameAnimation.Position;
                            //                pt.X += daltX;
                            //                pt.Y += daltY;
                            //                frameAnimation.Position = pt;
                            //            }
                            //            break;
                            //        default:
                            //            GSOGeometry g = feature.Geometry;
                            //            if (g != null)
                            //            {
                            //                g.MoveXY(daltX, daltY);
                            //            }
                            //            break;
                            //    }
                        }
                    }
                    if (startFeat != null)
                    {
                        startFeat.Delete();
                    }
                    if (endFeat != null)
                    {
                        endFeat.Delete();
                    }
                    ctl.Refresh();
                    //this.Close();
                }
            }
            else
            {
                MessageBox.Show("请选择图层");
            }
        }
 public CtrlSphereEntityParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry = geometry;
 }
 public CtrlFountainParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = geometry;
 }
 public CtrlEllipCylinderEntityParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry = geometry;
 }
Esempio n. 21
0
 public FrmWaterParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry = geometry;
 }
 public CtrlRangeEllipFrustumEntityParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry = geometry;
 }
 public CtrlSphereEntityParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = geometry;
 }
 public CtrlEllipCylinderEntityParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = geometry;
 }
Esempio n. 25
0
 public CtrlPoint3DSpaceInfo(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry = geometry;
 }
 public CtrlRangeEllipFrustumEntityParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = geometry;
 }
Esempio n. 27
0
 public CtrlMarkerTextPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = geometry;
 }
Esempio n. 28
0
 public CtrlFountainParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry = geometry;
 }
 public FrmWaterParamPage(GSOGeometry geometry, GSOGlobeControl globeControl)
 {
     InitializeComponent();
     m_GlobeControl = globeControl;
     m_Geometry     = geometry;
 }