10 #if !defined(GEOGRAPHICLIB_SPHERICALHARMONIC2_HPP) 11 #define GEOGRAPHICLIB_SPHERICALHARMONIC2_HPP 1 98 const std::vector<real>&
S,
100 const std::vector<real>&
C1,
101 const std::vector<real>& S1,
103 const std::vector<real>&
C2,
104 const std::vector<real>&
S2,
106 real
a,
unsigned norm =
FULL)
109 if (!(N1 <= N && N2 <= N))
155 const std::vector<real>&
S,
156 int N,
int nmx,
int mmx,
157 const std::vector<real>&
C1,
158 const std::vector<real>& S1,
159 int N1,
int nmx1,
int mmx1,
160 const std::vector<real>&
C2,
161 const std::vector<real>&
S2,
162 int N2,
int nmx2,
int mmx2,
163 real
a,
unsigned norm =
FULL)
166 if (!(nmx1 <= nmx && nmx2 <= nmx))
167 throw GeographicErr(
"nmx1 and nmx2 cannot be larger that nmx");
168 if (!(mmx1 <= mmx && mmx2 <= mmx))
169 throw GeographicErr(
"mmx1 and mmx2 cannot be larger that mmx");
198 real
f[] = {1, tau1, tau2};
203 v = SphericalEngine::Value<false, SphericalEngine::FULL, 3>
204 (
_c,
f,
x,
y,
z,
_a, dummy, dummy, dummy);
207 v = SphericalEngine::Value<false, SphericalEngine::SCHMIDT, 3>
208 (
_c,
f,
x,
y,
z,
_a, dummy, dummy, dummy);
235 real& gradx, real& grady, real& gradz)
const {
236 real
f[] = {1, tau1, tau2};
240 v = SphericalEngine::Value<true, SphericalEngine::FULL, 3>
241 (
_c,
f,
x,
y,
z,
_a, gradx, grady, gradz);
244 v = SphericalEngine::Value<true, SphericalEngine::SCHMIDT, 3>
245 (
_c,
f,
x,
y,
z,
_a, gradx, grady, gradz);
279 real
f[] = {1, tau1, tau2};
283 SphericalEngine::Circle<true, SphericalEngine::FULL, 3>
285 SphericalEngine::Circle<false, SphericalEngine::FULL, 3>
291 SphericalEngine::Circle<true, SphericalEngine::SCHMIDT, 3>
293 SphericalEngine::Circle<false, SphericalEngine::SCHMIDT, 3>
318 #endif // GEOGRAPHICLIB_SPHERICALHARMONIC2_HPP
Package up coefficients for SphericalEngine.
SphericalEngine::coeff _c[3]
const SphericalEngine::coeff & Coefficients1() const
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Namespace for GeographicLib.
const SphericalEngine::coeff & Coefficients2() const
Spherical harmonic series with two corrections to the coefficients.
CircularEngine Circle(real tau1, real tau2, real p, real z, bool gradp) const
SphericalHarmonic2(const std::vector< real > &C, const std::vector< real > &S, int N, int nmx, int mmx, const std::vector< real > &C1, const std::vector< real > &S1, int N1, int nmx1, int mmx1, const std::vector< real > &C2, const std::vector< real > &S2, int N2, int nmx2, int mmx2, real a, unsigned norm=FULL)
Header for GeographicLib::CircularEngine class.
Matrix< Scalar, Dynamic, Dynamic > C
Spherical harmonic sums for a circle.
Exception handling for GeographicLib.
Header for GeographicLib::Constants class.
SphericalHarmonic2(const std::vector< real > &C, const std::vector< real > &S, int N, const std::vector< real > &C1, const std::vector< real > &S1, int N1, const std::vector< real > &C2, const std::vector< real > &S2, int N2, real a, unsigned norm=FULL)
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 x
Header for GeographicLib::SphericalEngine class.
Math::real operator()(real tau1, real tau2, real x, real y, real z, real &gradx, real &grady, real &gradz) const
const SphericalEngine::coeff & Coefficients() const
Math::real operator()(real tau1, real tau2, real x, real y, real z) const