[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29469] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/ blender -r29449:29468

Campbell Barton ideasman42 at gmail.com
Tue Jun 15 19:45:03 CEST 2010


Revision: 29469
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29469
Author:   campbellbarton
Date:     2010-06-15 19:45:03 +0200 (Tue, 15 Jun 2010)

Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender   -r29449:29468

Modified Paths:
--------------
    branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp
    branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp
    branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp
    branches/render25/release/scripts/modules/rna_info.py
    branches/render25/source/blender/blenkernel/BKE_softbody.h
    branches/render25/source/blender/blenkernel/intern/softbody.c
    branches/render25/source/blender/editors/curve/editcurve.c
    branches/render25/source/blender/editors/include/ED_object.h
    branches/render25/source/blender/editors/interface/interface_templates.c
    branches/render25/source/blender/editors/mesh/editmesh.c
    branches/render25/source/blender/editors/mesh/editmesh_add.c
    branches/render25/source/blender/editors/object/object_add.c
    branches/render25/source/blender/makesrna/intern/rna_lamp.c
    branches/render25/source/blender/python/doc/sphinx_doc_gen.py
    branches/render25/source/blender/python/intern/bpy.c

Modified: branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp	2010-06-15 17:40:31 UTC (rev 29468)
+++ branches/render25/intern/ghost/intern/GHOST_SystemWin32.cpp	2010-06-15 17:45:03 UTC (rev 29469)
@@ -271,6 +271,8 @@
 
 GHOST_TSuccess GHOST_SystemWin32::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y)
 {
+	if (!GetActiveWindow())
+		return GHOST_kFailure;
 	return ::SetCursorPos(x, y) == TRUE ? GHOST_kSuccess : GHOST_kFailure;
 }
 

Modified: branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp	2010-06-15 17:40:31 UTC (rev 29468)
+++ branches/render25/intern/ghost/intern/GHOST_SystemX11.cpp	2010-06-15 17:45:03 UTC (rev 29469)
@@ -465,7 +465,7 @@
 
 				/* could also clamp to screen bounds
 				 * wrap with a window outside the view will fail atm  */
-				bounds.wrapPoint(x_new, y_new, 2); /* offset of one incase blender is at screen bounds */
+				bounds.wrapPoint(x_new, y_new, 8); /* offset of one incase blender is at screen bounds */
 				window->getCursorGrabAccum(x_accum, y_accum);
 
 				if(x_new != xme.x_root || y_new != xme.y_root) {

Modified: branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp
===================================================================
--- branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp	2010-06-15 17:40:31 UTC (rev 29468)
+++ branches/render25/intern/ghost/intern/GHOST_WindowX11.cpp	2010-06-15 17:45:03 UTC (rev 29469)
@@ -57,6 +57,9 @@
 
 #define MWM_HINTS_DECORATIONS         (1L << 1)
 
+
+// #define GHOST_X11_GRAB
+
 /*
  * A Client can't change the window property, that is
  * the work of the window manager. In case, we send
@@ -1442,7 +1445,9 @@
 				setWindowCursorVisibility(false);
 
 		}
+#ifdef GHOST_X11_GRAB
 		XGrabPointer(m_display, m_window, False, ButtonPressMask| ButtonReleaseMask|PointerMotionMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
+#endif
 	}
 	else {
 		if (m_cursorGrab==GHOST_kGrabHide) {
@@ -1460,7 +1465,9 @@
 		/* Almost works without but important otherwise the mouse GHOST location can be incorrect on exit */
 		setCursorGrabAccum(0, 0);
 		m_cursorGrabBounds.m_l= m_cursorGrabBounds.m_r= -1; /* disable */
+#ifdef GHOST_X11_GRAB
 		XUngrabPointer(m_display, CurrentTime);
+#endif
 	}
 
 	XFlush(m_display);

Modified: branches/render25/release/scripts/modules/rna_info.py
===================================================================
--- branches/render25/release/scripts/modules/rna_info.py	2010-06-15 17:40:31 UTC (rev 29468)
+++ branches/render25/release/scripts/modules/rna_info.py	2010-06-15 17:45:03 UTC (rev 29469)
@@ -620,3 +620,19 @@
     #    print(rna_info)
 
     return InfoStructRNA.global_lookup, InfoFunctionRNA.global_lookup, InfoOperatorRNA.global_lookup, InfoPropertyRNA.global_lookup
