[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43911] branches/soc-2011-tomato: Merging r43871 through r43908 from trunk into soc-2011-tomato

Sergey Sharybin sergey.vfx at gmail.com
Sun Feb 5 15:39:43 CET 2012


Revision: 43911
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43911
Author:   nazgul
Date:     2012-02-05 14:39:43 +0000 (Sun, 05 Feb 2012)
Log Message:
-----------
Merging r43871 through r43908 from trunk into soc-2011-tomato

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43871
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43908

Modified Paths:
--------------
    branches/soc-2011-tomato/build_files/cmake/cmake_static_check_cppcheck.py
    branches/soc-2011-tomato/extern/bullet2/src/BulletSoftBody/btSoftBody.cpp
    branches/soc-2011-tomato/intern/cycles/SConscript
    branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py
    branches/soc-2011-tomato/intern/cycles/util/util_thread.h
    branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py
    branches/soc-2011-tomato/release/scripts/startup/bl_operators/object.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_image.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_node.py
    branches/soc-2011-tomato/source/blender/blenfont/BLF_api.h
    branches/soc-2011-tomato/source/blender/blenfont/CMakeLists.txt
    branches/soc-2011-tomato/source/blender/blenfont/SConscript
    branches/soc-2011-tomato/source/blender/blenfont/intern/blf_glyph.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/cloth.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/constraint.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/deform.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/fcurve.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/mesh.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/particle.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/seqeffects.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/soc-2011-tomato/source/blender/blenlib/intern/math_color.c
    branches/soc-2011-tomato/source/blender/editors/animation/anim_deps.c
    branches/soc-2011-tomato/source/blender/editors/curve/editcurve.c
    branches/soc-2011-tomato/source/blender/editors/interface/interface_draw.c
    branches/soc-2011-tomato/source/blender/editors/metaball/mball_ops.c
    branches/soc-2011-tomato/source/blender/editors/physics/physics_fluid.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_image.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/sculpt.c
    branches/soc-2011-tomato/source/blender/editors/space_clip/clip_graph_ops.c
    branches/soc-2011-tomato/source/blender/editors/space_sequencer/sequencer_scopes.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform.c
    branches/soc-2011-tomato/source/blender/gpu/intern/gpu_extensions.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_meshdeform.c
    branches/soc-2011-tomato/source/blender/python/generic/py_capi_utils.c
    branches/soc-2011-tomato/source/blender/python/generic/py_capi_utils.h
    branches/soc-2011-tomato/source/blender/python/intern/bpy_operator_wrap.c
    branches/soc-2011-tomato/source/blender/python/intern/bpy_rna.c
    branches/soc-2011-tomato/source/blender/quicktime/apple/quicktime_import.c
    branches/soc-2011-tomato/source/blender/render/intern/source/occlusion.c
    branches/soc-2011-tomato/source/blender/render/intern/source/zbuf.c
    branches/soc-2011-tomato/source/blender/windowmanager/intern/wm_event_system.c
    branches/soc-2011-tomato/source/gameengine/BlenderRoutines/KX_BlenderGL.cpp
    branches/soc-2011-tomato/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
    branches/soc-2011-tomato/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
    branches/soc-2011-tomato/source/gameengine/VideoTexture/ImageViewport.cpp
    branches/soc-2011-tomato/source/tests/bl_run_operators.py

Property Changed:
----------------
    branches/soc-2011-tomato/
    branches/soc-2011-tomato/source/blender/editors/space_outliner/


Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-43870
   + /branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-43908

