00001 00006 #ifndef __COLLISIONSPHERE_H__ 00007 #define __COLLISIONSPHERE_H__ 00008 00009 #ifdef __APPLE__ 00010 #include <GraphicsLib/Point3.h> 00011 #include <GraphicsLib/types.h> 00012 #include <GraphicsLib/Vector.h> 00013 #include <GraphicsLib/Util.h> 00014 #include <GLUT/glut.h> 00015 #else 00016 #include <GL/glut.h> 00017 00018 #include "Point3.h" 00019 #include "types.h" 00020 #include "Vector.h" 00021 #include "Util.h" 00022 #endif 00023 00024 #include "Particle.h" 00025 #include "CollisionObject.h" 00026 #include "Debugger.h" 00027 00028 00029 00030 namespace ParticleSystems { 00032 00037 class CollisionSphere : public CollisionObject { 00038 public: 00040 00046 CollisionSphere( GraphicsLib::Point3 *c1, GraphicsLib::Real radius); 00047 00049 00052 virtual ~CollisionSphere(); 00053 00055 00060 virtual void collide(Particle *p); 00061 00063 00066 virtual void draw(); 00067 00069 00072 virtual void translate(); 00073 00075 00078 virtual void rotate(); 00079 00081 00084 virtual void scale(); 00085 00087 00090 GraphicsLib::Real radius; 00091 00093 00096 GraphicsLib::Point3 position; 00097 00098 }; 00099 } 00100 #endif