Index: /orxonox/branches/physics/src/Makefile.am
===================================================================
--- /orxonox/branches/physics/src/Makefile.am	(revision 4289)
+++ /orxonox/branches/physics/src/Makefile.am	(revision 4290)
@@ -14,4 +14,6 @@
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/util
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/math
+AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/physics
+AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/physics/fields
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/tinyxml
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/defs
@@ -23,6 +25,4 @@
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/animation
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/common
-AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/physics
-AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/physics/fields
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/loading
 AM_CXXFLAGS+=-I$(MAINSRCDIR)/util/track
@@ -94,11 +94,11 @@
 		 lib/util/ini_parser.cc \
 		 lib/util/substring.cc \
-		 util/physics/i_physics.cc \
-		 util/physics/physics_engine.cc \
-		 util/physics/physics_connection.cc \
-		 util/physics/fields/field.cc \
-		 util/physics/fields/gravity.cc \
-		 util/physics/fields/point_gravity.cc \
-		 util/physics/fields/twirl.cc \
+		 lib/physics/i_physics.cc \
+		 lib/physics/physics_engine.cc \
+		 lib/physics/physics_connection.cc \
+		 lib/physics/fields/field.cc \
+		 lib/physics/fields/gravity.cc \
+		 lib/physics/fields/point_gravity.cc \
+		 lib/physics/fields/twirl.cc \
 		 lib/math/vector.cc \
 		 lib/math/curve.cc \
@@ -172,12 +172,12 @@
 		 util/common/list_template.h \
 		 util/resource_manager.h \
-		 util/physics/i_physics.h \
-                 util/physics/physics_engine.h \
-		 util/physics/physics_connection.h \
-		 util/physics/fields/fields.h \
-		 util/physics/fields/field.h \
-		 util/physics/fields/gravity.h \
-		 util/physics/fields/point_gravity.h \
-		 util/physics/fields/twirl.h \
+		 lib/physics/i_physics.h \
+                 lib/physics/physics_engine.h \
+		 lib/physics/physics_connection.h \
+		 lib/physics/fields/fields.h \
+		 lib/physics/fields/field.h \
+		 lib/physics/fields/gravity.h \
+		 lib/physics/fields/point_gravity.h \
+		 lib/physics/fields/twirl.h \
 		 util/loading/factory.h \
 		 util/loading/load_param.h \
Index: /orxonox/branches/physics/src/Makefile.in
===================================================================
--- /orxonox/branches/physics/src/Makefile.in	(revision 4289)
+++ /orxonox/branches/physics/src/Makefile.in	(revision 4290)
@@ -255,5 +255,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/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/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/physics -I$(MAINSRCDIR)/util/physics/fields -I$(MAINSRCDIR)/util/loading -I$(MAINSRCDIR)/util/track -I$(MAINSRCDIR)/subprojects
+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
 orxonox_DEPENDENCIES = lib/gui/gui/libORXgui.a \
 		       lib/tinyxml/libtinyxml.a
@@ -315,11 +315,11 @@
 		 lib/util/ini_parser.cc \
 		 lib/util/substring.cc \
-		 util/physics/i_physics.cc \
-		 util/physics/physics_engine.cc \
-		 util/physics/physics_connection.cc \
-		 util/physics/fields/field.cc \
-		 util/physics/fields/gravity.cc \
-		 util/physics/fields/point_gravity.cc \
-		 util/physics/fields/twirl.cc \
+		 lib/physics/i_physics.cc \
+		 lib/physics/physics_engine.cc \
+		 lib/physics/physics_connection.cc \
+		 lib/physics/fields/field.cc \
+		 lib/physics/fields/gravity.cc \
+		 lib/physics/fields/point_gravity.cc \
+		 lib/physics/fields/twirl.cc \
 		 lib/math/vector.cc \
 		 lib/math/curve.cc \
@@ -393,12 +393,12 @@
 		 util/common/list_template.h \
 		 util/resource_manager.h \
