15 namespace GeographicLib {
19 void MagneticCircle::Field(
real lon,
bool diffp,
23 CircularEngine::cossin(lon, clam, slam);
24 real M[Geocentric::dim2_];
25 Geocentric::Rotation(_sphi, _cphi, slam, clam, M);
26 real BX0, BY0, BZ0, BX1, BY1, BZ1;
27 real BXc = 0, BYc = 0, BZc = 0;
28 _circ0(clam, slam, BX0, BY0, BZ0);
29 _circ1(clam, slam, BX1, BY1, BZ1);
31 _circ2(clam, slam, BXc, BYc, BZc);
33 BX1 = (BX1 - BX0) / _dt0;
34 BY1 = (BY1 - BY0) / _dt0;
35 BZ1 = (BZ1 - BZ0) / _dt0;
37 BX0 += _t1 * BX1 + BXc;
38 BY0 += _t1 * BY1 + BYc;
39 BZ0 += _t1 * BZ1 + BZc;
41 Geocentric::Unrotate(M, BX1, BY1, BZ1, Bxt, Byt, Bzt);
46 Geocentric::Unrotate(M, BX0, BY0, BZ0, Bx, By, Bz);
GeographicLib::Math::real real
Header for GeographicLib::MagneticCircle class.
Header for GeographicLib::Geocentric class.