From ab71e2a9b55e0982d1134792d10af55464c7ac9e Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 22 May 2006 21:03:43 +0000 Subject: -added basic support for GameActuator 'load game', relative paths were broken, just load file into memory and load blend from memory. -near sensor support - python binding for PhysicsConstraints.setNumTimeSubSteps (dividing the physics timestep to tradeoff quality for performance) --- .../gameengine/Ketsji/KX_PyConstraintBinding.cpp | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'source/gameengine/Ketsji/KX_PyConstraintBinding.cpp') diff --git a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp index e9c71fe02c9..28138195a5e 100644 --- a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp +++ b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp @@ -53,6 +53,9 @@ static char gPySetGravity__doc__[] = "setGravity(float x,float y,float z)"; static char gPySetDebugMode__doc__[] = "setDebugMode(int mode)"; static char gPySetNumIterations__doc__[] = "setNumIterations(int numiter) This sets the number of iterations for an iterative constraint solver"; +static char gPySetNumTimeSubSteps__doc__[] = "setNumTimeSubSteps(int numsubstep) This sets the number of substeps for each physics proceed. Tradeoff quality for performance."; + + static char gPySetDeactivationTime__doc__[] = "setDeactivationTime(float time) This sets the time after which a resting rigidbody gets deactived"; static char gPySetDeactivationLinearTreshold__doc__[] = "setDeactivationLinearTreshold(float linearTreshold)"; static char gPySetDeactivationAngularTreshold__doc__[] = "setDeactivationAngularTreshold(float angularTreshold)"; @@ -106,6 +109,24 @@ static PyObject* gPySetDebugMode(PyObject* self, Py_INCREF(Py_None); return Py_None; } + + +static PyObject* gPySetNumTimeSubSteps(PyObject* self, + PyObject* args, + PyObject* kwds) +{ + int substep; + if (PyArg_ParseTuple(args,"i",&substep)) + { + if (PHY_GetActiveEnvironment()) + { + PHY_GetActiveEnvironment()->setNumTimeSubSteps(substep); + } + } + Py_INCREF(Py_None); return Py_None; +} + + static PyObject* gPySetNumIterations(PyObject* self, PyObject* args, PyObject* kwds) @@ -411,6 +432,9 @@ static struct PyMethodDef physicsconstraints_methods[] = { {"setNumIterations",(PyCFunction) gPySetNumIterations, METH_VARARGS, gPySetNumIterations__doc__}, + {"setNumTimeSubSteps",(PyCFunction) gPySetNumTimeSubSteps, + METH_VARARGS, gPySetNumTimeSubSteps__doc__}, + {"setDeactivationTime",(PyCFunction) gPySetDeactivationTime, METH_VARARGS, gPySetDeactivationTime__doc__}, -- cgit v1.2.3