VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vlQuaternion.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef vlQuaternion_H_
8 #define vlQuaternion_H_
9 
10 #include <vlutil/vlMachineTypes.h>
11 #include <vlutil/vlString.h>
12 #include "vlDcm.h"
13 #include <iosfwd>
14 
19 
20 #ifdef DtUSE_UTILITIES_NAMESPACE
21 namespace DtUSE_UTILITIES_NAMESPACE
22 {
23 #endif
24 
25 class DtTaitBryan;
26 
31 {
32 public:
33 
35  DtQuaternion();
36 
38  DtQuaternion(double w, double x, double y, double z);
39 
41  DtQuaternion(const DtQuaternion &other);
42 
44  DtQuaternion(const DtTaitBryan &tb);
45 
47  DtQuaternion &operator=(const DtQuaternion&other);
48 
49 
51  DtString string() const;
52 
53  void printDataToStream(std::ostream &str) const;
54 
55  double w() const;
56  void setW(double w);
57 
58  double x() const;
59  void setX(double x);
60 
61  double y() const;
62  void setY(double y);
63 
64  double z() const;
65  void setZ(double z);
66 
67 public:
68 
71  double DtQ0;
72  double DtQ1;
73  double DtQ2;
74  double DtQ3;
75 };
76 
77 DT_DLL_MATRIX std::ostream & operator << (std::ostream &str, const DtQuaternion &sr);
78 
80  DtQuaternion *qresult, const DtQuaternion *DtQ1, const DtQuaternion *DtQ2);
81 
84 
85 inline double DtQuaternion::w() const
86 {
87  return DtQ0;
88 }
89 
90 inline void DtQuaternion::setW(double w)
91 {
92  DtQ0 = w;
93 }
94 
95 inline double DtQuaternion::x() const
96 {
97  return DtQ1;
98 }
99 
100 inline void DtQuaternion::setX(double x)
101 {
102  DtQ1 = x;
103 }
104 
105 inline double DtQuaternion::y() const
106 {
107  return DtQ2;
108 }
109 
110 inline void DtQuaternion::setY(double y)
111 {
112  DtQ2 = y;
113 }
114 
115 inline double DtQuaternion::z() const
116 {
117  return DtQ3;
118 }
119 
120 inline void DtQuaternion::setZ(double z)
121 {
122  DtQ3 = z;
123 }
124 
125 #ifdef DtUSE_UTILITIES_NAMESPACE
126 }
127 #endif
128 #endif
129 
130 
131 
132 
133 
134 
135 
double DtQ3
Y.
Definition: vlQuaternion.h:74
Contains the DtString class declaration.
std::ostream & operator<<(std::ostream &os, const Dt3dChord &chord)
void setY(double y)
Definition: vlQuaternion.h:110
void DtQuatQuatMul(DtQuaternion *qresult, const DtQuaternion *DtQ1, const DtQuaternion *DtQ2)
This file declares DtDcm and several helper classes and functions.
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles...
Definition: vlTaitBryan.h:43
void DtQuaternionDump(const DtQuaternion *q)
This method is deprecated. Please use DtQuaternion::string()
double DtQ1
W.
Definition: vlQuaternion.h:72
double w() const
Definition: vlQuaternion.h:85
double DtQ2
X.
Definition: vlQuaternion.h:73
#define DT_DLL_MATRIX
Definition: vlMachineTypes.h:107
double x() const
Definition: vlQuaternion.h:95
Quaternions are used to represent orientation of an object.
Definition: vlQuaternion.h:30
void setW(double w)
Definition: vlQuaternion.h:90
void setZ(double z)
Definition: vlQuaternion.h:120
double DtQ0
This should be private, but they have been public for so long that we will keep it that way...
Definition: vlQuaternion.h:71
void setX(double x)
Definition: vlQuaternion.h:100
Instances of DtString are used to represent strings.
Definition: vlString.h:29
This file contains typedefs for machine dependant types.
double z() const
Definition: vlQuaternion.h:115
double y() const
Definition: vlQuaternion.h:105

Document ID: Generated on Tue Aug 10 00:12:31 EDT 2021 from SVN revision 232765
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)