VR-Forces 4.0.4 Class Documentation
include/vrvUtil/DtGeocentricCoordinateConverter.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2007 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /*********************************************************************
00006 ** $RCSfile: DtGeocentricCoordinateConverter.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtGeocentricCoordinateConverter_H_
00013 #define DtGeocentricCoordinateConverter_H_
00014 
00015 #include <vrvUtil/DtCoordinateConverter.h>
00016 #include <matrix/coordTransform.h>
00017 
00018 namespace makVrv
00019 {
00020 
00024 class DT_DLL_VRVUTIL DtGeocentricCoordinateConverter : public DtCoordinateConverter
00025 {
00026 public:
00027 
00029    DtGeocentricCoordinateConverter();
00030 
00032    virtual ~DtGeocentricCoordinateConverter();
00033 
00035    virtual DtCoordinateConverter* clone() const;
00036 
00038    virtual void init(double offx = 0.0, double offy = 0.0, double offz = 0.0);
00039    virtual void init(const DtVector& offset = DtVector::zero());
00040 
00043    virtual bool init(const std::string& originstring);
00044 
00046    virtual std::string stringRep();
00047 
00049    virtual const DtVector& originOffset() const;
00050 
00052    virtual const DtGeodeticCoord& geodeticOriginOffset() const;
00053 
00054    /********************* Conversions *****************************/
00056    virtual void geocToCig(const DtVector& geoc, DtVector& out) const;
00057 
00059    virtual void cigToGeoc(const DtVector& in, DtVector& geoc) const;
00060 
00062    virtual void setupTopoFrame(const DtVector& est);
00063 
00065    virtual void cigToEnu_coordTrans(const DtVector& cigPos,
00066       DtVector& enuPos) const;
00067 
00069    virtual void cigToEnu_vecTrans(const DtVector& cigVec,
00070       DtVector& enuVec) const;
00071 
00073    virtual void enuToCig_coordTrans(const DtVector& enuPos,
00074       DtVector& cigPos) const;
00075 
00077    virtual void enuToCig_vecTrans(const DtVector& enuVec,
00078       DtVector& cigVec) const;
00079 
00080    virtual const DtDcm& geocToNedDcm() const;
00081    virtual const DtDcm& nedToGeocDcm() const;
00082 
00084    DtCoordTransform myGeocToLocal;
00085    DtCoordTransform myLocalToGeoc;
00086    DtCoordTransform myGeocToNed;
00087 
00088 public:
00089 
00090    static DtCoordinateConverter* create();
00091 
00092 private:
00093 
00095    DtGeocentricCoordinateConverter(const DtGeocentricCoordinateConverter& orig);
00096 
00098    DtGeocentricCoordinateConverter& operator=(const DtGeocentricCoordinateConverter& orig);
00099 
00100 protected:
00101 
00103    DtVector myOffset;
00104 };
00105 
00106 }
00107 
00108 #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)