VR-Forces 4.0.4 Class Documentation
include/vrvUtil/DtCartesianCoordinateConverter.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2007 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 /*********************************************************************
00006 ** $RCSfile: DtCartesianCoordinateConverter.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtCartesianCoordinateConverter_H_
00013 #define DtCartesianCoordinateConverter_H_
00014 
00015 #include <vrvUtil/DtCoordinateConverter.h>
00016 
00017 #include <matrix/vlVector.h>
00018 #include <matrix/vlTaitBryan.h>
00019 #include <matrix/coordTransform.h>
00020 
00021 namespace makVrv
00022 {
00023 
00027 class DT_DLL_VRVUTIL DtCartesianCoordinateConverter : public DtCoordinateConverter
00028 {
00029 public:
00030 
00032    DtCartesianCoordinateConverter();
00033 
00035    virtual ~DtCartesianCoordinateConverter();
00036 
00038    virtual DtCoordinateConverter* clone() const;
00039 
00044    virtual void init(
00045       double x = 0.0, double y = 0.0, double z = 0.0, 
00046       double h = 0.0, double p = 0.0, double r = 0.0);
00047 
00052    virtual void init(
00053       const DtVector& translationOffset, 
00054       const DtTaitBryan& rotationOffset);
00055 
00059    virtual bool init(const std::string& originstring);
00060 
00062    virtual std::string stringRep();
00063 
00065    virtual const DtVector& translationOffset() const;
00066 
00068    virtual const DtTaitBryan& rotationOffset() const;
00069 
00070    /********************* Conversions *****************************/
00072    virtual void geocToCig(const DtVector& geoc, DtVector& out) const;
00073 
00075    virtual void cigToGeoc(const DtVector& in, DtVector& geoc) const;
00076 
00077    virtual void setupTopoFrame(const DtVector& truePos);
00078 
00079    virtual void cigToEnu_coordTrans(const DtVector& cigPos, DtVector& enuPos) const;
00080    virtual void cigToEnu_vecTrans(const DtVector& cigVec, DtVector& enuVec) const;
00081    virtual void enuToCig_coordTrans(const DtVector& enuPos, DtVector& cigPos) const;
00082    virtual void enuToCig_vecTrans(const DtVector& enuVec, DtVector& cigVec) const;
00083 
00084 public:
00085 
00086    static DtCoordinateConverter* create();
00087 
00088 private:
00089 
00091    DtCartesianCoordinateConverter(const DtCartesianCoordinateConverter& orig);
00092 
00094    DtCartesianCoordinateConverter& operator=(const DtCartesianCoordinateConverter& orig);
00095 
00096 protected:
00097 
00098    DtVector myTranslationOffset;
00099    DtTaitBryan myRotationOffset;
00100 
00101    DtCoordTransform myGeocToLocal;
00102    DtCoordTransform myLocalToGeoc;
00103 };
00104 
00105 }
00106 
00107 #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)