[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28297] branches/blender2.4/source/ gameengine/PyDoc: Epydocs: Physics Constraints module: ( following recent update on trunk/2.5)

Dalai Felinto dfelinto at gmail.com
Tue Apr 20 10:35:58 CEST 2010


Revision: 28297
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28297
Author:   dfelinto
Date:     2010-04-20 10:35:58 +0200 (Tue, 20 Apr 2010)

Log Message:
-----------
Epydocs: Physics Constraints module: (following recent update on trunk/2.5)
main functions are all here.
The others are either commented as unstable in the code, or not commented at all.

Modified Paths:
--------------
    branches/blender2.4/source/gameengine/PyDoc/API_intro.py

Added Paths:
-----------
    branches/blender2.4/source/gameengine/PyDoc/PhysicsConstraints.py

Modified: branches/blender2.4/source/gameengine/PyDoc/API_intro.py
===================================================================
--- branches/blender2.4/source/gameengine/PyDoc/API_intro.py	2010-04-20 08:23:22 UTC (rev 28296)
+++ branches/blender2.4/source/gameengine/PyDoc/API_intro.py	2010-04-20 08:35:58 UTC (rev 28297)
@@ -15,11 +15,11 @@
 			- L{GameKeys} keyboard input and event conversion.
 			- L{Rasterizer} display and rendering.
 			- L{GameTypes} contains all the python types spesific to the GameEngine.
+			- L{PhysicsConstraints} constraints and physical dynamics
 	
-	Undocumented modules:
-	---------------------
+	Undocumented module:
+	--------------------
 		- VideoTexture
-		- PhysicsConstraints
 	
 	Additional Modules:
 	-------------------

