Blender V2.61 - r43446
|
00001 // 00002 // ***** BEGIN GPL LICENSE BLOCK ***** 00003 // 00004 // This program is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU General Public License 00006 // as published by the Free Software Foundation; either version 2 00007 // of the License, or (at your option) any later version. 00008 // 00009 // This program is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 // GNU General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU General Public License 00015 // along with this program; if not, write to the Free Software Foundation, 00016 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 // 00018 // The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. 00019 // All rights reserved. 00020 // 00021 // The Original Code is: all of this file. 00022 // 00023 // Contributor(s): Campbell Barton 00024 // 00025 // ***** END GPL LICENSE BLOCK ***** 00026 // 00027 00033 #ifndef __KX_SCA_DYNAMICACTUATOR 00034 #define __KX_SCA_DYNAMICACTUATOR 00035 00036 #include "SCA_IActuator.h" 00037 #include "SCA_PropertyActuator.h" 00038 #include "SCA_LogicManager.h" 00039 00040 #include "KX_GameObject.h" 00041 #include "KX_IPhysicsController.h" 00042 00043 class KX_SCA_DynamicActuator : public SCA_IActuator 00044 { 00045 Py_Header 00046 00047 // dynamics operation to apply to the game object 00048 short m_dyn_operation; 00049 float m_setmass; 00050 public: 00051 KX_SCA_DynamicActuator( 00052 SCA_IObject* gameobj, 00053 short dyn_operation, 00054 float setmass 00055 ); 00056 00057 ~KX_SCA_DynamicActuator( 00058 ); 00059 00060 CValue* 00061 GetReplica( 00062 ); 00063 00064 virtual bool 00065 Update(); 00066 00067 //Python Interface 00068 enum DynamicOperation { 00069 KX_DYN_RESTORE_DYNAMICS = 0, 00070 KX_DYN_DISABLE_DYNAMICS, 00071 KX_DYN_ENABLE_RIGID_BODY, 00072 KX_DYN_DISABLE_RIGID_BODY, 00073 KX_DYN_SET_MASS, 00074 }; 00075 }; 00076 00077 #endif