Index: /orxonox/branches/physics/src/Makefile.am
===================================================================
--- /orxonox/branches/physics/src/Makefile.am	(revision 3960)
+++ /orxonox/branches/physics/src/Makefile.am	(revision 3961)
@@ -20,4 +20,5 @@
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/animation
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/common
+AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/physics
 
 
@@ -74,7 +75,12 @@
 		 util/common/list.cc \
 		 util/resource_manager.cc \
+		 util/physics/i_physics.cc \
+		 util/physics/physics_engine.cc \
+		 util/physics/physical_interaction.cc \
+		 util/physics/physical_interaction_sym.cc \
+		 util/physics/physical_interaction_asym.cc \
 		 lib/math/vector.cc \
 		 lib/math/curve.cc \
-		 glmenu/glmenu_imagescreen.cc 
+		 glmenu/glmenu_imagescreen.cc
 
 noinst_HEADERS = orxonox.h \
@@ -131,4 +137,9 @@
 		 util/common/list_template.h \
 		 util/resource_manager.h \
+		 util/physics/i_physics.h \
+                 util/physics/physics_engine.h \
+                 util/physics/physical_interaction.h \
+  		 util/physics/physical_interaction_sym.h \
+		 util/physics/physical_interaction_asym.h \
 		 lib/util/ini_parser.h \
 		 lib/math/vector.h \
Index: /orxonox/branches/physics/src/Makefile.in
===================================================================
--- /orxonox/branches/physics/src/Makefile.in	(revision 3960)
+++ /orxonox/branches/physics/src/Makefile.in	(revision 3961)
@@ -70,5 +70,9 @@
 	texture.$(OBJEXT) base_entity.$(OBJEXT) base_object.$(OBJEXT) \
 	ini_parser.$(OBJEXT) list.$(OBJEXT) resource_manager.$(OBJEXT) \
-	vector.$(OBJEXT) curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT)
+	i_physics.$(OBJEXT) physics_engine.$(OBJEXT) \
+	physical_interaction.$(OBJEXT) \
+	physical_interaction_sym.$(OBJEXT) \
+	physical_interaction_asym.$(OBJEXT) vector.$(OBJEXT) \
+	curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
 orxonox_LDADD = $(LDADD)
@@ -91,9 +95,14 @@
 @AMDEP_TRUE@	./$(DEPDIR)/graphics_engine.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/helper_parent.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/ini_parser.Po ./$(DEPDIR)/keynames.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/light.Po ./$(DEPDIR)/list.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/material.Po ./$(DEPDIR)/model.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/objModel.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/i_physics.Po ./$(DEPDIR)/ini_parser.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/keynames.Po ./$(DEPDIR)/light.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/list.Po ./$(DEPDIR)/material.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/model.Po ./$(DEPDIR)/null_parent.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/objModel.Po ./$(DEPDIR)/orxonox.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/p_node.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/physical_interaction.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/physical_interaction_asym.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/physical_interaction_sym.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/physics_engine.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/player.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/primitive_model.Po \
@@ -237,5 +246,5 @@
 target_vendor = @target_vendor@
 MAINSRCDIR = .
-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/gui -I$(MAINSRCDIR)/lib/lang -I$(MAINSRCDIR)/lib/util -I$(MAINSRCDIR)/lib/math -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
+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/gui -I$(MAINSRCDIR)/lib/lang -I$(MAINSRCDIR)/lib/util -I$(MAINSRCDIR)/lib/math -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/physics
 AM_LDFLAGS = $(MWINDOWS)
 orxonox_SOURCES = orxonox.cc \
@@ -284,7 +293,12 @@
 		 util/common/list.cc \
 		 util/resource_manager.cc \
+		 util/physics/i_physics.cc \
+		 util/physics/physics_engine.cc \
+		 util/physics/physical_interaction.cc \
+		 util/physics/physical_interaction_sym.cc \
+		 util/physics/physical_interaction_asym.cc \
 		 lib/math/vector.cc \
 		 lib/math/curve.cc \
-		 glmenu/glmenu_imagescreen.cc 
+		 glmenu/glmenu_imagescreen.cc
 
 noinst_HEADERS = orxonox.h \
@@ -341,4 +355,9 @@
 		 util/common/list_template.h \
 		 util/resource_manager.h \