-		 util/physics/i_physics.h \
-                 util/physics/physics_engine.h \
-		 util/physics/physics_connection.h \
-		 util/physics/fields/fields.h \
-		 util/physics/fields/field.h \
-		 util/physics/fields/gravity.h \
-		 util/physics/fields/point_gravity.h \
-		 util/physics/fields/twirl.h \
+		 lib/physics/i_physics.h \
+                 lib/physics/physics_engine.h \
+		 lib/physics/physics_connection.h \
+		 lib/physics/fields/fields.h \
+		 lib/physics/fields/field.h \
+		 lib/physics/fields/gravity.h \
+		 lib/physics/fields/point_gravity.h \
+		 lib/physics/fields/twirl.h \
 		 util/loading/factory.h \
 		 util/loading/load_param.h \
@@ -1369,115 +1369,115 @@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o substring.obj `if test -f 'lib/util/substring.cc'; then $(CYGPATH_W) 'lib/util/substring.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/substring.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; \
+i_physics.o: lib/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 'lib/physics/i_physics.cc' || echo '$(srcdir)/'`lib/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@	source='lib/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_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o i_physics.o `test -f 'lib/physics/i_physics.cc' || echo '$(srcdir)/'`lib/physics/i_physics.cc
+
+i_physics.obj: lib/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 'lib/physics/i_physics.cc'; then $(CYGPATH_W) 'lib/physics/i_physics.cc'; else $(CYGPATH_W) '$(srcdir)/lib/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@	source='lib/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_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o i_physics.obj `if test -f 'lib/physics/i_physics.cc'; then $(CYGPATH_W) 'lib/physics/i_physics.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/i_physics.cc'; fi`
+
+physics_engine.o: lib/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 'lib/physics/physics_engine.cc' || echo '$(srcdir)/'`lib/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@	source='lib/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_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physics_engine.o `test -f 'lib/physics/physics_engine.cc' || echo '$(srcdir)/'`lib/physics/physics_engine.cc
+
+physics_engine.obj: lib/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 'lib/physics/physics_engine.cc'; then $(CYGPATH_W) 'lib/physics/physics_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/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@	source='lib/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`
-
-physics_connection.o: util/physics/physics_connection.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physics_connection.o -MD -MP -MF "$(DEPDIR)/physics_connection.Tpo" -c -o physics_connection.o `test -f 'util/physics/physics_connection.cc' || echo '$(srcdir)/'`util/physics/physics_connection.cc; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physics_engine.obj `if test -f 'lib/physics/physics_engine.cc'; then $(CYGPATH_W) 'lib/physics/physics_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/physics_engine.cc'; fi`
+
+physics_connection.o: lib/physics/physics_connection.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physics_connection.o -MD -MP -MF "$(DEPDIR)/physics_connection.Tpo" -c -o physics_connection.o `test -f 'lib/physics/physics_connection.cc' || echo '$(srcdir)/'`lib/physics/physics_connection.cc; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physics_connection.Tpo" "$(DEPDIR)/physics_connection.Po"; else rm -f "$(DEPDIR)/physics_connection.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physics_connection.cc' object='physics_connection.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/physics_connection.cc' object='physics_connection.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physics_connection.Po' tmpdepfile='$(DEPDIR)/physics_connection.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_connection.o `test -f 'util/physics/physics_connection.cc' || echo '$(srcdir)/'`util/physics/physics_connection.cc
-
-physics_connection.obj: util/physics/physics_connection.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physics_connection.obj -MD -MP -MF "$(DEPDIR)/physics_connection.Tpo" -c -o physics_connection.obj `if test -f 'util/physics/physics_connection.cc'; then $(CYGPATH_W) 'util/physics/physics_connection.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physics_connection.cc'; fi`; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physics_connection.o `test -f 'lib/physics/physics_connection.cc' || echo '$(srcdir)/'`lib/physics/physics_connection.cc
+
+physics_connection.obj: lib/physics/physics_connection.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT physics_connection.obj -MD -MP -MF "$(DEPDIR)/physics_connection.Tpo" -c -o physics_connection.obj `if test -f 'lib/physics/physics_connection.cc'; then $(CYGPATH_W) 'lib/physics/physics_connection.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/physics_connection.cc'; fi`; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/physics_connection.Tpo" "$(DEPDIR)/physics_connection.Po"; else rm -f "$(DEPDIR)/physics_connection.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/physics_connection.cc' object='physics_connection.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/physics_connection.cc' object='physics_connection.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/physics_connection.Po' tmpdepfile='$(DEPDIR)/physics_connection.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_connection.obj `if test -f 'util/physics/physics_connection.cc'; then $(CYGPATH_W) 'util/physics/physics_connection.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/physics_connection.cc'; fi`
-
-field.o: util/physics/fields/field.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT field.o -MD -MP -MF "$(DEPDIR)/field.Tpo" -c -o field.o `test -f 'util/physics/fields/field.cc' || echo '$(srcdir)/'`util/physics/fields/field.cc; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o physics_connection.obj `if test -f 'lib/physics/physics_connection.cc'; then $(CYGPATH_W) 'lib/physics/physics_connection.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/physics_connection.cc'; fi`
+
+field.o: lib/physics/fields/field.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT field.o -MD -MP -MF "$(DEPDIR)/field.Tpo" -c -o field.o `test -f 'lib/physics/fields/field.cc' || echo '$(srcdir)/'`lib/physics/fields/field.cc; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/field.Tpo" "$(DEPDIR)/field.Po"; else rm -f "$(DEPDIR)/field.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/field.cc' object='field.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/field.cc' object='field.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/field.Po' tmpdepfile='$(DEPDIR)/field.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 field.o `test -f 'util/physics/fields/field.cc' || echo '$(srcdir)/'`util/physics/fields/field.cc
-
-field.obj: util/physics/fields/field.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT field.obj -MD -MP -MF "$(DEPDIR)/field.Tpo" -c -o field.obj `if test -f 'util/physics/fields/field.cc'; then $(CYGPATH_W) 'util/physics/fields/field.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/field.cc'; fi`; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o field.o `test -f 'lib/physics/fields/field.cc' || echo '$(srcdir)/'`lib/physics/fields/field.cc
+
+field.obj: lib/physics/fields/field.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT field.obj -MD -MP -MF "$(DEPDIR)/field.Tpo" -c -o field.obj `if test -f 'lib/physics/fields/field.cc'; then $(CYGPATH_W) 'lib/physics/fields/field.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/field.cc'; fi`; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/field.Tpo" "$(DEPDIR)/field.Po"; else rm -f "$(DEPDIR)/field.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/field.cc' object='field.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/field.cc' object='field.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/field.Po' tmpdepfile='$(DEPDIR)/field.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 field.obj `if test -f 'util/physics/fields/field.cc'; then $(CYGPATH_W) 'util/physics/fields/field.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/field.cc'; fi`
-
-gravity.o: util/physics/fields/gravity.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gravity.o -MD -MP -MF "$(DEPDIR)/gravity.Tpo" -c -o gravity.o `test -f 'util/physics/fields/gravity.cc' || echo '$(srcdir)/'`util/physics/fields/gravity.cc; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o field.obj `if test -f 'lib/physics/fields/field.cc'; then $(CYGPATH_W) 'lib/physics/fields/field.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/field.cc'; fi`
+
+gravity.o: lib/physics/fields/gravity.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gravity.o -MD -MP -MF "$(DEPDIR)/gravity.Tpo" -c -o gravity.o `test -f 'lib/physics/fields/gravity.cc' || echo '$(srcdir)/'`lib/physics/fields/gravity.cc; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/gravity.Tpo" "$(DEPDIR)/gravity.Po"; else rm -f "$(DEPDIR)/gravity.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/gravity.cc' object='gravity.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/gravity.cc' object='gravity.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/gravity.Po' tmpdepfile='$(DEPDIR)/gravity.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 gravity.o `test -f 'util/physics/fields/gravity.cc' || echo '$(srcdir)/'`util/physics/fields/gravity.cc
-
-gravity.obj: util/physics/fields/gravity.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gravity.obj -MD -MP -MF "$(DEPDIR)/gravity.Tpo" -c -o gravity.obj `if test -f 'util/physics/fields/gravity.cc'; then $(CYGPATH_W) 'util/physics/fields/gravity.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/gravity.cc'; fi`; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gravity.o `test -f 'lib/physics/fields/gravity.cc' || echo '$(srcdir)/'`lib/physics/fields/gravity.cc
+
+gravity.obj: lib/physics/fields/gravity.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gravity.obj -MD -MP -MF "$(DEPDIR)/gravity.Tpo" -c -o gravity.obj `if test -f 'lib/physics/fields/gravity.cc'; then $(CYGPATH_W) 'lib/physics/fields/gravity.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/gravity.cc'; fi`; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/gravity.Tpo" "$(DEPDIR)/gravity.Po"; else rm -f "$(DEPDIR)/gravity.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/gravity.cc' object='gravity.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/gravity.cc' object='gravity.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/gravity.Po' tmpdepfile='$(DEPDIR)/gravity.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 gravity.obj `if test -f 'util/physics/fields/gravity.cc'; then $(CYGPATH_W) 'util/physics/fields/gravity.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/gravity.cc'; fi`
-
-point_gravity.o: util/physics/fields/point_gravity.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT point_gravity.o -MD -MP -MF "$(DEPDIR)/point_gravity.Tpo" -c -o point_gravity.o `test -f 'util/physics/fields/point_gravity.cc' || echo '$(srcdir)/'`util/physics/fields/point_gravity.cc; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gravity.obj `if test -f 'lib/physics/fields/gravity.cc'; then $(CYGPATH_W) 'lib/physics/fields/gravity.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/gravity.cc'; fi`
+
+point_gravity.o: lib/physics/fields/point_gravity.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT point_gravity.o -MD -MP -MF "$(DEPDIR)/point_gravity.Tpo" -c -o point_gravity.o `test -f 'lib/physics/fields/point_gravity.cc' || echo '$(srcdir)/'`lib/physics/fields/point_gravity.cc; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/point_gravity.Tpo" "$(DEPDIR)/point_gravity.Po"; else rm -f "$(DEPDIR)/point_gravity.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/point_gravity.cc' object='point_gravity.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/point_gravity.cc' object='point_gravity.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/point_gravity.Po' tmpdepfile='$(DEPDIR)/point_gravity.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 point_gravity.o `test -f 'util/physics/fields/point_gravity.cc' || echo '$(srcdir)/'`util/physics/fields/point_gravity.cc
-
-point_gravity.obj: util/physics/fields/point_gravity.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT point_gravity.obj -MD -MP -MF "$(DEPDIR)/point_gravity.Tpo" -c -o point_gravity.obj `if test -f 'util/physics/fields/point_gravity.cc'; then $(CYGPATH_W) 'util/physics/fields/point_gravity.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/point_gravity.cc'; fi`; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o point_gravity.o `test -f 'lib/physics/fields/point_gravity.cc' || echo '$(srcdir)/'`lib/physics/fields/point_gravity.cc
+
+point_gravity.obj: lib/physics/fields/point_gravity.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT point_gravity.obj -MD -MP -MF "$(DEPDIR)/point_gravity.Tpo" -c -o point_gravity.obj `if test -f 'lib/physics/fields/point_gravity.cc'; then $(CYGPATH_W) 'lib/physics/fields/point_gravity.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/point_gravity.cc'; fi`; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/point_gravity.Tpo" "$(DEPDIR)/point_gravity.Po"; else rm -f "$(DEPDIR)/point_gravity.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/point_gravity.cc' object='point_gravity.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/point_gravity.cc' object='point_gravity.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/point_gravity.Po' tmpdepfile='$(DEPDIR)/point_gravity.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 point_gravity.obj `if test -f 'util/physics/fields/point_gravity.cc'; then $(CYGPATH_W) 'util/physics/fields/point_gravity.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/point_gravity.cc'; fi`
-
-twirl.o: util/physics/fields/twirl.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT twirl.o -MD -MP -MF "$(DEPDIR)/twirl.Tpo" -c -o twirl.o `test -f 'util/physics/fields/twirl.cc' || echo '$(srcdir)/'`util/physics/fields/twirl.cc; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o point_gravity.obj `if test -f 'lib/physics/fields/point_gravity.cc'; then $(CYGPATH_W) 'lib/physics/fields/point_gravity.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/point_gravity.cc'; fi`
+
+twirl.o: lib/physics/fields/twirl.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT twirl.o -MD -MP -MF "$(DEPDIR)/twirl.Tpo" -c -o twirl.o `test -f 'lib/physics/fields/twirl.cc' || echo '$(srcdir)/'`lib/physics/fields/twirl.cc; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/twirl.Tpo" "$(DEPDIR)/twirl.Po"; else rm -f "$(DEPDIR)/twirl.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/twirl.cc' object='twirl.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/twirl.cc' object='twirl.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/twirl.Po' tmpdepfile='$(DEPDIR)/twirl.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 twirl.o `test -f 'util/physics/fields/twirl.cc' || echo '$(srcdir)/'`util/physics/fields/twirl.cc
-
-twirl.obj: util/physics/fields/twirl.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT twirl.obj -MD -MP -MF "$(DEPDIR)/twirl.Tpo" -c -o twirl.obj `if test -f 'util/physics/fields/twirl.cc'; then $(CYGPATH_W) 'util/physics/fields/twirl.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/twirl.cc'; fi`; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o twirl.o `test -f 'lib/physics/fields/twirl.cc' || echo '$(srcdir)/'`lib/physics/fields/twirl.cc
+
+twirl.obj: lib/physics/fields/twirl.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT twirl.obj -MD -MP -MF "$(DEPDIR)/twirl.Tpo" -c -o twirl.obj `if test -f 'lib/physics/fields/twirl.cc'; then $(CYGPATH_W) 'lib/physics/fields/twirl.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/twirl.cc'; fi`; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/twirl.Tpo" "$(DEPDIR)/twirl.Po"; else rm -f "$(DEPDIR)/twirl.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/physics/fields/twirl.cc' object='twirl.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/physics/fields/twirl.cc' object='twirl.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/twirl.Po' tmpdepfile='$(DEPDIR)/twirl.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 twirl.obj `if test -f 'util/physics/fields/twirl.cc'; then $(CYGPATH_W) 'util/physics/fields/twirl.cc'; else $(CYGPATH_W) '$(srcdir)/util/physics/fields/twirl.cc'; fi`
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o twirl.obj `if test -f 'lib/physics/fields/twirl.cc'; then $(CYGPATH_W) 'lib/physics/fields/twirl.cc'; else $(CYGPATH_W) '$(srcdir)/lib/physics/fields/twirl.cc'; fi`
 
 vector.o: lib/math/vector.cc
