Index: /orxonox/trunk/configure
===================================================================
--- /orxonox/trunk/configure	(revision 4526)
+++ /orxonox/trunk/configure	(revision 4527)
@@ -8732,5 +8732,5 @@
 ## OUTPUT CONFIGURE ##
 ######################
-                                                                                                                                                                ac_config_files="$ac_config_files Makefile src/Makefile src/lib/Makefile src/lib/graphics/Makefile src/lib/graphics/importer/Makefile src/lib/sound/Makefile src/lib/event/Makefile src/lib/physics/Makefile src/lib/particles/Makefile src/lib/gui/Makefile src/lib/tinyxml/Makefile src/subprojects/Makefile src/subprojects/testmain/Makefile src/subprojects/importer/Makefile src/subprojects/particles/Makefile src/subprojects/gui/Makefile"
+                                                                                                                                                                          ac_config_files="$ac_config_files Makefile src/Makefile src/lib/Makefile src/lib/graphics/Makefile src/lib/graphics/importer/Makefile src/lib/sound/Makefile src/lib/event/Makefile src/lib/physics/Makefile src/lib/particles/Makefile src/lib/collision_detection/Makefile src/lib/gui/Makefile src/lib/tinyxml/Makefile src/subprojects/Makefile src/subprojects/testmain/Makefile src/subprojects/importer/Makefile src/subprojects/particles/Makefile src/subprojects/gui/Makefile"
 
 
@@ -9335,4 +9335,5 @@
   "src/lib/physics/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/physics/Makefile" ;;
   "src/lib/particles/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/particles/Makefile" ;;
+  "src/lib/collision_detection/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/collision_detection/Makefile" ;;
   "src/lib/gui/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/gui/Makefile" ;;
   "src/lib/tinyxml/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/tinyxml/Makefile" ;;
Index: /orxonox/trunk/configure.ac
===================================================================
--- /orxonox/trunk/configure.ac	(revision 4526)
+++ /orxonox/trunk/configure.ac	(revision 4527)
@@ -593,4 +593,5 @@
 		 src/lib/physics/Makefile
 		 src/lib/particles/Makefile
+		 src/lib/collision_detection/Makefile
 		 src/lib/gui/Makefile
                  src/lib/tinyxml/Makefile
Index: /orxonox/trunk/src/Makefile.am
===================================================================
--- /orxonox/trunk/src/Makefile.am	(revision 4526)
+++ /orxonox/trunk/src/Makefile.am	(revision 4527)
@@ -13,4 +13,5 @@
 		       lib/physics/libORXphysics.a \
 		       lib/particles/libORXparticles.a \
+		       lib/collision_detection/libORXcd.a \
 		       lib/tinyxml/libtinyxml.a 
 
@@ -20,4 +21,5 @@
 		lib/physics/libORXphysics.a \
 		lib/particles/libORXparticles.a \
+		lib/collision_detection/libORXcd.a \
                 lib/tinyxml/libtinyxml.a \
                 $(GTK2_LIBS) $(GTHREAD_LIBS) $(CURL_LIBS)
@@ -38,11 +40,4 @@
 		 util/loading/load_param.cc \
 		 util/state.cc \
-		 util/collision_detection/bounding_volume.cc \
-		 util/collision_detection/obb.cc \
-		 util/collision_detection/bounding_sphere.cc \
-		 util/collision_detection/bv_tree.cc \
-		 util/collision_detection/obb_tree.cc \
-		 util/collision_detection/collision.cc \
-		 util/collision_detection/cd_engine.cc \
 		 story_entities/story_entity.cc \
 		 story_entities/campaign.cc \
@@ -100,11 +95,4 @@
 		 util/loading/factory.h \
 		 util/loading/load_param.h \
-		 util/collision_detection/bounding_volume.h \
-		 util/collision_detection/obb.h \
-		 util/collision_detection/bounding_sphere.h \
-		 util/collision_detection/bv_tree.h \
-		 util/collision_detection/obb_tree.h \
-		 util/collision_detection/collision.h \
-		 util/collision_detection/cd_engine.h \
 		 story_entities/story_entity.h \
 		 story_entities/story_def.h \
Index: /orxonox/trunk/src/Makefile.in
===================================================================
--- /orxonox/trunk/src/Makefile.in	(revision 4526)
+++ /orxonox/trunk/src/Makefile.in	(revision 4527)
@@ -59,14 +59,11 @@
 	garbage_collector.$(OBJEXT) resource_manager.$(OBJEXT) \
 	factory.$(OBJEXT) load_param.$(OBJEXT) state.$(OBJEXT) \
