aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2008-08-29 16:17:06 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2008-08-29 16:17:06 +0000
commit063d1bb811f5e51fa47e89b43ee230499f5a8fe3 (patch)
treef44250ae8746245815d120eac121dfdb60bb9df9 /doc
parent68fbd6f53184b20798d2351b2f6fdccdfd6107aa (diff)
tweak root/Mainpage.dox to make it compatible with kde's doxygen.sh script
plus some hacks to compile the examples from doxygen... Hopefully, api.kde.org/eigen2 will be beautiful by tomorrow....
Diffstat (limited to 'doc')
-rw-r--r--doc/Doxyfile.in8
-rw-r--r--doc/Overview.dox (renamed from doc/Mainpage.dox)0
-rw-r--r--doc/QuickStartGuide.dox14
-rwxr-xr-xdoc/apidox_preprocessing.sh44
-rw-r--r--doc/snippets/PartialRedux_norm2.cpp2
5 files changed, 58 insertions, 10 deletions
diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
index bcee2591e..8a0e336fb 100644
--- a/doc/Doxyfile.in
+++ b/doc/Doxyfile.in
@@ -768,8 +768,7 @@ HTML_FILE_EXTENSION = .html
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
-# ${CMAKE_BINARY_DIR}/doc/eigendoxy_header.html
-HTML_HEADER =
+HTML_HEADER = ${CMAKE_BINARY_DIR}/doc/eigendoxy_header.html
# 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
@@ -777,7 +776,7 @@ HTML_HEADER =
# the footer has not been customized yet, so let's use the default one
# ${CMAKE_BINARY_DIR}/doc/eigendoxy_footer.html
-HTML_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
@@ -786,8 +785,7 @@ HTML_FOOTER =
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
-# ${CMAKE_SOURCE_DIR}/doc/eigendoxy.css
-HTML_STYLESHEET =
+HTML_STYLESHEET = ${CMAKE_SOURCE_DIR}/doc/eigendoxy.css
# 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
diff --git a/doc/Mainpage.dox b/doc/Overview.dox
index d703358ea..d703358ea 100644
--- a/doc/Mainpage.dox
+++ b/doc/Overview.dox
diff --git a/doc/QuickStartGuide.dox b/doc/QuickStartGuide.dox
index d8a58b208..74ff8780e 100644
--- a/doc/QuickStartGuide.dox
+++ b/doc/QuickStartGuide.dox
@@ -590,8 +590,14 @@ Vector3f v1, v2;
v2 = t.linear() * v1;\endcode</td><td>\code
Vector2f v1, v2;
v2 = t.linear() * v1;\endcode</td></tr>
-<tr><td>Concatenate two transformations</td><td>\code
-t3 = t1 * t2;\endcode</td><td>\code
+<tr><td>Apply a \em general transformation \n to a \b normal \b vector
+(<a href="http://www.cgafaq.info/wiki/Transforming_normals">explanations</a>)</td><td colspan="2">\code
+Matrix{3,2}f normalMatrix = t.linear().inverse().transpose();
+n2 = (normalMatrix * n1).normalize();\endcode</td></tr>
+<tr><td>Apply a transformation with \em pure \em rotation \n to a \b normal \b vector
+(no scaling, no shear)</td><td colspan="2">\code
+n2 = t.linear() * n1;\endcode</td></tr>
+<tr><td>Concatenate two transformations</td><td colspan="2">\code
t3 = t1 * t2;\endcode</td></tr>
<tr><td>OpenGL compatibility</td><td>\code
glLoadMatrixf(t.data());\endcode</td><td>\code
@@ -634,9 +640,9 @@ t.scale(Vector3f(sx, sy, sz));
t.scale(Vector3f::Constant(s));
t.prescale(Vector3f(sx, sy, sz));
\endcode</td><td>\code
-t.scale(Vector2f(tx, ty));
+t.scale(Vector2f(sx, sy));
t.scale(Vector2f::Constant(s));
-t.prescale(Vector2f(tx, ty));
+t.prescale(Vector2f(sx, sy));
\endcode</td></tr>
<tr><td>Applies a shear transformation \n(2D only)</td><td></td><td>\code
t.shear(sx,sy);
diff --git a/doc/apidox_preprocessing.sh b/doc/apidox_preprocessing.sh
new file mode 100755
index 000000000..a611465cb
--- /dev/null
+++ b/doc/apidox_preprocessing.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+CXX=`which g++`
+SRC=$1
+mkdir -p eigen2/out
+
+if expr match $SRC ".*\/examples\/.*" > /dev/null ; then
+
+# DST=`echo $SRC | sed 's/examples/out/' | sed 's/cpp$/out/'`
+ DST=`echo $SRC | sed 's/.*\/examples/eigen2\/out/' | sed 's/cpp$/out/'`
+ INC=`echo $SRC | sed 's/\/doc\/examples\/.*/\//'`
+
+ if ! test -e $DST || test $SRC -nt $DST ; then
+ $CXX $SRC -I. -I$INC -o eitmp_example && ./eitmp_example > $DST
+ rm eitmp_example
+ fi
+
+elif expr match $SRC ".*\/snippets\/.*" > /dev/null ; then
+
+# DST=`echo $SRC | sed 's/snippets/out/' | sed 's/cpp$/out/'`
+ DST=`echo $SRC | sed 's/.*\/snippets/eigen2\/out/' | sed 's/cpp$/out/'`
+ INC=`echo $SRC | sed 's/\/doc\/snippets\/.*/\//'`
+
+ if ! test -e $DST || test $SRC -nt $DST ; then
+ echo "#include <Eigen/Core>" > .ei_in.cpp
+ echo "#include <Eigen/Array>" >> .ei_in.cpp
+ echo "#include <Eigen/LU>" >> .ei_in.cpp
+ echo "#include <Eigen/Cholesky>" >> .ei_in.cpp
+ echo "#include <Eigen/Geometry>" >> .ei_in.cpp
+ echo "using namespace Eigen; using namespace std;" >> .ei_in.cpp
+ echo "int main(int, char**){cout.precision(3);" >> .ei_in.cpp
+ cat $SRC >> .ei_in.cpp
+ echo "return 0;}" >> .ei_in.cpp
+ echo " " >> .ei_in.cpp
+
+ $CXX .ei_in.cpp -I. -I$INC -o eitmp_example && ./eitmp_example > $DST
+ rm eitmp_example
+ rm .ei_in.cpp
+ fi
+
+fi
+
+cat $SRC
+exit 0
diff --git a/doc/snippets/PartialRedux_norm2.cpp b/doc/snippets/PartialRedux_norm2.cpp
index 9e1692ae3..a077309a3 100644
--- a/doc/snippets/PartialRedux_norm2.cpp
+++ b/doc/snippets/PartialRedux_norm2.cpp
@@ -1,3 +1,3 @@
Matrix3d m = Matrix3d::Random();
cout << "Here is the matrix m:" << endl << m << endl;
-cout << "Here is the square norm of each row:" << endl << m.rowwise().norm2() << endl; \ No newline at end of file
+cout << "Here is the square norm of each row:" << endl << m.rowwise().norm2() << endl;