/**************************************************************************** * 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); }