aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/CMakeLists.txt1
-rw-r--r--doc/Doxyfile.in15
-rw-r--r--doc/Mainpage.dox2
-rwxr-xr-xdoc/buildexamplelist.sh15
4 files changed, 27 insertions, 6 deletions
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 4e1a7696d..10d762a21 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -20,6 +20,7 @@ ADD_SUBDIRECTORY(snippets)
ADD_CUSTOM_TARGET(
run_doxygen
ALL
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildexamplelist.sh ${CMAKE_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/ExampleList.dox
COMMAND doxygen
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
index 64bd2b3f7..bade60a2b 100644
--- a/doc/Doxyfile.in
+++ b/doc/Doxyfile.in
@@ -197,9 +197,12 @@ TAB_SIZE = 8
# You can put \n's in the value part of an alias to insert newlines.
ALIASES = "only_for_vectors=This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column." \
- "array_module=This is defined in the %Array module. \code #include<Eigen/Array> \endcode" \
- "lu_module=This is defined in the %LU module. \code #include<Eigen/LU> \endcode" \
- "qr_module=This is defined in the %QR module. \code #include<Eigen/QR> \endcode"
+ "array_module=This is defined in the %Array module. \code #include <Eigen/Array> \endcode" \
+ "lu_module=This is defined in the %LU module. \code #include <Eigen/LU> \endcode" \
+ "qr_module=This is defined in the %QR module. \code #include <Eigen/QR> \endcode" \
+ "geometry_module=This is defined in the %Geometry module. \code #include <Eigen/Geometry> \endcode" \
+ "addexample=\anchor" \
+ "label=\bug"
# 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
@@ -547,7 +550,8 @@ WARN_LOGFILE =
# with spaces.
INPUT = ${CMAKE_SOURCE_DIR}/Eigen \
- ${CMAKE_SOURCE_DIR}/doc
+ ${CMAKE_SOURCE_DIR}/doc \
+ ${CMAKE_BINARY_DIR}/doc
# 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
@@ -576,7 +580,7 @@ RECURSIVE = NO
# 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.
-EXCLUDE =
+EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
@@ -592,6 +596,7 @@ EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = CMake* \
*.txt \
+ *.sh \
*~
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
diff --git a/doc/Mainpage.dox b/doc/Mainpage.dox
index 2437872b0..aef72b042 100644
--- a/doc/Mainpage.dox
+++ b/doc/Mainpage.dox
@@ -6,7 +6,7 @@ This is the API documentation for Eigen.
Most of the API is available as methods in MatrixBase, so this is a good starting point for browsing. Also have a look at Matrix, as a few methods and the matrix constructors are there. Other notable classes for the Eigen API are Cwise, which contains the methods for doing certain coefficient-wise operations, and Part.
-For a first contact with Eigen, it is enough to look at Matrix, MatrixBase, and Cwise. In fact, except for advanced use, the only class that you'll have to explicitly name in your program, i.e. of which you'll explicitly contruct objects, is Matrix. For instance, vectors are handled as a special case of Matrix with one column. Typedefs are provided, e.g. Vector2f is a typedef for Matrix<float, 2, 1>.
+For a first contact with Eigen, you might look at the \ref ExampleList "the list of selected examples". Then, it is enough to look at Matrix, MatrixBase, and Cwise. In fact, except for advanced use, the only class that you'll have to explicitly name in your program, i.e. of which you'll explicitly contruct objects, is Matrix. For instance, vectors are handled as a special case of Matrix with one column. Typedefs are provided, e.g. Vector2f is a typedef for Matrix<float, 2, 1>.
Most of the other classes are just return types for MatrixBase methods.
diff --git a/doc/buildexamplelist.sh b/doc/buildexamplelist.sh
new file mode 100755
index 000000000..0a9bb7ec0
--- /dev/null
+++ b/doc/buildexamplelist.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+echo "namespace Eigen {"
+echo "/** \page ExampleList"
+echo "<h1>Selected list of examples</h1>"
+
+grep \\addexample $1/Eigen/* -R | cut -d \\ -f 2- | \
+while read example;
+do
+anchor=`echo "$example" | cut -d " " -f 2`
+text=`echo "$example" | cut -d " " -f 4-`
+echo "\\\li \\\ref $anchor \"$text\""
+done
+echo "*/"
+echo "}" \ No newline at end of file