Index: /orxonox/trunk/src/lib/physics/Makefile.am
===================================================================
--- /orxonox/trunk/src/lib/physics/Makefile.am	(revision 4374)
+++ /orxonox/trunk/src/lib/physics/Makefile.am	(revision 4375)
@@ -32,5 +32,5 @@
 noinst_LIBRARIES = libORXphysics.a 
 
-libORXphysics_a_SOURCES = i_physics.cc \
+libORXphysics_a_SOURCES = physics_interface.cc \
 		       	  physics_connection.cc \
 		          physics_engine.cc \
@@ -40,5 +40,5 @@
 		          fields/twirl.cc
 
-noinst_HEADERS= i_physics.h \
+noinst_HEADERS= physics_interface.h \
 	        physics_connection.h \
 	        physics_engine.h \
Index: /orxonox/trunk/src/lib/physics/Makefile.in
===================================================================
--- /orxonox/trunk/src/lib/physics/Makefile.in	(revision 4374)
+++ /orxonox/trunk/src/lib/physics/Makefile.in	(revision 4375)
@@ -54,5 +54,5 @@
 libORXphysics_a_AR = $(AR) $(ARFLAGS)
 libORXphysics_a_LIBADD =
-am_libORXphysics_a_OBJECTS = i_physics.$(OBJEXT) \
+am_libORXphysics_a_OBJECTS = physics_interface.$(OBJEXT) \
 	physics_connection.$(OBJEXT) physics_engine.$(OBJEXT) \
 	field.$(OBJEXT) gravity.$(OBJEXT) point_gravity.$(OBJEXT) \
@@ -63,7 +63,7 @@
 am__depfiles_maybe = depfiles
 @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/field.Po ./$(DEPDIR)/gravity.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/i_physics.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/physics_connection.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/physics_engine.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/physics_interface.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/point_gravity.Po ./$(DEPDIR)/twirl.Po
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
@@ -189,5 +189,5 @@
 AM_CXXFLAGS = -I$(MAINSRCDIR) -I$(MAINSRCDIR)/world_entities -I$(MAINSRCDIR)/story_entities -I$(MAINSRCDIR)/lib -I$(MAINSRCDIR)/lib/coord -I$(MAINSRCDIR)/lib/data -I$(MAINSRCDIR)/lib/graphics -I$(MAINSRCDIR)/lib/graphics/importer -I$(MAINSRCDIR)/lib/graphics/particles -I$(MAINSRCDIR)/lib/gui -I$(MAINSRCDIR)/lib/gui/gui -I$(MAINSRCDIR)/lib/lang -I$(MAINSRCDIR)/lib/util -I$(MAINSRCDIR)/lib/math -I$(MAINSRCDIR)/lib/physics -I$(MAINSRCDIR)/lib/physics/fields -I$(MAINSRCDIR)/lib/tinyxml -I$(MAINSRCDIR)/defs -I$(MAINSRCDIR)/font -I$(MAINSRCDIR)/network -I$(MAINSRCDIR)/glmenu -I$(MAINSRCDIR)/ai -I$(MAINSRCDIR)/util -I$(MAINSRCDIR)/util/animation -I$(MAINSRCDIR)/util/common -I$(MAINSRCDIR)/util/loading -I$(MAINSRCDIR)/util/track -I$(MAINSRCDIR)/subprojects
 noinst_LIBRARIES = libORXphysics.a 
-libORXphysics_a_SOURCES = i_physics.cc \
+libORXphysics_a_SOURCES = physics_interface.cc \
 		       	  physics_connection.cc \
 		          physics_engine.cc \
@@ -197,5 +197,5 @@
 		          fields/twirl.cc
 
-noinst_HEADERS = i_physics.h \
+noinst_HEADERS = physics_interface.h \
 	        physics_connection.h \
 	        physics_engine.h \
