Commit c4d50b32 authored by Stefan Philips's avatar Stefan Philips

[CHANGE] Use Eigen::Dynamic instead of -1 as template parameter

parent 723991ef
...@@ -122,8 +122,8 @@ void computeSVD( const WMatrix< T >& A, ...@@ -122,8 +122,8 @@ void computeSVD( const WMatrix< T >& A,
WMatrix< T >& V, WMatrix< T >& V,
WValue< T >& S ) WValue< T >& S )
{ {
Eigen::Matrix< T, -1, -1 > eigenA( A ); Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > eigenA( A );
Eigen::JacobiSVD< Eigen::Matrix< T, -1, -1 > > svd( eigenA, Eigen::ComputeFullU | Eigen::ComputeFullV ); Eigen::JacobiSVD< Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > svd( eigenA, Eigen::ComputeFullU | Eigen::ComputeFullV );
U = WMatrix< T >( svd.matrixU() ); U = WMatrix< T >( svd.matrixU() );
V = WMatrix< T >( svd.matrixV() ); V = WMatrix< T >( svd.matrixV() );
S = WValue< T >( svd.singularValues() ); S = WValue< T >( svd.singularValues() );
......
...@@ -144,14 +144,14 @@ public: ...@@ -144,14 +144,14 @@ public:
operator osg::Matrixd() const; operator osg::Matrixd() const;
/** /**
* Cast this matrix to an Eigen::Matrix< EigenDataType, -1, -1 >() matrix. * Cast this matrix to an Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic >() matrix.
* *
* \tparam EigenDataType Data type of Eigen matrix. * \tparam EigenDataType Data type of Eigen matrix.
* *
* \return casted matrix. * \return casted matrix.
*/ */
template< typename EigenDataType > template< typename EigenDataType >
operator Eigen::Matrix< EigenDataType, -1, -1 >() const; operator Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic >() const;
/** /**
* Compares two matrices and returns true if they are equal. * Compares two matrices and returns true if they are equal.
...@@ -233,7 +233,7 @@ private: ...@@ -233,7 +233,7 @@ private:
* \param newMatrix The source matrix. * \param newMatrix The source matrix.
*/ */
template< typename EigenDataType > template< typename EigenDataType >
void copyFromEigenMatrix( const Eigen::Matrix< EigenDataType, -1, -1 >& newMatrix ); void copyFromEigenMatrix( const Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic >& newMatrix );
size_t m_nbCols; //!< Number of columns of the matrix. The number of rows will be computed by (size/m_nbCols). size_t m_nbCols; //!< Number of columns of the matrix. The number of rows will be computed by (size/m_nbCols).
}; };
...@@ -331,9 +331,9 @@ template< typename T > WMatrix< T >::operator osg::Matrixd() const ...@@ -331,9 +331,9 @@ template< typename T > WMatrix< T >::operator osg::Matrixd() const
} }
template< typename T > template< typename T >
template< typename EigenDataType > WMatrix< T >::operator Eigen::Matrix< EigenDataType, -1, -1 >() const template< typename EigenDataType > WMatrix< T >::operator Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic >() const
{ {
Eigen::Matrix< EigenDataType, -1, -1 > matrix( this->getNbRows(), this->getNbCols() ); Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic > matrix( this->getNbRows(), this->getNbCols() );
for( int row = 0; row < matrix.rows(); ++row ) for( int row = 0; row < matrix.rows(); ++row )
{ {
for( int col = 0; col < matrix.cols(); ++col ) for( int col = 0; col < matrix.cols(); ++col )
...@@ -526,7 +526,8 @@ template< typename T > bool WMatrix< T >::isIdentity( T delta ) const ...@@ -526,7 +526,8 @@ template< typename T > bool WMatrix< T >::isIdentity( T delta ) const
} }
template< typename T > template< typename T >
template< typename EigenDataType > void WMatrix< T >::copyFromEigenMatrix( const Eigen::Matrix< EigenDataType, -1, -1 >& newMatrix ) template< typename EigenDataType >
void WMatrix< T >::copyFromEigenMatrix( const Eigen::Matrix< EigenDataType, Eigen::Dynamic, Eigen::Dynamic >& newMatrix )
{ {
m_nbCols = static_cast< size_t >( newMatrix.cols() ); m_nbCols = static_cast< size_t >( newMatrix.cols() );
for( int row = 0; row < newMatrix.rows(); ++row ) for( int row = 0; row < newMatrix.rows(); ++row )
......
...@@ -392,7 +392,7 @@ private: ...@@ -392,7 +392,7 @@ private:
* \param newValues The source Eigen::VectorX. * \param newValues The source Eigen::VectorX.
*/ */
template< typename EigenDataType > template< typename EigenDataType >
void copyFromEigenVector( const Eigen::Matrix< EigenDataType, -1, 1 >& newValues ) void copyFromEigenVector( const Eigen::Matrix< EigenDataType, Eigen::Dynamic, 1 >& newValues )
{ {
for( std::size_t i = 0; i < m_components.size(); ++i ) for( std::size_t i = 0; i < m_components.size(); ++i )
{ {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment