one more fix gcc 4.0.1 issue in wrap/gl/math

This commit is contained in:
Paolo Cignoni 2008-10-29 13:04:11 +00:00
parent 0d9795d163
commit 3d43483497
2 changed files with 15 additions and 17 deletions

View File

@ -74,8 +74,11 @@ Revision 1.1 2004/03/31 15:27:17 ponchio
namespace vcg {
inline void glLoadMatrix(const Eigen::Matrix<float,4,4>& matrix) { glLoadMatrixf(matrix.data()); }
inline void glLoadMatrix(const Eigen::Matrix<float,4,4,Eigen::RowMajor>& matrix) {
template<typename T,int StorageOrder>
inline void glLoadMatrix(const Eigen::Matrix<T,4,4,StorageOrder>& matrix) { assert(0); }
template<> inline void glLoadMatrix(const Eigen::Matrix<float,4,4>& matrix) { glLoadMatrixf(matrix.data()); }
template<> inline void glLoadMatrix(const Eigen::Matrix<float,4,4,Eigen::RowMajor>& matrix) {
Eigen::Matrix4f tmp(matrix);
glLoadMatrixf(tmp.data());
}
@ -88,13 +91,16 @@ template<typename Scalar>
inline void glLoadMatrix(const Eigen::Transform<Scalar,3>& t) { glLoadMatrix(t.matrix()); }
inline void glMultMatrix(const Eigen::Matrix<float,4,4>& matrix) { glMultMatrixf(matrix.data()); }
template<typename T,int StorageOrder>
inline void glMultMatrix(const Eigen::Matrix<T,4,4,StorageOrder>& matrix) { assert(0); }
template<> inline void glMultMatrix(const Eigen::Matrix<float,4,4>& matrix) { glMultMatrixf(matrix.data()); }
inline void glMultMatrix(const Eigen::Matrix<float,4,4,Eigen::RowMajor>& matrix) {
Eigen::Matrix<float,4,4> tmp(matrix);
glMultMatrixf(tmp.data());
}
inline void glMultMatrix(const Eigen::Matrix<double,4,4>& matrix) { glMultMatrixd(matrix.data()); }
inline void glMultMatrix(const Eigen::Matrix<double,4,4,Eigen::RowMajor>& matrix) {
template<> inline void glMultMatrix(const Eigen::Matrix<double,4,4>& matrix) { glMultMatrixd(matrix.data()); }
template<> inline void glMultMatrix(const Eigen::Matrix<double,4,4,Eigen::RowMajor>& matrix) {
Eigen::Matrix<double,4,4> tmp(matrix);
glMultMatrixd(tmp.data());
}

View File

@ -123,10 +123,10 @@ _WRAP_EIGEN_XPR(glScale)
template<> inline void glScale(const Eigen::Matrix<double,2,1> & p){ glScaled(p[0],p[1],1.0);}
template<typename T> inline void glVertex(const Eigen::Matrix<T,3,1> & p) { assert(0); }
inline void glVertex(const Eigen::Matrix<int,3,1> & p) { glVertex3iv((const GLint*)p.data());}
inline void glVertex(const Eigen::Matrix<short,3,1> & p) { glVertex3sv(p.data());}
inline void glVertex(const Eigen::Matrix<float,3,1> & p) { glVertex3fv(p.data());}
inline void glVertex(const Eigen::Matrix<double,3,1> & p){ glVertex3dv(p.data());}
template<> inline void glVertex(const Eigen::Matrix<int,3,1> & p) { glVertex3iv((const GLint*)p.data());}
template<> inline void glVertex(const Eigen::Matrix<short,3,1> & p) { glVertex3sv(p.data());}
template<> inline void glVertex(const Eigen::Matrix<float,3,1> & p) { glVertex3fv(p.data());}
template<> inline void glVertex(const Eigen::Matrix<double,3,1> & p){ glVertex3dv(p.data());}
template<typename T> inline void glNormal(const Eigen::Matrix<T,3,1> & p) { assert(0); }
template<> inline void glNormal(const Eigen::Matrix<int,3,1> & p) { glNormal3iv((const GLint*)p.data());}
@ -320,14 +320,6 @@ template <class TetraType>
glTriangle3(Triangle3<typename TetraType::ScalarType>(c.P(1),c.P(0),c.P(3)));
}
#ifdef VCG_USE_EIGEN
#endif
}//namespace
#endif