| 
									
										
										
										
											2004-05-30 11:09:46 +00:00
										 |  |  | # $Id$ | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | # Documentation for game objects | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class KX_GameObject: | 
					
						
							|  |  |  | 	"""
 | 
					
						
							|  |  |  | 	All game objects are derived from this class. | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2004-06-02 12:43:27 +00:00
										 |  |  | 	Properties assigned to game objects are accessible as attributes of this class. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 	 | 
					
						
							| 
									
										
										
										
											2004-07-17 05:28:23 +00:00
										 |  |  | 	@ivar name: The object's name. | 
					
						
							|  |  |  | 	@type name: string. | 
					
						
							|  |  |  | 	@ivar mass: The object's mass (provided the object has a physics controller). Read only. | 
					
						
							|  |  |  | 	@type mass: float | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 	@ivar parent: The object's parent object. (Read only) | 
					
						
							| 
									
										
										
										
											2004-06-02 12:43:27 +00:00
										 |  |  | 	@type parent: L{KX_GameObject} | 
					
						
							| 
									
										
										
										
											2004-07-17 05:28:23 +00:00
										 |  |  | 	@ivar visible: visibility flag. | 
					
						
							|  |  |  | 	@type visible: boolean | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 	@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] | 
					
						
							| 
									
										
										
										
											2008-06-14 17:12:49 +00:00
										 |  |  | 	@ivar timeOffset: adjust the slowparent delay at runtime. | 
					
						
							|  |  |  | 	@type timeOffset: float | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 	"""
 | 
					
						
							| 
									
										
										
										
											2008-06-27 11:35:55 +00:00
										 |  |  | 	def endObject(visible): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Delete this object, can be used inpace of the EndObject Actuator. | 
					
						
							|  |  |  | 		The actual removal of the object from the scene is delayed. | 
					
						
							|  |  |  | 		"""	
 | 
					
						
							| 
									
										
										
										
											2008-06-26 12:39:06 +00:00
										 |  |  | 	def getVisible(visible): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Gets the game object's visible flag. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		@type visible: boolean | 
					
						
							|  |  |  | 		"""	
 | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 	def setVisible(visible): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Sets the game object's visible flag. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-06-29 21:52:23 +00:00
										 |  |  | 		@type visible: boolean | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 	def getState(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Gets the game object's state bitmask. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		@rtype: int | 
					
						
							|  |  |  | 		@return: the objects state. | 
					
						
							|  |  |  | 		"""	
 | 
					
						
							|  |  |  | 	def setState(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Sets the game object's visible flag. | 
					
						
							|  |  |  | 		The bitmasks for states from 1 to 30 can be set with (1<<0, 1<<1, 1<<2 ... 1<<29) | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		@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. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@rtype: list [x, y, z] | 
					
						
							|  |  |  | 		@return: the object's position in world coordinates. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	def setOrientation(orn): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Sets the game object's orientation. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-06-25 16:09:29 +00:00
										 |  |  | 		@type orn: 3x3 rotation matrix, or Quaternion. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		@param orn: a rotation matrix specifying the new rotation. | 
					
						
							| 
									
										
										
										
											2008-06-25 16:09:29 +00:00
										 |  |  | 		@note: When using this matrix with Blender.Mathutils.Matrix() types, it will need to be transposed. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-06-02 17:31:05 +00:00
										 |  |  | 	def alignAxisToVect(vect, axis): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Aligns any of the game object's axis along the given vector. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		@type vect: 3d vector. | 
					
						
							|  |  |  | 		@param vect: a vector to align the axis. | 
					
						
							|  |  |  | 		@type axis: integer. | 
					
						
							|  |  |  | 		@param axis:The axis you want to align | 
					
						
							|  |  |  | 					- 0: X axis | 
					
						
							|  |  |  | 					- 1: Y axis | 
					
						
							|  |  |  | 					- 2: Z axis (default)  | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-07-04 00:05:50 +00:00
										 |  |  | 	def getAxisVect(vect): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Returns the axis vector rotates by the objects worldspace orientation. | 
					
						
							|  |  |  | 		This is the equivalent if multiplying the vector by the orientation matrix. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		@type vect: 3d vector. | 
					
						
							|  |  |  | 		@param vect: a vector to align the axis. | 
					
						
							|  |  |  | 		@rtype: 3d vector. | 
					
						
							|  |  |  | 		@return: The vector in relation to the objects rotation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 	def getOrientation(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Gets the game object's orientation. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-07-04 00:05:50 +00:00
										 |  |  | 		@rtype: 3x3 rotation matrix | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@return: The game object's rotation matrix | 
					
						
							| 
									
										
										
										
											2008-06-25 16:09:29 +00:00
										 |  |  | 		@note: When using this matrix with Blender.Mathutils.Matrix() types, it will need to be transposed. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-07-03 01:34:50 +00:00
										 |  |  | 	def getLinearVelocity(local = 0): | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 		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. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2008-05-06 20:55:55 +00:00
										 |  |  | 		@type local: boolean | 
					
						
							| 
									
										
										
										
											2008-07-03 01:34:50 +00:00
										 |  |  | 		@param local: - False: you get the "global" velocity ie: relative to world orientation (default). | 
					
						
							| 
									
										
										
										
											2008-05-06 20:55:55 +00:00
										 |  |  | 		              - True: you get the "local" velocity ie: relative to object orientation. | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@rtype: list [vx, vy, vz] | 
					
						
							|  |  |  | 		@return: the object's linear velocity. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-07-03 01:34:50 +00:00
										 |  |  | 	def setLinearVelocity(velocity, local = 0): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Sets the game object's linear velocity. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		This method sets game object's velocity through it's centre of mass, | 
					
						
							|  |  |  | 		ie no angular velocity component. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		@type velocity: 3d vector. | 
					
						
							|  |  |  | 		@param velocity: linear velocity vector. | 
					
						
							|  |  |  | 		@type local: boolean | 
					
						
							|  |  |  | 		@param local: - False: you get the "global" velocity ie: relative to world orientation (default). | 
					
						
							|  |  |  | 		              - True: you get the "local" velocity ie: relative to object orientation. | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 	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]) | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@rtype: list [vx, vy, vz] | 
					
						
							|  |  |  | 		@return: the velocity at the specified point. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	def getMass(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Gets the game object's mass. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@rtype: float | 
					
						
							|  |  |  | 		@return: the object's mass. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	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. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@rtype: list [fx, fy, fz] | 
					
						
							|  |  |  | 		@return: the reaction force of this object. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	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. | 
					
						
							| 
									
										
										
										
											2008-07-03 01:34:50 +00:00
										 |  |  | 		@Note: The objects linear velocity will be applied from when the dynamics were suspended. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	def enableRigidBody(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Enables rigid body physics for this object. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		Rigid body physics allows the object to roll on collisions. | 
					
						
							| 
									
										
										
										
											2008-07-03 01:34:50 +00:00
										 |  |  | 		@Note: This is not working with bullet physics yet. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	def disableRigidBody(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Disables rigid body physics for this object. | 
					
						
							| 
									
										
										
										
											2008-07-03 01:34:50 +00:00
										 |  |  | 		@Note: This is not working with bullet physics yet. The angular is removed but rigid body physics can still rotate it later. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	def getParent(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Gets this object's parent. | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2004-06-02 12:43:27 +00:00
										 |  |  | 		@rtype: L{KX_GameObject} | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@return: this object's parent object, or None if this object has no parent. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-04-06 18:30:52 +00:00
										 |  |  | 	def setParent(parent): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Sets this object's parent. | 
					
						
							| 
									
										
										
										
											2008-05-06 20:55:55 +00:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		@type parent: L{KX_GameObject} | 
					
						
							|  |  |  | 		@param parent: new parent object. | 
					
						
							| 
									
										
										
										
											2008-04-06 18:30:52 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	def removeParent(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Removes this objects parent. | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-07-20 17:18:46 +00:00
										 |  |  | 	def getChildren(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Return a list of immediate children of this object. | 
					
						
							|  |  |  | 		@rtype: list | 
					
						
							|  |  |  | 		@return: a list of all this objects children. | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 	def getChildrenRecursive(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Return a list of children of this object, including all their childrens children. | 
					
						
							|  |  |  | 		@rtype: list | 
					
						
							|  |  |  | 		@return: a list of all this objects children recursivly. | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 	def getMesh(mesh): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Gets the mesh object for this object. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		@type mesh: integer | 
					
						
							|  |  |  | 		@param mesh: the mesh object to return (optional: default mesh = 0) | 
					
						
							| 
									
										
										
										
											2004-06-02 12:43:27 +00:00
										 |  |  | 		@rtype: L{KX_MeshProxy} | 
					
						
							| 
									
										
										
										
											2004-05-31 13:06:04 +00:00
										 |  |  | 		@return: the first mesh object associated with this game object, or None if this object has no meshs. | 
					
						
							| 
									
										
										
										
											2004-05-24 07:49:50 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 	def getPhysicsId(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Returns the user data object associated with this game object's physics controller. | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-06-26 12:39:06 +00:00
										 |  |  | 	def getPropertyNames(): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Gets a list of all property names. | 
					
						
							|  |  |  | 		@rtype: list | 
					
						
							|  |  |  | 		@return: All property names for this object. | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2005-01-16 05:55:04 +00:00
										 |  |  | 	def getDistanceTo(other): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Returns the distance to another object or point. | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		@param other: a point or another L{KX_GameObject} to measure the distance to. | 
					
						
							|  |  |  | 		@type other: L{KX_GameObject} or list [x, y, z] | 
					
						
							|  |  |  | 		@rtype: float | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-04-06 20:02:41 +00:00
										 |  |  | 	def rayCastTo(other,dist,prop): | 
					
						
							|  |  |  | 		"""
 | 
					
						
							|  |  |  | 		Look towards another point/object and find first object hit within dist that matches prop. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		The ray is always casted from the center of the object, ignoring the object itself. | 
					
						
							|  |  |  | 		The ray is casted towards the center of another object or an explicit [x,y,z] point. | 
					
						
							| 
									
										
										
										
											2008-05-24 22:50:31 +00:00
										 |  |  | 		Use rayCast() if you need to retrieve the hit point  | 
					
						
							| 
									
										
										
										
											2008-04-06 20:02:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		@param other: [x,y,z] or object towards which the ray is casted | 
					
						
							| 
									
										
										
										
											2008-05-24 18:06:58 +00:00
										 |  |  | 		@type other: L{KX_GameObject} or 3-tuple | 
					
						
							| 
									
										
										
										
											2008-04-06 20:02:41 +00:00
										 |  |  | 		@param dist: max distance to look (can be negative => look behind); 0 or omitted => detect up to other | 
					
						
							|  |  |  | 		@type dist: float | 
					
						
							|  |  |  | 		@param prop: property name that object must have; can be omitted => detect any object | 
					
						
							|  |  |  | 		@type prop: string | 
					
						
							|  |  |  | 		@rtype: L{KX_GameObject} | 
					
						
							|  |  |  | 		@return: the first object hit or None if no object or object does not match prop | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-05-24 22:50:31 +00:00
										 |  |  | 	def rayCast(to,from,dist,prop): | 
					
						
							| 
									
										
										
										
											2008-05-24 18:06:58 +00:00
										 |  |  | 		"""
 | 
					
						
							|  |  |  | 		Look from a point/object to another point/object and find first object hit within dist that matches prop. | 
					
						
							| 
									
										
										
										
											2008-05-24 22:50:31 +00:00
										 |  |  | 		Returns a 3-tuple with object reference, hit point and hit normal or (None,None,None) if no hit. | 
					
						
							| 
									
										
										
										
											2008-05-24 18:06:58 +00:00
										 |  |  | 		Ex: | 
					
						
							|  |  |  | 			# shoot along the axis gun-gunAim (gunAim should be collision-free) | 
					
						
							| 
									
										
										
										
											2008-05-24 22:50:31 +00:00
										 |  |  | 			ob,point,normal = gun.rayCast(gunAim,None,50) | 
					
						
							| 
									
										
										
										
											2008-05-24 18:06:58 +00:00
										 |  |  | 			if ob: | 
					
						
							|  |  |  | 				# hit something | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		Notes:				 | 
					
						
							|  |  |  | 		The ray ignores the object on which the method is called. | 
					
						
							|  |  |  | 		If is casted from/to object center or explicit [x,y,z] points. | 
					
						
							|  |  |  | 		The ray does not have X-Ray capability: the first object hit (other than self object) stops the ray | 
					
						
							|  |  |  | 		If a property was specified and the first object hit does not have that property, there is no hit | 
					
						
							| 
									
										
										
										
											2008-06-26 12:39:06 +00:00
										 |  |  | 		The	ray ignores collision-free objects and faces that dont have the collision flag enabled, you can however use ghost objects. | 
					
						
							| 
									
										
										
										
											2008-05-24 18:06:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		@param to: [x,y,z] or object to which the ray is casted | 
					
						
							|  |  |  | 		@type to: L{KX_GameObject} or 3-tuple | 
					
						
							|  |  |  | 		@param from: [x,y,z] or object from which the ray is casted; None or omitted => use self object center | 
					
						
							|  |  |  | 		@type from: L{KX_GameObject} or 3-tuple or None | 
					
						
							|  |  |  | 		@param dist: max distance to look (can be negative => look behind); 0 or omitted => detect up to to | 
					
						
							|  |  |  | 		@type dist: float | 
					
						
							|  |  |  | 		@param prop: property name that object must have; can be omitted => detect any object | 
					
						
							|  |  |  | 		@type prop: string | 
					
						
							|  |  |  | 		@rtype: 3-tuple (L{KX_GameObject}, 3-tuple (x,y,z), 3-tuple (nx,ny,nz)) | 
					
						
							|  |  |  | 		@return: (object,hitpoint,hitnormal) or (None,None,None) | 
					
						
							|  |  |  | 		"""
 | 
					
						
							| 
									
										
										
										
											2008-06-02 17:31:05 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 |