Beispiel #1
0
        private void rotationChanged()
        {
            GSOGeoEntity geoEntity = m_feature.Geometry as GSOGeoEntity;

            if (geoEntity != null)
            {
                try
                {
                    geoEntity.RotateX = Convert.ToDouble(numUpDownRotX.Value);
                    geoEntity.RotateY = Convert.ToDouble(numUpDownRotY.Value);
                    geoEntity.RotateZ = Convert.ToDouble(numUpDownRotZ.Value);

                    m_feature.Geometry.SetModified(true);

                    if (m_GlobeControl != null)
                    {
                        m_GlobeControl.Refresh();
                    }
                }
                catch (System.Exception exp)
                {
                    Log.PublishTxt(exp);
                }
            }
        }
Beispiel #2
0
        private void comboBoxAlign_SelectedIndexChanged(object sender, EventArgs e)
        {
            GSOGeoEntity geoEntity = m_feature.Geometry as GSOGeoEntity;

            if (geoEntity != null)
            {
                switch (comboBoxAlign.SelectedIndex)
                {
                case 0:
                    geoEntity.Align = EnumEntityAlign.BottomCenter;
                    break;

                case 1:
                    geoEntity.Align = EnumEntityAlign.MiddleCenter;
                    break;

                case 2:
                    geoEntity.Align = EnumEntityAlign.TopCenter;
                    break;
                }
                if (m_GlobeControl != null)
                {
                    m_GlobeControl.Refresh();
                }
            }
        }
Beispiel #3
0
        private void comboBoxAltMode_SelectedIndexChanged(object sender, EventArgs e)
        {
            GSOGeoEntity geoEntity = m_feature.Geometry as GSOGeoEntity;

            if (geoEntity != null)
            {
                switch (comboBoxAltMode.SelectedIndex)
                {
                case 0:
                    geoEntity.AltitudeMode = EnumAltitudeMode.Absolute;
                    textBoxAlt.Enabled     = true;
                    break;

                case 1:
                    geoEntity.AltitudeMode = EnumAltitudeMode.ClampToGround;
                    textBoxAlt.Enabled     = false;
                    break;

                case 2:
                    geoEntity.AltitudeMode = EnumAltitudeMode.RelativeToGround;
                    textBoxAlt.Enabled     = true;
                    break;
                }
                if (m_GlobeControl != null)
                {
                    m_GlobeControl.Refresh();
                }
            }
        }
Beispiel #4
0
        private void positionChanged()
        {
            GSOGeoEntity geoEntity = m_feature.Geometry as GSOGeoEntity;

            if (geoEntity != null)
            {
                try
                {
                    geoEntity.PositionX = Convert.ToDouble(textBoxLon.Text);
                    geoEntity.PositionY = Convert.ToDouble(textBoxLat.Text);
                    geoEntity.PositionZ = Convert.ToDouble(textBoxAlt.Text);
                    if (m_GlobeControl != null)
                    {
                        m_GlobeControl.Refresh();
                    }
                }
                catch (System.Exception exp)
                {
                    Log.PublishTxt(exp);
                }
            }
        }
Beispiel #5
0
        public void UpdateControls()
        {
            GSOGeoEntity geoEntity = m_feature.Geometry as GSOGeoEntity;

            if (geoEntity != null)
            {
                textBoxLat.Text = geoEntity.Position.Y.ToString();
                textBoxLon.Text = geoEntity.Position.X.ToString();
                textBoxAlt.Text = geoEntity.Position.Z.ToString();

                //textBoxRotX.Text = geoEntity.RotateX.ToString();
                //textBoxRotY.Text = geoEntity.RotateY.ToString();
                //textBoxRotZ.Text = geoEntity.RotateZ.ToString();
                double rotateX = geoEntity.RotateX;
                double rotateY = geoEntity.RotateY;
                double rotateZ = geoEntity.RotateZ;
                numUpDownRotX.Value = Convert.ToDecimal(rotateX);
                numUpDownRotY.Value = Convert.ToDecimal(rotateY);
                numUpDownRotZ.Value = Convert.ToDecimal(rotateZ);

                //textBoxScaleX.Text = geoEntity.ScaleX.ToString();
                //textBoxScaleY.Text = geoEntity.ScaleY.ToString();
                //textBoxScaleZ.Text = geoEntity.ScaleZ.ToString();

                double x = geoEntity.ScaleX;
                double y = geoEntity.ScaleY;
                double z = geoEntity.ScaleZ;
                numUpDownScaleX.Value = Convert.ToDecimal(x);
                numUpDownScaleY.Value = Convert.ToDecimal(y);
                numUpDownScaleZ.Value = Convert.ToDecimal(z);

                // 高度
                switch (geoEntity.AltitudeMode)
                {
                case EnumAltitudeMode.Absolute:
                    comboBoxAltMode.SelectedIndex = 0;
                    break;

                case EnumAltitudeMode.ClampToGround:
                    comboBoxAltMode.SelectedIndex = 1;
                    textBoxAlt.Enabled            = false;
                    break;

                case EnumAltitudeMode.RelativeToGround:
                    comboBoxAltMode.SelectedIndex = 2;
                    break;
                }

                switch (geoEntity.Align)
                {
                case EnumEntityAlign.BottomCenter:
                    comboBoxAlign.SelectedIndex = 0;
                    break;

                case EnumEntityAlign.MiddleCenter:
                    comboBoxAlign.SelectedIndex = 1;
                    break;

                case EnumEntityAlign.TopCenter:
                    comboBoxAlign.SelectedIndex = 2;
                    break;
                }
            }
        }
Beispiel #6
0
 private void AddNewEntity(GSOGeoEntity geoEntity, string strName)
 {
     GSOFeature newFeature = new GSOFeature();
     GSOPoint3d pt = new GSOPoint3d();
     pt.X = globeControl1.Globe.CameraState.Longitude;
     pt.Y = globeControl1.Globe.CameraState.Latitude;
     pt.Z = 0;
     geoEntity.Position = pt;
     newFeature.Geometry = geoEntity;
     newFeature.Name = strName;
     ShowAddFeatureDlg(newFeature);
 }