00001 #ifndef __COLLISIONOBJECT_H__ 00002 #define __COLLISIONOBJECT_H__ 00003 00004 #ifdef __APPLE__ 00005 #include <GraphicsLib/Point3.h> 00006 #include <GraphicsLib/types.h> 00007 #else 00008 #include "Point3.h" 00009 #include "types.h" 00010 #endif 00011 00017 #include "Particle.h" 00018 00019 namespace ParticleSystems { 00020 00022 00028 class CollisionObject { 00029 public: 00031 00034 CollisionObject(); 00035 00037 00040 virtual ~CollisionObject(); 00041 00043 00048 virtual void collide(Particle *p) = 0; 00049 00051 00054 virtual void draw() = 0; 00055 00057 00060 virtual void translate() = 0; 00061 00063 00066 virtual void rotate() = 0; 00067 00069 00072 virtual void scale() = 0; 00073 00075 00079 GraphicsLib::Real distance; 00080 }; 00081 } 00082 #endif 00083