Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/python_api/rst/bge.constraints.rst236
-rw-r--r--doc/python_api/rst/bge.events.rst2
-rw-r--r--doc/python_api/rst/bge.logic.rst2
-rw-r--r--doc/python_api/rst/bge.render.rst2
-rw-r--r--doc/python_api/rst/bge.texture.rst6
-rw-r--r--doc/python_api/rst/bge.types.rst2
-rw-r--r--doc/python_api/rst/bgl.rst2
-rw-r--r--source/gameengine/Ketsji/KX_PyConstraintBinding.cpp30
8 files changed, 230 insertions, 52 deletions
diff --git a/doc/python_api/rst/bge.constraints.rst b/doc/python_api/rst/bge.constraints.rst
index 882bbc39b9f..2e7bc2daed4 100644
--- a/doc/python_api/rst/bge.constraints.rst
+++ b/doc/python_api/rst/bge.constraints.rst
@@ -1,28 +1,47 @@
-Game Engine bge.constraints Module
+Physics Constraints (bge.constraints)
==================================
-.. note::
- This documentation is still very weak, and needs some help!
-
-.. function:: createConstraint([obj1, [obj2, [restLength, [restitution, [damping]]]]])
+.. function:: createConstraint(physicsid, physicsid2, constrainttype, [pivotX, pivotY, pivotZ, [axisX, axisY, axisZ, [flag]]]])
Creates a constraint.
- :arg obj1: first object on Constraint
- :type obj1: :class:'bge.types.KX_GameObject' #I think, there is no error when I use one
+ :arg physicsid: the physics id of the first object in constraint
+ :type physicsid: int
- :arg obj2: second object on Constraint
- :type obj2: :class:'bge.types.KX_GameObject' #too
+ :arg physicsid2: the physics id of the second object in constraint
+ :type physicsid2: int
- :arg restLength: #to be filled
- :type restLength: float
+ :arg constrainttype: the type of the constraint. The constraint types are:
- :arg restitution: #to be filled
- :type restitution: float
+ - :class:`POINTTOPOINT_CONSTRAINT`
+ - :class:`LINEHINGE_CONSTRAINT`
+ - :class:`ANGULAR_CONSTRAINT`
+ - :class:`CONETWIST_CONSTRAINT`
+ - :class:`VEHICLE_CONSTRAINT`
- :arg damping: #to be filled
- :type damping: float
+ :type constrainttype: int
+
+ :arg pivotX: pivot X position
+ :type pivotX: float
+
+ :arg pivotY: pivot Y position
+ :type pivotY: float
+
+ :arg pivotZ: pivot Z position
+ :type pivotZ: float
+
+ :arg axisX: X axis
+ :type axisX: float
+
+ :arg axisY: Y axis
+ :type axisY: float
+
+ :arg axisZ: Z axis
+ :type axisZ: float
+
+ :arg flag: .. to do
+ :type flag: int
.. attribute:: error
@@ -49,7 +68,7 @@ Game Engine bge.constraints Module
:type constraintId: int
:return: a vehicle constraint object.
- :rtype: :class:'KX_VehicleWrapper'
+ :rtype: :class:`bge.types.KX_VehicleWrapper`
.. function:: removeConstraint(constraintId)
@@ -60,10 +79,10 @@ Game Engine bge.constraints Module
.. function:: setCcdMode(ccdMode)
- ..note::
+ .. note::
Very experimental, not recommended
- Sets the CCD mode in the Physics Environment.
+ Sets the CCD (Continous Colision Detection) mode in the Physics Environment.
:arg ccdMode: The new CCD mode.
:type ccdMode: int
@@ -73,21 +92,21 @@ Game Engine bge.constraints Module
.. note::
Reasonable default is 0.02 (if units are meters)
- Sets the contact breaking treshold in the Physics Environment.
+ Sets tresholds to do with contact point management.
:arg breakingTreshold: The new contact breaking treshold.
:type breakingTreshold: float
.. function:: setDeactivationAngularTreshold(angularTreshold)
- Sets the deactivation angular treshold.
+ Sets the angular velocity treshold.
:arg angularTreshold: New deactivation angular treshold.
:type angularTreshold: float
.. function:: setDeactivationLinearTreshold(linearTreshold)
- Sets the deactivation linear treshold.
+ Sets the linear velocity treshold.
:arg linearTreshold: New deactivation linear treshold.
:type linearTreshold: float
@@ -104,21 +123,20 @@ Game Engine bge.constraints Module
Sets the debug mode.
Debug modes:
- - No debug: 0
- - Draw wireframe: 1
- - Draw Aabb: 2 #What's Aabb?
- - Draw freatures text: 4
- - Draw contact points: 8
- - No deactivation: 16
- - No help text: 32
- - Draw text: 64
- - Profile timings: 128
- - Enable sat comparision: 256
- - Disable Bullet LCP: 512
- - Enable CCD: 1024
- - Draw Constraints: #(1 << 11) = ?
- - Draw Constraint Limits: #(1 << 12) = ?
- - Fast Wireframe: #(1 << 13) = ?
+ - :class:`DBG_NODEBUG`
+ - :class:`DBG_DRAWWIREFRAME`
+ - :class:`DBG_DRAWAABB`
+ - :class:`DBG_DRAWFREATURESTEXT`
+ - :class:`DBG_DRAWCONTACTPOINTS`
+ - :class:`DBG_NOHELPTEXT`
+ - :class:`DBG_DRAWTEXT`
+ - :class:`DBG_PROFILETIMINGS`
+ - :class:`DBG_ENABLESATCOMPARISION`
+ - :class:`DBG_DISABLEBULLETLCP`
+ - :class:`DBG_ENABLECCD`
+ - :class:`DBG_DRAWCONSTRAINTS`
+ - :class:`DBG_DRAWCONSTRAINTLIMITS`
+ - :class:`DBG_FASTWIREFRAME`
:arg mode: The new debug mode.
:type mode: int
@@ -138,7 +156,10 @@ Game Engine bge.constraints Module
.. function:: setLinearAirDamping(damping)
- Not implemented.
+ .. note::
+ Not implemented.
+
+ Sets the linear air damping for rigidbodies.
.. function:: setNumIterations(numiter)
@@ -156,10 +177,10 @@ Game Engine bge.constraints Module
.. function:: setSolverDamping(damping)
- ..note::
+ .. note::
Very experimental, not recommended
- Sets the solver damping.
+ Sets the damper constant of a penalty based solver.
:arg damping: New damping for the solver.
:type damping: float
@@ -169,7 +190,7 @@ Game Engine bge.constraints Module
.. note::
Very experimental, not recommended
- Sets the solver tau.
+ Sets the spring constant of a penalty based solver.
:arg tau: New tau for the solver.
:type tau: float
@@ -189,7 +210,7 @@ Game Engine bge.constraints Module
.. note::
Very experimental, not recommended
- Sets the sor constant.
+ Sets the successive overrelaxation constant.
:arg sor: New sor value.
:type sor: float
@@ -197,3 +218,136 @@ Game Engine bge.constraints Module
.. function:: setUseEpa(epa)
Not implemented.
+
+.. data:: DBG_NODEBUG
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ No debug.
+
+.. data:: DBG_DRAWWIREFRAME
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw wireframe in debug.
+
+.. data:: DBG_DRAWAABB
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw Axis Aligned Bounding Box in debug.
+
+.. data:: DBG_DRAWFREATURESTEXT
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw freatures text in debug.
+
+.. data:: DBG_DRAWCONTACTPOINTS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw contact points in debug.
+
+.. data:: DBG_NOHELPTEXT
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Debug without help text.
+
+.. data:: DBG_DRAWTEXT
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw text in debug.
+
+.. data:: DBG_PROFILETIMINGS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw profile timings in debug.
+
+.. data:: DBG_ENABLESATCOMPARISION
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Enable sat comparision in debug.
+
+.. data:: DBG_DISABLEBULLETLCP
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Disable Bullet LCP.
+
+.. data:: DBG_ENABLECCD
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Enable Continous Colision Detection in debug.
+
+.. data:: DBG_DRAWCONSTRAINTS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw constraints in debug.
+
+.. data:: DBG_DRAWCONSTRAINTLIMITS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw constraint limits in debug.
+
+.. data:: DBG_FASTWIREFRAME
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw a fast wireframe in debug.
+
+.. data:: POINTTOPOINT_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: LINEHINGE_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: ANGULAR_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: CONETWIST_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: VEHICLE_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
diff --git a/doc/python_api/rst/bge.events.rst b/doc/python_api/rst/bge.events.rst
index cc76ecded85..f6f465d0cd3 100644
--- a/doc/python_api/rst/bge.events.rst
+++ b/doc/python_api/rst/bge.events.rst
@@ -1,5 +1,5 @@
-Game Engine bge.events Module
+Game Keys (bge.events)
=============================
*****
diff --git a/doc/python_api/rst/bge.logic.rst b/doc/python_api/rst/bge.logic.rst
index f7163ea928e..53a2362b8d9 100644
--- a/doc/python_api/rst/bge.logic.rst
+++ b/doc/python_api/rst/bge.logic.rst
@@ -1,5 +1,5 @@
-Game Engine bge.logic Module
+Game Logic (bge.logic)
============================
*****
Intro
diff --git a/doc/python_api/rst/bge.render.rst b/doc/python_api/rst/bge.render.rst
index 9f17455601b..f56b3d619ad 100644
--- a/doc/python_api/rst/bge.render.rst
+++ b/doc/python_api/rst/bge.render.rst
@@ -1,5 +1,5 @@
-Game Engine bge.render Module
+Rasterizer (bge.render)
=============================
*****
diff --git a/doc/python_api/rst/bge.texture.rst b/doc/python_api/rst/bge.texture.rst
index 996f79a313a..53de315fa75 100644
--- a/doc/python_api/rst/bge.texture.rst
+++ b/doc/python_api/rst/bge.texture.rst
@@ -1,11 +1,7 @@
-Game Engine bge.texture Module
+Video Texture (bge.texture)
==============================
-.. note::
- This documentation is still very weak, and needs some help! Right now they are mostly a collection
- of the docstrings found in the bge.texture source code + some random places filled with text.
-
*****
Intro
*****
diff --git a/doc/python_api/rst/bge.types.rst b/doc/python_api/rst/bge.types.rst
index e42b362c771..1e9e1cca58e 100644
--- a/doc/python_api/rst/bge.types.rst
+++ b/doc/python_api/rst/bge.types.rst
@@ -1,5 +1,5 @@
-Game Engine bge.types Module
+Game Types (bge.types)
=============================
.. module:: bge.types
diff --git a/doc/python_api/rst/bgl.rst b/doc/python_api/rst/bgl.rst
index 76b7442f2c5..ef15d31f43e 100644
--- a/doc/python_api/rst/bgl.rst
+++ b/doc/python_api/rst/bgl.rst
@@ -1,5 +1,5 @@
-bgl module (OpenGL wrapper)
+OpenGL Wrapper (bgl)
===========================
.. module:: bgl
diff --git a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
index 12024657149..843dbe21995 100644
--- a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
+++ b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
@@ -38,12 +38,18 @@
#include "KX_PhysicsObjectWrapper.h"
#include "PHY_IPhysicsController.h"
#include "PHY_IVehicle.h"
+#include "PHY_DynamicTypes.h"
#include "MT_Matrix3x3.h"
#include "PyObjectPlus.h"
+#include "LinearMath/btIDebugDraw.h"
+
#ifdef WITH_PYTHON
+// macro copied from KX_PythonInit.cpp
+#define KX_MACRO_addTypesToDict(dict, name, name2) PyDict_SetItemString(dict, #name, item=PyLong_FromSsize_t(name2)); Py_DECREF(item)
+
// nasty glob variable to connect scripting language
// if there is a better way (without global), please do so!
static PHY_IPhysicsEnvironment* g_CurrentActivePhysicsEnvironment = NULL;
@@ -662,6 +668,7 @@ PyObject* initPythonConstraintBinding()
PyObject* ErrorObject;
PyObject* m;
PyObject* d;
+ PyObject* item;
/* Use existing module where possible
* be careful not to init any runtime vars after this */
@@ -683,7 +690,28 @@ PyObject* initPythonConstraintBinding()
PyDict_SetItemString(d, "error", ErrorObject);
Py_DECREF(ErrorObject);
- // XXXX Add constants here
+ //Debug Modes constants to be used with setDebugMode() python function
+ KX_MACRO_addTypesToDict(d, DBG_NODEBUG, btIDebugDraw::DBG_NoDebug);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWWIREFRAME, btIDebugDraw::DBG_DrawWireframe);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWAABB, btIDebugDraw::DBG_DrawAabb);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWFREATURESTEXT, btIDebugDraw::DBG_DrawFeaturesText);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWCONTACTPOINTS, btIDebugDraw::DBG_DrawContactPoints);
+ KX_MACRO_addTypesToDict(d, DBG_NOHELPTEXT, btIDebugDraw::DBG_NoHelpText);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWTEXT, btIDebugDraw::DBG_DrawText);
+ KX_MACRO_addTypesToDict(d, DBG_PROFILETIMINGS, btIDebugDraw::DBG_ProfileTimings);
+ KX_MACRO_addTypesToDict(d, DBG_ENABLESATCOMPARISION, btIDebugDraw::DBG_EnableSatComparison);
+ KX_MACRO_addTypesToDict(d, DBG_DISABLEBULLETLCP, btIDebugDraw::DBG_DisableBulletLCP);
+ KX_MACRO_addTypesToDict(d, DBG_ENABLECDD, btIDebugDraw::DBG_EnableCCD);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWCONSTRAINTS, btIDebugDraw::DBG_DrawConstraints);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWCONSTRAINTLIMITS, btIDebugDraw::DBG_DrawConstraintLimits);
+ KX_MACRO_addTypesToDict(d, DBG_FASTWIREFRAME, btIDebugDraw::DBG_FastWireframe);
+
+ //Constraint types to be used with createConstraint() python function
+ KX_MACRO_addTypesToDict(d, POINTTOPOINT_CONSTRAINT, PHY_POINT2POINT_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, LINEHINGE_CONSTRAINT, PHY_LINEHINGE_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, ANGULAR_CONSTRAINT, PHY_ANGULAR_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, CONETWIST_CONSTRAINT, PHY_CONE_TWIST_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, VEHICLE_CONSTRAINT, PHY_VEHICLE_CONSTRAINT);
// Check for errors
if (PyErr_Occurred())