/// <summary> /// Adds the feataure classes to be transformed, sets the benchmark attribute IDs, /// transforms the data into graphics, and fills the error boxes on the next panel. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonTransform_Click(object sender, EventArgs e) { try { IDatasetName controlName = (IDatasetName)comboBoxControlPts.SelectedItem; _transform.ClearData(); foreach (ListViewItem item in listViewData.Items) { if (!_nameComparer.Equal((IDatasetName)item.Tag, controlName)) { _transform.AddData((IFeatureClassName)item.Tag); } } _transform.SetTSBenchmark(1, comboBoxBM1Att.SelectedItem.ToString()); _transform.SetTSBenchmark(2, comboBoxBM2Att.SelectedItem.ToString()); _transform.SetTSBenchmark(3, comboBoxBM3Att.SelectedItem.ToString()); string rbName = FormUtilities.GetCheckedRadioButton(groupBoxBMs).Name; int defaultHinge = int.Parse(rbName.Substring(rbName.Length - 1)); rbName = FormUtilities.GetCheckedRadioButton(groupBoxRotation).Name; int defaultBearing = int.Parse(rbName.Substring(rbName.Length - 1)); rbName = string.Format("radioButton{0}{1}{2}", rbName.Contains("GPS") ? "GPS" : "Compass", defaultHinge, defaultBearing); IEnvelope extent = new EnvelopeClass(); foreach (ListViewItem item in listViewData.CheckedItems) { extent.Union(_transform.TransformFeatures2Graphics((IFeatureClassName)item.Tag, _graphicsColor)); } ArcMap.Document.ActiveView.Extent = extent; ArcMap.Document.FocusMap.MapScale = 10000; ArcMap.Document.ActiveView.Refresh(); ((RadioButton)panelOutput.Controls.Find(rbName, true)[0]).Checked = false; // to force things to update ((RadioButton)panelOutput.Controls.Find(rbName, true)[0]).Checked = true; string id; for (int hingeIndex = 1; hingeIndex <= 3; hingeIndex++) { for (int bearingIndex = 1; bearingIndex <= 3; bearingIndex++) { if (bearingIndex != hingeIndex) { for (int benchmarkIndex = 1; benchmarkIndex <= 3; benchmarkIndex++) { if (benchmarkIndex != hingeIndex) { id = hingeIndex.ToString() + bearingIndex.ToString() + benchmarkIndex.ToString(); SetError("HGPS" + id); SetError("ZGPS" + id); SetError("HCompass" + id); SetError("ZCompass" + id); } } } } } panelInput.Visible = false; panelOutput.Visible = true; } catch (Exception ex) { ShowError(ex.Message); } }