[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54028] trunk/blender/source: make bullet optional again

Campbell Barton ideasman42 at gmail.com
Wed Jan 23 08:26:49 CET 2013


Revision: 54028
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54028
Author:   campbellbarton
Date:     2013-01-23 07:26:39 +0000 (Wed, 23 Jan 2013)
Log Message:
-----------
make bullet optional again

Modified Paths:
--------------
    trunk/blender/source/blender/CMakeLists.txt
    trunk/blender/source/blender/blenkernel/CMakeLists.txt
    trunk/blender/source/blender/blenkernel/SConscript
    trunk/blender/source/blender/blenkernel/intern/collision.c
    trunk/blender/source/blender/blenkernel/intern/pointcache.c
    trunk/blender/source/blender/blenkernel/intern/rigidbody.c
    trunk/blender/source/blender/editors/interface/interface_templates.c
    trunk/blender/source/blender/editors/physics/CMakeLists.txt
    trunk/blender/source/blender/editors/physics/rigidbody_world.c
    trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
    trunk/blender/source/blender/makesrna/intern/rna_rigidbody.c
    trunk/blender/source/blender/modifiers/intern/MOD_boolean.c
    trunk/blender/source/creator/CMakeLists.txt
    trunk/blender/source/gameengine/BlenderRoutines/CMakeLists.txt
    trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
    trunk/blender/source/gameengine/Converter/CMakeLists.txt
    trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
    trunk/blender/source/gameengine/Converter/KX_SoftBodyDeformer.cpp
    trunk/blender/source/gameengine/Converter/SConscript
    trunk/blender/source/gameengine/Ketsji/CMakeLists.txt
    trunk/blender/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
    trunk/blender/source/gameengine/Ketsji/KX_BulletPhysicsController.h
    trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObject.h
    trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp
    trunk/blender/source/gameengine/Ketsji/KX_GameObject.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
    trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
    trunk/blender/source/gameengine/Ketsji/SConscript
    trunk/blender/source/gameengine/Physics/Bullet/CMakeLists.txt
    trunk/blender/source/gameengine/Physics/Bullet/SConscript

Modified: trunk/blender/source/blender/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/CMakeLists.txt	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/CMakeLists.txt	2013-01-23 07:26:39 UTC (rev 54028)
@@ -106,8 +106,11 @@
 add_subdirectory(modifiers)
 add_subdirectory(makesdna)
 add_subdirectory(makesrna)
-add_subdirectory(rigidbody)
 
+if(WITH_BULLET)
+	add_subdirectory(rigidbody)
+endif()
+
 if(WITH_COMPOSITOR)
 	add_subdirectory(opencl)  # later on this may be used more generally
 	add_subdirectory(compositor)

Modified: trunk/blender/source/blender/blenkernel/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/blenkernel/CMakeLists.txt	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/blenkernel/CMakeLists.txt	2013-01-23 07:26:39 UTC (rev 54028)
@@ -37,7 +37,6 @@
 	../modifiers
 	../nodes
 	../render/extern/include
-	../rigidbody
 	../../../intern/guardedalloc
 	../../../intern/iksolver/extern
 	../../../intern/memutil
@@ -264,7 +263,10 @@
 	list(APPEND INC_SYS
 		${BULLET_INCLUDE_DIRS}
 	)
-	add_definitions(-DUSE_BULLET)
+	list(APPEND INC
+		../rigidbody
+	)
+	add_definitions(-DWITH_BULLET)
 endif()
 
 #if(WITH_MOD_CLOTH_ELTOPO)

Modified: trunk/blender/source/blender/blenkernel/SConscript
===================================================================
--- trunk/blender/source/blender/blenkernel/SConscript	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/blenkernel/SConscript	2013-01-23 07:26:39 UTC (rev 54028)
@@ -111,7 +111,7 @@
     incs += ' ' + env['BF_QUICKTIME_INC']
 
 if env['WITH_BF_BULLET']:
-    defs.append('USE_BULLET')
+    defs.append('WITH_BULLET')
 
 if env['OURPLATFORM'] == 'darwin':
     if env['WITH_BF_OPENMP']:

Modified: trunk/blender/source/blender/blenkernel/intern/collision.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/collision.c	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/blenkernel/intern/collision.c	2013-01-23 07:26:39 UTC (rev 54028)
@@ -59,7 +59,7 @@
 #include "BKE_modifier.h"
 
 #include "BKE_DerivedMesh.h"
-#ifdef USE_BULLET
+#ifdef WITH_BULLET
 #include "Bullet-C-Api.h"
 #endif
 #include "BLI_kdopbvh.h"
@@ -385,7 +385,7 @@
 	CollisionModifierData *collmd = (CollisionModifierData *) md2;
 	/* Cloth *cloth = clmd->clothObject; */ /* UNUSED */
 	MFace *face1=NULL, *face2 = NULL;