+
+
+if __name__ == "__main__":
+    import rna_info
+    struct = rna_info.BuildRNAInfo()[0]
+    data = ""
+    for struct_id, v in sorted(struct.items()):
+        struct_id_str = "".join(sid for sid in struct_id if struct_id)
+        props = [(prop.identifier, prop) for prop in v.properties]
+        
+        for prop_id, prop in sorted(props):
+            data += "%s.%s:    %s    %s\n" % (struct_id_str, prop.identifier, prop.type, prop.description)
+
+
+    text = bpy.data.texts.new(name="api.py")
+    text.from_string(data)

Modified: branches/render25/source/blender/blenkernel/BKE_softbody.h
===================================================================
--- branches/render25/source/blender/blenkernel/BKE_softbody.h	2010-06-15 17:40:31 UTC (rev 29468)
+++ branches/render25/source/blender/blenkernel/BKE_softbody.h	2010-06-15 17:45:03 UTC (rev 29469)
@@ -1,6 +1,6 @@
 /**
- * BKE_softbody.h 
- *	
+ * BKE_softbody.h
+ *
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -43,7 +43,7 @@
 	int nofsprings; int *springs;
 	float choke,choke2,frozen;
 	float colball;
-	short flag;
+	short loc_flag; //reserved by locale module specific states
 	//char octantflag;
 	float mass;
 	float springweight;

Modified: branches/render25/source/blender/blenkernel/intern/softbody.c
===================================================================
--- branches/render25/source/blender/blenkernel/intern/softbody.c	2010-06-15 17:40:31 UTC (rev 29468)
+++ branches/render25/source/blender/blenkernel/intern/softbody.c	2010-06-15 17:45:03 UTC (rev 29469)
@@ -1,5 +1,5 @@
-/*  softbody.c      
- * 
+/*  softbody.c
+ *
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
@@ -32,17 +32,17 @@
 ******
 variables on the UI for now
 
-	float mediafrict;  friction to env 
-	float nodemass;	  softbody mass of *vertex* 
-	float grav;        softbody amount of gravitaion to apply 
-	
-	float goalspring;  softbody goal springs 
-	float goalfrict;   softbody goal springs friction 
-	float mingoal;     quick limits for goal 
+	float mediafrict;  friction to env
+	float nodemass;	  softbody mass of *vertex*
+	float grav;        softbody amount of gravitaion to apply
+
+	float goalspring;  softbody goal springs
+	float goalfrict;   softbody goal springs friction
+	float mingoal;     quick limits for goal
 	float maxgoal;
 
-	float inspring;	  softbody inner springs 
-	float infrict;     softbody inner springs friction 
+	float inspring;	  softbody inner springs
+	float infrict;     softbody inner springs friction
 
 *****
 */
@@ -83,7 +83,7 @@
 
 /* ********** soft body engine ******* */
 
-typedef	enum {SB_EDGE=1,SB_BEND=2,SB_STIFFQUAD=3} type_spring;
+typedef	enum {SB_EDGE=1,SB_BEND=2,SB_STIFFQUAD=3,SB_HANDLE=4} type_spring;
 
 typedef struct BodySpring {
 	int v1, v2;
@@ -136,12 +136,12 @@
 		int tot;
 }SB_thread_context;
 
-#define NLF_BUILD  1 
-#define NLF_SOLVE  2 
+#define NLF_BUILD  1
+#define NLF_SOLVE  2
 
 #define MID_PRESERVE 1
 
-#define SOFTGOALSNAP  0.999f 
+#define SOFTGOALSNAP  0.999f
 /* if bp-> goal is above make it a *forced follow original* and skip all ODE stuff for this bp
    removes *unnecessary* stiffnes from ODE system
 */
@@ -149,8 +149,12 @@
 
 
 #define BSF_INTERSECT   1 /* edge intersects collider face */
-#define SBF_DOFUZZY     1 /* edge intersects collider face */
 
+/* private definitions for bodypoint states */
+#define SBF_DOFUZZY          1 /* Bodypoint do fuzzy */
+#define SBF_OUTOFCOLLISION   2 /* Bodypoint does not collide  */
+
+
 #define BFF_INTERSECT   1 /* collider edge   intrudes face */
 #define BFF_CLOSEVERT   2 /* collider vertex repulses face */
 
