00001 /*************************************************************************** 00002 SimIsland.h - description 00003 ------------------- 00004 begin : mar jui 29 2003 00005 copyright : (C) 2003 by Michel DUBOIS, Yann Le Guyadec 00006 email : Michel.Dubois@univ-ubs.fr, Yann.Le-Guyadec@univ-ubs.fr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef SIMISLAND_H 00019 #define SIMISLAND_H 00020 /* 00021 #include "nommgr.h" 00022 #include <vector> 00023 #include "mmgr.h" 00024 */ 00025 #include "Island.h" 00026 #include "Graph.h" 00027 #include "Controller.h" 00028 #include "SimRigidBody.h" 00029 00034 class SimRigidBody; 00035 00036 class SimIsland : public Island, public Graph, public Controller { 00037 public: 00038 SimIsland(); 00039 ~SimIsland(); 00040 void destroyGraph(Graph * aGraph); 00041 Graph * createGraph (); 00042 void setIsEnabled (const bool isEnabled); 00043 SimRigidBody* getSimRigidBody (unsigned int index); 00044 RigidBody* getRigidBody (unsigned int index); 00045 unsigned int getRigidBodyCount (); 00046 void addRigidBody (RigidBody* rigidBody); 00047 void removeRigidBody (RigidBody* rigidBody); 00048 RigidBody* removeRigidBody (unsigned int i); 00049 void addSimRigidBody (SimRigidBody* rigidBody); 00050 void removeSimRigidBody (SimRigidBody* rigidBody); 00051 SimRigidBody* removeSimRigidBody (unsigned int i); 00052 void synchronize(); 00053 void print(); 00054 unsigned int size (); 00055 protected : 00056 /* 00057 00058 std::vector <RigidBody *> rigidBodies; 00059 unsigned int rigidBodyCount; 00060 */ 00061 }; 00062 00063 #endif