private double Angle_2_Radians(String inAngle, esriDirectionUnits inAngleUnits)
        {
            IAngularConverter pAng = new AngularConverter();

            if (pAng.SetString(inAngle, esriDirectionType.esriDTPolar, inAngleUnits))
            {
                double result = pAng.GetAngle(esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians);
                return(result);
            }
            else
            {
                return(-999);
            }
        }
        private double PolarRAD_2_SouthAzimuthRAD(double inBearing)
        {
            IAngularConverter pAng = new AngularConverter();

            if (pAng.SetAngle(inBearing, esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians))
            {
                double result = pAng.GetAngle(esriDirectionType.esriDTSouthAzimuth, esriDirectionUnits.esriDURadians);
                return(result);
            }
            else
            {
                return(-999);
            }
        }
        private string Radians_2_Angle(double inAngle, esriDirectionUnits outAngleUnits)
        {
            IAngularConverter pAng = new AngularConverter();

            if (pAng.SetAngle(inAngle, esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians))
            {
                string result = pAng.GetString(esriDirectionType.esriDTPolar, outAngleUnits, 7);
                return(result);
            }
            else
            {
                return(null);
            }
        }
        private double DirectionString_2_PolarRadians(String inDirection, esriDirectionType ConvertFromDirectionType,
                                                      esriDirectionUnits ConvertFromDirectionUnits)
        {
            IAngularConverter pAng = new AngularConverter();

            if (pAng.SetString(inDirection, ConvertFromDirectionType, ConvertFromDirectionUnits))
            {
                double result = pAng.GetAngle(esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians);
                return(result);
            }
            else
            {
                return(-999);
            }
        }
        private double DirectionString_2_NorthAzimuth(String inBearing, esriDirectionType ConvertFromDirectionType,
                                                      esriDirectionUnits ConvertFromDirectionUnits)
        {
            IAngularConverter pAng = new AngularConverter();

            if (pAng.SetString(inBearing, ConvertFromDirectionType, ConvertFromDirectionUnits))
            {
                double result = pAng.GetAngle(esriDirectionType.esriDTNorthAzimuth, esriDirectionUnits.esriDURadians);
                return(result);
            }
            else
            {
                return(-999);
            }
        }
        private string PolarRadians_2_DirectionString(double inDirection, esriDirectionType ConvertToDirectionType,
                                                      esriDirectionUnits ConvertToDirectionUnits)
        {
            IAngularConverter pAng = new AngularConverter();

            if (pAng.SetAngle(inDirection, esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians))
            {
                int    iPrec  = 7;
                string result = pAng.GetString(ConvertToDirectionType, ConvertToDirectionUnits, iPrec);
                return(result);
            }
            else
            {
                return(null);
            }
        }
        private string NorthAzRadians_2_DirectionString(double inDirection, esriDirectionType ConvertToDirectionType,
                                                        esriDirectionUnits ConvertToDirectionUnits)
        {
            IAngularConverter pAng = new AngularConverter();

            if (pAng.SetAngle(inDirection, esriDirectionType.esriDTNorthAzimuth, esriDirectionUnits.esriDURadians))
            {
                int    iPrec  = 7;
                string result = pAng.GetString(ConvertToDirectionType, ConvertToDirectionUnits, iPrec);
                Marshal.ReleaseComObject(pAng);
                return(result);
            }
            else
            {
                Marshal.ReleaseComObject(pAng);
                return(null);
            }
        }
 private string Radians_2_Angle(double inAngle, esriDirectionUnits outAngleUnits)
 {
     IAngularConverter pAng = new AngularConverter();
       if (pAng.SetAngle(inAngle, esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians))
       {
     string result = pAng.GetString(esriDirectionType.esriDTPolar, outAngleUnits, 7);
     return result;
       }
       else
     return null;
 }
 private double PolarRAD_2_SouthAzimuthRAD(double inBearing)
 {
     IAngularConverter pAng = new AngularConverter();
       if (pAng.SetAngle(inBearing, esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians))
       {
     double result = pAng.GetAngle(esriDirectionType.esriDTSouthAzimuth, esriDirectionUnits.esriDURadians);
     return result;
       }
       else
     return -999;
 }
   private string PolarRadians_2_DirectionString(double inDirection, esriDirectionType ConvertToDirectionType,
 esriDirectionUnits ConvertToDirectionUnits)
   {
       IAngularConverter pAng = new AngularConverter();
         if (pAng.SetAngle(inDirection, esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians))
         {
       int iPrec = 7;
       string result = pAng.GetString(ConvertToDirectionType, ConvertToDirectionUnits, iPrec);
       return result;
         }
         else
       return null;
   }
   private double DirectionString_2_PolarRadians(String inDirection, esriDirectionType ConvertFromDirectionType,
 esriDirectionUnits ConvertFromDirectionUnits)
   {
       IAngularConverter pAng = new AngularConverter();
         if (pAng.SetString(inDirection, ConvertFromDirectionType, ConvertFromDirectionUnits))
         {
       double result = pAng.GetAngle(esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians);
       return result;
         }
         else
       return -999;
   }
    private double DirectionString_2_NorthAzimuth(String inBearing, esriDirectionType ConvertFromDirectionType,
 esriDirectionUnits ConvertFromDirectionUnits)
    {
        IAngularConverter pAng = new AngularConverter();
          if (pAng.SetString(inBearing, ConvertFromDirectionType, ConvertFromDirectionUnits))
          {
        double result = pAng.GetAngle(esriDirectionType.esriDTNorthAzimuth, esriDirectionUnits.esriDURadians);
        return result;
          }
          else
        return -999;
    }
 private double Angle_2_Radians(String inAngle, esriDirectionUnits inAngleUnits)
 {
     IAngularConverter pAng = new AngularConverter();
       if (pAng.SetString(inAngle, esriDirectionType.esriDTPolar, inAngleUnits))
       {
     double result = pAng.GetAngle(esriDirectionType.esriDTPolar, esriDirectionUnits.esriDURadians);
     return result;
       }
       else
     return -999;
 }