of course fixing msvc breaked gcc... not anymore... spoke too fast gcc 4.0.1 had troubles

This commit is contained in:
Paolo Cignoni 2008-10-29 15:52:07 +00:00
parent e90fd9ca16
commit 60eb470c6c
1 changed files with 20 additions and 48 deletions

View File

@ -154,39 +154,11 @@ public:
* \li a matrix expression with 4 rows * \li a matrix expression with 4 rows
* \li a 3D vector/point * \li a 3D vector/point
*/ */
// note: this function is defined here because some compilers cannot find the respective declaration
template<typename OtherDerived> template<typename OtherDerived>
inline const typename ei_matrix44_product_impl<OtherDerived>::ResultType inline const typename ei_matrix44_product_impl<OtherDerived>::ResultType
operator * (const Eigen::MatrixBase<OtherDerived> &other) const operator * (const Eigen::MatrixBase<OtherDerived> &other) const
{ return ei_matrix44_product_impl<OtherDerived>::run(*this,other.derived()); } { return ei_matrix44_product_impl<OtherDerived>::run(*this,other.derived()); }
/** Contatenates two transformations */
inline const typename Eigen::ProductReturnType<Matrix44,Matrix44>::Type
operator * (const Matrix44& other) const
{ return (*this) * other; }
// template <class T> Point3<T> operator*(const Point3<T> &p) {
// T w;
// Point3<T> s;
// s[0] = m.ElementAt(0, 0)*p[0] + m.ElementAt(0, 1)*p[1] + m.ElementAt(0, 2)*p[2] + m.ElementAt(0, 3);
// s[1] = m.ElementAt(1, 0)*p[0] + m.ElementAt(1, 1)*p[1] + m.ElementAt(1, 2)*p[2] + m.ElementAt(1, 3);
// s[2] = m.ElementAt(2, 0)*p[0] + m.ElementAt(2, 1)*p[1] + m.ElementAt(2, 2)*p[2] + m.ElementAt(2, 3);
// w = m.ElementAt(3, 0)*p[0] + m.ElementAt(3, 1)*p[1] + m.ElementAt(3, 2)*p[2] + m.ElementAt(3, 3);
// if(w!= 0) s /= w;
// return s;
// }
//Eigen::Matrix<Scalar,3,1> operator * (const Eigen::Matrix<Scalar,3,1>& p) const {
// Scalar w;
// Eigen::Matrix<Scalar,3,1> s;
// s[0] = ElementAt(0, 0)*p[0] + ElementAt(0, 1)*p[1] + ElementAt(0, 2)*p[2] + ElementAt(0, 3);
// s[1] = ElementAt(1, 0)*p[0] + ElementAt(1, 1)*p[1] + ElementAt(1, 2)*p[2] + ElementAt(1, 3);
// s[2] = ElementAt(2, 0)*p[0] + ElementAt(2, 1)*p[1] + ElementAt(2, 2)*p[2] + ElementAt(2, 3);
// w = ElementAt(3, 0)*p[0] + ElementAt(3, 1)*p[1] + ElementAt(3, 2)*p[2] + ElementAt(3, 3);
// if(w!= 0) s /= w;
// return s;
//}
void print() {std::cout << *this << "\n\n";} void print() {std::cout << *this << "\n\n";}
}; };