148 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			148 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # $Id$
 | |
| # Documentation for game objects
 | |
| 
 | |
| class KX_GameObject:
 | |
| 	"""
 | |
| 	All game objects are derived from this class.
 | |
| 	
 | |
| 	Properties assigned to game objects are accessible as attributes
 | |
| 	in objects of this class.
 | |
| 	
 | |
| 	@ivar mass: The object's mass (provided the object has a physics controller). float. read only
 | |
| 	@ivar parent: The object's parent object. (Read only)
 | |
| 	@type parent: KX_GameObject
 | |
| 	@ivar visible: visibility flag. boolean.
 | |
| 	@ivar position: The object's position. 
 | |
| 	@type position: list [x, y, z]
 | |
| 	@ivar orientation: The object's orientation. 3x3 Matrix.  
 | |
| 	                   You can also write a Quaternion or Euler vector.
 | |
| 	@type orientation: 3x3 Matrix [[float]]
 | |
| 	@ivar scaling: The object's scaling factor. list [sx, sy, sz]
 | |
| 	@type scaling: list [sx, sy, sz]
 | |
| 	"""
 | |
| 	
 | |
| 	def setVisible(visible):
 | |
| 		"""
 | |
| 		Sets the game object's visible flag.
 | |
| 		
 | |
| 		@type visible: boolean
 | |
| 		"""
 | |
| 	def setPosition(pos):
 | |
| 		"""
 | |
| 		Sets the game object's position.
 | |
| 		
 | |
| 		@type pos: [x, y, z]
 | |
| 		@param pos: the new position, in world coordinates.
 | |
| 		"""
 | |
| 	def getPosition():
 | |
| 		"""
 | |
| 		Gets the game object's position.
 | |
| 		
 | |
| 		@rtype: list [x, y, z]
 | |
| 		@return: the object's position in world coordinates.
 | |
| 		"""
 | |
| 	def setOrientation(orn):
 | |
| 		"""
 | |
| 		Sets the game object's orientation.
 | |
| 		
 | |
| 		@type orn: 3x3 rotation matrix, or Quaternion.
 | |
| 		@param orn: a rotation matrix specifying the new rotation.
 | |
| 		"""
 | |
| 	def getOrientation():
 | |
| 		"""
 | |
| 		Gets the game object's orientation.
 | |
| 		
 | |
| 		@rtype: 3x3 rotation matrix
 | |
| 		@return: The game object's rotation matrix
 | |
| 		"""
 | |
| 	def getLinearVelocity():
 | |
| 		"""
 | |
| 		Gets the game object's linear velocity.
 | |
| 		
 | |
| 		This method returns the game object's velocity through it's centre of mass,
 | |
| 		ie no angular velocity component.
 | |
| 		
 | |
| 		cf getVelocity()
 | |
| 		
 | |
| 		@rtype: list [vx, vy, vz]
 | |
| 		@return: the object's linear velocity.
 | |
| 		"""
 | |
| 	def getVelocity(point):
 | |
| 		"""
 | |
| 		Gets the game object's velocity at the specified point.
 | |
| 		
 | |
| 		Gets the game object's velocity at the specified point, including angular
 | |
| 		components.
 | |
| 		
 | |
| 		@type point: list [x, y, z]
 | |
| 		@param point: the point to return the velocity for, in local coordinates. (optional: default = [0, 0, 0])
 | |
| 		@rtype: list [vx, vy, vz]
 | |
| 		@return: the velocity at the specified point.
 | |
| 		"""
 | |
| 	def getMass():
 | |
| 		"""
 | |
| 		Gets the game object's mass.
 | |
| 		
 | |
| 		@rtype: float
 | |
| 		@return: the object's mass.
 | |
| 		"""
 | |
| 	def getReactionForce():
 | |
| 		"""
 | |
| 		Gets the game object's reaction force.
 | |
| 		
 | |
| 		The reaction force is the force applied to this object over the last simulation timestep.
 | |
| 		This also includes impulses, eg from collisions.
 | |
| 		
 | |
| 		@rtype: list [fx, fy, fz]
 | |
| 		@return: the reaction force of this object.
 | |
| 		"""
 | |
| 	def applyImpulse(point, impulse):
 | |
| 		"""
 | |
| 		Applies an impulse to the game object.
 | |
| 		
 | |
| 		This will apply the specified impulse to the game object at the specified point.
 | |
| 		If point != getPosition(), applyImpulse will also change the object's angular momentum.
 | |
| 		Otherwise, only linear momentum will change.
 | |
| 		
 | |
| 		@type point: list [x, y, z]
 | |
| 		@param point: the point to apply the impulse to (in world coordinates)
 | |
| 		"""
 | |
| 	def suspendDynamics():
 | |
| 		"""
 | |
| 		Suspends physics for this object.
 | |
| 		"""
 | |
| 	def restoreDynamics():
 | |
| 		"""
 | |
| 		Resumes physics for this object.
 | |
| 		"""
 | |
| 	def enableRigidBody():
 | |
| 		"""
 | |
| 		Enables rigid body physics for this object.
 | |
| 		
 | |
| 		Rigid body physics allows the object to roll on collisions.
 | |
| 		"""
 | |
| 	def disableRigidBody():
 | |
| 		"""
 | |
| 		Disables rigid body physics for this object.
 | |
| 		"""
 | |
| 	def getParent():
 | |
| 		"""
 | |
| 		Gets this object's parent.
 | |
| 		
 | |
| 		@rtype: game object
 | |
| 		@return: this object's parent object, or None if this object has no parent.
 | |
| 		"""
 | |
| 	def getMesh(mesh):
 | |
| 		"""
 | |
| 		Gets the mesh object for this object.
 | |
| 		
 | |
| 		@type mesh: integer
 | |
| 		@param mesh: the mesh object to return (optional: default mesh = 0)
 | |
| 		@rtype: mesh object
 | |
| 		@return: the first mesh object associated with this game object, or None if this object has no meshs.
 | |
| 		"""
 | |
| 	def getPhysicsId():
 | |
| 		"""
 | |
| 		Returns the user data object associated with this game object's physics controller.
 | |
| 		"""
 |