GeodesicLine.h
Go to the documentation of this file.
1 #pragma once
2 
12 #include "NETGeographicLib.h"
13 
14 namespace NETGeographicLib
15 {
75  public ref class GeodesicLine
76  {
77  private:
78  // pointer to the unmanaged GeographicLib::GeodesicLine.
80 
81  // The finalizer frees the unmanaged memory when this object is destroyed.
82  !GeodesicLine(void);
83  public:
84 
91  enum class mask {
96  NONE = 0U,
102  LATITUDE = 1U<<7 | unsigned(captype::CAP_NONE),
107  LONGITUDE = 1U<<8 | unsigned(captype::CAP_C3),
114  AZIMUTH = 1U<<9 | unsigned(captype::CAP_NONE),
119  DISTANCE = 1U<<10 | unsigned(captype::CAP_C1),
125  DISTANCE_IN = 1U<<11 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C1p),
130  REDUCEDLENGTH = 1U<<12 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C2),
135  GEODESICSCALE = 1U<<13 | unsigned(captype::CAP_C1) | unsigned(captype::CAP_C2),
140  AREA = 1U<<14 | unsigned(captype::CAP_C4),
145  LONG_UNROLL = 1U<<15,
151  ALL = unsigned(captype::OUT_ALL)| unsigned(captype::CAP_ALL),
152  };
155 
195  GeodesicLine( Geodesic^ g, double lat1, double lon1, double azi1,
196  NETGeographicLib::Mask caps );
197 
201  GeodesicLine(double lat1, double lon1, double azi1,
203 
210 
215  { this->!GeodesicLine(); }
216 
219 
260  double Position(double s12,
261  [System::Runtime::InteropServices::Out] double% lat2,
262  [System::Runtime::InteropServices::Out] double% lon2,
263  [System::Runtime::InteropServices::Out] double% azi2,
264  [System::Runtime::InteropServices::Out] double% m12,
265  [System::Runtime::InteropServices::Out] double% M12,
266  [System::Runtime::InteropServices::Out] double% M21,
267  [System::Runtime::InteropServices::Out] double% S12);
268 
272  double Position(double s12,
273  [System::Runtime::InteropServices::Out] double% lat2,
274  [System::Runtime::InteropServices::Out] double% lon2);
275 
279  double Position(double s12,
280  [System::Runtime::InteropServices::Out] double% lat2,
281  [System::Runtime::InteropServices::Out] double% lon2,
282  [System::Runtime::InteropServices::Out] double% azi2);
283 
287  double Position(double s12,
288  [System::Runtime::InteropServices::Out] double% lat2,
289  [System::Runtime::InteropServices::Out] double% lon2,
290  [System::Runtime::InteropServices::Out] double% azi2,
291  [System::Runtime::InteropServices::Out] double% m12);
292 
296  double Position(double s12,
297  [System::Runtime::InteropServices::Out] double% lat2,
298  [System::Runtime::InteropServices::Out] double% lon2,
299  [System::Runtime::InteropServices::Out] double% azi2,
300  [System::Runtime::InteropServices::Out] double% M12,
301  [System::Runtime::InteropServices::Out] double% M21);
302 
306  double Position(double s12,
307  [System::Runtime::InteropServices::Out] double% lat2,
308  [System::Runtime::InteropServices::Out] double% lon2,
309  [System::Runtime::InteropServices::Out] double% azi2,
310  [System::Runtime::InteropServices::Out] double% m12,
311  [System::Runtime::InteropServices::Out] double% M12,
312  [System::Runtime::InteropServices::Out] double% M21);
313 
315 
318 
357  void ArcPosition(double a12,
358  [System::Runtime::InteropServices::Out] double% lat2,
359  [System::Runtime::InteropServices::Out] double% lon2,
360  [System::Runtime::InteropServices::Out] double% azi2,
361  [System::Runtime::InteropServices::Out] double% s12,
362  [System::Runtime::InteropServices::Out] double% m12,
363  [System::Runtime::InteropServices::Out] double% M12,
364  [System::Runtime::InteropServices::Out] double% M21,
365  [System::Runtime::InteropServices::Out] double% S12);
366 
370  void ArcPosition(double a12,
371  [System::Runtime::InteropServices::Out] double% lat2,
372  [System::Runtime::InteropServices::Out] double% lon2);
373 
377  void ArcPosition(double a12,
378  [System::Runtime::InteropServices::Out] double% lat2,
379  [System::Runtime::InteropServices::Out] double% lon2,
380  [System::Runtime::InteropServices::Out] double% azi2);
381 
385  void ArcPosition(double a12,
386  [System::Runtime::InteropServices::Out] double% lat2,
387  [System::Runtime::InteropServices::Out] double% lon2,
388  [System::Runtime::InteropServices::Out] double% azi2,
389  [System::Runtime::InteropServices::Out] double% s12);
390 
394  void ArcPosition(double a12,
395  [System::Runtime::InteropServices::Out] double% lat2,
396  [System::Runtime::InteropServices::Out] double% lon2,
397  [System::Runtime::InteropServices::Out] double% azi2,
398  [System::Runtime::InteropServices::Out] double% s12,
399  [System::Runtime::InteropServices::Out] double% m12);
400 
404  void ArcPosition(double a12,
405  [System::Runtime::InteropServices::Out] double% lat2,
406  [System::Runtime::InteropServices::Out] double% lon2,
407  [System::Runtime::InteropServices::Out] double% azi2,
408  [System::Runtime::InteropServices::Out] double% s12,
409  [System::Runtime::InteropServices::Out] double% M12,
410  [System::Runtime::InteropServices::Out] double% M21);
411 
415  void ArcPosition(double a12,
416  [System::Runtime::InteropServices::Out] double% lat2,
417  [System::Runtime::InteropServices::Out] double% lon2,
418  [System::Runtime::InteropServices::Out] double% azi2,
419  [System::Runtime::InteropServices::Out] double% s12,
420  [System::Runtime::InteropServices::Out] double% m12,
421  [System::Runtime::InteropServices::Out] double% M12,
422  [System::Runtime::InteropServices::Out] double% M21);
424 
427 
486  double GenPosition(bool arcmode, double s12_a12,
487  GeodesicLine::mask outmask,
488  [System::Runtime::InteropServices::Out] double% lat2,
489  [System::Runtime::InteropServices::Out] double% lon2,
490  [System::Runtime::InteropServices::Out] double% azi2,
491  [System::Runtime::InteropServices::Out] double% s12,
492  [System::Runtime::InteropServices::Out] double% m12,
493  [System::Runtime::InteropServices::Out] double% M12,
494  [System::Runtime::InteropServices::Out] double% M21,
495  [System::Runtime::InteropServices::Out] double% S12);
496 
498 
501 
512  void SetDistance(double s13);
513 
523  void SetArc(double a13);
524 
535  void GenSetDistance(bool arcmode, double s13_a13);
537 
540 
547  void AzimuthSinCos([System::Runtime::InteropServices::Out] double% sazi1,
548  [System::Runtime::InteropServices::Out] double% cazi1);
549 
557  [System::Runtime::InteropServices::Out] double% sazi0,
558  [System::Runtime::InteropServices::Out] double% cazi0);
559 
567  double GenDistance(bool arcmode);
569 
572 
577  property double Latitude { double get(); }
578 
582  property double Longitude { double get(); }
583 
587  property double Azimuth { double get(); }
588 
593  property double EquatorialAzimuth { double get(); }
594 
599  property double EquatorialArc { double get(); }
600 
605  property double MajorRadius { double get(); }
606 
611  property double Flattening { double get(); }
612 
616  property double Distance { double get(); }
617 
621  property double Arc { double get(); }
622 
628 
633  bool Capabilities(GeodesicLine::mask testcaps);
635  };
636 } // namespace NETGeographicLib
NETGeographicLib::GeodesicLine::mask::REDUCEDLENGTH
@ REDUCEDLENGTH
NETGeographicLib::captype::CAP_C2
@ CAP_C2
NETGeographicLib::GeodesicLine::Position
double Position(double s12, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% azi2, [System::Runtime::InteropServices::Out] double% m12, [System::Runtime::InteropServices::Out] double% M12, [System::Runtime::InteropServices::Out] double% M21, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:78
NETGeographicLib::GeodesicLine::SetArc
void SetArc(double a13)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:378
NETGeographicLib::GeodesicLine::GenPosition
double GenPosition(bool arcmode, double s12_a12, GeodesicLine::mask outmask, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% azi2, [System::Runtime::InteropServices::Out] double% s12, [System::Runtime::InteropServices::Out] double% m12, [System::Runtime::InteropServices::Out] double% M12, [System::Runtime::InteropServices::Out] double% M21, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:306
NETGeographicLib::GeodesicLine
.NET wrapper for GeographicLib::GeodesicLine.
Definition: GeodesicLine.h:75
NETGeographicLib::GeodesicLine::mask::DISTANCE_IN
@ DISTANCE_IN
GeographicLib::GeodesicLine
A geodesic line.
Definition: GeodesicLine.hpp:71
NETGeographicLib::GeodesicLine::Flattening
property double Flattening
Definition: GeodesicLine.h:611
NETGeographicLib::GeodesicLine::Longitude
property double Longitude
Definition: GeodesicLine.h:582
NETGeographicLib::GeodesicLine::m_pGeodesicLine
GeographicLib::GeodesicLine * m_pGeodesicLine
Definition: GeodesicLine.h:79
NETGeographicLib::GeodesicLine::mask::AZIMUTH
@ AZIMUTH
NETGeographicLib::GeodesicLine::Azimuth
property double Azimuth
Definition: GeodesicLine.h:587
NETGeographicLib::GeodesicLine::GenSetDistance
void GenSetDistance(bool arcmode, double s13_a13)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:382
NETGeographicLib::captype::CAP_C1p
@ CAP_C1p
NETGeographicLib::captype::CAP_C1
@ CAP_C1
NETGeographicLib::GeodesicLine::MajorRadius
property double MajorRadius
Definition: GeodesicLine.h:605
NETGeographicLib::GeodesicLine::SetDistance
void SetDistance(double s13)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:374
NETGeographicLib::GeodesicLine::EquatorialAzimuth
property double EquatorialAzimuth
Definition: GeodesicLine.h:593
NETGeographicLib::GeodesicLine::mask::LONG_UNROLL
@ LONG_UNROLL
NETGeographicLib::captype::OUT_ALL
@ OUT_ALL
NETGeographicLib::captype::CAP_C4
@ CAP_C4
NETGeographicLib::GeodesicLine::Capabilities
NETGeographicLib::Mask Capabilities()
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:366
NETGeographicLib::GeodesicLine::~GeodesicLine
~GeodesicLine()
Definition: GeodesicLine.h:214
NETGeographicLib::GeodesicLine::mask::DISTANCE
@ DISTANCE
NETGeographicLib::GeodesicLine::mask::NONE
@ NONE
NETGeographicLib::Geodesic
.NET wrapper for GeographicLib::Geodesic.
Definition: Geodesic.h:170
NETGeographicLib::GeodesicLine::mask::LATITUDE
@ LATITUDE
NETGeographicLib::GeodesicLine::GenDistance
double GenDistance(bool arcmode)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:404
NETGeographicLib.h
Header for NETGeographicLib::NETGeographicLib objects.
g
void g(const string &key, int i)
Definition: testBTree.cpp:41
NETGeographicLib::captype::CAP_C3
@ CAP_C3
NETGeographicLib::captype::CAP_ALL
@ CAP_ALL
NETGeographicLib::GeodesicLine::Arc
property double Arc
Definition: GeodesicLine.h:621
NETGeographicLib::GeodesicLine::AzimuthSinCos
void AzimuthSinCos([System::Runtime::InteropServices::Out] double% sazi1, [System::Runtime::InteropServices::Out] double% cazi1)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:386
NETGeographicLib::captype::CAP_NONE
@ CAP_NONE
NETGeographicLib::GeodesicLine::mask::GEODESICSCALE
@ GEODESICSCALE
NETGeographicLib::GeodesicLine::Latitude
property double Latitude
Definition: GeodesicLine.h:577
NETGeographicLib::Mask
Mask
Definition: NETGeographicLib.h:38
U
@ U
Definition: testDecisionTree.cpp:296
NETGeographicLib::GeodesicLine::GeodesicLine
GeodesicLine(Geodesic^ g, double lat1, double lon1, double azi1, NETGeographicLib::Mask caps)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:31
NETGeographicLib::GeodesicLine::mask::ALL
@ ALL
NETGeographicLib::GeodesicLine::EquatorialArc
property double EquatorialArc
Definition: GeodesicLine.h:599
NETGeographicLib::GeodesicLine::Distance
property double Distance
Definition: GeodesicLine.h:616
NETGeographicLib::GeodesicLine::mask::AREA
@ AREA
NETGeographicLib::GeodesicLine::ArcPosition
void ArcPosition(double a12, [System::Runtime::InteropServices::Out] double% lat2, [System::Runtime::InteropServices::Out] double% lon2, [System::Runtime::InteropServices::Out] double% azi2, [System::Runtime::InteropServices::Out] double% s12, [System::Runtime::InteropServices::Out] double% m12, [System::Runtime::InteropServices::Out] double% M12, [System::Runtime::InteropServices::Out] double% M21, [System::Runtime::InteropServices::Out] double% S12)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:184
NETGeographicLib::GeodesicLine::mask
mask
Definition: GeodesicLine.h:91
NETGeographicLib::GeodesicLine::EquatorialAzimuthSinCos
void EquatorialAzimuthSinCos([System::Runtime::InteropServices::Out] double% sazi0, [System::Runtime::InteropServices::Out] double% cazi0)
Definition: dotnet/NETGeographicLib/GeodesicLine.cpp:395
get
Container::iterator get(Container &c, Position position)
Definition: stdlist_overload.cpp:29
NETGeographicLib
Definition: Accumulator.h:13
NETGeographicLib::GeodesicLine::mask::LONGITUDE
@ LONGITUDE


gtsam
Author(s):
autogenerated on Mon Jul 1 2024 03:01:21