/****************************************************************************
* VCGLib o o *
* Visual and Computer Graphics Library o o *
* _ O _ *
* Copyright(C) 2004 \/)\/ *
* Visual Computing Lab /\/| *
* ISTI - Italian National Research Council | *
* \ *
* All rights reserved. *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt) *
* for more details. *
* *
****************************************************************************/
#warning You are including deprecated math stuff
/*!
* \deprecated use cols()
*/
EIGEN_DEPRECATED inline unsigned int ColumnsNumber() const { return cols(); };
/*!
* \deprecated use rows()
*/
EIGEN_DEPRECATED inline unsigned int RowsNumber() const { return rows(); };
/*!
* \deprecated use *this(i,j) (or *this.coeff(i,j))
* Return the element stored in the i-th rows at the j-th column
* \param i the row index
* \param j the column index
* \return the element
*/
EIGEN_DEPRECATED inline Scalar ElementAt(unsigned int i, unsigned int j) const { return (*this)(i,j); }
EIGEN_DEPRECATED inline Scalar& ElementAt(unsigned int i, unsigned int j) { return (*this)(i,j); }
/*!
* \deprecated use *this.determinant() (or *this.lu().determinant() for large matrices)
* Calculate and return the matrix determinant (Laplace)
* \return the matrix determinant
*/
EIGEN_DEPRECATED Scalar Determinant() const { return determinant(); };
/*!
* Return the cofactor Ai,j of the ai,j element
* \return ...
*/
EIGEN_DEPRECATED Scalar Cofactor(unsigned int i, unsigned int j) const
{
assert(rows() == cols());
assert(rows()>2);
return (((i+j)%2==0) ? 1. : -1.) * minor(i,j).determinant();
};
/*! \deprecated use *this.col(j) */
EIGEN_DEPRECATED ColXpr GetColumn(const unsigned int j) { return col(j); };
/*! \deprecated use *this.row(i) */
EIGEN_DEPRECATED RowXpr GetRow(const unsigned int i) { return row(i); };
/*! \deprecated use m1.col(i).swap(m1.col(j)); */
EIGEN_DEPRECATED void SwapColumns(const unsigned int i, const unsigned int j)
{
if (i==j) return;
col(i).swap(col(j));
};
/*! \deprecated use m1.col(i).swap(m1.col(j)) */
EIGEN_DEPRECATED void SwapRows(const unsigned int i, const unsigned int j)
{
if (i==j) return;
row(i).swap(row(j));
};
Scalar* V() { return derived().data(); }
const Scalar* V() const { return derived().data(); }
/*!
* \deprecated use *this.cwise() += k
* (Modifier) Add to each element of this matrix the scalar constant k.
* \param k the scalar constant
* \return the modified matrix
*/
EIGEN_DEPRECATED Derived& operator+=(const Scalar k)
{
cwise() += k;
return *this;
};
/*!
* \deprecated use *this.cwise() -= k
* (Modifier) Subtract from each element of this matrix the scalar constant k.
* \param k the scalar constant
* \return the modified matrix
*/
EIGEN_DEPRECATED Derived& operator-=(const Scalar k)
{
cwise() -= k;
return *this;
};
/*!
* \deprecated use *this.dot
* Matrix multiplication: calculates the cross product.
* \param reference to the matrix to multiply by
* \return the matrix product
*/
// template
// EIGEN_DEPRECATED void DotProduct(Point &m,Point &result)
// {
// unsigned int i, j;
// for (i=0; i
EIGEN_DEPRECATED void OuterProduct(const MatrixBase& a, const MatrixBase& b)
{ *this = a * b.adjoint(); }
typedef CwiseUnaryOp, Derived> ScalarAddReturnType;
/*! \deprecated use *this.cwise() + k */
EIGEN_DEPRECATED const ScalarAddReturnType operator+(const Scalar k) { return cwise() + k; }
/*! \deprecated use *this.cwise() - k */
EIGEN_DEPRECATED const ScalarAddReturnType operator-(const Scalar k) { return cwise() - k; }
/*! \deprecated use *this.setZero() or *this = MatrixType::Zero(rows,cols), etc. */
EIGEN_DEPRECATED void SetZero() { setZero(); };
/*! \deprecated use *this.setIdentity() or *this = MatrixType::Identity(rows,cols), etc. */
EIGEN_DEPRECATED void SetIdentity() { setIdentity(); };
/*! \deprecated use *this.col(j) = expression */
EIGEN_DEPRECATED void SetColumn(unsigned int j, Scalar* v)
{ col(j) = Map >(v,cols(),1); };
/** \deprecated use *this.col(i) = other */
template
EIGEN_DEPRECATED void SetColumn(unsigned int j, const MatrixBase& other)
{ col(j) = other; };
/*! \deprecated use *this.row(i) = expression */
EIGEN_DEPRECATED void SetRow(unsigned int i, Scalar* v)
{ row(i) = Map >(v,1,rows()); };
/** \deprecated use *this.row(i) = other */
template
EIGEN_DEPRECATED void SetRow(unsigned int j, const MatrixBase& other)
{ row(j) = other; };
/*! \deprecated use *this.diagonal() = expression */
EIGEN_DEPRECATED void SetDiagonal(Scalar *v)
{
assert(rows() == cols());
diagonal() = Map >(v,cols(),1);
}
/** \deprecated use trace() */
EIGEN_DEPRECATED Scalar Trace() const { return trace(); }
/*! \deprecated use ostream << *this or even ostream << *this.withFormat(...) */
EIGEN_DEPRECATED void Dump()
{
unsigned int i, j;
for (i=0; icross(p); }