- Cal3D 0.9 API Reference - |
00001 //****************************************************************************// 00002 // matrix.h // 00003 // Copyright (C) 2001, 2002 Bruno 'Beosil' Heidelberger // 00004 //****************************************************************************// 00005 // This library is free software; you can redistribute it and/or modify it // 00006 // under the terms of the GNU Lesser General Public License as published by // 00007 // the Free Software Foundation; either version 2.1 of the License, or (at // 00008 // your option) any later version. // 00009 //****************************************************************************// 00010 00011 #ifndef CAL_MATRIX_H 00012 #define CAL_MATRIX_H 00013 00014 //****************************************************************************// 00015 // Includes // 00016 //****************************************************************************// 00017 00018 #include "cal3d/global.h" 00019 00020 //****************************************************************************// 00021 // Forward declarations // 00022 //****************************************************************************// 00023 00024 class CalQuaternion; 00025 00026 //****************************************************************************// 00027 // Class declaration // 00028 //****************************************************************************// 00029 00030 /*****************************************************************************/ 00034 class CAL3D_API CalMatrix 00035 { 00036 // member variables 00037 public: 00038 // float dxdx,dydx,dzdx; 00039 // float dxdy,dydy,dzdy; 00040 // float dxdz,dydz,dzdz; 00041 00042 float dxdx,dxdy,dxdz; 00043 float dydx,dydy,dydz; 00044 float dzdx,dzdy,dzdz; 00045 00046 // constructors/destructor 00047 public: 00048 CalMatrix(); 00049 CalMatrix(const CalQuaternion &q); 00050 CalMatrix(float weight, const CalMatrix &m); 00051 ~CalMatrix(); 00052 00053 // member functions 00054 public: 00055 void operator=(const CalQuaternion& q); 00056 void operator=(const CalMatrix& m); 00057 void operator *= (const CalMatrix &m); 00058 void operator *= (float factor); 00059 void blend(float d, const CalMatrix& m); 00060 float det(); 00061 }; 00062 00063 00064 #endif 00065 00066 //****************************************************************************//