00001 /* 00002 Debris - A 3D-Space-Shooter Game based on OpenGL 00003 Copyright (C) 2002 Daniel Wagner <daniel@kwaxi.org> and 00004 Sebastian Zambal <e9826978@student.tuwien.ac.at> 00005 00006 file: DObject3D.h 00007 */ 00008 00009 #pragma once 00010 00011 #include "DObject.h" 00012 #include "DTextures.h" 00013 #include "DGeometry.h" 00014 #include "DSystem.h" 00015 #include "debris.h" 00016 00017 #define EXPLOSION1 1 00018 #define EXPLOSION2 2 00019 00021 00024 class DObject3D:DObject { 00025 public: 00027 int name; 00029 int power; 00031 int explosionType; 00033 DMatrix matrix; 00035 float x; 00037 float y; 00039 float z; 00041 float r; 00042 00044 float dx; 00046 float dy; 00048 float dz; 00049 00051 float rot; 00052 00054 float drot; 00055 00057 float rotX; 00059 float rotY; 00061 float rotZ; 00062 00064 int geometryID; 00065 00067 DSystem *system; 00069 GLuint texStd; 00070 00072 unsigned long flags; 00073 00074 DObject3D( DSystem *system ); 00076 void ComputeBoundingSphere(void); 00078 virtual void Draw(void); 00080 virtual void DrawWireFrame(void); 00082 virtual void Move(void); 00084 virtual void SetPosition(float x, float y, float z); 00086 virtual void SetDRotation(float drot); 00088 virtual void SetRotation(float alpha, float rx, float ry, float rz); 00090 virtual void SetRotationAxis(float rx, float ry, float rz); 00092 virtual void SetTranslation(float dx, float dy, float dz); 00093 }; 00094 00095 typedef DObject3D* DObject3DPtr;