![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00008 #pragma once 00009 00010 #include <vlutil/vlMachineTypes.h> 00011 #include "vlVector.h" 00012 #include "vlDcm.h" 00013 #include "vlTaitBryan.h" 00014 #include <vlutil/vlUtil.h> 00015 00016 00017 #ifdef DtUSE_UTILITIES_NAMESPACE 00018 namespace DtUSE_UTILITIES_NAMESPACE 00019 { 00020 #endif 00021 00029 class DT_DLL_MATRIX DtCoordTransform 00030 { 00031 public: 00032 DtCoordTransform(); 00033 DtCoordTransform(const DtVector& toOriginInFromCoord, const DtDcm& from2to); 00034 void setOffset(const DtVector& toOriginInFromCoord); 00035 void setRotation(const DtDcm& from2to); 00036 void setByInverse(const DtCoordTransform &to2from); 00037 00038 DtVector offset() const; 00039 DtDcm rotation() const; 00040 00041 void getOrientation(DtDcmRef from_to) const; 00042 00043 void coordTrans(const DtVector& from, DtVector& to) const; 00044 void vecTrans(const DtVector& from, DtVector& to) const; 00045 void eulerTrans(const DtTaitBryan &from, DtTaitBryan *to) const; 00046 00047 public: 00048 00050 void getOffset(DtVector& toOriginInFromCoord) const; 00051 00052 protected: 00053 00054 DtVector myOffset; 00055 DtDcm myRotation; 00056 }; 00057 00058 #ifdef DtUSE_UTILITIES_NAMESPACE 00059 } 00060 #endif 00061 00062 00063