[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20388] trunk/blender/source/gameengine: - BGE Py API, any py function/ attribute that took a KX_GameObject would not accept a KX_Light or KX_Camera (bad oversight on my part)

Campbell Barton ideasman42 at gmail.com
Mon May 25 01:43:10 CEST 2009


Revision: 20388
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20388
Author:   campbellbarton
Date:     2009-05-25 01:43:10 +0200 (Mon, 25 May 2009)

Log Message:
-----------
- BGE Py API, any py function/attribute that took a KX_GameObject would not accept a KX_Light or KX_Camera (bad oversight on my part)
- Typo in occlusion variable init "m_buffer == NULL;" -> "m_buffer = NULL;"

CcdPhysicsEnvironment.cpp and CcdPhysicsController.cpp had too many warnings, fixed most of them.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
    trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
    trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp	2009-05-24 23:12:38 UTC (rev 20387)
+++ trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp	2009-05-24 23:43:10 UTC (rev 20388)
@@ -49,6 +49,8 @@
 #include "RAS_IPolygonMaterial.h"
 #include "KX_BlenderMaterial.h"
 #include "KX_GameObject.h"
+#include "KX_Camera.h" // only for their ::Type
+#include "KX_Light.h"  // only for their ::Type
 #include "RAS_MeshObject.h"
 #include "KX_MeshProxy.h"
 #include "KX_PolyProxy.h"
@@ -2757,6 +2759,7 @@
 	}
 }
 
+
 bool ConvertPythonToGameObject(PyObject * value, KX_GameObject **object, bool py_none_ok, const char *error_prefix)
 {
 	if (value==NULL) {
@@ -2787,7 +2790,10 @@
 		}
 	}
 	
-	if (PyObject_TypeCheck(value, &KX_GameObject::Type)) {
+	if (	PyObject_TypeCheck(value, &KX_GameObject::Type)	||
+			PyObject_TypeCheck(value, &KX_LightObject::Type)	||
+			PyObject_TypeCheck(value, &KX_Camera::Type)	)
+	{
 		*object = static_cast<KX_GameObject*>BGE_PROXY_REF(value);
 		
 		/* sets the error */

Modified: trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
===================================================================
--- trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp	2009-05-24 23:12:38 UTC (rev 20387)
+++ trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp	2009-05-24 23:43:10 UTC (rev 20388)
@@ -185,12 +185,12 @@
 		rbci.m_restitution = m_cci.m_restitution;
 
 		
-		int nodecount = 0;
+
 		
-		int numtriangles = 1;
 		
+		
 		btVector3 p(0,0,0);// = getOrigin();
-		btScalar h = 1.f;
+
 		
 		btSoftRigidDynamicsWorld* softDynaWorld = (btSoftRigidDynamicsWorld*)m_cci.m_physicsEnv->getDynamicsWorld();
 
@@ -794,7 +794,7 @@
 			m_object->setCollisionFlags(m_object->getCollisionFlags() | btCollisionObject::CF_KINEMATIC_OBJECT);
 		}
 
-		btRigidBody* body = GetRigidBody();
+		// btRigidBody* body = GetRigidBody(); // not used anymore
 
 		btVector3 dloc(dlocX,dlocY,dlocZ);
 		btTransform xform = m_object->getWorldTransform();
@@ -1388,8 +1388,6 @@
 	/* Convert blender geometry into bullet mesh, need these vars for mapping */
 	vector<bool> vert_tag_array(numverts, false);
 	unsigned int tot_bt_verts= 0;
-	unsigned int orig_index;
-	int i;
 
 	if (polytope)
 	{
@@ -1609,9 +1607,7 @@
 btCollisionShape* CcdShapeConstructionInfo::CreateBulletShape(btScalar margin)
 {
 	btCollisionShape* collisionShape = 0;
-	btTriangleMeshShape* concaveShape = 0;
-	btCompoundShape* compoundShape = 0;
-	CcdShapeConstructionInfo* nextShapeInfo;
+	btCompoundShape* compoundShape = 0;	
 
 	if (m_shapeType == PHY_SHAPE_PROXY && m_shapeProxy != NULL)
 		return m_shapeProxy->CreateBulletShape(margin);
@@ -1684,7 +1680,7 @@
 					collisionMeshData->m_weldingThreshold = m_weldingThreshold1;
 					bool removeDuplicateVertices=true;
 					// m_vertexArray not in multiple of 3 anymore, use m_triFaceArray
-					for(int i=0; i<m_triFaceArray.size(); i+=3) {
+					for(unsigned int i=0; i<m_triFaceArray.size(); i+=3) {
 						btScalar *bt = &m_vertexArray[3*m_triFaceArray[i]];
 						btVector3 v1(bt[0], bt[1], bt[2]);
 						bt = &m_vertexArray[3*m_triFaceArray[i+1]];

Modified: trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
===================================================================
--- trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp	2009-05-24 23:12:38 UTC (rev 20387)
+++ trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp	2009-05-24 23:43:10 UTC (rev 20388)
@@ -1003,7 +1003,7 @@
 
 	virtual	btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult,bool normalInWorldSpace)
 	{
-		CcdPhysicsController* curHit = static_cast<CcdPhysicsController*>(rayResult.m_collisionObject->getUserPointer());
+		//CcdPhysicsController* curHit = static_cast<CcdPhysicsController*>(rayResult.m_collisionObject->getUserPointer());
 		// save shape information as ClosestRayResultCallback::AddSingleResult() does not do it
 		if (rayResult.m_localShapeInfo)
 		{
@@ -1021,10 +1021,6 @@
 
 PHY_IPhysicsController* CcdPhysicsEnvironment::rayTest(PHY_IRayCastFilterCallback &filterCallback, float fromX,float fromY,float fromZ, float toX,float toY,float toZ)
 {
-
-
-	float minFraction = 1.f;
-
 	btVector3 rayFrom(fromX,fromY,fromZ);
 	btVector3 rayTo(toX,toY,toZ);
 
@@ -1174,7 +1170,7 @@
 	{
 		m_initialized=false;
 		m_occlusion = false;
-		m_buffer == NULL;
+		m_buffer = NULL;
 		m_bufferSize = 0;
 	}
 	// multiplication of column major matrices: m=m1*m2
@@ -1282,8 +1278,7 @@
 	static bool	project(btVector4* p,int n)
 	{
 		for(int i=0;i<n;++i)
-		{
-			const btScalar iw=1/p[i][3];
+		{			
 			p[i][2]=1/p[i][3];
 			p[i][0]*=p[i][2];
 			p[i][1]*=p[i][2];
@@ -1601,7 +1596,7 @@
 									6,5,1,2,
 									7,6,2,3,
 									5,4,0,1};
-		for(int i=0;i<(sizeof(d)/sizeof(d[0]));)
+		for(unsigned int i=0;i<(sizeof(d)/sizeof(d[0]));)
 		{
 			const btVector4	p[]={	x[d[i++]],
 									x[d[i++]],
@@ -1954,9 +1949,6 @@
 
 void	CcdPhysicsEnvironment::CallbackTriggers()
 {
-	
-	CcdPhysicsController* ctrl0=0,*ctrl1=0;
-
 	if (m_triggerCallbacks[PHY_OBJECT_RESPONSE] || (m_debugDrawer && (m_debugDrawer->getDebugMode() & btIDebugDraw::DBG_DrawContactPoints)))
 	{
 		//walk over all overlapping pairs, and if one of the involved bodies is registered for trigger callback, perform callback





More information about the Bf-blender-cvs mailing list