From 314ccc4f9dfe2a0328656b5044ca6c25b7b898c9 Mon Sep 17 00:00:00 2001 From: "chappuis.daniel" Date: Tue, 10 Feb 2009 14:33:15 +0000 Subject: [PATCH] git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@83 92aac97c-a6ce-11dd-a772-7fcde58d38e6 --- sources/reactphysics3d/engine/World.cpp | 81 ------------------------- sources/reactphysics3d/engine/World.h | 57 ----------------- 2 files changed, 138 deletions(-) delete mode 100644 sources/reactphysics3d/engine/World.cpp delete mode 100644 sources/reactphysics3d/engine/World.h diff --git a/sources/reactphysics3d/engine/World.cpp b/sources/reactphysics3d/engine/World.cpp deleted file mode 100644 index 5461826e..00000000 --- a/sources/reactphysics3d/engine/World.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -* Copyright (C) 2009 Daniel Chappuis * -**************************************************************************** -* This file is part of ReactPhysics3D. * -* * -* ReactPhysics3D is free software: you can redistribute it and/or modify * -* it under the terms of the GNU General Public License as published by * -* the Free Software Foundation, either version 3 of the License, or * -* (at your option) any later version. * -* * -* ReactPhysics3D is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU General Public License for more details. * -* * -* You should have received a copy of the GNU General Public License * -* along with ReactPhysics3D. If not, see . * -***************************************************************************/ - -// Libraries -#include "World.h" - -// We want to use the ReactPhysics3D namespace -using namespace reactphysics3d; - -// Constructor -PhysicsWorld::PhysicsWorld(const Vector3D& gravity) : gravity(gravity) { - -} - -// Destructor -PhysicsWorld::~PhysicsWorld() { - -} - -// Add a body to the physics world -void PhysicsWorld::addBody(Body* body) throw(std::invalid_argument) { - // Check if the body pointer is not null - if (body != 0) { - // Check if the body pointer isn't already in the bodyList - for(std::vector::iterator it = bodyList.begin(); it != bodyList.end(); ) { - if (*it == body) { - // The body is already in the bodyList, therefore we throw an exception - throw std::invalid_argument("Exception in PhysicsWorld::addBody() : The argument body is already in the PhysicsWorld"); - } - } - - // The body isn't already in the bodyList, therefore we add it to the list - bodyList.push_back(body); - } - else { - // Throw an exception - throw std::invalid_argument("Exception in PhysicsWorld::addBody() : The argument pointer cannot be NULL"); - } -} - -// Remove a body from the physics world -void PhysicsWorld::removeBody(Body const* const body) throw(std::invalid_argument) { - // Check if the body pointer is not null - if (body != 0) { - // Look for the body to remove in the bodyList - std::vector::iterator it = bodyList.begin(); - while(it != bodyList.end() && *it != body) { - // Increment the iterator - ++it; - } - - // If we have found the body to remove in the bodyList - if (*it == body) { - // Remove the body - bodyList.erase(it); - } else { - // The body is not in the bodyList, therfore we throw an exception - throw std::invalid_argument("Exception in PhysicsWorld::removeBody() : The argument body to remove is not in the PhysicsWorld"); - } - } - else { - // Throw an exception - throw std::invalid_argument("Exception in PhysicsWorld::removeBody() : The argument pointer cannot be NULL"); - } -} diff --git a/sources/reactphysics3d/engine/World.h b/sources/reactphysics3d/engine/World.h deleted file mode 100644 index 048e8b74..00000000 --- a/sources/reactphysics3d/engine/World.h +++ /dev/null @@ -1,57 +0,0 @@ -/**************************************************************************** -* Copyright (C) 2009 Daniel Chappuis * -**************************************************************************** -* This file is part of ReactPhysics3D. * -* * -* ReactPhysics3D is free software: you can redistribute it and/or modify * -* it under the terms of the GNU General Public License as published by * -* the Free Software Foundation, either version 3 of the License, or * -* (at your option) any later version. * -* * -* ReactPhysics3D is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU General Public License for more details. * -* * -* You should have received a copy of the GNU General Public License * -* along with ReactPhysics3D. If not, see . * -***************************************************************************/ - -#ifndef WORLD_H -#define WORLD_H - -// Libraries -#include -#include -#include "../mathematics/mathematics.h" -#include "../body/Body.h" - -// Namespace reactphysics3d -namespace reactphysics3d { - -/* ------------------------------------------------------------------- - Class PhysicsWorld : - This is an abstract class that represents the world of the - physics engine. A physics world contains all the bodies of the physics - engine. - ------------------------------------------------------------------- -*/ -class PhysicsWorld { - private : - PhysicsWorld(const PhysicsWorld&); // Copy-constructor is private because we don't want it to be used - - protected : - std::vector bodyList; // list that contains all bodies of the physics world - Vector3D gravity; // Gravity vector of the world - - public : - PhysicsWorld(const Vector3D& gravity); // Constructor - virtual ~PhysicsWorld(); // Destructor - - void addBody(Body* body) throw(std::invalid_argument); // Add a body to the physics world - void removeBody(Body const* const body) throw(std::invalid_argument); // Remove a body from the physics world -}; - -} // End of the ReactPhysics3D namespace - - #endif