@@ -254,7 +254,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/field.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gravity.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i_physics.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physics_connection.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physics_engine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physics_interface.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/point_gravity.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/twirl.Po@am__quote@
Index: xonox/trunk/src/lib/physics/i_physics.cc
===================================================================
--- /orxonox/trunk/src/lib/physics/i_physics.cc	(revision 4374)
+++ 	(revision )
@@ -1,92 +1,0 @@
-
-
-/* 
-   orxonox - the future of 3D-vertical-scrollers
-
-   Copyright (C) 2004 orx
-
-   This program 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 2, or (at your option)
-   any later version.
-
-   ### File Specific:
-   main-programmer: Patrick Boenzli
-   co-programmer: ...
-*/
-
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_PHYSICS
-
-#include "i_physics.h"
-#include "list.h"
-#include "string.h"
-#include "stdincl.h"
-
-using namespace std;
-
-
-/**
-   \brief standard constructor
-*/
-IPhysics::IPhysics () 
-{
-   this->setClassName ("IPhysics");
-   this->mass = 0;
-   this->massChildren = 0;
-   this->forceSum = Vector(0, 0, 0);
-}
-
-
-/**
-   \brief standard deconstructor
-
-*/
-IPhysics::~IPhysics () 
-{
-  // delete what has to be deleted here
-}
-
-void IPhysics::recalcMass()
-{
-	float massSum = 0;
-	
-	tIterator<PNode>* iterator = this->children->getIterator();
-	PNode* pn = iterator->nextElement();
-	while( pn != NULL) 
-    { 
-    	// todo: find out if children are IPhysics in an efficient way
-    	if (strcmp( pn->getClassName(), "IPhysics")) {
-			massSum += ((IPhysics*)pn)->getTotalMass();
-    	}
-      pn = iterator->nextElement();
-    }
-	delete iterator;
-	
-	if (massSum != this->massChildren ) {
-		this->massChildren = massSum;
-		if (strcmp( parent->getClassName(), "IPhysics"))
-			((IPhysics*)parent)->recalcMass();
-	} else {
-		this->massChildren = massSum;
-	}
-}
-	
-	
-void IPhysics::addForce( Vector force )
-{
-	forceSum += force;
-}
-
-void IPhysics::addForce(Vector force, Vector grip)
-{
-	// add central force
-	forceSum += force;
-	// add momentum
-	// todo: some vector math
-}
-	
-void IPhysics::tick( float dt )
-{
-	Vector acc = forceSum / ( massChildren + mass );
-	// todo: introduce kinematics
-}
Index: xonox/trunk/src/lib/physics/i_physics.h
===================================================================
--- /orxonox/trunk/src/lib/physics/i_physics.h	(revision 4374)
+++ 	(revision )
@@ -1,40 +1,0 @@
-/*! 
-    \file i_physics.h
-    \brief a physics interface simulating a body with a mass
-*/
-
-#ifndef _I_PHYSICS_H
-#define _I_PHYSICS_H
-
-#include "p_node.h"
-
-//! A Physics interface
-/**
-   here can be some longer description of this class
-*/
-class IPhysics : public PNode {
-
- public:
-  IPhysics();
-  virtual ~IPhysics();
-  
-  inline void setMass( float mass ) { this->mass = mass; };					//!< Set the mass of this node
-  inline float getMass( void ) const { return mass; };						//!< Get the mass of this node
-  inline float getTotalMass( void ) const { return mass + massChildren; };	//!< Get the sum of the masses of this node and all subnodes
-  void addForce( Vector force );									//!< Add a central force on this rigid body
-  void addForce( Vector force, Vector grip );						//!< Add a decentral force on this rigid body
-  void tick( float dt );											//!< Update kinematics, reset force sum
-
- protected:
-  void recalcMass();		//!< Recalculate the mass of the children
-  float mass;				//!< Mass of this node
-  float massChildren;		//!< Sum of the masses of the children nodes
-  Vector forceSum;			//!< Total central force for this tick
-  Quaternion momentumSum;	//!< Total momentum in this tick
-
- private:
-	
-
-};
-
-#endif /* _I_PHYSICS_H */
Index: /orxonox/trunk/src/lib/physics/physics_connection.cc
===================================================================
--- /orxonox/trunk/src/lib/physics/physics_connection.cc	(revision 4374)
+++ /orxonox/trunk/src/lib/physics/physics_connection.cc	(revision 4375)
@@ -19,4 +19,8 @@
 
 #include "physics_engine.h"
+
+#include "field.h"
+#include "particle_system.h"
+#include "physics_interface.h"
 
 using namespace std;
