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); } } }
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(); } } }
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(); } } }
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); } } }
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; } } }
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); }