Blender V2.61 - r43446

KX_SCA_DynamicActuator.h

Go to the documentation of this file.
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