PolygonArea.h
Go to the documentation of this file.
1 #pragma once
2 
13 namespace NETGeographicLib
14 {
15  ref class Geodesic;
49  public ref class PolygonArea
50  {
51  private:
52  // a pointer to the unmanaged GeographicLib::PolygonArea
53  GeographicLib::PolygonArea* m_pPolygonArea;
54 
55  // the finalize frees the unmanaged memory when the object is destroyed.
56  !PolygonArea(void);
57  public:
58 
66  PolygonArea(Geodesic^ earth, bool polyline );
67 
74  PolygonArea(const bool polyline );
75 
80  { this->!PolygonArea(); }
81 
85  void Clear();
86 
95  void AddPoint(double lat, double lon);
96 
107  void AddEdge(double azi, double s);
108 
123  unsigned Compute(bool reverse, bool sign,
124  [System::Runtime::InteropServices::Out] double% perimeter,
125  [System::Runtime::InteropServices::Out] double% area);
126 
152  unsigned TestPoint(double lat, double lon, bool reverse, bool sign,
153  [System::Runtime::InteropServices::Out] double% perimeter,
154  [System::Runtime::InteropServices::Out] double% area);
155 
179  unsigned TestEdge(double azi, double s, bool reverse, bool sign,
180  [System::Runtime::InteropServices::Out] double% perimeter,
181  [System::Runtime::InteropServices::Out] double% area);
182 
185 
190  property double MajorRadius { double get(); }
191 
196  property double Flattening { double get(); }
197 
207  void CurrentPoint([System::Runtime::InteropServices::Out] double% lat,
208  [System::Runtime::InteropServices::Out] double% lon);
210  };
211 
212  //*************************************************************************
213  // PolygonAreaExact
214  //*************************************************************************
215  ref class GeodesicExact;
216 
217  public ref class PolygonAreaExact
218  {
219  private:
220  // a pointer to the unmanaged GeographicLib::PolygonArea
221  GeographicLib::PolygonAreaExact* m_pPolygonArea;
222 
223  // the finalize frees the unmanaged memory when the object is destroyed.
224  !PolygonAreaExact(void);
225  public:
226 
234  PolygonAreaExact(GeodesicExact^ earth, bool polyline );
235 
242  PolygonAreaExact(const bool polyline );
243 
248  { this->!PolygonAreaExact(); }
249 
253  void Clear();
254 
263  void AddPoint(double lat, double lon);
264 
275  void AddEdge(double azi, double s);
276 
291  unsigned Compute(bool reverse, bool sign,
292  [System::Runtime::InteropServices::Out] double% perimeter,
293  [System::Runtime::InteropServices::Out] double% area);
294 
320  unsigned TestPoint(double lat, double lon, bool reverse, bool sign,
321  [System::Runtime::InteropServices::Out] double% perimeter,
322  [System::Runtime::InteropServices::Out] double% area);
323 
347  unsigned TestEdge(double azi, double s, bool reverse, bool sign,
348  [System::Runtime::InteropServices::Out] double% perimeter,
349  [System::Runtime::InteropServices::Out] double% area);
350 
353 
358  property double MajorRadius { double get(); }
359 
364  property double Flattening { double get(); }
365 
375  void CurrentPoint([System::Runtime::InteropServices::Out] double% lat,
376  [System::Runtime::InteropServices::Out] double% lon);
378  };
379 
380  //*************************************************************************
381  // PolygonAreaRhumb
382  //*************************************************************************
383  ref class Rhumb;
384 
385  public ref class PolygonAreaRhumb
386  {
387  private:
388  // a pointer to the unmanaged GeographicLib::PolygonArea
389  GeographicLib::PolygonAreaRhumb* m_pPolygonArea;
390 
391  // the finalize frees the unmanaged memory when the object is destroyed.
392  !PolygonAreaRhumb(void);
393  public:
394 
402  PolygonAreaRhumb(Rhumb^ earth, bool polyline );
403 
410  PolygonAreaRhumb(const bool polyline );
411 
416  { this->!PolygonAreaRhumb(); }
417 
421  void Clear();
422 
431  void AddPoint(double lat, double lon);
432 
443  void AddEdge(double azi, double s);
444 
459  unsigned Compute(bool reverse, bool sign,
460  [System::Runtime::InteropServices::Out] double% perimeter,
461  [System::Runtime::InteropServices::Out] double% area);
462 
488  unsigned TestPoint(double lat, double lon, bool reverse, bool sign,
489  [System::Runtime::InteropServices::Out] double% perimeter,
490  [System::Runtime::InteropServices::Out] double% area);
491 
515  unsigned TestEdge(double azi, double s, bool reverse, bool sign,
516  [System::Runtime::InteropServices::Out] double% perimeter,
517  [System::Runtime::InteropServices::Out] double% area);
518 
521 
526  property double MajorRadius { double get(); }
527 
532  property double Flattening { double get(); }
533 
543  void CurrentPoint([System::Runtime::InteropServices::Out] double% lat,
544  [System::Runtime::InteropServices::Out] double% lon);
546  };
547 } // namespace NETGeographicLib
NETGeographicLib::PolygonAreaRhumb::Compute
unsigned Compute(bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:302
NETGeographicLib::PolygonAreaExact::AddEdge
void AddEdge(double azi, double s)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:184
NETGeographicLib::PolygonArea::CurrentPoint
void CurrentPoint([System::Runtime::InteropServices::Out] double% lat, [System::Runtime::InteropServices::Out] double% lon)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:115
NETGeographicLib::PolygonAreaRhumb::Flattening
property double Flattening
Definition: PolygonArea.h:532
s
RealScalar s
Definition: level1_cplx_impl.h:126
NETGeographicLib::PolygonAreaRhumb
Definition: PolygonArea.h:385
sign
const EIGEN_DEVICE_FUNC SignReturnType sign() const
Definition: ArrayCwiseUnaryOps.h:219
NETGeographicLib::PolygonAreaRhumb::CurrentPoint
void CurrentPoint([System::Runtime::InteropServices::Out] double% lat, [System::Runtime::InteropServices::Out] double% lon)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:338
NETGeographicLib::PolygonAreaExact
Definition: PolygonArea.h:217
NETGeographicLib::PolygonAreaRhumb::TestPoint
unsigned TestPoint(double lat, double lon, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:314
NETGeographicLib::PolygonAreaExact::CurrentPoint
void CurrentPoint([System::Runtime::InteropServices::Out] double% lat, [System::Runtime::InteropServices::Out] double% lon)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:226
NETGeographicLib::PolygonArea::TestEdge
unsigned TestEdge(double azi, double s, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:103
NETGeographicLib::PolygonAreaRhumb::PolygonAreaRhumb
PolygonAreaRhumb(Rhumb^ earth, bool polyline)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:257
NETGeographicLib::PolygonAreaExact::PolygonAreaExact
PolygonAreaExact(GeodesicExact^ earth, bool polyline)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:145
NETGeographicLib::PolygonAreaExact::Flattening
property double Flattening
Definition: PolygonArea.h:364
NETGeographicLib::PolygonArea::TestPoint
unsigned TestPoint(double lat, double lon, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:91
NETGeographicLib::PolygonArea::MajorRadius
property double MajorRadius
Definition: PolygonArea.h:190
NETGeographicLib::PolygonAreaRhumb::MajorRadius
property double MajorRadius
Definition: PolygonArea.h:526
NETGeographicLib::PolygonArea::m_pPolygonArea
GeographicLib::PolygonArea * m_pPolygonArea
Definition: PolygonArea.h:53
NETGeographicLib::PolygonAreaExact::AddPoint
void AddPoint(double lat, double lon)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:178
NETGeographicLib::PolygonArea
.NET wrapper for GeographicLib::PolygonArea and PolygonAreaExact.
Definition: PolygonArea.h:49
NETGeographicLib::PolygonAreaRhumb::m_pPolygonArea
GeographicLib::PolygonAreaRhumb * m_pPolygonArea
Definition: PolygonArea.h:389
NETGeographicLib::Geodesic
.NET wrapper for GeographicLib::Geodesic.
Definition: Geodesic.h:170
NETGeographicLib::GeodesicExact
.NET wrapper for GeographicLib::GeodesicExact.
Definition: GeodesicExact.h:86
NETGeographicLib::PolygonAreaExact::Compute
unsigned Compute(bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:190
NETGeographicLib::PolygonArea::AddPoint
void AddPoint(double lat, double lon)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:67
NETGeographicLib::PolygonArea::PolygonArea
PolygonArea(Geodesic^ earth, bool polyline)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:34
NETGeographicLib::PolygonAreaExact::m_pPolygonArea
GeographicLib::PolygonAreaExact * m_pPolygonArea
Definition: PolygonArea.h:221
NETGeographicLib::PolygonAreaExact::TestEdge
unsigned TestEdge(double azi, double s, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:214
NETGeographicLib::PolygonAreaRhumb::Clear
void Clear()
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:287
NETGeographicLib::PolygonAreaExact::Clear
void Clear()
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:175
NETGeographicLib::PolygonAreaRhumb::AddEdge
void AddEdge(double azi, double s)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:296
NETGeographicLib::Rhumb
.NET wrapper for GeographicLib::Rhumb.
Definition: Rhumb.h:65
NETGeographicLib::PolygonAreaRhumb::~PolygonAreaRhumb
~PolygonAreaRhumb()
Definition: PolygonArea.h:415
NETGeographicLib::PolygonArea::Clear
void Clear()
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:64
NETGeographicLib::PolygonArea::AddEdge
void AddEdge(double azi, double s)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:73
NETGeographicLib::PolygonAreaExact::MajorRadius
property double MajorRadius
Definition: PolygonArea.h:358
NETGeographicLib::PolygonAreaExact::TestPoint
unsigned TestPoint(double lat, double lon, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:202
NETGeographicLib::PolygonArea::Flattening
property double Flattening
Definition: PolygonArea.h:196
reverse
void reverse(const MatrixType &m)
Definition: array_reverse.cpp:16
lon
static const double lon
Definition: testGeographicLib.cpp:34
NETGeographicLib::PolygonAreaRhumb::AddPoint
void AddPoint(double lat, double lon)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:290
NETGeographicLib::PolygonArea::~PolygonArea
~PolygonArea()
Definition: PolygonArea.h:79
get
Container::iterator get(Container &c, Position position)
Definition: stdlist_overload.cpp:29
NETGeographicLib
Definition: Accumulator.h:13
NETGeographicLib::PolygonAreaRhumb::TestEdge
unsigned TestEdge(double azi, double s, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:326
NETGeographicLib::PolygonAreaExact::~PolygonAreaExact
~PolygonAreaExact()
Definition: PolygonArea.h:247
NETGeographicLib::PolygonArea::Compute
unsigned Compute(bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
Definition: dotnet/NETGeographicLib/PolygonArea.cpp:79
lat
static const double lat
Definition: testGeographicLib.cpp:34


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:12:45