Modified: branches/soc-2011-tomato/build_files/cmake/cmake_static_check_cppcheck.py
===================================================================
--- branches/soc-2011-tomato/build_files/cmake/cmake_static_check_cppcheck.py	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/build_files/cmake/cmake_static_check_cppcheck.py	2012-02-05 14:39:43 UTC (rev 43911)
@@ -37,7 +37,7 @@
 CHECKER_ARGS = [
     # not sure why this is needed, but it is.
     "-I" + os.path.join(project_source_info.SOURCE_DIR, "extern", "glew", "include"),
-	"--suppress=*:%s/extern/glew/include/GL/glew.h:241" % project_source_info.SOURCE_DIR,
+    "--suppress=*:%s/extern/glew/include/GL/glew.h:241" % project_source_info.SOURCE_DIR,
     # "--max-configs=1",  # speeds up execution
     #  "--check-config", # when includes are missing
     #  "--enable=all",  # if you want sixty hundred pedantic suggestions

Modified: branches/soc-2011-tomato/extern/bullet2/src/BulletSoftBody/btSoftBody.cpp
===================================================================
--- branches/soc-2011-tomato/extern/bullet2/src/BulletSoftBody/btSoftBody.cpp	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/extern/bullet2/src/BulletSoftBody/btSoftBody.cpp	2012-02-05 14:39:43 UTC (rev 43911)
@@ -2780,21 +2780,23 @@
 	{
 		const RContact&		c = psb->m_rcontacts[i];
 		const sCti&			cti = c.m_cti;	
-		btRigidBody* tmpRigid = btRigidBody::upcast(cti.m_colObj);
 
-		const btVector3		va = tmpRigid ? tmpRigid->getVelocityInLocalPoint(c.m_c1)*dt : btVector3(0,0,0);
-		const btVector3		vb = c.m_node->m_x-c.m_node->m_q;	
-		const btVector3		vr = vb-va;
-		const btScalar		dn = btDot(vr, cti.m_normal);		
-		if(dn<=SIMD_EPSILON)
-		{
-			const btScalar		dp = btMin( (btDot(c.m_node->m_x, cti.m_normal) + cti.m_offset), mrg );
-			const btVector3		fv = vr - (cti.m_normal * dn);
-			// c0 is the impulse matrix, c3 is 1 - the friction coefficient or 0, c4 is the contact hardness coefficient
-			const btVector3		impulse = c.m_c0 * ( (vr - (fv * c.m_c3) + (cti.m_normal * (dp * c.m_c4))) * kst );
-			c.m_node->m_x -= impulse * c.m_c2;
-			if (tmpRigid)
-				tmpRigid->applyImpulse(impulse,c.m_c1);
+		if (cti.m_colObj->hasContactResponse()) {
+			btRigidBody* tmpRigid = btRigidBody::upcast(cti.m_colObj);
+			const btVector3		va = tmpRigid ? tmpRigid->getVelocityInLocalPoint(c.m_c1)*dt : btVector3(0,0,0);
+			const btVector3		vb = c.m_node->m_x-c.m_node->m_q;	
+			const btVector3		vr = vb-va;
+			const btScalar		dn = btDot(vr, cti.m_normal);		
+			if(dn<=SIMD_EPSILON)
+			{
+				const btScalar		dp = btMin( (btDot(c.m_node->m_x, cti.m_normal) + cti.m_offset), mrg );
+				const btVector3		fv = vr - (cti.m_normal * dn);
+				// c0 is the impulse matrix, c3 is 1 - the friction coefficient or 0, c4 is the contact hardness coefficient
+				const btVector3		impulse = c.m_c0 * ( (vr - (fv * c.m_c3) + (cti.m_normal * (dp * c.m_c4))) * kst );
+				c.m_node->m_x -= impulse * c.m_c2;
+				if (tmpRigid)
+					tmpRigid->applyImpulse(impulse,c.m_c1);
+			}
 		}
 	}
 }

Modified: branches/soc-2011-tomato/intern/cycles/SConscript
===================================================================
--- branches/soc-2011-tomato/intern/cycles/SConscript	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/intern/cycles/SConscript	2012-02-05 14:39:43 UTC (rev 43911)
@@ -39,6 +39,9 @@
 else:
     cxxflags.append('-ffast-math'.split())
 
+if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
+    incs.append(env['BF_PTHREADS_INC'])
+
 # optimized kernel
 if env['WITH_BF_RAYOPTIMIZATION']:
     optim_cxxflags = []

Modified: branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/intern/cycles/blender/addon/ui.py	2012-02-05 14:39:43 UTC (rev 43911)
@@ -370,7 +370,7 @@
         visibility = ob.cycles_visibility
 
         flow = layout.column_flow()
-        
+
         flow.prop(visibility, "camera")
         flow.prop(visibility, "diffuse")
         flow.prop(visibility, "glossy")

Modified: branches/soc-2011-tomato/intern/cycles/util/util_thread.h
===================================================================
--- branches/soc-2011-tomato/intern/cycles/util/util_thread.h	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/intern/cycles/util/util_thread.h	2012-02-05 14:39:43 UTC (rev 43911)
@@ -20,30 +20,55 @@
 #define __UTIL_THREAD_H__
 
 #include <boost/thread.hpp>
+#include <pthread.h>
 #include <queue>
 
+#include "util_function.h"
+
 CCL_NAMESPACE_BEGIN
 
-#if 0
+/* use boost for mutexes */
 
-/* Use STL for threading */
+typedef boost::mutex thread_mutex;
+typedef boost::mutex::scoped_lock thread_scoped_lock;
+typedef boost::condition_variable thread_condition_variable;
 
-using std::thread;
-using std::thread_mutex;
-typedef std::lock_guard thread_scoped_lock;
-using std::condition_variable;
+/* own pthread based implementation, to avoid boost version conflicts with
+   dynamically loaded blender plugins */
 
-#else
+class thread {
+public:
+	thread(boost::function<void(void)> run_cb_)
+	{
+		joined = false;
+		run_cb = run_cb_;
 
-/* Use boost for threading */
+		pthread_create(&pthread_id, NULL, run, (void*)this);
+	}
 
-using boost::thread;
-typedef boost::mutex thread_mutex;
-typedef boost::mutex::scoped_lock thread_scoped_lock;
-typedef boost::condition_variable thread_condition_variable;
+	~thread()
+	{
+		if(!joined)
+			join();
+	}
 
-#endif
+	static void *run(void *arg)
+	{
+		((thread*)arg)->run_cb();;
+		return NULL;
+	}
 
+	bool join()
+	{
+		return pthread_join(pthread_id, NULL) == 0;
+	}
+
+protected:
+	boost::function<void(void)> run_cb;
+	pthread_t pthread_id;
+	bool joined;
+};
+
 /* Thread Safe Queue to pass tasks from one thread to another. Tasks should be
  * pushed into the queue, while the worker thread waits to pop the next task
  * off the queue. Once all tasks are into the queue, calling stop() will stop

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_operators/clip.py	2012-02-05 14:39:43 UTC (rev 43911)
@@ -69,7 +69,7 @@
         if ob.type == 'CAMERA':
             for con in ob.constraints:
                 if con.type == 'CAMERA_SOLVER':
-                    cur_clip = scene.clip if con.use_active_clip else con.clip
+                    cur_clip = scene.active_clip if con.use_active_clip else con.clip
 
                     if cur_clip == clip:
                         return ob
@@ -834,6 +834,7 @@
 
         return {'FINISHED'}
 
+
 class CLIP_OT_track_settings_as_default(Operator):
     """Copy tracking settings from active track to default settings"""
 

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_operators/object.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_operators/object.py	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_operators/object.py	2012-02-05 14:39:43 UTC (rev 43911)
@@ -493,7 +493,8 @@
 
     def execute(self, context):
         ob_act = context.active_object
-        objects = [ob for ob in context.selected_editable_objects if ob != ob_act]
+        objects = [ob for ob in context.selected_editable_objects
+                   if ob != ob_act]
 
         if 1:  # swap from/to, means we cant copy to many at once.
             if len(objects) != 1:

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_data_modifier.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_data_modifier.py	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_data_modifier.py	2012-02-05 14:39:43 UTC (rev 43911)
@@ -814,12 +814,12 @@
 
     def REMESH(self, layout, ob, md):
         layout.prop(md, "mode")
-        
+
         row = layout.row()
         row.prop(md, "octree_depth")
         row.prop(md, "scale")
 
-        if md.mode == "SHARP":
+        if md.mode == 'SHARP':
             layout.prop(md, "sharpness")
 
         layout.prop(md, "remove_disconnected_pieces")

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-02-05 14:33:59 UTC (rev 43910)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py	2012-02-05 14:39:43 UTC (rev 43911)
@@ -435,23 +435,23 @@
         self.target_template(layout, con)
 
         split = layout.split()
-        
+
         col = split.column()
         col.label(text="From Target:")
         col.prop(con, "transform_channel", text="")
         col.prop(con, "target_space", text="")
-        
+
         col = split.column()
         col.label(text="To Action:")
         col.prop(con, "action", text="")
-        
+
         split = layout.split()
-        
+
         col = split.column(align=True)
         col.label(text="Target Range:")
         col.prop(con, "min", text="Min")
         col.prop(con, "max", text="Max")
-        
+
         col = split.column(align=True)
         col.label(text="Action Range:")
         col.prop(con, "frame_start", text="Start")

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list