From 59dca5a84017acb976bda7dbdbfd8408d4cbfc05 Mon Sep 17 00:00:00 2001 From: ponchio Date: Wed, 31 Mar 2004 15:27:17 +0000 Subject: [PATCH] *** empty log message *** --- wrap/gl/math.h | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 wrap/gl/math.h diff --git a/wrap/gl/math.h b/wrap/gl/math.h new file mode 100644 index 00000000..14aa83fb --- /dev/null +++ b/wrap/gl/math.h @@ -0,0 +1,69 @@ +/**************************************************************************** +* 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. * +* * +****************************************************************************/ +/**************************************************************************** + History + +$Log: not supported by cvs2svn $ + +****************************************************************************/ + +#ifndef VCG_GL_MATH_H +#define VCG_GL_MATH_H + +#include +#include +#include +#include + +namespace vcg { + +void glMultMatrix(const Matrix44f &matrix) { + glMultMatrixf((const GLfloat *)&(matrix[0])); +} + +void glMultMatrix(const Matrix44d &matrix) { + glMultMatrixd((const GLdouble *)&(matrix[0])); +} + +void glMultMatrix(const Similarityf &s) { + glTranslatef(s.tra[0], s.tra[1], s.tra[2]); + glScalef(s.sca, s.sca, s.sca); + float alpha; + Point3f axis; + s.rot.ToAxis(alpha, axis); + glRotatef(math::ToDeg(alpha), axis[0], axis[1], axis[2]); + +} + +void glMultMatrix(const Similarityd &s) { + glTranslated(s.tra[0], s.tra[1], s.tra[2]); + double alpha; + Point3d axis; + s.rot.ToAxis(alpha, axis); + glRotated(math::ToDeg(alpha), axis[0], axis[1], axis[2]); + glScaled(s.sca, s.sca, s.sca); + +} + +}//namespace +#endif