/** * \file NETGeographicLib/GARS.cpp * \brief Source for NETGeographicLib::GARS class * * NETGeographicLib is copyright (c) Scott Heiman (2013-2015) * GeographicLib is Copyright (c) Charles Karney (2010-2012) * and licensed under the MIT/X11 License. * For more information, see * https://geographiclib.sourceforge.io/ **********************************************************************/ #include "stdafx.h" #include "GeographicLib/GARS.hpp" #include "GARS.h" #include "NETGeographicLib.h" using namespace NETGeographicLib; //***************************************************************************** void GARS::Forward(double lat, double lon, int prec, System::String^% gars) { try { std::string l; GeographicLib::GARS::Forward( lat, lon, prec, l ); gars = gcnew System::String( l.c_str() ); } catch ( const std::exception& xcpt ) { throw gcnew GeographicErr( xcpt.what() ); } } //***************************************************************************** void GARS::Reverse( System::String^ gars, double% lat, double% lon, int% prec, bool centerp) { try { double llat, llon; int lprec; GeographicLib::GARS::Reverse( StringConvert::ManagedToUnmanaged( gars ), llat, llon, lprec, centerp ); lat = llat; lon = llon; prec = lprec; } catch ( const std::exception& err ) { throw gcnew GeographicErr( err.what() ); } } //***************************************************************************** double GARS::Resolution(int prec) { return GeographicLib::GARS::Resolution(prec); } //***************************************************************************** int GARS::Precision(double res) { return GeographicLib::GARS::Precision(res); }