[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23410] trunk/blender: RNA: added a " factor" subtype next to "percentage", and only display

Brecht Van Lommel brecht at blender.org
Mon Sep 21 23:19:58 CEST 2009


Revision: 23410
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23410
Author:   blendix
Date:     2009-09-21 23:19:58 +0200 (Mon, 21 Sep 2009)

Log Message:
-----------
RNA: added a "factor" subtype next to "percentage", and only display
% sign for percentage assuming it is between 0-100, while factor is
for values 0-1.

Move collision setting absorption from modifier to collision settings,
was inconsistent to have it there as the only one, and made it have
range 0.0-1.0 instead of 0-100.

Modified Paths:
--------------
    trunk/blender/release/ui/buttons_object_constraint.py
    trunk/blender/release/ui/buttons_physics_field.py
    trunk/blender/source/blender/blenkernel/BKE_collision.h
    trunk/blender/source/blender/blenkernel/intern/collision.c
    trunk/blender/source/blender/blenkernel/intern/effect.c
    trunk/blender/source/blender/editors/curve/editcurve.c
    trunk/blender/source/blender/editors/interface/interface_utils.c
    trunk/blender/source/blender/editors/mesh/editmesh_mods.c
    trunk/blender/source/blender/editors/transform/transform_ops.c
    trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    trunk/blender/source/blender/makesdna/DNA_modifier_types.h
    trunk/blender/source/blender/makesdna/DNA_object_force.h
    trunk/blender/source/blender/makesrna/RNA_define.h
    trunk/blender/source/blender/makesrna/RNA_types.h
    trunk/blender/source/blender/makesrna/intern/makesrna.c
    trunk/blender/source/blender/makesrna/intern/rna_camera.c
    trunk/blender/source/blender/makesrna/intern/rna_constraint.c
    trunk/blender/source/blender/makesrna/intern/rna_define.c
    trunk/blender/source/blender/makesrna/intern/rna_material.c
    trunk/blender/source/blender/makesrna/intern/rna_modifier.c
    trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
    trunk/blender/source/blender/makesrna/intern/rna_object_force.c
    trunk/blender/source/blender/makesrna/intern/rna_rna.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/release/ui/buttons_object_constraint.py
===================================================================
--- trunk/blender/release/ui/buttons_object_constraint.py	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/release/ui/buttons_object_constraint.py	2009-09-21 21:19:58 UTC (rev 23410)
@@ -130,7 +130,7 @@
 		col = split.column()
 		col.itemR(con, "use_fixed_position")
 		if con.use_fixed_position:
-			col.itemR(con, "offset_percentage", text="Offset")
+			col.itemR(con, "offset_factor", text="Offset")
 		else:
 			col.itemR(con, "offset")
 		

Modified: trunk/blender/release/ui/buttons_physics_field.py
===================================================================
--- trunk/blender/release/ui/buttons_physics_field.py	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/release/ui/buttons_physics_field.py	2009-09-21 21:19:58 UTC (rev 23410)
@@ -212,7 +212,7 @@
 			sub.itemR(settings, "inner_thickness", text="Inner", slider=True)
 		
 			layout.itemL(text="Force Fields:")
-			layout.itemR(md, "absorption", text="Absorption")
+			layout.itemR(settings, "absorption", text="Absorption")
 		
 			col = split.column()
 			col.itemL(text="")

Modified: trunk/blender/source/blender/blenkernel/BKE_collision.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_collision.h	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/blenkernel/BKE_collision.h	2009-09-21 21:19:58 UTC (rev 23410)
@@ -139,7 +139,7 @@
 /////////////////////////////////////////////////
 // used in effect.c
 /////////////////////////////////////////////////
-CollisionModifierData **get_collisionobjects(struct Scene *scene, Object *self, int *numcollobj);
+Object **get_collisionobjects(struct Scene *scene, Object *self, int *numcollobj);
 
 /////////////////////////////////////////////////
 

Modified: trunk/blender/source/blender/blenkernel/intern/collision.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/collision.c	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/blenkernel/intern/collision.c	2009-09-21 21:19:58 UTC (rev 23410)
@@ -1296,15 +1296,15 @@
 
 // return all collision objects in scene
 // collision object will exclude self 
