1 using namespace System; 2 using namespace NETGeographicLib; 3 4 int main(array<System::String ^> ^/*args*/) 5 { 6 try { 7 MagneticModel^ mag = gcnew MagneticModel("wmm2010",""); 8 double lat = 27.99, lon0 = 86.93, h = 8820, t = 2012; // Mt Everest 9 { 10 // Slow method of evaluating the values at several points on a circle of 11 // latitude. 12 for (int i = -5; i <= 5; ++i) { 13 double lon = lon0 + i * 0.2; 14 double Bx, By, Bz; 15 mag->Field(t, lat, lon, h, Bx, By, Bz); 16 Console::WriteLine(String::Format("{0} {1} {2} {3}", lon, Bx, By, Bz)); 17 } 18 } 19 { 20 // Fast method of evaluating the values at several points on a circle of 21 // latitude using MagneticCircle. 22 MagneticCircle^ circ = mag->Circle(t, lat, h); 23 for (int i = -5; i <= 5; ++i) { 24 double lon = lon0 + i * 0.2; 25 double Bx, By, Bz; 26 circ->Field(lon, Bx, By, Bz); 27 Console::WriteLine(String::Format("{0} {1} {2} {3}", lon, Bx, By, Bz)); 28 } 29 } 30 } 31 catch (GeographicErr^ e) { 32 Console::WriteLine(String::Format("Caught exception: {0}", e->Message)); 33 return -1; 34 } 35 return 0; 36 } 37