-#ifdef USE_BULLET
+#ifdef WITH_BULLET
 	ClothVertex *verts1 = clmd->clothObject->verts;
 #endif
 	double distance = 0;
@@ -458,7 +458,7 @@
 			}
 		}
 		
-#ifdef USE_BULLET
+#ifdef WITH_BULLET
 		// calc distance + normal
 		distance = plNearestPoints (
 			verts1[collpair->ap1].txold, verts1[collpair->ap2].txold, verts1[collpair->ap3].txold, collmd->current_x[collpair->bp1].co, collmd->current_x[collpair->bp2].co, collmd->current_x[collpair->bp3].co, collpair->pa, collpair->pb, collpair->vector );

Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c	2013-01-23 07:26:39 UTC (rev 54028)
@@ -73,7 +73,9 @@
 
 #include "BIK_api.h"
 
-#include "RBI_api.h"
+#ifdef WITH_BULLET
+#  include "RBI_api.h"
+#endif
 
 /* both in intern */
 #ifdef WITH_SMOKE
@@ -883,10 +885,10 @@
 		RigidBodyOb *rbo = ob->rigidbody_object;
 		
 		if (rbo->type == RBO_TYPE_ACTIVE) {
-			
+#ifdef WITH_BULLET
 			RB_body_get_position(rbo->physics_object, rbo->pos);
 			RB_body_get_orientation(rbo->physics_object, rbo->orn);
-			
+#endif
 			PTCACHE_DATA_FROM(data, BPHYS_DATA_LOCATION, rbo->pos);
 			PTCACHE_DATA_FROM(data, BPHYS_DATA_ROTATION, rbo->orn);
 		}

Modified: trunk/blender/source/blender/blenkernel/intern/rigidbody.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/rigidbody.c	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/blenkernel/intern/rigidbody.c	2013-01-23 07:26:39 UTC (rev 54028)
@@ -42,7 +42,9 @@
 #include "BLI_blenlib.h"
 #include "BLI_math.h"
 
-#include "RBI_api.h"
+#ifdef WITH_BULLET
+#  include "RBI_api.h"
+#endif
 
 #include "DNA_anim_types.h"
 #include "DNA_group_types.h"
@@ -66,6 +68,8 @@
 
 #include "RNA_access.h"
 
+#ifdef WITH_BULLET
+
 /* ************************************** */
 /* Memory Management */
 
@@ -1210,3 +1214,36 @@
 	}
 }
 /* ************************************** */
+
+#else  /* WITH_BULLET */
+
+/* stubs */
+#ifdef __GNUC__
+#  pragma GCC diagnostic push
+#  pragma GCC diagnostic ignored "-Wunused-parameter"
+#endif
+
+void BKE_rigidbody_free_world(RigidBodyWorld *rbw) {}
+void BKE_rigidbody_free_object(Object *ob) {}
+void BKE_rigidbody_free_constraint(Object *ob) {}
+struct RigidBodyOb *BKE_rigidbody_copy_object(Object *ob) { return NULL; }
+struct RigidBodyCon *BKE_rigidbody_copy_constraint(Object *ob) { return NULL; }
+void BKE_rigidbody_validate_sim_shape(Object *ob, short rebuild) {}
+void BKE_rigidbody_validate_sim_object(RigidBodyWorld *rbw, Object *ob, short rebuild) {}
+void BKE_rigidbody_validate_sim_constraint(RigidBodyWorld *rbw, Object *ob, short rebuild) {}
+void BKE_rigidbody_validate_sim_world(Scene *scene, RigidBodyWorld *rbw, short rebuild) {}
+struct RigidBodyWorld *BKE_rigidbody_create_world(Scene *scene) { return NULL; }
+struct RigidBodyOb *BKE_rigidbody_create_object(Scene *scene, Object *ob, short type) { return NULL; }
+struct RigidBodyCon *BKE_rigidbody_create_constraint(Scene *scene, Object *ob, short type) { return NULL; }
+struct RigidBodyWorld *BKE_rigidbody_get_world(Scene *scene) { return NULL; }
+void BKE_rigidbody_remove_object(Scene *scene, Object *ob) {}
+void BKE_rigidbody_remove_constraint(Scene *scene, Object *ob) {}
+void BKE_rigidbody_sync_transforms(Scene *scene, Object *ob, float ctime) {}
+void BKE_rigidbody_cache_reset(RigidBodyWorld *rbw) {}
+void BKE_rigidbody_do_simulation(Scene *scene, float ctime) {}
+
+#ifdef __GNUC__
+#  pragma GCC diagnostic pop
+#endif
+
+#endif  /* WITH_BULLET */

Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c	2013-01-23 07:26:39 UTC (rev 54028)
@@ -1606,7 +1606,7 @@
 	RNAUpdateCb *cb;
 	uiBlock *block;
 	uiBut *but;