-CollisionModifierData **get_collisionobjects(Scene *scene, Object *self, int *numcollobj)
+Object **get_collisionobjects(Scene *scene, Object *self, int *numcollobj)
 {
 	Base *base=NULL;
-	CollisionModifierData **objs = NULL;
+	Object **objs = NULL;
 	Object *coll_ob = NULL;
 	CollisionModifierData *collmd = NULL;
 	int numobj = 0, maxobj = 100;
 	
-	objs = MEM_callocN(sizeof(CollisionModifierData *)*maxobj, "CollisionObjectsArray");
+	objs = MEM_callocN(sizeof(Object *)*maxobj, "CollisionObjectsArray");
 	// check all collision objects
 	for ( base = scene->base.first; base; base = base->next )
 	{
@@ -1330,16 +1330,16 @@
 			{
 				// realloc
 				int oldmax = maxobj;
-				CollisionModifierData **tmp;
+				Object **tmp;
 				maxobj *= 2;
-				tmp = MEM_callocN(sizeof(CollisionModifierData *)*maxobj, "CollisionObjectsArray");
-				memcpy(tmp, objs, sizeof(CollisionModifierData *)*oldmax);
+				tmp = MEM_callocN(sizeof(Object *)*maxobj, "CollisionObjectsArray");
+				memcpy(tmp, objs, sizeof(Object *)*oldmax);
 				MEM_freeN(objs);
 				objs = tmp;
 				
 			}
 			
-			objs[numobj] = collmd;
+			objs[numobj] = coll_ob;
 			numobj++;
 		}
 		else
@@ -1374,15 +1374,15 @@
 					{
 						// realloc
 						int oldmax = maxobj;
-						CollisionModifierData **tmp;
+						Object **tmp;
 						maxobj *= 2;
-						tmp = MEM_callocN(sizeof(CollisionModifierData *)*maxobj, "CollisionObjectsArray");
-						memcpy(tmp, objs, sizeof(CollisionModifierData *)*oldmax);
+						tmp = MEM_callocN(sizeof(Object *)*maxobj, "CollisionObjectsArray");
+						memcpy(tmp, objs, sizeof(Object *)*oldmax);
 						MEM_freeN(objs);
 						objs = tmp;
 					}
 					
-					objs[numobj] = collmd;
+					objs[numobj] = coll_ob;
 					numobj++;
 				}
 			}
@@ -1459,7 +1459,7 @@
 	int rounds = 0; // result counts applied collisions; ic is for debug output;
 	ClothVertex *verts = NULL;
 	int ret = 0, ret2 = 0;
-	CollisionModifierData **collobjs = NULL;
+	Object **collobjs = NULL;
 	int numcollobj = 0;
 
 	if ( ( clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_COLLOBJ ) || ! ( ( ( Cloth * ) clmd->clothObject )->bvhtree ) )
