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
unsigned TestPoint(double lat, double lon, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
static const double lat
.NET wrapper for GeographicLib::PolygonArea and PolygonAreaExact.
Definition: PolygonArea.h:49
void CurrentPoint([System::Runtime::InteropServices::Out] double% lat, [System::Runtime::InteropServices::Out] double% lon)
GeographicLib::PolygonAreaRhumb * m_pPolygonArea
Definition: PolygonArea.h:389
.NET wrapper for GeographicLib::Geodesic.
Definition: Geodesic.h:170
GeographicLib::PolygonAreaExact * m_pPolygonArea
Definition: PolygonArea.h:221
EIGEN_DEVICE_FUNC const SignReturnType sign() const
RealScalar s
GeographicLib::PolygonArea * m_pPolygonArea
Definition: PolygonArea.h:53
unsigned Compute(bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)
void reverse(const MatrixType &m)
.NET wrapper for GeographicLib::Rhumb.
Definition: Rhumb.h:65
.NET wrapper for GeographicLib::GeodesicExact.
Definition: GeodesicExact.h:86
static const double lon
unsigned TestEdge(double azi, double s, bool reverse, bool sign, [System::Runtime::InteropServices::Out] double% perimeter, [System::Runtime::InteropServices::Out] double% area)


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:35:14