#ifndef ENVIRONMENT_H #define ENVIRONMENT_H #include "constants.h" #include "Agent.h" #include #include "btBulletDynamicsCommon.h" #include "GlutStuff.h" #include "GLDebugDrawer.h" class Environment { private: btDynamicsWorld *m_dynamicsWorld; btCollisionShape* groundShape; btTransform groundTransform; btCollisionShape* colShape; btAlignedObjectArray m_collisionShapes; btBroadphaseInterface* m_broadphase; btCollisionDispatcher* m_dispatcher; btConstraintSolver* m_solver; btDefaultCollisionConfiguration* m_collisionConfiguration; btAlignedObjectArray m_joints; btAlignedObjectArray > m_matrix; enum { LEFT=0, RIGHT=1, UP=2, DOWN=3 }; public: Environment(); ~Environment() { }; void addAgent(Agent *agent); void setupEnvironment(); void createMagicCarpet(int n, int m); btAlignedObjectArray getCollisionShapes(); btDynamicsWorld *getDynamicsWorld(); btAlignedObjectArray getJoints() { return m_joints; } btAlignedObjectArray > getMatrix() { return m_matrix; } void exitEnvironment(); }; #endif //ENVIRONMENT_H