20 const char BADALLOC[] = 
"Failed to allocate memory for a GeographicLib::Geodesic";
 
   25     if ( m_pGeodesic != 
NULL )
 
   39     catch ( std::bad_alloc err )
 
   56     catch ( std::bad_alloc )
 
   64                     [System::Runtime::InteropServices::Out] 
double% lat2,
 
   65                     [System::Runtime::InteropServices::Out] 
double% lon2,
 
   66                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
   67                     [System::Runtime::InteropServices::Out] 
double% m12,
 
   68                     [System::Runtime::InteropServices::Out] 
double% M12,
 
   69                     [System::Runtime::InteropServices::Out] 
double% M21,
 
   70                     [System::Runtime::InteropServices::Out] 
double% S12)
 
   72     double llat2, llon2, lazi2, lm12, lM12, lM21, lS12;
 
   74                     llat2, llon2, lazi2, lm12, lM12, lM21, lS12);
 
   87                     [System::Runtime::InteropServices::Out] 
double% lat2,
 
   88                     [System::Runtime::InteropServices::Out] 
double% lon2)
 
  100                     [System::Runtime::InteropServices::Out] 
double% lat2,
 
  101                     [System::Runtime::InteropServices::Out] 
double% lon2,
 
  102                     [System::Runtime::InteropServices::Out] 
double% azi2)
 
  104     double llat2, llon2, lazi2;
 
  106                     llat2, llon2, lazi2 );
 
  115                     [System::Runtime::InteropServices::Out] 
double% lat2,
 
  116                     [System::Runtime::InteropServices::Out] 
double% lon2,
 
  117                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
  118                     [System::Runtime::InteropServices::Out] 
double% m12)
 
  120     double llat2, llon2, lazi2, lm12;
 
  122                     llat2, llon2, lazi2, lm12 );
 
  132                     [System::Runtime::InteropServices::Out] 
double% lat2,
 
  133                     [System::Runtime::InteropServices::Out] 
double% lon2,
 
  134                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
  135                     [System::Runtime::InteropServices::Out] 
double% M12,
 
  136                     [System::Runtime::InteropServices::Out] 
double% M21)
 
  138     double llat2, llon2, lazi2, lM12, lM21;
 
  140                     llat2, llon2, lazi2, lM12, lM21);
 
  151                     [System::Runtime::InteropServices::Out] 
double% lat2,
 
  152                     [System::Runtime::InteropServices::Out] 
double% lon2,
 
  153                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
  154                     [System::Runtime::InteropServices::Out] 
double% m12,
 
  155                     [System::Runtime::InteropServices::Out] 
double% M12,
 
  156                     [System::Runtime::InteropServices::Out] 
double% M21)
 
  158     double llat2, llon2, lazi2, lm12, lM12, lM21;
 
  160                     llat2, llon2, lazi2, lm12, lM12, lM21 );
 
  172                 [System::Runtime::InteropServices::Out] 
double% lat2,
 
  173                 [System::Runtime::InteropServices::Out] 
double% lon2,
 
  174                 [System::Runtime::InteropServices::Out] 
double% azi2,
 
  175                 [System::Runtime::InteropServices::Out] 
double% s12,
 
  176                 [System::Runtime::InteropServices::Out] 
double% m12,
 
  177                 [System::Runtime::InteropServices::Out] 
double% M12,
 
  178                 [System::Runtime::InteropServices::Out] 
double% M21,
 
  179                 [System::Runtime::InteropServices::Out] 
double% S12)
 
  181     double llat2, llon2, lazi2, ls12, lm12, lM12, lM21, lS12;
 
  183             llat2, llon2, lazi2, ls12, lm12, lM12, lM21, lS12);
 
  196                 [System::Runtime::InteropServices::Out] 
double% lat2,
 
  197                 [System::Runtime::InteropServices::Out] 
double% lon2)
 
  207                    [System::Runtime::InteropServices::Out] 
double% lat2,
 
  208                    [System::Runtime::InteropServices::Out] 
double% lon2,
 
  209                    [System::Runtime::InteropServices::Out] 
double% azi2)
 
  211     double llat2, llon2, lazi2;
 
  220                 [System::Runtime::InteropServices::Out] 
double% lat2,
 
  221                 [System::Runtime::InteropServices::Out] 
double% lon2,
 
  222                 [System::Runtime::InteropServices::Out] 
double% azi2,
 
  223                 [System::Runtime::InteropServices::Out] 
double% s12)
 
  225     double llat2, llon2, lazi2, ls12;
 
  227             llat2, llon2, lazi2, ls12 );
 
  236                 [System::Runtime::InteropServices::Out] 
double% lat2,
 
  237                 [System::Runtime::InteropServices::Out] 
double% lon2,
 
  238                 [System::Runtime::InteropServices::Out] 
double% azi2,
 
  239                 [System::Runtime::InteropServices::Out] 
double% s12,
 
  240                 [System::Runtime::InteropServices::Out] 
double% m12)
 
  242     double llat2, llon2, lazi2, ls12, lm12;
 
  244             llat2, llon2, lazi2, ls12, lm12 );
 
  254                 [System::Runtime::InteropServices::Out] 
double% lat2,
 
  255                 [System::Runtime::InteropServices::Out] 
double% lon2,
 
  256                 [System::Runtime::InteropServices::Out] 
double% azi2,
 
  257                 [System::Runtime::InteropServices::Out] 
double% s12,
 
  258                 [System::Runtime::InteropServices::Out] 
double% M12,
 
  259                 [System::Runtime::InteropServices::Out] 