-	rctf rect;
+//	rctf rect;  /* UNUSED */
 	int icon;
 	
 	if (!prop || RNA_property_type(prop) != PROP_ENUM)
@@ -1618,8 +1618,8 @@
 	cb->ptr = *ptr;
 	cb->prop = prop;
 	
-	rect.xmin = 0; rect.xmax = 10.0f * UI_UNIT_X;
-	rect.ymin = 0; rect.ymax = 10.0f * UI_UNIT_X;
+//	rect.xmin = 0; rect.xmax = 10.0f * UI_UNIT_X;
+//	rect.ymin = 0; rect.ymax = 10.0f * UI_UNIT_X;
 	
 	block = uiLayoutAbsoluteBlock(layout);
 

Modified: trunk/blender/source/blender/editors/physics/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/editors/physics/CMakeLists.txt	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/editors/physics/CMakeLists.txt	2013-01-23 07:26:39 UTC (rev 54028)
@@ -27,7 +27,6 @@
 	../../makesdna
 	../../makesrna
 	../../windowmanager
-	../../rigidbody
 	../../../../intern/elbeem/extern
 	../../../../intern/guardedalloc
 )
@@ -63,4 +62,11 @@
 	add_definitions(-DWITH_INTERNATIONAL)
 endif()
 
+if(WITH_BULLET)
+	list(APPEND INC
+		../../rigidbody
+	)
+	add_definitions(-DWITH_BULLET)
+endif()
+
 blender_add_lib(bf_editor_physics "${SRC}" "${INC}" "${INC_SYS}")

Modified: trunk/blender/source/blender/editors/physics/rigidbody_world.c
===================================================================
--- trunk/blender/source/blender/editors/physics/rigidbody_world.c	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/editors/physics/rigidbody_world.c	2013-01-23 07:26:39 UTC (rev 54028)
@@ -40,7 +40,9 @@
 #include "BLI_blenlib.h"
 #include "BLI_math.h"
 
-#include "RBI_api.h"
+#ifdef WITH_BULLET
+#  include "RBI_api.h"
+#endif
 
 #include "BKE_context.h"
 #include "BKE_depsgraph.h"
@@ -170,8 +172,9 @@
 	}
 
 	RNA_string_get(op->ptr, "filepath", path);
+#ifdef WITH_BULLET
 	RB_dworld_export(rbw->physics_world, path);
-
+#endif
 	return OPERATOR_FINISHED;
 }
 

Modified: trunk/blender/source/blender/makesrna/intern/CMakeLists.txt
===================================================================
--- trunk/blender/source/blender/makesrna/intern/CMakeLists.txt	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/makesrna/intern/CMakeLists.txt	2013-01-23 07:26:39 UTC (rev 54028)
@@ -238,6 +238,13 @@
 	add_definitions(-DWITH_INTERNATIONAL)
 endif()
 
+if(WITH_BULLET)
+	list(APPEND INC
+		../../rigidbody
+	)
+	add_definitions(-DWITH_BULLET)
+endif()
+
 # Build makesrna executable
 blender_include_dirs(
 	.
@@ -254,7 +261,6 @@
 	../../windowmanager
 	../../editors/include
 	../../render/extern/include
-	../../rigidbody
 	../../../../intern/audaspace/intern
 	../../../../intern/cycles/blender
 	../../../../intern/guardedalloc

Modified: trunk/blender/source/blender/makesrna/intern/rna_rigidbody.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_rigidbody.c	2013-01-23 06:09:53 UTC (rev 54027)
+++ trunk/blender/source/blender/makesrna/intern/rna_rigidbody.c	2013-01-23 07:26:39 UTC (rev 54028)
@@ -73,7 +73,9 @@
 
 #ifdef RNA_RUNTIME
 
-#include "RBI_api.h"
+#ifdef WITH_BULLET
+#  include "RBI_api.h"
+#endif
 
 #include "BKE_depsgraph.h"
 #include "BKE_rigidbody.h"
@@ -105,9 +107,12 @@
 	RigidBodyWorld *rbw = (RigidBodyWorld *)ptr->data;
 	
 	rbw->num_solver_iterations = value;
-	
-	if (rbw->physics_world)
+
+#ifdef WITH_BULLET
+	if (rbw->physics_world) {
 		RB_dworld_set_solver_iterations(rbw->physics_world, value);
+	}
+#endif
 }
 
 static void rna_RigidBodyWorld_split_impulse_set(PointerRNA *ptr, int value)
@@ -115,9 +120,12 @@
 	RigidBodyWorld *rbw = (RigidBodyWorld *)ptr->data;
 	
 	RB_FLAG_SET(rbw->flag, value, RBW_FLAG_USE_SPLIT_IMPULSE);
-	
-	if (rbw->physics_world)
+
+#ifdef WITH_BULLET
+	if (rbw->physics_world) {
 		RB_dworld_set_split_impulse(rbw->physics_world, value);
+	}

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list