1 using namespace System; 2 using namespace NETGeographicLib; 3 4 int main(array<System::String ^> ^/*args*/) 5 { 6 // This computes the same value as example-SphericalHarmonic.cpp using a 7 // CircularEngine (which will be faster if many values on a circle of 8 // latitude are to be found). 9 try { 10 int N = 3; // The maxium degree 11 array<double>^ ca = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; // cosine coefficients 12 array<double>^ sa = {6, 5, 4, 3, 2, 1}; // sine coefficients 13 double a = 1; 14 SphericalHarmonic^ h = gcnew SphericalHarmonic(ca, sa, N, a, SphericalHarmonic::Normalization::SCHMIDT); 15 double x = 2, y = 3, z = 1, p = Math::Sqrt(x*x+y*y); 16 CircularEngine^ circ = h->Circle(p, z, true); 17 double v, vx, vy, vz; 18 v = circ->LongitudeSum(x/p, y/p, vx, vy, vz); 19 Console::WriteLine(String::Format("{0} {1} {2} {3}", v, vx, vy, vz)); 20 } 21 catch (GeographicErr^ e) { 22 Console::WriteLine(String::Format("Caught exception: {0}", e->Message)); 23 return -1; 24 } 25 return 0; 26 } 27