00001 #ifndef PHYSSYSTEM_HEADER_INCLUDED 00002 #define PHYSSYSTEM_HEADER_INCLUDED 00003 00004 #include "PhysObject.h" 00005 #include "glVector.h" 00006 #include "Quaternion.h" 00007 #include "heightmap.h" 00008 #include "Ray.h" 00009 #include "Object3d.h" 00010 #include "HiResTimer.h" 00011 00012 #include <vector> 00013 using namespace std; 00014 00015 class PhysSystem 00016 { 00017 public: 00018 PhysSystem(); 00019 00020 bool AddObjects(vector<Object3d*> &new_obj_list); 00021 void UpdateAll(); 00022 00023 void WorldEffect(PhysObject &cur_obj); 00024 void Update(PhysObject &cur_obj); 00025 bool Bound(PhysObject &cur_obj); 00026 00027 bool CollidePoints(glVector point1, glVector &momentum1, float m1, float cor1, 00028 glVector point2, glVector &momentum2, float m2, float cor2); 00029 void CollideObjects(PhysObject &Object1, PhysObject &Object2); 00030 00031 vector<PhysObject> obj_list; 00032 glVector gravity; 00033 glVector wind; 00034 HeightMap *terrain; 00035 HiResTimer physics_timer; 00036 }; 00037 00038 00039 #endif
1.4.1