Go to the documentation of this file.
   16 #if !defined(GEOGRAPHICLIB_DATA) 
   18 #    define GEOGRAPHICLIB_DATA "C:/ProgramData/GeographicLib" 
   20 #    define GEOGRAPHICLIB_DATA "/usr/local/share/GeographicLib" 
   24 #if !defined(GEOGRAPHICLIB_MAGNETIC_DEFAULT_NAME) 
   25 #  define GEOGRAPHICLIB_MAGNETIC_DEFAULT_NAME "wmm2015" 
   30 #  pragma warning (disable: 4996) 
   41     , _description(
"NONE")
 
   62       ifstream coeffstr(coeff.c_str(), ios::binary);
 
   70       if (
_id != 
string(
id))
 
   75         if (!(
M < 0 || 
_G[
i][0] == 0))
 
   79       int pos = 
int(coeffstr.tellg());
 
   81       if (
pos != coeffstr.tellg())
 
   87     const char* spaces = 
" \t\n\v\f\r";
 
   93     getline(metastr, line);
 
   94     if (!(line.size() >= 6 && line.substr(0,5) == 
"WMMF-"))
 
   96     string::size_type 
n = line.find_first_of(spaces, 5);
 
   97     if (
n != string::npos)
 
  103     while (getline(metastr, line)) {
 
  109       else if (
key == 
"Description")
 
  111       else if (
key == 
"ReleaseDate")
 
  113       else if (
key == 
"Radius")
 
  114         _a = Utility::val<real>(val);
 
  115       else if (
key == 
"Type") {
 
  116         if (!(val == 
"Linear" || val == 
"linear"))
 
  118       } 
else if (
key == 
"Epoch")
 
  119         _t0 = Utility::val<real>(val);
 
  120       else if (
key == 
"DeltaEpoch")
 
  121         _dt0 = Utility::val<real>(val);
 
  122       else if (
key == 
"NumModels")
 
  124       else if (
key == 
"NumConstants")
 
  126       else if (
key == 
"MinTime")
 
  127         _tmin = Utility::val<real>(val);
 
  128       else if (
key == 
"MaxTime")
 
  129         _tmax = Utility::val<real>(val);
 
  130       else if (
key == 
"MinHeight")
 
  131         _hmin = Utility::val<real>(val);
 
  132       else if (
key == 
"MaxHeight")
 
  133         _hmax = Utility::val<real>(val);
 
  134       else if (
key == 
"Normalization") {
 
  135         if (val == 
"FULL" || val == 
"Full" || val == 
"full")
 
  137         else if (val == 
"SCHMIDT" || val == 
"Schmidt" || val == 
"schmidt")
 
  141       } 
else if (
key == 
"ByteOrder") {
 
  142         if (val == 
"Big" || val == 
"big")
 
  143           throw GeographicErr(
"Only little-endian ordering is supported");
 
  144         else if (!(val == 
"Little" || val == 
"little"))
 
  146       } 
else if (
key == 
"ID")
 
  185     real BX0 = 0, BY0 = 0, BZ0 = 0, BX1 = 0, BY1 = 0, BZ1 = 0;
 
  186     real BXc = 0, BYc = 0, BZc = 0;
 
  193       BX1 = (BX1 - BX0) / 
_dt0;
 
  194       BY1 = (BY1 - BY0) / 
_dt0;
 
  195       BZ1 = (BZ1 - BZ0) / 
_dt0;
 
  197     BX0 += 
t * BX1 + BXc;
 
  198     BY0 += 
t * BY1 + BYc;
 
  199     BZ0 += 
t * BZ1 + BZc;
 
  239     Ht = 
H != 0 ? (Bx * Bxt + By * Byt) / 
H : 
Math::hypot(Bxt, Byt);
 
  250     char* magneticpath = getenv(
"GEOGRAPHICLIB_MAGNETIC_PATH");
 
  252       path = string(magneticpath);
 
  255     char* datapath = getenv(
"GEOGRAPHICLIB_DATA");
 
  257       path = string(datapath);
 
  263     char* magneticname = getenv(
"GEOGRAPHICLIB_MAGNETIC_NAME");
 
  265       name = string(magneticname);
 
  
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy y set format x g set format y g set format x2 g set format y2 g set format z g set angles radians set nogrid set key title set key left top Right noreverse box linetype linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set set pointsize set encoding default set nopolar set noparametric set set set set surface set nocontour set clabel set mapping cartesian set nohidden3d set cntrparam order set cntrparam linear set cntrparam levels auto set cntrparam points set size set set xzeroaxis lt lw set x2zeroaxis lt lw set yzeroaxis lt lw set y2zeroaxis lt lw set tics in set ticslevel set tics set mxtics default set mytics default set mx2tics default set my2tics default set xtics border mirror norotate autofreq set ytics border mirror norotate autofreq set ztics border nomirror norotate autofreq set nox2tics set noy2tics set timestamp bottom norotate set rrange[*:*] noreverse nowriteback set trange[*:*] noreverse nowriteback set urange[*:*] noreverse nowriteback set vrange[*:*] noreverse nowriteback set xlabel matrix size set x2label set timefmt d m y n H
Annotation for function names.
Header for GeographicLib::SphericalEngine class.
Header for GeographicLib::MagneticModel class.
void IntForward(real lat, real lon, real h, real &X, real &Y, real &Z, real M[dim2_]) const
std::vector< std::vector< real > > _G
Namespace for GeographicLib.
GaussianFactorGraphValuePair Y
std::vector< std::vector< real > > _H
static bool isfinite(T x)
State class representing the state of the Biased Attitude System.
static T atan2d(T y, T x)
#define GEOGRAPHICLIB_DATA
#define GEOGRAPHICLIB_MAGNETIC_DEFAULT_NAME
Exception handling for GeographicLib.
static void readcoeffs(std::istream &stream, int &N, int &M, std::vector< real > &C, std::vector< real > &S)
void ReadMetadata(const std::string &name)
Mathematical functions needed by GeographicLib.
static std::string DefaultMagneticName()
Spherical harmonic series.
Header for GeographicLib::Utility class.
MagneticModel(const MagneticModel &)
static bool ParseLine(const std::string &line, std::string &key, std::string &val)
static const int idlength_
static void FieldComponents(real Bx, real By, real Bz, real &H, real &F, real &D, real &I)
const gtsam::Symbol key('X', 0)
static const size_t dim2_
T interpolate(const T &X, const T &Y, double t, typename MakeOptionalJacobian< T, T >::type Hx={}, typename MakeOptionalJacobian< T, T >::type Hy={}, typename MakeOptionalJacobian< T, double >::type Ht={})
static void Unrotate(real M[dim2_], real X, real Y, real Z, real &x, real &y, real &z)
Header for GeographicLib::MagneticCircle class.
SphericalHarmonic::normalization _norm
void Field(real t, real lat, real lon, real h, bool diffp, real &Bx, real &By, real &Bz, real &Bxt, real &Byt, real &Bzt) const
MagneticCircle Circle(real t, real lat, real h) const
std::vector< SphericalHarmonic > _harm
static const EIGEN_DEPRECATED end_t end
abc_eqf_lib::State< N > M
Geomagnetic field on a circle of latitude.
static std::string DefaultMagneticPath()
const EIGEN_DEVICE_FUNC FloorReturnType floor() const
gtsam
Author(s): 
autogenerated on Wed May 28 2025 03:01:44