Added an automatically generated list of selected examples in the documentation.

Added the custom gemetry_module tag, and use it.
This commit is contained in:
Gael Guennebaud
2008-07-19 20:36:41 +00:00
parent 05ad083467
commit 6e2c53e056
19 changed files with 87 additions and 15 deletions

View File

@@ -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}
)

View File

@@ -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

View File

@@ -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.

15
doc/buildexamplelist.sh Executable file
View File

@@ -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 "}"