Added: branches/blender2.4/source/gameengine/PyDoc/PhysicsConstraints.py
===================================================================
--- branches/blender2.4/source/gameengine/PyDoc/PhysicsConstraints.py	                        (rev 0)
+++ branches/blender2.4/source/gameengine/PyDoc/PhysicsConstraints.py	2010-04-20 08:35:58 UTC (rev 28297)
@@ -0,0 +1,294 @@
+# $Id$
+"""
+Documentation for the PhysicsConstraints module.
+================================================
+
+Example::
+	
+	
+	#  Adding a point constraint  #
+	###############################
+	
+	
+	# import BGE internal module
+	import PhysicsConstraints
+	
+	# get object list
+	obj_list = GameLogic.getCurrentScene().objects
+	
+	# get object named Obj_1
+	root = obj_list["root"]
+	obj = obj_list["obj"]
+
+	# get object physics ID
+	phido = obj.getPhysicsId()
+	
+	# get root physics ID
+	phidr = root.getPhysicsId()
+
+	# want to use point constraint type
+	constraint_type = 1
+	
+	# Use bottom right front corner of object for point constraint position
+	point_pos_x = 1.0
+	point_pos_y = -1.0
+	point_pos_z = -1.0
+	
+	# create a point constraint
+	const =	PhysicsConstraints.createConstraint( phido, phidr, constraint_type, point_pos_x, point_pos_y, point_pos_z)
+
+	# stores the new constraint ID to be used later
+	obj["constraint_ID"] = const.getConstraintId()	
+	
+	
+Example::
+	
+	
+	#  Removing a point constraint  #
+	#################################
+	
+	
+	# import BGE internal module
+	import PhysicsConstraints
+	
+	# get object list
+	obj_list = GameLogic.getCurrentScene().objects
+	
+	# get object 1
+	obj = obj_list["obj"]
+	
+	# get constraint ID that was saved as an obj property
+	# when the constraint was created
+	constraint_ID = obj["constraint_ID"]
+	
+	# remove constraint
+	PhysicsConstraints.removeConstraint(constraint_ID)
+
+"""
+
+def createConstraint(obj_PhysicsID, root_PhysicsID, constraintType, pointPos_x, pointPos_y, pointPos_z, edgePos_x, edgePos_y, edgePos_z, edgeAngle_x, edgeAngle_y, edgeAngle_z):
+	"""	
+	Create a point constraint between two objects, an edge constraint between two objects, or a vehicle constraint on an object.
+	
+	You only have to input the needed parammeters depending on the type of constraint you are trying to create.
+	
+
+	B{Point Constraint} ::
+	
+		While creating a point constraint, the "pointPos" values define where you want the pivot point to be located.
+		If you are creating a point constraint be sure to assing the integer "1" as the constraintType value.
+	
+		Parameters to use:
+		obj_PhysicsID, root_PhysicsID, constraintType, pointPos_x, pointPos_y, pointPos_z
+	
+	B{Edge Constraint} ::
+		
+		While creating an edge constraint, the "edgePos" values define where you want the center of the edge constraint to be.
+		Also, the "edgeAngle" values define in which direction you want the edge constraint to point (As a 3 dimensions vector).
+		If you want to create an edge constraint be sure to assing the integer "2" as the constraintType value.
+
+		Parameters to use:
+		obj_PhysicsID, root_PhysicsID, constraintType, edgePos_x, edgePos_y, edgePos_z, edgeAngle_x, edgeAngle_y, edgeAngle_z}		
+	
+	B{Vehicle Constraint} ::
+		
+		While creating a point constraint, the "pointPos" values define where you want the pivot point to be located.
+		If you want to create an edge constraint be sure to assing the integer "0" as the constraintType value.
+
+		Parameters to use :
+		obj_PhysicsID, root_PhysicsID, constraintType
+	
+	@type obj_PhysicsID: integer
+	@param obj_PhysicsID: The physic ID of the first object to constraint.
+
+	@type root_PhysicsID: integer
+	@param root_PhysicsID: The physic ID of the second object to constraint.
+
+	@type constraintType: integer
+	@param constraintType: The type of constraint.
+
+	@type pointPos_x: float
+	@param pointPos_x: The X position of the point constraint.
+
+	@type pointPos_y: float
+	@param pointPos_y: The Y position of the point constraint.
+
+	@type pointPos_z: float
+	@param pointPos_z: The Z position of the point constraint.
+
+	@type edgePos_x: float
+	@param edgePos_x: The X value of the center of the edge constraint.
+
+	@type edgePos_y: float
+	@param edgePos_y: The Y value of the center of the edge constraint.
+
+	@type edgePos_z: float
+	@param edgePos_z: The Z value of the center of the edge constraint.
+
+	@type edgeAngle_x: float
+	@param edgeAngle_x: The X value of the edge's orientation vector.
+
+	@type edgeAngle_y: float
+	@param edgeAngle_y: The Y value of the edge's orientation vector.
+
+	@type edgeAngle_z: float
+	@param edgeAngle_z: The Z value of the edge's orientation vector.
+
+	@rtype: integer
+	@return: The created constraint ID
+	"""
+	
+
+def getAppliedImpulse(constraint_ID):
+	"""
+	Returns the applied impulse.
+	
+	@param constraint_ID: The constraint ID that was saved on the creation of the constraint.
+	@type constraint_ID: integer
+	@rtype: float
+	@return: Measure the stress on a constraint.
+	"""
+
+
+def getVehicleConstraint(constraint_ID):
+	"""
+	Returns the vehicle constraint ID.
+	
+	@param constraint_ID: The constraint ID that was saved on the creation of the constraint.
+	@type constraint_ID: integer
+	@rtype: integer
+	"""
+def removeConstraint(constraint_ID):
+	"""
+	
+	Removes the constraint between 2 game objects (point and edge constraints).
+	
+	It does not remove vehicle constraints.
+	
+	@param constraint_ID: The constraint ID that was saved on the creation of the constraint.
+	@type constraint_ID: integer
+	"""
+def setDeactivationLinearTreshold(linearTreshold):
+	"""
+	
+	Sets the linear velocity that an object must be below before the deactivation timer can start.
+	
+	This affects every object in the scene, except for game objects that have 'No sleeping' turned on.
+	
+	@param linearTreshold: The linear velocity.
+	@type linearTreshold: float
+	"""
+def setDeactivationAngularTreshold(angularTreshold):
+	"""
+	
+	Sets the angular velocity that an object must be below before the deactivation timer can start.
+	
+	This affects every object in the scene, except for game objects that have 'No sleeping' turned on.
+	
+	@param angularTreshold: The angular velocity.
+	@type angularTreshold: float
+	"""
+def setDeactivationTime(time):
+	"""
+	
+	Time (in seconds) after objects with velocity less then thresholds (see below) are deactivated.
+	
+	This affects every object in the scene, except for game objects that have 'No sleeping' turned on.
+	
+	This function is directly related with the 2 above functions.
+	
+	
+	@param time: The time in seconds.
+	@type time: float
+	"""
+def setGravity(gx, gy, gz):
+	"""
+	Sets the gravity for the actual scene only.
+	
+	All other scenes remain unaffected.
+	
+	This affects every object in the scene that has physics enabled.
+	
+	@param gx: The force of gravity on world x axis.
+	@type gx: float
+	@param gy: The force of gravity on world y axis.
+	@type gy: float
+	@param gz: The force of gravity on world z axis.
+	@type gz: float
+	"""
+def setLinearAirDamping(damping):
+	"""
+	
+	Sets the linear air resistance for all objects in the scene.
+	
+	@param damping: The linear air resistance.
+	@type damping: float
+	"""
+def setNumIterations(numIter):
+	"""
+	Sets the number of times an iterative constraint solver is repeated.
+	
+	Increasing the number of iterations improves the constraint solver at the cost of performances & the speed of the game engine.
+	
+	@param numIter: The number of timesubsteps. (Input 0 to suspend simulation numSubStep)
+	@type numIter: integer
+	"""
+def setNumTimeSubSteps(numSubStep):
+	"""
+	Set the quality of the entire physics simulation including collision detection and constraint solver.
+	
+	Increase the number of time substeps to improves the quality of the entire physics simulation at the cost of the performance & the speed of the game engine.
+	
+	@param numSubStep: The number of timesubsteps. (Input 0 to suspend simulation numSubStep)
+	@type numSubStep: integer
+	"""
+#def setDebugMode():
+#	"""
+#	
+#	
+#	
+#	@param numIter: 
+#	@type numIter: 
+#	"""
+#def setCcdMode():
+#	"""
+#	Does something
+#	
+#	@rtype: 
+#	"""
+#def setContactBreakingTreshold():
+#	"""
+#	Does something
+#	
+#	@rtype: 
+#	"""
+#def setSolverDamping():
+#	"""
+#	Does something
+#	
+#	@rtype: 
+#	"""
+#def setSolverTau():
+#	"""
+#	Does something
+#	
+#	@rtype: 
+#	"""
+#def setSolverType():
+#	"""
+#	Does something
+#	
+#	@rtype: 
+#	"""
+#def setSorConstant():
+#	"""
+#	Does something
+#	
+#	@rtype: 
+#	"""
+#def setUseEpa():
+#	"""
+#	Does something
+#	
+#	@rtype: 
+#	"""
\ No newline at end of file


Property changes on: branches/blender2.4/source/gameengine/PyDoc/PhysicsConstraints.py
___________________________________________________________________
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native





More information about the Bf-blender-cvs mailing list