00001 00012 /*************************************************************************** 00013 * Copyright (C) 2007 by Jan Koci * 00014 * honza.koci@email.cz * 00015 * http://kengine.sourceforge.net/tutorial/ 00016 * * 00017 * This program is free software; you can redistribute it and/or modify * 00018 * it under the terms of the GNU General Public License as published by * 00019 * the Free Software Foundation; either version 2 of the License, or * 00020 * (at your option) any later version. * 00021 * * 00022 * This program is distributed in the hope that it will be useful, * 00023 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00025 * GNU General Public License for more details. * 00026 * * 00027 * You should have received a copy of the GNU General Public License * 00028 * along with this program; if not, write to the * 00029 * Free Software Foundation, Inc., * 00030 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 00031 ***************************************************************************/ 00032 00033 #pragma once 00034 00035 #include "K3dPlaneVis.h" 00036 #include "../MathCore/K3dVector3.h" 00037 #include "../MathCore/K3dMatrix.h" 00038 #include "../MathCore/K3dQuaternion.h" 00039 #include "../MathCore/K3dMath.h" 00040 00041 class K3dPlaneMove: public K3dPlaneVis 00042 { 00043 K3dVector3Obj *m_pRotation; 00044 K3dVector3Obj *m_pRelPosition; 00045 K3dVector3Obj *m_pRelNormal; 00046 K3dMatrix *m_pMatrix; 00047 K3dMatrix *m_pRotMatrix; 00048 00049 void SetRenderMatrix(); 00050 public: 00051 00052 K3dPlaneMove(); 00053 ~K3dPlaneMove(); 00054 00055 K3dPlaneMove& operator= ( K3dPlaneMove& _rkPlaneMove ); 00056 00058 K3dVector3Obj *GetRelPosition() 00059 { 00060 return m_pRelPosition; 00061 } 00062 00064 const K3dVector3Obj *GetRelPosition() const 00065 { 00066 return m_pRelPosition; 00067 } 00068 00070 void SetRelPosition ( K3dVector3Obj *_pRelPosition ) 00071 { 00072 m_pRelPosition = _pRelPosition; 00073 } 00074 00076 K3dVector3Obj *GetRelNormal() 00077 { 00078 return m_pRelNormal; 00079 } 00080 00082 void SetRelNormal ( K3dVector3Obj *_pRelNormal ) 00083 { 00084 m_pRelNormal = _pRelNormal; 00085 } 00086 00088 K3dVector3Obj *GetRotation() 00089 { 00090 return m_pRotation; 00091 } 00092 00094 void SetRotation ( K3dVector3Obj *_pRotation ) 00095 { 00096 m_pRotation = _pRotation; 00097 } 00098 00100 K3dMatrix *GetMatrix() 00101 { 00102 return m_pMatrix; 00103 } 00104 00106 void SetMatrix ( K3dMatrix *_pMatrix ) 00107 { 00108 m_pMatrix = _pMatrix; 00109 } 00110 00112 K3dMatrix *GetRotMatrix() 00113 { 00114 return m_pRotMatrix; 00115 } 00116 00118 void SetRotMatrix ( K3dMatrix *_pRotMatrix ) 00119 { 00120 m_pRotMatrix = _pRotMatrix; 00121 } 00122 }; 00123