diff options
Diffstat (limited to 'source/gameengine/Ketsji/KX_ConstraintActuator.h')
-rw-r--r-- | source/gameengine/Ketsji/KX_ConstraintActuator.h | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/source/gameengine/Ketsji/KX_ConstraintActuator.h b/source/gameengine/Ketsji/KX_ConstraintActuator.h deleted file mode 100644 index af617655d5e..00000000000 --- a/source/gameengine/Ketsji/KX_ConstraintActuator.h +++ /dev/null @@ -1,152 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file KX_ConstraintActuator.h - * \ingroup ketsji - */ - -#ifndef __KX_CONSTRAINTACTUATOR_H__ -#define __KX_CONSTRAINTACTUATOR_H__ - -#include "SCA_IActuator.h" -#include "MT_Scalar.h" -#include "MT_Vector3.h" -#include "KX_ClientObjectInfo.h" - -#include "BLI_utildefines.h" - -class KX_RayCast; -class KX_GameObject; - -class KX_ConstraintActuator : public SCA_IActuator -{ - Py_Header -protected: - // Damp time (int), - int m_posDampTime; - int m_rotDampTime; - // min (float) - float m_minimumBound; - // max (float) - float m_maximumBound; - // sinus of minimum angle - float m_minimumSine; - // sinus of maximum angle - float m_maximumSine; - // reference direction - float m_refDirection[3]; - MT_Vector3 m_refDirVector; // same as m_refDirection - // locrotxyz choice (pick one): only one choice allowed at a time! - int m_locrot; - // active time of actuator - int m_activeTime; - int m_currentTime; - // option - int m_option; - // property to check - STR_String m_property; - // hit object - KX_GameObject* m_hitObject; - - /** - * Clamp <var> to <min>, <max>. Borders are included (in as far as - * float comparisons are good for equality...). - */ - void Clamp(MT_Scalar &var, float min, float max); - - - public: - // m_locrot - enum KX_CONSTRAINTTYPE { - KX_ACT_CONSTRAINT_NODEF = 0, - KX_ACT_CONSTRAINT_LOCX, - KX_ACT_CONSTRAINT_LOCY, - KX_ACT_CONSTRAINT_LOCZ, - KX_ACT_CONSTRAINT_ROTX, - KX_ACT_CONSTRAINT_ROTY, - KX_ACT_CONSTRAINT_ROTZ, - KX_ACT_CONSTRAINT_DIRPX, - KX_ACT_CONSTRAINT_DIRPY, - KX_ACT_CONSTRAINT_DIRPZ, - KX_ACT_CONSTRAINT_DIRNX, - KX_ACT_CONSTRAINT_DIRNY, - KX_ACT_CONSTRAINT_DIRNZ, - KX_ACT_CONSTRAINT_ORIX, - KX_ACT_CONSTRAINT_ORIY, - KX_ACT_CONSTRAINT_ORIZ, - KX_ACT_CONSTRAINT_FHPX, - KX_ACT_CONSTRAINT_FHPY, - KX_ACT_CONSTRAINT_FHPZ, - KX_ACT_CONSTRAINT_FHNX, - KX_ACT_CONSTRAINT_FHNY, - KX_ACT_CONSTRAINT_FHNZ, - KX_ACT_CONSTRAINT_MAX - }; - // match ACT_CONST_... values from BIF_interface.h - enum KX_CONSTRAINTOPT { - KX_ACT_CONSTRAINT_NORMAL = 64, - KX_ACT_CONSTRAINT_MATERIAL = 128, - KX_ACT_CONSTRAINT_PERMANENT = 256, - KX_ACT_CONSTRAINT_DISTANCE = 512, - KX_ACT_CONSTRAINT_LOCAL = 1024, - KX_ACT_CONSTRAINT_DOROTFH = 2048 - }; - bool IsValidMode(KX_CONSTRAINTTYPE m); - /// \see KX_RayCast - bool RayHit(KX_ClientObjectInfo *client, KX_RayCast *result, void *UNUSED(data)); - /// \see KX_RayCast - bool NeedRayCast(KX_ClientObjectInfo *client, void *UNUSED(data)); - - KX_ConstraintActuator(SCA_IObject* gameobj, - int posDamptime, - int rotDampTime, - float min, - float max, - float refDir[3], - int locrot, - int time, - int option, - char *property); - virtual ~KX_ConstraintActuator(); - virtual CValue* GetReplica() { - KX_ConstraintActuator* replica = new KX_ConstraintActuator(*this); - replica->ProcessReplica(); - return replica; - }; - - virtual bool Update(double curtime, bool frame); - - /* --------------------------------------------------------------------- */ - /* Python interface ---------------------------------------------------- */ - /* --------------------------------------------------------------------- */ - - static int pyattr_check_direction(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); - static int pyattr_check_min(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef); - -}; - -#endif /* __KX_CONSTRAINTACTUATOR_H__ */ |