-	bounding_volume.$(OBJEXT) obb.$(OBJEXT) \
-	bounding_sphere.$(OBJEXT) bv_tree.$(OBJEXT) obb_tree.$(OBJEXT) \
-	collision.$(OBJEXT) cd_engine.$(OBJEXT) story_entity.$(OBJEXT) \
-	campaign.$(OBJEXT) world.$(OBJEXT) world_entity.$(OBJEXT) \
-	camera.$(OBJEXT) player.$(OBJEXT) environment.$(OBJEXT) \
-	skysphere.$(OBJEXT) skybox.$(OBJEXT) terrain.$(OBJEXT) \
-	weapon.$(OBJEXT) projectile.$(OBJEXT) satellite.$(OBJEXT) \
-	character_attributes.$(OBJEXT) test_gun.$(OBJEXT) \
-	test_bullet.$(OBJEXT) test_entity.$(OBJEXT) p_node.$(OBJEXT) \
-	null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
+	story_entity.$(OBJEXT) campaign.$(OBJEXT) world.$(OBJEXT) \
+	world_entity.$(OBJEXT) camera.$(OBJEXT) player.$(OBJEXT) \
+	environment.$(OBJEXT) skysphere.$(OBJEXT) skybox.$(OBJEXT) \
+	terrain.$(OBJEXT) weapon.$(OBJEXT) projectile.$(OBJEXT) \
+	satellite.$(OBJEXT) character_attributes.$(OBJEXT) \
+	test_gun.$(OBJEXT) test_bullet.$(OBJEXT) test_entity.$(OBJEXT) \
+	p_node.$(OBJEXT) null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
 	graphics_engine.$(OBJEXT) light.$(OBJEXT) \
 	text_engine.$(OBJEXT) array.$(OBJEXT) objModel.$(OBJEXT) \
@@ -85,13 +82,9 @@
 @AMDEP_TRUE@	./$(DEPDIR)/animation_player.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/array.Po ./$(DEPDIR)/base_object.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/benchmark.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/bounding_sphere.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/bounding_volume.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/bv_tree.Po ./$(DEPDIR)/camera.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/campaign.Po ./$(DEPDIR)/cd_engine.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/benchmark.Po ./$(DEPDIR)/camera.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/campaign.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/character_attributes.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/collision.Po ./$(DEPDIR)/curve.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/environment.Po ./$(DEPDIR)/factory.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/game_loader.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/curve.Po ./$(DEPDIR)/environment.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/factory.Po ./$(DEPDIR)/game_loader.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/garbage_collector.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/glmenu_imagescreen.Po \
@@ -101,6 +94,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/load_param.Po ./$(DEPDIR)/material.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/md2Model.Po ./$(DEPDIR)/model.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/obb.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/obb_tree.Po ./$(DEPDIR)/objModel.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/objModel.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/object_manager.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
@@ -252,4 +244,5 @@
 		       lib/physics/libORXphysics.a \
 		       lib/particles/libORXparticles.a \
+		       lib/collision_detection/libORXcd.a \
 		       lib/tinyxml/libtinyxml.a 
 
@@ -259,4 +252,5 @@
 		lib/physics/libORXphysics.a \
 		lib/particles/libORXparticles.a \
+		lib/collision_detection/libORXcd.a \
                 lib/tinyxml/libtinyxml.a \
                 $(GTK2_LIBS) $(GTHREAD_LIBS) $(CURL_LIBS)
@@ -276,11 +270,4 @@
 		 util/loading/load_param.cc \
 		 util/state.cc \
-		 util/collision_detection/bounding_volume.cc \
-		 util/collision_detection/obb.cc \
-		 util/collision_detection/bounding_sphere.cc \
-		 util/collision_detection/bv_tree.cc \
-		 util/collision_detection/obb_tree.cc \
-		 util/collision_detection/collision.cc \
-		 util/collision_detection/cd_engine.cc \
 		 story_entities/story_entity.cc \
 		 story_entities/campaign.cc \
@@ -338,11 +325,4 @@
 		 util/loading/factory.h \
 		 util/loading/load_param.h \
-		 util/collision_detection/bounding_volume.h \
-		 util/collision_detection/obb.h \
-		 util/collision_detection/bounding_sphere.h \
-		 util/collision_detection/bv_tree.h \
-		 util/collision_detection/obb_tree.h \
-		 util/collision_detection/collision.h \
-		 util/collision_detection/cd_engine.h \
 		 story_entities/story_entity.h \
 		 story_entities/story_def.h \
