diff --git a/cmake/AkantuMacros.cmake b/cmake/AkantuMacros.cmake
index 365bd5cff..8ad1241ac 100644
--- a/cmake/AkantuMacros.cmake
+++ b/cmake/AkantuMacros.cmake
@@ -1,364 +1,363 @@
 #===============================================================================
 # @file   AkantuMacros.cmake
 #
 # @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
 # @author Nicolas Richart <nicolas.richart@epfl.ch>
 #
 # @date creation: Fri Oct 22 2010
 # @date last modification: Fri Dec 11 2015
 #
 # @brief  Set of macros used by akantu cmake files
 #
 # @section LICENSE
 #
 # Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
 # Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
 # Solides)
 #
 # Akantu is free  software: you can redistribute it and/or  modify it under the
 # terms  of the  GNU Lesser  General Public  License as  published by  the Free
 # Software Foundation, either version 3 of the License, or (at your option) any
 # later version.
 #
 # Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
 # details.
 #
 # You should  have received  a copy  of the GNU  Lesser General  Public License
 # along with Akantu. If not, see <http://www.gnu.org/licenses/>.
 #
 #===============================================================================
 
 #===============================================================================
 function(set_third_party_shared_libirary_name _var _lib)
   set(${_var}
     ${PROJECT_BINARY_DIR}/third-party/lib/${CMAKE_SHARED_LIBRARY_PREFIX}${_lib}${CMAKE_SHARED_LIBRARY_SUFFIX}
     CACHE FILEPATH "" FORCE)
 endfunction()
 
 # ==============================================================================
 function(get_target_list_of_associated_files tgt files)
   get_target_property(_type ${tgt} TYPE)
   if(_type STREQUAL "SHARED_LIBRARY"
       OR _type STREQUAL "STATIC_LIBRARY"
       OR _type STREQUAL "MODULE_LIBRARY"
       OR _type STREQUAL "EXECUTABLE")
     get_target_property(_srcs ${tgt} SOURCES)
     set(_dep_ressources)
     foreach(_file ${_srcs})
       list(APPEND _dep_ressources ${CMAKE_CURRENT_SOURCE_DIR}/${_file})
     endforeach()
   else()
     get_target_property(_dep_ressources ${tgt} RESSOURCES)
   endif()
 
   set(${files} ${_dep_ressources} PARENT_SCOPE)
 endfunction()
 
 #===============================================================================
 # Generate the list of currently loaded materials
 function(generate_material_list)
   message(STATUS "Determining the list of recognized materials...")
 
   package_get_all_include_directories(
     AKANTU_LIBRARY_INCLUDE_DIRS
     )
 
   package_get_all_external_informations(
     AKANTU_EXTERNAL_INCLUDE_DIR
     AKANTU_EXTERNAL_LIBRARIES
     )
 
   set(_include_dirs ${AKANTU_INCLUDE_DIRS} ${AKANTU_EXTERNAL_INCLUDE_DIR})
 
   try_run(_material_list_run _material_list_compile
     ${CMAKE_BINARY_DIR}
     ${PROJECT_SOURCE_DIR}/cmake/material_lister.cc
     CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${_include_dirs}"
     COMPILE_DEFINITIONS "-DAKANTU_CMAKE_LIST_MATERIALS"
     COMPILE_OUTPUT_VARIABLE _compile_results
     RUN_OUTPUT_VARIABLE _result_material_list)
 
   if(_material_list_compile AND "${_material_list_run}" EQUAL 0)
     message(STATUS "Materials included in Akantu:")
     string(REPLACE "\n" ";" _material_list "${_result_material_list}")
     foreach(_mat ${_material_list})
       string(REPLACE ":" ";" _mat_key "${_mat}")
       list(GET _mat_key 0 _key)
       list(GET _mat_key 1 _class)
       list(LENGTH _mat_key _l)
 
       if("${_l}" GREATER 2)
         list(REMOVE_AT _mat_key 0 1)
         set(_opt " -- options: [")
         foreach(_o ${_mat_key})
           set(_opt "${_opt} ${_o}")
         endforeach()
         set(_opt "${_opt} ]")
       else()
         set(_opt "")
       endif()
 
       message(STATUS "   ${_class} -- key: ${_key}${_opt}")
     endforeach()
   else()
     message(STATUS "Could not determine the list of materials.")
     message("${_compile_results}")
   endif()
 endfunction()
 
 #===============================================================================
 # Declare the options for the types and defines the approriate typedefs
 function(declare_akantu_types)
   include(CheckCXXCompilerFlag)
-  check_cxx_compiler_flag (-std=c++0x HAVE_CPP_0X)
-
+  check_cxx_compiler_flag (-std=c++11 HAVE_CPP_11)
   unset(_cpp_11_flag)
-  if(HAVE_CPP_0X)
-    set(_cpp_11_flag "-std=c++0x")
+  if(HAVE_CPP_11)
+    set(_cpp_11_flag "-std=c++11")
   else()
