00001 /*========================================================================= 00002 UberSim Source Code Release 00003 ------------------------------------------------------------------------- 00004 Copyright (C) 2002 Manuela Veloso, Brett Browning, Mike Bowling, 00005 James Bruce; {mmv, brettb, mhb, jbruce}@cs.cmu.edu 00006 Erick Tryzelaar {erickt}@andrew.cmu.edu 00007 School of Computer Science, Carnegie Mellon University 00008 ------------------------------------------------------------------------- 00009 This software is distributed under the GNU General Public License, 00010 version 2. If you do not have a copy of this licence, visit 00011 www.gnu.org, or write: Free Software Foundation, 59 Temple Place, 00012 Suite 330 Boston, MA 02111-1307 USA. This program is distributed 00013 in the hope that it will be useful, but WITHOUT ANY WARRANTY, 00014 including MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00015 -------------------------------------------------------------------------*/ 00016 00017 #ifndef __SIM_ISLAND_H__ 00018 #define __SIM_ISLAND_H__ 00019 00020 #include "nommgr.h" 00021 #include <vector> 00022 #include "mmgr.h" 00029 class RigidBody; 00030 00031 class Island 00032 { 00033 public: 00034 Island (); 00035 virtual ~Island (); 00036 00037 public: 00038 virtual RigidBody* getRigidBody (unsigned int index); 00039 virtual unsigned int getRigidBodyCount (); 00040 00041 public: 00042 virtual void addRigidBody (RigidBody* rigidBody); 00043 virtual void removeRigidBody (RigidBody* rigidBody); 00044 virtual RigidBody* removeRigidBody (unsigned int index); 00045 00046 virtual unsigned int size (); 00047 00048 protected: 00049 std::vector<RigidBody *> rigidBodies; 00050 unsigned int rigidBodyCount; 00051 }; 00052 00053 #endif