@@ -51,5 +55,5 @@
   switch(this->type)
     {
-    case PCON_IPhysField:
+    case PCON_PhysIField:
       
       break;
@@ -60,5 +64,5 @@
       break;
       
-    case PCON_IPhysIPhys:
+    case PCON_PhysIPhysI:
 
       break;
Index: /orxonox/trunk/src/lib/physics/physics_connection.h
===================================================================
--- /orxonox/trunk/src/lib/physics/physics_connection.h	(revision 4374)
+++ /orxonox/trunk/src/lib/physics/physics_connection.h	(revision 4375)
@@ -7,11 +7,12 @@
 #define _PHYSICS_CONNECTION_H
 
-#include "field.h"
-#include "particle_system.h"
-#include "i_physics.h"
+// Forward Declaration
+class PhysicsInterface;
+class ParticleSystem;
+class Field;
 
 //! An enumerator for different ConnectionTypes
-typedef enum PCON_Type { PCON_IPhysIPhys = 0,
-			 PCON_IPhysField = 1,
+typedef enum PCON_Type { PCON_PhysIPhysI = 0,
+			 PCON_PhysIField = 1,
 			 PCON_ParticlesField = 2 };
 
@@ -23,6 +24,6 @@
 
  public:
-  PhysicsConnection(IPhysics* partnerOne, IPhysics* partnerTwo);
-  PhysicsConnection(IPhysics* subject, Field* field);
+  PhysicsConnection(PhysicsInterface* partnerOne, PhysicsInterface* partnerTwo);
+  PhysicsConnection(PhysicsInterface* subject, Field* field);
   PhysicsConnection(ParticleSystem* particleSystem, Field* field);
 
@@ -34,6 +35,6 @@
   PCON_Type type;                    //!< What kind of connection this is.
   
-  IPhysics* subject;                 //!< The main Subject of this Connection.
-  IPhysics* partner2;                //!< The second partner of this Connection.
+  PhysicsInterface* subject;         //!< The main Subject of this Connection.
+  PhysicsInterface* partner2;        //!< The second partner of this Connection.
   
   ParticleSystem* particleSystem;    //!< A ParticleSystem in this Connection
Index: /orxonox/trunk/src/lib/physics/physics_engine.h
===================================================================
--- /orxonox/trunk/src/lib/physics/physics_engine.h	(revision 4374)
+++ /orxonox/trunk/src/lib/physics/physics_engine.h	(revision 4375)
@@ -10,5 +10,4 @@
 #include "base_object.h"
 #include "physics_connection.h"
-#include "fields.h"
 
 // Forward Declaration
@@ -25,4 +24,6 @@
   void addConnection(PhysicsConnection* connection);
   void removeConnection(PhysicsConnection* connection);
+  
+
 
   void tick(float dt);
Index: /orxonox/trunk/src/lib/physics/physics_interface.cc
===================================================================
--- /orxonox/trunk/src/lib/physics/physics_interface.cc	(revision 4375)
+++ /orxonox/trunk/src/lib/physics/physics_interface.cc	(revision 4375)
@@ -0,0 +1,94 @@
+
+
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program 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 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Patrick Boenzli
+   co-programmer: Benjamin Grauer
+   
+   bensch: renamed the file
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_PHYSICS
+
+#include "physics_interface.h"
+#include "list.h"
+#include "string.h"
+#include "stdincl.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+PhysicsInterface::PhysicsInterface () 
+{
+   this->setClassName ("PhysicsInterface");
+   this->mass = 0;
+   this->massChildren = 0;
+   this->forceSum = Vector(0, 0, 0);
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+PhysicsInterface::~PhysicsInterface () 
+{
+  // delete what has to be deleted here
+}
+
+void PhysicsInterface::recalcMass()
+{
+	float massSum = 0;
+	
+	tIterator<PNode>* iterator = this->children->getIterator();
+	PNode* pn = iterator->nextElement();
+	while( pn != NULL) 
+    { 
+    	// todo: find out if children are PhysicsInterface in an efficient way
+    	if (strcmp( pn->getClassName(), "PhysicsInterface")) {
+			massSum += ((PhysicsInterface*)pn)->getTotalMass();
+    	}
+      pn = iterator->nextElement();
+    }
+	delete iterator;
+	
+	if (massSum != this->massChildren ) {
+		this->massChildren = massSum;
+		if (strcmp( parent->getClassName(), "PhysicsInterface"))
+			((PhysicsInterface*)parent)->recalcMass();
+	} else {
+		this->massChildren = massSum;
+	}
+}
+	
+	
+void PhysicsInterface::addForce( Vector force )
+{
+	forceSum += force;
+}
+
+void PhysicsInterface::addForce(Vector force, Vector grip)
+{
+	// add central force
+	forceSum += force;
+	// add momentum
+	// todo: some vector math
+}
+	
+void PhysicsInterface::tick( float dt )
+{
+	Vector acc = forceSum / ( massChildren + mass );
+	// todo: introduce kinematics
+}
Index: /orxonox/trunk/src/lib/physics/physics_interface.h
===================================================================
--- /orxonox/trunk/src/lib/physics/physics_interface.h	(revision 4375)
+++ /orxonox/trunk/src/lib/physics/physics_interface.h	(revision 4375)
@@ -0,0 +1,40 @@
+/*! 
+    \file physics_interface.h
+    \brief a physics interface simulating a body with a mass
+*/
+
+#ifndef _PHYSICS_INTERFACE_H
+#define _PHYSICS_INTERFACE_H
+
+#include "p_node.h"
+
+//! A Physics interface
+/**
+   here can be some longer description of this class
+*/
+class PhysicsInterface : public PNode {
+
+ public:
+  PhysicsInterface();
+  virtual ~PhysicsInterface();
+  
+  inline void setMass( float mass ) { this->mass = mass; };					//!< Set the mass of this node
+  inline float getMass( void ) const { return mass; };						//!< Get the mass of this node
+  inline float getTotalMass( void ) const { return mass + massChildren; };	//!< Get the sum of the masses of this node and all subnodes
+  void addForce( Vector force );									//!< Add a central force on this rigid body
+  void addForce( Vector force, Vector grip );						//!< Add a decentral force on this rigid body
+  void tick( float dt );											//!< Update kinematics, reset force sum
+
+ protected:
+  void recalcMass();		//!< Recalculate the mass of the children
+  float mass;				//!< Mass of this node
+  float massChildren;		//!< Sum of the masses of the children nodes
+  Vector forceSum;			//!< Total central force for this tick
+  Quaternion momentumSum;	//!< Total momentum in this tick
+
+ private:
+	
+
+};
+
+#endif /* _PHYSICS_INTERFACE_H */