-    check_cxx_compiler_flag (-std=c++11 HAVE_CPP_11)
-    if(HAVE_CPP_11)
-      set(_cpp_11_flag "-std=c++11")
+    check_cxx_compiler_flag (-std=c++0x HAVE_CPP_0X)
+    if(HAVE_CPP_0X)
+      set(_cpp_11_flag "-std=c++0x")
     endif()
   endif()
 
   set(AKANTU_CXX11_FLAGS "${_cpp_11_flag}" CACHE INTERNAL "")
 
   set(AKANTU_TYPE_FLOAT "double (64bit)" CACHE STRING "Precision force floating point types")
   mark_as_advanced(AKANTU_TYPE_FLOAT)
   set_property(CACHE AKANTU_TYPE_FLOAT PROPERTY STRINGS
     "quadruple (128bit)"
     "double (64bit)"
     "float (32bit)"
     )
 
   set(AKANTU_TYPE_INTEGER "int (32bit)" CACHE STRING "Size of the integer types")
   mark_as_advanced(AKANTU_TYPE_INTEGER)
   set_property(CACHE AKANTU_TYPE_INTEGER PROPERTY STRINGS
     "int (32bit)"
     "long int (64bit)"
     )
 
   include(CheckTypeSize)
 
   # ----------------------------------------------------------------------------
   # Floating point types
   # ----------------------------------------------------------------------------
   if(AKANTU_TYPE_FLOAT STREQUAL "float (32bit)")
     set(AKANTU_FLOAT_TYPE "float" CACHE INTERNAL "")
     set(AKANTU_FLOAT_SIZE 4 CACHE INTERNAL "")
   elseif(AKANTU_TYPE_FLOAT STREQUAL "double (64bit)")
     set(AKANTU_FLOAT_TYPE "double" CACHE INTERNAL "")
     set(AKANTU_FLOAT_SIZE 8 CACHE INTERNAL "")
   elseif(AKANTU_TYPE_FLOAT STREQUAL "quadruple (128bit)")
     check_type_size("long double" LONG_DOUBLE)
     if(HAVE_LONG_DOUBLE)
       set(AKANTU_FLOAT_TYPE "long double" CACHE INTERNAL "")
       set(AKANTU_FLOAT_SIZE 16 CACHE INTERNAL "")
       message("This feature is not tested and will most probably not compile")
     else()
       message(FATAL_ERROR "The type long double is not defined on your system")
     endif()
   else()
     message(FATAL_ERROR "The float type is not defined")
   endif()
 
   include(CheckIncludeFileCXX)
   include(CheckCXXSourceCompiles)
 
   # ----------------------------------------------------------------------------
   # Integer types
   # ----------------------------------------------------------------------------
   check_include_file_cxx(cstdint HAVE_CSTDINT)
   if(NOT HAVE_CSTDINT)
     check_include_file_cxx(stdint.h HAVE_STDINT_H)
     if(HAVE_STDINT_H)
       list(APPEND _int_include stdint.h)
     endif()
   else()
     list(APPEND _int_include cstdint)
   endif()
 
 
   check_include_file_cxx(cstddef HAVE_CSTDDEF)
   if(NOT HAVE_CSTDINT)
     check_include_file_cxx(stddef.h HAVE_STDDEF_H)
     if(HAVE_STDINT_H)
       list(APPEND _int_include stddef.h)
     endif()
   else()
     list(APPEND _int_include cstddef)
   endif()
 
   if(AKANTU_TYPE_INTEGER STREQUAL "int (32bit)")
     set(AKANTU_INTEGER_SIZE 4 CACHE INTERNAL "")
     check_type_size("int" INT)
     if(INT EQUAL 4)
       set(AKANTU_SIGNED_INTEGER_TYPE "int" CACHE INTERNAL "")
       set(AKANTU_UNSIGNED_INTEGER_TYPE "unsigned int" CACHE INTERNAL "")
     else()
       check_type_size("int32_t" INT32_T LANGUAGE CXX)
       if(HAVE_INT32_T)
         set(AKANTU_SIGNED_INTEGER_TYPE "int32_t" CACHE INTERNAL "")
         set(AKANTU_UNSIGNED_INTEGER_TYPE "uint32_t" CACHE INTERNAL "")
         list(APPEND _extra_includes ${_int_include})
       endif()
     endif()
   elseif(AKANTU_TYPE_INTEGER STREQUAL "long int (64bit)")
     set(AKANTU_INTEGER_SIZE 8 CACHE INTERNAL "")
     check_type_size("long int" LONG_INT)
     if(LONG_INT EQUAL 8)
       set(AKANTU_SIGNED_INTEGER_TYPE "long int" CACHE INTERNAL "")
       set(AKANTU_UNSIGNED_INTEGER_TYPE "unsigned long int" CACHE INTERNAL "")
     else()
       check_type_size("long long int" LONG_LONG_INT)
       if(HAVE_LONG_LONG_INT AND LONG_LONG_INT EQUAL 8)
         set(AKANTU_SIGNED_INTEGER_TYPE "long long int" CACHE INTERNAL "")
         set(AKANTU_UNSIGNED_INTEGER_TYPE "unsigned long long int" CACHE INTERNAL "")
       else()
         check_type_size("int64_t" INT64_T)
         if(HAVE_INT64_T)
           set(AKANTU_SIGNED_INTEGER_TYPE "int64_t" CACHE INTERNAL "")
           set(AKANTU_UNSIGNED_INTEGER_TYPE "uint64_t" CACHE INTERNAL "")
           list(APPEND _extra_includes ${_int_include})
         endif()
       endif()
     endif()
   else()
     message(FATAL_ERROR "The integer type is not defined")
   endif()
 
   # ----------------------------------------------------------------------------
   # unordered map type
   # ----------------------------------------------------------------------------
   check_include_file_cxx(unordered_map HAVE_UNORDERED_MAP)
   set(AKANTU_UNORDERED_MAP_IS_CXX11 TRUE CACHE INTERNAL "")
   if(HAVE_UNORDERED_MAP)
     list(APPEND _extra_includes unordered_map)
     set(AKANTU_UNORDERED_MAP_TYPE "std::unordered_map" CACHE INTERNAL "")
     set(AKANTU_UNORDERED_MAP_NAMESPACE_BEGIN "namespace std {" CACHE INTERNAL "")
     set(AKANTU_UNORDERED_MAP_NAMESPACE_END "}" CACHE INTERNAL "")
   else()
     check_include_file_cxx(tr1/unordered_map HAVE_TR1_UNORDERED_MAP)
     if(HAVE_TR1_UNORDERED_MAP)
       list(APPEND _extra_includes tr1/unordered_map)
       set(AKANTU_UNORDERED_MAP_TYPE "std::tr1::unordered_map" CACHE INTERNAL "")
       set(AKANTU_UNORDERED_MAP_NAMESPACE_BEGIN "namespace std { namespace tr1 {" CACHE INTERNAL "")
       set(AKANTU_UNORDERED_MAP_NAMESPACE_END "}}" CACHE INTERNAL "")
     else()
       list(APPEND _extra_includes map)
       set(AKANTU_UNORDERED_MAP_TYPE "std::map" CACHE INTERNAL "")
       set(AKANTU_UNORDERED_MAP_IS_CXX11 FALSE CACHE INTERNAL "")
     endif()
   endif()
 
   # ----------------------------------------------------------------------------
   # hash function
   # ----------------------------------------------------------------------------
   unset(AKANTU_HASH_TYPE CACHE)
   check_include_file_cxx(functional HAVE_FUNCTIONAL)
   set(AKANTU_HASH_IS_CXX11 TRUE CACHE INTERNAL "")
   if(HAVE_FUNCTIONAL AND AKANTU_CXX11_FLAGS)
     list(APPEND _extra_includes functional)
     check_cxx_source_compiles("
 #include <functional>
 template<class T>
 std::size_t hash(const T & t) {
   typedef typename std::hash<T> hash_type;
   return hash_type()(t);
 };
 
 int main() { return 0; }
 " HAVE_HASH)
     if(HAVE_HASH)
       set(AKANTU_HASH_TYPE "std::hash" CACHE INTERNAL "")
     endif()
   endif()
 
   if(NOT AKANTU_HASH_TYPE)
     check_include_file_cxx(tr1/functional HAVE_TR1_HASH)
     if(HAVE_TR1_HASH)
       list(APPEND _extra_includes tr1/functional)
       set(AKANTU_HASH_TYPE "std::tr1::hash" CACHE INTERNAL "")
     else()
       check_include_file_cxx(boost/functional/hash.hpp HAVE_BOOST_HASH)
       list(APPEND _extra_includes boost/functional/hash.hpp)
       set(AKANTU_HASH_TYPE "boost::hash" CACHE INTERNAL "")
       set(AKANTU_HASH_IS_CXX11 FALSE CACHE INTERNAL "")
     endif()
   endif()
 
 
   # ----------------------------------------------------------------------------
   # includes
   # ----------------------------------------------------------------------------
   foreach(_inc ${_extra_includes})
     set(_incs "#include <${_inc}>\n${_incs}")
   endforeach()
   set(AKANTU_TYPES_EXTRA_INCLUDES ${_incs} CACHE INTERNAL "")
 endfunction()
 
 
 #===============================================================================
 if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
   return()
 endif()
 set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
 
 function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
   # first set all result variables to empty/FALSE
   foreach(arg_name ${_singleArgNames} ${_multiArgNames})
     set(${prefix}_${arg_name})
   endforeach(arg_name)
 
   foreach(option ${_optionNames})
     set(${prefix}_${option} FALSE)
   endforeach(option)
 
   set(${prefix}_UNPARSED_ARGUMENTS)
 
   set(insideValues FALSE)
   set(currentArgName)
 
   # now iterate over all arguments and fill the result variables
   foreach(currentArg ${ARGN})
     list(FIND _optionNames "${currentArg}" optionIndex)  # ... then this marks the end of the arguments belonging to this keyword
     list(FIND _singleArgNames "${currentArg}" singleArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
     list(FIND _multiArgNames "${currentArg}" multiArgIndex)  # ... then this marks the end of the arguments belonging to this keyword
 
     if(${optionIndex} EQUAL -1  AND  ${singleArgIndex} EQUAL -1  AND  ${multiArgIndex} EQUAL -1)
       if(insideValues)
         if("${insideValues}" STREQUAL "SINGLE")
           set(${prefix}_${currentArgName} ${currentArg})
           set(insideValues FALSE)
         elseif("${insideValues}" STREQUAL "MULTI")
           list(APPEND ${prefix}_${currentArgName} ${currentArg})
         endif()
       else(insideValues)
         list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
       endif(insideValues)
     else()
       if(NOT ${optionIndex} EQUAL -1)
         set(${prefix}_${currentArg} TRUE)
         set(insideValues FALSE)
       elseif(NOT ${singleArgIndex} EQUAL -1)
         set(currentArgName ${currentArg})
         set(${prefix}_${currentArgName})
         set(insideValues "SINGLE")
       elseif(NOT ${multiArgIndex} EQUAL -1)
         set(currentArgName ${currentArg})
         set(${prefix}_${currentArgName})
         set(insideValues "MULTI")
       endif()
     endif()
 
   endforeach(currentArg)
 
   # propagate the result variables to the caller:
   foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
     set(${prefix}_${arg_name}  ${${prefix}_${arg_name}} PARENT_SCOPE)
   endforeach(arg_name)
   set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
 endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
diff --git a/doc/doxygen/akantu.dox.in b/doc/doxygen/akantu.dox.in
index 7577fc847..ca5cc4d45 100644
--- a/doc/doxygen/akantu.dox.in
+++ b/doc/doxygen/akantu.dox.in
@@ -1,1818 +1,1773 @@
 # Doxyfile 1.7.6.1
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project
 #
 # All text after a hash (#) is considered a comment and will be ignored
 # The format is:
 #       TAG = value [value, ...]
 # For lists items can also be appended using:
 #       TAG += value [value, ...]
 # Values that contain spaces should be placed between quotes (" ")
 
 #---------------------------------------------------------------------------
 # Project related configuration options
 #---------------------------------------------------------------------------
 
 # This tag specifies the encoding used for all characters in the config file 
 # that follow. The default is UTF-8 which is also the encoding used for all 
 # text before the first occurrence of this tag. Doxygen uses libiconv (or the 
 # iconv built into libc) for the transcoding. See 
 # http://www.gnu.org/software/libiconv for the list of possible encodings.
 
 DOXYFILE_ENCODING      = UTF-8
 
 # The PROJECT_NAME tag is a single word (or sequence of words) that should 
 # identify the project. Note that if you do not use Doxywizard you need 
 # to put quotes around the project name if it contains spaces.
 
 PROJECT_NAME           = @CMAKE_PROJECT_NAME@
 
 # The PROJECT_NUMBER tag can be used to enter a project or revision number. 
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
 PROJECT_NUMBER         = @AKANTU_VERSION@
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description 
 # for a project that appears at the top of each page and should give viewer 
 # a quick idea about the purpose of the project. Keep the description short.
 
 PROJECT_BRIEF          = 
 
 # With the PROJECT_LOGO tag one can specify an logo or icon that is 
 # included in the documentation. The maximum height of the logo should not 
 # exceed 55 pixels and the maximum width should not exceed 200 pixels. 
 # Doxygen will copy the logo to the output directory.
 
 PROJECT_LOGO           = 
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
 # If a relative path is entered, it will be relative to the location 
 # where doxygen was started. If left blank the current directory will be used.
 
 OUTPUT_DIRECTORY       = .
 
 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
 # 4096 sub-directories (in 2 levels) under the output directory of each output 
 # format and will distribute the generated files over these directories. 
 # Enabling this option can be useful when feeding doxygen a huge amount of 
 # source files, where putting all generated files in the same directory would 
 # otherwise cause performance problems for the file system.
 
 CREATE_SUBDIRS         = NO
 
 # The OUTPUT_LANGUAGE tag is used to specify the language in which all 
 # documentation generated by doxygen is written. Doxygen will use this 
 # information to generate all constant output in the proper language. 
 # The default language is English, other supported languages are: 
 # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
 # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
 # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
 # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
 # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, 
 # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
 
 OUTPUT_LANGUAGE        = English
 
 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
 # include brief member descriptions after the members that are listed in 
 # the file and class documentation (similar to JavaDoc). 
 # Set to NO to disable this.
 
 BRIEF_MEMBER_DESC      = YES
 
 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
 # the brief description of a member or function before the detailed description. 
 # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
 # brief descriptions will be completely suppressed.
 
 REPEAT_BRIEF           = YES
 
 # This tag implements a quasi-intelligent brief description abbreviator 
 # that is used to form the text in various listings. Each string 
 # in this list, if found as the leading text of the brief description, will be 
 # stripped from the text and the result after processing the whole list, is 
 # used as the annotated text. Otherwise, the brief description is used as-is. 
 # If left blank, the following values are used ("$name" is automatically 
 # replaced with the name of the entity): "The $name class" "The $name widget" 
 # "The $name file" "is" "provides" "specifies" "contains" 
 # "represents" "a" "an" "the"
 
 ABBREVIATE_BRIEF       = "The $name class" \
                          "The $name widget" \
                          "The $name file" \
                          is \
                          provides \
                          specifies \
                          contains \
                          represents \
                          a \
                          an \
                          the
 
 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
 # Doxygen will generate a detailed section even if there is only a brief 
 # description.
 
 ALWAYS_DETAILED_SEC    = NO
 
 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
 # inherited members of a class in the documentation of that class as if those 
 # members were ordinary class members. Constructors, destructors and assignment 
 # operators of the base classes will not be shown.
 
 INLINE_INHERITED_MEMB  = NO
 
 # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
 # path before files name in the file list and in the header files. If set 
 # to NO the shortest path that makes the file name unique will be used.
 
 FULL_PATH_NAMES        = YES
 
 # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
 # can be used to strip a user-defined part of the path. Stripping is 
 # only done if one of the specified strings matches the left-hand part of 
 # the path. The tag can be used to show relative paths in the file list. 
 # If left blank the directory from which doxygen is run is used as the 
 # path to strip.
 
 STRIP_FROM_PATH        = @CMAKE_SOURCE_DIR@
 
 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
 # the path mentioned in the documentation of a class, which tells 
 # the reader which header file to include in order to use a class. 
 # If left blank only the name of the header file containing the class 
 # definition is used. Otherwise one should specify the include paths that 
 # are normally passed to the compiler using the -I flag.
 
 STRIP_FROM_INC_PATH    = @CMAKE_SOURCE_DIR@
 
 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
 # (but less readable) file names. This can be useful if your file system 
 # doesn't support long names like on DOS, Mac, or CD-ROM.
 
 SHORT_NAMES            = NO
 
 # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
 # will interpret the first line (until the first dot) of a JavaDoc-style 
 # comment as the brief description. If set to NO, the JavaDoc 
 # comments will behave just like regular Qt-style comments 
 # (thus requiring an explicit @brief command for a brief description.)
 
 JAVADOC_AUTOBRIEF      = NO
 
 # If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
 # interpret the first line (until the first dot) of a Qt-style 
 # comment as the brief description. If set to NO, the comments 
 # will behave just like regular Qt-style comments (thus requiring 
 # an explicit \brief command for a brief description.)
 
 QT_AUTOBRIEF           = NO
 
 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
 # treat a multi-line C++ special comment block (i.e. a block of //! or /// 
 # comments) as a brief description. This used to be the default behaviour. 
 # The new default is to treat a multi-line C++ comment block as a detailed 
 # description. Set this tag to YES if you prefer the old behaviour instead.
 
 MULTILINE_CPP_IS_BRIEF = NO
 
 # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
 # member inherits the documentation from any documented member that it 
 # re-implements.
 
 INHERIT_DOCS           = YES
 
 # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
 # a new page for each member. If set to NO, the documentation of a member will 
 # be part of the file/class/namespace that contains it.
 
 SEPARATE_MEMBER_PAGES  = NO
 
 # The TAB_SIZE tag can be used to set the number of spaces in a tab. 
 # Doxygen uses this value to replace tabs by spaces in code fragments.
 
 TAB_SIZE               = 4
 
 # This tag can be used to specify a number of aliases that acts 
 # as commands in the documentation. An alias has the form "name=value". 
 # For example adding "sideeffect=\par Side Effects:\n" will allow you to 
 # put the command \sideeffect (or @sideeffect) in the documentation, which 
 # will result in a user-defined paragraph with heading "Side Effects:". 
 # You can put \n's in the value part of an alias to insert newlines.
 
 ALIASES                = 
 
 # This tag can be used to specify a number of word-keyword mappings (TCL only). 
 # A mapping has the form "name=value". For example adding 
 # "class=itcl::class" will allow you to use the command class in the 
 # itcl::class meaning.
 
 TCL_SUBST              = 
 
 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
 # sources only. Doxygen will then generate output that is more tailored for C. 
 # For instance, some of the names that are used will be different. The list 
 # of all members will be omitted, etc.
 
 OPTIMIZE_OUTPUT_FOR_C  = NO
 
 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
 # sources only. Doxygen will then generate output that is more tailored for 
 # Java. For instance, namespaces will be presented as packages, qualified 
 # scopes will look different, etc.
 
 OPTIMIZE_OUTPUT_JAVA   = NO
 
 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
 # sources only. Doxygen will then generate output that is more tailored for 
 # Fortran.
 
 OPTIMIZE_FOR_FORTRAN   = NO
 
 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
 # sources. Doxygen will then generate output that is tailored for 
 # VHDL.
 
 OPTIMIZE_OUTPUT_VHDL   = NO
 
 # Doxygen selects the parser to use depending on the extension of the files it 
 # parses. With this tag you can assign which parser to use for a given extension. 
 # Doxygen has a built-in mapping, but you can override or extend it using this 
 # tag. The format is ext=language, where ext is a file extension, and language 
 # is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, 
 # C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make 
 # doxygen treat .inc files as Fortran files (default is PHP), and .f files as C 
 # (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions 
 # you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
 
 EXTENSION_MAPPING      = 
 
 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
 # to include (a tag file for) the STL sources as input, then you should 
 # set this tag to YES in order to let doxygen match functions declarations and 
 # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
 # func(std::string) {}). This also makes the inheritance and collaboration 
 # diagrams that involve STL classes more complete and accurate.
 
 BUILTIN_STL_SUPPORT    = NO
 
 # If you use Microsoft's C++/CLI language, you should set this option to YES to 
 # enable parsing support.
 
 CPP_CLI_SUPPORT        = NO
 
 # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
 # Doxygen will parse them like normal C++ but will assume all classes use public 
 # instead of private inheritance when no explicit protection keyword is present.
 
 SIP_SUPPORT            = NO
 
 # For Microsoft's IDL there are propget and propput attributes to indicate getter 
 # and setter methods for a property. Setting this option to YES (the default) 
 # will make doxygen replace the get and set methods by a property in the 
 # documentation. This will only work if the methods are indeed getting or 
 # setting a simple type. If this is not the case, or you want to show the 
 # methods anyway, you should set this option to NO.
 
 IDL_PROPERTY_SUPPORT   = YES
 
 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
 # tag is set to YES, then doxygen will reuse the documentation of the first 
 # member in the group (if any) for the other members of the group. By default 
 # all members of a group must be documented explicitly.
 
 DISTRIBUTE_GROUP_DOC   = NO
 
 # Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
 # the same type (for instance a group of public functions) to be put as a 
 # subgroup of that type (e.g. under the Public Functions section). Set it to 
 # NO to prevent subgrouping. Alternatively, this can be done per class using 
 # the \nosubgrouping command.
 
 SUBGROUPING            = YES
 
 # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 
 # unions are shown inside the group in which they are included (e.g. using 
 # @ingroup) instead of on a separate page (for HTML and Man pages) or 
 # section (for LaTeX and RTF).
 
 INLINE_GROUPED_CLASSES = NO
 
 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 
 # unions with only public data fields will be shown inline in the documentation 
 # of the scope in which they are defined (i.e. file, namespace, or group 
 # documentation), provided this scope is documented. If set to NO (the default), 
 # structs, classes, and unions are shown on a separate page (for HTML and Man 
 # pages) or section (for LaTeX and RTF).
 
 INLINE_SIMPLE_STRUCTS  = NO
 
 # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
 # is documented as struct, union, or enum with the name of the typedef. So 
 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
 # with name TypeT. When disabled the typedef will appear as a member of a file, 
 # namespace, or class. And the struct will be named TypeS. This can typically 
 # be useful for C code in case the coding convention dictates that all compound 
 # types are typedef'ed and only the typedef is referenced, never the tag name.
 
 TYPEDEF_HIDES_STRUCT   = NO
 
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
-# determine which symbols to keep in memory and which to flush to disk. 
-# When the cache is full, less often used symbols will be written to disk. 
-# For small to medium size projects (<1000 input files) the default value is 
-# probably good enough. For larger projects a too small cache size can cause 
-# doxygen to be busy swapping symbols to and from disk most of the time 
-# causing a significant performance penalty. 
-# If the system has enough physical memory increasing the cache will improve the 
-# performance by keeping more symbols in memory. Note that the value works on 
-# a logarithmic scale so increasing the size by one will roughly double the 
-# memory usage. The cache size is given by this formula: 
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-SYMBOL_CACHE_SIZE      = 0
-
 # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be 
 # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given 
 # their name and scope. Since this can be an expensive process and often the 
 # same symbol appear multiple times in the code, doxygen keeps a cache of 
 # pre-resolved symbols. If the cache is too small doxygen will become slower. 
 # If the cache is too large, memory is wasted. The cache size is given by this 
 # formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, 
 # corresponding to a cache size of 2^16 = 65536 symbols.
 
 LOOKUP_CACHE_SIZE      = 0
 
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
 # documentation are documented, even if no documentation was available. 
 # Private class members and static file members will be hidden unless 
 # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
 
 EXTRACT_ALL            = NO
 
 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
 # will be included in the documentation.
 
 EXTRACT_PRIVATE        = NO
 
 # If the EXTRACT_STATIC tag is set to YES all static members of a file 
 # will be included in the documentation.
 
 EXTRACT_STATIC         = NO
 
 # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
 # defined locally in source files will be included in the documentation. 
 # If set to NO only classes defined in header files are included.
 
 EXTRACT_LOCAL_CLASSES  = YES
 
 # This flag is only useful for Objective-C code. When set to YES local 
 # methods, which are defined in the implementation section but not in 
 # the interface are included in the documentation. 
 # If set to NO (the default) only methods in the interface are included.
 
 EXTRACT_LOCAL_METHODS  = NO
 
 # If this flag is set to YES, the members of anonymous namespaces will be 
 # extracted and appear in the documentation as a namespace called 
 # 'anonymous_namespace{file}', where file will be replaced with the base 
 # name of the file that contains the anonymous namespace. By default 
 # anonymous namespaces are hidden.
 
 EXTRACT_ANON_NSPACES   = NO
 
 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
 # undocumented members of documented classes, files or namespaces. 
 # If set to NO (the default) these members will be included in the 
 # various overviews, but no documentation section is generated. 
 # This option has no effect if EXTRACT_ALL is enabled.
 
 HIDE_UNDOC_MEMBERS     = NO
 
 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
 # undocumented classes that are normally visible in the class hierarchy. 
 # If set to NO (the default) these classes will be included in the various 
 # overviews. This option has no effect if EXTRACT_ALL is enabled.
 
 HIDE_UNDOC_CLASSES     = NO
 
 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
 # friend (class|struct|union) declarations. 
 # If set to NO (the default) these declarations will be included in the 
 # documentation.
 
 HIDE_FRIEND_COMPOUNDS  = NO
 
 # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
 # documentation blocks found inside the body of a function. 
 # If set to NO (the default) these blocks will be appended to the 
 # function's detailed documentation block.
 
 HIDE_IN_BODY_DOCS      = NO
 
 # The INTERNAL_DOCS tag determines if documentation 
 # that is typed after a \internal command is included. If the tag is set 
 # to NO (the default) then the documentation will be excluded. 
 # Set it to YES to include the internal documentation.
 
 INTERNAL_DOCS          = NO
 
 # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
 # file names in lower-case letters. If set to YES upper-case letters are also 
 # allowed. This is useful if you have classes or files whose names only differ 
 # in case and if your file system supports case sensitive file names. Windows 
 # and Mac users are advised to set this option to NO.
 
 CASE_SENSE_NAMES       = NO
 
 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
 # will show members with their full class and namespace scopes in the 
 # documentation. If set to YES the scope will be hidden.
 
 HIDE_SCOPE_NAMES       = NO
 
 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
 # will put a list of the files that are included by a file in the documentation 
 # of that file.
 
 SHOW_INCLUDE_FILES     = YES
 
 # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen 
 # will list include files with double quotes in the documentation 
 # rather than with sharp brackets.
 
 FORCE_LOCAL_INCLUDES   = NO
 
 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
 # is inserted in the documentation for inline members.
 
 INLINE_INFO            = YES
 
 # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
 # will sort the (detailed) documentation of file and class members 
 # alphabetically by member name. If set to NO the members will appear in 
 # declaration order.
 
 SORT_MEMBER_DOCS       = YES
 
 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
 # brief documentation of file, namespace and class members alphabetically 
 # by member name. If set to NO (the default) the members will appear in 
 # declaration order.
 
 SORT_BRIEF_DOCS        = NO
 
 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
 # will sort the (brief and detailed) documentation of class members so that 
 # constructors and destructors are listed first. If set to NO (the default) 
 # the constructors will appear in the respective orders defined by 
 # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. 
 # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO 
 # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
 
 SORT_MEMBERS_CTORS_1ST = NO
 
 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
 # hierarchy of group names into alphabetical order. If set to NO (the default) 
 # the group names will appear in their defined order.
 
 SORT_GROUP_NAMES       = NO
 
 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
 # sorted by fully-qualified names, including namespaces. If set to 
 # NO (the default), the class list will be sorted only by class name, 
 # not including the namespace part. 
 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
 # Note: This option applies only to the class list, not to the 
 # alphabetical list.
 
 SORT_BY_SCOPE_NAME     = NO
 
 # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 
 # do proper type resolution of all parameters of a function it will reject a 
 # match between the prototype and the implementation of a member function even 
 # if there is only one candidate or it is obvious which candidate to choose 
 # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 
 # will still accept a match between prototype and implementation in such cases.
 
 STRICT_PROTO_MATCHING  = NO
 
 # The GENERATE_TODOLIST tag can be used to enable (YES) or 
 # disable (NO) the todo list. This list is created by putting \todo 
 # commands in the documentation.
 
 GENERATE_TODOLIST      = YES
 
 # The GENERATE_TESTLIST tag can be used to enable (YES) or 
 # disable (NO) the test list. This list is created by putting \test 
 # commands in the documentation.
 
 GENERATE_TESTLIST      = YES
 
 # The GENERATE_BUGLIST tag can be used to enable (YES) or 
 # disable (NO) the bug list. This list is created by putting \bug 
 # commands in the documentation.
 
 GENERATE_BUGLIST       = YES
 
 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
 # disable (NO) the deprecated list. This list is created by putting 
 # \deprecated commands in the documentation.
 
 GENERATE_DEPRECATEDLIST= YES
 
 # The ENABLED_SECTIONS tag can be used to enable conditional 
 # documentation sections, marked by \if sectionname ... \endif.
 
 ENABLED_SECTIONS       = 
 
 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
 # the initial value of a variable or macro consists of for it to appear in 
 # the documentation. If the initializer consists of more lines than specified 
 # here it will be hidden. Use a value of 0 to hide initializers completely. 
 # The appearance of the initializer of individual variables and macros in the 
 # documentation can be controlled using \showinitializer or \hideinitializer 
 # command in the documentation regardless of this setting.
 
 MAX_INITIALIZER_LINES  = 30
 
 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
 # at the bottom of the documentation of classes and structs. If set to YES the 
 # list will mention the files that were used to generate the documentation.
 
 SHOW_USED_FILES        = YES
 
-# If the sources in your project are distributed over multiple directories 
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
 # Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
 # This will remove the Files entry from the Quick Index and from the 
 # Folder Tree View (if specified). The default is YES.
 
 SHOW_FILES             = YES
 
 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
 # Namespaces page.  This will remove the Namespaces entry from the Quick Index 
 # and from the Folder Tree View (if specified). The default is YES.
 
 SHOW_NAMESPACES        = YES
 
 # The FILE_VERSION_FILTER tag can be used to specify a program or script that 
 # doxygen should invoke to get the current version for each file (typically from 
 # the version control system). Doxygen will invoke the program by executing (via 
 # popen()) the command <command> <input-file>, where <command> is the value of 
 # the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
 # provided by doxygen. Whatever the program writes to standard output 
 # is used as the file version. See the manual for examples.
 
 FILE_VERSION_FILTER    = 
 
 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
 # by doxygen. The layout file controls the global structure of the generated 
 # output files in an output format independent way. The create the layout file 
 # that represents doxygen's defaults, run doxygen with the -l option. 
 # You can optionally specify a file name after the option, if omitted 
 # DoxygenLayout.xml will be used as the name of the layout file.
 
 LAYOUT_FILE            = 
 
 # The CITE_BIB_FILES tag can be used to specify one or more bib files 
 # containing the references data. This must be a list of .bib files. The 
 # .bib extension is automatically appended if omitted. Using this command 
 # requires the bibtex tool to be installed. See also 
 # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 
 # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this 
 # feature you need bibtex and perl available in the search path.
 
 CITE_BIB_FILES         = 
 
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
 
 # The QUIET tag can be used to turn on/off the messages that are generated 
 # by doxygen. Possible values are YES and NO. If left blank NO is used.
 
 QUIET                  = YES
 
 # The WARNINGS tag can be used to turn on/off the warning messages that are 
 # generated by doxygen. Possible values are YES and NO. If left blank 
 # NO is used.
 
 WARNINGS               = NO
 
 # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
 # for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
 # automatically be disabled.
 
 WARN_IF_UNDOCUMENTED   = NO
 
 # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
 # potential errors in the documentation, such as not documenting some 
 # parameters in a documented function, or documenting parameters that 
 # don't exist or using markup commands wrongly.
 
 WARN_IF_DOC_ERROR      = NO
 
 # The WARN_NO_PARAMDOC option can be enabled to get warnings for 
 # functions that are documented, but have no documentation for their parameters 
 # or return value. If set to NO (the default) doxygen will only warn about 
 # wrong or incomplete parameter documentation, but not about the absence of 
 # documentation.
 
 WARN_NO_PARAMDOC       = NO
 
 # The WARN_FORMAT tag determines the format of the warning messages that 
 # doxygen can produce. The string should contain the $file, $line, and $text 
 # tags, which will be replaced by the file and line number from which the 
 # warning originated and the warning text. Optionally the format may contain 
 # $version, which will be replaced by the version of the file (if it could 
 # be obtained via FILE_VERSION_FILTER)
 
 WARN_FORMAT            = "$file:$line: $text"
 
 # The WARN_LOGFILE tag can be used to specify a file to which warning 
 # and error messages should be written. If left blank the output is written 
 # to stderr.
 
 WARN_LOGFILE           = 
 
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 
 # The INPUT tag can be used to specify the files and/or directories that contain 
 # documented source files. You may enter file names like "myfile.cpp" or 
 # directories like "/usr/src/myproject". Separate the files or directories 
 # with spaces.
 
 INPUT                  = @CMAKE_SOURCE_DIR@/src
 
 # This tag can be used to specify the character encoding of the source files 
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
 # also the default input encoding. Doxygen uses libiconv (or the iconv built 
 # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
 # the list of possible encodings.
 
 INPUT_ENCODING         = UTF-8
 
 # If the value of the INPUT tag contains directories, you can use the 
 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
 # and *.h) to filter out the source-files in the directories. If left 
 # blank the following patterns are tested: 
 # *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
 # *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py 
 # *.f90 *.f *.for *.vhd *.vhdl
 
 FILE_PATTERNS          = *.c \
                          *.cc \
                          *.cxx \
                          *.cpp \
                          *.c++ \
                          *.d \
                          *.java \
                          *.ii \
                          *.ixx \
                          *.ipp \
                          *.i++ \
                          *.inl \
                          *.h \
                          *.hh \
                          *.hxx \
                          *.hpp \
                          *.h++ \
                          *.idl \
                          *.odl \
                          *.cs \
                          *.php \
                          *.php3 \
                          *.inc \
                          *.m \
                          *.mm \
                          *.dox \
                          *.py \
                          *.f90 \
                          *.f \
                          *.for \
                          *.vhd \
                          *.vhdl
 
 # The RECURSIVE tag can be used to turn specify whether or not subdirectories 
 # should be searched for input files as well. Possible values are YES and NO. 
 # If left blank NO is used.
 
 RECURSIVE              = YES
 
 # The EXCLUDE tag can be used to specify files and/or directories that should be 
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT tag. 
 # Note that relative paths are relative to the directory from which doxygen is 
 # run.
 
 EXCLUDE                = @CMAKE_SOURCE_DIR@/src/aka_fwd.hh
 
 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 
 # directories that are symbolic links (a Unix file system feature) are excluded 
 # from the input.
 
 EXCLUDE_SYMLINKS       = NO
 
 # If the value of the INPUT tag contains directories, you can use the 
 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
 # certain files from those directories. Note that the wildcards are matched 
 # against the file with absolute path, so to exclude all test directories 
 # for example use the pattern */test/*
 
 EXCLUDE_PATTERNS       = 
 
 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
 # (namespaces, classes, functions, etc.) that should be excluded from the 
 # output. The symbol name can be a fully qualified name, a word, or if the 
 # wildcard * is used, a substring. Examples: ANamespace, AClass, 
 # AClass::ANamespace, ANamespace::*Test
 
 EXCLUDE_SYMBOLS        = 
 
 # The EXAMPLE_PATH tag can be used to specify one or more files or 
 # directories that contain example code fragments that are included (see 
 # the \include command).
 
 EXAMPLE_PATH           = @CMAKE_SOURCE_DIR@/test
 
 # If the value of the EXAMPLE_PATH tag contains directories, you can use the 
 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
 # and *.h) to filter out the source-files in the directories. If left 
 # blank all files are included.
 
 EXAMPLE_PATTERNS       = *
 
 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
 # searched for input files to be used with the \include or \dontinclude 
 # commands irrespective of the value of the RECURSIVE tag. 
 # Possible values are YES and NO. If left blank NO is used.
 
 EXAMPLE_RECURSIVE      = NO
 
 # The IMAGE_PATH tag can be used to specify one or more files or 
 # directories that contain image that are included in the documentation (see 
 # the \image command).
 
 IMAGE_PATH             = 
 
 # The INPUT_FILTER tag can be used to specify a program that doxygen should 
 # invoke to filter for each input file. Doxygen will invoke the filter program 
 # by executing (via popen()) the command <filter> <input-file>, where <filter> 
 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
 # input file. Doxygen will then use the output that the filter program writes 
 # to standard output.  If FILTER_PATTERNS is specified, this tag will be 
 # ignored.
 
 INPUT_FILTER           = 
 
 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
 # basis.  Doxygen will compare the file name with each pattern and apply the 
 # filter if there is a match.  The filters are a list of the form: 
 # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
 # info on how filters are used. If FILTER_PATTERNS is empty or if 
 # non of the patterns match the file name, INPUT_FILTER is applied.
 
 FILTER_PATTERNS        = 
 
 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
 # INPUT_FILTER) will be used to filter the input files when producing source 
 # files to browse (i.e. when SOURCE_BROWSER is set to YES).
 
 FILTER_SOURCE_FILES    = NO
 
 # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 
 # pattern. A pattern will override the setting for FILTER_PATTERN (if any) 
 # and it is also possible to disable source filtering for a specific pattern 
 # using *.ext= (so without naming a filter). This option only has effect when 
 # FILTER_SOURCE_FILES is enabled.
 
 FILTER_SOURCE_PATTERNS = 
 
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
 
 # If the SOURCE_BROWSER tag is set to YES then a list of source files will 
 # be generated. Documented entities will be cross-referenced with these sources. 
 # Note: To get rid of all source code in the generated output, make sure also 
 # VERBATIM_HEADERS is set to NO.
 
 SOURCE_BROWSER         = YES
 
 # Setting the INLINE_SOURCES tag to YES will include the body 
 # of functions and classes directly in the documentation.
 
 INLINE_SOURCES         = NO
 
 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
 # doxygen to hide any special comment blocks from generated source code 
 # fragments. Normal C and C++ comments will always remain visible.
 
 STRIP_CODE_COMMENTS    = YES
 
 # If the REFERENCED_BY_RELATION tag is set to YES 
 # then for each documented function all documented 
 # functions referencing it will be listed.
 
 REFERENCED_BY_RELATION = NO
 
 # If the REFERENCES_RELATION tag is set to YES 
 # then for each documented function all documented entities 
 # called/used by that function will be listed.
 
 REFERENCES_RELATION    = NO
 
 # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
 # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
 # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
 # link to the source code.  Otherwise they will link to the documentation.
 
 REFERENCES_LINK_SOURCE = YES
 
 # If the USE_HTAGS tag is set to YES then the references to source code 
 # will point to the HTML generated by the htags(1) tool instead of doxygen 
 # built-in source browser. The htags tool is part of GNU's global source 
 # tagging system (see http://www.gnu.org/software/global/global.html). You 
 # will need version 4.8.6 or higher.
 
 USE_HTAGS              = NO
 
 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
 # will generate a verbatim copy of the header file for each class for 
 # which an include is specified. Set to NO to disable this.
 
 VERBATIM_HEADERS       = YES
 
 #---------------------------------------------------------------------------
 # configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
 
 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
 # of all compounds will be generated. Enable this if the project 
 # contains a lot of classes, structs, unions or interfaces.
 
 ALPHABETICAL_INDEX     = YES
 
 # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
 # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
 # in which this list will be split (can be a number in the range [1..20])
 
 COLS_IN_ALPHA_INDEX    = 5
 
 # In case all classes in a project start with a common prefix, all 
 # classes will be put under the same header in the alphabetical index. 
 # The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
 # should be ignored while generating the index headers.
 
 IGNORE_PREFIX          = 
 
 #---------------------------------------------------------------------------
 # configuration options related to the HTML output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
 # generate HTML output.
 
 GENERATE_HTML          = YES
 
 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
 # put in front of it. If left blank `html' will be used as the default path.
 
 HTML_OUTPUT            = html
 
 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
 # each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
 # doxygen will generate files with .html extension.
 
 HTML_FILE_EXTENSION    = .html
 
 # The HTML_HEADER tag can be used to specify a personal HTML header for 
 # each generated HTML page. If it is left blank doxygen will generate a 
 # standard header. Note that when using a custom header you are responsible  
 # for the proper inclusion of any scripts and style sheets that doxygen 
 # needs, which is dependent on the configuration options used. 
 # It is advised to generate a default header using "doxygen -w html 
 # header.html footer.html stylesheet.css YourConfigFile" and then modify 
 # that header. Note that the header is subject to change so you typically 
 # have to redo this when upgrading to a newer version of doxygen or when 
 # changing the value of configuration settings such as GENERATE_TREEVIEW!
 
 HTML_HEADER            = 
 
 # The HTML_FOOTER tag can be used to specify a personal HTML footer for 
 # each generated HTML page. If it is left blank doxygen will generate a 
 # standard footer.
 
 HTML_FOOTER            = 
 
 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
 # style sheet that is used by each HTML page. It can be used to 
 # fine-tune the look of the HTML output. If the tag is left blank doxygen 
 # will generate a default style sheet. Note that doxygen will try to copy 
 # the style sheet file to the HTML output directory, so don't put your own 
 # style sheet in the HTML output directory as well, or it will be erased!
 
 HTML_STYLESHEET        = 
 
 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
 # other source files which should be copied to the HTML output directory. Note 
 # that these files will be copied to the base HTML output directory. Use the 
 # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 
 # files. In the HTML_STYLESHEET file, use the file name only. Also note that 
 # the files will be copied as-is; there are no commands or markers available.
 
 HTML_EXTRA_FILES       = 
 
 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
 # Doxygen will adjust the colors in the style sheet and background images 
 # according to this color. Hue is specified as an angle on a colorwheel, 
 # see http://en.wikipedia.org/wiki/Hue for more information. 
 # For instance the value 0 represents red, 60 is yellow, 120 is green, 
 # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 
 # The allowed range is 0 to 359.
 
 HTML_COLORSTYLE_HUE    = 220
 
 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 
 # the colors in the HTML output. For a value of 0 the output will use 
 # grayscales only. A value of 255 will produce the most vivid colors.
 
 HTML_COLORSTYLE_SAT    = 100
 
 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
 # the luminance component of the colors in the HTML output. Values below 
 # 100 gradually make the output lighter, whereas values above 100 make 
 # the output darker. The value divided by 100 is the actual gamma applied, 
 # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 
 # and 100 does not change the gamma.
 
 HTML_COLORSTYLE_GAMMA  = 80
 
 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 
 # page will contain the date and time when the page was generated. Setting 
 # this to NO can help when comparing the output of multiple runs.
 
 HTML_TIMESTAMP         = YES
 
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
 # documentation will contain sections that can be hidden and shown after the 
 # page has loaded. For this to work a browser that supports 
 # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
 # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
 
 HTML_DYNAMIC_SECTIONS  = NO
 
 # If the GENERATE_DOCSET tag is set to YES, additional index files 
 # will be generated that can be used as input for Apple's Xcode 3 
 # integrated development environment, introduced with OSX 10.5 (Leopard). 
 # To create a documentation set, doxygen will generate a Makefile in the 
 # HTML output directory. Running make will produce the docset in that 
 # directory and running "make install" will install the docset in 
 # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
 # it at startup. 
 # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
 # for more information.
 
 GENERATE_DOCSET        = NO
 
 # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
 # feed. A documentation feed provides an umbrella under which multiple 
 # documentation sets from a single provider (such as a company or product suite) 
 # can be grouped.
 
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 
 # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
 # should uniquely identify the documentation set bundle. This should be a 
 # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
 # will append .docset to the name.
 
 DOCSET_BUNDLE_ID       = org.doxygen.Project
 
 # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify 
 # the documentation publisher. This should be a reverse domain-name style 
 # string, e.g. com.mycompany.MyDocSet.documentation.
 
 DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
 
 # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
 
 DOCSET_PUBLISHER_NAME  = Publisher
 
 # If the GENERATE_HTMLHELP tag is set to YES, additional index files 
 # will be generated that can be used as input for tools like the 
 # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
 # of the generated HTML documentation.
 
 GENERATE_HTMLHELP      = NO
 
 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
 # be used to specify the file name of the resulting .chm file. You 
 # can add a path in front of the file if the result should not be 
 # written to the html output directory.
 
 CHM_FILE               = 
 
 # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
 # be used to specify the location (absolute path including file name) of 
 # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
 # the HTML help compiler on the generated index.hhp.
 
 HHC_LOCATION           = 
 
 # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
 # controls if a separate .chi index file is generated (YES) or that 
 # it should be included in the master .chm file (NO).
 
 GENERATE_CHI           = NO
 
 # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
 # is used to encode HtmlHelp index (hhk), content (hhc) and project file 
 # content.
 
 CHM_INDEX_ENCODING     = 
 
 # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
 # controls whether a binary table of contents is generated (YES) or a 
 # normal table of contents (NO) in the .chm file.
 
 BINARY_TOC             = NO
 
 # The TOC_EXPAND flag can be set to YES to add extra items for group members 
 # to the contents of the HTML help documentation and to the tree view.
 
 TOC_EXPAND             = NO
 
 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
 # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated 
 # that can be used as input for Qt's qhelpgenerator to generate a 
 # Qt Compressed Help (.qch) of the generated HTML documentation.
 
 GENERATE_QHP           = NO
 
 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
 # be used to specify the file name of the resulting .qch file. 
 # The path specified is relative to the HTML output folder.
 
 QCH_FILE               = 
 
 # The QHP_NAMESPACE tag specifies the namespace to use when generating 
 # Qt Help Project output. For more information please see 
 # http://doc.trolltech.com/qthelpproject.html#namespace
 
 QHP_NAMESPACE          = org.doxygen.Project
 
 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
 # Qt Help Project output. For more information please see 
 # http://doc.trolltech.com/qthelpproject.html#virtual-folders
 
 QHP_VIRTUAL_FOLDER     = doc
 
 # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to 
 # add. For more information please see 
 # http://doc.trolltech.com/qthelpproject.html#custom-filters
 
 QHP_CUST_FILTER_NAME   = 
 
 # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
 # custom filter to add. For more information please see 
 # <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> 
 # Qt Help Project / Custom Filters</a>.
 
 QHP_CUST_FILTER_ATTRS  = 
 
 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
 # project's 
 # filter section matches. 
 # <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
 # Qt Help Project / Filter Attributes</a>.
 
 QHP_SECT_FILTER_ATTRS  = 
 
 # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
 # be used to specify the location of Qt's qhelpgenerator. 
 # If non-empty doxygen will try to run qhelpgenerator on the generated 
 # .qhp file.
 
 QHG_LOCATION           = 
 
 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
 # will be generated, which together with the HTML files, form an Eclipse help 
 # plugin. To install this plugin and make it available under the help contents 
 # menu in Eclipse, the contents of the directory containing the HTML and XML 
 # files needs to be copied into the plugins directory of eclipse. The name of 
 # the directory within the plugins directory should be the same as 
 # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before 
 # the help appears.
 
 GENERATE_ECLIPSEHELP   = NO
 
 # A unique identifier for the eclipse help plugin. When installing the plugin 
 # the directory name containing the HTML and XML files should also have 
 # this name.
 
 ECLIPSE_DOC_ID         = org.doxygen.Project
 
 # The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 
 # at top of each HTML page. The value NO (the default) enables the index and 
 # the value YES disables it. Since the tabs have the same information as the 
 # navigation tree you can set this option to NO if you already set 
 # GENERATE_TREEVIEW to YES.
 
 DISABLE_INDEX          = NO
 
 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
 # structure should be generated to display hierarchical information. 
 # If the tag value is set to YES, a side panel will be generated 
 # containing a tree-like index structure (just like the one that 
 # is generated for HTML Help). For this to work a browser that supports 
 # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
 # Windows users are probably better off using the HTML help feature. 
 # Since the tree basically has the same information as the tab index you 
 # could consider to set DISABLE_INDEX to NO when enabling this option.
 
 GENERATE_TREEVIEW      = NO
 
 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 
 # (range [0,1..20]) that doxygen will group on one line in the generated HTML 
 # documentation. Note that a value of 0 will completely suppress the enum 
 # values from appearing in the overview section.
 
 ENUM_VALUES_PER_LINE   = 4
 
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, 
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
 # used to set the initial width (in pixels) of the frame in which the tree 
 # is shown.
 
 TREEVIEW_WIDTH         = 250
 
 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open 
 # links to external symbols imported via tag files in a separate window.
 
 EXT_LINKS_IN_WINDOW    = NO
 
 # Use this tag to change the font size of Latex formulas included 
 # as images in the HTML documentation. The default is 10. Note that 
 # when you change the font size after a successful doxygen run you need 
 # to manually remove any form_*.png images from the HTML output directory 
 # to force them to be regenerated.
 
 FORMULA_FONTSIZE       = 10
 
 # Use the FORMULA_TRANPARENT tag to determine whether or not the images 
 # generated for formulas are transparent PNGs. Transparent PNGs are 
 # not supported properly for IE 6.0, but are supported on all modern browsers. 
 # Note that when changing this option you need to delete any form_*.png files 
 # in the HTML output before the changes have effect.
 
 FORMULA_TRANSPARENT    = YES
 
 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax 
 # (see http://www.mathjax.org) which uses client side Javascript for the 
 # rendering instead of using prerendered bitmaps. Use this if you do not 
 # have LaTeX installed or if you want to formulas look prettier in the HTML 
 # output. When enabled you also need to install MathJax separately and 
 # configure the path to it using the MATHJAX_RELPATH option.
 
 USE_MATHJAX            = NO
 
 # When MathJax is enabled you need to specify the location relative to the 
 # HTML output directory using the MATHJAX_RELPATH option. The destination 
 # directory should contain the MathJax.js script. For instance, if the mathjax 
 # directory is located at the same level as the HTML output directory, then 
 # MATHJAX_RELPATH should be ../mathjax. The default value points to the 
 # mathjax.org site, so you can quickly see the result without installing 
 # MathJax, but it is strongly recommended to install a local copy of MathJax 
 # before deployment.
 
 MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
 
 # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
 # names that should be enabled during MathJax rendering.
 
 MATHJAX_EXTENSIONS     = 
 
 # When the SEARCHENGINE tag is enabled doxygen will generate a search box 
 # for the HTML output. The underlying search engine uses javascript 
 # and DHTML and should work on any modern browser. Note that when using 
 # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
 # (GENERATE_DOCSET) there is already a search function so this one should 
 # typically be disabled. For large projects the javascript based search engine 
 # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
 
 SEARCHENGINE           = YES
 
 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
 # implemented using a PHP enabled web server instead of at the web client 
 # using Javascript. Doxygen will generate the search PHP script and index 
 # file to put on the web server. The advantage of the server 
 # based approach is that it scales better to large projects and allows 
 # full text search. The disadvantages are that it is more difficult to setup 
 # and does not have live searching capabilities.
 
 SERVER_BASED_SEARCH    = NO
 
 #---------------------------------------------------------------------------
 # configuration options related to the LaTeX output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
 # generate Latex output.
 
 GENERATE_LATEX         = NO
 
 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
 # put in front of it. If left blank `latex' will be used as the default path.
 
 LATEX_OUTPUT           = latex
 
 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
 # invoked. If left blank `latex' will be used as the default command name. 
 # Note that when enabling USE_PDFLATEX this option is only used for 
 # generating bitmaps for formulas in the HTML output, but not in the 
 # Makefile that is written to the output directory.
 
 LATEX_CMD_NAME         = latex
 
 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
 # generate index for LaTeX. If left blank `makeindex' will be used as the 
 # default command name.
 
 MAKEINDEX_CMD_NAME     = makeindex
 
 # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
 # LaTeX documents. This may be useful for small projects and may help to 
 # save some trees in general.
 
 COMPACT_LATEX          = NO
 
 # The PAPER_TYPE tag can be used to set the paper type that is used 
 # by the printer. Possible values are: a4, letter, legal and 
 # executive. If left blank a4wide will be used.
 
 PAPER_TYPE             = a4
 
 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
 # packages that should be included in the LaTeX output.
 
-EXTRA_PACKAGES         = 
+EXTRA_PACKAGES         = amsmath
 
 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
 # the generated latex document. The header should contain everything until 
 # the first chapter. If it is left blank doxygen will generate a 
 # standard header. Notice: only use this tag if you know what you are doing!
 
 LATEX_HEADER           = 
 
 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 
 # the generated latex document. The footer should contain everything after 
 # the last chapter. If it is left blank doxygen will generate a 
 # standard footer. Notice: only use this tag if you know what you are doing!
 
 LATEX_FOOTER           = 
 
 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
 # is prepared for conversion to pdf (using ps2pdf). The pdf file will 
 # contain links (just like the HTML output) instead of page references 
 # This makes the output suitable for online browsing using a pdf viewer.
 
 PDF_HYPERLINKS         = YES
 
 # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
 # plain latex in the generated Makefile. Set this option to YES to get a 
 # higher quality PDF documentation.
 
 USE_PDFLATEX           = YES
 
 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
 # command to the generated LaTeX files. This will instruct LaTeX to keep 
 # running if errors occur, instead of asking the user for help. 
 # This option is also used when generating formulas in HTML.
 
-LATEX_BATCHMODE        = NO
+LATEX_BATCHMODE        = YES
 
 # If LATEX_HIDE_INDICES is set to YES then doxygen will not 
 # include the index chapters (such as File Index, Compound Index, etc.) 
 # in the output.
 
 LATEX_HIDE_INDICES     = NO
 
 # If LATEX_SOURCE_CODE is set to YES then doxygen will include 
 # source code with syntax highlighting in the LaTeX output. 
 # Note that which sources are shown also depends on other settings 
 # such as SOURCE_BROWSER.
 
 LATEX_SOURCE_CODE      = YES
 
 # The LATEX_BIB_STYLE tag can be used to specify the style to use for the 
 # bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 
 # http://en.wikipedia.org/wiki/BibTeX for more info.
 
 LATEX_BIB_STYLE        = plain
 
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
 # The RTF output is optimized for Word 97 and may not look very pretty with 
 # other RTF readers or editors.
 
 GENERATE_RTF           = NO
 
 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
 # put in front of it. If left blank `rtf' will be used as the default path.
 
 RTF_OUTPUT             = rtf
 
 # If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
 # RTF documents. This may be useful for small projects and may help to 
 # save some trees in general.
 
 COMPACT_RTF            = NO
 
 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
 # will contain hyperlink fields. The RTF file will 
 # contain links (just like the HTML output) instead of page references. 
 # This makes the output suitable for online browsing using WORD or other 
 # programs which support those fields. 
 # Note: wordpad (write) and others do not support links.
 
 RTF_HYPERLINKS         = NO
 
 # Load style sheet definitions from file. Syntax is similar to doxygen's 
 # config file, i.e. a series of assignments. You only have to provide 
 # replacements, missing definitions are set to their default value.
 
 RTF_STYLESHEET_FILE    = 
 
 # Set optional variables used in the generation of an rtf document. 
 # Syntax is similar to doxygen's config file.
 
 RTF_EXTENSIONS_FILE    = 
 
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
 # generate man pages
 
 GENERATE_MAN           = YES
 
 # The MAN_OUTPUT tag is used to specify where the man pages will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
 # put in front of it. If left blank `man' will be used as the default path.
 
 MAN_OUTPUT             = man
 
 # The MAN_EXTENSION tag determines the extension that is added to 
 # the generated man pages (default is the subroutine's section .3)
 
 MAN_EXTENSION          = .3
 
 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
 # then it will generate one additional man file for each entity 
 # documented in the real man page(s). These additional files 
 # only source the real man page, but without them the man command 
 # would be unable to find the correct page. The default is NO.
 
 MAN_LINKS              = NO
 
 #---------------------------------------------------------------------------
 # configuration options related to the XML output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_XML tag is set to YES Doxygen will 
 # generate an XML file that captures the structure of 
 # the code including all documentation.
 
 GENERATE_XML           = NO
 
 # The XML_OUTPUT tag is used to specify where the XML pages will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
 # put in front of it. If left blank `xml' will be used as the default path.
 
 XML_OUTPUT             = xml
 
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_DTD                = 
-
 # If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
 # dump the program listings (including syntax highlighting 
 # and cross-referencing information) to the XML output. Note that 
 # enabling this will significantly increase the size of the XML output.
 
 XML_PROGRAMLISTING     = YES
 
 #---------------------------------------------------------------------------
 # configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
 # generate an AutoGen Definitions (see autogen.sf.net) file 
 # that captures the structure of the code including all 
 # documentation. Note that this feature is still experimental 
 # and incomplete at the moment.
 
 GENERATE_AUTOGEN_DEF   = NO
 
 #---------------------------------------------------------------------------
 # configuration options related to the Perl module output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_PERLMOD tag is set to YES Doxygen will 
 # generate a Perl module file that captures the structure of 
 # the code including all documentation. Note that this 
 # feature is still experimental and incomplete at the 
 # moment.
 
 GENERATE_PERLMOD       = NO
 
 # If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
 # the necessary Makefile rules, Perl scripts and LaTeX code to be able 
 # to generate PDF and DVI output from the Perl module output.
 
 PERLMOD_LATEX          = NO
 
 # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
 # nicely formatted so it can be parsed by a human reader.  This is useful 
 # if you want to understand what is going on.  On the other hand, if this 
 # tag is set to NO the size of the Perl module output will be much smaller 
 # and Perl will parse it just the same.
 
 PERLMOD_PRETTY         = YES
 
 # The names of the make variables in the generated doxyrules.make file 
 # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
 # This is useful so different doxyrules.make files included by the same 
 # Makefile don't overwrite each other's variables.
 
 PERLMOD_MAKEVAR_PREFIX = 
 
 #---------------------------------------------------------------------------
 # Configuration options related to the preprocessor
 #---------------------------------------------------------------------------
 
 # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
 # evaluate all C-preprocessor directives found in the sources and include 
 # files.
 
 ENABLE_PREPROCESSING   = YES
 
 # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
 # names in the source code. If set to NO (the default) only conditional 
 # compilation will be performed. Macro expansion can be done in a controlled 
 # way by setting EXPAND_ONLY_PREDEF to YES.
 
 MACRO_EXPANSION        = YES
 
 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
 # then the macro expansion is limited to the macros specified with the 
 # PREDEFINED and EXPAND_AS_DEFINED tags.
 
 EXPAND_ONLY_PREDEF     = NO
 
 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
 # pointed to by INCLUDE_PATH will be searched when a #include is found.
 
 SEARCH_INCLUDES        = YES
 
 # The INCLUDE_PATH tag can be used to specify one or more directories that 
 # contain include files that are not input files but should be processed by 
 # the preprocessor.
 
 INCLUDE_PATH           = @AKANTU_DOXYGEN_INCLUDE_DIRS@
 
 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
 # patterns (like *.h and *.hpp) to filter out the header-files in the 
 # directories. If left blank, the patterns specified with FILE_PATTERNS will 
 # be used.
 
 INCLUDE_FILE_PATTERNS  = *.hh
 
 # The PREDEFINED tag can be used to specify one or more macro names that 
 # are defined before the preprocessor is started (similar to the -D option of 
 # gcc). The argument of the tag is a list of macros of the form: name 
 # or name=definition (no spaces). If the definition and the = are 
 # omitted =1 is assumed. To prevent a macro definition from being 
 # undefined via #undef or recursively expanded use the := operator 
 # instead of the = operator.
 
 PREDEFINED             = @AKANTU_DOXYGEN_DEFINTIONS@
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
 # this tag can be used to specify a list of macro names that should be expanded. 
 # The macro definition that is found in the sources will be used. 
 # Use the PREDEFINED tag if you want to use a different macro definition that 
 # overrules the definition found in the source code.
 
 EXPAND_AS_DEFINED      = __BEGIN_AKANTU__ \
                          __END_AKANTU__ \
                          AKANTU_GET_MACRO \
                          AKANTU_SET_MACRO \
                          AKANTU_GET_MACRO_NOT_CONST \
                          AKANTU_GET_MACRO_BY_ELEMENT_TYPE
 
 # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
 # doxygen's preprocessor will remove all references to function-like macros 
 # that are alone on a line, have an all uppercase name, and do not end with a 
 # semicolon, because these will confuse the parser if not removed.
 
 SKIP_FUNCTION_MACROS   = YES
 
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references
 #---------------------------------------------------------------------------
 
 # The TAGFILES option can be used to specify one or more tagfiles. 
 # Optionally an initial location of the external documentation 
 # can be added for each tagfile. The format of a tag file without 
 # this location is as follows: 
 #   TAGFILES = file1 file2 ... 
 # Adding location for the tag files is done as follows: 
 #   TAGFILES = file1=loc1 "file2 = loc2" ... 
 # where "loc1" and "loc2" can be relative or absolute paths or 
 # URLs. If a location is present for each tag, the installdox tool 
 # does not have to be run to correct the links. 
 # Note that each tag file must have a unique name 
 # (where the name does NOT include the path) 
 # If a tag file is not located in the directory in which doxygen 
 # is run, you must also specify the path to the tagfile here.
 
 TAGFILES               = 
 
 # When a file name is specified after GENERATE_TAGFILE, doxygen will create 
 # a tag file that is based on the input files it reads.
 
 GENERATE_TAGFILE       = 
 
 # If the ALLEXTERNALS tag is set to YES all external classes will be listed 
 # in the class index. If set to NO only the inherited external classes 
 # will be listed.
 
 ALLEXTERNALS           = NO
 
 # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
 # in the modules index. If set to NO, only the current project's groups will 
 # be listed.
 
 EXTERNAL_GROUPS        = YES
 
 # The PERL_PATH should be the absolute path and name of the perl script 
 # interpreter (i.e. the result of `which perl').
 
 PERL_PATH              = /usr/bin/perl
 
 #---------------------------------------------------------------------------
 # Configuration options related to the dot tool
 #---------------------------------------------------------------------------
 
 # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
 # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
 # or super classes. Setting the tag to NO turns the diagrams off. Note that 
 # this option also works with HAVE_DOT disabled, but it is recommended to 
 # install and use dot, since it yields more powerful graphs.
 
 CLASS_DIAGRAMS         = YES
 
 # You can define message sequence charts within doxygen comments using the \msc 
 # command. Doxygen will then run the mscgen tool (see 
 # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
 # documentation. The MSCGEN_PATH tag allows you to specify the directory where 
 # the mscgen tool resides. If left empty the tool is assumed to be found in the 
 # default search path.
 
 MSCGEN_PATH            = 
 
 # If set to YES, the inheritance and collaboration graphs will hide 
 # inheritance and usage relations if the target is undocumented 
 # or is not a class.
 
 HIDE_UNDOC_RELATIONS   = YES
 
 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
 # available from the path. This tool is part of Graphviz, a graph visualization 
 # toolkit from AT&T and Lucent Bell Labs. The other options in this section 
 # have no effect if this option is set to NO (the default)
 
 HAVE_DOT               = YES
 
 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is 
 # allowed to run in parallel. When set to 0 (the default) doxygen will 
 # base this on the number of processors available in the system. You can set it 
 # explicitly to a value larger than 0 to get control over the balance 
 # between CPU load and processing speed.
 
 DOT_NUM_THREADS        = 0
 
 # By default doxygen will use the Helvetica font for all dot files that 
 # doxygen generates. When you want a differently looking font you can specify 
 # the font name using DOT_FONTNAME. You need to make sure dot is able to find 
 # the font, which can be done by putting it in a standard location or by setting 
 # the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 
 # directory containing the font.
 
 DOT_FONTNAME           = Helvetica
 
 # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
 # The default size is 10pt.
 
 DOT_FONTSIZE           = 10
 
 # By default doxygen will tell dot to use the Helvetica font. 
 # If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 
 # set the path where dot can find it.
 
 DOT_FONTPATH           = 
 
 # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
 # will generate a graph for each documented class showing the direct and 
 # indirect inheritance relations. Setting this tag to YES will force the 
 # CLASS_DIAGRAMS tag to NO.
 
 CLASS_GRAPH            = YES
 
 # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
 # will generate a graph for each documented class showing the direct and 
 # indirect implementation dependencies (inheritance, containment, and 
 # class references variables) of the class with other documented classes.
 
 COLLABORATION_GRAPH    = NO
 
 # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
 # will generate a graph for groups, showing the direct groups dependencies
 
 GROUP_GRAPHS           = YES
 
 # If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
 # collaboration diagrams in a style similar to the OMG's Unified Modeling 
 # Language.
 
 UML_LOOK               = YES
 
 # If set to YES, the inheritance and collaboration graphs will show the 
 # relations between templates and their instances.
 
 TEMPLATE_RELATIONS     = NO
 
 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
 # tags are set to YES then doxygen will generate a graph for each documented 
 # file showing the direct and indirect include dependencies of the file with 
 # other documented files.
 
 INCLUDE_GRAPH          = YES
 
 # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
 # HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
 # documented header file showing the documented files that directly or 
 # indirectly include this file.
 
 INCLUDED_BY_GRAPH      = YES
 
 # If the CALL_GRAPH and HAVE_DOT options are set to YES then 
 # doxygen will generate a call dependency graph for every global function 
 # or class method. Note that enabling this option will significantly increase 
 # the time of a run. So in most cases it will be better to enable call graphs 
 # for selected functions only using the \callgraph command.
 
 CALL_GRAPH             = YES
 
 # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
 # doxygen will generate a caller dependency graph for every global function 
 # or class method. Note that enabling this option will significantly increase 
 # the time of a run. So in most cases it will be better to enable caller 
 # graphs for selected functions only using the \callergraph command.
 
 CALLER_GRAPH           = YES
 
 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
 # will generate a graphical hierarchy of all classes instead of a textual one.
 
 GRAPHICAL_HIERARCHY    = YES
 
 # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES 
 # then doxygen will show the dependencies a directory has on other directories 
 # in a graphical way. The dependency relations are determined by the #include 
 # relations between the files in the directories.
 
 DIRECTORY_GRAPH        = YES
 
 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
 # generated by dot. Possible values are svg, png, jpg, or gif. 
 # If left blank png will be used. If you choose svg you need to set 
 # HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
 # visible in IE 9+ (other browsers do not have this requirement).
 
 DOT_IMAGE_FORMAT       = png
 
 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 
 # enable generation of interactive SVG images that allow zooming and panning. 
 # Note that this requires a modern browser other than Internet Explorer. 
 # Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 
 # need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
 # visible. Older versions of IE do not have SVG support.
 
 INTERACTIVE_SVG        = NO
 
 # The tag DOT_PATH can be used to specify the path where the dot tool can be 
 # found. If left blank, it is assumed the dot tool can be found in the path.
 
 DOT_PATH               = @DOXYGEN_DOT_PATH@
 
 # The DOTFILE_DIRS tag can be used to specify one or more directories that 
 # contain dot files that are included in the documentation (see the 
 # \dotfile command).
 
 DOTFILE_DIRS           = 
 
 # The MSCFILE_DIRS tag can be used to specify one or more directories that 
 # contain msc files that are included in the documentation (see the 
 # \mscfile command).
 
 MSCFILE_DIRS           = 
 
 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
 # nodes that will be shown in the graph. If the number of nodes in a graph 
 # becomes larger than this value, doxygen will truncate the graph, which is 
 # visualized by representing a node as a red box. Note that doxygen if the 
 # number of direct children of the root node in a graph is already larger than 
 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
 # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
 
 DOT_GRAPH_MAX_NODES    = 600
 
 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
 # graphs generated by dot. A depth value of 3 means that only nodes reachable 
 # from the root by following a path via at most 3 edges will be shown. Nodes 
 # that lay further from the root node will be omitted. Note that setting this 
 # option to 1 or 2 may greatly reduce the computation time needed for large 
 # code bases. Also note that the size of a graph can be further restricted by 
 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
 
 MAX_DOT_GRAPH_DEPTH    = 2
 
 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
 # background. This is disabled by default, because dot on Windows does not 
 # seem to support this out of the box. Warning: Depending on the platform used, 
 # enabling this option may lead to badly anti-aliased labels on the edges of 
 # a graph (i.e. they become hard to read).
 
 DOT_TRANSPARENT        = NO
 
 # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
 # files in one run (i.e. multiple -o and -T options on the command line). This 
 # makes dot run faster, but since only newer versions of dot (>1.8.10) 
 # support this, this feature is disabled by default.
 
 DOT_MULTI_TARGETS      = NO
 
 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
 # generate a legend page explaining the meaning of the various boxes and 
 # arrows in the dot generated graphs.
 
 GENERATE_LEGEND        = YES
 
 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
 # remove the intermediate dot files that are used to generate 
 # the various graphs.
 
 DOT_CLEANUP            = YES
diff --git a/doc/manual/CMakeLists.txt b/doc/manual/CMakeLists.txt
index 925e85394..e6d32bd39 100644
--- a/doc/manual/CMakeLists.txt
+++ b/doc/manual/CMakeLists.txt
@@ -1,157 +1,163 @@
 #===============================================================================
 # @file   CMakeLists.txt
 #
 # @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
 # @author Nicolas Richart <nicolas.richart@epfl.ch>
 #
 # @date creation: Fri Sep 03 2010
 # @date last modification: Wed Jan 06 2016
 #
 # @brief  Build the documentation
 #
 # @section LICENSE
 #
 # Copyright (©)  2010-2012, 2014,  2015 EPFL  (Ecole Polytechnique  Fédérale de
 # Lausanne)  Laboratory (LSMS  -  Laboratoire de  Simulation  en Mécanique  des
 # Solides)
 #
 # Akantu is free  software: you can redistribute it and/or  modify it under the
 # terms  of the  GNU Lesser  General Public  License as  published by  the Free
 # Software Foundation, either version 3 of the License, or (at your option) any
 # later version.
 #
 # Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
 # details.
 #
 # You should  have received  a copy  of the GNU  Lesser General  Public License
 # along with Akantu. If not, see <http://www.gnu.org/licenses/>.
 #
 #===============================================================================
 
 #------------------------------------------------------------------------------#
 function(get_doc_label pkg_name label)
   string(REPLACE "_" "-" _pkg_tex_label_dash ${pkg_name})
   string(TOLOWER "${_pkg_tex_label_dash}" _pkg_tex_label)
   set(TOLOWER "${_pkg_tex_label_dash}" _pkg_tex_label)
   set(${label} "pkg:${_pkg_tex_label}" PARENT_SCOPE)
 endfunction()
 
 function(get_doc_package_name pkg_name pkg_tex)
   _package_get_option_name(${pkg_name} _opt_name)
   string(REPLACE "_" "\\_" _pkg_tex "${_opt_name}")
   set(${pkg_tex} ${_pkg_tex} PARENT_SCOPE)
 endfunction()
 
 #------------------------------------------------------------------------------#
 function(generate_package_dependency_tex_doc pkg_name FILENAME LEVEL)
   _package_get_option_name(${pkg_name} _opt_name)
   string(REPLACE "_" "\\_" _pkg_tex "${_opt_name}")
   get_doc_label(${pkg_name} _pkg_tex_label)
 
   file(APPEND ${FILENAME} "\\AkantuPackageNameWithLabel{${_pkg_tex}}{${_pkg_tex_label}}{${LEVEL}}\\allowbreak\\xspace")
 
   math(EXPR _sub_level "${LEVEL}+1")
   _package_get_dependencies(${pkg_name} _dependencies)
   foreach(_dep_pkg_name ${_dependencies})
     generate_package_dependency_tex_doc(${_dep_pkg_name} ${FILENAME} ${_sub_level})
   endforeach()
 endfunction()
 
 #------------------------------------------------------------------------------#
 function(generate_package_tex_doc pkg_name FILENAME)
   get_doc_package_name(${pkg_name} _pkg_tex)
   get_doc_label(${pkg_name} _pkg_tex_label)
 
   file(APPEND ${FILENAME} "\n\\begin{AkantuPackage}{${_pkg_tex}}{${_pkg_tex_label}}")
 
   _package_get_documentation(${pkg_name} _doc)
 
   if (_doc)
     file(APPEND ${FILENAME} "${_doc}")
   else()
     _package_get_filename(${pkg_name} _file_path)
     _package_get_real_name(${pkg_name} _pkg)
     get_filename_component(_file ${_file_path} NAME)
     string(REPLACE "_" "\\_" _escaped_file "${_file}")
     string(REPLACE "_" "\\_" _escaped_pkg "${_pkg}")
 
     set(_missing_doc
       "{\\color{red} TODO}: No Documentation in {\\color{blue} \\href{${_file_path}}{${_escaped_file}}}"
       ""
       "looking for the sequence: "
       "\\begin{cmake}"
       "\\package_declare_documentation("
       "  ${_escaped_pkg}"
       "  \"documentation text\""
       "  )"
       "\\end{cmake}")
 
     set(_missing_doc_str "")
     foreach(_str ${_missing_doc})
       set(_missing_doc_str "${_missing_doc_str}\n${_str}")
     endforeach()
 
     file(APPEND ${FILENAME} "${_missing_doc_str}")
   endif()
 
   _package_get_dependencies(${pkg_name} _dependencies)
 
   if(_dependencies)
     file(APPEND ${FILENAME} "\n\\begin{AkantuPackageDependencies}")
     foreach(_dep_pkg_name ${_dependencies})
       generate_package_dependency_tex_doc(${_dep_pkg_name} ${FILENAME} 1)
     endforeach()
     file(APPEND ${FILENAME} "\n\\end{AkantuPackageDependencies}")
   endif()
 
   file(APPEND ${FILENAME} "\n\\end{AkantuPackage}
 ")
 
 endfunction()
 
 #------------------------------------------------------------------------------#
 #------------------------------------------------------------------------------#
-set(DOC_DEPS_TEX_FILENAME "${CMAKE_CURRENT_BINARY_DIR}/manual-packages-doc.tex")
+set(AKANTU_MANUAL_SOURCE_FOLDER ${CMAKE_CURRENT_BINARY_DIR}/latex)
+
+set(DOC_DEPS_TEX_FILENAME "${AKANTU_MANUAL_SOURCE_FOLDER}/manual-packages-doc.tex")
 file(WRITE ${DOC_DEPS_TEX_FILENAME} "")
 
 find_program(RUBBER_EXECUTABLE rubber)
 if (NOT RUBBER_EXECUTABLE)
   message(ERROR "Manual cannot be built without rubber latex compiler")
 endif()
 mark_as_advanced(RUBBER_EXECUTABLE)
 
 package_get_all_documentation_files(_manual_files)
 
 set(AKANTU_MANUAL_FILES_DEPEND)
 set(AKANTU_MANUAL_FILES_COPY_COMMAND)
+
+file(MAKE_DIRECTORY ${AKANTU_MANUAL_SOURCE_FOLDER})
 foreach(_f  ${_manual_files})
   file(RELATIVE_PATH _rel_f ${CMAKE_CURRENT_SOURCE_DIR} "${_f}")
   list(APPEND AKANTU_MANUAL_FILES_DEPEND ${_f})
   list(APPEND AKANTU_MANUAL_FILES_COPY_COMMAND
-    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${_rel_f} ${_rel_f})
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/${_rel_f}" "${_rel_f}")
 endforeach()
 
 set(MANUAL_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/akantu_ug.pdf)
 
 add_custom_command(
   OUTPUT ${MANUAL_OUTPUT}
   DEPENDS ${AKANTU_MANUAL_FILES_DEPEND} ${DOC_DEPS_TEX_FILENAME}
   ${AKANTU_MANUAL_FILES_COPY_COMMAND}
   COMMAND ${RUBBER_EXECUTABLE} -dfq manual
-  COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_CURRENT_BINARY_DIR}/manual.pdf ${MANUAL_OUTPUT}
-  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+  COMMAND ${CMAKE_COMMAND} -E copy manual.pdf ${MANUAL_OUTPUT}
+  WORKING_DIRECTORY ${AKANTU_MANUAL_SOURCE_FOLDER}
   COMMENT "Compiling the user's manual"
   )
 
+set_directory_properties(latex/$)
+
 add_custom_target(manual ALL DEPENDS ${MANUAL_OUTPUT})
 
 install(FILES ${MANUAL_OUTPUT} DESTINATION share/akantu-${AKANTU_VERSION}/doc)
 
 package_get_all_activated_packages(_package_list)
 foreach (_pkg_name ${_package_list})
   generate_package_tex_doc(${_pkg_name} ${DOC_DEPS_TEX_FILENAME})
 endforeach()
 
-configure_file(version-definition.tex.in "${CMAKE_CURRENT_BINARY_DIR}/version-definition.tex" @ONLY)
+configure_file(version-definition.tex.in "${AKANTU_MANUAL_SOURCE_FOLDER}/version-definition.tex" @ONLY)
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index dd8275dc9..586806c13 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -1,289 +1,300 @@
 #===============================================================================
 # @file   CMakeLists.txt
 #
 # @author Nicolas Richart <nicolas.richart@epfl.ch>
 #
 # @date creation: Fri Dec 12 2014
 # @date last modification: Mon Jan 18 2016
 #
 # @brief  CMake file for the python wrapping of akantu
 #
 # @section LICENSE
 #
 # Copyright (©) 2015 EPFL (Ecole Polytechnique Fédérale de Lausanne) Laboratory
 # (LSMS - Laboratoire de Simulation en Mécanique des Solides)
 #
 # Akantu is free  software: you can redistribute it and/or  modify it under the
 # terms  of the  GNU Lesser  General Public  License as  published by  the Free
 # Software Foundation, either version 3 of the License, or (at your option) any
 # later version.
 #
 # Akantu is  distributed in the  hope that it  will be useful, but  WITHOUT ANY
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A  PARTICULAR PURPOSE. See  the GNU  Lesser General  Public License  for more
 # details.
 #
 # You should  have received  a copy  of the GNU  Lesser General  Public License
 # along with Akantu. If not, see <http://www.gnu.org/licenses/>.
 #
 #===============================================================================
 
 #===============================================================================
 # Configuration
 #===============================================================================
 package_get_all_definitions(AKANTU_DEFS)
 list(REMOVE_ITEM AKANTU_DEFS AKANTU_CORE_CXX11)
 #message(${AKANTU_DEFS})
 set(AKA_DEFS "")
 foreach (def ${AKANTU_DEFS})
   list(APPEND AKA_DEFS "-D${def}")
 endforeach()
 
 set(AKANTU_SWIG_FLAGS -w309,325,401,317,509,503,383,384 ${AKA_DEFS})
 set(AKANTU_SWIG_OUTDIR ${CMAKE_CURRENT_SOURCE_DIR})
 set(AKANTU_SWIG_MODULES swig/akantu.i)
 
 #===============================================================================
 # Swig wrapper
 #===============================================================================
 
 set(SWIG_REQURIED_VERISON 3.0)
 find_package(SWIG ${SWIG_REQURIED_VERISON})
 find_package(PythonInterp 2.7 REQUIRED)
 mark_as_advanced(SWIG_EXECUTABLE)
 
 package_get_all_include_directories(
   AKANTU_LIBRARY_INCLUDE_DIRS
   )
 
 package_get_all_external_informations(
   AKANTU_EXTERNAL_INCLUDE_DIR
   AKANTU_EXTERNAL_LIBRARIES
 )
 
 set(_swig_include_dirs
   ${CMAKE_CURRENT_SOURCE_DIR}/swig
   ${AKANTU_LIBRARY_INCLUDE_DIRS}
   ${PROJECT_BINARY_DIR}/src
   ${AKANTU_EXTERNAL_INCLUDE_DIR}
   )
 
 include(CMakeParseArguments)
 
 function(swig_generate_dependencies _module _depedencies _depedencies_out)
   set(_dependencies_script "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/_swig_generate_dependencies.cmake")
   file(WRITE ${_dependencies_script} "
 set(_include_directories ${_include_directories})
 list(APPEND _include_directories \"./\")
 
 set(_dep)
 set(_files_to_process \${_module})
 while(_files_to_process)
   list(GET _files_to_process 0 _file)
   list(REMOVE_AT _files_to_process 0)
   file(STRINGS \${_file} _file_content REGEX \"^%include *\\\"(.*)\\\"\")
 
   set(_includes)
   foreach(_line \${_file_content})
     string(REGEX REPLACE \"^%include *\\\"(.*)\\\"\" \"\\\\1\" _inc \${_line})
     if(_inc)
       list(APPEND _includes \${_inc})
     endif()
   endforeach()
 
   foreach(_include \${_includes})
     unset(_found)
     foreach(_inc_dir \${_include_directories})
       if(EXISTS \${_inc_dir}/\${_include})
         set(_found \${_inc_dir}/\${_include})
         break()
       endif()
     endforeach()
 
     if(_found)
       list(APPEND _files_to_process \${_found})
       list(APPEND _dep \${_found})
     endif()
   endforeach()
 endwhile()
 
 get_filename_component(_module_we \"\${_module}\" NAME_WE)
 set(_dependencies_file \${CMAKE_CURRENT_BINARY_DIR}\${CMAKE_FILES_DIRECTORY}/_swig_\${_module_we}_depends.cmake)
 file(WRITE \"\${_dependencies_file}\"
   \"set(_swig_\${_module_we}_depends\")
 foreach(_d \${_dep})
   file(APPEND \"\${_dependencies_file}\" \"
   \${_d}\")
 endforeach()
 file(APPEND \"\${_dependencies_file}\" \"
   )\")
 ")
 
   get_filename_component(_module_absolute "${_module}" ABSOLUTE)
   get_filename_component(_module_we "${_module}" NAME_WE)
 
   set(_dependencies_file ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/_swig_${_module_we}_depends.cmake)
 
   if(EXISTS ${_dependencies_file})
     include(${_dependencies_file})
   else()
     execute_process(COMMAND ${CMAKE_COMMAND}
       -D_module=${_module_absolute}
       -P ${_dependencies_script}
       WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
     include(${_dependencies_file})
   endif()
 
   set(${_depedencies_out} ${_swig_${_module_we}_depends} PARENT_SCOPE)
 
   add_custom_command(OUTPUT ${_dependencies_file}
     COMMAND ${CMAKE_COMMAND}
     -D_module=${_module_absolute}
     -P ${_dependencies_script}
     COMMENT "Scanning dependencies for swig module ${_module_we}"
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
     MAIN_DEPENDENCY ${_module_absolute}
     DEPENDS ${_swig_${_module_we}_depends}
     )
 
   set(${_depedencies} ${_dependencies_file} PARENT_SCOPE)
 endfunction()
 
 function(swig_generate_wrappers project _wrappers_cpp _wrappers_py)
   cmake_parse_arguments(_swig_opt "" "OUTPUT_DIR;DEPENDENCIES" "EXTRA_FLAGS;INCLUDE_DIRECTORIES" ${ARGN})
 
   if(_swig_opt_OUTPUT_DIR)
     set(_output_dir ${_swig_opt_OUTPUT_DIR})
   else()
     set(_output_dir ${CMAKE_CURRENT_BINARY_DIR})
   endif()
 
   set(_swig_wrappers)
   get_directory_property(_include_directories INCLUDE_DIRECTORIES)
   list(APPEND _include_directories ${_swig_opt_INCLUDE_DIRECTORIES})
   if(_include_directories)
     string(REPLACE ";" ";-I" _swig_include_directories "${_include_directories}")
   endif()
 
   foreach(_module ${_swig_opt_UNPARSED_ARGUMENTS})
     swig_generate_dependencies(${_module} _module_dependencies _depends_out)
     if(_swig_opt_DEPENDENCIES)
       set(${_swig_opt_DEPENDENCIES} ${_depends_out} PARENT_SCOPE)
     endif()
 
     get_filename_component(_module_absolute "${_module}" ABSOLUTE)
     get_filename_component(_module_path "${_module_absolute}" PATH)
     get_filename_component(_module_name "${_module}" NAME)
     get_filename_component(_module_we "${_module}" NAME_WE)
-    set(_wrapper "${_output_dir}/${_module_we}_wrapper.cc")
+    set(_wrapper "${_output_dir}/${_module_we}_wrapper.cpp")
     set(_extra_wrapper "${_output_dir}/${_module_we}.py")
     set(_extra_wrapper_bin "${CMAKE_CURRENT_BINARY_DIR}/${_module_we}.py")
 
     if(SWIG_FOUND)
       set_source_files_properties("${_wrapper}" PROPERTIES GENERATED 1)
       set_source_files_properties("${_extra_wrapper}" PROPERTIES GENERATED 1)
 
       set(_dependencies_file ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/_swig_${_module_we}_depends.cmake)
 
       set(_ouput "${_wrapper}" "${_extra_wrapper}")
       add_custom_command(
         OUTPUT ${_ouput}
         COMMAND "${SWIG_EXECUTABLE}"
         ARGS -python -c++
         ${_swig_opt_EXTRA_FLAGS}
         -outdir ${_output_dir}
         -I${_swig_include_directories} -I${_module_path}
         -o "${_wrapper}"
         "${_module_absolute}"
         COMMAND ${CMAKE_COMMAND} -E copy_if_different ${_extra_wrapper} ${_extra_wrapper_bin}
         #	MAIN_DEPENDENCY "${_module_absolute}"
         DEPENDS ${_module_dependencies}
         COMMENT "Generating swig wrapper ${_module} -> ${_wrapper}"
         )
 
       list(APPEND _swig_wrappers ${_wrapper})
       list(APPEND _swig_wrappers_py "${_extra_wrapper_bin}")
     else()
       if(NOT EXISTS ${_wrapper} OR NOT EXISTS "${_extra_wrapper}")
         message(FATAL_ERROR "The file ${_wrapper} and/or ${_extra_wrapper} does "
           "not exists and they cannot be generated. Install swig ${SWIG_REQURIED_VERISON} "
           " in order to generate them. Or get them from a different machine, "
           "in order to be able to compile the python interface")
       else()
         list(APPEND _swig_wrappers "${_wrapper}")
         list(APPEND _swig_wrappers_py "${_extra_wrapper_bin}")
       endif()
     endif()
   endforeach()
 
   add_custom_target(${project}_generate_swig_wrappers DEPENDS ${_swig_wrappers})
 
   set(${_wrappers_cpp} ${_swig_wrappers} PARENT_SCOPE)
   set(${_wrappers_py} ${_swig_wrappers_py} PARENT_SCOPE)
 endfunction()
 
 
 swig_generate_wrappers(akantu AKANTU_SWIG_WRAPPERS_CPP AKANTU_WRAPPERS_PYTHON
   ${AKANTU_SWIG_MODULES}
   EXTRA_FLAGS ${AKANTU_SWIG_FLAGS}
   DEPENDENCIES _deps
   INCLUDE_DIRECTORIES ${_swig_include_dirs})
 
 if(AKANTU_SWIG_WRAPPERS_CPP)
-  string(REPLACE ";" "\", \"" _ext_files "${AKANTU_SWIG_WRAPPERS_CPP}")
-  string(REPLACE ";" "\", \"" _inc_dirs "${_swig_include_dirs}")
-  string(REPLACE " " "\", \"" _flags "${CMAKE_CXX_FLAGS} -Wmaybe-uninitialized")
+  string(REPLACE ";" "', '" _ext_files "${AKANTU_SWIG_WRAPPERS_CPP}")
+  string(REPLACE ";" "', '" _inc_dirs "${_swig_include_dirs}")
+  string(STRIP "${CMAKE_CXX_FLAGS}" _tmp_flags)
+  string(REGEX REPLACE " +" "', '" _flags "${_tmp_flags} -Wmaybe-uninitialized")
+
+  if(CMAKE_VERBOSE_MAKEFILE)
+    set(_quiet)
+  else()
+    set(_quiet --quiet)
+  endif()
 
   file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/setup.py "
 from distutils.core import setup
 from distutils.core import setup, Extension
 import os
 
-os.environ[\"CC\"] = \"${CMAKE_CXX_COMPILER}\"
-os.environ[\"CXX\"] = \"${CMAKE_CXX_COMPILER}\"
-setup(name=\"akantu\",
-      license=\"LGPLv3\",
-      version=\"${AKANTU_VERSION}\",
-      py_modules=[\"akantu\"],
-      ext_modules=[Extension(\"_akantu\", [\"${_ext_files}\"],
-                             include_dirs=[\"${_inc_dirs}\"],
-                             language=\"c++\",
-                             libraries=[\"akantu\"],
-                             library_dirs=[\"${PROJECT_BINARY_DIR}/src\"],
-                             extra_compile_args=[\"${_flags}\"])],
+
+os.environ['CC'] = '${CMAKE_CXX_COMPILER}'
+os.environ['CXX'] = '${CMAKE_CXX_COMPILER}'
+setup(name='akantu',
+      license='LGPLv3',
+      version='${AKANTU_VERSION}',
+      py_modules=['akantu'],
+      ext_modules=[Extension('_akantu', ['${_ext_files}'],
+                             include_dirs=['${_inc_dirs}'],
+                             language='c++',
+                             libraries=['akantu'],
+                             library_dirs=['${PROJECT_BINARY_DIR}/src'],
+                             extra_compile_args=['${_flags}'])],
       )
 ")
 
   add_custom_target(_akantu ALL
-    COMMAND ${PYTHON_EXECUTABLE} ./setup.py --quiet --no-user-cfg build_ext
+    COMMAND ${PYTHON_EXECUTABLE} ./setup.py ${_quiet} --no-user-cfg build_ext -b build
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
     DEPENDS ${AKANTU_SWIG_WRAPPERS_CPP} akantu
     COMMENT "Building akantu's python interface"
     )
 
+  set_directory_properties(PROPERTIES
+    ADDITIONAL_MAKE_CLEAN_FILES ${CMAKE_CURRENT_BINARY_DIR}/build)
+
   # add_library(_akantu MODULE ${AKANTU_SWIG_WRAPPERS_CPP})
   # target_link_libraries(_akantu akantu)
 
   # set_target_properties(_akantu PROPERTIES PREFIX "")
 
   # list(APPEND AKANTU_EXPORT_LIST _akantu)
 
   # install(TARGETS _akantu
   #   EXPORT ${AKANTU_TARGETS_EXPORT}
   #   LIBRARY DESTINATION lib COMPONENT python NAMELINK_SKIP # for real systems
   #   ARCHIVE DESTINATION lib COMPONENT python
   #   RUNTIME DESTINATION bin COMPONENT python # for windows ...
   #   )
 
   # install(FILES ${AKANTU_WRAPPERS_PYTHON}
   #   DESTINATION lib COMPONENT python
   #   )
 
   install(CODE "execute_process(
-    COMMAND ${PYTHON_EXECUTABLE} ./setup.py --quiet install --prefix=${AKANTU_PYTHON_INSTALL_PREFIX}
+    COMMAND ${PYTHON_EXECUTABLE} ./setup.py ${_quiet} install --prefix=${AKANTU_PYTHON_INSTALL_PREFIX}
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
     )"
     COMPONENT python)
 
   package_declare_extra_files_to_package(python_interface ${_deps} ${PROJECT_SOURCE_DIR}/python/${AKANTU_SWIG_MODULES})
 endif()