+		 util/physics/i_physics.h \
+                 util/physics/physics_engine.h \
+                 util/physics/physical_interaction.h \
+  		 util/physics/physical_interaction_sym.h \
+		 util/physics/physical_interaction_asym.h \
 		 lib/util/ini_parser.h \
 		 lib/math/vector.h \
@@ -444,4 +463,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/graphics_engine.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper_parent.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/i_physics.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ini_parser.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keynames.Po@am__quote@
@@ -454,4 +474,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/p_node.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physical_interaction.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physical_interaction_asym.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physical_interaction_sym.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/physics_engine.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/player.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/primitive_model.Po@am__quote@
@@ -1097,4 +1121,84 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o resource_manager.obj `if test -f 'util/resource_manager.cc'; then $(CYGPATH_W) 'util/resource_manager.cc'; else $(CYGPATH_W) '$(srcdir)/util/resource_manager.cc'; fi`
+
+i_physics.o: util/physics/i_physics.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT i_physics.o -MD -MP -MF "$(DEPDIR)/i_physics.Tpo" -c -o i_physics.o `test -f 'util/physics/i_physics.cc' || echo '$(srcdir)/'`util/physics/i_physics.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/i_physics.Tpo" "$(DEPDIR)/i_physics.Po"; else rm -f "$(DEPDIR)/i_physics.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/i_physics.cc' object='i_physics.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/i_physics.Po' tmpdepfile='$(DEPDIR)/i_physics.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o i_physics.o `test -f 'util/physics/i_physics.cc' || echo '$(srcdir)/'`util/physics/i_physics.cc
+
+i_physics.obj: util/physics/i_physics.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT i_physics.obj -MD -MP -MF "$(DEPDIR)/i_physics.Tpo" -c -o i_physics.obj `if test -f 'util/physics/i_physics.cc'; then $(CYGPATH_W) 'util/physics/i_physics.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/i_physics.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/i_physics.Tpo" "$(DEPDIR)/i_physics.Po"; else rm -f "$(DEPDIR)/i_physics.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/i_physics.cc' object='i_physics.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/i_physics.Po' tmpdepfile='$(DEPDIR)/i_physics.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o i_physics.obj `if test -f 'util/physics/i_physics.cc'; then $(CYGPATH_W) 'util/physics/i_physics.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/i_physics.cc'; fi`
+
+physics_engine.o: util/physics/physics_engine.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physics_engine.o -MD -MP -MF "$(DEPDIR)/physics_engine.Tpo" -c -o physics_engine.o `test -f 'util/physics/physics_engine.cc' || echo '$(srcdir)/'`util/physics/physics_engine.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physics_engine.Tpo" "$(DEPDIR)/physics_engine.Po"; else rm -f "$(DEPDIR)/physics_engine.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physics_engine.cc' object='physics_engine.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physics_engine.Po' tmpdepfile='$(DEPDIR)/physics_engine.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physics_engine.o `test -f 'util/physics/physics_engine.cc' || echo '$(srcdir)/'`util/physics/physics_engine.cc
+
+physics_engine.obj: util/physics/physics_engine.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physics_engine.obj -MD -MP -MF "$(DEPDIR)/physics_engine.Tpo" -c -o physics_engine.obj `if test -f 'util/physics/physics_engine.cc'; then $(CYGPATH_W) 'util/physics/physics_engine.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physics_engine.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physics_engine.Tpo" "$(DEPDIR)/physics_engine.Po"; else rm -f "$(DEPDIR)/physics_engine.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physics_engine.cc' object='physics_engine.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physics_engine.Po' tmpdepfile='$(DEPDIR)/physics_engine.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physics_engine.obj `if test -f 'util/physics/physics_engine.cc'; then $(CYGPATH_W) 'util/physics/physics_engine.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physics_engine.cc'; fi`
+
+physical_interaction.o: util/physics/physical_interaction.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physical_interaction.o -MD -MP -MF "$(DEPDIR)/physical_interaction.Tpo" -c -o physical_interaction.o `test -f 'util/physics/physical_interaction.cc' || echo '$(srcdir)/'`util/physics/physical_interaction.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physical_interaction.Tpo" "$(DEPDIR)/physical_interaction.Po"; else rm -f "$(DEPDIR)/physical_interaction.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physical_interaction.cc' object='physical_interaction.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physical_interaction.Po' tmpdepfile='$(DEPDIR)/physical_interaction.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physical_interaction.o `test -f 'util/physics/physical_interaction.cc' || echo '$(srcdir)/'`util/physics/physical_interaction.cc
+
+physical_interaction.obj: util/physics/physical_interaction.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physical_interaction.obj -MD -MP -MF "$(DEPDIR)/physical_interaction.Tpo" -c -o physical_interaction.obj `if test -f 'util/physics/physical_interaction.cc'; then $(CYGPATH_W) 'util/physics/physical_interaction.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physical_interaction.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physical_interaction.Tpo" "$(DEPDIR)/physical_interaction.Po"; else rm -f "$(DEPDIR)/physical_interaction.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physical_interaction.cc' object='physical_interaction.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physical_interaction.Po' tmpdepfile='$(DEPDIR)/physical_interaction.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physical_interaction.obj `if test -f 'util/physics/physical_interaction.cc'; then $(CYGPATH_W) 'util/physics/physical_interaction.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physical_interaction.cc'; fi`
+
+physical_interaction_sym.o: util/physics/physical_interaction_sym.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physical_interaction_sym.o -MD -MP -MF "$(DEPDIR)/physical_interaction_sym.Tpo" -c -o physical_interaction_sym.o `test -f 'util/physics/physical_interaction_sym.cc' || echo '$(srcdir)/'`util/physics/physical_interaction_sym.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physical_interaction_sym.Tpo" "$(DEPDIR)/physical_interaction_sym.Po"; else rm -f "$(DEPDIR)/physical_interaction_sym.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physical_interaction_sym.cc' object='physical_interaction_sym.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physical_interaction_sym.Po' tmpdepfile='$(DEPDIR)/physical_interaction_sym.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physical_interaction_sym.o `test -f 'util/physics/physical_interaction_sym.cc' || echo '$(srcdir)/'`util/physics/physical_interaction_sym.cc
+
+physical_interaction_sym.obj: util/physics/physical_interaction_sym.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physical_interaction_sym.obj -MD -MP -MF "$(DEPDIR)/physical_interaction_sym.Tpo" -c -o physical_interaction_sym.obj `if test -f 'util/physics/physical_interaction_sym.cc'; then $(CYGPATH_W) 'util/physics/physical_interaction_sym.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physical_interaction_sym.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physical_interaction_sym.Tpo" "$(DEPDIR)/physical_interaction_sym.Po"; else rm -f "$(DEPDIR)/physical_interaction_sym.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physical_interaction_sym.cc' object='physical_interaction_sym.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physical_interaction_sym.Po' tmpdepfile='$(DEPDIR)/physical_interaction_sym.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physical_interaction_sym.obj `if test -f 'util/physics/physical_interaction_sym.cc'; then $(CYGPATH_W) 'util/physics/physical_interaction_sym.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physical_interaction_sym.cc'; fi`
+
+physical_interaction_asym.o: util/physics/physical_interaction_asym.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physical_interaction_asym.o -MD -MP -MF "$(DEPDIR)/physical_interaction_asym.Tpo" -c -o physical_interaction_asym.o `test -f 'util/physics/physical_interaction_asym.cc' || echo '$(srcdir)/'`util/physics/physical_interaction_asym.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physical_interaction_asym.Tpo" "$(DEPDIR)/physical_interaction_asym.Po"; else rm -f "$(DEPDIR)/physical_interaction_asym.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physical_interaction_asym.cc' object='physical_interaction_asym.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physical_interaction_asym.Po' tmpdepfile='$(DEPDIR)/physical_interaction_asym.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physical_interaction_asym.o `test -f 'util/physics/physical_interaction_asym.cc' || echo '$(srcdir)/'`util/physics/physical_interaction_asym.cc
+
+physical_interaction_asym.obj: util/physics/physical_interaction_asym.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physical_interaction_asym.obj -MD -MP -MF "$(DEPDIR)/physical_interaction_asym.Tpo" -c -o physical_interaction_asym.obj `if test -f 'util/physics/physical_interaction_asym.cc'; then $(CYGPATH_W) 'util/physics/physical_interaction_asym.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physical_interaction_asym.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physical_interaction_asym.Tpo" "$(DEPDIR)/physical_interaction_asym.Po"; else rm -f "$(DEPDIR)/physical_interaction_asym.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physical_interaction_asym.cc' object='physical_interaction_asym.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physical_interaction_asym.Po' tmpdepfile='$(DEPDIR)/physical_interaction_asym.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physical_interaction_asym.obj `if test -f 'util/physics/physical_interaction_asym.cc'; then $(CYGPATH_W) 'util/physics/physical_interaction_asym.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physical_interaction_asym.cc'; fi`
 
 vector.o: lib/math/vector.cc
@@ -1268,5 +1372,5 @@
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/ai $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/data $(distdir)/lib/graphics $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/network $(distdir)/proto $(distdir)/story_entities $(distdir)/util $(distdir)/util/animation $(distdir)/util/common $(distdir)/world_entities
+	$(mkdir_p) $(distdir)/ai $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/data $(distdir)/lib/graphics $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/network $(distdir)/proto $(distdir)/story_entities $(distdir)/util $(distdir)/util/animation $(distdir)/util/common $(distdir)/util/physics $(distdir)/world_entities
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
Index: /orxonox/branches/physics/src/util/physics/i_physics.cc
===================================================================
--- /orxonox/branches/physics/src/util/physics/i_physics.cc	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/i_physics.cc	(revision 3961)
@@ -12,13 +12,13 @@
 
    ### File Specific:
-   main-programmer: ...
+   main-programmer: Patrick Boenzli
    co-programmer: ...
 */
 
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_PHYSICS
 
-#include "proto_class.h"
+#include "i_physics.h"
 
-#include "stdincl.h" // maybe
+#include "stdincl.h"
 
 using namespace std;
@@ -27,9 +27,8 @@
 /**
    \brief standard constructor
-   \todo this constructor is not jet implemented - do it
 */
-ProtoClass::ProtoClass () 
+IPhysics::IPhysics () 
 {
-   this->setClassName ("ProtoClass");
+   this->setClassName ("IPhysics");
 }
 
@@ -39,15 +38,6 @@
 
 */
-ProtoClass::~ProtoClass () 
+IPhysics::~IPhysics () 
 {
   // delete what has to be deleted here
 }
-
-/**
-   \brief nonsense - delete this method
-   \param realy nothing to give
-   \returns true or false - probably nothing?
-
-   this is just to show the doxygen abilities (this for example is an extension for a long comment)
-*/
-bool ProtoClass::doNonSense (int nothing) {}
Index: /orxonox/branches/physics/src/util/physics/i_physics.h
===================================================================
--- /orxonox/branches/physics/src/util/physics/i_physics.h	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/i_physics.h	(revision 3961)
@@ -1,39 +1,28 @@
 /*! 
-    \file proto_class.h
-    \brief Definition of the proto class template, used quickly start work
-    \todo Example: this shows how to use simply add a Marker that here has to be done something.
-
-    The Protoclass exists, to help you quikly getting the run for how to develop in orxonox.
-    It is an example for the CODING-CONVENTION, and a starting-point for every class.
+    \file i_physics.h
+    \brief a physics interface
 */
 
-#ifndef _PROTO_CLASS_H
-#define _PROTO_CLASS_H
+#ifndef _I_PHYSICS_H
+#define _I_PHYSICS_H
 
-#include "what realy has to be included"
 #include "base_object.h"
 
-// FORWARD DEFINITION \\
-class someClassWeNeed;
 
 
-/*class Test;*/ /* forward definition of class Test (without including it here!)*/
-
-//! A default class that aids you to start creating a new class
+//! A Physics interface
 /**
    here can be some longer description of this class
 */
-class ProtoClass : public BaseObject {
+class IPhysics : public BaseObject {
 
  public:
-  ProtoClass();
-  virtual ~ProtoClass();
-
-  bool doNonSense (int nothing);
+  IPhysics();
+  virtual ~IPhysics();
 
  private:
-  int nonSense;  //!< doxygen tag here like this for all the variables - delete this variable if you use this
+
 
 };
 
-#endif /* _PROTO_CLASS_H */
+#endif /* _I_PHYSICS_H */
Index: /orxonox/branches/physics/src/util/physics/physical_interaction.cc
===================================================================
--- /orxonox/branches/physics/src/util/physics/physical_interaction.cc	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/physical_interaction.cc	(revision 3961)
@@ -12,13 +12,13 @@
 
    ### File Specific:
-   main-programmer: ...
+   main-programmer: Patrick Boenzli
    co-programmer: ...
 */
 
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_PHYSICS
 
-#include "proto_class.h"
+#include "physical_interaction.h"
 
-#include "stdincl.h" // maybe
+#include "stdincl.h"
 
 using namespace std;
@@ -27,9 +27,8 @@
 /**
    \brief standard constructor
-   \todo this constructor is not jet implemented - do it
 */
-ProtoClass::ProtoClass () 
+PhysicalInteraction::PhysicalInteraction () 
 {
-   this->setClassName ("ProtoClass");
+   this->setClassName ("PhysicalInteraction");
 }
 
@@ -39,15 +38,6 @@
 
 */
-ProtoClass::~ProtoClass () 
+PhysicalInteraction::~PhysicalInteraction () 
 {
   // delete what has to be deleted here
 }
-
-/**
-   \brief nonsense - delete this method
-   \param realy nothing to give
-   \returns true or false - probably nothing?
-
-   this is just to show the doxygen abilities (this for example is an extension for a long comment)
-*/
-bool ProtoClass::doNonSense (int nothing) {}
Index: /orxonox/branches/physics/src/util/physics/physical_interaction.h
===================================================================
--- /orxonox/branches/physics/src/util/physics/physical_interaction.h	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/physical_interaction.h	(revision 3961)
@@ -8,32 +8,23 @@
 */
 
-#ifndef _PROTO_CLASS_H
-#define _PROTO_CLASS_H
+#ifndef _PHYSICAL_INTERACTION_H
+#define _PHYSICAL_INTERACTION_H
 
-#include "what realy has to be included"
+
 #include "base_object.h"
 
-// FORWARD DEFINITION \\
-class someClassWeNeed;
-
-
-/*class Test;*/ /* forward definition of class Test (without including it here!)*/
-
-//! A default class that aids you to start creating a new class
+//! An abstract definition of a physics relation
 /**
    here can be some longer description of this class
 */
-class ProtoClass : public BaseObject {
+class PhysicalInteraction : public BaseObject {
 
  public:
-  ProtoClass();
-  virtual ~ProtoClass();
-
-  bool doNonSense (int nothing);
+  PhysicalInteraction();
+  virtual ~PhysicalInteraction();
 
  private:
-  int nonSense;  //!< doxygen tag here like this for all the variables - delete this variable if you use this
 
 };
 
-#endif /* _PROTO_CLASS_H */
+#endif /* _PHYSICAL_INTERACTION_H */
Index: /orxonox/branches/physics/src/util/physics/physical_interaction_asym.cc
===================================================================
--- /orxonox/branches/physics/src/util/physics/physical_interaction_asym.cc	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/physical_interaction_asym.cc	(revision 3961)
@@ -16,9 +16,9 @@
 */
 
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_PHYSICS
 
-#include "proto_class.h"
+#include "physical_interaction_asym.h"
 
-#include "stdincl.h" // maybe
+#include "stdincl.h" 
 
 using namespace std;
@@ -27,9 +27,8 @@
 /**
    \brief standard constructor
-   \todo this constructor is not jet implemented - do it
 */
-ProtoClass::ProtoClass () 
+PhysicalInteractionAsym::PhysicalInteractionAsym () 
 {
-   this->setClassName ("ProtoClass");
+   this->setClassName ("PhysicalInteractionAsym");
 }
 
@@ -39,15 +38,6 @@
 
 */
-ProtoClass::~ProtoClass () 
+PhysicalInteractionAsym::~PhysicalInteractionAsym () 
 {
   // delete what has to be deleted here
 }
-
-/**
-   \brief nonsense - delete this method
-   \param realy nothing to give
-   \returns true or false - probably nothing?
-
-   this is just to show the doxygen abilities (this for example is an extension for a long comment)
-*/
-bool ProtoClass::doNonSense (int nothing) {}
Index: /orxonox/branches/physics/src/util/physics/physical_interaction_asym.h
===================================================================
--- /orxonox/branches/physics/src/util/physics/physical_interaction_asym.h	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/physical_interaction_asym.h	(revision 3961)
@@ -1,39 +1,27 @@
 /*! 
-    \file proto_class.h
-    \brief Definition of the proto class template, used quickly start work
-    \todo Example: this shows how to use simply add a Marker that here has to be done something.
-
-    The Protoclass exists, to help you quikly getting the run for how to develop in orxonox.
-    It is an example for the CODING-CONVENTION, and a starting-point for every class.
+    \file physical_interaction_asym.h
+    \brief Definition a asymmertrical physical interaction like force field that (in our implementation)
+    hast no reactio
 */
 
-#ifndef _PROTO_CLASS_H
-#define _PROTO_CLASS_H
+#ifndef _PHYSICAL_INTERACTION_ASYM_H
+#define _PHYSICAL_INTERACTION_ASYM_H
 
-#include "what realy has to be included"
 #include "base_object.h"
 
-// FORWARD DEFINITION \\
-class someClassWeNeed;
 
-
-/*class Test;*/ /* forward definition of class Test (without including it here!)*/
-
-//! A default class that aids you to start creating a new class
+//! An asymmetrical force
 /**
-   here can be some longer description of this class
+   forces, that only work in one firection
 */
-class ProtoClass : public BaseObject {
+class PhysicalInteractionAsym : public BaseObject {
 
  public:
-  ProtoClass();
-  virtual ~ProtoClass();
-
-  bool doNonSense (int nothing);
+  PhysicalInteractionAsym();
+  virtual ~PhysicalInteractionAsym();
 
  private:
-  int nonSense;  //!< doxygen tag here like this for all the variables - delete this variable if you use this
 
 };
 
-#endif /* _PROTO_CLASS_H */
+#endif /* _PHYSICAL_INTERACTION_ASYM_H */
Index: /orxonox/branches/physics/src/util/physics/physical_interaction_sym.cc
===================================================================
--- /orxonox/branches/physics/src/util/physics/physical_interaction_sym.cc	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/physical_interaction_sym.cc	(revision 3961)
@@ -12,13 +12,13 @@
 
    ### File Specific:
-   main-programmer: ...
+   main-programmer: Patrick Boenzli
    co-programmer: ...
 */
 
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_PHYSICS
 
-#include "proto_class.h"
+#include "physical_interaction_sym.h"
 
-#include "stdincl.h" // maybe
+#include "stdincl.h" 
 
 using namespace std;
@@ -27,9 +27,8 @@
 /**
    \brief standard constructor
-   \todo this constructor is not jet implemented - do it
 */
-ProtoClass::ProtoClass () 
+PhysicalInteractionSym::PhysicalInteractionSym () 
 {
-   this->setClassName ("ProtoClass");
+   this->setClassName ("PhysicalInteractionSym");
 }
 
@@ -39,15 +38,6 @@
 
 */
-ProtoClass::~ProtoClass () 
+PhysicalInteractionSym::~PhysicalInteractionSym () 
 {
   // delete what has to be deleted here
 }
-
-/**
-   \brief nonsense - delete this method
-   \param realy nothing to give
-   \returns true or false - probably nothing?
-
-   this is just to show the doxygen abilities (this for example is an extension for a long comment)
-*/
-bool ProtoClass::doNonSense (int nothing) {}
Index: /orxonox/branches/physics/src/util/physics/physical_interaction_sym.h
===================================================================
--- /orxonox/branches/physics/src/util/physics/physical_interaction_sym.h	(revision 3960)
+++ /orxonox/branches/physics/src/util/physics/physical_interaction_sym.h	(revision 3961)
@@ -1,39 +1,28 @@
 /*! 
-    \file proto_class.h
-    \brief Definition of the proto class template, used quickly start work
-    \todo Example: this shows how to use simply add a Marker that here has to be done something.
-
-    The Protoclass exists, to help you quikly getting the run for how to develop in orxonox.
-    It is an example for the CODING-CONVENTION, and a starting-point for every class.
+    \file physical_interaction_sym.h
+    \brief this defines a symmetrical interaction like a spring force on both ends
 */
 
-#ifndef _PROTO_CLASS_H
-#define _PROTO_CLASS_H
+#ifndef _PHYSICAL_INTERACTION_SYM_H
+#define _PHYSICAL_INTERACTION_SYM_H
 
-#include "what realy has to be included"
 #include "base_object.h"
 
-// FORWARD DEFINITION \\
-class someClassWeNeed;
+
+//! A symmetrical physical interaction
+/**
+   eg. this can be a spring
+*/
+class PhysicalInteractionSym : public BaseObject {
+
+ public:
+  PhysicalInteractionSym();
+  virtual ~PhysicalInteractionSym();
 
 
-/*class Test;*/ /* forward definition of class Test (without including it here!)*/
-
-//! A default class that aids you to start creating a new class
-/**
-   here can be some longer description of this class
-*/
-class ProtoClass : public BaseObject {
-
- public:
-  ProtoClass();
-  virtual ~ProtoClass();
-
-  bool doNonSense (int nothing);
-
  private:
-  int nonSense;  //!< doxygen tag here like this for all the variables - delete this variable if you use this
 
 };
 
-#endif /* _PROTO_CLASS_H */
+
+#endif /* _PHYSICAL_INTERACTION_SYM_H */
