diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in
index 16c2c547b955dd182889e191dba47249f0ec6b49..61570774331d950ab23f3d03298d1336bd59f191 100644
--- a/doc/Doxyfile.extra.in
+++ b/doc/Doxyfile.extra.in
@@ -1 +1,2 @@
 FILE_PATTERNS          = *.h  *.hh  *.hxx
+GENERATE_XML           = YES
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 1730b56118dbcf504bc0220fcb7692a08e3be09c..8d5d461b78d66a68525eb5aa830b8ad0fe2f4e8f 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -39,6 +39,10 @@ SET_TARGET_PROPERTIES(python PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD True)
 SET(LIBRARY_NAME hppfcl)
 
 INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}" ${PYTHON_INCLUDE_DIRS})
+# To be run manually:
+# make doc
+# ./cmake/doxygen/doxygen_xml_parser.py build-rel/doc/doxygen-xml/index.xml > build-rel/python/doxygen_autodoc.hh
+INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
 
 SET(${LIBRARY_NAME}_HEADERS
   fcl.hh
diff --git a/python/math.cc b/python/math.cc
index b392b0aab89e862131bbd2cc1dc844f53176b381..1fc05eb964cff576a16b57582fb56980aea51200 100644
--- a/python/math.cc
+++ b/python/math.cc
@@ -41,6 +41,18 @@
 #include <hpp/fcl/math/transform.h>
 
 #include "fcl.hh"
+#include <hpp/fcl/collision.h>
+#include <hpp/fcl/traversal/traversal_node_bvh_shape.h>
+#include <hpp/fcl/traversal/traversal_node_bvhs.h>
+#include <hpp/fcl/traversal/traversal_node_octree.h>
+#include <hpp/fcl/traversal/traversal_node_shapes.h>
+#include <hpp/fcl/mesh_loader/loader.h>
+#include <hpp/fcl/narrowphase/gjk.h>
+#include <hpp/fcl/BVH/BVH_model.h>
+#include <hpp/fcl/octree.h>
+#include <hpp/fcl/profile.h>
+
+#include "doxygen_autodoc.hh"
 
 using namespace boost::python;
 
@@ -77,8 +89,8 @@ void exposeMaths ()
     .def (init<Vec3f>())
     .def (init<Transform3f>(args("self","other"),"Copy constructor."))
 
-    .def ("getQuatRotation", &Transform3f::getQuatRotation)
-    .def ("getTranslation", &Transform3f::getTranslation, return_value_policy<copy_const_reference>())
+    .def ("getQuatRotation", &Transform3f::getQuatRotation, doxygen::member_func_doc(&Transform3f::getQuatRotation))
+    .def ("getTranslation", &Transform3f::getTranslation, doxygen::member_func_doc(&Transform3f::getTranslation), return_value_policy<copy_const_reference>())
     .def ("getRotation", &Transform3f::getRotation, return_value_policy<copy_const_reference>())
     .def ("isIdentity", &Transform3f::setIdentity)