doc and use sed to clean the class hierarchy instead of

preprocessor directives.
This commit is contained in:
Gael Guennebaud 2008-08-28 23:25:27 +00:00
parent 7ea821d18e
commit 409e82be06
26 changed files with 11 additions and 94 deletions

View File

@ -69,11 +69,7 @@ struct ei_traits<PartialReduxExpr<MatrixType, MemberOp, Direction> >
template< typename MatrixType, typename MemberOp, int Direction> template< typename MatrixType, typename MemberOp, int Direction>
class PartialReduxExpr : ei_no_assignment_operator, class PartialReduxExpr : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<PartialReduxExpr<MatrixType, MemberOp, Direction> > public MatrixBase<PartialReduxExpr<MatrixType, MemberOp, Direction> >
#else
public MapBase
#endif
{ {
public: public:

View File

@ -88,11 +88,7 @@ struct ei_traits<Block<MatrixType, BlockRows, BlockCols, _PacketAccess, _DirectA
}; };
template<typename MatrixType, int BlockRows, int BlockCols, int PacketAccess, int _DirectAccessStatus> class Block template<typename MatrixType, int BlockRows, int BlockCols, int PacketAccess, int _DirectAccessStatus> class Block
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<Block<MatrixType, BlockRows, BlockCols, PacketAccess, _DirectAccessStatus> > : public MatrixBase<Block<MatrixType, BlockRows, BlockCols, PacketAccess, _DirectAccessStatus> >
#else
: public MatrixBase
#endif
{ {
public: public:
@ -215,11 +211,7 @@ template<typename MatrixType, int BlockRows, int BlockCols, int PacketAccess, in
/** \internal */ /** \internal */
template<typename MatrixType, int BlockRows, int BlockCols, int PacketAccess> template<typename MatrixType, int BlockRows, int BlockCols, int PacketAccess>
class Block<MatrixType,BlockRows,BlockCols,PacketAccess,HasDirectAccess> class Block<MatrixType,BlockRows,BlockCols,PacketAccess,HasDirectAccess>
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MapBase<Block<MatrixType, BlockRows, BlockCols,PacketAccess,HasDirectAccess> > : public MapBase<Block<MatrixType, BlockRows, BlockCols,PacketAccess,HasDirectAccess> >
#else
: public MapBase
#endif
{ {
public: public:

View File

@ -108,7 +108,8 @@ struct MatrixBase<Derived>::CommaInitializer
int m_currentBlockRows; // current block height int m_currentBlockRows; // current block height
}; };
/** Convenient operator to set the coefficients of a matrix. /** \anchor MatrixBaseCommaInitRef
* Convenient operator to set the coefficients of a matrix.
* *
* The coefficients must be provided in a row major order and exactly match * The coefficients must be provided in a row major order and exactly match
* the size of the matrix. Otherwise an assertion is raised. * the size of the matrix. Otherwise an assertion is raised.

View File

@ -76,11 +76,7 @@ struct ei_traits<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >
template<typename BinaryOp, typename Lhs, typename Rhs> template<typename BinaryOp, typename Lhs, typename Rhs>
class CwiseBinaryOp : ei_no_assignment_operator, class CwiseBinaryOp : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<CwiseBinaryOp<BinaryOp, Lhs, Rhs> > public MatrixBase<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >
#else
public MatrixBase
#endif
{ {
public: public:

View File

@ -60,11 +60,7 @@ struct ei_traits<CwiseNullaryOp<NullaryOp, MatrixType> >
template<typename NullaryOp, typename MatrixType> template<typename NullaryOp, typename MatrixType>
class CwiseNullaryOp : ei_no_assignment_operator, class CwiseNullaryOp : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<CwiseNullaryOp<NullaryOp, MatrixType> > public MatrixBase<CwiseNullaryOp<NullaryOp, MatrixType> >
#else
public MatrixBase
#endif
{ {
public: public:

View File

@ -63,11 +63,7 @@ struct ei_traits<CwiseUnaryOp<UnaryOp, MatrixType> >
template<typename UnaryOp, typename MatrixType> template<typename UnaryOp, typename MatrixType>
class CwiseUnaryOp : ei_no_assignment_operator, class CwiseUnaryOp : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<CwiseUnaryOp<UnaryOp, MatrixType> > public MatrixBase<CwiseUnaryOp<UnaryOp, MatrixType> >
#else
public MatrixBase
#endif
{ {
public: public:

View File

@ -60,11 +60,7 @@ struct ei_traits<DiagonalCoeffs<MatrixType> >
}; };
template<typename MatrixType> class DiagonalCoeffs template<typename MatrixType> class DiagonalCoeffs
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<DiagonalCoeffs<MatrixType> > : public MatrixBase<DiagonalCoeffs<MatrixType> >
#else
: public MatrixBase
#endif
{ {
public: public:

View File

@ -56,11 +56,7 @@ struct ei_traits<DiagonalMatrix<CoeffsVectorType> >
template<typename CoeffsVectorType> template<typename CoeffsVectorType>
class DiagonalMatrix : ei_no_assignment_operator, class DiagonalMatrix : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<DiagonalMatrix<CoeffsVectorType> > public MatrixBase<DiagonalMatrix<CoeffsVectorType> >
#else
public MatrixBase
#endif
{ {
public: public:

View File

@ -61,11 +61,7 @@ struct ei_traits<Product<LhsNested, RhsNested, DiagonalProduct> >
}; };
template<typename LhsNested, typename RhsNested> class Product<LhsNested, RhsNested, DiagonalProduct> : ei_no_assignment_operator, template<typename LhsNested, typename RhsNested> class Product<LhsNested, RhsNested, DiagonalProduct> : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<Product<LhsNested, RhsNested, DiagonalProduct> > public MatrixBase<Product<LhsNested, RhsNested, DiagonalProduct> >
#else
public MatrixBase
#endif
{ {
typedef typename ei_traits<Product>::_LhsNested _LhsNested; typedef typename ei_traits<Product>::_LhsNested _LhsNested;
typedef typename ei_traits<Product>::_RhsNested _RhsNested; typedef typename ei_traits<Product>::_RhsNested _RhsNested;

View File

@ -55,11 +55,7 @@ struct ei_traits<Flagged<ExpressionType, Added, Removed> >
}; };
template<typename ExpressionType, unsigned int Added, unsigned int Removed> class Flagged template<typename ExpressionType, unsigned int Added, unsigned int Removed> class Flagged
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<Flagged<ExpressionType, Added, Removed> > : public MatrixBase<Flagged<ExpressionType, Added, Removed> >
#else
: public MatrixBase
#endif
{ {
public: public:

View File

@ -57,11 +57,7 @@ struct ei_traits<Map<MatrixType, _PacketAccess> > : public ei_traits<MatrixType>
}; };
template<typename MatrixType, int PacketAccess> class Map template<typename MatrixType, int PacketAccess> class Map
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MapBase<Map<MatrixType, PacketAccess> > : public MapBase<Map<MatrixType, PacketAccess> >
#else
: public MapBase
#endif
{ {
public: public:

View File

@ -97,11 +97,7 @@ struct ei_traits<Matrix<_Scalar, _Rows, _Cols, _StorageOrder, _MaxRows, _MaxCols
template<typename _Scalar, int _Rows, int _Cols, int _StorageOrder, int _MaxRows, int _MaxCols> template<typename _Scalar, int _Rows, int _Cols, int _StorageOrder, int _MaxRows, int _MaxCols>
class Matrix class Matrix
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<Matrix<_Scalar, _Rows, _Cols, _StorageOrder, _MaxRows, _MaxCols> > : public MatrixBase<Matrix<_Scalar, _Rows, _Cols, _StorageOrder, _MaxRows, _MaxCols> >
#else
: public MatrixBase
#endif
{ {
public: public:
EIGEN_GENERIC_PUBLIC_INTERFACE(Matrix) EIGEN_GENERIC_PUBLIC_INTERFACE(Matrix)

View File

@ -58,11 +58,7 @@ struct ei_traits<Minor<MatrixType> >
}; };
template<typename MatrixType> class Minor template<typename MatrixType> class Minor
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<Minor<MatrixType> > : public MatrixBase<Minor<MatrixType> >
#else
: public MatrixBase
#endif
{ {
public: public:

View File

@ -52,11 +52,7 @@ struct ei_traits<NestByValue<ExpressionType> >
}; };
template<typename ExpressionType> class NestByValue template<typename ExpressionType> class NestByValue
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<NestByValue<ExpressionType> > : public MatrixBase<NestByValue<ExpressionType> >
#else
: public MatrixBase
#endif
{ {
public: public:

View File

@ -59,11 +59,7 @@ struct ei_traits<Part<MatrixType, Mode> >
}; };
template<typename MatrixType, unsigned int Mode> class Part template<typename MatrixType, unsigned int Mode> class Part
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<Part<MatrixType, Mode> > : public MatrixBase<Part<MatrixType, Mode> >
#else
: public MatrixBase
#endif
{ {
public: public:

View File

@ -168,11 +168,7 @@ struct ei_traits<Product<LhsNested, RhsNested, ProductMode> >
}; };
template<typename LhsNested, typename RhsNested, int ProductMode> class Product : ei_no_assignment_operator, template<typename LhsNested, typename RhsNested, int ProductMode> class Product : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<Product<LhsNested, RhsNested, ProductMode> > public MatrixBase<Product<LhsNested, RhsNested, ProductMode> >
#else
public MatrixBase
#endif
{ {
public: public:

View File

@ -46,11 +46,7 @@ struct ei_traits<SwapWrapper<ExpressionType> >
}; };
template<typename ExpressionType> class SwapWrapper template<typename ExpressionType> class SwapWrapper
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<SwapWrapper<ExpressionType> > : public MatrixBase<SwapWrapper<ExpressionType> >
#else
: public MatrixBase
#endif
{ {
public: public:

View File

@ -57,11 +57,7 @@ struct ei_traits<Transpose<MatrixType> >
}; };
template<typename MatrixType> class Transpose template<typename MatrixType> class Transpose
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public MatrixBase<Transpose<MatrixType> > : public MatrixBase<Transpose<MatrixType> >
#else
: public MatrixBase
#endif
{ {
public: public:

View File

@ -43,11 +43,7 @@ struct ei_traits<HashMatrix<_Scalar, _Flags> >
// TODO reimplement this class using custom linked lists // TODO reimplement this class using custom linked lists
template<typename _Scalar, int _Flags> template<typename _Scalar, int _Flags>
class HashMatrix class HashMatrix
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public SparseMatrixBase<HashMatrix<_Scalar, _Flags> > : public SparseMatrixBase<HashMatrix<_Scalar, _Flags> >
#else
: public SparseMatrixBase
#endif
{ {
public: public:
EIGEN_GENERIC_PUBLIC_INTERFACE(HashMatrix) EIGEN_GENERIC_PUBLIC_INTERFACE(HashMatrix)

View File

@ -53,11 +53,7 @@ struct LinkedVectorChunk
template<typename _Scalar, int _Flags> template<typename _Scalar, int _Flags>
class LinkedVectorMatrix class LinkedVectorMatrix
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public SparseMatrixBase<LinkedVectorMatrix<_Scalar,_Flags> > : public SparseMatrixBase<LinkedVectorMatrix<_Scalar,_Flags> >
#else
: public SparseMatrixBase
#endif
{ {
public: public:
EIGEN_GENERIC_PUBLIC_INTERFACE(LinkedVectorMatrix) EIGEN_GENERIC_PUBLIC_INTERFACE(LinkedVectorMatrix)

View File

@ -53,11 +53,7 @@ struct ei_traits<SparseMatrix<_Scalar, _Flags> >
template<typename _Scalar, int _Flags> template<typename _Scalar, int _Flags>
class SparseMatrix class SparseMatrix
#ifndef EIGEN_PARSED_BY_DOXYGEN
: public SparseMatrixBase<SparseMatrix<_Scalar, _Flags> > : public SparseMatrixBase<SparseMatrix<_Scalar, _Flags> >
#else
: public SparseMatrixBase
#endif
{ {
public: public:
EIGEN_GENERIC_PUBLIC_INTERFACE(SparseMatrix) EIGEN_GENERIC_PUBLIC_INTERFACE(SparseMatrix)

View File

@ -88,11 +88,7 @@ struct ei_traits<Product<LhsNested, RhsNested, SparseProduct> >
}; };
template<typename LhsNested, typename RhsNested> class Product<LhsNested,RhsNested,SparseProduct> : ei_no_assignment_operator, template<typename LhsNested, typename RhsNested> class Product<LhsNested,RhsNested,SparseProduct> : ei_no_assignment_operator,
#ifndef EIGEN_PARSED_BY_DOXYGEN
public MatrixBase<Product<LhsNested, RhsNested, SparseProduct> > public MatrixBase<Product<LhsNested, RhsNested, SparseProduct> >
#else
public MatrixBase
#endif
{ {
public: public:

View File

@ -14,6 +14,6 @@ In order to generate the documentation of Eigen, please follow these steps:
After doing that, you will find the HTML documentation in the doc/html/ subdirectory of the build directory. After doing that, you will find the HTML documentation in the doc/html/ subdirectory of the build directory.
<h2>Note however that the documentation is available online here: <h2>Note however that the documentation is available online here:
<a href="http://eigen.tuxfamily.org/api/">http://eigen.tuxfamily.org/api</a> <a href="http://eigen.tuxfamily.org/api/">http://eigen.tuxfamily.org/api</a></h2>
*/ */

View File

@ -38,6 +38,7 @@ ADD_CUSTOM_TARGET(
${CMAKE_CURRENT_BINARY_DIR}/html/ ${CMAKE_CURRENT_BINARY_DIR}/html/
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildexamplelist.sh ${CMAKE_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/ExampleList.dox COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildexamplelist.sh ${CMAKE_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/ExampleList.dox
COMMAND doxygen COMMAND doxygen
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cleanhierarchy.sh ${CMAKE_CURRENT_BINARY_DIR}/html/hierarchy.html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
) )

View File

@ -188,7 +188,7 @@ MatrixXi mat2x2 = Map<MatrixXi>(data,2,2);
\subsection TutorialCommaInit Comma initializer \subsection TutorialCommaInit Comma initializer
Eigen also offer a \link MatrixBase::operator<<(const Scalar &) comma initializer syntax \endlink which allows you to set all the coefficients of a matrix to specific values: Eigen also offer a \ref MatrixBaseCommaInitRef "comma initializer syntax" which allows you to set all the coefficients of a matrix to specific values:
<table class="tutorial_code"><tr><td> <table class="tutorial_code"><tr><td>
\include Tutorial_commainit_01.cpp \include Tutorial_commainit_01.cpp
</td> </td>
@ -295,8 +295,7 @@ etc.
<td><table class="tutorial_code"> <td><table class="tutorial_code">
<tr><td> <tr><td>
\b Trigo: \n \b Trigo: \n
\link Cwise::sin sin \endlink, \link Cwise::cos cos \endlink, \link Cwise::sin sin \endlink, \link Cwise::cos cos \endlink</td><td>\code
\link Cwise::tan tan \endlink</td><td>\code
mat3 = mat1.cwise().sin(); mat3 = mat1.cwise().sin();
etc. etc.
\endcode \endcode
@ -538,7 +537,7 @@ more compact, fast and stable. AngleAxis are only useful to create other rotatio
\subsection TutorialGeoCommonRotationAPI Common API across rotation types \subsection TutorialGeoCommonRotationAPI Common API across rotation types
To some extent, Eigen's \ref Geometry_Module "geometry module" allows you to write To some extent, Eigen's \ref GeometryModule "geometry module" allows you to write
generic algorithms working on both 2D and 3D rotations of any of the five above types. generic algorithms working on both 2D and 3D rotations of any of the five above types.
The following operation are supported: The following operation are supported:
<table class="tutorial_code"> <table class="tutorial_code">

4
doc/cleanhierarchy.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
sed -i 's/^.li.*MatrixBase\&lt.*gt.*a.$/ /g' $1
sed -i 's/^.li.*MapBase\&lt.*gt.*a.$/ /g' $1