GeodesicLineExact.h
Go to the documentation of this file.
1 #pragma once
2 
12 #include "NETGeographicLib.h"
13 
14 namespace NETGeographicLib
15 {
16  ref class GeodesicExact;
50  public ref class GeodesicLineExact
51  {
52  private:
53  enum class captype {
54  CAP_NONE = 0U,
55  CAP_E = 1U<<0,
56  // Skip 1U<<1 for compatibility with Geodesic (not required)
57  CAP_D = 1U<<2,
58  CAP_H = 1U<<3,
59  CAP_C4 = 1U<<4,
60  CAP_ALL = 0x1FU,
61  CAP_MASK = CAP_ALL,
62  OUT_ALL = 0x7F80U,
63  OUT_MASK = 0xFF80U, // Includes LONG_UNROLL
64  };
65  // a pointer to the GeographicLib::GeodesicLineExact.
67 
68  // the finalizer frees the unmanaged memory when the object is destroyed.
69  !GeodesicLineExact(void);
70  public:
80  enum class mask {
85  NONE = 0U,
91  LATITUDE = 1U<<7 | unsigned(captype::CAP_NONE),
96  LONGITUDE = 1U<<8 | unsigned(captype::CAP_H),
103  AZIMUTH = 1U<<9 | unsigned(captype::CAP_NONE),
108  DISTANCE = 1U<<10 | unsigned(captype::CAP_E),
114  DISTANCE_IN = 1U<<11 | unsigned(captype::CAP_E),
119  REDUCEDLENGTH = 1U<<12 | unsigned(captype::CAP_D),
124  GEODESICSCALE = 1U<<13 | unsigned(captype::CAP_D),
129  AREA = 1U<<14 | unsigned(captype::CAP_C4),
134  LONG_UNROLL = 1U<<15,
140  ALL = unsigned(captype::OUT_ALL)| unsigned(captype::CAP_ALL),
141  };
142 
145 
185  GeodesicLineExact(GeodesicExact^ g, double lat1, double lon1, double azi1,
186  NETGeographicLib::Mask caps );
187 
192  GeodesicLineExact(double lat1, double lon1, double azi1,
194 
202 
207  { this->!GeodesicLineExact(); }
208 
211 
252  double Position(double s12,
253  [System::Runtime::InteropServices::Out] double% lat2,
254  [System::Runtime::InteropServices::Out] double% lon2,
255  [System::Runtime::InteropServices::Out] double% azi2,
256  [System::Runtime::InteropServices::Out] double% m12,
257  [System::Runtime::InteropServices::Out] double% M12,
258  [System::Runtime::InteropServices::Out] double% M21,
259  [System::Runtime::InteropServices::Out] double% S12);
260 
264  double Position(double s12,
265  [System::Runtime::InteropServices::Out] double% lat2,
266  [System::Runtime::InteropServices::Out] double% lon2);
267 
271  double Position(double s12,
272  [System::Runtime::InteropServices::Out] double% lat2,
273  [System::Runtime::InteropServices::Out] double% lon2,
274  [System::Runtime::InteropServices::Out] double% azi2);
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  [System::Runtime::InteropServices::Out] double% m12);
284 
288  double Position(double s12,
289  [System::Runtime::InteropServices::Out] double% lat2,
290  [System::Runtime::InteropServices::Out] double% lon2,
291  [System::Runtime::InteropServices::Out] double% azi2,
292  [System::Runtime::InteropServices::Out] double% M12,
293  [System::Runtime::InteropServices::Out] double% M21);
294 
298  double Position(double s12,
299  [System::Runtime::InteropServices::Out] double% lat2,
300  [System::Runtime::InteropServices::Out] double% lon2,
301  [System::Runtime::InteropServices::Out] double% azi2,
302  [System::Runtime::InteropServices::Out] double% m12,
303  [System::Runtime::InteropServices::Out] double% M12,
304  [System::Runtime::InteropServices::Out] double% M21);
305 
307 
310 
349  void ArcPosition(double a12,
350  [System::Runtime::InteropServices::Out] double% lat2,
351  [System::Runtime::InteropServices::Out] double% lon2,
352  [System::Runtime::InteropServices::Out] double% azi2,
353  [System::Runtime::InteropServices::Out] double% s12,
354  [System::Runtime::InteropServices::Out] double% m12,
355  [System::Runtime::InteropServices::Out] double% M12,
356  [System::Runtime::InteropServices::Out] double% M21,
357  [System::Runtime::InteropServices::Out] double% S12);
358 
362  void ArcPosition(double a12,
363  [System::Runtime::InteropServices::Out] double% lat2,
364  [System::Runtime::InteropServices::Out] double% lon2);
365 
369  void ArcPosition(double a12,
370  [System::Runtime::InteropServices::Out] double% lat2,
371  [System::Runtime::InteropServices::Out] double% lon2,
372  [System::Runtime::InteropServices::Out] double% azi2);
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  [System::Runtime::InteropServices::Out] double% s12);
382 
386  void ArcPosition(double a12,
387  [System::Runtime::InteropServices::Out] double% lat2,
388  [System::Runtime::InteropServices::Out] double% lon2,
389  [System::Runtime::InteropServices::Out] double% azi2,
390  [System::Runtime::InteropServices::Out] double% s12,
391  [System::Runtime::InteropServices::Out] double% m12);
392 
396  void ArcPosition(double a12,
397  [System::Runtime::InteropServices::Out] double% lat2,
398  [System::Runtime::InteropServices::Out] double% lon2,
399  [System::Runtime::InteropServices::Out] double% azi2,
400  [System::Runtime::InteropServices::Out] double% s12,
401  [System::Runtime::InteropServices::Out] double% M12,
402  [System::Runtime::InteropServices::Out] double% M21);
403 
407  void ArcPosition(double a12,
408  [System::Runtime::InteropServices::Out] double% lat2,
409  [System::Runtime::InteropServices::Out] double% lon2,
410  [System::Runtime::InteropServices::Out] double% azi2,
411  [System::Runtime::InteropServices::Out] double% s12,
412  [System::Runtime::InteropServices::Out] double% m12,
413  [System::Runtime::InteropServices::Out] double% M12,
414  [System::Runtime::InteropServices::Out] double% M21);
416 
419 
478  double GenPosition(bool arcmode, double s12_a12,
479  GeodesicLineExact::mask outmask,
480  [System::Runtime::InteropServices::Out] double% lat2,
481  [System::Runtime::InteropServices::Out] double% lon2,
482  [System::Runtime::InteropServices::Out] double% azi2,
483  [System::Runtime::InteropServices::Out] double% s12,
484  [System::Runtime::InteropServices::Out] double% m12,
485  [System::Runtime::InteropServices::Out] double% M12,
486  [System::Runtime::InteropServices::Out] double% M21,
487  [System::Runtime::InteropServices::Out] double% S12);
488 
490 
493 
504  void SetDistance(double s13);
505 
515  void SetArc(double a13);
516 
528  void GenSetDistance(bool arcmode, double s13_a13);
529 
537  double GenDistance(bool arcmode);
539 
542 
549  void AzimuthSinCos(
550  [System::Runtime::InteropServices::Out] double% sazi1,
551  [System::Runtime::InteropServices::Out] double% cazi1);
552 
560  [System::Runtime::InteropServices::Out] double% sazi0,
561  [System::Runtime::InteropServices::Out] double% cazi0);
563 
566 
570  property double Latitude { double get(); }
571 
575  property double Longitude { double get(); }
576 
580  property double Azimuth { double get(); }
581 
586  property double EquatorialAzimuth { double get(); }
587 
592  property double EquatorialArc { double get(); }
593 
599  property double MajorRadius { double get(); }
600 
605  property double Flattening { double get(); }
606 
610  property double Distance { double get(); }
611 
615  property double Arc { double get(); }
616 
622 
627  bool Capabilities(NETGeographicLib::Mask testcaps);
629  };
630 } // namespace NETGeographicLib
NETGeographicLib::GeodesicLineExact::captype::CAP_C4
@ CAP_C4
NETGeographicLib::GeodesicLineExact::GenDistance
double GenDistance(bool arcmode)
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:409
NETGeographicLib::GeodesicLineExact
.NET wrapper for GeographicLib::GeodesicLineExact.
Definition: GeodesicLineExact.h:50
NETGeographicLib::GeodesicLineExact::mask::NONE
@ NONE
NETGeographicLib::GeodesicLineExact::captype
captype
Definition: GeodesicLineExact.h:53
NETGeographicLib::GeodesicLineExact::Distance
property double Distance
Definition: GeodesicLineExact.h:610
NETGeographicLib::GeodesicLineExact::captype::CAP_ALL
@ CAP_ALL
NETGeographicLib::GeodesicLineExact::Capabilities
NETGeographicLib::Mask Capabilities()
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:371
NETGeographicLib::GeodesicLineExact::mask::AREA
@ AREA
NETGeographicLib::GeodesicLineExact::mask::ALL
@ ALL
NETGeographicLib::GeodesicLineExact::Longitude
property double Longitude
Definition: GeodesicLineExact.h:575
NETGeographicLib::GeodesicLineExact::Flattening
property double Flattening
Definition: GeodesicLineExact.h:605
NETGeographicLib::GeodesicLineExact::mask
mask
Definition: GeodesicLineExact.h:80
NETGeographicLib::GeodesicLineExact::mask::DISTANCE
@ DISTANCE
NETGeographicLib::GeodesicLineExact::MajorRadius
property double MajorRadius
Definition: GeodesicLineExact.h:599
NETGeographicLib::GeodesicLineExact::captype::CAP_E
@ CAP_E
NETGeographicLib::GeodesicLineExact::AzimuthSinCos
void AzimuthSinCos([System::Runtime::InteropServices::Out] double% sazi1, [System::Runtime::InteropServices::Out] double% cazi1)
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:391
NETGeographicLib::GeodesicLineExact::mask::LATITUDE
@ LATITUDE
NETGeographicLib::GeodesicLineExact::captype::CAP_NONE
@ CAP_NONE
NETGeographicLib::GeodesicLineExact::Arc
property double Arc
Definition: GeodesicLineExact.h:615
NETGeographicLib::GeodesicLineExact::mask::LONG_UNROLL
@ LONG_UNROLL
NETGeographicLib::GeodesicLineExact::EquatorialArc
property double EquatorialArc
Definition: GeodesicLineExact.h:592
NETGeographicLib::GeodesicLineExact::SetDistance
void SetDistance(double s13)
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:379
NETGeographicLib::GeodesicLineExact::mask::GEODESICSCALE
@ GEODESICSCALE
NETGeographicLib::GeodesicLineExact::Azimuth
property double Azimuth
Definition: GeodesicLineExact.h:580
NETGeographicLib::GeodesicLineExact::EquatorialAzimuthSinCos
void EquatorialAzimuthSinCos([System::Runtime::InteropServices::Out] double% sazi0, [System::Runtime::InteropServices::Out] double% cazi0)
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:400
NETGeographicLib::GeodesicExact
.NET wrapper for GeographicLib::GeodesicExact.
Definition: GeodesicExact.h:86
NETGeographicLib::GeodesicLineExact::Latitude
property double Latitude
Definition: GeodesicLineExact.h:570
NETGeographicLib::GeodesicLineExact::captype::CAP_D
@ CAP_D
NETGeographicLib.h
Header for NETGeographicLib::NETGeographicLib objects.
g
void g(const string &key, int i)
Definition: testBTree.cpp:41
NETGeographicLib::GeodesicLineExact::mask::LONGITUDE
@ LONGITUDE
NETGeographicLib::GeodesicLineExact::GenPosition
double GenPosition(bool arcmode, double s12_a12, GeodesicLineExact::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/GeodesicLineExact.cpp:308
NETGeographicLib::GeodesicLineExact::SetArc
void SetArc(double a13)
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:383
GeographicLib::GeodesicLineExact
An exact geodesic line.
Definition: GeodesicLineExact.hpp:35
NETGeographicLib::GeodesicLineExact::GenSetDistance
void GenSetDistance(bool arcmode, double s13_a13)
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:387
NETGeographicLib::GeodesicLineExact::captype::OUT_MASK
@ OUT_MASK
NETGeographicLib::GeodesicLineExact::captype::CAP_H
@ CAP_H
NETGeographicLib::Mask
Mask
Definition: NETGeographicLib.h:38
U
@ U
Definition: testDecisionTree.cpp:296
NETGeographicLib::GeodesicLineExact::m_pGeodesicLineExact
GeographicLib::GeodesicLineExact * m_pGeodesicLineExact
Definition: GeodesicLineExact.h:66
NETGeographicLib::GeodesicLineExact::mask::REDUCEDLENGTH
@ REDUCEDLENGTH
NETGeographicLib::GeodesicLineExact::captype::CAP_MASK
@ CAP_MASK
NETGeographicLib::GeodesicLineExact::~GeodesicLineExact
~GeodesicLineExact()
Definition: GeodesicLineExact.h:206
NETGeographicLib::GeodesicLineExact::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/GeodesicLineExact.cpp:79
NETGeographicLib::GeodesicLineExact::mask::AZIMUTH
@ AZIMUTH
NETGeographicLib::GeodesicLineExact::mask::DISTANCE_IN
@ DISTANCE_IN
NETGeographicLib::GeodesicLineExact::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/GeodesicLineExact.cpp:185
get
Container::iterator get(Container &c, Position position)
Definition: stdlist_overload.cpp:29
NETGeographicLib::GeodesicLineExact::GeodesicLineExact
GeodesicLineExact(GeodesicExact^ g, double lat1, double lon1, double azi1, NETGeographicLib::Mask caps)
Definition: dotnet/NETGeographicLib/GeodesicLineExact.cpp:31
NETGeographicLib
Definition: Accumulator.h:13
NETGeographicLib::GeodesicLineExact::captype::OUT_ALL
@ OUT_ALL
NETGeographicLib::GeodesicLineExact::EquatorialAzimuth
property double EquatorialAzimuth
Definition: GeodesicLineExact.h:586


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