VR-Link API Documentation for HLA 1.3
vlTaitBryan.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #ifndef vlTaitBryan_H_
00007 #define vlTaitBryan_H_
00008 
00012 
00013 #include <vlutil/vlMachineTypes.h>
00014 #include "vlVector.h"
00015 #include <iosfwd>
00016 
00017 #ifdef DtUSE_UTILITIES_NAMESPACE
00018 namespace DtUSE_UTILITIES_NAMESPACE
00019 {
00020 #endif
00021 
00022 class DtQuaternion;
00023 
00042 class DT_DLL_MATRIX DtTaitBryan
00043 {
00044 public:
00045 
00047    DtTaitBryan();
00048 
00050    DtTaitBryan(double psi, double theta, double phi);
00051 
00053    DtTaitBryan(const DtTaitBryan &tait);
00054 
00058    DtTaitBryan(const DtQuaternion &quat);
00059 
00061    DtTaitBryan &operator=(const DtTaitBryan &tait);
00062 
00066    int operator==(const DtTaitBryan& other) const;
00067 
00071    int operator!=(const DtTaitBryan& other) const;
00072 
00074    DtString string() const;
00075    void printDataToStream(std::ostream &str) const;
00076    
00080    DtFloat64 psi() const;
00081    void setPsi(DtFloat64 psi);
00083   
00086    DtFloat64 theta() const;
00087    void setTheta(DtFloat64 theta);
00089 
00092    DtFloat64 phi() const;
00093    void setPhi(DtFloat64 phi);
00095    
00096 
00097 protected:
00098 
00099    DtFloat64 myPsi;     
00100    DtFloat64 myTheta;      
00101    DtFloat64 myPhi;     
00102 };
00103 
00104 typedef double DtEParm[4];
00105 
00111 DT_DLL_MATRIX void DtEuler_to_BodyToRef(const DtTaitBryan &euler, DtDcm& body2ref);
00113 DT_DLL_MATRIX void DtEuler_to_RefToBody(const DtTaitBryan &euler, DtDcm& ref2body);
00115 
00121 DT_DLL_MATRIX void DtBodyToRef_to_Euler(const DtDcm& body2ref, DtTaitBryan *euler);
00123 DT_DLL_MATRIX void DtRefToBody_to_Euler(const DtDcm& ref2body, DtTaitBryan *euler);
00125 
00130 DT_DLL_MATRIX void DtEulerToEuler(const DtTaitBryan &in, 
00131           const DtDcm& in2out, 
00132           DtTaitBryan *out);
00133 
00135 DT_DLL_MATRIX std::ostream & operator << (std::ostream &str, const DtTaitBryan &sr);
00136 
00138 #define vlTaitBryan_inl
00139 #include "vlTaitBryan.inl"
00140 #undef vlTaitBryan_inl
00141 
00142 #ifdef DtUSE_UTILITIES_NAMESPACE
00143 }
00144 #endif
00145 
00146 #endif
00147 
00148 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)