@@ -1667,5 +1667,5 @@
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/ai $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/graphics $(distdir)/lib/graphics/importer $(distdir)/lib/graphics/particles $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/network $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/common $(distdir)/util/loading $(distdir)/util/physics $(distdir)/util/physics/fields $(distdir)/util/track $(distdir)/world_entities
+	$(mkdir_p) $(distdir)/ai $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/graphics $(distdir)/lib/graphics/importer $(distdir)/lib/graphics/particles $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/physics $(distdir)/lib/physics/fields $(distdir)/lib/util $(distdir)/network $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/common $(distdir)/util/loading $(distdir)/util/track $(distdir)/world_entities
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
Index: /orxonox/branches/physics/src/lib/physics/fields/field.cc
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/field.cc	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/field.cc	(revision 4290)
@@ -0,0 +1,59 @@
+/* 
+   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: Benjamin Grauer
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "field.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+   \todo this constructor is not jet implemented - do it
+*/
+Field::Field () 
+{
+   this->setClassName ("Field");
+   this->setMagnitude(1);
+   this->setAttenuation(0);
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+Field::~Field () 
+{
+  // delete what has to be deleted here
+}
+
+
+/**
+   \param magnitude the magnitude of the Field.
+*/
+void Field::setMagnitude(const float& magnitude)
+{
+  this->magnitude = magnitude;
+}
+
+/**
+   \param attenuation The attenuation of the Field (the bigger the smaller the region of influence)
+*/
+void Field::setAttenuation(const float& attenuation)
+{
+  this->attenuation = attenuation;
+}
Index: /orxonox/branches/physics/src/lib/physics/fields/field.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/field.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/field.h	(revision 4290)
@@ -0,0 +1,60 @@
+/* 
+   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: Benjamin Grauer
+   co-programmer: ...
+*/
+
+/*! 
+    \file field.h
+    \brief abstract definition of a Physical Field
+
+    This is a totally abstract class, that only enables different Physical Fields to 
+    exist on a common Level.
+*/
+
+#ifndef _FIELD_H
+#define _FIELD_H
+
+#include "p_node.h"
+
+// FORWARD DEFINITION
+
+
+
+//! An abstract class that represents a Force.
+class Field : public PNode 
+{
+ public:
+  Field();
+  virtual ~Field();
+
+  /** 
+      \param dt The time over which to apply the force
+      \param data This is the data given to this force, to calculate the ForceVector
+      \returns The Force Vector
+  */
+  virtual Vector calcForce(float dt, const Vector& data) const = 0;
+
+  void setMagnitude(const float& magnitude);
+  /** \returns The Magnitude of the Field */
+  inline const float& getMagnitude(void) const {return this->magnitude;}
+
+  void setAttenuation(const float& attenuation);
+  /** \returns The Attenuation of the Fiels */
+  inline const float& getAttenuation(void) const {return this->attenuation;}
+
+ private:
+  float magnitude;                //!< The strength of the field
+  float attenuation;              //!< The Attenuation (the bigger the shorter the influenced distance).
+};
+
+#endif /* _FIELD_H */
Index: /orxonox/branches/physics/src/lib/physics/fields/fields.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/fields.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/fields.h	(revision 4290)
@@ -0,0 +1,40 @@
+/* 
+   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: Benjamin Grauer
+   co-programmer: ...
+*/
+
+/*! 
+    \file fields.h
+    \brief collection of all Headers of all the different fileds there are in the 
+    PhysicsEngine
+*/
+
+
+#ifndef _FILEDS_H
+#define _FIELDS_H
+
+/* The superclass */
+#include "field.h"
+
+/* subclasses Fields without Position */
+#include "gravity.h"
+
+/* subclasses of field with position */
+#include "point_gravity.h"
+#include "twirl.h"
+
+/* many more fields */
+
+
+
+#endif /* _FIELDS_H */
Index: /orxonox/branches/physics/src/lib/physics/fields/gravity.cc
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/gravity.cc	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/gravity.cc	(revision 4290)
@@ -0,0 +1,52 @@
+/* 
+   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: ...
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "gravity.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+   \todo this constructor is not jet implemented - do it
+*/
+Gravity::Gravity () 
+{
+   this->setClassName ("Gravity");
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+Gravity::~Gravity () 
+{
+  // delete what has to be deleted here
+}
+
+/**
+   \brief calculates the Gravity on any point in space
+   \param data The Position of the Point in space to attache gravity to.
+   \returns The force.
+*/
+Vector Gravity::calcForce(float dt, const Vector& data) const
+{
+  return /*(this->getAbsDir().apply(Vector(0,1,0)))*/ Vector(0,-1,0) * this->getMagnitude() * dt;
+}
+
+
Index: /orxonox/branches/physics/src/lib/physics/fields/gravity.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/gravity.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/gravity.h	(revision 4290)
@@ -0,0 +1,29 @@
+/*! 
+    \file gravity.h
+    \brief Definition of ...
+
+*/
+
+#ifndef _GRAVITY_H
+#define _GRAVITY_H
+
+#include "field.h"
+
+// FORWARD DEFINITION
+
+
+
+//! A class for ...
+class Gravity : public Field {
+
+ public:
+  Gravity();
+  virtual ~Gravity();
+
+  virtual Vector calcForce(float dt, const Vector& data) const;
+
+ private:
+
+};
+
+#endif /* _GRAVITY_H */
Index: /orxonox/branches/physics/src/lib/physics/fields/point_gravity.cc
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/point_gravity.cc	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/point_gravity.cc	(revision 4290)
@@ -0,0 +1,52 @@
+/* 
+   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: ...
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "point_gravity.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+   \todo this constructor is not jet implemented - do it
+*/
+PointGravity::PointGravity () 
+{
+   this->setClassName ("PointGravity");
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+PointGravity::~PointGravity () 
+{
+  // delete what has to be deleted here
+}
+
+/**
+   \brief calculates the PointGravity on any point in space
+   \param data The Position of the Point in space to attache PointGravity to.
+   \returns The force.
+*/
+Vector PointGravity::calcForce(float dt, const Vector& data) const
+{
+  return (this->getAbsCoor() - data) * this->getMagnitude() * dt;
+}
+
+
Index: /orxonox/branches/physics/src/lib/physics/fields/point_gravity.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/point_gravity.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/point_gravity.h	(revision 4290)
@@ -0,0 +1,29 @@
+/*! 
+    \file point_gravity.h
+    \brief Definition of ...
+
+*/
+
+#ifndef _POINT_GRAVITY_H
+#define _POINT_GRAVITY_H
+
+#include "field.h"
+
+// FORWARD DEFINITION
+
+
+
+//! A class for ...
+class PointGravity : public Field {
+
+ public:
+  PointGravity();
+  virtual ~PointGravity();
+
+  virtual Vector calcForce(float dt, const Vector& data) const;
+
+ private:
+
+};
+
+#endif /* _POINT_GRAVITY_H */
Index: /orxonox/branches/physics/src/lib/physics/fields/twirl.cc
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/twirl.cc	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/twirl.cc	(revision 4290)
@@ -0,0 +1,53 @@
+/* 
+   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: ...
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "twirl.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+   \todo this constructor is not jet implemented - do it
+*/
+Twirl::Twirl () 
+{
+   this->setClassName ("Twirl");
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+Twirl::~Twirl () 
+{
+  // delete what has to be deleted here
+}
+
+/**
+   \brief calculates the Twirl on any point in space
+   \param data The Position of the Point in space to attache twirl to.
+   \returns The force.
+*/
+Vector Twirl::calcForce(float dt, const Vector& data) const
+{
+  return /*this->getAbsDir()*/ Vector(0,1,0).cross(this->getAbsCoor() - data)
+    * this->getMagnitude() * dt;
+}
+
+
Index: /orxonox/branches/physics/src/lib/physics/fields/twirl.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/fields/twirl.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/fields/twirl.h	(revision 4290)
@@ -0,0 +1,29 @@
+/*! 
+    \file twirl.h
+    \brief Definition of ...
+
+*/
+
+#ifndef _TWIRL_H
+#define _TWIRL_H
+
+#include "field.h"
+
+// FORWARD DEFINITION
+
+
+
+//! A class for ...
+class Twirl : public Field {
+
+ public:
+  Twirl();
+  virtual ~Twirl();
+
+  virtual Vector calcForce(float dt, const Vector& data) const;
+
+ private:
+
+};
+
+#endif /* _TWIRL_H */
Index: /orxonox/branches/physics/src/lib/physics/i_physics.cc
===================================================================
--- /orxonox/branches/physics/src/lib/physics/i_physics.cc	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/i_physics.cc	(revision 4290)
@@ -0,0 +1,92 @@
+
+
+/* 
+   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: /orxonox/branches/physics/src/lib/physics/i_physics.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/i_physics.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/i_physics.h	(revision 4290)
@@ -0,0 +1,40 @@
+/*! 
+    \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/branches/physics/src/lib/physics/physics_connection.cc
===================================================================
--- /orxonox/branches/physics/src/lib/physics/physics_connection.cc	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/physics_connection.cc	(revision 4290)
@@ -0,0 +1,66 @@
+/* 
+   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: Benjamin Grauer
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "physics_connection.h"
+
+#include "physics_engine.h"
+
+using namespace std;
+
+
+
+PhysicsConnection::PhysicsConnection(ParticleSystem* particleSystem, Field* field)
+{
+  this->type = PCON_ParticlesField;
+  this->particleSystem = particleSystem;
+  this->field = field;
+
+  PhysicsEngine::getInstance()->addConnection(this);
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+PhysicsConnection::~PhysicsConnection () 
+{
+  PhysicsEngine::getInstance()->removeConnection(this);
+}
+
+/** 
+    \brief applies the Force to some Object.
+    \param dt The time to apply in Seconds
+*/
+void PhysicsConnection::apply(const float& dt) const
+{
+  switch(this->type)
+    {
+    case PCON_IPhysField:
+      
+      break;
+
+    case PCON_ParticlesField:
+      this->particleSystem->applyField(dt, this->field);
+
+      break;
+      
+    case PCON_IPhysIPhys:
+
+      break;
+    }
+}
Index: /orxonox/branches/physics/src/lib/physics/physics_connection.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/physics_connection.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/physics_connection.h	(revision 4290)
@@ -0,0 +1,44 @@
+/*! 
+    \file physics_connection.h
+    \brief Definition of The Physical Connection Class.
+*/
+
+#ifndef _PHYSICS_CONNECTION_H 
+#define _PHYSICS_CONNECTION_H
+
+#include "field.h"
+#include "particle_system.h"
+#include "i_physics.h"
+
+//! An enumerator for different ConnectionTypes
+typedef enum PCON_Type { PCON_IPhysIPhys = 0,
+			 PCON_IPhysField = 1,
+			 PCON_ParticlesField = 2 };
+
+
+// Forward Declaration
+
+//! A class that Handles Physical Connection between subjects
+class PhysicsConnection {
+
+ public:
+  PhysicsConnection(IPhysics* partnerOne, IPhysics* partnerTwo);
+  PhysicsConnection(IPhysics* subject, Field* field);
+  PhysicsConnection(ParticleSystem* particleSystem, Field* field);
+
+  virtual ~PhysicsConnection();
+
+  void apply(const float& dt) const;
+
+ private:
+  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.
+  
+  ParticleSystem* particleSystem;    //!< A ParticleSystem in this Connection
+  
+  Field* field;                      //!< The field to connect either subject of ParticleSystem to.
+};
+
+#endif /* _PHYSICS_CONNECTION_H */
Index: /orxonox/branches/physics/src/lib/physics/physics_engine.cc
===================================================================
--- /orxonox/branches/physics/src/lib/physics/physics_engine.cc	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/physics_engine.cc	(revision 4290)
@@ -0,0 +1,101 @@
+/* 
+   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: ...
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+
+#include "physics_engine.h"
+
+#include "list.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+PhysicsEngine::PhysicsEngine() 
+{
+   this->setClassName ("PhysicsEngine");
+
+   this->connections = new tList<PhysicsConnection>;
+}
+
+/**
+   \brief the singleton reference to this class
+*/
+PhysicsEngine* PhysicsEngine::singletonRef = NULL;
+
+/**
+   \returns a Pointer to this Class
+*/
+PhysicsEngine* PhysicsEngine::getInstance(void)
+{
+  if (!PhysicsEngine::singletonRef)
+    PhysicsEngine::singletonRef = new PhysicsEngine();
+  return PhysicsEngine::singletonRef;
+}
+
+/**
+   \brief standard deconstructor
+
+*/
+PhysicsEngine::~PhysicsEngine () 
+{
+  PhysicsEngine::singletonRef = NULL;
+}
+
+/**
+   \brief adds A Physical Connection to the List of Connections
+   \param connection the Connection to add
+   
+   Usually this is done through the constructor of PhysicshConnections
+*/
+void PhysicsEngine::addConnection(PhysicsConnection* connection)
+{
+  this->connections->add(connection);
+}
+
+/**
+   \brief removes A Physical Connection from the List of Connections
+   \param connection the Connection to remove
+   
+   Usually this is done through the destructor of PhysicsConnections
+*/
+void PhysicsEngine::removeConnection(PhysicsConnection* connection)
+{
+  this->connections->remove(connection);
+}
+
+
+
+
+
+/**
+   \brief Steps through all the Connections and Ticks them
+   \param dt The time Passed in Seconds
+
+   This function brings a flow into the whole animation
+*/
+void PhysicsEngine::tick(float dt)
+{
+  tIterator<PhysicsConnection>* iterator = this->connections->getIterator();
+  PhysicsConnection* enumConn = iterator->nextElement();
+  while (enumConn)
+    {
+      enumConn->apply(dt);
+      enumConn = iterator->nextElement();
+    }
+  delete iterator;
+}
Index: /orxonox/branches/physics/src/lib/physics/physics_engine.h
===================================================================
--- /orxonox/branches/physics/src/lib/physics/physics_engine.h	(revision 4290)
+++ /orxonox/branches/physics/src/lib/physics/physics_engine.h	(revision 4290)
@@ -0,0 +1,41 @@
+/*! 
+    \file physics_engine.h
+    \brief Definition of the ... singleton Class
+    
+*/
+
+#ifndef _PHYSICS_ENGINE_H
+#define _PHYSICS_ENGINE_H
+
+#include "base_object.h"
+#include "physics_connection.h"
+#include "fields.h"
+
+// Forward Declaration
+template<class T> class tList;
+
+
+//! A default singleton class.
+class PhysicsEngine : public BaseObject {
+
+ public:
+  static PhysicsEngine* getInstance(void);
+  virtual ~PhysicsEngine(void);
+
+  void addConnection(PhysicsConnection* connection);
+  void removeConnection(PhysicsConnection* connection);
+
+  void tick(float dt);
+
+ private:
+  PhysicsEngine(void);
+  static PhysicsEngine* singletonRef;
+
+  tList<PhysicsConnection>* connections;
+
+  
+};
+
+
+
+#endif /* _PHYSICS_ENGINE_H */