@@ -486,12 +466,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base_object.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/benchmark.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bounding_sphere.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bounding_volume.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bv_tree.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/camera.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/campaign.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cd_engine.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/character_attributes.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curve.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/environment.Po@am__quote@
@@ -509,6 +484,4 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/model.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/null_parent.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obb.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obb_tree.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/objModel.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/object_manager.Po@am__quote@
@@ -762,116 +735,4 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o state.obj `if test -f 'util/state.cc'; then $(CYGPATH_W) 'util/state.cc'; else $(CYGPATH_W) '$(srcdir)/util/state.cc'; fi`
-
-bounding_volume.o: util/collision_detection/bounding_volume.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bounding_volume.o -MD -MP -MF "$(DEPDIR)/bounding_volume.Tpo" -c -o bounding_volume.o `test -f 'util/collision_detection/bounding_volume.cc' || echo '$(srcdir)/'`util/collision_detection/bounding_volume.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/bounding_volume.Tpo" "$(DEPDIR)/bounding_volume.Po"; else rm -f "$(DEPDIR)/bounding_volume.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/bounding_volume.cc' object='bounding_volume.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/bounding_volume.Po' tmpdepfile='$(DEPDIR)/bounding_volume.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 bounding_volume.o `test -f 'util/collision_detection/bounding_volume.cc' || echo '$(srcdir)/'`util/collision_detection/bounding_volume.cc
-
-bounding_volume.obj: util/collision_detection/bounding_volume.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bounding_volume.obj -MD -MP -MF "$(DEPDIR)/bounding_volume.Tpo" -c -o bounding_volume.obj `if test -f 'util/collision_detection/bounding_volume.cc'; then $(CYGPATH_W) 'util/collision_detection/bounding_volume.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/bounding_volume.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/bounding_volume.Tpo" "$(DEPDIR)/bounding_volume.Po"; else rm -f "$(DEPDIR)/bounding_volume.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/bounding_volume.cc' object='bounding_volume.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/bounding_volume.Po' tmpdepfile='$(DEPDIR)/bounding_volume.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 bounding_volume.obj `if test -f 'util/collision_detection/bounding_volume.cc'; then $(CYGPATH_W) 'util/collision_detection/bounding_volume.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/bounding_volume.cc'; fi`
-
-obb.o: util/collision_detection/obb.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT obb.o -MD -MP -MF "$(DEPDIR)/obb.Tpo" -c -o obb.o `test -f 'util/collision_detection/obb.cc' || echo '$(srcdir)/'`util/collision_detection/obb.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/obb.Tpo" "$(DEPDIR)/obb.Po"; else rm -f "$(DEPDIR)/obb.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/obb.cc' object='obb.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/obb.Po' tmpdepfile='$(DEPDIR)/obb.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 obb.o `test -f 'util/collision_detection/obb.cc' || echo '$(srcdir)/'`util/collision_detection/obb.cc
-
-obb.obj: util/collision_detection/obb.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT obb.obj -MD -MP -MF "$(DEPDIR)/obb.Tpo" -c -o obb.obj `if test -f 'util/collision_detection/obb.cc'; then $(CYGPATH_W) 'util/collision_detection/obb.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/obb.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/obb.Tpo" "$(DEPDIR)/obb.Po"; else rm -f "$(DEPDIR)/obb.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/obb.cc' object='obb.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/obb.Po' tmpdepfile='$(DEPDIR)/obb.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 obb.obj `if test -f 'util/collision_detection/obb.cc'; then $(CYGPATH_W) 'util/collision_detection/obb.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/obb.cc'; fi`
-
-bounding_sphere.o: util/collision_detection/bounding_sphere.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bounding_sphere.o -MD -MP -MF "$(DEPDIR)/bounding_sphere.Tpo" -c -o bounding_sphere.o `test -f 'util/collision_detection/bounding_sphere.cc' || echo '$(srcdir)/'`util/collision_detection/bounding_sphere.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/bounding_sphere.Tpo" "$(DEPDIR)/bounding_sphere.Po"; else rm -f "$(DEPDIR)/bounding_sphere.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/bounding_sphere.cc' object='bounding_sphere.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/bounding_sphere.Po' tmpdepfile='$(DEPDIR)/bounding_sphere.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 bounding_sphere.o `test -f 'util/collision_detection/bounding_sphere.cc' || echo '$(srcdir)/'`util/collision_detection/bounding_sphere.cc
-
-bounding_sphere.obj: util/collision_detection/bounding_sphere.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bounding_sphere.obj -MD -MP -MF "$(DEPDIR)/bounding_sphere.Tpo" -c -o bounding_sphere.obj `if test -f 'util/collision_detection/bounding_sphere.cc'; then $(CYGPATH_W) 'util/collision_detection/bounding_sphere.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/bounding_sphere.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/bounding_sphere.Tpo" "$(DEPDIR)/bounding_sphere.Po"; else rm -f "$(DEPDIR)/bounding_sphere.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/bounding_sphere.cc' object='bounding_sphere.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/bounding_sphere.Po' tmpdepfile='$(DEPDIR)/bounding_sphere.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 bounding_sphere.obj `if test -f 'util/collision_detection/bounding_sphere.cc'; then $(CYGPATH_W) 'util/collision_detection/bounding_sphere.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/bounding_sphere.cc'; fi`
-
-bv_tree.o: util/collision_detection/bv_tree.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bv_tree.o -MD -MP -MF "$(DEPDIR)/bv_tree.Tpo" -c -o bv_tree.o `test -f 'util/collision_detection/bv_tree.cc' || echo '$(srcdir)/'`util/collision_detection/bv_tree.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/bv_tree.Tpo" "$(DEPDIR)/bv_tree.Po"; else rm -f "$(DEPDIR)/bv_tree.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/bv_tree.cc' object='bv_tree.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/bv_tree.Po' tmpdepfile='$(DEPDIR)/bv_tree.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 bv_tree.o `test -f 'util/collision_detection/bv_tree.cc' || echo '$(srcdir)/'`util/collision_detection/bv_tree.cc
-
-bv_tree.obj: util/collision_detection/bv_tree.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT bv_tree.obj -MD -MP -MF "$(DEPDIR)/bv_tree.Tpo" -c -o bv_tree.obj `if test -f 'util/collision_detection/bv_tree.cc'; then $(CYGPATH_W) 'util/collision_detection/bv_tree.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/bv_tree.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/bv_tree.Tpo" "$(DEPDIR)/bv_tree.Po"; else rm -f "$(DEPDIR)/bv_tree.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/bv_tree.cc' object='bv_tree.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/bv_tree.Po' tmpdepfile='$(DEPDIR)/bv_tree.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 bv_tree.obj `if test -f 'util/collision_detection/bv_tree.cc'; then $(CYGPATH_W) 'util/collision_detection/bv_tree.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/bv_tree.cc'; fi`
-
-obb_tree.o: util/collision_detection/obb_tree.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT obb_tree.o -MD -MP -MF "$(DEPDIR)/obb_tree.Tpo" -c -o obb_tree.o `test -f 'util/collision_detection/obb_tree.cc' || echo '$(srcdir)/'`util/collision_detection/obb_tree.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/obb_tree.Tpo" "$(DEPDIR)/obb_tree.Po"; else rm -f "$(DEPDIR)/obb_tree.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/obb_tree.cc' object='obb_tree.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/obb_tree.Po' tmpdepfile='$(DEPDIR)/obb_tree.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 obb_tree.o `test -f 'util/collision_detection/obb_tree.cc' || echo '$(srcdir)/'`util/collision_detection/obb_tree.cc
-
-obb_tree.obj: util/collision_detection/obb_tree.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT obb_tree.obj -MD -MP -MF "$(DEPDIR)/obb_tree.Tpo" -c -o obb_tree.obj `if test -f 'util/collision_detection/obb_tree.cc'; then $(CYGPATH_W) 'util/collision_detection/obb_tree.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/obb_tree.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/obb_tree.Tpo" "$(DEPDIR)/obb_tree.Po"; else rm -f "$(DEPDIR)/obb_tree.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/obb_tree.cc' object='obb_tree.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/obb_tree.Po' tmpdepfile='$(DEPDIR)/obb_tree.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 obb_tree.obj `if test -f 'util/collision_detection/obb_tree.cc'; then $(CYGPATH_W) 'util/collision_detection/obb_tree.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/obb_tree.cc'; fi`
-
-collision.o: util/collision_detection/collision.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT collision.o -MD -MP -MF "$(DEPDIR)/collision.Tpo" -c -o collision.o `test -f 'util/collision_detection/collision.cc' || echo '$(srcdir)/'`util/collision_detection/collision.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/collision.Tpo" "$(DEPDIR)/collision.Po"; else rm -f "$(DEPDIR)/collision.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/collision.cc' object='collision.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/collision.Po' tmpdepfile='$(DEPDIR)/collision.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 collision.o `test -f 'util/collision_detection/collision.cc' || echo '$(srcdir)/'`util/collision_detection/collision.cc
-
-collision.obj: util/collision_detection/collision.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT collision.obj -MD -MP -MF "$(DEPDIR)/collision.Tpo" -c -o collision.obj `if test -f 'util/collision_detection/collision.cc'; then $(CYGPATH_W) 'util/collision_detection/collision.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/collision.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/collision.Tpo" "$(DEPDIR)/collision.Po"; else rm -f "$(DEPDIR)/collision.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/collision.cc' object='collision.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/collision.Po' tmpdepfile='$(DEPDIR)/collision.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 collision.obj `if test -f 'util/collision_detection/collision.cc'; then $(CYGPATH_W) 'util/collision_detection/collision.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/collision.cc'; fi`
-
-cd_engine.o: util/collision_detection/cd_engine.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cd_engine.o -MD -MP -MF "$(DEPDIR)/cd_engine.Tpo" -c -o cd_engine.o `test -f 'util/collision_detection/cd_engine.cc' || echo '$(srcdir)/'`util/collision_detection/cd_engine.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/cd_engine.Tpo" "$(DEPDIR)/cd_engine.Po"; else rm -f "$(DEPDIR)/cd_engine.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/cd_engine.cc' object='cd_engine.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/cd_engine.Po' tmpdepfile='$(DEPDIR)/cd_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 cd_engine.o `test -f 'util/collision_detection/cd_engine.cc' || echo '$(srcdir)/'`util/collision_detection/cd_engine.cc
-
-cd_engine.obj: util/collision_detection/cd_engine.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT cd_engine.obj -MD -MP -MF "$(DEPDIR)/cd_engine.Tpo" -c -o cd_engine.obj `if test -f 'util/collision_detection/cd_engine.cc'; then $(CYGPATH_W) 'util/collision_detection/cd_engine.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/cd_engine.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/cd_engine.Tpo" "$(DEPDIR)/cd_engine.Po"; else rm -f "$(DEPDIR)/cd_engine.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/collision_detection/cd_engine.cc' object='cd_engine.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/cd_engine.Po' tmpdepfile='$(DEPDIR)/cd_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 cd_engine.obj `if test -f 'util/collision_detection/cd_engine.cc'; then $(CYGPATH_W) 'util/collision_detection/cd_engine.cc'; else $(CYGPATH_W) '$(srcdir)/util/collision_detection/cd_engine.cc'; fi`
 
 story_entity.o: story_entities/story_entity.cc
@@ -1589,5 +1450,5 @@
 
 distdir: $(DISTFILES)
-	$(mkdir_p) $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/graphics $(distdir)/lib/graphics/importer $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/collision_detection $(distdir)/util/loading $(distdir)/util/track $(distdir)/world_entities
+	$(mkdir_p) $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/graphics $(distdir)/lib/graphics/importer $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/proto $(distdir)/story_entities $(distdir)/subprojects $(distdir)/util $(distdir)/util/animation $(distdir)/util/loading $(distdir)/util/track $(distdir)/world_entities
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
Index: /orxonox/trunk/src/lib/Makefile.am
===================================================================
--- /orxonox/trunk/src/lib/Makefile.am	(revision 4526)
+++ /orxonox/trunk/src/lib/Makefile.am	(revision 4527)
@@ -7,4 +7,5 @@
 	  physics \
 	  particles \
+	  collision_detection \
 	  tinyxml \
 	  $(GTK_PROGS)
Index: /orxonox/trunk/src/lib/Makefile.in
===================================================================
--- /orxonox/trunk/src/lib/Makefile.in	(revision 4526)
+++ /orxonox/trunk/src/lib/Makefile.in	(revision 4527)
@@ -172,4 +172,5 @@
 	  physics \
 	  particles \
+	  collision_detection \
 	  tinyxml \
 	  $(GTK_PROGS)
Index: /orxonox/trunk/src/lib/collision_detection/Makefile.am
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/Makefile.am	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/Makefile.am	(revision 4527)
@@ -0,0 +1,23 @@
+MAINSRCDIR=../..
+include $(MAINSRCDIR)/defs/include_paths.am
+
+noinst_LIBRARIES = libORXcd.a 
+
+libORXcd_a_SOURCES = cd_engine.cc \
+                     collision.cc \
+		     obb.cc \
+                     obb_tree.cc \
+                     bv_tree.cc \
+		     bounding_volume.cc \
+		     bounding_sphere.cc
+
+
+
+noinst_HEADERS =     cd_engine.h \
+                     collision.h \
+		     obb.h \
+                     obb_tree.h \
+                     bv_tree.h \
+		     bounding_volume.h \
+		     bounding_sphere.h
+
Index: /orxonox/trunk/src/lib/collision_detection/Makefile.in
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/Makefile.in	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/Makefile.in	(revision 4527)
@@ -0,0 +1,443 @@
+# Makefile.in generated by automake 1.8.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+SOURCES = $(libORXcd_a_SOURCES)
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_triplet = @host@
+subdir = src/lib/collision_detection
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+libORXcd_a_AR = $(AR) $(ARFLAGS)
+libORXcd_a_LIBADD =
+am_libORXcd_a_OBJECTS = cd_engine.$(OBJEXT) collision.$(OBJEXT) \
+	obb.$(OBJEXT) obb_tree.$(OBJEXT) bv_tree.$(OBJEXT) \
+	bounding_volume.$(OBJEXT) bounding_sphere.$(OBJEXT)
+libORXcd_a_OBJECTS = $(am_libORXcd_a_OBJECTS)
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bounding_sphere.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/bounding_volume.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/bv_tree.Po ./$(DEPDIR)/cd_engine.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/collision.Po ./$(DEPDIR)/obb.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/obb_tree.Po
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+SOURCES = $(libORXcd_a_SOURCES)
+DIST_SOURCES = $(libORXcd_a_SOURCES)
+HEADERS = $(noinst_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_LIBS = @CURL_LIBS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEBUG = @DEBUG@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DOCUMENTATION_FALSE = @DOCUMENTATION_FALSE@
+DOCUMENTATION_TRUE = @DOCUMENTATION_TRUE@
+DOXYGEN = @DOXYGEN@
+DOXYGEN_FALSE = @DOXYGEN_FALSE@
+DOXYGEN_TRUE = @DOXYGEN_TRUE@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GPROF = @GPROF@
+GTK2_CFLAGS = @GTK2_CFLAGS@
+GTK2_LIBS = @GTK2_LIBS@
+HAVE_CURL_FALSE = @HAVE_CURL_FALSE@
+HAVE_CURL_TRUE = @HAVE_CURL_TRUE@
+HAVE_GTK2_FALSE = @HAVE_GTK2_FALSE@
+HAVE_GTK2_TRUE = @HAVE_GTK2_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MSBITFIELDS = @MSBITFIELDS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SUB_PROJECTS_FALSE = @SUB_PROJECTS_FALSE@
+SUB_PROJECTS_TRUE = @SUB_PROJECTS_TRUE@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+MAINSRCDIR = ../..
+noinst_LIBRARIES = libORXcd.a 
+libORXcd_a_SOURCES = cd_engine.cc \
+                     collision.cc \
+		     obb.cc \
+                     obb_tree.cc \
+                     bv_tree.cc \
+		     bounding_volume.cc \
+		     bounding_sphere.cc
+
+noinst_HEADERS = cd_engine.h \
+                     collision.h \
+		     obb.h \
+                     obb_tree.h \
+                     bv_tree.h \
+		     bounding_volume.h \
+		     bounding_sphere.h
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/lib/collision_detection/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  src/lib/collision_detection/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLIBRARIES:
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+libORXcd.a: $(libORXcd_a_OBJECTS) $(libORXcd_a_DEPENDENCIES) 
+	-rm -f libORXcd.a
+	$(libORXcd_a_AR) libORXcd.a $(libORXcd_a_OBJECTS) $(libORXcd_a_LIBADD)
+	$(RANLIB) libORXcd.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bounding_sphere.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bounding_volume.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bv_tree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cd_engine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obb_tree.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES) $(HEADERS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-noinstLIBRARIES ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am uninstall-info-am
+
+include $(MAINSRCDIR)/defs/include_paths.am
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /orxonox/trunk/src/lib/collision_detection/bounding_sphere.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bounding_sphere.cc	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/bounding_sphere.cc	(revision 4527)
@@ -0,0 +1,39 @@
+/* 
+   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_COLLISION
+
+#include "bounding_sphere.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+BoundingSphere::BoundingSphere () 
+{
+   this->setClassID(CL_BOUNDING_SPHERE, "BoundingSphere"); 
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+BoundingSphere::~BoundingSphere () 
+{
+  // delete what has to be deleted here
+}
Index: /orxonox/trunk/src/lib/collision_detection/bounding_sphere.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bounding_sphere.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/bounding_sphere.h	(revision 4527)
@@ -0,0 +1,27 @@
+/*! 
+    \file bounding_sphere.h
+    \brief Definition of a bounding sphere
+
+*/
+
+#ifndef _BOUNDING_SPHERE_H
+#define _BOUNDING_SPHERE_H
+
+#include "base_object.h"
+#include "bounding_volume.h"
+
+
+//! A class representing an extended bounding volume tree: an sphere
+class BoundingSphere : public BoundingVolume {
+
+ public:
+  BoundingSphere();
+  virtual ~BoundingSphere();
+
+  inline const float getRadius () const { return this->radius; }
+
+ private:
+  float radius;
+};
+
+#endif /* _BOUNDING_SPHERE_H */
Index: /orxonox/trunk/src/lib/collision_detection/bounding_volume.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bounding_volume.cc	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/bounding_volume.cc	(revision 4527)
@@ -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: Patrick Boenzli
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_COLLISION
+
+#include "bounding_volume.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+BoundingVolume::BoundingVolume () 
+{
+   this->setClassID(CL_BOUNDING_VOLUME, "BoundingVolume"); 
+
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+BoundingVolume::~BoundingVolume () 
+{
+  // delete what has to be deleted here
+}
Index: /orxonox/trunk/src/lib/collision_detection/bounding_volume.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bounding_volume.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/bounding_volume.h	(revision 4527)
@@ -0,0 +1,39 @@
+/*! 
+    \file bounding_volume.h
+    \brief Definition of a bounding volume for collision detection algorithms
+
+*/
+
+#ifndef _BOUNDING_VOLUME_H
+#define _BOUNDING_VOLUME_H
+
+#include "base_object.h"
+
+class sVect3D;
+class Vector;
+
+//! An abstract class representing a bounding volume
+class BoundingVolume : public BaseObject {
+
+ public:
+  BoundingVolume();
+  virtual ~BoundingVolume();
+
+  inline const Vector* getCenter() const { return this->center; }
+  inline const int getIndex() { return this->treeIndex; }
+
+  virtual sVect3D* getVertices() const = NULL;
+  virtual void mergeWith(const BoundingVolume &bv) = NULL;
+
+  virtual void drawBV(int currentDepth, const int depth) const = NULL;
+  virtual void drawBVPolygon(int currentDepth, const int depth) const = NULL;
+  virtual void drawBVBlended(int currentDepth, const int depth) const = NULL;
+
+
+ private:
+  Vector*             center;                     //!< Center point of box
+
+  unsigned int        treeIndex;                  //!< Index number of the BV in the tree
+};
+
+#endif /* _BOUNDING_VOLUME_H */
Index: /orxonox/trunk/src/lib/collision_detection/bv_tree.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bv_tree.cc	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/bv_tree.cc	(revision 4527)
@@ -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: Patrick Boenzli
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_COLLISION
+
+#include "bv_tree.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+BVTree::BVTree () 
+{
+   this->setClassID(CL_BV_TREE, "BVTree"); 
+
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+BVTree::~BVTree () 
+{
+  // delete what has to be deleted here
+}
Index: /orxonox/trunk/src/lib/collision_detection/bv_tree.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/bv_tree.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/bv_tree.h	(revision 4527)
@@ -0,0 +1,39 @@
+/*! 
+    \file bv_tree.h
+    \brief Definition of a bounding volume tree
+
+*/
+
+#ifndef _BV_TREE_H
+#define _BV_TREE_H
+
+#include "base_object.h"
+
+// FORWARD DEFINITION
+class BoundingVolume;
+
+
+//! A class that represents a bounding volume tree
+class BVTree : public BaseObject {
+
+ public:
+  BVTree();
+  virtual ~BVTree();
+
+  void spawnBVTree(int depth);
+  void flushTree();
+
+  BoundingVolume* getBV(int index) const;
+  
+  void collideWith(const BVTree &tree);
+
+  void drawBV(int currentDepth, const int depth) const;
+  void drawBVPolygon(int currentDepth, const int depth) const;
+  void drawBVBlended(int currentDepth, const int depth) const;
+
+ private:
+  BoundingVolume* firstElement;
+
+};
+
+#endif /* _BV_TREE_H */
Index: /orxonox/trunk/src/lib/collision_detection/cd_engine.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/cd_engine.cc	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/cd_engine.cc	(revision 4527)
@@ -0,0 +1,45 @@
+/* 
+   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_COLLISION
+
+#include "cd_engine.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+CDEngine::CDEngine () 
+{
+   this->setClassName("CDEngine");
+   this->setClassID(CL_CD_ENGINE, "CDEngine"); 
+}
+
+/**
+   \brief the singleton reference to this class
+*/
+CDEngine* CDEngine::singletonRef = NULL;
+
+/**
+   \brief standard deconstructor
+
+*/
+CDEngine::~CDEngine () 
+{
+  CDEngine::singletonRef = NULL;
+
+}
Index: /orxonox/trunk/src/lib/collision_detection/cd_engine.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/cd_engine.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/cd_engine.h	(revision 4527)
@@ -0,0 +1,63 @@
+/*! 
+    \file cd_engine.h
+    \brief Definition of the collision detection engine
+    
+*/
+
+#ifndef _CD_ENGINE_H
+#define _CD_ENGINE_H
+
+#include "base_object.h"
+#include "collision_defs.h"
+
+template<class T> class tList;
+class WorldEntity;
+
+
+//! featured state options, they are all additive
+typedef enum cdState
+  {
+    CD_DEBUG_DRAW_ALL = 1,
+    CD_DEBUG_DRAW_POLYGONS = 1<<1,
+    CD_DEBUG_DRAW_BLENDED = 1<<2,
+    CD_DEBUG_DRAW_HIT_BV = 1<<3,
+    CD_DEBUG_VERBOSE = 1<<4
+  };
+
+
+//! The class representing the collision detection system of orxonox
+class CDEngine : public BaseObject {
+
+ public:
+  virtual ~CDEngine(void);
+  /** \returns a Pointer to the only object of this Class */
+  inline static CDEngine* getInstance(void) { if (!singletonRef) singletonRef = new CDEngine();  return singletonRef; };
+  void init();
+
+  void setState(const int newState) { this->state = newState; }
+  const int getState() const { return this->state; }
+  void enable(const int options) { this->state |= options; }
+  void disable(const int options) { int temp = this->state & options; this->state ^= temp; }
+
+  void drawBV(int currentDepth, const int depth) const;
+  void drawBVPolygon(int currentDepth, const int depth) const;
+  void drawBVBlended(int currentDepth, const int depth) const;
+
+  void checkCollisions();
+
+ private:
+  CDEngine(void);
+  static CDEngine* singletonRef;
+
+  void spawnBVTree(int depth = MAX_BV_TREE_DEPTH);
+
+  void checkCollisionObjects();
+  void checkCollisionGround();
+
+
+ private:
+  int                     state;                            //!< the current state of the cd engine
+  tList<WorldEntity>*     entityList;                       //!< pointer to the world entity list
+};
+
+#endif /* _CD_ENGINE_H */
Index: /orxonox/trunk/src/lib/collision_detection/collision.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/collision.cc	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/collision.cc	(revision 4527)
@@ -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: Patrick Boenzli
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_COLLISION
+
+#include "collision.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+Collision::Collision () 
+{
+   this->setClassID(CL_COLLISION, "Collision"); 
+
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+Collision::~Collision () 
+{
+  // delete what has to be deleted here
+}
Index: /orxonox/trunk/src/lib/collision_detection/collision.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/collision.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/collision.h	(revision 4527)
@@ -0,0 +1,31 @@
+/*! 
+    \file collision.h
+    \brief Definition of a collision event
+
+*/
+
+#ifndef _COLLISION_H
+#define _COLLISION_H
+
+#include "base_object.h"
+#include "vector.h"
+
+
+class WorldEntity;
+class sVec3D;
+class BoundingVolume;
+
+//! A class representing a simple collision
+class Collision : public BaseObject {
+
+ public:
+  Collision();
+  virtual ~Collision();
+
+ public:
+  Vector            pointOfImpact;              //!< point of impact, approximated via bounding volumes
+  WorldEntity*      body;                       //!< the collision body
+  BoundingVolume*   boundingVolume;             //!< reference to the bounding volume that fired the collision
+};
+
+#endif /* _COLLISION_H */
Index: /orxonox/trunk/src/lib/collision_detection/collision_defs.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/collision_defs.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/collision_defs.h	(revision 4527)
@@ -0,0 +1,23 @@
+/*! 
+    \file collision_defs.h
+    \brief Definition of some global collision data
+
+*/
+
+/* 
+   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 MAX_BV_TREE_DEPTH 10
+#define MIN_VERT_PER_BV 3
Index: /orxonox/trunk/src/lib/collision_detection/obb.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb.cc	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/obb.cc	(revision 4527)
@@ -0,0 +1,39 @@
+/* 
+   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_COLLISION
+
+#include "obb.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+OBB::OBB () 
+{
+   this->setClassID(CL_OBB, "OBB"); 
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+OBB::~OBB () 
+{
+  // delete what has to be deleted here
+}
Index: /orxonox/trunk/src/lib/collision_detection/obb.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/obb.h	(revision 4527)
@@ -0,0 +1,32 @@
+/*! 
+    \file obb.h
+    \brief Definition of an OBB (object Oriented Bounding Box)
+
+*/
+
+#ifndef _OBB_H
+#define _OBB_H
+
+#include "base_object.h"
+#include "bounding_volume.h"
+
+
+//! A class representing an extended bounding volume tree: an obb tree
+class OBB : public BoundingVolume {
+
+ public:
+  OBB();
+  virtual ~OBB();
+
+  inline const Vector* getAxis () const { return this->axis; }
+  inline const sVect3D* getHalfLength() const { return this->halfLength; } 
+
+ private:
+  Vector*          axis;                       //!< Axes of oriented box [x,y,z]
+  sVect3D*         halfLength;                 //!< Half lengths of the box
+
+  OBB*             leftNode;                   //!< left node of the tree
+  OBB*             rightNode;                  //!< right node of the tree
+};
+
+#endif /* _OBB_H */
Index: /orxonox/trunk/src/lib/collision_detection/obb_tree.cc
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb_tree.cc	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/obb_tree.cc	(revision 4527)
@@ -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: Patrick Boenzli
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_COLLISION
+
+#include "obb_tree.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+OBBTree::OBBTree () 
+{
+   this->setClassID(CL_OBB_TREE, "OBBTree"); 
+
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+OBBTree::~OBBTree () 
+{
+  // delete what has to be deleted here
+}
Index: /orxonox/trunk/src/lib/collision_detection/obb_tree.h
===================================================================
--- /orxonox/trunk/src/lib/collision_detection/obb_tree.h	(revision 4527)
+++ /orxonox/trunk/src/lib/collision_detection/obb_tree.h	(revision 4527)
@@ -0,0 +1,25 @@
+/*! 
+    \file obb_tree.h
+    \brief Definition of an obb tree (object oriented Bounding Box)
+
+*/
+
+#ifndef _OBB_TREE_H
+#define _OBB_TREE_H
+
+#include "base_object.h"
+#include "bv_tree.h"
+
+//! A class for representing an obb tree
+class OBBTree : public BVTree {
+
+ public:
+  OBBTree();
+  virtual ~OBBTree();
+
+
+ private:
+
+};
+
+#endif /* _OBB_TREE_H */
