Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

matrix.h

00001 // -*- C++ -*- 00002 00003 /* 00004 * Gnome Chemistry Utils 00005 * chemistry/matrix.h 00006 * 00007 * Copyright (C) 2000-2003 00008 * 00009 * Developed by Jean Bréfort <jean.brefort@ac-dijon.fr> 00010 * 00011 * This library is free software; you can redistribute it and/or 00012 * modify it under the terms of the GNU Lesser General Public 00013 * License as published by the Free Software Foundation; either 00014 * version 2.1 of the License, or (at your option) any later version. 00015 * 00016 * This library is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 * Lesser General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public 00022 * License along with this library; if not, write to the 00023 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00024 * Boston, MA 02111-1307, USA. 00025 */ 00026 00027 #ifndef GCU_MATRIX_H 00028 #define GCU_MATRIX_H 00029 00030 #include <glib.h> 00031 00032 namespace gcu 00033 { 00034 00045 enum MatrixType {euler, antieuler, rotation}; 00046 00050 class Matrix 00051 { 00052 public: 00053 00057 Matrix(); 00061 virtual ~Matrix(); 00080 Matrix(gdouble Psi, gdouble Theta, gdouble Phi, MatrixType Type); 00094 Matrix(gdouble x11, gdouble x12, gdouble x13, gdouble x21, gdouble x22, gdouble x23, gdouble x31, gdouble x32, gdouble x33); 00100 Matrix& operator*(Matrix& cMat); 00106 Matrix& operator=(Matrix& cMat); 00114 void Euler(gdouble& Psi, gdouble& Theta, gdouble& Phi); 00123 void Transform(gdouble &dx, gdouble &dy , gdouble &dz); 00124 00125 private : 00126 gdouble x[3][3]; 00127 }; 00128 00129 } //namespace gcu 00130 00131 #endif //GCRYSTAL_MATRIX_H

Generated on Thu Oct 21 20:22:10 2004 for The Gnome Chemistry Utils by doxygen 1.3.8