/// <summary>
 /// Enables and disables the bearing radio buttons based on which hinge point is selected.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void radioButtonBM_CheckedChanged(object sender, EventArgs e)
 {
     try
     {
         radioButtonBearingGPS1.Enabled = !radioButtonBM1.Checked;
         radioButtonBearingGPS2.Enabled = !radioButtonBM2.Checked;
         radioButtonBearingGPS3.Enabled = !radioButtonBM3.Checked;
         if (radioButtonBM1.Checked)
         {
             radioButtonBearingCompass1.Enabled = false;
             radioButtonBearingCompass2.Enabled = _transform.HasCompassBearing("12");
             radioButtonBearingCompass3.Enabled = _transform.HasCompassBearing("13");
         }
         if (radioButtonBM2.Checked)
         {
             radioButtonBearingCompass1.Enabled = _transform.HasCompassBearing("21");
             radioButtonBearingCompass2.Enabled = false;
             radioButtonBearingCompass3.Enabled = _transform.HasCompassBearing("23");
         }
         if (radioButtonBM3.Checked)
         {
             radioButtonBearingCompass1.Enabled = _transform.HasCompassBearing("31");
             radioButtonBearingCompass2.Enabled = _transform.HasCompassBearing("32");
             radioButtonBearingCompass3.Enabled = false;
         }
         groupBoxRotation.Enabled = true;
         _hingeOK = true;
         RadioButton rb = FormUtilities.GetCheckedRadioButton(groupBoxRotation);
         _bearingOK = rb != null && rb.Enabled;
         EnableTransform();
     }
     catch (Exception ex)
     {
         ShowError(ex.Message);
     }
 }