dotnet/examples/ManagedCPP/example-CircularEngine.cpp
Go to the documentation of this file.
1 using namespace System;
2 using namespace NETGeographicLib;
3 
5 {
6  // This computes the same value as example-SphericalHarmonic.cpp using a
7  // CircularEngine (which will be faster if many values on a circle of
8  // latitude are to be found).
9  try {
10  int N = 3; // The maxium degree
11  array<double>^ ca = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; // cosine coefficients
12  array<double>^ sa = {6, 5, 4, 3, 2, 1}; // sine coefficients
13  double a = 1;
14  SphericalHarmonic^ h = gcnew SphericalHarmonic(ca, sa, N, a, SphericalHarmonic::Normalization::SCHMIDT);
15  double x = 2, y = 3, z = 1, p = Math::Sqrt(x*x+y*y);
16  CircularEngine^ circ = h->Circle(p, z, true);
17  double v, vx, vy, vz;
18  v = circ->LongitudeSum(x/p, y/p, vx, vy, vz);
19  Console::WriteLine(String::Format("{0} {1} {2} {3}", v, vx, vy, vz));
20  }
21  catch (GeographicErr^ e) {
22  Console::WriteLine(String::Format("Caught exception: {0}", e->Message));
23  return -1;
24  }
25  return 0;
26 }
Scalar * y
Exception class for NETGeographicLib.
double LongitudeSum(double coslon, double sinlon)
ArrayXcf v
Definition: Cwise_arg.cpp:1
Definition: numpy.h:543
#define N
Definition: gksort.c:12
int main(array< System::String^>^)
Array33i a
CircularEngine Circle(double p, double z, bool gradp)
StridedVectorType vy(make_vector(y,*n, std::abs(*incy)))
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const double h
float * p
StridedVectorType vx(make_vector(x,*n, std::abs(*incx)))
.NET wrapper for GeographicLib::CircularEngine.
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
.NET wrapper for GeographicLib::SphericalHarmonic.


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:42:02