@@ -187,15 +191,15 @@
 {
 	SoftBody *sb= ob->soft;	/* is supposed to be there */
 	if (sb){
-		return(sb->physics_speed); 
-		/*hrms .. this could be IPO as well :) 
+		return(sb->physics_speed);
+		/*hrms .. this could be IPO as well :)
 		 estimated range [0.001 sluggish slug - 100.0 very fast (i hope ODE solver can handle that)]
 		 1 approx = a unit 1 pendulum at g = 9.8 [earth conditions]  has period 65 frames
-		 theory would give a 50 frames period .. so there must be something inaccurate .. looking for that (BM) 
+		 theory would give a 50 frames period .. so there must be something inaccurate .. looking for that (BM)
 		 */
 	}
 	return (1.0f);
-	/* 
+	/*
 	this would be frames/sec independant timing assuming 25 fps is default
 	but does not work very well with NLA
 		return (25.0f/scene->r.frs_sec)
@@ -206,10 +210,10 @@
 /* helper functions for everything is animatable jow_go_for2_5 +++++++*/
 /* introducing them here, because i know: steps in properties  ( at frame timing )
    will cause unwanted responses of the softbody system (which does inter frame calculations )
-   so first 'cure' would be: interpolate linear in time .. 
+   so first 'cure' would be: interpolate linear in time ..
    Q: why do i write this?
    A: because it happend once, that some eger coder 'streamlined' code to fail.
-   We DO linear interpolation for goals .. and i think we should do on animated properties as well 
+   We DO linear interpolation for goals .. and i think we should do on animated properties as well
 */
 
 /* animate sb->maxgoal,sb->mingoal */
@@ -221,7 +225,7 @@
 		if(!(ob->softflag & OB_SB_GOAL)) return (0.0f);
 		if (sb&&bp){
 			if (bp->goal < 0.0f) return (0.0f);
-			f = sb->mingoal + bp->goal*ABS(sb->maxgoal - sb->mingoal); 
+			f = sb->mingoal + bp->goal*ABS(sb->maxgoal - sb->mingoal);
 			f = pow(f, 4.0f);
 			return (f);
 		}
@@ -247,15 +251,15 @@
 
 /********************
 for each target object/face the axis aligned bounding box (AABB) is stored
-faces paralell to global axes 
+faces paralell to global axes
 so only simple "value" in [min,max] ckecks are used
 float operations still
 */
 
 /* just an ID here to reduce the prob for killing objects
 ** ob->sumohandle points to we should not kill :)
-*/ 
-const int CCD_SAVETY = 190561; 
+*/
+const int CCD_SAVETY = 190561;
 
 typedef struct ccdf_minmax{
 float minx,miny,minz,maxx,maxy,maxz;
@@ -285,11 +289,11 @@
 	MFace *mface=NULL;
 	float v[3],hull;
 	int i;
-	
+
 	/* first some paranoia checks */
 	if (!dm) return NULL;
 	if (!dm->getNumVerts(dm) || !dm->getNumFaces(dm)) return NULL;
-	
+
 	pccd_M = MEM_mallocN(sizeof(ccd_Mesh),"ccd_Mesh");
 	pccd_M->totvert = dm->getNumVerts(dm);
 	pccd_M->totface = dm->getNumFaces(dm);
@@ -297,32 +301,32 @@
 	pccd_M->bbmin[0]=pccd_M->bbmin[1]=pccd_M->bbmin[2]=1e30f;
 	pccd_M->bbmax[0]=pccd_M->bbmax[1]=pccd_M->bbmax[2]=-1e30f;
 	pccd_M->mprevvert=NULL;
-	
-	
+
+
 	/* blow it up with forcefield ranges */
 	hull = MAX2(ob->pd->pdef_sbift,ob->pd->pdef_sboft);
-	
+
 	/* alloc and copy verts*/
 	pccd_M->mvert = dm->dupVertArray(dm);
-	/* ah yeah, put the verices to global coords once */ 	
-	/* and determine the ortho BB on the fly */ 
+	/* ah yeah, put the verices to global coords once */
+	/* and determine the ortho BB on the fly */
 	for(i=0; i < pccd_M->totvert; i++){
 		mul_m4_v3(ob->obmat, pccd_M->mvert[i].co);
-		
+
 		/* evaluate limits */
 		VECCOPY(v,pccd_M->mvert[i].co);
 		pccd_M->bbmin[0] = MIN2(pccd_M->bbmin[0],v[0]-hull);
 		pccd_M->bbmin[1] = MIN2(pccd_M->bbmin[1],v[1]-hull);
 		pccd_M->bbmin[2] = MIN2(pccd_M->bbmin[2],v[2]-hull);
-		
+
 		pccd_M->bbmax[0] = MAX2(pccd_M->bbmax[0],v[0]+hull);
 		pccd_M->bbmax[1] = MAX2(pccd_M->bbmax[1],v[1]+hull);
 		pccd_M->bbmax[2] = MAX2(pccd_M->bbmax[2],v[2]+hull);
-		
+
 	}
 	/* alloc and copy faces*/
 	pccd_M->mface = dm->dupFaceArray(dm);
-	
+
 	/* OBBs for idea1 */

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list