VR-Forces 4.0.4 Class Documentation
include/vrvUtil/DtLambertCoordinateConverter.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1999 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: DtLambertCoordinateConverter.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtLambertCoordinateConverter_H_
00013 #define DtLambertCoordinateConverter_H_
00014 
00015 #include <vrvUtil/DtCoordinateConverter.h>
00016 
00017 namespace makVrv
00018 {
00019 
00024 class DT_DLL_VRVUTIL DtLambertCoordinateConverter : public DtCoordinateConverter
00025 {
00026 public:
00027 
00029    DtLambertCoordinateConverter();
00030 
00032    virtual ~DtLambertCoordinateConverter();
00033 
00035    virtual DtCoordinateConverter* clone() const;
00036 
00039    virtual void init(double lat, double lon, double par1, double par2);
00040 
00043    virtual void init(DtDegMinSec lat, DtDegMinSec lon, DtDegMinSec par1, DtDegMinSec par2);
00044 
00047    virtual void init(const DtGeodeticCoord& origin, double par1, double par2);
00048 
00053    virtual bool init(const std::string& latlonstring);
00054 
00056    virtual std::string stringRep();
00057 
00060    virtual void reset();
00061 
00063    virtual const DtGeodeticCoord& origin() const;
00064 
00066    virtual double parallel1() const;
00067 
00069    virtual double parallel2() const;
00070 
00071    virtual const DtReal lambda0() const;
00072    virtual const DtReal phi0() const;
00073    virtual const DtReal phi1() const;
00074    virtual const DtReal phi2() const;
00075 
00076    /********************* Conversions *****************************/
00078    virtual void geocToCig(const DtVector& geoc, DtVector& out) const;
00079 
00081    virtual void cigToGeoc(const DtVector& in, DtVector& geoc) const;
00082 
00084    virtual void calcIntermediateParameters(DtReal* n,DtReal* F,DtReal* p0);
00085 
00086 public:
00087 
00088    static DtCoordinateConverter* create();
00089 
00090 protected:
00091 
00094    std::string parseLambert( DtDegMinSec lat, DtDegMinSec lng, DtDegMinSec par1, DtDegMinSec par2 );
00095 
00096 private:
00097 
00099    DtLambertCoordinateConverter(const DtLambertCoordinateConverter& orig);
00100 
00102    DtLambertCoordinateConverter& operator=(const DtLambertCoordinateConverter& orig);
00103 
00104 protected:
00105 
00106    double myParallel1;
00107    double myParallel2;
00108 
00110    DtReal a;         
00111    DtReal b;         
00112    DtReal e;         
00113    DtReal myPhi0;    
00114    DtReal myPhi1, myPhi2;  
00115    DtReal myLambda0;    
00116 
00117 
00118    DtReal n;         
00119    DtReal F;
00120    DtReal p0;
00121 
00122 };
00123 
00124 }
00125 
00126 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)