/**************************************************************************** * 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() * Number of columns */ EIGEN_DEPRECATED inline unsigned int ColumnsNumber() const { return cols(); }; /*! * \deprecated use rows() * Number of rows */ EIGEN_DEPRECATED inline unsigned int RowsNumber() const { return rows(); }; /* * \deprecated use *this.isApprox(m) or *this.cwise() == m * Equality operator. * \param m * \return true iff the matrices have same size and its elements have same values. */ // template // EIGEN_DEPRECATED bool operator==(const MatrixBase &m) const // { // return (this->cwise() == m); // } /* * \deprecated use !*this.isApprox(m) or *this.cwise() != m * Inequality operator * \param m * \return true iff the matrices have different size or if their elements have different values. */ // template // EIGEN_DEPRECATED bool operator!=(const MatrixBase &m) const // { // return (this->cwise() != m); // }; /*! * \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) * Get the j-th column on the matrix. * \param j the column index. * \return the reference to the column elements. This pointer must be deallocated by the caller. */ EIGEN_DEPRECATED ColXpr GetColumn(const unsigned int j) { return col(j); }; /*! * \deprecated use *this.row(i) * Get the i-th row on the matrix. * \param i the column index. * \return the reference to the row elements. This pointer must be deallocated by the caller. */ EIGEN_DEPRECATED RowXpr GetRow(const unsigned int i) { return row(i); }; /*! * \deprecated use m1.col(i).swap(m1.col(j)); * Swaps the values of the elements between the i-th and the j-th column. * \param i the index of the first column * \param j the index of the second column */ 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)) * Swaps the values of the elements between the i-th and the j-th row. * \param i the index of the first row * \param j the index of the second row */ 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.transpose(); } typedef CwiseUnaryOp, Derived> ScalarAddReturnType; /*! * \deprecated use *this.cwise() + k * Scalar sum. * \param k * \return the resultant matrix */ EIGEN_DEPRECATED const ScalarAddReturnType operator+(const Scalar k) { return cwise() + k; } /*! * \deprecated use *this.cwise() - k * Scalar difference. * \param k * \return the resultant matrix */ EIGEN_DEPRECATED const ScalarAddReturnType operator-(const Scalar k) { return cwise() - k; } /*! * \deprecated use *this.setZero() or *this = MatrixType::Zero(rows,cols), etc. * Set all the matrix elements to zero. */ EIGEN_DEPRECATED void SetZero() { setZero(); }; /*! * \deprecated use *this.setIdentity() or *this = MatrixType::Identity(rows,cols), etc. * Set the matrix to identity. */ EIGEN_DEPRECATED void SetIdentity() { setIdentity(); }; /*! * \deprecated use *this.col(j) = expression * Set the values of j-th column to v[j] * \param j the column index * \param v ... */ 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 * Set the elements of the i-th row to v[j] * \param i the row index * \param v ... */ 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 * Set the diagonal elements vi,i to v[i] * \param v */ 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 *this = *this.transpose() */ // Transpose already exist // EIGEN_DEPRECATED void Transpose() // { // assert(0 && "dangerous use of deprecated Transpose function, please use: m = m.transpose();"); // }; /*! * \deprecated use ostream << *this or ostream << *this.withFormat(...) * Print all matrix elements */ EIGEN_DEPRECATED void Dump() { unsigned int i, j; for (i=0; icross(p); }