#include <object.h>
Inheritance diagram for OBJECT:
Public Methods | |
OBJECT () | |
~OBJECT () | |
void | Reset () |
void | Rotate () |
void | Draw () |
void | UpdatePosition () |
void | UpdatePosition (float x, float y, float z) |
void | MoveX () |
void | MoveY () |
void | MoveZ () |
void | MoveX (float x) |
void | MoveY (float y) |
void | MoveZ (float z) |
VECTOR | GetXUnit () |
VECTOR | GetYUnit () |
VECTOR | GetZUnit () |
Public Attributes | |
QUAT | Orientation |
VECTOR | Position |
float | Delta_x |
float | Delta_y |
float | Delta_z |
float | Movement_x |
float | Movement_y |
float | Movement_z |
float | Multiplier |
|
Definition at line 9 of file object.cpp. References Delta_x, Delta_y, Delta_z, Movement_x, Movement_y, and Movement_z.
00010 { 00011 Delta_x = 0.0; 00012 Delta_y = 0.0; 00013 Delta_z = 0.0; 00014 Movement_x = 0.0; 00015 Movement_y = 0.0; 00016 Movement_z = 0.0; 00017 } |
|
Definition at line 19 of file object.cpp.
00020 { 00021 } |
|
Reimplemented in BULLET. Definition at line 42 of file object.cpp.
00043 { 00044 // Should probably be a pure virtual 00045 } |
|
Definition at line 209 of file object.cpp. References QUAT::EulerToQuat(), QUAT::MultQuat(), Orientation, pi, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z.
00210 { 00211 float DirX; 00212 float DirY; 00213 float DirZ; 00214 float W; 00215 float X; 00216 float Y; 00217 float Z; 00218 QUAT TempQuat; 00219 QUAT TempQuat2; 00220 TempQuat = Orientation; 00221 TempQuat2.EulerToQuat(0.0, -90.0*(pi/180), 0.0); 00222 TempQuat.MultQuat(TempQuat2); 00223 W = TempQuat.w; 00224 X = TempQuat.x; 00225 Y = TempQuat.y; 00226 Z = TempQuat.z; 00227 DirX = 2.0 * ( X * Z - W * Y ); 00228 DirY = 2.0 * ( Y * Z + W * X ); 00229 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00230 VECTOR Unit; 00231 Unit.x += DirX * 1; 00232 Unit.y += DirY * 1; 00233 Unit.z += DirZ * 1; 00234 return Unit; 00235 } |
|
Definition at line 237 of file object.cpp. References QUAT::EulerToQuat(), QUAT::MultQuat(), Orientation, pi, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z.
00238 { 00239 float DirX; 00240 float DirY; 00241 float DirZ; 00242 float W; 00243 float X; 00244 float Y; 00245 float Z; 00246 QUAT TempQuat; 00247 QUAT TempQuat2; 00248 TempQuat = Orientation; 00249 TempQuat2.EulerToQuat(90.0*(pi/180), 0.0, 0.0); 00250 TempQuat.MultQuat(TempQuat2); 00251 W = TempQuat.w; 00252 X = TempQuat.x; 00253 Y = TempQuat.y; 00254 Z = TempQuat.z; 00255 DirX = 2.0 * ( X * Z - W * Y ); 00256 DirY = 2.0 * ( Y * Z + W * X ); 00257 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00258 VECTOR Unit; 00259 Unit.x += DirX * 1; 00260 Unit.y += DirY * 1; 00261 Unit.z += DirZ * 1; 00262 return Unit; 00263 } |
|
Definition at line 265 of file object.cpp. References Orientation, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z. Referenced by LIGHT::Reset().
00266 { 00267 float DirX; 00268 float DirY; 00269 float DirZ; 00270 float W = Orientation.w; 00271 float X = Orientation.x; 00272 float Y = Orientation.y; 00273 float Z = Orientation.z; 00274 DirX = 2.0 * ( X * Z - W * Y ); 00275 DirY = 2.0 * ( Y * Z + W * X ); 00276 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00277 VECTOR Unit; 00278 Unit.x += DirX * 1; 00279 Unit.y += DirY * 1; 00280 Unit.z += DirZ * 1; 00281 return Unit; 00282 } |
|
Definition at line 140 of file object.cpp. References QUAT::EulerToQuat(), QUAT::MultQuat(), Orientation, pi, Position, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z.
00141 { 00142 float DirX; 00143 float DirY; 00144 float DirZ; 00145 float W; 00146 float X; 00147 float Y; 00148 float Z; 00149 QUAT TempQuat; 00150 QUAT TempQuat2; 00151 TempQuat = Orientation; 00152 TempQuat2.EulerToQuat(0.0, -90.0*(pi/180), 0.0); 00153 TempQuat.MultQuat(TempQuat2); 00154 W = TempQuat.w; 00155 X = TempQuat.x; 00156 Y = TempQuat.y; 00157 Z = TempQuat.z; 00158 DirX = 2.0 * ( X * Z - W * Y ); 00159 DirY = 2.0 * ( Y * Z + W * X ); 00160 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00161 Position.x += DirX * x; 00162 Position.y += DirY * x; 00163 Position.z += DirZ * x; 00164 } |
|
Definition at line 71 of file object.cpp. References QUAT::EulerToQuat(), Movement_x, Multiplier, QUAT::MultQuat(), Orientation, pi, Position, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z. Referenced by UpdatePosition().
00072 { 00073 float DirX; 00074 float DirY; 00075 float DirZ; 00076 float W; 00077 float X; 00078 float Y; 00079 float Z; 00080 QUAT TempQuat; 00081 QUAT TempQuat2; 00082 TempQuat = Orientation; 00083 TempQuat2.EulerToQuat(0.0, -90.0*(pi/180), 0.0); 00084 TempQuat.MultQuat(TempQuat2); 00085 W = TempQuat.w; 00086 X = TempQuat.x; 00087 Y = TempQuat.y; 00088 Z = TempQuat.z; 00089 DirX = 2.0 * ( X * Z - W * Y ); 00090 DirY = 2.0 * ( Y * Z + W * X ); 00091 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00092 Position.x += DirX * Movement_x * Multiplier; 00093 Position.y += DirY * Movement_x * Multiplier; 00094 Position.z += DirZ * Movement_x * Multiplier; 00095 } |
|
Definition at line 166 of file object.cpp. References QUAT::EulerToQuat(), QUAT::MultQuat(), Orientation, pi, Position, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z.
00167 { 00168 float DirX; 00169 float DirY; 00170 float DirZ; 00171 float W; 00172 float X; 00173 float Y; 00174 float Z; 00175 QUAT TempQuat; 00176 QUAT TempQuat2; 00177 TempQuat = Orientation; 00178 TempQuat2.EulerToQuat(90.0*(pi/180), 0.0, 0.0); 00179 TempQuat.MultQuat(TempQuat2); 00180 W = TempQuat.w; 00181 X = TempQuat.x; 00182 Y = TempQuat.y; 00183 Z = TempQuat.z; 00184 DirX = 2.0 * ( X * Z - W * Y ); 00185 DirY = 2.0 * ( Y * Z + W * X ); 00186 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00187 Position.x += DirX * y; 00188 Position.y += DirY * y; 00189 Position.z += DirZ * y; 00190 } |
|
Definition at line 97 of file object.cpp. References QUAT::EulerToQuat(), Movement_y, Multiplier, QUAT::MultQuat(), Orientation, pi, Position, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z. Referenced by UpdatePosition().
00098 { 00099 float DirX; 00100 float DirY; 00101 float DirZ; 00102 float W; 00103 float X; 00104 float Y; 00105 float Z; 00106 QUAT TempQuat; 00107 QUAT TempQuat2; 00108 TempQuat = Orientation; 00109 TempQuat2.EulerToQuat(90.0*(pi/180), 0.0, 0.0); 00110 TempQuat.MultQuat(TempQuat2); 00111 W = TempQuat.w; 00112 X = TempQuat.x; 00113 Y = TempQuat.y; 00114 Z = TempQuat.z; 00115 DirX = 2.0 * ( X * Z - W * Y ); 00116 DirY = 2.0 * ( Y * Z + W * X ); 00117 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00118 Position.x += DirX * Movement_y * Multiplier; 00119 Position.y += DirY * Movement_y * Multiplier; 00120 Position.z += DirZ * Movement_y * Multiplier; 00121 } |
|
Definition at line 192 of file object.cpp. References Orientation, Position, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z.
00193 { 00194 float DirX; 00195 float DirY; 00196 float DirZ; 00197 float W = Orientation.w; 00198 float X = Orientation.x; 00199 float Y = Orientation.y; 00200 float Z = Orientation.z; 00201 DirX = 2.0 * ( X * Z - W * Y ); 00202 DirY = 2.0 * ( Y * Z + W * X ); 00203 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00204 Position.x += DirX * z; 00205 Position.y += DirY * z; 00206 Position.z += DirZ * z; 00207 } |
|
Definition at line 123 of file object.cpp. References Movement_z, Multiplier, Orientation, Position, QUAT::w, VECTOR::x, QUAT::x, VECTOR::y, QUAT::y, VECTOR::z, and QUAT::z. Referenced by UpdatePosition().
00124 { 00125 float DirX; 00126 float DirY; 00127 float DirZ; 00128 float W = Orientation.w; 00129 float X = Orientation.x; 00130 float Y = Orientation.y; 00131 float Z = Orientation.z; 00132 DirX = 2.0 * ( X * Z - W * Y ); 00133 DirY = 2.0 * ( Y * Z + W * X ); 00134 DirZ = 1.0 - 2.0 * ( X * X + Y * Y ); 00135 Position.x += DirX * Movement_z * Multiplier; 00136 Position.y += DirY * Movement_z * Multiplier; 00137 Position.z += DirZ * Movement_z * Multiplier; 00138 } |
|
Reimplemented in BULLET, CAMERA, and LIGHT. Definition at line 23 of file object.cpp. References Delta_x, Delta_y, Delta_z, Movement_x, Movement_y, Movement_z, Orientation, Position, VECTOR::Reset(), and QUAT::Reset().
00024 { 00025 Orientation.Reset(); 00026 Position.Reset(); 00027 Delta_x = 0.0; 00028 Delta_y = 0.0; 00029 Delta_z = 0.0; 00030 Movement_x = 0.0; 00031 Movement_y = 0.0; 00032 Movement_z = 0.0; 00033 } |
|
Definition at line 35 of file object.cpp. References Delta_x, Delta_y, Delta_z, QUAT::EulerToQuat(), Multiplier, QUAT::MultQuat(), Orientation, and radian. Referenced by CAMERA::Update().
00036 { 00037 QUAT temp_quat; 00038 temp_quat.EulerToQuat(Delta_x * radian * Multiplier, Delta_y * radian * Multiplier, Delta_z * radian * Multiplier); 00039 Orientation.MultQuat(temp_quat); 00040 } |
|
Definition at line 61 of file object.cpp. References MoveX(), MoveY(), and MoveZ().
|
|
Definition at line 47 of file object.cpp. References Movement_x, Movement_y, Movement_z, MoveX(), MoveY(), and MoveZ(). Referenced by LIGHT::Apply(), and CAMERA::Update().
00048 { 00049 if (Movement_x != 0) 00050 MoveX(); 00051 if (Movement_y != 0) 00052 MoveY(); 00053 if (Movement_z != 0) 00054 MoveZ(); 00055 00056 Movement_x = 0.0; 00057 Movement_y = 0.0; 00058 Movement_z = 0.0; 00059 } |
|
Definition at line 32 of file object.h. Referenced by OBJECT(), Reset(), LIGHT::Reset(), CAMERA::Reset(), BULLET::Reset(), and Rotate(). |
|
Definition at line 33 of file object.h. Referenced by OBJECT(), Reset(), LIGHT::Reset(), CAMERA::Reset(), BULLET::Reset(), and Rotate(). |
|
Definition at line 34 of file object.h. Referenced by OBJECT(), Reset(), LIGHT::Reset(), CAMERA::Reset(), BULLET::Reset(), and Rotate(). |
|
Definition at line 35 of file object.h. Referenced by MoveX(), OBJECT(), Reset(), LIGHT::Reset(), and UpdatePosition(). |
|
Definition at line 36 of file object.h. Referenced by MoveY(), OBJECT(), Reset(), LIGHT::Reset(), and UpdatePosition(). |
|
Definition at line 37 of file object.h. Referenced by MoveZ(), OBJECT(), Reset(), LIGHT::Reset(), and UpdatePosition(). |
|
Definition at line 38 of file object.h. Referenced by MoveX(), MoveY(), MoveZ(), Rotate(), UpdateBullets(), and WinMain(). |
|
Definition at line 30 of file object.h. Referenced by CAMERA::Apply(), BULLET::Draw(), GetXUnit(), GetYUnit(), GetZUnit(), MoveX(), MoveY(), MoveZ(), Reset(), LIGHT::Reset(), CAMERA::Reset(), BULLET::Reset(), Rotate(), and WinMain(). |
|
Definition at line 31 of file object.h. Referenced by LIGHT::Apply(), CAMERA::Apply(), CheckClipPlanes(), BULLET::Draw(), DrawGLScene(), MoveX(), MoveY(), MoveZ(), Reset(), LIGHT::Reset(), CAMERA::Reset(), BULLET::Reset(), UpdateBullets(), UpdateListener(), and WinMain(). |