VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLambertCoordinateConverter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2022 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #ifndef DtLambertCoordinateConverter_H_
10 #define DtLambertCoordinateConverter_H_
11 
13 
14 namespace makVrv
15 {
16 
22 {
23 public:
24 
27 
30 
32  virtual DtCoordinateConverter* clone() const override;
33 
36  virtual void init(double lat, double lon, double par1, double par2);
37 
40  virtual void init(const DtDegMinSec& lat, const DtDegMinSec& lon, const DtDegMinSec& par1, const DtDegMinSec& par2);
41 
44  virtual void init(const DtGeodeticCoord& origin, double par1, double par2);
45 
50  virtual bool init(const std::string& latlonstring) override;
51 
53  virtual std::string stringRep() override;
54 
57  virtual void reset() override;
58 
60  virtual const DtGeodeticCoord& origin() const;
61 
63  virtual double parallel1() const;
64 
66  virtual double parallel2() const;
67 
68  virtual const DtReal lambda0() const;
69  virtual const DtReal phi0() const;
70  virtual const DtReal phi1() const;
71  virtual const DtReal phi2() const;
72 
73  /********************* Conversions *****************************/
75  virtual void geocToCig(const DtVector& geoc, DtVector& out) const override;
76 
78  virtual void cigToGeoc(const DtVector& in, DtVector& geoc) const override;
79 
81  virtual void calcIntermediateParameters(DtReal* n,DtReal* F,DtReal* p0);
82 
83 public:
84 
85  static DtCoordinateConverter* create();
86 
87 protected:
88 
91  std::string parseLambert( const DtDegMinSec& lat, const DtDegMinSec& lng, const DtDegMinSec& par1, const DtDegMinSec& par2 );
92 
93 private:
94 
97 
99  DtLambertCoordinateConverter& operator=(const DtLambertCoordinateConverter& orig) = delete;
100 
101 protected:
102 
103  double myParallel1;
104  double myParallel2;
105 
107  DtReal myA;
108  DtReal myB;
109  DtReal myE;
110  DtReal myPhi0;
111  DtReal myPhi1, myPhi2;
112  DtReal myLambda0;
113 
115  DtReal myN;
116  DtReal myF;
117  DtReal myP0;
118 
119 };
120 
121 }
122 
123 #endif
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
double myParallel1
Definition: DtLambertCoordinateConverter.h:103
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
DtCoordinateConverter is the base class for 'local (cig) to geocentric' converters.
Definition: DtCoordinateConverter.h:25
DtReal myLambda0
standard parallels of latitude
Definition: DtLambertCoordinateConverter.h:112
DtReal myF
intermediate parameters: don't rely on phi and lambda
Definition: DtLambertCoordinateConverter.h:116
voidpf uLong int origin
Definition: ioapi.h:42
DtReal myB
semi-major axis of the ellipsoid of reference
Definition: DtLambertCoordinateConverter.h:108
DtReal myE
semi-minor axis of the ellipsoid of reference
Definition: DtLambertCoordinateConverter.h:109
DtReal myPhi0
eccentricity of the ellipsoid (1 - b^2/a^2)^ (1/2)
Definition: DtLambertCoordinateConverter.h:110
Instances of vpNetLambertCoordConverter provide transformations and utilities for converting between ...
Definition: DtLambertCoordinateConverter.h:21
double myParallel2
Definition: DtLambertCoordinateConverter.h:104
DtReal myN
longitude east of Greenwich of the central meridian of the map
Definition: DtLambertCoordinateConverter.h:115
DtReal myPhi2
Definition: DtLambertCoordinateConverter.h:111
DtReal myA
the projection requires
Definition: DtLambertCoordinateConverter.h:107
DtReal myP0
Definition: DtLambertCoordinateConverter.h:117

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)