double% M21)
 
  261     double llat2, llon2, lazi2, ls12, lM12, lM21;
 
  263             llat2, llon2, lazi2, ls12, lM12, lM21 );
 
  274                 [System::Runtime::InteropServices::Out] 
double% lat2,
 
  275                 [System::Runtime::InteropServices::Out] 
double% lon2,
 
  276                 [System::Runtime::InteropServices::Out] 
double% azi2,
 
  277                 [System::Runtime::InteropServices::Out] 
double% s12,
 
  278                 [System::Runtime::InteropServices::Out] 
double% m12,
 
  279                 [System::Runtime::InteropServices::Out] 
double% M12,
 
  280                 [System::Runtime::InteropServices::Out] 
double% M21)
 
  282     double llat2, llon2, lazi2, ls12, lm12, lM12, lM21;
 
  284             llat2, llon2, lazi2, ls12, lm12, lM12, lM21);
 
  296                         bool arcmode, 
double s12_a12,
 
  298                         [System::Runtime::InteropServices::Out] 
double% lat2,
 
  299                         [System::Runtime::InteropServices::Out] 
double% lon2,
 
  300                         [System::Runtime::InteropServices::Out] 
double% azi2,
 
  301                         [System::Runtime::InteropServices::Out] 
double% s12,
 
  302                         [System::Runtime::InteropServices::Out] 
double% m12,
 
  303                         [System::Runtime::InteropServices::Out] 
double% M12,
 
  304                         [System::Runtime::InteropServices::Out] 
double% M21,
 
  305                         [System::Runtime::InteropServices::Out] 
double% S12)
 
  307     double llat2, llon2, lazi2, lm12, lM12, lM21, ls12, lS12;
 
  309                     static_cast<unsigned>(outmask),
 
  310                     llat2, llon2, lazi2, ls12, lm12, lM12, lM21, lS12);
 
  324                     [System::Runtime::InteropServices::Out] 
double% s12,
 
  325                     [System::Runtime::InteropServices::Out] 
double% azi1,
 
  326                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
  327                     [System::Runtime::InteropServices::Out] 
double% m12,
 
  328                     [System::Runtime::InteropServices::Out] 
double% M12,
 
  329                     [System::Runtime::InteropServices::Out] 
double% M21,
 
  330                     [System::Runtime::InteropServices::Out] 
double% S12)
 
  332     double ls12, lazi1, lazi2, lm12, lM12, lM21, lS12;
 
  334                     ls12, lazi1, lazi2, lm12, lM12, lM21, lS12);
 
  347                     [System::Runtime::InteropServices::Out] 
double% s12)
 
  357                     [System::Runtime::InteropServices::Out] 
double% azi1,
 
  358                     [System::Runtime::InteropServices::Out] 
double% azi2)
 
  369                     [System::Runtime::InteropServices::Out] 
double% s12,
 
  370                     [System::Runtime::InteropServices::Out] 
double% azi1,
 
  371                     [System::Runtime::InteropServices::Out] 
double% azi2)
 
  373     double ls12, lazi1, lazi2;
 
  375                     ls12, lazi1, lazi2 );
 
  384                     [System::Runtime::InteropServices::Out] 
double% s12,
 
  385                     [System::Runtime::InteropServices::Out] 
double% azi1,
 
  386                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
  387                     [System::Runtime::InteropServices::Out] 
double% m12)
 
  389     double ls12, lazi1, lazi2, lm12;
 
  391                 ls12, lazi1, lazi2, lm12 );
 
  401                     [System::Runtime::InteropServices::Out] 
double% s12,
 
  402                     [System::Runtime::InteropServices::Out] 
double% azi1,
 
  403                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
  404                     [System::Runtime::InteropServices::Out] 
double% M12,
 
  405                     [System::Runtime::InteropServices::Out] 
double% M21)
 
  407     double ls12, lazi1, lazi2, lM12, lM21;
 
  409                     ls12, lazi1, lazi2, lM12, lM21 );
 
  420                     [System::Runtime::InteropServices::Out] 
double% s12,
 
  421                     [System::Runtime::InteropServices::Out] 
double% azi1,
 
  422                     [System::Runtime::InteropServices::Out] 
double% azi2,
 
  423                     [System::Runtime::InteropServices::Out] 
double% m12,
 
  424                     [System::Runtime::InteropServices::Out] 
double% M12,
 
  425                     [System::Runtime::InteropServices::Out] 
double% M21)
 
  427     double ls12, lazi1, lazi2, lm12, lM12, lM21;
 
  429                     ls12, lazi1, lazi2, lm12, lM12, lM21 );
 
  442                         [System::Runtime::InteropServices::Out] 
double% s12,
 
  443                         [System::Runtime::InteropServices::Out] 
double% azi1,
 
  444                         [System::Runtime::InteropServices::Out] 
double% azi2,
 
  445                         [System::Runtime::InteropServices::Out] 
double% m12,
 
  446                         [System::Runtime::InteropServices::Out] 
double% M12,
 
  447                         [System::Runtime::InteropServices::Out] 
double% M21,
 
  448                         [System::Runtime::InteropServices::Out] 
double% S12)
 
  450     double ls12, lazi1, lazi2, lm12, lM12, lM21, lS12;
 
  452                     static_cast<unsigned>(outmask),
 
  453                     ls12, lazi1, lazi2, lm12, lM12, lM21, lS12);
 
  474     return gcnew GeodesicLine( 
this, lat1, lon1, azi1, caps );
 
  482         lon2, 
static_cast<unsigned int>(caps)));
 
  490         s12, 
static_cast<unsigned int>(caps)));
 
  498         a12, 
static_cast<unsigned int>(caps)));
 
  506         arcmode, s12_a12, 
static_cast<unsigned int>(caps)));