// Example of using the GeographicLib::CircularEngine class#include <iostream>#include <exception>#include <vector>#include <GeographicLib/CircularEngine.hpp>#include <GeographicLib/SphericalHarmonic.hpp>usingnamespacestd;usingnamespaceGeographicLib;intmain(){// This computes the same value as example-SphericalHarmonic.cpp using a// CircularEngine (which will be faster if many values on a circle of// latitude are to be found).try{intN=3;// The maxium degreedoubleca[]={10,9,8,7,6,5,4,3,2,1};// cosine coefficientsvector<double>C(ca,ca+(N+1)*(N+2)/2);doublesa[]={6,5,4,3,2,1};// sine coefficientsvector<double>S(sa,sa+N*(N+1)/2);doublea=1;SphericalHarmonich(C,S,N,a);doublex=2,y=3,z=1,p=Math::hypot(x,y);CircularEnginecirc=h.Circle(p,z,true);doublev,vx,vy,vz;v=circ(x/p,y/p,vx,vy,vz);cout<<v<<" "<<vx<<" "<<vy<<" "<<vz<<"\n";}catch(constexception&e){cerr<<"Caught exception: "<<e.what()<<"\n";return1;}}