@@ -1498,7 +1498,8 @@
 		// check all collision objects
 		for(i = 0; i < numcollobj; i++)
 		{
-			CollisionModifierData *collmd = collobjs[i];
+			Object *collob= collobjs[i];
+			CollisionModifierData *collmd = (CollisionModifierData*)modifiers_findByType(collob, eModifierType_Collision);
 			BVHTreeOverlap *overlap = NULL;
 			int result = 0;
 			

Modified: trunk/blender/source/blender/blenkernel/intern/effect.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/effect.c	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/blenkernel/intern/effect.c	2009-09-21 21:19:58 UTC (rev 23410)
@@ -258,10 +258,10 @@
 // get visibility of a wind ray
 static float eff_calc_visibility(Scene *scene, Object *ob, float *co, float *dir)
 {
-	CollisionModifierData **collobjs = NULL;
+	Object **collobjs = NULL;
 	int numcollobj = 0, i;
 	float norm[3], len = 0.0;
-	float visibility = 1.0;
+	float visibility = 1.0, absorption = 0.0;
 	
 	collobjs = get_collisionobjects(scene, ob, &numcollobj);
 	
@@ -275,7 +275,8 @@
 	// check all collision objects
 	for(i = 0; i < numcollobj; i++)
 	{
-		CollisionModifierData *collmd = collobjs[i];
+		Object *collob= collobjs[i];
+		CollisionModifierData *collmd = (CollisionModifierData*)modifiers_findByType(collob, eModifierType_Collision);
 		
 		if(collmd->bvhtree)
 		{
@@ -287,8 +288,10 @@
 			// check if the way is blocked
 			if(BLI_bvhtree_ray_cast(collmd->bvhtree, co, norm, 0.0f, &hit, eff_tri_ray_hit, NULL)>=0)
 			{
+				absorption= (collob->pd)? collob->pd->absorption: 0.0f;
+
 				// visibility is only between 0 and 1, calculated from 1-absorption
-				visibility *= MAX2(0.0, MIN2(1.0, (1.0-((float)collmd->absorption)*0.01)));
+				visibility *= CLAMPIS(1.0f-absorption, 0.0f, 1.0f);
 				
 				if(visibility <= 0.0f)
 					break;

Modified: trunk/blender/source/blender/editors/curve/editcurve.c
===================================================================
--- trunk/blender/source/blender/editors/curve/editcurve.c	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/curve/editcurve.c	2009-09-21 21:19:58 UTC (rev 23410)
@@ -1078,7 +1078,7 @@
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 
 	/* properties */
-	RNA_def_float_percentage(ot->srna, "weight", 1.0f, 0.0f, 1.0f, "Weight", "", 0.0f, 1.0f);
+	RNA_def_float_factor(ot->srna, "weight", 1.0f, 0.0f, 1.0f, "Weight", "", 0.0f, 1.0f);
 }
 
 /******************* set radius operator ******************/

Modified: trunk/blender/source/blender/editors/interface/interface_utils.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_utils.c	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/interface/interface_utils.c	2009-09-21 21:19:58 UTC (rev 23410)
@@ -73,7 +73,7 @@
 				if(RNA_property_subtype(prop) == PROP_COLOR)
 					but= uiDefButR(block, COL, 0, name, x1, y1, x2, y2, ptr, propname, 0, 0, 0, -1, -1, NULL);
 			}
-			else if(RNA_property_subtype(prop) == PROP_PERCENTAGE)
+			else if(RNA_property_subtype(prop) == PROP_PERCENTAGE || RNA_property_subtype(prop) == PROP_FACTOR)
 				but= uiDefButR(block, NUMSLI, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
 			else
 				but= uiDefButR(block, NUM, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);

Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c	2009-09-21 21:19:58 UTC (rev 23410)
@@ -3553,7 +3553,7 @@
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
 	
 	/* props */
-	RNA_def_float_percentage(ot->srna, "percent", 0.5f, 0.0f, 1.0f, "Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f);
+	RNA_def_float_percentage(ot->srna, "percent", 50.0f, 0.0f, 100.0f, "Percent", "Percentage of vertices to select randomly.", 0.0001f, 1.0f);
 }
 
 void EM_select_by_material(EditMesh *em, int index) 

Modified: trunk/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_ops.c	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/transform/transform_ops.c	2009-09-21 21:19:58 UTC (rev 23410)
@@ -523,7 +523,7 @@
 	ot->cancel  = transform_cancel;
 	ot->poll   = ED_operator_areaactive;
 
-	RNA_def_float_percentage(ot->srna, "value", 0, 0, 1, "Percentage", "", 0, 1);
+	RNA_def_float_factor(ot->srna, "value", 0, 0, 1, "Factor", "", 0, 1);
 
 	Properties_Proportional(ot);
 

Modified: trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c
===================================================================
--- trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c	2009-09-21 21:03:50 UTC (rev 23409)
+++ trunk/blender/source/blender/editors/uvedit/uvedit_unwrap_ops.c	2009-09-21 21:19:58 UTC (rev 23410)
@@ -423,7 +423,7 @@
 
 	/* properties */
 	RNA_def_boolean(ot->srna, "fill_holes", 1, "Fill Holes", "Virtual fill holes in mesh before unwrapping, to better avoid overlaps and preserve symmetry.");
-	RNA_def_float_percentage(ot->srna, "blend", 0.0f, 0.0f, 1.0f, "Blend", "Blend factor between stretch minimized and original.", 0.0f, 1.0f);
+	RNA_def_float_factor(ot->srna, "blend", 0.0f, 0.0f, 1.0f, "Blend", "Blend factor between stretch minimized and original.", 0.0f, 1.0f);
 	RNA_def_int(ot->srna, "iterations", 0, 0, INT_MAX, "Iterations", "Number of iterations to run, 0 is unlimited when run interactively.", 0, 100);
 }
 

Modified: trunk/blender/source/blender/makesdna/DNA_modifier_types.h
===================================================================

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list