VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vlTaitBryan.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef vlTaitBryan_H_
7 #define vlTaitBryan_H_
8 
12 
13 #include <vlutil/vlMachineTypes.h>
14 #include <matrix/vlMath.h>
15 #include "vlVector.h"
16 #include <iosfwd>
17 
18 #ifdef DtUSE_UTILITIES_NAMESPACE
19 namespace DtUSE_UTILITIES_NAMESPACE
20 {
21 #endif
22 
23 class DtQuaternion;
24 
44 {
45 public:
46 
48  DtTaitBryan();
49 
51  DtTaitBryan(double psi, double theta, double phi);
52 
54  DtTaitBryan(const DtTaitBryan &tait);
55 
59  DtTaitBryan(const DtQuaternion &quat);
60 
62  DtTaitBryan &operator=(const DtTaitBryan &tait);
63 
67  int operator==(const DtTaitBryan& other) const;
68 
72  int operator!=(const DtTaitBryan& other) const;
73 
75  DtString string() const;
76  void printDataToStream(std::ostream &str) const;
77 
81  DtFloat64 psi() const;
82  void setPsi(DtFloat64 psi);
84 
87  DtFloat64 theta() const;
88  void setTheta(DtFloat64 theta);
90 
93  DtFloat64 phi() const;
94  void setPhi(DtFloat64 phi);
96 
97 
98 protected:
99 
103 };
104 
105 typedef double DtEParm[4];
106 
112 DT_DLL_MATRIX void DtEuler_to_BodyToRef(const DtTaitBryan &euler, DtDcm& body2ref);
114 DT_DLL_MATRIX void DtEuler_to_RefToBody(const DtTaitBryan &euler, DtDcm& ref2body);
116 
122 DT_DLL_MATRIX void DtBodyToRef_to_Euler(const DtDcm& body2ref, DtTaitBryan *euler);
124 DT_DLL_MATRIX void DtRefToBody_to_Euler(const DtDcm& ref2body, DtTaitBryan *euler);
126 
132  const DtDcm& in2out,
133  DtTaitBryan *out);
134 
136 DT_DLL_MATRIX std::ostream & operator << (std::ostream &str, const DtTaitBryan &sr);
137 
139 #define vlTaitBryan_inl
140 #include "vlTaitBryan.inl"
141 #undef vlTaitBryan_inl
142 
143 #ifdef DtUSE_UTILITIES_NAMESPACE
144 }
145 #endif
146 
147 #endif
148 
149 
void DtEuler_to_BodyToRef(const DtTaitBryan &euler, DtDcm &body2ref)
const bool operator==(const DtU128 &lhs, const DtU128 &rhs)
DtFloat64 myPsi
Definition: vlTaitBryan.h:100
std::ostream & operator<<(std::ostream &os, const Dt3dChord &chord)
void DtBodyToRef_to_Euler(const DtDcm &body2ref, DtTaitBryan *euler)
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles...
Definition: vlTaitBryan.h:43
double DtEParm[4]
Definition: vlTaitBryan.h:105
This file declares DtVector and DtVector32.
This file defines math constants and methods which may be useful in simulations.
#define DT_DLL_MATRIX
Definition: vlMachineTypes.h:107
Quaternions are used to represent orientation of an object.
Definition: vlQuaternion.h:30
DtDcms are used to represent orientation for an object.
Definition: vlDcm.h:39
void DtEuler_to_RefToBody(const DtTaitBryan &euler, DtDcm &ref2body)
void DtRefToBody_to_Euler(const DtDcm &ref2body, DtTaitBryan *euler)
const bool operator!=(const DtU128 &lhs, const DtU128 &rhs)
DtFloat64 myTheta
about reference z
Definition: vlTaitBryan.h:101
Instances of DtString are used to represent strings.
Definition: vlString.h:29
void DtEulerToEuler(const DtTaitBryan &in, const DtDcm &in2out, DtTaitBryan *out)
Given Euler angles with respect to reference frame &quot;in&quot;, and the transformation matrix between frame ...
This file contains typedefs for machine dependant types.
DtFloat64 myPhi
about intermediate y
Definition: vlTaitBryan.h:102

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)