Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

CollisionRectangle.h

Go to the documentation of this file.
00001 
00006 #ifndef __COLLISIONRECTANGLE_H__
00007 #define __COLLISIONRECTANGLE_H__
00008 
00009 #ifdef __APPLE__
00010     #include <GraphicsLib/RealRect.h>
00011     #include <GraphicsLib/Point3.h>
00012     #include <GraphicsLib/types.h>
00013     #include <GraphicsLib/Vector.h>
00014     #include <GraphicsLib/Util.h>
00015 #else
00016     #include "RealRect.h"
00017     #include "Point3.h"
00018     #include "types.h"
00019     #include "Vector.h"
00020     #include "Util.h"
00021 #endif
00022 
00023 #include "Particle.h"
00024 #include "CollisionObject.h"
00025 #include "Debugger.h"
00026 
00027 
00028 
00029 namespace ParticleSystems {
00031 
00036         class CollisionRectangle : public CollisionObject {
00037         public:
00039 
00046             CollisionRectangle( GraphicsLib::Point3 *c1, GraphicsLib::Point3 *c2, GraphicsLib::Point3 *c3, GraphicsLib::Point3 *c4);
00047                         
00049 
00052                         virtual ~CollisionRectangle();
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 
00092             GraphicsLib::Real getDistance(GraphicsLib::Vector *v, GraphicsLib::Point3 *p);
00093                         
00095 
00099             void calcCenter();
00100                         
00102 
00106             void calculateNormal();
00107                         
00109 
00112                         GraphicsLib::Real BBheight();
00113                         
00115 
00118                         GraphicsLib::Real BBwidth();
00119                         
00121 
00124                         GraphicsLib::Real BBdepth();
00125                         
00127 
00133                         float max(float a, float b);
00134                         
00136 
00142                         float min(float a, float b);
00143                         
00145 
00148             GraphicsLib::Point3 corner1;
00149             
00151 
00154                         GraphicsLib::Point3 corner2;
00155             
00157 
00160                         GraphicsLib::Point3 corner3;
00161             
00163 
00166                         GraphicsLib::Point3 corner4;
00167                         
00169 
00172             GraphicsLib::Point3 center;
00173                         
00175 
00178             GraphicsLib::Vector normal;
00179 
00180         };
00181 }
00182 #endif
00183 

Generated on Thu Mar 24 11:05:02 2005 for ParticleSystem by  doxygen 1.4.1